计算机组成原理第八章_第1页
计算机组成原理第八章_第2页
计算机组成原理第八章_第3页
计算机组成原理第八章_第4页
计算机组成原理第八章_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8.1 CPU 的结构的结构 8.3 指令流水指令流水 8.2 指令周期指令周期 8.4 中断系统中断系统 一、一、 CPU 的功能的功能 取指令取指令 分析指令分析指令 执行指令,发出各种操作命令执行指令,发出各种操作命令 控制程序输入及结果的输出控制程序输入及结果的输出 总线管理总线管理 处理异常情况和特殊请求处理异常情况和特殊请求 1. 控制器的功能控制器的功能 2. 运算器的功能运算器的功能 实现算术运算和逻辑运算实现算术运算和逻辑运算 指令控制指令控制 操作控制操作控制 时间控制时间控制 数据加工数据加工 处理中断处理中断 二、二、CPU 结构框图结构框图 PC IR指令控制指令控制

2、 操作控制操作控制 时间控制时间控制 数据加工数据加工 处理中断处理中断 ALU 寄存器寄存器 中断系统中断系统 1. CPU 与系统总线与系统总线 CU 时序电路时序电路 寄存器寄存器ALU 中断中断 系统系统 CU CPU 控制总线控制总线 数据总线数据总线 地址总线地址总线 2. CPU 的内部结构的内部结构 算术和算术和 布尔逻辑布尔逻辑 取反取反 移位移位 状态标志状态标志 内部内部 数据总线数据总线 C P U 寄存器寄存器 CU 中断中断 系统系统 ALU 控制信号控制信号 1. 用户可见寄存器用户可见寄存器 (1) 通用寄存器通用寄存器 三、三、 CPU 的寄存器的寄存器 存放

3、操作数存放操作数 可作可作 某种寻址方式所需的某种寻址方式所需的 专用寄存器专用寄存器 (2) 数据寄存器数据寄存器存放操作数存放操作数(满足各种数据类型)(满足各种数据类型) 两个寄存器拼接存放双倍字长数据两个寄存器拼接存放双倍字长数据 (3) 地址寄存器地址寄存器存放地址存放地址,其位数应满足最大的地址范围,其位数应满足最大的地址范围 用于特殊的寻址方式用于特殊的寻址方式 段基值段基值 栈指针栈指针 (4) 条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据,可作程序分支的依据 如如 正、负、零、溢出、进位等正、负、零、溢出、进位等 2. 控制和状态寄存器控制和状态寄存器 (

4、1) 控制寄存器控制寄存器 PC 控制控制 CPU 操作操作 (2) 状态寄存器状态寄存器 状态寄存器状态寄存器 其中其中 MAR MDR IR 用户不可见用户不可见 存放条件码存放条件码 PSW 寄存器寄存器存放程序状态字存放程序状态字 PC 用户可见用户可见 3. 举例举例Z8000 8086 MC 68000 MARMMDRIR 四、四、 控制单元控制单元 CU 和中断系统和中断系统 1. CU 产生全部指令的微操作命令序列产生全部指令的微操作命令序列 组合逻辑设计组合逻辑设计 微程序设计微程序设计 硬连线逻辑硬连线逻辑 存储逻辑存储逻辑 2. 中断系统中断系统 参见参见 第四篇第四篇

5、五、五、ALU 参见参见 8.4 参见参见 第六章第六章 一、一、 指令周期的基本概念指令周期的基本概念 1 . 指令周期指令周期 取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间 完成一条指令完成一条指令 执行执行 取指、分析取指、分析 取指阶段取指阶段 取指周期取指周期 执行阶段执行阶段 执行周期执行周期 (取指、分析)(取指、分析)(执行指令)(执行指令) 指令周期指令周期 取指周期取指周期 执行周期执行周期 2. 每条指令的指令周期不同每条指令的指令周期不同 取指周期取指周期 指令周期指令周期 取指周期取指周期 执行阶段执行阶段 指令周期指令周期 取指周期取指周期执行周

