文章目录
本章的知识结构图如下:
一、CPU的简单介绍
1.CPU的功能
CPU=控制器+运算器。
控制器负责协调并控制计算机各部件执行程序的指令序列,包括取指令、分析指令和执行指令。
运算器负责对数据进行加工。
CPU的功能包括:
- 指令控制(程序的顺序控制)
- 操作控制(产生并管理操作信号)
- 时间控制
- 数据加工
- 中断处理
2.CPU的基本结构
- 运算器:
算术逻辑单元ALU:算术/逻辑运算
暂存寄存器:暂存从主存读来的数据
累计寄存器:存放中间计算结果
通用寄存器:存放操作数和各种地址信息,是可编程指定多种功能的寄存器。位数取决于机器字长。
程序状态寄存器PSW:保留各种状态信息,比如溢出标志OF、符号标志SF、零标志ZF、进位标志CF等。
移位器:移位运算。
计数器:控制乘除运算的操作步数。
- 控制器:整个系统的指挥枢纽,从主存中取出指令、分析指令并产生有关的操作控制信号。
程序计数器PC:下一条指令的地址。决定了指令的执行顺序,位数取决于存储器的字数/存储器容量。
指令寄存器IR:当前正在执行的指令。位数取决于指令长度。
地址寄存器MAR:存放要访问的主存单元的地址。
数据寄存器MDR:存放向主存写入的或读出的信息。
时序系统:产生各种时序信号。
微操作信号发生器:产生控制信号
控制器的寄存器除了PC以外对用户都不可见(透明),运算器的寄存器对用户可见(不透明)。
二、指令执行过程
1.指令周期
指令周期、机器周期(可定长可不定长)和时钟周期(最小的CPU时间单位)的对应关系:
完整的指令周期:
上述4个工作周期都有CPU访存操作,只是访存的目的不同。取指周期是为了取指令(控制器自动进行,不需要得到相应的指令),间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。
为了区别不同的工作周期,在CPU内设置4个标志触发器FE、IND、EX和INT,它们分别对应取指、间址、执行和中断周期,并以"1"状态表示有效,分别由1→FE、1→IND、1→EX 和1→INT这4个信号控制。
2.指令周期的数据流
- 取值周期:
取指周期的任务是根据PC中的内容从主存中取出指令代码并存放在IR中。
取指周期的数据流如图所示。PC中存放的是指令的地址,根据此地址从内存单元中取出的是指令并放在指令寄存器IR中,取指令的同时PC加1。
- 间指周期:
间址周期的任务是取操作数有效地址。以一次间址为例,将指令中的地址码送到MAR并送至地址总线,此后CU向存储器发读命令,以获取有效地址并存至MDR。
- 执行周期:
根据IR中的指令的操作码和MDR中地址对应的主存的操作数,通过ALU操作产生执行结果。
不同的指令执行周期操作不同,因此数据流无法统一。
- 中断周期:
3.指令执行方案
- 单指令周期:
对所有指令都选用相同的执行时间(固定的时钟周期)来完成,称为单指令周期方案。指令之间串行执行,即下一条指令只能在前一条指令执行结束后才能启动。因此,指令周期取决于执行时间最长的指令的执行时间。对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。
- 多指令周期:
对不同类型的指令选用不同的执行步骤来完成,称为多指令周期方案。指令之间串行执行,即下一条指令只能在前一条指令执行结束后才能启动。但可选用不同个数的时钟周期来完成不同指令的执行过程,指令需要几个周期就为其分配几个周期,而不再要求所有指令占用相同的执行时间。
- 流水线方案:
指令之间可以并行执行的方案,称为流水线方案,其追求的目标是力争在每个时钟脉冲周期完成一条指令的执行过程(只在理想情况下才能达到该效果)。这种方案通过在每个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。
三、
附:王道课后选择
1.条件转移指令执行时所依据的条件来自(标志寄存器)。
2.所谓的n位CPU,n指的是(数据总线线数)。
3.转移指令时,转移成功,PC的值修改为转移指令的目标地址,否则仍是自增之后的值。
4.间指周期结束后,MDR中是操作数地址。