CPU的功能
- 运算器:
- ACC:进行累加功能的运算器
- PSW:用于判断结果和转移指令
- 各种通用寄存器,一般是2^m个寄存器
- 移位寄存器
- 计数器寄存器
- ALU算术单元
- DR暂存寄存器,一般输出一个,输入一个
- 控制器:
- CU:控制单元
- PC:存放当前指令的地址
- IR:存放当前指令
- 译码器
- MAR:存放指令地址
- MDR:存放指令和数据
- 时序系统
- 微操作发生器
是否对用户可见
运算器中只有DR暂存寄存器对用户不可见
控制器中的单元都不可见
指令执行周期
取指、间址、执行、中断
中断:需要压栈 -1
数据通路
单总线结构:
容易产生冲突
专用数据通路:
如果是单周期的指令最好采用专用数据通路来避免冲突
在输出的移位寄存器上需要设置一个三态门避免
控制器的基本功能和原理
硬布线:就是选择一个信号需要考虑到所有可能的情况
微程序控制方式
一条机器指令对应一个微程序,同一时刻可以安排的微操作安排成一个微指令
CM是存放在CU当中的存储部件是采用ROM构成
对于微指令的编码
- 直接编码:把所有的信号发生装置都用01标记,然后表明发出什么信号,这样会增加CU部件的容量
- 字段编码:将互斥的信号放在同一个段内,然后相互兼容的放在不同的段内,每个段需要留一位作为什么都不发出的信号。
在CM当中,取指,间址,中断的微指令序列只需要取一份,只有执行阶段的微指令顺序会不同
指令流水线
指令功能段应该按照最长的时间来计算
指令流水阻塞的因素
- 结构相关:使用到相同的部件产生冲突
- 解决方法:让部件多等一个时钟周期;2,把存储器Cache分为指令存储器和数据存储器
- 数据相关:一个同步问题
- 解决方案:让部件多等一个时钟周期;2,采取数据旁路技术,提高效率
- 控制冲突:发生转移指令满足条件,但流水线已经执行了很多指令
- 解决方案:提早得到条件判断的结果
- 预先取得条件满足和不满足的目标指令
- 加快和形成条件码(提前获得条件判断的结果)
- 提高猜准率