计算机硬件技术基础

上传人:平*** 文档编号:47508080 上传时间:2018-07-02 格式:PPT 页数:27 大小:483.52KB
返回 下载 相关 举报
计算机硬件技术基础_第1页
第1页 / 共27页
计算机硬件技术基础_第2页
第2页 / 共27页
计算机硬件技术基础_第3页
第3页 / 共27页
计算机硬件技术基础_第4页
第4页 / 共27页
计算机硬件技术基础_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《计算机硬件技术基础》由会员分享,可在线阅读,更多相关《计算机硬件技术基础(27页珍藏版)》请在金锄头文库上搜索。

1、第七章第七章 控制器控制器 7.5 硬布线控制器硬布线控制器的基本原理是根据指令的要求、当前的时序及外部和内部 的状态情况,按时间的顺序发送一系列微操作控制信号。它由复杂 的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器 ,或常规逻辑控制器。 vv二、硬布线控制器的结构二、硬布线控制器的结构 1、指令信息Im用于指出当前是哪一条指令的指令周期 。 2、机器周期信号Mn和时钟周期信号Tn指出当前处于 哪一个机器周期和哪一个节拍。 3、状态信号S运算器的结果状态及机器内部的其 他状态,以决定某些操作信号是否发送。 4、外部控制、状态信号Ej指出和传递CPU外部各部件 的状态和控制信号。微

2、操作控制信号Ci 一部分送到CPU外部构成系统总线的控制总线; 另一部分则送到CPU内部供使用。从逻辑函数的角度来看,输出微操作控制信号Ci是5种输入信号的 函数:Ci=fi(Im,Mn,Tn,S,Ej)设计硬布线控制器的过程,也就是求出每个微操作控制信号Ci的逻 辑函数fi的过程。vv三、硬布线控制器的设计方法三、硬布线控制器的设计方法 硬布线控制器的设计步骤: 1、确定指令系统,包括指令系统中每条指令的格式、功能和寻址方式。 2、围绕着指令系统的实现,确定CPU的内部结构,包括运算器的功能和 组成,控制器的组成及它们的连接方式和数据通路,同时也确定时序系统 的构成。 3、分析每条指令的执行

3、过程,按机器周期顺序,写出所必需发送的微操 作控制信号序列。 4、综合每个微操作控制信号的逻辑函数,化简和优化。 5、用逻辑电路实现。例如:例如:设计实现ADD和JMP指令 的硬布线控制器ADD指令的第一个字是操作码和寄存器地址,第二个字是立即数。ADD 和JMP指令均 为二字节指令。OPRiDATAJMP指令第一个字是操作码,第二个字是转移的直接地址。 OPA1、首先列出ADD和JMP指令的执行过程如下: ADDADD指令:指令: M0: PCAR,PC+1PC;(取指令地址) M1: RAMIR, J1#;(取指令并译码) ADDM2: PCAR,PC+1PC;(取指令第二字地址) ADD

4、M3: RAMALU;(取数据) ADDM4: RiALU;(送寄存器数据) ADDM5: ALU(+)Ri ;(计算并存结果)OPRiDATAJMPJMP指令指令: M0: PCAR,PC+1PC;(取指令地址) M1: RAMIR,J1#;(取指令并译码) JMPM2: PCAR,PC+1PC;(取指令第二字地址) JMPM3: RAMPC;(取转移地址,执行转移)OPA2、对应的每个机器周期所必需发送的微操作控制信号序列如下: ADDADD指令:指令: M0: PC-B#,BAR,PC+1; M1: M-R#(内存读),B-IR,J1#; ADDM2: PC-B#,B-AR,PC+1;

5、ADDM3: M-R#,B-DA1; ADDM4: DR-B#,B-DA2; ADDM5: ALU(F=A+B),B-DR ; JMPJMP指令:指令: M0: PC-B#,BAR,PC+1; M1: M-R#(内存读),B-IR,J1#; JMPM2: PC-B#,BAR,PC+1; JMPM3: M-R#,B-PC,PC+1 ; .3、对所有的微操作控制信号进行综合:即对于某一个微操作控制信号,将上述列 表中,凡是在冒号“:”右边出现该信号的机器周期,把其左边的条件(与项) 作为一个或项,全部进行或运算,即得到该微操作控制信号的逻辑函数。 PC-B#= (M0+ ADDM2+ JMPM2+