6、期执行周期 指令周期指令周期 NOP ADD mem MUL mem 3. 具有间接寻址的指令周期具有间接寻址的指令周期 4. 带有中断周期的指令周期带有中断周期的指令周期 取指周期取指周期间址周期间址周期 指令周期指令周期 执行周期执行周期 取指周期取指周期间址周期间址周期 指令周期指令周期 执行周期执行周期中断周期中断周期 5. 指令周期流程指令周期流程 取指周期取指周期 执行周期执行周期 有间址吗?有间址吗? 有中断吗?有中断吗? 间址周期间址周期 中断周期中断周期 是是 是是 否否 否否 6. CPU 工作周期的标志工作周期的标志 CPU 访存有访存有 4 种性质种性质 取取 指令指令

7、 取取 地址地址 取取 操作数操作数 存存 程序断点程序断点 取指周期取指周期 间址周期间址周期 执行周期执行周期 中断周期中断周期 FE D IND D INT D CLK 1FE1IND1EX1INT EX D CPU 的的 4个工作周期个工作周期 1. 取指周期数据流取指周期数据流 二、二、 指令周期的数据流指令周期的数据流 MDR CU MAR PC IR 存储器存储器 CPU 地址总线地址总线 数据总线数据总线 控制总线控制总线 IR +1 2. 间址周期数据流间址周期数据流 MDR CU MAR CPU 地址总线地址总线 数据总线数据总线 控制总线控制总线 PC IR 存储器存储器

8、 MDR 3. 执行周期数据流执行周期数据流 4 . 中断周期数据流中断周期数据流 不同指令的执行周期数据流不同不同指令的执行周期数据流不同 MDR CU MAR CPU 地址总线地址总线 数据总线数据总线 控制总线控制总线 PC 存储器存储器 一、如何提高机器速度一、如何提高机器速度 1. 提高访存速度提高访存速度 2. 提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力 高速芯片高速芯片Cache多体并行多体并行 多总线多总线DMAI/O 处理机处理机通道通道 高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性,开发系统的并行性 中断中断

9、 3. 提高运算器速度提高运算器速度 高速芯片高速芯片改进算法改进算法快速进位链快速进位链 二、系统的并行性二、系统的并行性 时间上互相重叠时间上互相重叠 2. 并行性的等级并行性的等级 指令级(指令之间)指令级(指令之间) 过程级(程序、进程)过程级(程序、进程) 两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生 两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生 并行并行 1. 并行的概念并行的概念 粗粒度粗粒度软件实现软件实现 细粒度细粒度硬件实现硬件实现 并发并发 同时同时 取指令取指令 3执行指令执行指令 3 三、指令流水原理三、指令流水原理

10、 2. 指令的二级流水指令的二级流水 1. 指令的串行执行指令的串行执行 取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲 指令预取指令预取 若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠 指令周期指令周期 减半减半 速度提高速度提高 1 倍倍 执行指令执行指令 执行指令部件执行指令部件 完成完成 取指令取指令 1执行执行指令指令 1 取取指令指令 2执行执行指令指令 2 取取指令指令 3执行指令执行指令 3 取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 1 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束

11、,才能确定 下条下条 指令的地址指令的地址 造成时间损失造成时间损失 3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素 (1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法 ? 取指令取指令 部件部件 指令部件指令部件 缓冲区缓冲区 执行指令执行指令 部件部件 猜测法猜测法 4. 指令的六级流水指令的六级流水 六级流水六级流水14 个时间单位个时间单位 串行执行串行执行6 9 54 时间单位时间单位 完成完成 一条指令一条指令6 个时间单位个时间单位 COFOEIWODIFI COFOEIWODIFI COF

12、OEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI 指令指令 1 指令指令 2 指令指令 3 指令指令 4 指令指令 5 指令指令 6 指令指令 7 指令指令 8 指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t 指令指令 1 与指令与指令 4 冲突冲突 指令指令 2 与指令与指令 5 冲突冲突 指令指令1、指令、指令3、指令、指令 6 冲突冲突 COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIW

13、ODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI COFOEIWODIFI 指令指令 1 指令指令 2 指令指令 3 指令指令 4 指令指令 5 指令指令 6 指令指令 7 指令指令 8 指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t 三、影响指令流水性能的因素三、影响指令流水性能的因素 1. 访存冲突访存冲突 解决办法解决办法 指令存储器和数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况) 2. 相关问题相关问题 程序的相

