1.5,2 乘法器
16?16硬件乘法器,单周期产生一个32位有符号或无符号乘积。
1.5,3 算术逻辑单元 (CALU)
实现大部分的 算术 和 逻辑 运算功能。大多数只需1个机器周期。
可进行布尔运算,使高速控制器所要求的位操作很容易。
对于大动态范围,可支持浮点操作。
对大多数指令,状态寄存器 ST1的第10位 符号扩展位
(SXM)决定在计算时是否使用符号扩展:
若 SXM=0,符号扩展无效;
若 SXM=1,符号扩展有效。
1.5,4 累加器 (A CC)
有关累加器的状态位和转移指令。
(1) 进位标志位C
状态寄存器 ST1的第9位 。
(2) 溢出方式标志位OVM
状态寄存器 ST0的第11位 。决定累加器如何反映算术运算的溢出。
OVM=1,且运算溢出,A CC为下列两个特定值:
若正溢出,A CC中填最大正数:7FFF FFFFh
若负溢出,A CC中填最大负数:8000 0000h
OVM=0,ACC中的结果正常溢出。、
(3)溢出标志位OV
ST0的第12位
(4)测试/控制标志位TC
ST1的第11位,根据被测位的值置1或清0。
与累加器有关的转移指令大都取决于C、OV、TC的状态和累加器的值。
1.5,5 输出数据定标移位器将累加器输出的内容左移0-7位,而累加器的内容保持不变。
1.5,6 状态寄存器ST0和ST1
特别重要,两个寄存器的内容可被读出并保存到数据存储器( 用SST指令 ),或从数据存储器读出加载到ST0和ST1 ( 用LST指令 )。
在子程序调用或进入中断时实现CPU各种状态的保存 。
可用指令 SETC和 CLRC单独置1或清0。
ST0各位的含义:
ARP(位15-13),辅助寄存器指针,间接寻址,选择当前的辅助寄存器AR。 AR被装载时,原ARP的值被复制到ARB中。
OV (位12),溢出标志位。
OVM (位11),溢出方式标志位。
INTM(位9),中断总开关位。
=1,所有可屏蔽中断被禁止;
=0,所有可屏蔽中断有效。
DP(位8-0),数据存储器页面指针
9位的DP与指令字中的7位一起形成16位的数据存储器的直接地址。
ST1各位的含义:
ARB(位15-13),辅助寄存器指针缓冲器。
当ARP被加载到ST0时,原来的ARP被复制到ARB中,
也可将ARB复制到ARP中。
CNF(位12),片内DARAM配置位
=0,片内DARAM映射到数据存储器区;
=1,片内DARAM映射到程序存储器区。
TC(位11),测试/控制标志位
SXM(位10),符号扩展方式位
=1,数据通过定标移位器传送到累加器时将产生符号扩展;
=0,不产生符号扩展。
C(位9),进位标志位。
XF(位4),XF引脚状态位。
可用 指令SETC 置1,用 指令CLRC 清0
PM(位1-0 ),乘积移位方式
00:乘法器的 32位乘积不移位,直接入 CALU。
01,PREG左移 1位后装入 CALU,最低位填 0;
10,PREG左移 4位后装入 CALU,低 4位填 0;
11,PREG输出进行符号位扩展右移 6位。
1.5,7 辅助寄存器算术单元(ARAU)
1.辅助寄存器算术单元ARAU简介
ARAU的 主要功能,在CALU操作的同时,执行8个辅助寄存器AR7-AR0中的算术运算,8个辅助寄存器提供了强大而灵活的间接寻址能力。利用辅助寄存器中的
16位地址可访问64K字的数据空间任一单元。
如何选择某一辅助寄存器?用 ARP指针装入 3位数据 。
2.辅助寄存器除可用于数据存储器的地址外,还有其他用途:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-12.html
还特么学法律的
简单处理