1.24k likes | 1.41k Views
第五章 中央处理器 . ◆内容纲要 ※ CPU 的结构与工作原理 CPU 功能 - →基本结构 - →工作流程 - ┬→指令执行过程 ( 实现需求 ) 性能 - →数据通路 ------------ ┘ ※ 控制器的组成与工作原理 CU 目标 - →工作原理 - →时序系统组成 - →控制信号形成电路组成 ※ 硬布线控制器 ( 设计 ) ※ 微程序控制器 ( 设计 ) 控制思想 - →结构 - →工作原理,微指令集设计 - →相关电路设计 ※ 指令流水技术
E N D
◆内容纲要 ※ CPU的结构与工作原理 CPU功能-→基本结构-→工作流程-┬→指令执行过程(实现需求) 性能-→数据通路------------┘ ※ 控制器的组成与工作原理 CU目标-→工作原理-→时序系统组成-→控制信号形成电路组成 ※ 硬布线控制器(设计) ※ 微程序控制器(设计) 控制思想-→结构-→工作原理,微指令集设计-→相关电路设计 ※ 指令流水技术 流水线的工作原理-→组成-→冲突处理 ◆学习要领 按序学习(CPU→控制器)、保持清醒(需求→组成→原理)
控制信号的状态 运算器 … … CPU 控制器 取指令 执行指令 中断请求 指令地址 +1 主存MM I/O设备 时间 9 §5.1 CPU的结构与工作原理 一、CPU的功能与结构 1、CPU的功能 、时长及次序 *指令控制:实现程序执行过程(即循环的指令执行过程) *数据加工:实现指令约定的算术及逻辑运算功能 *操作控制:产生实现指令控制及数据加工功能的控制信号 *时间控制:产生操作控制中控制信号所需的时序 *中断处理:实现I/O操作的中断方式
—时序系统、控制信号形成电路 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、中断机构,数据通路
3、CPU的寄存器组织 有用户可见和控制/状态两大类寄存器 *用户可见寄存器: ─存放地址及数据 数据REG—存放操作数(OPD),长度=CPU字长 累加REG(AC)—同时用作指令源和目标OPD的REG 地址REG—存放OPD地址或指令地址, 长度=程序逻辑地址位数(段号或段内地址) 通用REG—可用作数据REG和地址REG └───┴─→长度相同 条件码REG—存放指令执行结果的状态(如CF/OF/ZF/SF), 状态可作为转移指令的测试条件
PC 当前指令地址 IR 当前指令内容 时间 取指令 分析指令 取指令阶段执行指令阶段 4 *控制/状态寄存器: ─控制CPU的操作或运算 PC—存放指令地址,作循环变量用 IR—存放当前指令内容 下条指令地址(循环的要求) 无用(上条内容) MAR—存放CPU访问的MEM(或I/O设备)的地址 MDR—存放CPU欲写出或已读入的数据(或指令) PSW(程序状态字)—存放程序执行状态 CPU的外部访问与内部操作可并行 状态REG—包含条件码和程序状态字的REG 其他REG—如段REG、系统模式REG等
加法指令: (直接寻址) 取指周期 执行周期 指令周期 取指阶段 执行阶段 (取指、分析) (执行指令) 取指周期 执行周期 乘法指令: (直接寻址) 指令周期 取指周期 执行周期 加法指令: (间接寻址) 取指周期 间址周期 执行周期 指令周期 指令周期 二、CPU的工作流程 *指令周期:CPU取出并执行一条指令的时间 *指令周期的特征:指令周期受指令类型及寻址方式影响
*CPU的工作流程:循环的过程 停机 启动 取指周期 指令周期 执行停机指令时 可能包含其他CPU周期,如间址周期 执行周期 Y 有DMA请求? DMA周期 DMA周期 N Y 有中断请求? 中断周期 中断周期 N CPU周期—又称机器周期,CPU工作流程中的基本功能段 CPU工作周期—一轮循环中的各个CPU周期之和(可变长)
三、指令执行过程 1、指令的执行过程 *程序执行过程: (满足冯·诺依曼模型需求) 理论过程—指令执行过程+循环 实际过程—循环的指令执行过程 循环处理 指令周期 理论: 取指令 分析指令 执行指令 (PC)= +1或重置 转移发生时 指令周期 *指令执行过程: 目标—满足冯·诺依曼模型、指令系统功能的需求 过程—取指令(含PC+1)、分析指令,实现当前指令功能 实际: 取指令 分析指令 执行指令 (PC)+1 重置(PC)
*模型机指令系统: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位
主存 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间接寻址
主存 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写
主存 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执行阶段的操作步骤?
⑨ 主存 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执行阶段的操作步骤? 相对寻址
⑨ 主存 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 不影响指令结果 ③ 思考—如何实现取指令的操作规整性?
※指令执行过程的特征:─实现需求 指令执行过程—由有序的操作串组成 取指令的操作串 (PC)+1 分析指令 (无操作) 指令功能的操作串 t 取指令阶段—操作及步骤基本上是通用的 对单字长指令—取全部内容 对多字长指令—取首字内容(须包含OP码、OPD寻址方式) 执行指令阶段—操作及步骤受指令格式的影响 影响因素—OP类型/OPD类型及长度、OPD寻址方式、指令字长 PC┬→MAR→MEM读→MDR→IR └───→+“1”→PC →ID
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结果
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延迟)
地址 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)单元操作
地址 WR RD 等待时间 MFC 数据 (3)存储器写操作 *操作步骤: 发地址信号、发写信号,发送数据、等待操作完成 *uOP序列:① 1→Write;MAR→Bus、Write→CBus ② MDR→M(MAR) ;MDR→DBus、等待MEM操作完成 ※快速MEM(如Cache)访问的uOP序列: 只需一个uOP即可(无需等待)
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外围电路决定 数据保持到④开始时 数据保持到④开始时 命令保持到④开始时
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外围电路决定 (数据保持)
4 四、数据通路的组织 ※术语:微操作步—可并行执行的uOP的组合 微操作步序列—有序的微操作步串 *指令执行过程的性能分析: 实现需求—uOP序列→uOP步序列 实现性能—T指令执行=指令执行过程uOP步序列的执行时间 步数 *数据通路: 定义①—CPU内部部件间传递数据的物理通道(或路径) 定义②—CPU内部数据经过的路径,包括路径上的部件 种类—总线通路、专用通路2种 *数据通路对指令执行过程的影响: ⑴运算器的组织—决定了所需的辅助元件 ⑵uOP步序列的形成—决定了所需的uOP步的数量
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步中)
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
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)
满足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模型的选择:基于单总线数据通路 ←简单易懂
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
*例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须串行(数据通路冲突)
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步序列 取指 执行
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步序列
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结构、指令类型及寻址方式、上条指令状态
② ① CPU功能(5类) 实现② 基于CPU基本操作 基于uOP 基于数据通路 需求细化 需求细化 需求细化 各指令执行的基本操作序列 各指令执行的uOP序列 各指令执行的uOP步序列 实现① 实现③④ 冯·诺依曼模型 指令系统 ※CPU结构及工作原理小结: *结构: 实现需求 ③④ ⑤ CPU工作流程(循环过程) CPU结构 CPU数据通路 当前程序 运算器(ALU) CU ID 控制信号形成电路 ∈指令系统 当前指令 IR 时序系统 PC *工作原理(工作流程):循环地取出并执行指令、处理中断 作业一:P220—4、5、7、8
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控制信号 产生操作控制信号所需的时序 检测中断请求,适时进行处理
CPU内部数据通路 MAR REG0 总线逻辑 BIU … … MDR REG(n-1) PC 时序系统 CU ALU 中断 请求 ID uOP控制信号 形成电路 指令需求 状态REG IR 中断机构 …… 上条指令状态 所有uOP控制信号 CPU 一、控制器的基本结构 *基本结构:由CU、BIU、中断机构组成 *工作原理:循环地产生CPU工作流程实现所需的uOP控制信号 uOP步序列 指令控制 时间控制 操作控制
1个CPU工作周期 1个微指令周期 组合逻辑电路 微指令执行部件 *控制器类型: 说明—⑴ 1条微指令的功能等价于1个uOP步; ⑵ 1个CPU工作周期需要执行n条微指令(微程序) *本节核心内容: ⑴时序系统组成— (实现时间控制) 硬件结构、信号次序的组织、信号定时的实现 ⑵uOP控制信号形成— (实现操作控制) uOP实现与uOP控制信号,uOP控制信号的形成
取指周期 间址周期 执行周期 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
指令周期 指令周期 指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 机器周期(DMA) 机器周期(中断) 触发器 输出信号 时间 (1)机器周期(又称CPU周期) *定义:CPU工作流程中的基本过程所需时间 *长度:通常在总线周期基础上扩展 ←CPU周期几乎均访存 *应用:用n个机器周期组成CPU工作周期 要求—⑴ n=max{各种指令的x}+2 ⑵ 任何时刻只有一个机器周期有效 *状态表示:⑴用触发器表示其状态 ←时间基准信号所需 ⑵每个机器周期使用一个触发器
指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 节拍周期T0 节拍周期T1 节拍周期T2 触发器信号 触发器信号 CPU主时钟信号 34 (2)节拍周期(又称时钟周期,或节拍) *定义:CPU内部最基本操作(uOP)所需时间 *长度:均设置为常数,=max{uOPi时长} 常用时钟信号实现 CPU主时钟 CPU主频 *应用:用m个节拍周期组成机器周期 要求—m=max{各个机器周期的节拍数} *状态表示:用触发器表示其状态,每个节拍周期一个
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
指令周期 机器周期(取指) 机器周期(间址) 机器周期(执行) 节拍周期T0 节拍周期T1 节拍周期T2 CPU主时钟信号 节拍脉冲P0 节拍脉冲P1 三级时间基准 CLK p=2时的表示方式 P0 P1 触发器信号 触发器信号 39 *长度:均设置为常数,=min{操作控制的时长} *应用:用p个节拍脉冲组成节拍周期 要求—p=max{各个节拍周期的脉冲数} *状态表示:用门电路或触发器表示其状态 (p=2时) (p>2时)
36 2、时序系统的基本组成 *时序系统的功能: 为CU提供循环的、uOP级的时间基准信号 *时序系统与控制器类型: 硬布线控制器— ←循环周期为CPU工作周期 三级时序系统 (机器周期-节拍周期-节拍脉冲三级信号) 微程序控制器— ←循环周期为微指令周期 单级时序系统 (节拍脉冲一级信号)
启动 停机 晶体振荡器 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种方式
时序系统“序”的组织 执行 取指 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工作周期、定长机器周期—
中断 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工作周期方式
时序系统“时”的实现(控制) 时钟脉冲信号 44 三、uOP控制信号的时序控制方式 指uOP控制信号的定时方式,又称控制器的控制方式 1、同步控制方式 uOP控制信号的时序受统一的基准时标信号控制 *信号时序的组织:以基于CLK的信号发生器为基础 定长方式—=3×max{uOP时长},或=<ta,ta,tb> 实现:1级信号发生器,或2级信号发生器静态组合 变长方式—=<t1,t2,t3>,ti值在不同周期可不同 实现:2级信号发生器动态组合(用控制信号实现) *应用特征:适合CPU内部操作(时延相近)的时序控制
无统一的时钟信号约束 Req OP Req—操作请求(命令)信号线 Ack—操作响应(完成)信号线 Ack 主设备A 从设备B 有操作需求 Req Ack ① ② ③ ④ 2、异步控制方式 uOP控制信号的时序只受专门的应答线路控制 *应答协议(握手协议)原理: --应答线路的时序约定 收到应答信号时进行下步操作,操作完成时发出应答信号 ①操作请求A说请做件事(等到B空闲时) ②操作响应 B完成该事务,B说做完了 ③撤消请求A说我先走了 ④撤消响应B说我也走了(自语) *应用特征:适合CPU对外部操作(时延变化较大)的时序控制
机器周期i 机器周期i+1 T0 T1 T2T0 T1T2 节拍周期T0 节拍周期T1 节拍周期T2 主时钟CLK 取决于对外操作时延 注: ①假设T1拍对外操作 ②阴影部分为异步方式 46 3、联合控制方式(又称准同步方式) 同步控制与异步控制相结合的控制方式 *控制原理: 基础是同步控制方式, →信号长度为CLK倍数 支持同步与异步的控制方式转换 →信号长度可变 *控制方式转换的方法: 常采用信号延长方法 等价于插入了几个等待CLK
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所有操作(内部及外部)的时序控制
35 四、uOP控制信号的形成 *uOP控制信号形成的目标: 产生CPU当前工作流程所需的uOP控制信号 CPU工作流程实现的需求分析— 执行uOP步序列 循环功能由时序系统实现 ─→执行uOP命令序列 uOP实现=部件硬件+部件控制信号 uOP控制信号形成的目标细化— 产生CPU当前工作周期的功能实现所需的uOP命令序列 *uOP控制信号形成电路的功能: 实现当前工作周期功能对应的uOP命令序列的信号有效逻辑 (当前)指令内容 uOP控制信号 形成电路 (当前)机器状态