|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-12-1 16:50 编辑
/ B6 S' [* s7 k& q" G, U7 Q" Z6 |/ G, t; _, @: \$ e( ?
( p7 e( y$ u4 r3 ]. Z' z
3 e& h( q; o& N0 o- J f
. a& V) q7 @. D! {1 ^
DSP,51的DSP来了, 100MHz, STC32G144K246% h$ N) h8 O; I. w8 O3 ^7 w7 U
DSP 与 CPU系统时钟 同频, STC32G144K246,51 的 DSP 来了6 c% k0 r7 j7 m) ~
===建议 跑 100MHz, 120MHz 超频了/ o3 L; W" s& \; I. j
下面演示 DSP 指令集 的程序使用 120MHz 系统时钟, x' F& j3 @+ ?$ s* W
120MHz系统时钟,由内部 IRC时钟-24MHz,HPLL倍频产生。. r+ l( a; ~ h* O" C! `! v
LIB需要根据工程的代码空间大小模式选择合适的LIB库
# U; v& ?# |4 D2 ~可以通过查看Target选项卡中的Code Rom Size类型来选择,通常来讲,
) [' {- V: x+ H x1 |如果需要使用全部的246K代码空间,选择HUGE模式的LIB库即可
T3 ]' ~( r9 i: K* {8 C以下例程也以HUGE模式下LIB库进行使用举例
2 ]; l4 i |; ]4 t8 \, U' o9 q
2 G; W) d$ U9 K7 x
因为STC32所使用的C251核心,本身带有1T指令的加法/减法/乘法指令集,(C251除法指令集16位消耗6个时钟,32位消耗10个时钟)1 r; w! Q1 b; u
所以LIB中仅将加速了有符号整形除法,无符号长整形除法,有符号长整型除法这三类- p# u7 U, }1 I: H/ ?3 k; Q9 A! S
其余使用C251默认指令集进行计算,因为其默认指令集的除法为无符号除法,所以大部分都需要进行加速
~* x: s' c, H- M
* T8 z. A, g& V/ k
可以看到计算结果是和预期一样,正确的
0 ?- x$ t) x1 W; a
2 q: |& u9 e6 i6 {. f
: @4 Z j5 u- ]! K5 b3 O/ `2 c速度测试中,使用1000次循环测试不同数据类型的除法运算,在P60上输出的高电平宽度即为运算时间
) k7 d6 A g; Y# |$ `$ `' |1 Z) J测试中,使用了DSP32的程序(使用LIB库)的,耗时2.83ms@120Mhz& v8 C5 O! G& |- c3 l z& l& t: S
未使用DSP32的程序,耗时4.86ms@120Mhz
1 E- H/ B! M% C. u% [& h, h# z9 O7 l/ L# M
|
|