6、) B-AR= (M0+ ADDM2+ JMPM2+) PC+1 = (M0+ ADDM2+ JMPM2+ JMPM3 +)M-R#=m1+ ADDM3+ JMPM3+B-IR = (M1+) B-DA1= ADDM3+ ADDM4+ JMPM3+ DR-B#= ADDM4+ B-DR = ADDM5+ 若某个微操作控制信号必须在某个机器周期内的Tn时刻有效,则该信 号表达式还要与上Tn时钟周期信号4、最后,对逻辑函数优化和简化,使得逻辑电路最简,用硬件电路实 现即可。例如:例如:采用计数器输出译码方式产生机器周期信号。 假设某机器的指令系统有两条指令: 指令A包含三个机器周期,计数器的计数变

7、化状态如图727; 指令B包含四个机器周期。计数器的变化状态如图728;表77列出了产生两条指令所需的机器周期信号时的计数器状态。其中 Q1 ,Q2表示当前周期计数器状态输出,Q1 ,Q2表示下一个周期计 数器状态输出。根据表77的真值表列出计数器的输出表达式,对于指令A,其表达式为 对于指令B,其表达式为 所以:根据表达式画出逻辑电路图 当执行指令A时,产生机器周期 信号M0、M1、M2;而当执行指令B时,产生机器周 期信号M0、M1、M2、M3。 vv四、硬布线控制器与微程序控制器的比较四、硬布线控制器与微程序控制器的比较 区别:v微操作控制信号的产生方法不同:前者由组合逻辑电路即时产 生

8、;后者是从控存读取并送出的。v硬布线控制器的电路繁琐、不规整,不易修改和扩充;微程序 控制器由于控制信号存于控存,电路相对规整,易修改和扩充 ;v硬布线控制器执行速度快,多应用于RISC系统。微程序控制器 执行速度相对硬布线控制器慢,多应用于CISC系统。 7.6 7.6 流水线的基本原理流水线的基本原理v机器指令按串行方式执行 v机器指令按并行方式执行 vv一、流水线工作方式的特点是:一、流水线工作方式的特点是:流水线分的工序越多,可同时运行的指令就越多,单位 时间内可完成的指令也就越多,速度越快。流水线上每个阶段执行时间必须完全一致。流水线上必须等待一段时间,才能达到最大吞吐率,这 个时间

9、等于一条指令的执行时间,称为“通过时间”。当编译形成的程序不能发挥流水线的作用,或存储器供 应不上流动所需的指令和数据,或遇到程序转移指令等 情况时,会造成流水线断流,使效率下降。例: 已知一个指令系统32条指令,一条指令分取指令2ms,计算地址2ms, 取操作数2ms, 执行指令1ms, 问采用流水线方式执行指令, 32条指令执行一遍需要( )ms.。vv二、流水线需要解决的问题:二、流水线需要解决的问题: 1、访问内存的冲突 v解决这个问题 1)采用双端口存储器,使取指令和取操作数可同时进行; 2)分离指令Cache和数据Cache,使取指令和取操作数可在Cache这级可 以同时进行; 3

10、)采用指令队列,预取到指令队列中,从而避免与取数据发生冲突。 2、计算地址与运算的冲突 v解决的办法是增设部件 3、操作数相关问题 v其解决方法是: 1)插入气泡法。该方法较简单,但降低了指令执行效率; 2)采用数据旁路技术,这种方法效率高但控制复杂。4、转移相关问题 v解决方法是: 1)加入空操作,尽量调整指令执行的先后顺序,使转移条件提前建立。 前者相当于顺序操作,后者增加了控制难度。 2)采用猜测法,先选定转移分支中的一个,按此分支继续取指并处理, 假如猜测是正确的,则流水线可以继续进行;假如猜测错了,则要返回分 支点,并要保证分支点后已进行个处理不破坏原有现场。 5、中断发生时转中断处

