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

下载本文档

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

文档简介

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

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

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

4、、MDR、IR 用户不可见用户不可见 存放条件码存放条件码PSW 寄存器寄存器存放程序状态字存放程序状态字 PC 用户可见用户可见 3. 举例举例Z8000 8086 MC 68000MARMMDRIR四、四、 控制单元控制单元 CU 和中断系统和中断系统1. CU 产生全部指令的微操作命令序列产生全部指令的微操作命令序列组合逻辑设计组合逻辑设计微程序设计微程序设计硬连线逻辑硬连线逻辑存储逻辑存储逻辑2. 中断系统中断系统参见参见 第篇第篇 五、五、ALU参见参见 8.4 节节参见参见 第章第章一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并执行一条指令所需的全部时

5、间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期2. 每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令周期NOPADD mem MUL mem取指周期取指周期执行周期执行周期指令周期指令周期3. 具有间接寻址的指令周期具有间接寻址的指令周期4. 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指

6、令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期5. 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否6. CPU 工作周期的标志工作周期的标志CPU 访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期1. 取指周期数据流取指周期数据流

7、二、二、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 2. 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDR3. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器一、如何提高机器速度一、如何提高机器速度1. 提高访存速度提高访存速度2. 提高提高 I/O 和主机之间的传送速度和

8、主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行I/O 处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性开发系统的并行性中断中断3. 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链二、系统的并行性二、系统的并行性时间上互相重叠时间上互相重叠2. 并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以

9、上事件在 同一时间段同一时间段 发生发生并行并行1. 并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时取指令取指令 3执行指令执行指令 3三、指令流水原理三、指令流水原理2. 指令的二级流水指令的二级流水1. 指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 1执行执行指令指令 1取取指令指令

10、 2执行执行指令指令 2取取指令指令 3执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 1 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址,指令的地址, 造成时间损失造成时间损失3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法 ?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法4. 指令的六级流水指令的六级流水六级流水六级流水14 个时间

11、单位个时间单位串行执行串行执行6 9 54个时间单位个时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指令1、指令

12、、指令3、指令、指令 6 冲突冲突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t四、影响指令流水线性能的因素四、影响指令流水线性能的因素1. 结构相关结构相关不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某

