2.3C54x的中央处理单元(CPU) C54xCPU主要包括下列器件: ①1个40位的算术逻辑单元(ALU); ②2个40位的累加器(ACCA、ACCB); ③1个桶形移位器; ④1个乘法器与加法器组成的乘法-累加单元(MAC); ⑤1个比较、选择和存储单元(CSSU),在图2-2中 由COM,TRN和TC等部分组成; ⑥1个指数编码器(EXP); ⑦2个16位的状态控制寄存器ST0、ST1;1个16位 的处理器模式状态寄存器PMST; ⑧程序地址发生逻辑和数据地址发生逻辑。 21
C54x CPU主要包括下列器件: ①1个40位的算术逻辑单元(ALU); ②2个40位的累加器(ACCA、ACCB); ③1个桶形移位器; ④1个乘法器与加法器组成的乘法-累加单元(MAC); ⑤1个比较、选择和存储单元(CSSU),在图2-2中 由COM, TRN和TC等部分组成; ⑥1个指数编码器(EXP); ⑦2个16位的状态控制寄存器ST0、ST1; 1个16位 的处理器模式状态寄存器PMST; ⑧程序地址发生逻辑和数据地址发生逻辑。 21 2.3 C54x的中央处理单元(CPU)
2.3C54x的中央处理单元(CPU) 2.3.1累加器和算术逻辑运算单元(ALU) ①累加器A和B的构造图: 39 3231 1615 0 累加器A结构图 AG AH AL 保护位(8位)高阶位(16位)低阶位(16位) 39 3231 1615 0 累加器B结构图 AG AH AL 保护位(8位)高阶位(16位)低阶位(16位) 山东大学生物医学工程刘忠国 22
2.3.1 累加器和算术逻辑运算单元(ALU) AG AH AL 39 32 31 16 15 0 累加器A结构图 保护位(8位) 高阶位 (16位) 低阶位(16位) ① 累加器A和B的构造图: 22 2.3 C54x的中央处理单元(CPU) 山东大学生物医学工程刘忠国 AG AH AL 39 32 31 16 15 0 累加器B结构图 保护位(8位) 高阶位 (16位) 低阶位(16位)
2.3C54x的中央处理单元(CPU) ②算术逻辑运算单元ALU CB15~CBO 16 DB15~DBO T A 16 D 桶形移位 40 40 MUX MUX 器输出 SXM 符号ctr 符号ctr SXM 40 OVM 40 X MUX ALU 816 B OVA/OVB MAC输出 40 TC 2B ALU的功能框图 23
ALU的功能框图 40 40 40 40 40 16 16 MUX A B ALU 符号ctr 符号ctr MUX MUX CB15~CB0 DB15~DB0 SXM Y X A M U B C B A T D S ② 算术逻辑运算单元ALU 23 2.3 C54x的中央处理单元(CPU) SXM OVM C16 C ZA/ZB TC OVA/OVB 桶形移位 器输出 MAC输出
2.3C54x的中央处理单元(CPU) ②算术逻辑运算单元ALU >C54x的ALU是40位的,与累加器结合可以完 成宽范围的算术及逻辑运算,结果为40位长 >多数运算可在单周期内完成 >其运算结果通常被送入累加器A或B中,(除了 从存储器到存储器的操作指令如ADDM、 ANDM、ORM和XORM之外,这些运算结果存 入指令指定的目的存储器)。 山东大学生物医学工程刘忠国 24
② 算术逻辑运算单元ALU ➢C54x的ALU是40位的,与累加器结合可以完 成宽范围的算术及逻辑运算,结果为40位长 ➢多数运算可在单周期内完成 ➢ 其运算结果通常被送入累加器A或B中,( 除了 从存储器到存储器的操作指令如ADDM、 ANDM、ORM和XORM之外,这些运算结果存 入指令指定的目的存储器)。 24 2.3 C54x的中央处理单元(CPU) 山东大学生物医学工程刘忠国
1)ALU输入数据的40位扩展 当16位数据存储器操作数通过数据总线DB或CB输 入ALU时,40位的ALU输入将采用两种方式形成: ①若输入的16位操作数装在ALU的0~15位时,则 ●当SXM-0时,高24位(3916位)用0填充: 当SXM-1时,高24位(39~16位)扩展为符号位。 ②若输入的16位操作数装在ALU的16~31位时,则 当SXM-0时,39-32位和150位用0填充: ●当SXM-1时,3932位扩展为符号位,150位置0。 (2)ALU的输出 ALU的输出为40位运算结果,通常被送至累加器A或B。 山东大学生物医学工程刘忠国 25
(1) ALU输入数据的40位扩展 当16位数据存储器操作数通过数据总线DB或CB输 入ALU时,40位的ALU输入将采用两种方式形成: ① 若输入的16位操作数装在ALU的0~15位时,则 •当SXM=0时,高24位 ( 39~16位 ) 用0填充; •当SXM=1时,高24位 ( 39~16位 ) 扩展为符号位。 ②若输入的16位操作数装在ALU的16~31位时,则 •当SXM=0时,39~32位和15~0位用0填充; •当SXM=1时,39~32位扩展为符号位,15~0位置0。 (2) ALU的输出 ALU的输出为40位运算结果,通常被送至累加器A或B。 山东大学生物医学工程刘忠国 25