基本概念
程序计数器PC
即指令地址寄存器。用来存放当前正在执行的指令地址,或将要执行的下一条指令地址。
指令寄存器IR
用来存放当前正在执行的指令,以便在指令执行过程中控制完成一条指令的全部功能。
指令译码器
对指令寄存器IR中的操作码进行分析解释,产生相应的控制信号。
MAR、MDR、标志寄存器
地址寄存器,数据寄存器。标志寄存器包含CNVZ四个标志位。
时钟周期、指令周期、机器周期
- 时钟周期:是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。
- 机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。
- 指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。 对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。 通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
控制存储器
为程序一般存放在专用的存储器中,该存储器主要存放控制命令(信号)和下一条执行的微指令地址(下址)。执行一条微指令就是执行一段存放在控制存储器中的微程序。
控制器产生控制信号有两种方法:微程序控制、硬布线控制(组合逻辑控制)
略
计算机取指和取操作数的过程及数据通路
略
用微程序设计方案设计微指令
微指令控制字段的方法:
- 直接控制法
- 字段直接编译法
- 字段间接编译法
指令流水的概念、影响流水线性能的因素及解决方法
- 为提高CPU利用率,加快执行速度,将指令分为若干个阶段,可并行执行不同指令的不同阶段,从而多个指令可以同时执行。在有效地控制了流水线阻塞的情况下,流水线可大大提高指令执行速度。经典的五级流水线:取址、译码/读寄存器、执行/计算有效地址、访问内存(读或写)、结果写回寄存器。
- 流水线阻塞的情况有三种:
1. 结构相关:指令重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突,这时将产生结构相关。解决的办法是增加硬件资源。
2. 数据相关:当一条指令需要前面某条指令的执行结果,而两者正在并行执行的情况下,将产生数据相关。解决方式:数据重定向,或称为旁路技术。
3. 控制相关:有跳转语句、分支指令,或其他改变IP值的指令,将产生控制相关。解决方法:分支预测技术,投机执行,延迟分支。