3.26 ALU与指令集
1 ALU算术逻辑部件

将算术运算和逻辑运算通过选择器结合

行波➡先行(可以简化运算)

a和b可以是多位输入,result和a、b同位
1.1 ALU与数据总线

通用寄存器堆用来保存操作数
1.时钟信号(CLK)改变,写使能A有效,B无效,通用寄存器里的数据通过数据总线写到A中,然后A输出数据给ALU
2.时钟信号(CLK)改变,写使能B有效,A无效,通用寄存器里的数据通过数据总线写到B中,然后B输出数据给ALU
3.ALU将结果输入到数据总线,但因为AB写使能无效,所以不会输入到LA、LB;数据总线把输出结果输入到通用寄存器堆(再花一个CLK)
(一共有三次时钟信号)

1.2 双总线

如果想要更少的时钟周期,就要消除“写”的动作
1.时钟信号(CLK)改变,写使能A有效,通用寄存器里的数据通过数据总线写到A中,然后A输出数据给ALU,再让A无效
2.ALU将结果输入到数据总线,但因为AB写使能无效,所以不会输入到LA、LB;数据总线把输出结果输入到通用寄存器堆
临时寄存器可防止数据输入混乱
1.3 三总线


1.4 存储器
如果要读入一个数据,需要输入一个地址,然后会输出一个信号
如果要写入,得有一个写使能,要去写的地址,要去读的地址,要去写的数据
2 指令集体系概述(软件和硬件间的接口)

2.1 寄存器


寄存器的数据存储

一种是将二进制低位放到地址的高位,一种是放到低位(小端优先)

读与写

3 MIPS 指令
加减法运算


如何和常数相加

内存数据访问

指令集的定义:
指令:由操作码和操作数组成
指令集:由操作码、操作数、寻址模式定义的指令集合
寻址模式:决定着计算机如何读取/存储的存储单元的地址

浙公网安备 33010602011771号