计算机组成原理 |
您所在的位置:网站首页 › cpu的组成及功能有哪些 › 计算机组成原理 |
第8章 CPU的结构和功能
8.1 CPU 的结构
一、 CPU 的功能
1. 控制器的功能
取指令 指令控制 分析指令 操作控制 执行指令,发出各种操作命令 时间控制 控制程序输入及结果的输出总线管理 处理中断 处理异常情况和特殊请求 数据加工 2. 运算器的功能实现算术运算和逻辑运算 二、CPU 结构框图 1. CPU 与系统总线 三、 CPU 的寄存器 1. 用户可见寄存器 (1) 通用寄存器存放操作数 可作 某种寻址方式所需的 专用寄存器 (2) 数据寄存器存放操作数(满足各种数据类型) 两个寄存器拼接存放双倍字长数据 (3) 地址寄存器存放地址,其位数应满足最大的地址范围 用于特殊的寻址方式 段基值 栈指针 (4) 条件码寄存器存放条件码,可作程序分支的依据 如 正、负、零、溢出、进位等 2. 控制和状态寄存器 (1) 控制寄存器PC ==> MAR ==> M ==> MDR ==> IR 控制 CPU 操作 其中 MAR、MDR、IR 用户不可见 PC 用户可见 (2) 状态寄存器状态寄存器 存放条件码 PSW寄存器 存放程序状态字 四、 控制单元 CU 和中断系统 1. CU 产生全部指令的微操作命令序列组合逻辑设计 微程序设计 硬连线逻辑 存储逻辑 2. 中断系统参见 8.4 节 五、ALU参见 第6章 8.2 指令周期 一、 指令周期的基本概念 1 . 指令周期取出并执行一条指令所需的全部时间 2. 每条指令的指令周期不同 3. 具有间接寻址的指令周期 4. 带有中断周期的指令周期 5. 指令周期流程 6. CPU 工作周期的标志CPU 访存有四种性质 取 指令 取指周期 取 地址 间址周期 存 取操作数或结果 执行周期 存 程序断点 中断周期 二、 指令周期的数据流 1. 取指周期数据流 2. 间址周期数据流 3. 执行周期数据流不同指令的执行周期数据流不同 4 . 中断周期数据流 8.3 指令流水 一、如何提高机器速度 1. 提高访存速度高速芯片 Cache 多体并行 2. 提高 I/O 和主机之间的传送速度中断 DMA 多总线 通道 I/O 处理机 3. 提高运算器速度高速芯片 改进算法 快速进位链 提高整机处理能力 高速器件 改进系统结构 ,开发系统的并行性 二、系统的并行性 1. 并行的概念 2. 并行性的等级过程级(程序、进程) 粗粒度 软件实现 指令级(指令之间、指令内部) 细粒度 硬件实现 三、指令流水原理 1. 指令的串行执行取指令 取指令部件 完成 总有一个部件 空闲 执行指令 执行指令部件 完成 2. 指令的二级流水若 取指 和 执行 阶段时间上 完全重叠 指令周期 减半 速度提高 1 倍 3. 影响指令流水效率加倍的因素 (1) 执行时间 > 取指时间 (2) 条件转移指令 对指令流水的影响必须等 上条 指令执行结束,才能确定 下条 指令的地址,造成时间损失 4. 指令的六级流水完成 一条指令 6 个时间单位 串行执行 6 × 9 = 54 个时间单位 六级流水 14 个时间单位 三、影响指令流水线性能的因素 1. 结构相关不同指令争用同一功能部件产生资源冲突 解决办法: 停顿指令存储器和数据存储器分开指令预取技术(适用于访存周期短的情况) 2. 数据相关不同指令因重叠操作,可能改变操作数的 读/写 访问顺序 写后读相关(RAW)读后写相关(WAR)写后写相关(WAW)解决办法: 后推法采用 旁路技术 3. 控制相关由转移指令引起 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yB6r15Uv-1654274711203)(8. CPU的结构和功能.assets )] 四、流水线性能 1. 吞吐率单位时间内流水线所完成指令或输出结果的数量 最大吞吐率实际吞吐率 2. 加速比m 段的 流水线的速度与等功能的非流水线的速度之比 3. 效率流水线中各功能段的 利用率 由于流水线有 建立时间 和 排空时间 因此各功能段的 设备不可能一直 处于 工作 状态 五、流水线的多发技术 1. 超标量技术每个时钟周期内可并发多条独立指令 配置多个功能部件 不能调整 指令的执行顺序 通过编译优化技术,把可并行执行的指令搭配起来 2. 超流水线技术在 一个时钟周期内再分段 ( 3 段) 在一个时钟周期内一个功能部件使用多次( 3 次) 不能调整指令的执行顺序 靠编译程序解决优化问题 3. 超长指令字技术 由编译程序挖掘出指令间潜在的并行性,将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字(可达几百位)采用多个处理部件 六、流水线结构 1. 指令流水线结构完成一条指令分 6 段, 每段需一个时钟周期 若流水线不出现断流 不采用流水技术 理想情况下,6 级流水的速度是不采用流水技术的6 倍 2. 运算流水线完成浮点加减运算可分对阶、尾数求和、规格化三段 分段原则每段操作时间尽量 一致 8.4 中断系统 一、概述 1. 引起中断的各种因素 (1) 人为设置的中断如 转管指令 (2) 程序性事故溢出、操作码不能识别、除法非法 (3) 硬件故障 (4) I/O 设备 (5) 外部事件用 键盘中断 现行程序 2. 中断系统需解决的问题(1) 各中断源如何向CPU提出请求 ? (2) 各中断源同时提出请求 怎么办 ? (3) CPU 什么条件、什么 时间、以什么方式响应中断 ? (4) 如何保护现场 ? (5) 如何寻找入口地址 ? (6) 如何恢复现场,如何返回 ? (7) 处理中断的过程中又出现新的中断怎么办 ? 硬件 + 软件 二、中断请求标记和中断判优逻辑 1. 中断请求标记INTR 一个请求源一个INTR中断请求标记触发器 多个INTR组成中断请求标记寄存器 INTR 分散 在各个中断源的 接口电路中 INTR 集中 在 CPU 的中断系统 内 2. 中断判优逻辑 (1) 硬件实现(排队器)分散 在各个中断源的 接口电路中 链式排队器 集中 在 CPU 内 (2) 软件实现(程序查询) 三、中断服务程序入口地址的寻找 1. 硬件向量法 2. 软件查询法 四、中断响应 1. 响应中断的条件允许中断触发器 EINT = 1 2. 响应中断的时间指令执行周期结束时刻由CPU 发查询信号 3. 中断隐指令 (1) 保护程序断点断点存于特定地址( 0 号地址) 内断点进栈 (2) 寻找服务程序入口地址向量地址 ==> PC(硬件向量法) 中断识别程序入口地址M ==> PC(软件查询法) (3) 硬件关中断INT 中断标记 EINT 允许中断 R – S 触发器 五、保护现场和恢复现场 1. 保护现场断点 中断隐指令完成 寄存器内容 中断服务程序完成 2. 恢复现场中断服务程序完成 六、多重中断 1. 多重中断的概念 2. 实现多重中断的条件 (1) 提前 设置 开中断 指令 (2) 优先级别高 的中断源 有权中断优先级别低 的中断源 3. 屏蔽技术 (1) 屏蔽触发器的作用 (2) 屏蔽字每个中断源对应一个屏蔽字 (3) 屏蔽技术可改变处理优先等级响应优先级 不可改变 处理优先级 可改变(通过重新设置屏蔽字) (4) 屏蔽技术的其他作用可以 人为地屏蔽 某个中断源的请求 (5) 新屏蔽字的设置 4. 多重中断的断点保护 (1) 断点进栈 中断隐指令 完成 (2) 断点存入“ 0 ” 地址 中断隐指令 完成 (3) 程序断点存入 “ 0 ” 地址的断点保护 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |