总览:
5.1.2 CPU基本结构
CPU分为ALU、寄存器、控制单元CU(图中右下部分)三部分组成,还有一部分中断系统后续补充
左边运算器,右边控制器:
用户可见/可编程的: 通用寄存器组(上图R0~R3)、程序状态字寄存器PSW、程序计数器PC
对用户透明: MAR、MDR、IR、暂存寄存器
运算器:接收控制器的命令,对数据加工和处理
组成部分:
- 算术逻辑单元ALU:算术、逻辑运算
- 暂存寄存器:暂存主存读来的数据,对用户透明
- 累加寄存器:专用的通用寄存器,暂存ALU的运算结果,也可以作为加法运算的输入端
- 通用寄存器组:如AX、BX、CX、DX、SP等。用来存放操作数(源操作数、目的操作数、中间结果)、地址信息等。SP是堆栈指针,指示栈顶的地址。
- 程序状态字寄存器PSW:保留指令结果的各种状态信息:溢出标志(OF)、符号标志、零标志、进位标志等。这些位参与并决定微操作的形成
- 移位器:进行移位运算,可整合在暂存寄存器中
- 计数器
控制器:取指令、分析指令、执行指令
组成部分:
- 程序计数器PC: 存放下一条指令地址,能自动+1
PC和MAR位数一样 - 指令寄存器IR: 保存当前正在执行的指令
- 指令译码器:翻译操作码
- 存储器地址寄存器MAR: 保存要访问主存单元的地址
- 存储器数据寄存器MDR: 存放主存读过来或要写到主存的数据
- 时序系统: 用于产生时序信号
- 微操作信号发生器
错题记录:
-
n位CPU指的是
数据总线数
是n
解释:表示CPU一次能处理的数据的位数 -
间址周期结束时,MDR中的内容为:
操作数地址
解释:间址周期取操作数的有效地址EA = (A) -
地址译码器是
主存等存储器
的组成部分,不属于CPU -
CPU中通用寄存器的位数取决于:
机器字长
指令寄存器的位数取决于:指令字长
程序计数器的位数取决于:存储器的容量
解释:PC的内容为指令在主存中的地址,因此PC的位数和存储器位数相等 -
在一条无条件转移指令的指令周期内,PC的值被修改2次
取值周期结束,PC自动+1。执行周期中,PC被修改为要跳到的地址 -
错误:转移指令时,PC的值总被修改为目标地址
解释:要判断转移是否成功,,失败的话+1
7.设某计算机主存空间4GB,字长32位,按字节编址。采用32位字长指令字格式。若指令按字边界对齐存放 ,则PC和IR的位数至少分别是:
答:PC给出下一条指令在主存中的地址,取决于存储器字数:4GB/32bit=230,也就是30位
IR取决于指令字长32位
5.2 指令执行过程
指令周期:
冯诺依曼计算机根据指令周期的不同阶段
区分存储器中取出的是指令还是数据。取值周期取得指令,执行周期取得数据
控制器
可以区分存储单元中是指令还是数据
1. 取值周期:根据PC内容取出指令放入IR中
2. 间址周期:根据IR中指令地址码取操作数有效地址
只看前三步即可
4. 中断周期:保存断点,送中断向量,处理中断请求
指令执行方案:
- 单指令周期(串行):所有指令均采用最长的指令执行时间
- 多指令周期(串行):需要几个周期就分配几个
- 流水线方案(并行)
错题记录:
-
采用DMA方式传递数据时,每传送一个数据就要占用
存取周期
解释:存取周期指存储器进行两次独立操作(读/写)所需的最小时间间隔 -
指令
总是根据程序计数器
从主存中读出 -
假定不采用Cache和指令预存技术,且机器处于"开中断"状态,则有:
因为不采用Cache和指令预存每个指令周期都有取值周期,都需要访问内存一次。
即使是空操作指令,PC也会自动+1。
由于是开中断,每条指令执行结束都可能被外部中断打断 -
取值操作是
自动执行
的,控制器不需要得到相应指令 -
机器周期通常由
存取周期
决定 -
指令的执行周期完成后会判断是否出现中断请求,
只有出现中断请求时才会进入中断周期
-
存储器间址通过形式地址访存,寄存器间址通过寄存器访存,操作不同
-
CPU相应中断的时间是,一条
指令执行结束后
-
不同长度的指令,取值操作可能不同
。比如双字指令、三字指令。 -
指令字长等于存储字长的前提下,取值周期等于机器周期。
指令字长和机器字长的长度没有任何关系,一般是字节或者存储字长的整数倍,如果指令字长是存储字长的2倍,取值周期就是机器周期的2倍
5.3 数据通路的功能和基本结构
数据通路: 数据在功能部件之间传送的路径
数据通路部件: 路径上的部件,如ALU、通用寄存器、状态寄存器、异常和中断处理程序等
数据通路的功能: 实现CPU内部的运算器和寄存器
及寄存器之间
的数据交换
内部总线: 同一部件内部的,例如CPU内部的
系统总线: 同一台计算机系统的各部件
感觉有点像开闸放水
(PC)->BUS
这种是操作流程,也叫微操作
PCout有效,PC内容送总线
这种是有效控制信号
在单总线的CPU中,ALU的一个输入端可与总线相连,另一个输入端通过暂存器与总线相连
CPU的读写控制信号的作用:控制是从存储器读还是向存储器写
错题记录:
- 单周期处理器中所有指令周期为一个时钟周期,下列关于单周期处理器错误的是:可以采用单总线数据结构
解释: 单周期处理器一个时钟只允许一次操作,没法完成指令的所有操作
5.4 控制器功能和工作原理
5.5 指令流水线:提高计算机运算速度
指令执行时划分不同阶段,占用不同的资源,就可以使不同指令同时进行
指令流程图:分析影响流水线的因素
时空图:分析流水线的性能
性能指标:吞吐率TP、加速比S、效率E
超标量技术:
超流水技术: