- CPU子系统
- 总体结构模型
- 示意图
- CPU是计算机中的核心部件
- 数据运算功能
- 系统控制功能
- CPU总体结构模型
- 示意图
- 主要部件
- 时序系统
- 控制部件
- 缓存部件
- 寄存器(堆)
- 运算部件
- 5个部件通过数据/控制通路互连,实现信息交互
- 主要部件
- 示意图
- 示意图
- 运算与缓存部件
- 从硬件的角度,CPU内部的主要部件包括
- 各种功能部件,分别通过数据通路/控制通路互相连接形成CPU的硬件架构—→CPU的微架构
- 运算部件
- 对操作数进行运算,主要是算术运算/逻辑运算
- 基本组成
- 缓存部件
- 为提高CPU从主存中读取指令/数据的效率,在CPU内部集成了多级缓存部件
- 作用
- 缓存从主存中读取的部分指令/数据
- 缓存从主存中读取的部分指令/数据
- 从硬件的角度,CPU内部的主要部件包括
- 数据寄存部件
- 寄存器组(堆)
- 存储各种用途的数据信息
- 部件选用
- 一般用小容量的多端口存储器来构成寄存器组,其中1个存储单元作为1个寄存器
- 基本类型
- 通用寄存器:多个
- 通用寄存器有全局唯一地址,可通过地址码访问,可在机器指令中直接使用
- 功能:提供操作数、地址码、存放运算结果
- 暂存器
- 特征
- 多个,内部专用,无需分配地址码,不能在机器指令中使用
- 主要用途
- 用来暂存产生的临时数据,以备在后续操作过程中使用
- 特征
- 指令寄存器(IR)
- 主要用途
- 只有1个,用于存放指令代码
- 从存储器(或者指令缓存)中读取到指令以后,就直接存入到指令寄存器中
- 主要用途
- 程序计数器(PC)
- 主要用途
- 仅1个,用来指明指令在寄存器中存放位置,即存储单元的地址码
- 仅1个,用来指明指令在寄存器中存放位置,即存储单元的地址码
- 注意
- 取指令结束后,PC保存的地址码自动修改,以指向下一条指令的存储单元,修改量取决于指令字长和存储器的编址单位
- 主要用途
- 程序状态字寄存器(PSW)
- 主要用途
- 仅1个,记录现行程序的运行状态和程序的工作模式
- PSW-特征位
- 也叫标志位,反映CPU的当前状态
- 指令执行时,根据情况自动设置这些特征值,作为后续操作的判断依据,通常有5类:
- PSW-编程设定位
- PSW中某些位或字段可通过程序来设定,以决定程序的调试、对中断的响应、程序的运行模式
- PSW中某些位或字段可通过程序来设定,以决定程序的调试、对中断的响应、程序的运行模式
- 主要用途
- 地址寄存器(MAR)
- 主要用途
- 只有1个,读写寄存器时,先要定位存储单元,因此设置MAR来存放目标单元的地址码
- 先将有效地址送入MAR,再启动后续的读写操作
- 主要用途
- 数据缓冲寄存器(MBR)
- 主要用途
- 只有1个,过渡性地存放CPU与主存之间交换的数据
- 无论是从主存读取的数据,还是写入的主存的数据都要经过MBR
- 主要用途
- 堆栈指针(SP)
- 主要用途
- 仅1个,固定存放堆栈的栈顶单元的地址码
- 仅1个,固定存放堆栈的栈顶单元的地址码
- 主要用途
- 通用寄存器:多个
- 寄存器组(堆)
- 时序处理部件
- 控制器
- 根据指令、时钟信号、外部信号等信息,产生各种控制信号(微指令),以便控制各种功能部件协同工作,完成指令的功能。
- 根据产生微指令的方式,有两类控制单元
- 组合逻辑控制器 组合逻辑硬件电路→控制信号
- 微程序控制器 微程序译码 →控制信号
- 根据指令、时钟信号、外部信号等信息,产生各种控制信号(微指令),以便控制各种功能部件协同工作,完成指令的功能。
- 时序部件
- 时序信号
- [定义]周期、节拍、脉冲等频率型信号序列
- 产生时序信号的部件称为时序发生器或时序系统,由1个低频振荡器和倍频逻辑组成
- 低频信号振荡器
- 它是一个低频脉冲源,能输出固定频率的基准脉冲信号(外频),作为系统时钟信号
- 系统时钟信号经过倍数放大以后,产生执行指令所需要的各种时序信号:
- 节拍信号,即CPU时钟周期智信号
- 工作周期信号,即机器周期信号
- 指令周期信号
- 时序信号
- 控制器
- 执行流程与控制
- CPU的工作原理
- 主要功能
- 处理指令—控制指令的执行顺序
- 执行操作—产生控制信号控制部件工作
- 控制时间—控制各部操作的时序
- 数据运算—算术和逻辑运算
- 执行指令流程
- 读取指令—从存储器中读取
- 指令译码—通过控制器进行、产生控制信号
- 指令执行—寻址、取数、运算
- 后续工作—保存结果、响应外部请求
- 部件的控制方式
- CPU是计算机内部技术最复杂的子系统
- 部件众多
- 架构复杂
- 功能多样
- 各部件协同工作方式
- 同步控制方式
- 异步控制方式
- 同步控制方式的特点
- 每步操作都向统一的外部时序信号对齐
- 各步操作之间无交互
- 例:
- 异步控制方式的特点
- 每步操作都不需要向统一的外部时序信号对齐
- 各步操作之间通过交互应答来实现协同
- 例:
- CPU是计算机内部技术最复杂的子系统
- 主要功能
- CPU的工作原理
- 外部连接与i/o任务
- 外部连接类型
- 单处理机系统:通过前端总线与北桥芯片组连接
- 多处理机系统:高性能CPU中集成了主存、视频和PCI-E接口,CPU之间通过QPI、与芯片组之间通过DMI总线互连
- 在I/O控制中的任务
- 主机←接口→外围设备
- 主机与外设之间进行数据输入/输出操作时,在不同的I/O控制模式下,CPU承担的任务各不相同
- 程序传送模式
- CPU直接执行I/O指令
- 中断模式
- CPU执行中断服务程序
- DMA模式
- CPU管理DMA控制器、善后处理
- IOP和PPU模式
- CPU组织I/O程序,管理IOP与PPU,以及善后处理
- 程序传送模式
- 外部连接类型
- CISC与RISC指令集
- 指令
- 计算机执行某类操作的信息的集合,是CPU工作的主要依据
- 指令集
- 处理器能执行的全体指令的集合(CISC、RISC)
- 决定了计算机的硬件功能
- 计算中软硬件上午分界面
- 指令字
- 用来表示指令的一组二进制代码
- 指令字长
- 指令中包含的二进制代码位数
- 机器字长
- 计算机能够直接处理的二进制数据的位数 = 寄存器的宽度
- CISC
- 复杂指令集计算
- RISC
- 精简指令集计算
- CISC的特点
- 指令数量多
- 指令长度可以不固定,指令格式和寻址方式多样
- 很多指令会涉及存储器读写操作,指令周期长
- 一般在通用处理器中使用
- RISC的特点
- 指令数量多、少
- 指令长度不固定,指令格式和寻址方式种类少
- 一般只有少量指令(如取数/存数)才会读写存储器,其余指令只涉及CPU内部寄存器,指令周期短
- 一般在高端服务器CPU中使用
- 指令
- 指令的一般格式
- 指令的基本格式
- 指令字长
- 定长指令规格
- 规整、便于控制
- 变长指令格式
- 合理利用存储空间、提高取指令的效率,如超长指令集
- 定长指令规格
- 操作码结构
- 定长操作码
- 各指令θ的位置、位数固定相同
- 拓展操作码
- 各指令θ的位置、位数不固定,根据需要变化(设置拓展标志)
- 复合型操作码
- 操作码分为几段,每段表示一种二级操作
- 例:
- 定长操作码
- 地址结构
- 指令中提供地址的方式
- 显式地址方式
- 指令中明确指明地址码(直接/间接给出)
- 隐式地址方式
- 地址码隐含约定,不在指令中出现
- 使用隐式地址,可以减少指令中的地址数量,从而简化地址结构
- 显式地址方式
- 指令中提供地址的方式
- 常见的地址结构类型
- 四地址结构指令
- 三地址结构指令
- 二地址结构指令
- 一地址结构指令
- 零地址结构指令
- 四地址结构指令
- 指令可能会涉及到的操作数类型
- 地址码数据
- 寄存器编号或存储器地址,无符号整数
- 数值型数据
- 定点数、浮点数、一般用于补码表示
- 字符型数据
- 通常表示为ASCII码/汉字内码格式
- 逻辑型数据
- 常规二进制代码,不具备数值意义
- 地址码数据
- MIPS32架构的指令格式
- 指令字长
- 指令的基本格式
- 常见寻址方式(1)立即寻址、直接寻址
- 立即寻址
- 指令中直接包含了操作数
- 用来提供偏移量、常数、设置初值等
- 例:
- 指令中直接包含了操作数
- 直接寻址
- 指令中直接给出操作数的地址码
- 主存直接寻址(绝对寻址)
- 寄存器直接寻址
- 针对操作数在寄存器中的情况
- 针对操作数在寄存器中的情况
- 指令中直接给出操作数的地址码
- 立即寻址
- 常见寻址方式(2)主存、寄存器间接寻址
- 间接寻址
- 指令给出操作数的间接地址
- 一般只在CISC中使用,RISC中一般不用
- 主存间接寻址
- 寄存器间接寻址
- 指针不变(由指令指定),指针内容可变,使同一指令可指向不同存储单元,一实现程序的循环、共享,并提供转移地址
- 堆栈间接寻址
- S = ((SP))
- 指令给出操作数的间接地址
- 间接寻址
- 常见寻址方式(3)基址、变址及其混合
- 变址寻址
- 指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址
- 格式
- 基址寻址
- 指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址(二维数组的读写)
- 格式
- 变址与基址的区别
- 有效地址 = 寄存器内容(R)+ 指令中的立即数D
- 变址寻址
- 指令提供基准量,寄存器提供偏移量
- 基址寻址
- 指令提供偏移量,寄存器提供基准量
- 基址+变址
- 指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址(处理三维数组)
- 指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址(处理三维数组)
- 变址寻址
- 常见寻址方式(4)PC相对寻址、页面寻址
- PC相对寻址
- 指令给出偏移量,PC当前值与偏移量相加得到有效地址
- 指令给出偏移量,PC当前值与偏移量相加得到有效地址
- 页面寻址(伪直接寻址)
- 指令给出位移量,PC的高位部分与位移量拼接,形成有效地址
- 例:
- 指令给出位移量,PC的高位部分与位移量拼接,形成有效地址
- 指令中的寻址方式约定
- 操作码可隐含说明不同寻址方式
- MIPS指令,一般都是采用这种方式
- 指令中可设置寻址方式字段
- 例:
- 例:
- 操作码可隐含说明不同寻址方式
- PC相对寻址
- 指令的功能和类型
- 按指令格式
- PDP-11:单、双操作数指令
- 按操作数寻址方式
- IBM370
- RR型(寄存器-寄存器)
- RX型(寄存器-变址寄存器)
- IBM370
- 按指令功能
- 传送、访存、I/O、算术逻辑运算、程序控制、处理机控制等指令
- 数据传送类指令
- 主要包括
- 取数指令、存数指令、数据传送(单字、成组)、数据交换和堆栈操作
- 主要用来实现
- 寄存器之间、存储器单元之间以及寄存器-存储器单元的数据传送
- 设计传送指令时需要考虑
- (I/O)指令
- 算术\逻辑运算指令
- 程序控制类指令
- 控制处理机的专用指令
- 面向操作系统的指令
- 主要包括
- 按指令格式
- 加法单元
- 输入和输出
- 全加器
- 输入和输出
- 串行与并行进位
- 进位的基本逻辑
- 串行加法器
- 特点
- 低位向高位依次传递进位信号
- 例:
- 影响运算速度的主要因素
- 进位信号的传递
- 进位逻辑
- 进位信号逐位形成
- 例:
- 特点
- 并行加法器
- 特点
- 各位进位信号同时形成
- n位加法器,进位逻辑如下
- 结构举例
- 结构举例
- 特点
- 分组:组内并行、组间并行
- 进位的基本逻辑
- 运算部件的组织
- 运算器组织
- 带多路选择器的运算器
- 带输入锁存器的运算器
- 位片式运算器
- 带多路选择器的运算器
- 运算器组织
- MIPS32指令架构(1)指令格式
- 总体情况
- 存储器按字节编址
- 可用寄存器32个,宽度32位
- RISC架构
- 可提供的寄存器列表
- 指令格式与指令集
- 指令字长固定为32位,寄存器型寻址,指令中给出寄存器号
- R型指令
- 操作数和保存结果均通过寄存器进行
- op:操作码,所有R型指令中都全为0
- rs:寄存器编码,对应第1个源操作数
- rt:寄存器编号,对应第2个源操作数
- rd:寄存器编号,据此保存结果
- sa:常数,在移位指令中使用
- func:功能码,指定指令的具体功能
- 操作数和保存结果均通过寄存器进行
- I型指令
- 操作数中涉及立即数,结果保存到寄存器
- op:标识指令的操作功能
- rs:第1个源操作数,是寄存器操作数
- rt:目的寄存器编号,用来保存运算结果
- imm:第2个源操作,立即数
- 操作数中涉及立即数,结果保存到寄存器
- J型指令
- 实现无条件转移
- op:确定指令的功能
- address:转移目标地址的偏移量字段
- 实现无条件转移
- R型指令
- 指令字长固定为32位,寄存器型寻址,指令中给出寄存器号
- 总体情况
- MIPS32指令架构(2)寻址方式
- 在MIPS32指令集中,不会单设寻址方式说明字段,通过op字段和func字段(针对R型指令)隐含说明
- R型指令
- 由op和func字段共同隐含说明当前的寻址方式
- I型和J型指令
- 由op字段隐含说明当前指令使用的寻址方式
- 立即数寻址
- 操作数在指令中的立即数字段
- 操作数在指令中的立即数字段
- 寄存器直接寻址
- 操作数直接在寄存器中
- 操作数直接在寄存器中
- 基址寻址
- 操作数由寄存器和立即数字段联合产生
- 操作数由寄存器和立即数字段联合产生
- PC相对寻址
- 操作数由寄存器和立即数字段联合产生
- 操作数由寄存器和立即数字段联合产生
- 伪直接寻址
- 也叫页面寻址,由PC高4位与指令中的地址段组合产生有效地址
- 也叫页面寻址,由PC高4位与指令中的地址段组合产生有效地址
- MIPS32指令架构(3)指令功能分析
- R型指令(只列出了9条)
- 由操作码op配合func字段,确定具体的操作
- R型指令,存在3中不同类型
- 3寄存器R型指令
- 2寄存器R型指令
- 1寄存器R型指令
- 3寄存器R型指令
- I型指令(只列出9条)
- I型指令,存在4中不同类型
- 面向运算的I型指令
- 面向访存的I型指令
- 面向数位设置的I型指令
- 面向条件转移(分支)的I型指令
- 面向运算的I型指令
- J型指令(列出2条)
- R型指令(只列出了9条)
- 总体结构模型
计算机组成原理(纪禄平)第三章
最新推荐文章于 2021-07-19 22:31:39 发布