11、理 v解决方法是: 1)不精确断点法:当中断发生时,不允许后续指令进入流水线,但已进 入指令流水线的指令继续执行直到完毕,然后将中断处理程序的指令送入 指令流水线。 2)精确断点法:当中断发生时,指令流水线中的指令立即停止执行,将 中断处理程序指令送入指令流水线,尽快转入中断处理。被目前大多数流 水线计算机后者。7.6 Pentium 7.6 Pentium CPU CPU v一、Pentium CPU的技术性能 PentiumCPU32位微处理器,超标量体系结构,MM技术v MM技术的基础是SIMD,可以并行处理8个8位数据或4个16位数据或2个 32位数据。MM技术新增加了4种数据类型:紧

12、缩字节类型8个字节打包成 一个64位长的数据、紧缩字类型、紧缩双字类型和四字类型,还增加了57条新 指令,另外拥有8个64位的MM寄存器。 PentiumCPU用动态执行技术和寄存器重命名等RISC类处理器所采 用的技术,对每一条86操作转换成的简单的微操作进行处理。v PentiumCPU采用了动态执行技术,通过预测指令流来调整指令的执行,并 且分析程序的数据流来选择指令执行的最佳顺序。 vPentiumCPU也使用IA(Intel架构)指令和寄存器。但配备了40个内部寄存 器。采用寄存器重命名技术,将IA指令使用的IA寄存器映射成微操作使用的 Pentium内部寄存器,这样可极大地消除指令

13、的数据相关性。 PentiumCPU采用了双独立总线结构,其中前端总线FBS主要负责与主 存储器的信息传送操作,后端总线连接到L2 Cache上。动态执行技术包括以下几项技术: v1)多路分支预测:利用先进的、预测正确率高达90的分支预测技 术,允许程序的几个分支流向同时在处理器中执行。处理器在取指令 时,还会在程序中寻找未来要执行的指令,加快了向处理器传递任务 的过程,并为指令执行顺序的优化提供了可调度基础。 v2)数据流分析:处理器读取指令并经过译码后,判断该指令能否与其 他指令一起处理,然后处理器分析这些指令的数据相关性和资源可用 性,以优化的执行顺序高效率地处理这些指令。 v3)推测执

14、行:将多个程序流向的指令序列,以调度好的优化顺序送至 执行部件执行,尽量使多端口、多功能的执行部件保持“忙”状态。因 为程序流向是根据分支预测建立的,因此指令序列的执行结果只能作 为“预测结果”保留。一旦确定分支预测正确,已提前建立的“预测结果” 立即变成“最终结果”并及时修改机器的状态。显然,推测执行可保证 处理器的超标量流水线始终处于忙碌,加快了程序执行速度,从而全 面提高处理器的性能。v二、Pentium的内部结构及工作原理 Pentium共有三条指令流水线,每条指令流水线共有12级,它们分别是:1)IFU1 取指1,由L1代码Cache取一个32字节的行,装入预取流 式缓冲器。 2)I

15、FU2 取指2,预取流式缓冲器中的内容以16字节块向前传递, IFU2在16字节块中标志指令边界,并将发现的转移指令地址交 给分支目标缓冲区BTB进行动态预测。 3)IFU3 取指3,旋转16字节块中的3条指令,使它们能按照复杂 、简单、简单或简单、简单、简单的次序同时递交到下一级的3 个译码器中。4)DEC1 译码1,将IA指令译码成RISC型的 微操作。译码器0为复杂译码器,它将一条复 杂指令译码成多达4个微操作,译码器1和译 码器2均为简单译码器,各只能生成一个微操 作。DEC1把这些微操作提交给微指令序列器 。 5)DEC2 译码2,从DEC1出来的微操作, 在本级译码后指令队列DIQ

16、(Decoded Instruction Queue)中按原始的程序顺序排队 。对那些被BTB丢失的转移型的微操作放入静 态分支预测机构进行再次分支预测。 6)RAT 寄存器别名表和分配器。在这一级 每次由DIQ按程序的顺序取3项微操作,将微 操作中的寄存器映射到内部寄存器中,然后 将其送到ROB。 7)ROB 指令重排缓冲器。在ROB中的每一 个微操作都有状态标志,用来登记此微操作 的当前运行状态。8)DIS 派遣,微操作放入ROB后,保留站RS能以任何顺序将微 操作派遣到相应的执行单元中。 9)E 执行。执行微操作,这一级的多个执行单元并行操作。 10)WB 写回。微操作执行结果写回ROB并进行错误检查,同时 对从L1 数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号