14、近指令之间出现某种关联程序的相近指令之间出现某种关联 使指令流水出现停顿使指令流水出现停顿 影响流水线效率影响流水线效率 (1) 控制相关控制相关 WOEIFOCODI WOEIFODIFI FI DIFI COFI FOCODIFI WOEIFOCODIFI DIFOEIWO EIFO CO FI DI COWODIFI COFI 指令指令 1 指令指令 2 指令指令 3 指令指令 4 指令指令 5 指令指令 6 指令指令 7 指令指令15 指令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 转移损失转移损失 t 设设 指令指令3 是转移指令是转移指令 BNE 指

15、令必须等指令必须等 CPX 指令的结果指令的结果 才能判断出才能判断出 是转移是转移 还是顺序执行还是顺序执行 LDA # 0 LDX # 0 INX CPX # N BNE M DIV # N STA ANS ADD X, DM (2) 数据相关数据相关 几条相近的指令间,共用几条相近的指令间,共用 同一存储单元同一存储单元 或或 同一寄存器同一寄存器 时,时, 会出现会出现 数据相关数据相关 ADD R1,R2如:如: SUB R1,R3 采用采用 旁路技术旁路技术 解决办法解决办法 寄存器组寄存器组 锁存器锁存器锁存器锁存器 ALU 四、流水线的多发技术四、流水线的多发技术 1. 超标量

16、技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序 配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来 IF ID EX WR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 t 2. 超流水技术超流水技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序 在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次( 3 次)次) 靠编译程序

17、解决优化问题靠编译程序解决优化问题 流水线速度是原来速度的流水线速度是原来速度的 3 倍倍 IF ID EX WR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 t 3. 超长指令字超长指令字 采用采用 多个处理部件多个处理部件 具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位) 由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行性, 将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条 IF ID EX WR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 t 五、流

18、水线结构五、流水线结构 1. 指令流水线结构指令流水线结构 完成一条指令分完成一条指令分 7 段段, 每段需一个时钟周期每段需一个时钟周期 若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟周期出 1 结果结果 不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果 理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍 地址形成部件地址形成部件 指令译码部件指令译码部件 取操作数部件取操作数部件 取指令部件取指令部件 操作执行部件操作执行部件 回写结果部件回写结果部件 修改指令指针部件修改指令指针部件 锁存锁存 锁存锁存

19、 锁存锁存 锁存锁存 锁存锁存 锁存锁存 2. 运算流水线运算流水线 完成完成 浮点加减浮点加减 运算运算 可分可分 对阶对阶、尾数求和尾数求和、规格化规格化 三段三段 分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致 锁存器锁存器 对阶功能部件对阶功能部件 第一段第一段 尾数加部件尾数加部件 锁存器锁存器 第二段第二段 规格化部件规格化部件 锁存器锁存器 第三段第三段 一、概述一、概述 1. 引起中断的各种因素引起中断的各种因素 (1) 人为设置的中断人为设置的中断 (2) 程序性事故程序性事故 如如 转管指令转管指令 溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法

20、非法 (5) 外部事件外部事件 (4) I/O 设备设备 (3) 硬件故障硬件故障 用用 键盘中断键盘中断 现行程序现行程序 转管指令转管指令 管理程序管理程序 2. 中断系统需解决的问题中断系统需解决的问题 (1) 各中断源各中断源 如何如何 向向 CPU 提出请求提出请求 ? (2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ? (5) 如何如何 寻找入口地址寻找入口地址 ? (4) 如何如何 保护现场保护现场 ? (3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么以什么 方式方式 响应中断响应中断 ? (6) 如何如何 恢复现场恢复现场,如何,如何 返回

21、返回 ? (7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ? 硬件硬件 软件软件 二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑 1. 中断请求标记中断请求标记 INTR 一个请求源一个请求源 一个一个 INTR 中断请求标记触发器中断请求标记触发器 多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器 INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 INTR 集中集中 在在 CPU 的中断系统的中断系统 内内 12345n 掉电掉电 过热过热 阶上溢阶上溢 内存读写校验错内存读写校验错 非法除法非法除法 键盘键盘 打印机打印机 2. 中断判优逻辑中断判优逻辑 分散分散 在各个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论