1 / 124

第五章 中央处理器

第五章 中央处理器 . ◆内容纲要 ※ CPU 的结构与工作原理 CPU 功能 - →基本结构 - →工作流程 - ┬→指令执行过程 ( 实现需求 ) 性能 - →数据通路 ------------ ┘ ※ 控制器的组成与工作原理 CU 目标 - →工作原理 - →时序系统组成 - →控制信号形成电路组成 ※ 硬布线控制器 ( 设计 ) ※ 微程序控制器 ( 设计 ) 控制思想 - →结构 - →工作原理,微指令集设计 - →相关电路设计 ※ 指令流水技术

sirvat
Download Presentation

第五章 中央处理器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 中央处理器

  2. ◆内容纲要 ※ CPU的结构与工作原理 CPU功能-→基本结构-→工作流程-┬→指令执行过程(实现需求) 性能-→数据通路------------┘ ※ 控制器的组成与工作原理 CU目标-→工作原理-→时序系统组成-→控制信号形成电路组成 ※ 硬布线控制器(设计) ※ 微程序控制器(设计) 控制思想-→结构-→工作原理,微指令集设计-→相关电路设计 ※ 指令流水技术 流水线的工作原理-→组成-→冲突处理 ◆学习要领 按序学习(CPU→控制器)、保持清醒(需求→组成→原理)

  3. 控制信号的状态 运算器 … … CPU 控制器 取指令 执行指令 中断请求 指令地址 +1 主存MM I/O设备 时间 9 §5.1 CPU的结构与工作原理 一、CPU的功能与结构 1、CPU的功能 、时长及次序 *指令控制:实现程序执行过程(即循环的指令执行过程) *数据加工:实现指令约定的算术及逻辑运算功能 *操作控制:产生实现指令控制及数据加工功能的控制信号 *时间控制:产生操作控制中控制信号所需的时序 *中断处理:实现I/O操作的中断方式

  4. —时序系统、控制信号形成电路 MAR REG0 CPU内部数据通路 总线逻辑 BIU … … MDR REG(n-1) PC 时序系统 ALU CU ID 中断机构 控制信号形成电路 状态REG IR …… 2、CPU的基本结构 *CPU功能与组成部件: 指令控制— 操作控制 时间控制 数据加工— 中断处理— PC、IR、ID ALU及状态REG、REG组 中断机构 *CPU基本结构:运算器,CU、BIU、中断机构,数据通路

  5. 3、CPU的寄存器组织 有用户可见和控制/状态两大类寄存器 *用户可见寄存器: ─存放地址及数据 数据REG—存放操作数(OPD),长度=CPU字长 累加REG(AC)—同时用作指令源和目标OPD的REG 地址REG—存放OPD地址或指令地址, 长度=程序逻辑地址位数(段号或段内地址) 通用REG—可用作数据REG和地址REG └───┴─→长度相同 条件码REG—存放指令执行结果的状态(如CF/OF/ZF/SF), 状态可作为转移指令的测试条件

  6. PC 当前指令地址 IR 当前指令内容 时间 取指令 分析指令 取指令阶段执行指令阶段 4 *控制/状态寄存器: ─控制CPU的操作或运算 PC—存放指令地址,作循环变量用 IR—存放当前指令内容 下条指令地址(循环的要求) 无用(上条内容) MAR—存放CPU访问的MEM(或I/O设备)的地址 MDR—存放CPU欲写出或已读入的数据(或指令) PSW(程序状态字)—存放程序执行状态 CPU的外部访问与内部操作可并行 状态REG—包含条件码和程序状态字的REG 其他REG—如段REG、系统模式REG等

  7. 加法指令: (直接寻址) 取指周期 执行周期 指令周期 取指阶段 执行阶段 (取指、分析) (执行指令) 取指周期 执行周期 乘法指令: (直接寻址) 指令周期 取指周期 执行周期 加法指令: (间接寻址) 取指周期 间址周期 执行周期 指令周期 指令周期 二、CPU的工作流程 *指令周期:CPU取出并执行一条指令的时间 *指令周期的特征:指令周期受指令类型及寻址方式影响

  8. *CPU的工作流程:循环的过程 停机 启动 取指周期 指令周期 执行停机指令时 可能包含其他CPU周期,如间址周期 执行周期 Y 有DMA请求? DMA周期 DMA周期 N Y 有中断请求? 中断周期 中断周期 N CPU周期—又称机器周期,CPU工作流程中的基本功能段 CPU工作周期—一轮循环中的各个CPU周期之和(可变长)

  9. 三、指令执行过程 1、指令的执行过程 *程序执行过程: (满足冯·诺依曼模型需求) 理论过程—指令执行过程+循环 实际过程—循环的指令执行过程 循环处理 指令周期 理论: 取指令 分析指令 执行指令 (PC)= +1或重置 转移发生时 指令周期 *指令执行过程: 目标—满足冯·诺依曼模型、指令系统功能的需求 过程—取指令(含PC+1)、分析指令,实现当前指令功能 实际: 取指令 分析指令 执行指令 (PC)+1 重置(PC)

  10. *模型机指令系统:CPU字长为8位、有4个通用REG,*模型机指令系统:CPU字长为8位、有4个通用REG, 主存按字节编址、8位地址空间(28个单元) 指令功能 赋值(MOV): RD←IMME RD←(RS) 取数(LD) : RD←[(RS)] 存数(ST) : [(RD)]←(RS) 加法(ADD): RD←(RD)+(RS) RD←(RD)+[(RS)] 加1(INC) : RD←(RD)+1 减1(DEC) : RD←(RD)-1 跳转(JMP): PC←ADDR 条转(JNZ): ZF=0时PC←(PC)+DISP ZF=1时PC←(PC)+1 寻址方式 REG+立即 REG+REG REG+REG间接 REG间接+REG REG+REG REG+REG间接 REG+隐含 REG+隐含 (指令)直接 (指令)相对 隐含 指令格式 0 0 0 0 RD 空 IMME 0 0 0 1 RD RS 0 0 10 RD RS 0 0 11 RD RS 0 1 0 0 RD RS 0 1 0 1 RD RS 0 1 10 RD 空 0 1 11 RD 空 1 0 00 空 ADDR 1 0 01 DISP 4位 2位 2位

  11. 主存 10H 11H 12H 13H 14H 15H 16H 17H 00100100 0011001101000011 10010001 01000010 10000000 00010000 01110011 ②+“1” ① ④ (1)取数指令(LD)执行过程 ─实现需求 *取指令阶段:取指令+分析指令 *执行指令阶段:实现当前指令功能 ,设(PC)=10H 取指令操作步骤— 分析指令的结果— ① ② ③ ④ PC┬→MAR-→MEM读-→MDR-→IR └───→+“1”→PC ⑥ ⑦ ⑧ ⑨ ② 按指令系统约定 LD指令,R1←[(R0)] ⑥ ⑦ ② PC MAR BIU 位扩展 R0 11H 17H 17H 10H 10H 10H 17H ⑦R ②R ⑨ R1 ③ ⑧ MDR IR R2 73H 24H ALU 24H 73H R3 ⑤ ID 信号形成 ,设(R0)=17H 操作步骤— R0-→MAR-→MEM读-→MDR-→R1 REG间接寻址

  12. 主存 10H 11H 12H 13H 14H 15H 16H 17H 00100100 0011001101000011 10010001 01000010 10000000 00010000 ②+“1” ① ④ 10 (2)存数指令(ST)执行过程 ─实现需求 *取指令阶段:取指令+分析指令 *执行指令阶段:实现当前指令功能 ,(PC)=11H 取指令操作步骤— 分析指令的结果— 上条指令结果 与取数指令相同(①~④,仅PC值不同) ⑥ ST指令,[(R0)]←(R3) ⑧ ⑦ ⑨ 11H 11H 12H 17H 17H 11H 17H 17H ⑥ ⑧ ② 73H PC MAR BIU 位扩展 R0 ⑦ ⑧W ②R 33H 33H 24H 73H 03H R1 03H 03H ⑨ ③ MDR IR R2 ALU R3 01110011 00000011 ⑤ ID 信号形成 ,设(R3)=03H 操作步骤— REG间接寻址 R0-→MAR R3-→MDR →MEM写

  13. 主存 10H 11H 12H 13H 14H 15H 16H 17H 00100100 0011001101000011 10010001 01000010 10000000 00010000 00000011 ②+“1” ① ④ 10 11 (3)加法指令(ADD)执行过程 ─实现需求 *取指令阶段:取指令+分析指令,(PC)=12H 取指令操作步骤— 分析指令的结果— *执行指令阶段:实现当前指令功能 操作步骤— ⑦ 上条指令结果 与取数指令相同(①~④,仅PC值不同) ⑥ ADD指令,R0←(R0)+(R3) ⑧ ⑨ ⑦ ⑥ 12H 17H 17H 12H 13H 17H 12H ② 73H PC MAR BIU 位扩展 R0 ⑨ 1AH ②R 43H 33H 03H 43H R1 03H 03H ③ MDR IR R2 ALU R3 ⑧加法 ⑤ ID 信号形成 R0-→ALU R3-→ALU -→ALU加法运算-→R0 思考—若[12H]=01010011B,ADD执行阶段的操作步骤?

  14. 主存 10H 11H 12H 13H 14H 15H 16H 17H 00100100 0011001101000011 10010001 01000010 10000000 00010000 00000011 ②+“1” ① ④ 10 (4)条件转移指令(JNZ)执行过程 ─实现需求 *取指令阶段:取指令+分析指令,(PC)=13H、(ZF)=0 取指令操作步骤— 分析指令的结果— ⑦ 与取数指令相同(①~④) 上条指令结果 ⑥ ,转移发生 JNZ指令,DISP=0001B ⑧ ⑨ ⑦ ⑥ 1AH ② 13H 12H 14H 13H 14H 01H 73H ②R PC MAR BIU 位扩展 R0 0001B 15H 43H 43H 91H 91H R1 03H MDR IR R2 ALU R3 ⑧加法 ⑤ ID 信号形成 *执行指令阶段:实现当前指令功能 操作步骤— PC──-→ALU 位扩展-→ALU -→ALU加法运算-→PC ③ 思考—若上条指令结果(ZF)=1,JNZ执行阶段的操作步骤? 相对寻址

  15. 主存 10H 11H 12H 13H 14H 15H 16H 17H 00100100 0011001101000011 10010001 01000010 10000000 00010000 00000011 ②+“1” ⑥ ① ④ 10 (5)无条件转移指令(JMP)执行过程 ─实现需求 *取指令阶段:取指令+分析指令,(PC)=15H 取指令操作步骤— 分析指令的结果— 与取数指令相同(①~④) ⑥ ⑦ ⑧ ⑨ JMP指令, 转移地址在第2字中 1AH ② 13H 16H 16H 15H 16H 15H 73H ⑦ ②R PC MAR BIU 位扩展 R0 ⑦R 91H 91H 80H R1 10H 80H 10H 03H ⑧ MDR IR ┬ └───→+“1”→PC R2 ALU R3 ⑦ ⑤ ID 信号形成 *执行指令阶段:实现当前指令功能,此时(PC)=16 操作步骤— PC─→MAR-→MEM读-→MDR-→PC 不影响指令结果 ③ 思考—如何实现取指令的操作规整性?

  16. ※指令执行过程的特征:─实现需求 指令执行过程—由有序的操作串组成 取指令的操作串 (PC)+1 分析指令 (无操作) 指令功能的操作串 t 取指令阶段—操作及步骤基本上是通用的 对单字长指令—取全部内容 对多字长指令—取首字内容(须包含OP码、OPD寻址方式) 执行指令阶段—操作及步骤受指令格式的影响 影响因素—OP类型/OPD类型及长度、OPD寻址方式、指令字长 PC┬→MAR→MEM读→MDR→IR └───→+“1”→PC →ID

  17. 11 2、指令执行过程与CPU的基本操作 *指令执行过程的实现思路: 需求分解—有序的操作串-→CPU基本操作序列-→原子操作序列 需求实现—CU实现原子操作及序列 *CPU基本操作: 定义—CPU内部的实现基本功能的操作 降低复杂度、降低成本 功能要求—In及Out部件须为时序部件或MEM *CPU基本操作的类型: R源→R目标 REG间传送— 存储器读— 存储器写— 算逻运算— MAR→MEM(读)→MDR MAR及MDR→MEM(写) R源1及R源2→ALU(运算)→R结果

  18. 11 *基于CPU基本操作的CPU工作流程: 指令执行过程—由相应的基本操作序列组成 CPU工作周期—由相应的基本操作序列组成 步骤① PC→MAR 步骤②存储器读 (PC)+1→PC 步骤③ MDR→IR 例1—指令R1←[(R0)]执行过程的基本操作序列: PC┬→MAR→MEM读→MDR→IR └───→+“1”→PC →ID R0→MAR→MEM读→MDR→R1 指令周期 解: 步骤④ R0→MAR 步骤⑤存储器读 步骤⑥MDR→R1 步骤④ 步骤④功能为对(IR)译码,因无操作(自动), 故可并入步骤③(需保证ID延迟)

  19. 地址 WR RD 等待时间 MFC 数据 4 3、CPU的基本操作与微操作 ※术语:微操作(uOP)—CPU内部的原子操作 微操作序列—有序的微操作串 (1)REG间数据传送操作 *操作步骤:利用数据通路,直接实现数据传送 *uOP序列 :R源→R目标 (2)存储器读操作 *操作步骤: 发地址信号、发读信号, 等待操作完成、接收数据 *uOP序列 :① 1→Read;MAR→ABus、Read→CBus ② M(MAR)→MDR;等待MEM操作完成、DBus→MDR 对MEM的(MAR)单元操作

  20. 地址 WR RD 等待时间 MFC 数据 (3)存储器写操作 *操作步骤: 发地址信号、发写信号,发送数据、等待操作完成 *uOP序列:① 1→Write;MAR→Bus、Write→CBus ② MDR→M(MAR) ;MDR→DBus、等待MEM操作完成 ※快速MEM(如Cache)访问的uOP序列: 只需一个uOP即可(无需等待)

  21. REG组 ALU (4)算术逻辑运算操作 *操作需求: (ALU为组合逻辑部件) ①运算过程中,入端数据保持稳定, ②运算结束时,出端数据存到时序部件 *操作步骤: 从REG送数据到ALU(2次)、保持数据, 向ALU发运算命令、结果数据送REG *uOP序列: ① R源1→ALU;R源可为REG或MDR, ② R源2→ALU;①与②数据路径不冲突, ③ OP→ALU ;OP与ALU功能对应, ④ ALU→R结果 ;R结果可与R源为同一REG ALU外围电路决定 数据保持到④开始时 数据保持到④开始时 命令保持到④开始时

  22. 19 18 例2—指令R1←[(R0)]执行过程的uOP序列: 解:①PC→MAR ②1→Read, (PC)+1→PC ③M(MAR)→MDR ④ MDR→IR ⑤ R0→MAR ⑥1→Read ⑦M(MAR)→MDR ⑧ MDR→R1 例3—指令R2←(R0)+(R1)执行过程的uOP序列: 解:①PC→MAR ②1→Read, (PC)+1→PC ③M(MAR)→MDR ④MDR→IR ⑤R0→ALU ⑥ R1→ALU ⑦ADD→ALU ⑧ ALU→R2 步骤由ALU外围电路决定 (数据保持)

  23. 4 四、数据通路的组织 ※术语:微操作步—可并行执行的uOP的组合 微操作步序列—有序的微操作步串 *指令执行过程的性能分析: 实现需求—uOP序列→uOP步序列 实现性能—T指令执行=指令执行过程uOP步序列的执行时间 步数 *数据通路: 定义①—CPU内部部件间传递数据的物理通道(或路径) 定义②—CPU内部数据经过的路径,包括路径上的部件 种类—总线通路、专用通路2种 *数据通路对指令执行过程的影响: ⑴运算器的组织—决定了所需的辅助元件 ⑵uOP步序列的形成—决定了所需的uOP步的数量

  24. REG0 MAR MAR BIU BIU … MDR MDR REG7 PC 中断机构 PC 中断机构 Y Y ID ID IR IR ALU ALU 控制信号形成电路 控制信号形成电路 时序系统 时序系统 AC Z … … 基于寄存器的CPU结构 基于累加器的CPU结构 4 1、总线数据通路 有单总线通路、双总线通路等多种类型 (1)单总线数据通路 *连接方式:各部件的数据I及O引脚连接到同一条总线上 *uOP步的特性:同时只能实现1个数据传送操作 (多个数据传送操作须放在不同uOP步中)

  25. 21 *运算器组织的需求:入端-出端、入端-入端的路径不冲突 *基于REG的运算器组织: (实现X+Y→Z) 结构—增设Z(消除入端-出端冲突) 增设Y(2步完成数据→ALU,Y保持1个数据) Y ALU Z 算逻运算uOP步序列— ① R源1→Y;Y输出不受限 ② R源2→ALU,OP→ALU,ALU→Z;R源可为REG、MDR等 *基于AC的运算器组织: (实现X+Y→X) 结构—增设AC(消除入端-出端冲突) 增设AC→ALU通路(电平控制时增设Y) ALU AC 算逻运算uOP步序列— AC→ALU,R源→ALU,OP→ALU,ALU→AC ;AC输出不受限 ;R源可为PC、MDR

  26. PC PC IR IR ID ID MAR MAR 时序系统 时序系统 控制信号形成电路 控制信号形成电路 总线逻辑 总线逻辑 … … 中断机构 中断机构 MDR MDR REG0 REG0 Y Y … … … REG3 REG3 ALU ALU 双总线通路的CPU结构 三总线通路的CPU结构 24 (2)多总线数据通路 *双总线通路:各部件的数据I与O引脚连接到不同总线上, 可同时实现2个传送(REG→ALU/Y及ALU/MDR→REG) *三总线通路:各部件的数据O引脚连接到不同总线上, 可同时实现3个传送(REG→ALU、REG→Y)

  27. 满足CPU功能(指令控制/数据加工)的实现需求 2、专用数据通路 *连接方式:CPU内部相关部件间均有独立的数据通路 DMDR IMAR PC MUX D3 A3 A1 A2 MUX 寄存器组 DMEM RD RS1 RS2 立即数 IMEM ID D1 D2 ALU DMAR MUX IMDR IR MUX 位扩展部件 多路选择器 专用通路的CPU结构 *uOP步的特性:同时可实现所有数据传送操作 (已不存在数据通路冲突) ※现代CPU的选择:常采用专用数据通路←基于性能 ※课程CPU模型的选择:基于单总线数据通路 ←简单易懂

  28. 24 8 22 19 3、单总线通路CPU的指令执行过程 ─实现需求 假设:采用基于REG的CPU结构、PC具有计数功能 *例1—取指令阶段的uOP步序列: (对所有指令通用) t1:PC→MAR, 1→Read;用(PC)读MEM t2:(PC)+1→PC,M(MAR)→MDR ;(PC)+“1” t3:MDR→IR ;指令→IR 仅取指令第1个字(单字长指令可取全) 注:①PC→MAR与1→Read可并行(在CLK上升沿写MAR时) CLK CLK PC→MAR PC→MAR 总线逻辑处理 MAR→AB 总线逻辑处理 MAR→AB Read→CB Read→CB M(MAR)→MDR M(MAR)→MDR MAR由同步RS触发器构成时 MAR由边沿触发器构成时 ②PC→MAR与(PC)+1→PC须串行(部件R/W冲突[不应改变MAR]) t1:PC→MAR t2:1→Read,M(MAR)→MDR

  29. *例2—单字长的取数指令R1←[(R0)]的uOP步序列: 分析—取指阶段指令已取全(∵单字长指令), 执行阶段读MEM、写REG(寻址方式为REG+REG间接) t1~t3:取指uOP步序列(略) t4:R0→MAR,1→Read ;用(R0)为地址读MEM t5:M(MAR)→MDR ;等待MEM操作完成 t6:MDR→R1,1→End ;数据→R1 注:End为“指令周期结束”信号,可触发进入DMA/INT/INS周期 *例3—单字长的存数指令[(R1)]←(R0)的uOP步序列: t1~t3:取指uOP步序列(略) t4:R1→MAR,1→Write ;将(R0)写入MEM t5:R0→MDR,MDR→M(MAR),1→End ;写到(R1)单元 注:R1→MAR与R0→MDR须串行(数据通路冲突)

  30. 24 *例4—单字长的加法指令R2←(R0)+(R1)的uOP步序列: t1~t3:取指uOP步序列(略) t4:R0→Y ;R0→Y,Y→ALU不受限 t5:R1→ALU,ADD→ALU,ALU→Z ;Y+(R1)→Z t6:Z→R2,1→End ;(Z)→R2 注:R1→ALU与ALU→Z可并行(使用不同通路+延迟) 练习1—分析单字长指令R3←(R1)-[(R2)]的指令周期组成;写出完整的uOP步序列 取指 执行

  31. 24 10 28 *例5—单字长、相对寻址的条件转移指令JNZ DISP的uOP步序列: t1~t3:取指uOP步序列(略) (ZF)=0时 (即结果不为零→跳转) (ZF)=1时 (即结果为零→不转移) t4:SE(DISP)→Y ;DISP位扩展后→Y t5:PC→ALU,ADD→ALU,ALU→Z ;(PC)+DISP t6:Z→PC,1→End ;转移目标地址→PC t4:1→End ;取指已完成PC←(PC)+1 注:① (ZF)在上条指令执行时产生、当前指令分析时获得 ② SE为“位扩展”部件,将DISP扩展成机器字长 练习2—分析单字长指令R2←(R1)+[(R0)+DISP]的指令周期组成,其中[(R0)+DISP]表示变址寻址方式;写出完整的uOP步序列

  32. 28 24 10 *例6—双字长、直接寻址的无条件转移指令JMP A的uOP步序列: t1~t3:取指uOP步序列(略) t4:PC→MAR, 1→Read ;用(PC)为地址读MEM,获得A t5:(PC)+1→PC,M(MAR)→MDR ;(PC)+“1” t6:MDR→PC,1→End ;转移目标地址A→PC 转移目标地址A在指令第2字中 注:①多字长指令取指—需多次访存,非第1字信息在执行阶段取 ②每次访存—自动完成(PC)+1→PC 练习3—分析双字长指令R1←(R0)+[A]的指令周期组成,其中[A]表示直接寻址方式;写出完整的uOP步序列 思考—REG间接、基址(变址)、直接、相对寻址的uOP序列? ※影响指令执行过程uOP步序列的因素: CPU结构、指令类型及寻址方式、上条指令状态

  33. ① CPU功能(5类) 实现② 基于CPU基本操作 基于uOP 基于数据通路 需求细化 需求细化 需求细化 各指令执行的基本操作序列 各指令执行的uOP序列 各指令执行的uOP步序列 实现① 实现③④ 冯·诺依曼模型 指令系统 ※CPU结构及工作原理小结: *结构: 实现需求 ③④ ⑤ CPU工作流程(循环过程) CPU结构 CPU数据通路 当前程序 运算器(ALU) CU ID 控制信号形成电路 ∈指令系统 当前指令 IR 时序系统 PC *工作原理(工作流程):循环地取出并执行指令、处理中断 作业一:P220—4、5、7、8

  34. PC→MAR (PC)+1 R1→Y R2→ALU 1→End PC→MAR 产生uOP控制信号 实现时序 检测中断请求 uOP 步 ADD→ALU 1→Read M(MAR)→MDR MDR→IR 1→Read ALU→Z Z→R1 时间 t1 t2 t3 t4 t5 t6 t1 CPU当前工作周期的uOP步序列 8 §5.2 控制器的组成与工作原理 *CPU工作流程的实现需求: 循环地执行当前工作周期的uOP步序列 *控制器的主要功能(任务): 指令控制— 操作控制— 时间控制— 中断处理— 循环地实现按(PC)取指令、执行指令 产生CPU工作流程实现所需的uOP控制信号 产生操作控制信号所需的时序 检测中断请求,适时进行处理

  35. CPU内部数据通路 MAR REG0 总线逻辑 BIU … … MDR REG(n-1) PC 时序系统 CU ALU 中断 请求 ID uOP控制信号 形成电路 指令需求 状态REG IR 中断机构 …… 上条指令状态 所有uOP控制信号 CPU 一、控制器的基本结构 *基本结构:由CU、BIU、中断机构组成 *工作原理:循环地产生CPU工作流程实现所需的uOP控制信号 uOP步序列 指令控制 时间控制 操作控制

  36. 1个CPU工作周期 1个微指令周期 组合逻辑电路 微指令执行部件 *控制器类型: 说明—⑴ 1条微指令的功能等价于1个uOP步; ⑵ 1个CPU工作周期需要执行n条微指令(微程序) *本节核心内容: ⑴时序系统组成— (实现时间控制) 硬件结构、信号次序的组织、信号定时的实现 ⑵uOP控制信号形成— (实现操作控制) uOP实现与uOP控制信号,uOP控制信号的形成

  37. 取指周期 间址周期 执行周期 DMA周期 中断周期 指令周期 (x个CPU周期[x变化很大]) 非指令周期 (≤2个CPU周期) 34 35 二、时序系统组成 *时序系统的目标:提供循环的、uOP级的时间基准信号 1、CPU工作流程的相关周期 *CPU工作流程: *CPU工作周期的表示: ①用多个CPU周期表示CPU工作周期(个数通常可变) (优于“指令周期+[CPU周期]+[CPU周期]”方案) ②用End信号表示指令周期结束(End=1) (“n个CPU周期”方案无法定位x+1) *指令周期的表示:由x个CPU周期组成、End=0

  38. 指令周期 指令周期 指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 机器周期(DMA) 机器周期(中断) 触发器 输出信号 时间 (1)机器周期(又称CPU周期) *定义:CPU工作流程中的基本过程所需时间 *长度:通常在总线周期基础上扩展 ←CPU周期几乎均访存 *应用:用n个机器周期组成CPU工作周期 要求—⑴ n=max{各种指令的x}+2 ⑵ 任何时刻只有一个机器周期有效 *状态表示:⑴用触发器表示其状态 ←时间基准信号所需 ⑵每个机器周期使用一个触发器

  39. 指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 节拍周期T0 节拍周期T1 节拍周期T2 触发器信号 触发器信号 CPU主时钟信号 34 (2)节拍周期(又称时钟周期,或节拍) *定义:CPU内部最基本操作(uOP)所需时间 *长度:均设置为常数,=max{uOPi时长} 常用时钟信号实现 CPU主时钟 CPU主频 *应用:用m个节拍周期组成机器周期 要求—m=max{各个机器周期的节拍数} *状态表示:用触发器表示其状态,每个节拍周期一个

  40. 19 (3)节拍脉冲(又称工作脉冲) *定义:uOP内部操作控制所需的时间 例—指令R1←[R0]执行阶段的uOP步序列如下 R0→MAR MAR→ABus须先于Read→CBus t1 t2 t3 MAR→AB 1→Read 总线逻辑处理 Read→CB M(MAR)→MDR Rd→CB MDR→R1 R0→MAR MAR→AB MDR→R1 时间 M(MAR)→MDR 机器周期组成方案一:4个节拍周期 时间 T0T1T2 T3 MDR→R1 R0→MAR M(MAR)→MDR MAR→AB Rd→CB 机器周期组成方案二:3个节拍周期、2个节拍脉冲 时间 P0P1P0 P1 P0 P1 T0T1T2

  41. 指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 节拍周期T0 节拍周期T1 节拍周期T2 CPU主时钟信号 节拍脉冲P0 节拍脉冲P1 三级时间基准 CLK p=2时的表示方式 P0 P1 触发器信号 触发器信号 39 *长度:均设置为常数,=min{操作控制的时长} *应用:用p个节拍脉冲组成节拍周期 要求—p=max{各个节拍周期的脉冲数} *状态表示:用门电路或触发器表示其状态 (p=2时) (p>2时)

  42. 36 2、时序系统的基本组成 *时序系统的功能: 为CU提供循环的、uOP级的时间基准信号 *时序系统与控制器类型: 硬布线控制器— ←循环周期为CPU工作周期 三级时序系统 (机器周期-节拍周期-节拍脉冲三级信号) 微程序控制器— ←循环周期为微指令周期 单级时序系统 (节拍脉冲一级信号)

  43. 启动 停机 晶体振荡器 Q S R & 机器周期 信号发生器 节拍周期 信号发生器 节拍脉冲 信号发生器 …… …… …… 取指 中断 T0Tm-1 P0Pp-1 T3 T2 T1 T0 T2 T3 T1 T0 2-4译码器 Q Q Q Q R R R S Q Q Q R R CP D CP D CP D CP D CP T CP T Reset Reset CLK CLK (1)时序系统的基本结构 ─以三级时序系统为例 *基本结构: *时序信号个数:每级分别按最大需求设置 *脉冲信号发生器的组成: 有循环移位REG、计数器+译码器2种方式

  44. 时序系统“序”的组织 执行 取指 T2 T1 T0 P1 P0 Q Q Q Q Q R S R S R S R S R S CPD CPD CPD CPD CPD Reset & CLK (2)时序系统的信号周期组织 ─以三级时序系统为例 信号周期—一轮循环周期中,有效信号的次序 *信号周期的组织: 1个节拍周期=p’个节拍脉冲,p’须为固定值(=p) 1个机器周期=m’个节拍周期,m’有固定或可变两种 当前CPU工作周期=n’个机器周期,n’有固定或可变两种 *信号周期的组织示例: 定长CPU工作周期、定长机器周期—

  45. 中断 DMA 执行 间址 取指 Q Q Q Q Q Reset R S R S R S R S R S CPD CPD CPD CPD CPD T2 & & & & ≥1 & & 中断请求 DMA请求 End 间接寻址方式 DMA机构 uOP控制信号 形成电路 指令译码器ID 中断机构 IR 变长CPU工作周期、定长机器周期— *常见的信号周期组织: 定长机器周期、变长CPU工作周期方式

  46. 时序系统“时”的实现(控制) 时钟脉冲信号 44 三、uOP控制信号的时序控制方式 指uOP控制信号的定时方式,又称控制器的控制方式 1、同步控制方式 uOP控制信号的时序受统一的基准时标信号控制 *信号时序的组织:以基于CLK的信号发生器为基础 定长方式—=3×max{uOP时长},或=<ta,ta,tb> 实现:1级信号发生器,或2级信号发生器静态组合 变长方式—=<t1,t2,t3>,ti值在不同周期可不同 实现:2级信号发生器动态组合(用控制信号实现) *应用特征:适合CPU内部操作(时延相近)的时序控制

  47. 无统一的时钟信号约束 Req OP Req—操作请求(命令)信号线 Ack—操作响应(完成)信号线 Ack 主设备A 从设备B 有操作需求 Req Ack ① ② ③ ④ 2、异步控制方式 uOP控制信号的时序只受专门的应答线路控制 *应答协议(握手协议)原理: --应答线路的时序约定 收到应答信号时进行下步操作,操作完成时发出应答信号 ①操作请求A说请做件事(等到B空闲时) ②操作响应 B完成该事务,B说做完了 ③撤消请求A说我先走了 ④撤消响应B说我也走了(自语) *应用特征:适合CPU对外部操作(时延变化较大)的时序控制

  48. 机器周期i 机器周期i+1 T0 T1 T2T0 T1T2 节拍周期T0 节拍周期T1 节拍周期T2 主时钟CLK 取决于对外操作时延 注: ①假设T1拍对外操作 ②阴影部分为异步方式 46 3、联合控制方式(又称准同步方式) 同步控制与异步控制相结合的控制方式 *控制原理: 基础是同步控制方式, →信号长度为CLK倍数 支持同步与异步的控制方式转换 →信号长度可变 *控制方式转换的方法: 常采用信号延长方法 等价于插入了几个等待CLK

  49. CLK Read WMFC MFC T0 T1 T2 DB→MDR R1→MAR MDR→R2 Read Write WMFC MEMR MEMW MFC uOP控制信号形成部件 … 节拍周期 信号发生器 & & CP ≥1 & CLK 46 47 *控制方式转换的实现方法: 原理— 增设专用控制信号,用于当前方式、方式转换 步骤—以MEMR为例,增设WMFC信号 (同步方式时0→WMFC) 1→WMFC(MFC已无效),CP被封锁 ①同步→异步: 异步方式 ②异步→同步: MFC有效时,CP被解除封锁 (下个节拍起0→WMFC[保持为同步方式]) *应用特征:适合CPU所有操作(内部及外部)的时序控制

  50. 35 四、uOP控制信号的形成 *uOP控制信号形成的目标: 产生CPU当前工作流程所需的uOP控制信号 CPU工作流程实现的需求分析— 执行uOP步序列 循环功能由时序系统实现 ─→执行uOP命令序列 uOP实现=部件硬件+部件控制信号 uOP控制信号形成的目标细化— 产生CPU当前工作周期的功能实现所需的uOP命令序列 *uOP控制信号形成电路的功能: 实现当前工作周期功能对应的uOP命令序列的信号有效逻辑 (当前)指令内容 uOP控制信号 形成电路 (当前)机器状态

More Related