博客首页 | 排行榜 |

萤火虫的博客

沒有月亮,我們可以看星光;失去星光,還有溫暖的眼光;抱著希望,等待就少點感傷;彷彿不覺

个人档案
博文分类
在ramtron vrs3074上写汇编程序(21)  2010-03-26 20:30

增强算术单元
VRS3074提供一个增强算术单元模块,通过它可以进行快速的硬件算术计算,有点类似DSP运算.据数据手册称,在进行乘法计算是可以多出
30-50%的收益,而进行16位的除法操作时被通常计算更可高达700%的速度.还是比较强的.关于相关的寄存器,主要有2类,一个为配置寄存器
AUCONFIG1,AUCONFIG2主要是通知处理器是进行那种运算,乘法还是除法.第二类可以算是数值寄存器了,主要存储要运算的数值和结果,其中
有两个16位的寄存器AUA,AUB和一个32位的寄存器AUC可以使用,结果存放到一个32位的寄存器AURES.下面的例子简单的介绍了乘法和加法的
操作:
    Include
start:
   mov PERIPHEN2,#20h; ;Enable Arithmetic Unit
   mov DEVMEMCFG,#01h; ;SELECT SFR PAGE 1
   mov AUA1,#33h;
   mov AUA0,#22h;
   mov AUB1,#44h;
   mov AUB0,#11h;
   mov AUC3,#11h;
   mov AUC2,#11h;
   mov AUC1,#11h;
   mov AUC0,#11h;
   mov AUPREV3,#12h;
   mov AUPREV2,#34h;
   mov AUPREV1,#56h;
   mov AUPREV0,#78h;
   mov AUCONFIG1,#01h; ;Set operation (AUA x AUA) + 0
   mov AUCONFIG1,#00h; ;Set operation (AUA x AUB) + 0
   mov AUCONFIG1,#02h; ;Set operation (AUAxAUPREV)+0
   mov AUCONFIG1,#0Ch; ;Set operation (AUA,AUB)+ AUC
   mov AUCONFIG1,#04h; ;Set operation (AUA x AUB)+ AUC
   mov AUSHIFTCFG,#00h; ;No Shift
   mov AUCONFIG1,#04h; ;Set operation (AUA x AUB)+ AUC
   mov AUSHIFTCFG,#01h; ;Set barrel shifter to perform one SHIFT LEFT (logical)
   mov AUCONFIG1,#04h; ;Set operation (AUA x AUB)+ AUC
   mov AUSHIFTCFG,#3Fh; ;Set barrel shifter to perform one SHIFT right
   mov DEVMEMCFG,#00h; ;SELECT SFR PAGE 0
LOOP1:
   ajmp LOOP1

 

类别:mcu |
上一篇:在ramtron vrs3074上写汇编程序(22) | 下一篇:在ramtron vrs3074上写汇编程序(20)
以下网友评论只代表其个人观点,不代表本网站的观点或立场