13、种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率解决办法解决办法 停顿停顿 指令存储器和数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况)2. 数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的 读读/写写 访问顺序访问顺序 采用采用 旁路技术旁路技术解决办法解决办法 写后读相关(写后读相关(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 读后写相关(读后写相关(

14、WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存储单元存储单元;(;(R4)+(R5) R2 写后写相关(写后写相关(WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R2) (R1) R3;(;(R4) (R5) R33. 控制相关控制相关BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM由转移指令引起由转移指令引起3. 控制相关控制相关WOEIFOCODIWOEIFODIFIF

15、IDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 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 是转移指令是转移指令五、流水线性能五、流水线性能 1. 吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m

16、 段的流水线各段时间为段的流水线各段时间为t tTpmax =1t tTp =m + (n-1) nt tt t2. 加速比加速比 Sp m 段的段的 流水线的速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T = m + (n-1) t t 完成完成 n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则则由于流水线有由于流水线有 建立时间建立时间 和和 排空

17、时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 流水线中各功能段的流水线中各功能段的 利用率利用率3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) tm(m + n -1) t = mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率 = 3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间

18、空间S4S3S2S1(n-1) t流水线中各功能段的流水线中各功能段的 利用率利用率六、流水线的多发技术六、流水线的多发技术 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟时钟周期周期指令序列指令序列2. 超流水线技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3

19、段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次( 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列3. 超长指令字技术超长指令字技术 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位) 由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性

20、并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列七、流水线结构七、流水线结构1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟周期出 1 结果结果不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍地址形成部件

21、地址形成部件指令译码部件指令译码部件取操作数部件取操作数部件取指令部件取指令部件操作执行部件操作执行部件回写结果部件回写结果部件修改指令指针部件修改指令指针部件锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存2. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶对阶、尾数求和尾数求和、规格化规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁存器锁存器对阶功能部件对阶功能部件第一段第一段尾数加部件尾数加部件锁存器锁存器第二段第二段规格化部件规格化部件锁存器锁存器第三段第三段一、概述一、概述1. 引起中断的各种因素引起中断的各种因素(1) 人为

22、设置的中断人为设置的中断(2) 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) 外部事件外部事件(4) I/O 设备设备(3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序2. 中断系统需解决的问题中断系统需解决的问题(1) 各中断源各中断源 如何如何 向向 CPU 提出请求提出请求 ?(2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) 如何如何 寻找入口地址寻找入口地址 ?(4) 如何如何 保护现场保护现场 ?(3) CPU 什么什么 条件条件、什么、什么 时

23、间时间、以什么以什么 方式方式 响应中断响应中断 ?(6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 中断请求标记中断请求标记 INTR一个请求源一个请求源 一个一个 INTR 中断请求标记触发器中断请求标记触发器多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR 集中集中 在在 CPU 的中断系统的中断系统 内内12345

24、n掉电掉电过热过热阶上溢阶上溢主存读写校验错主存读写校验错非法除法非法除法键盘输入键盘输入打印机输出打印机输出2. 中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU 内内(1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 & 1 & 1 &参见参见 第五章第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP4A、B、C 优先级按优先级按 降序降序 排列

25、排列(2) 软件实现(程序查询)软件实现(程序查询)否否是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断

26、向量排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 4002. 软件查询法软件查询法 M JMP 1# SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 转转2# 服务程序服务程序 SKP DZ 8# JMP 8# SR8# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1,2, 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳跳(D为完成触发器)为完成触发器)中断识别程序中断识别程序(入口地址(入口地址 M)地

27、地 址址说说 明明指指 令令四、中断响应四、中断响应1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 12. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器3. 中断隐指令中断隐指令(1) 保护程序断点保护程序断点(2) 寻找服务程序入口地址寻找服务程序入口地址(3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器

28、断点存于断点存于 特定地址特定地址( 0 号地址)号地址) 内内断点断点 进栈进栈INT 中断标记中断标记EINT 允许中断允许中断R S 触发器触发器向量地址向量地址PC (硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址MPC(软件查询法)(软件查询法)五、保护现场和恢复现场五、保护现场和恢复现场1. 保护现场保护现场2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完

29、成中断服务程序中断服务程序 完成完成IRET1. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+1六、中断屏蔽技术六、中断屏蔽技术2. 实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程序(2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)D &3.

30、屏蔽技术屏蔽技术(1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)屏蔽)INTPi = 0 (不能被排队选中)不能被排队选中)(2) 屏蔽字屏蔽字优先级优先级屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1

31、 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1123456151616个中断源个中断源 1,2,3 , 16 按按 降序降序 排列排列(3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCD 降序排列降序排列

32、 不可改变不可改变处理优先级处理优先级可改变(通过重新设置屏蔽字)可改变(通过重新设置屏蔽字)中断源中断源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD 1 1 1 10 1 1 10 0 1 10 0 0 1 1 1 1 10 1 0 00 1 1 00 1 1 1 处理优先级处理优先级 ADCB 降序排列降序排列(3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级服务程序服务程序B处理完处理完C处理完处理完D处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(原屏蔽字)执行程序轨迹(原屏蔽字)(3)

33、屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级(4) 屏蔽技术的其他作用屏蔽技术的其他作用便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求服务程序服务程序D处理完处理完C处理完处理完B处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(新屏蔽字)执行程序轨迹(新屏蔽字)(5) 新屏蔽字的设置新屏蔽字的设置 保护现场保护现场 置屏蔽字置屏蔽字 开中断开中断 中断服务中断服务 关中断关中断 恢复现场恢复现场 恢复屏蔽字恢复屏蔽字 开中断开中断 中断返回中断返回 置屏

34、蔽字置屏蔽字 恢复屏蔽字恢复屏蔽字 关中断关中断 开中断开中断(1) 断点进栈断点进栈(2) 断点存入断点存入“ 0 ” 地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存储器写命令存储器写0 MARPC MDR(MDR) 存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入 “ 0 ” 地址地址4. 多重中断的断点保护多重中断的断点保护断点断点 MDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成(3) 程序断点存入程序断点存入 “ 0 ” 地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 地址

35、内容转存地址内容转存其他服务内容其他服务内容SERVELDA SAVEJMP RETURN存程序断点存程序断点5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC 内容内容转存转存 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字地地 址址内内 容容说说 明明9.1 操作命令的分析操作命令的分析9.2 控制单元的功能控制单元的功能完成一条指令分完成一条指令分 4 个工作周期个工作周期取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期一、取指周期一、取指周期PC MAR 地址线地址线1 RM ( MAR ) M

36、DRMDR IR( PC ) + 1 PC+1 MDRCUMAR PC IR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线OP(IR) CU二、间址周期二、间址周期 M ( MAR ) MDR1 RAd ( IR ) MARMDR Ad ( IR )指令形式地址指令形式地址 MARMDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线IR存储器存储器三、执行周期三、执行周期1. 非访存指令非访存指令(1) CLA 清清A(2) COM 取反取反(4) CSL 循环左移循环左移(3) SHR 算术右移算术右移(5) STP 停机指令停机指令0 ACCACC A

37、CCL(ACC) R(ACC), ACC0 ACC0R(ACC) L(ACC), ACC0 ACCn0 G2. 访存指令访存指令Ad(IR) MAR1 RM(MAR) MDR(ACC) + (MDR) ACC Ad(IR) MAR1 WACC MDRMDR M(MAR)STA XADD X(2) 存数指令存数指令(1) 加法指令加法指令(3) 取数指令取数指令Ad ( IR ) MAR1 RM ( MAR ) MDRMDR ACC 3. 转移指令转移指令(1) 无条件转无条件转(2) 条件转移条件转移Ad ( IR ) PCA0 Ad ( IR ) + A0 ( PC ) PCLDA XJMP

38、 XBAN X(负则转)(负则转)4. 三类指令的指令周期三类指令的指令周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期间址周期间址周期执行周期执行周期非访存非访存 指令周期指令周期直接访存直接访存 指令周期指令周期间接访存间接访存 指令周期指令周期转移转移 指令周期指令周期取指周期取指周期间址周期间址周期执行周期执行周期间接转移间接转移 指令周期指令周期四、中断周期四、中断周期程序断点存入程序断点存入 “ 0 ” 地址地址程序断点程序断点 进栈进栈0 MAR1 WPC MDRMDR M ( MAR )向量地址向量地址 PC0

39、 EINT(置置“0”)0 EINT(置置“0”)向量地址向量地址 PCMDR M ( MAR )PC MDR1 W中断识别程序入口地址中断识别程序入口地址 M PC( SP ) 1 MAR一、控制单元的外特性一、控制单元的外特性指令寄存器指令寄存器控制单元控制单元 CU时钟时钟标志标志CPU 内部的控制信号内部的控制信号到系统总线的控制信号到系统总线的控制信号来自系统总线的控制信号来自系统总线的控制信号系统总线系统总线1. 输入信号输入信号(1) 时钟时钟(2) 指令寄存器指令寄存器(4) 外来信号外来信号(3) 标志标志CU 受时钟控制受时钟控制控制信号控制信号 与操作码有关与操作码有关O

40、P ( IR ) CUCU 受标志控制受标志控制INTR 中断请求中断请求HRQ 总线请求总线请求一个时钟脉冲一个时钟脉冲 发一个操作命令或一组需同时执行的操作命令发一个操作命令或一组需同时执行的操作命令如如2. 输出信号输出信号(1) CPU 内的各种控制信号内的各种控制信号(2) 送至控制总线的信号送至控制总线的信号Ri Rj(PC) + 1 PCINTAHLDA访存控制信号访存控制信号访访 IO/ 存储器的控制信号存储器的控制信号读命令读命令写命令写命令中断响应信号中断响应信号总线响应信号总线响应信号MREQIO/MRDWRALU 、与、或、与、或二、控制信号举例二、控制信号举例PCIR

41、ACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号C0C1C2C3C4取指周期取指周期以以 ADD X 为例为例PCIRCU1. 不采用不采用 CPU 内部总线的方式内部总线的方式PCPCPC M D R M A R M D R M A RPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号 M D R M A R二、控制信号举例二、控制信号举例1. 不采用不采用 CPU 内部总线的方式内部总线的方式C1C2C3C5ADD X 间址周期间址周期IR M D R M D R M A RPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号 M D R

42、 M A R二、控制信号举例二、控制信号举例1. 不采用不采用 CPU 内部总线的方式内部总线的方式C1C2C5ADD X 执行周期执行周期C7C6C8ACALU控制控制信号信号 M D R M A R M D RMDRMDRCU(1) ADD X 取指周期取指周期 PC CU 发读命令发读命令 1 R MDR OP(IR) (PC)+ 1 PCIRPCMARAC YALUZ控制信号控制信号IRiIRiPCOPCOMARiMARiMDROMDRO 数据线数据线数据线数据线控制信号控制信号CPU 内内 部部 总总 线线时钟时钟2. 采用采用 CPU 内部总线方式内部总线方式地址线地址线地址线地址

43、线MARMDRIRCUIRPCPCMDRMARCUIRPCPCCU(2) ADD X 间址周期间址周期 MDR 1 R MDR有效地址有效地址 Ad(IR)MDROMDRO 数据线数据线数据线数据线时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号控制信号控制信号CPU 内内 部部 总总 线线MDRIRMARi MARi地址线地址线地址线地址线MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址形式地址 MAR CU时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号CPU 内内 部部 总总 线线MDROMDRO(3) ADD X

44、 执行周期执行周期 1 R MDR Z AC(AC)+(Y) MDR控制信号控制信号MARMDR地址线地址线 地址线地址线 数据线数据线数据线数据线MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi YALUACACOACO ALUiALUiALUALUACZZZZOZO ACiACiACACACACMARi MARiALUACCU三、多级时序系统三、多级时序系统1. 机器周期机器周期(1) 机器周期的概念机器周期的概念(2) 确定机器周期需考虑的因素确定机器周期需考虑的因素(3) 基准时间的确定基准时间的确定所有指令执行过程中的一个基准时间所有指令执行

45、过程中的一个基准时间每条指令的执行每条指令的执行 步骤步骤每一步骤每一步骤 所需的所需的 时间时间 以完成以完成 最复杂最复杂 指令功能的时间指令功能的时间 为准为准 以以 访问一次存储器访问一次存储器 的时间的时间 为基准为基准若指令字长若指令字长 = 存储字长存储字长取指周期取指周期 = 机器周期机器周期2. 时钟周期时钟周期(节拍、状态)(节拍、状态) 一个机器周期内可完成若干个微操作一个机器周期内可完成若干个微操作每个微操作需一定的时间每个微操作需一定的时间时钟周期是控制计算机操作的最小单位时间时钟周期是控制计算机操作的最小单位时间将一个机器周期分成若干个时间相等的将一个机器周期分成若

46、干个时间相等的时间段(时间段(节拍、状态、时钟周期节拍、状态、时钟周期)用时钟周期控制产生一个或几个微操作命令用时钟周期控制产生一个或几个微操作命令CLKT0T1T2T3时钟周期时钟周期2. 时钟周期时钟周期(节拍、状态)(节拍、状态) 机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T33. 多级时序系统多级时序系统机器周期、节拍(状态)组成多级时序系统机器周期、节拍(状态)组成多级时序系统一个指令周期包含若干个机器周期一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期一个机器周期包含若干个时钟周期CLK机器周期机器周期 机器周期机器周期 机器周期机器周期 (取指令)(

47、取指令) (取有效地址)(取有效地址) (执行指令)(执行指令) 指令周期指令周期T0T1T2T3T0T1T2T3T0T1T2T3机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2 节拍节拍(状态状态) 节拍节拍(状态状态)4. 机器速度与机器主频的关系机器速度与机器主频的关系机器的机器的 主频主频 f 越快越快 机器的机器的 速度也越快速度也越快在机器周期所含时钟周期数在机器周期所含时钟周期数 相同相同 的前提下,的前提下,两机两机 平均指令执行速度之比平均指令执行速度之比 等于等于 两机主频之比两机主频之比机器速度机器速

48、度 不仅与不仅与 主频有关主频有关 ,还与机器周期中所含,还与机器周期中所含时钟周期时钟周期(主频的倒数)(主频的倒数)数数 以及指令周期中所含以及指令周期中所含的的 机器周期数有关机器周期数有关MIPS1MIPS2=f1f2四、控制方式四、控制方式产生不同微操作命令序列所用的时序控制方式产生不同微操作命令序列所用的时序控制方式1. 同步控制方式同步控制方式任一微操作均由任一微操作均由 统一基准时标统一基准时标 的时序信号控制的时序信号控制CLK机器周期机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(取有效地址)(取有效地址)(执行指令)(执行指令)指令周期指令周期T0T1T2T

49、3T0T1T2T3T0T1T2T3(1) 采用采用 定长定长 的机器周期的机器周期以以 最长最长 的的 微操作序列微操作序列 和和 最繁最繁 的微操作作为的微操作作为 标准标准机器周期内机器周期内 节拍数相同节拍数相同(2) 采用不定长的机器周期采用不定长的机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2 节拍节拍(状态状态)机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)T0T1T2T3T0T1T2T3TT延长延长机器周期内机器周期内 节拍数不等节拍数不等(3) 采用中央控制和局部控制

50、相结合的方法采用中央控制和局部控制相结合的方法T0T1T2T3T0T1T2中央控制节拍中央控制节拍 T3T0T1中央控制节拍中央控制节拍机器周期机器周期执行周期执行周期指令周期指令周期取指周期取指周期T0T1T2T3局部控制的节拍宽度与局部控制的节拍宽度与中央控制的节拍宽度一致中央控制的节拍宽度一致T*T*T*局部控制节拍局部控制节拍2. 异步控制方式异步控制方式无基准时标信号无基准时标信号无固定的周期节拍和严格的时钟同步无固定的周期节拍和严格的时钟同步采用采用 应答方式应答方式3. 联合控制方式联合控制方式4. 人工控制方式人工控制方式(1) Reset(2) 连续连续 和和 单条单条 指令

51、执行转换开关指令执行转换开关(3) 符合停机开关符合停机开关同步与异步相结合同步与异步相结合五、多级时序系统实例分析五、多级时序系统实例分析1. 8085 的组成的组成A15A8中断控制中断控制AC(8)TR(8)FR(5)IR(8)IDAL(16)PC(16)SP(16)L(8)H(8)E(8) D(8)C(8) B(8) 指令译码指令译码 和和 机器周期机器周期 编码编码ALU定时和控制定时和控制 时钟时钟控制控制状态状态 DMA复位复位ABR(8)ADBR(8)8位内部数据总线位内部数据总线I/O控制控制INTAINTRSIDSODCLKReadyRD WR ALEIO/MHLDARes

52、et outAD7AD02. 8085 的外部引脚的外部引脚(1) 地址和数据信号地址和数据信号(2) 定时和控制信号定时和控制信号(3) 存储器和存储器和 I/O 初始化初始化A15A8 AD7AD0SID SOD入入 X1 X2入入 HOLD Ready出出 HLDA出出 CLK ALE S0 S1 IO/M RD WR12345678910111213141516171819204039383736353433323130292827262524232221X1X2Reset outSODSIDTrapRST7.5RST6.5RST5.5INTAAD0AD1AD2AD3AD4AD5AD6

53、AD7VSSINTRVCCHOLDHLDACLK(out)Rsest inReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A8(4) 与中断有关的信号与中断有关的信号(5) CPU 初始化初始化(6) 电源和地电源和地出出 INTATrap 重新启动中断重新启动中断入入 INTR入入 Reset in出出 Reset outVCC +5 VVSS 地地12345678910111213141516171819204039383736353433323130292827262524232221X1X2Reset outSODSIDTrapRST7.5RST6.5R

54、ST5.5INTAAD0AD1AD2AD3AD4AD5AD6AD7VSSINTRVCCHOLDHLDACLK(out)Rsest inReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A83. 机器周期和节拍(状态)与控制信号的关系机器周期和节拍(状态)与控制信号的关系T1T2T3T4T1T2T3T1T2T3M1M2M3PC outPC+1 Ins IRXPC outPC+1By ZZ outAPort IO PORTACCbytePCLInstrPCLPCHPCHIO PORT3MHZCLKA15A8AD7AD0ALERDWRIO/M小结小结每个每个 控制控制

55、信号信号在在 指定机器周期指定机器周期 的的指定节拍指定节拍 T 时刻时刻 发出发出机器周期机器周期 M1 取指令操作码取指令操作码机器周期机器周期 M2 取设备地址取设备地址机器周期机器周期 M3 执行执行 ACC 的内容写入设备的内容写入设备以一条输出指令(以一条输出指令(I/O 写写)为例)为例10.1 组合逻辑设计组合逻辑设计10.2 微程序设计微程序设计一、组合逻辑控制单元框图一、组合逻辑控制单元框图1. . CU 外特性外特性IR节拍发生器节拍发生器CUT0T1TnCLK(机器主频)(机器主频)标志标志0 12n-1C0C1Cn操作码译码操作码译码n 位操作码位操作码2. .节拍信

56、号节拍信号CLKT0T1T2T3时钟周期时钟周期机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T3二、微操作的节拍安排二、微操作的节拍安排采用采用 同步控制方式同步控制方式CPU 内部结构采用非总线方式内部结构采用非总线方式一个一个 机器周期机器周期 内有内有 3 个节拍(时钟周期)个节拍(时钟周期)PCIRACCU时钟时钟ALUC1C2C5C9C0C10C3C7C4C6C12C11C8控制信号控制信号标志标志控制控制信号信号 M D R M A R1. 安排微操作时序的原则安排微操作时序的原则原则一原则一 微操作的微操作的 先后顺序不得先后顺序不得 随意随意 更改更改原则二原则

57、二 被控对象不同被控对象不同 的微操作的微操作 尽量安排在尽量安排在 一个节拍一个节拍 内完成内完成原则三原则三 占用占用 时间较短时间较短 的微操作的微操作 尽量尽量 安排在安排在 一个节拍一个节拍 内完成内完成 并并允许有先后顺序允许有先后顺序2. 取指周期取指周期 微操作的微操作的 节拍安排节拍安排PC MARM ( MAR ) MDRMDR IR( PC ) + 1 PC原则二原则二原则二原则二原则三原则三3. 间址周期间址周期 微操作的微操作的 节拍安排节拍安排M ( MAR ) MDRMDR Ad ( IR )T0T1T2T0T1T21 ROP ( IR ) IDAd ( IR )

58、 MAR1 R4. 执行周期执行周期 微操作的微操作的 节拍安排节拍安排 CLA COM SHRT0T1T2T0T1T2T0T1T2AC0 AC0L ( AC ) R ( AC )0 ACAC AC CSL STP ADD X STA XR ( AC ) L ( AC )AC0 ACnT0T1T20 GT0T1T2T0T1T2T0T1T2Ad ( IR ) MARM ( MAR ) MDR ( AC ) + ( MDR ) ACAd ( IR ) MARAC MDRMDR M ( MAR )1 R1 W LDA X JMP X BAN XT0T1T2Ad ( IR ) MARM ( MAR )

59、 MDRMDR ACT0T1T2T0T1T2Ad ( IR ) PC1 RA0 Ad ( IR ) + A0 PC PC5. 中断周期中断周期 微操作的微操作的 节拍安排节拍安排T0T1T20 MARPC MDRMDR M ( MAR )硬件关中断硬件关中断向量地址向量地址 PC中断隐指令完成中断隐指令完成1 W三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 FE取指取指 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记PC MAR1 RM(MAR) MDR ( PC ) +1 PCMDR

60、IROP( IR ) ID1 IND1 EXII间址特征间址特征三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 IND 间址间址JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR MDR Ad (IR)1 EXIND间址周期标志间址周期标志T2T1T0 EX执行执行 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR AC MDR(AC)+(MDR) ACMDR M(MAR) MDR AC0 AC三、组合逻辑设计步骤三、组

温馨提示

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

评论

0/150

提交评论