《高等教育d》PPT课件.ppt_第1页
《高等教育d》PPT课件.ppt_第2页
《高等教育d》PPT课件.ppt_第3页
《高等教育d》PPT课件.ppt_第4页
《高等教育d》PPT课件.ppt_第5页
已阅读5页,还剩186页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理,第五章 中央处理器,长春理工大学 计算机科学技术学院,课程教学要求,本章内容: 5.1 CPU的组成和功能 5.6 硬布线控制器 5.2 指令周期 5.7 传统的CPU 5.3 时序产生器和控制方式 5.8 流水CPU 5.4 微程序控制器 5.9 RISC CPU 5.5 微程序设计技术 5.10 多媒体CPU 本章小结,5.1 CPU的组成和功能,5.1.1 CPU的功能 5.1.2 CPU的基本组成 5.1.3 CPU中的主要寄存器 5.1.4 操作控制器与时序产生器,中央处理器,5.1.1 CPU的功能,当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序”思想,即:当用

2、计算机解决某个问题时,首先必须为它编写程序。 由第四章的讨论已知,程序实质上是一个指令序列,这个序列将明确地告诉计算机:应该逐步地执行什么操作;在什么地方找到用来操作的数据,结果存到何处等。 一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称:CPU。显然,CPU对整个计算机系统的运行是极其重要的。,中央处理器,CPU具有如下四方面的基本功能:, 指令控制 程序的顺序控制称为指令控制。用于控制指令严格地按程序规定的顺序,逐条取出并加以执行。, 操作控制 一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CP

3、U负责管理并产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。,中央处理器, 时间控制 对各种操作的实施时间进行定时,称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都严格的时间要求,需要CPU设定规定的时序关系。, 数据加工 数据加工就是对数据进行算术运算和逻辑运算处理,这是CPU的核心功能之一。,中央处理器,5.1.2 CPU的基本组成,CPU的基本部分由运算器、cache和控制器三大部分组成。 CPU模型参看演示,中央处理器,运算器:,由算术逻辑运算单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是

4、数据加工处理部件。 相对控制器而言,运算器是一种执行部件,它是接受控制器的命令而进行动作,即:运算器所进行的全部操作都是由控制器发出的控制信号来指挥的。 运算器的主要功能: (1)执行所有的算术运算; (2)执行所有的逻辑运算,并进行逻辑测试(如零值测试或两个值的比较等)。,中央处理器,控制器:,由程序计数器PC、指令寄存器IR、指令译码器ID、时序产生器和操作控制器等组成,它是发布命令的“决策机构”,即完成对整个计算机系统操作的协调与指挥。 控制器的主要功能: (1)控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置; (2)对指令进行译码或测试,并产生相应的操作控制信号,送往相应

5、的部件,启动规定的动作; (3)指挥并控制CPU、内存与输入/输出(I/O)设备之间数据流动的方向。,中央处理器,5.1.3CPU中的主要寄存器,在CPU中至少要有六类寄存器:数据缓冲寄存器(DR)、指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、累加寄存器(AC)、状态条件寄存器(PSW),并且根据需要,可以扩充其数目。,中央处理器,1.数据缓冲寄存器(DR),数据缓冲寄存器DR用来暂时存放由内存读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也先将它们送到数据缓冲寄存器DR中,然后再写入内存。 缓冲寄存器DR的作用是 : (1)作为CPU和内存及外部I/O

6、设备之间信息传送的中转站; (2)用于补偿CPU与内存及外围设备之间在操作速度上的差别; (3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。,中央处理器,2.指令寄存器(IR),指令寄存器IR用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。 指令分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作,指令译码器就是完成这项工作的。指令寄存器中的操作码字段被送入指令译码器中,操作码一经译码后,即可向操作控制器发出具体操作的特定信号。,中央处理器,3.程序计数器(PC)

7、,为了保证程序能够连续地执行下去,CPU必须具有某些手段来自动确定下一条指令的地址。而程序计数器PC正是起到这种作用的,所以PC通常又称为指令计数器。 在程序开始执行前,必须将该程序在内存单元的起始地址,即第一条指令的地址送入PC。当执行指令时,CPU将自动修改PC的内容,使其保持的总是将下一条要执行的指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC自增即可。 当遇到转移指令(如JMP指令)时,由于后继指令的地址(即PC的内容)必须从指令的地址段取得。在这种情况下,下一条指令的地址将由转移指令来规定,而不是像通常一样按顺序来取得。因此程序计数器PC的结构,应当是

8、具有信息寄存和计数两种功能的结构。,中央处理器,4.地址寄存器(AR),地址寄存器AR用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到对内存的读/写操作完成为止 。 当CPU和内存进行信息交换,即CPU向内存存/取数据或指令时,都要使用地址寄存器AR和数据缓冲寄存器DR。此外,我们可以把外围I/O设备的设备地址作为像内存的地址单元那样来进行访问,那么可知,当CPU和外围设备交换信息时,同样需要使用地址寄存器和数据缓冲寄存器。 地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。信息的存入一

9、般采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号clk的作用下,瞬时地将信息打入寄存器。,中央处理器,5.累加寄存器(AC),累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器需执行算术或逻辑运算时,为ALU提供一个工作区,它可暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。 目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。,中央处理器,6.状态条件寄存器(PSW),状态

10、条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标 志(Z),运算结果为负标志(N)等等。这些标志位通常分别由1位触发器保存。 除此之外,状态条件寄存器还保存中断和系统工作状态等信息,因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。其作用是使CPU和系统能及时了解机器运行状态和程序运行状态。,中央处理器,5.1.4 操作控制器与时序产生器,数据通路: 是指寄存器之间传送信息的通路。 信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的

11、任务,是由称为操作控制器的部件来完成的。 时序产生器:产生并发出计算机所需要的时序控制信号。 操作控制器的功能: 就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。,中央处理器,根据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种类型。,1.硬布线控制器 是采用时序逻辑技术来实现的控制器,属于时序逻辑型;,2.微程序控制器 是采用存储逻辑来实现的控制器,属于存储逻辑型;,3.前两种方式的组合 (时序+存储)的方法构成。,中央处理器,5.2 指令周期,5.2.1 指令周期的基本概念 5.2.2 非访内指令

12、的指令周期 5.2.3 取数指令的指令周期 5.2.4 存数指令的指令周期 5.2.5 空操作指令和转移指令的指令周期 5.2.6 五条指令的取指和执行过程 5.2.7 用方框图语言表示指令周期,中央处理器,5.2.1 指令周期的基本概念,计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。 演示,中央处理器,名词概念:,指令周期: CPU从内存取出一条指令并执行完这条指令的时间总和。,CPU周期:又称机器周期,CPU访问内存所花的时间较长,因此用CPU

13、从内存读取一条指令字的所需的最短时间来定义。,时钟周期: 通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T。,相互关系: 1个指令周期 = 若干个CPU周期; 1个CPU周期 = 若干T周期,取指时间+执行指令时间,中央处理器,下图示出了采用定长CPU周期的指令周期示意图。,中央处理器,例:为了分析不同类型的指令所对应的指令周期的情况,下面分析由5条典型指令构成的简单程序的执行特征(教材P158 表5.1),以加深对指令周期及指令执行过程的理解。 020CLA ;累加器清0 (非访内指令) 021ADD 30 ;(AC)+(30)AC (访内指令) 022STA 40;(AC)(4

14、0) (访内指令) 023NOP; 空操作 (非访内指令) 024JMP 21; 21 PC (非访内指令) 可见:程序中有两大类指令,即:非访内型指令和访内型指令。,中央处理器,5.2.2 CLA指令的指令周期,CLA是一条非访内指令,它需要两个CPU 周期,其中:取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。(见教材P158-159) 其指令周期请参看演示,中央处理器,1取指令阶段,(1)程序计数器PC的内容20(八进制)被装入地址寄 存器AR; (2)程序计数器内容加1,变成21,为取下一条指 令做好准备; (3)地址寄存器的内容被放到地址总线上; (4)所选存储器单元2

15、0的内容经过数据总线,传送 到数据缓冲寄存器DR; (5)缓冲寄存器的内容传送到指令寄存器IR; (6)指令寄存器中的操作码被译码或测试; (7)CPU识别出是指令CLA,至此,取指令阶段即告结束。,中央处理器,2执行指令阶段,(1)操作控制器送一控制信号给算术逻辑运算单元ALU; (2)ALU响应该控制信号,将累加寄存器AC的内容全部清零,从而执行了CLA指令。,中央处理器,5.2.3 ADD指令的指令周期,显然,本程序中的ADD指令是一条访内型指令,本指令的指令周期由三个CPU周期组成,1个CPU周期用于取出指令,2个CPU周期用于指令的执行。 请参看CAI演示。,中央处理器,1.送操作数

16、地址,第二个CPU周期主要完成送操作数地址。在此阶段,CPU的动作只有一个,那就是把指令寄存器中的地址码部分(30)装入地址寄存器,其中30为内存中存放操作数的地址。,把指令寄存器中的地址码部分(30)装入地址寄存器,中央处理器,2.两操作数相加,第三个CPU周期主要完成取操作数并执行加法操作中。在此阶段,CPU完成如下动作:,(1)把地址寄存器中的操作数的地址(30)发送到地址总线上。,(2)由存储器单元30中读出操作数(6),并经过数据总线传送到缓冲寄存器。,(3)执行加操作:由数据缓冲寄存器来的操作数(6)可送往ALU 的一个输入端,已等候在累加器内的另一个操作数(因为CLA指令执行结束

17、后累加器内容为零)送往ALU的另一输入端,于是ALU将两数相加,产生运算结果为:0+66。这个结果放回累加器,替换了累加器中原先的数0 。,(AC)+(30)AC,中央处理器,5.2.4 STA指令的指令周期,本例中,STA指令也是一条访内型指令,对应的指令周期由三个CPU周期组成。也是:1个CPU周期用于取出指令,2个CPU周期用于指令的执行。 请参看CAI演示。,中央处理器,在执行阶段的第一个CPU周期中,CPU完成的动作是把指令寄存器中地址码部分的形式地址40装到地址寄存器。其中数字40是操作数地址。,1.送操作数地址,中央处理器,2.存储和数,执行阶段的第二个CPU周期中,累加寄存器

18、的内容传送到缓冲寄存器,然后再存入到所选 定的存储单元(40)中。CPU完成如下动作: (1)累加器的内容(6)被传送到数据缓冲寄 存器DR; (2)把地址寄存器的内容(40)发送到地址总 线上,40即为将要存入的数据6的内存单元号; (3)把缓冲寄存器的内容(6)发送到数据总 线上; (4)数据总线上的数写入到所选中的存储器 单元中,即将数6写入到存储器40号单元中。,中央处理器,注意: 在这个操作之后,累加器中仍然保留和数6,而存储器40号单元中原先的内容被冲掉。,5.2.5 NOP指令和JMP指令的指令周期,第四条指令即“NOP”指令,这是一条空操作 指令。其中第一个CPU周期中取指令,

19、CPU把23 号单元的“NOP”指令取出放到指令寄存器;第二 个CPU周期中执行该指令。 因译码器译出是“NOP”指令,第二个CPU周 期中操作控制器不发出任何控制信号,机器空 等一个CPU周期。JMP指令的指令周期由两个CPU周期组成,请参看CAI演示。,中央处理器,1.第一个CPU周期(取指令阶段),CPU把24号单元的“JMP 21”指令取出放至指令寄存器, 同时程序计数器内容加1,变为25,从而取下一条指令做好准备。,中央处理器,(24)IR (PC)+1PC,2.第二个CPU周期(执行阶段),CPU把指令寄存器中地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25。这

20、样,下一条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的执行顺序。,中央处理器,5.2.6五条指令的取指和执行过程,我们把前面的五条典型指令加以归纳,其取指和执行过程请见CAI演示。,中央处理器,5.2.7用方框图语言表示指令周期,在进行计算机设计时,可以采用方框图语言 来表示一条指令的指令周期。 方框 代表一个CPU周期,方框中的内容表示 数据通路的操作或某种控制操作。 菱形 通常用来表示某种判别或测试,不过 时间上它依附于紧接它的前面一个方框的CPU周 期,而不单独占用一个CPU周期。 把前面的五条典型指令加以归纳,用方框图 语言表示的指令周期请见CAI演示

21、。,中央处理器,【例1】教材P166图5.15所示为双总线结构机器的数据通路如下:,中央处理器,IR为指令寄存器,PC为程序计数器(具有自增功能),AR为地址寄存器,DR为数据缓冲寄存器,图中:IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。,中央处理器,(1)“ADD R2,R0”指令完成(R0)+(R2)R0的功

22、能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。,【解】:“ADD R2,R0”指令是一条加法指令,参与运 算的两个数放在寄存器R2和R0中,指令周期流程图包 括取指令阶段和执行指令阶段两部分。 根据给定的数据通路图,“ADD R2,R0”指令的详 细指令周期流程图如图(a)所示,图的右边部分标注 了每一个机器周期中用到的微操作控制信号序列。,中央处理器,(a) 加法,中央处理器,(2)“SUB R1,R3”指令完成(R3)-(R1)R3的操 作,画出其指令期流程图,并列出相应的微操作控 制信号序列。 ,【解】:“SUB R1,R3”指令是一条减法指

23、令, 其指令周期流程图如图(b)所示。与ADD指令不 同的是:在执行指令阶段,微操作控制信号序 列有所不同。,中央处理器,(b) 减法,中央处理器,5.3 时序产生器和控制方式,5.3.1 时序信号的作用和体制 5.3.2 时序信号产生器 5.3.3 控制方式,中央处理器,5.3.1时序信号的作用和体制,时序信号: CPU中的时序信号,是使计算机准确、迅速、有条 不紊地工作的重要“节拍序列”控制信号。机器一旦被 启动,即CPU开始取指令并执行指令时,操作控制器就 利用定时脉冲的顺序和不同的脉冲间隔,有条理、有 节奏地指挥机器的动作,规定在各个节拍脉冲到来时 刻,计算机各部件应当做什么,给计算机

24、各部件提供 工作所需的时间标志。,中央处理器,思考:,用二进制码表示的指令和数据都放在内存里,那 么CPU是怎样识别出它们是数据还是指令呢?,从时间上来说: 取指令事件发生在指令周期的第 一个CPU周期中,即发生在“取指令”阶段,而取数据事 件发生在指令周期的后面几个CPU周期中,即发生在 “执行指令”阶段。,从空间上来说: 如果取出的代码是指令,那么一 定经DR送往指令寄存器IR,如果取出的代码是数据, 那么一定送往运算器。,时间控制对计算机来说是非常重要的!,中央处理器,总之,计算机的协调动作需要时间标志,而且需 要采用多级时序体制。而时间标志则是用时序信号来 体现的。 硬布线控制器中,时

25、序信号往往采用主状态周期- 节拍电位-节拍脉冲三级体制。 在微程序控制器中,时序信号则一般采用节拍电 位-节拍脉冲二级体制。,中央处理器,5.3.2时序信号产生器,微程序控制器中使用的时序信号产生器由时钟 源、环形脉冲发生器、节拍脉冲和读写时序译码逻 辑、启停控制逻辑等部分组成。,中央处理器,1.时钟源 时钟源用来为环形脉冲发生器提供频率稳定、且 电平匹配的方波时钟脉冲信号。它通常由石英晶体振 荡器和与非门组成的正反馈振荡电路组成,其输出送 至环形脉冲发生器。,2.环形脉冲发生器,环形脉冲发生器的作用:是产生一组有序的、间 隔相等或不等的脉冲序列,以便通过译码电路来产生 最后所需的节拍脉冲。,

26、中央处理器,2.节拍脉冲和存储器读/写时序译码,环形脉冲发生器的作用:是产生一组有序的、间 隔相等或不等的脉冲序列,以便通过译码电路来产生 最后所需的节拍脉冲。,中央处理器,T3O=C3,RDO=C2RD,WEO=C3WE,RD,RD,WE,WE,T1,T2,T3,T4,CPU周期,CPU周期,CPU周期,T3O=C3,中央处理器,T40的下降沿采样 启/停信号的状态,演示,5.3.3控制方式,控制方式: 即控制不同操作序列时序信号的方 法。常用的有同步控制、异步控制、联合控制三种方 式,其实质反映了时序信号的定时方式。,中央处理器,1.同步控制方式 在任何情况下,已定的指令在执行时所需的CP

27、U 周期(机器周期)数和时钟周期数都固定不变。根据 不同情况,同步控制方式可选取如下方案: (1)采用完全统一的机器周期执行各种不同的指令。 (2)采用不定长机器周期。 (3)中央控制与局部控制结合。,2.异步控制方式,其特点是:每条指令、每个操作控制信号 需要多少时间就占用多少时间。这意味着每条 指令的指令周期可由多少不等的机器周期数组 成;也可以是当控制器发出某一操作控制信号 后,等待执行部件完成操作后发“回答”信号, 再开始新的操作。显然,用这种方式形成的操 作控制序列没有固定的CPU周期数(节拍电位)或 严格的时钟周期(节拍脉冲)与之同步。,中央处理器,3.联合控制方式,此为同步控制和

28、异步控制相结合的方式。 情况(1): 大部分操作序列安排在固定 的机器周期中,对某些时间难以确定的操作则 以执行部件的“回答”信号作为本次操作的结束; 情况(2): 机器周期的节拍脉冲数固定, 但是各条指令周期的机器周期数不固定。,中央处理器,5.4 微程序控制器,中央处理器,微程序控制器同硬布线控制器相比较,具有规整 性、灵活性、可维护性等一系列优点。是利用软件方 法来设计硬件的一门技术。,微程序控制的基本思想就是把操作控制信号编成 所谓的“微指令”,存放到一个只读存储器里。当机器 运行时,一条又一条地读出这些微指令,从而产生全 机所需要的各种操作控制信号,是相应部件执行所规 定的操作。,5

29、.4 微程序控制器,5.4.1 微命令和微操作 5.4.2 微指令和微程序 5.4.3 微程序控制器原理框图 5.4.4 微程序举例 5.4.5 CPU周期与微指令周期的关系 5.4.6 机器指令与微指令的关系,中央处理器,5.4.1微命令和微操作,一台数字计算机可以分为两大部分控制部件 和执行部件。 控制部件与执行部件之间通过控制线联系。,中央处理器,微命令 控制部件通过控制线向执行部件发出的 各种控制命令。,微操作 执行部件接受微命令后所进行的操作。 控制部件与执行部件通过控制线和反馈信息进行联 系。,控制部件与执行部件的另一种联系是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便

30、使控制部件根据执行部件的“状态”来下达新的微命令,这也叫做“状态测试”。,中央处理器,微操作在执行部件中是最基本的操作。由于数据 通路的结构关系,微操作可分为相容性和相斥性两 种。,相斥性的微操作:不能在同时或不能在同一个CPU 周期内并行执行的微操作。,简单运算器数据通路,相容性的微操作:在同时或同一个CPU周期内可 以并行执行的微操作。,演示,5.4.2微指令和微程序,中央处理器,微指令: 在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合。,操作控制部分:用来发出管理和指挥全机工作的控制信号,顺序控制部分:用来决定如何形成下一条微指令的地址,节拍电位和节拍脉冲,中央处理器,节拍

31、电位微指令中给出的控制信号都是节拍电 位信号,它们的持续时间都是一个CPU周期。,节拍脉冲有环形脉冲发生器产生,一个节拍电位 持续时间正好包容若干个节拍脉冲。,微程序:,中央处理器,微程序:,中央处理器,微程序:,中央处理器,微程序:,中央处理器,微程序:,中央处理器,中央处理器,微程序: 实现一条机器指令功能的 若干条微指令组成的序列。,既然微程序是由微指令组成的,那么当执行当前 一条微指令时,必须指出后继微指令的地址,以便当 前一条微指令执行完毕后,取出下一条微指令。 形成后继微指令地址的方法有多种。,演示,5.4.3微程序控制器原理框图,中央处理器,它主要由控制存储器、微指令寄存器和地址

32、转移逻辑三大部分组成。,微程序控制器原理框图请参见CAI演示。,1.控制存储器,控制存储器用来存放实现全部指令系统的微程序, 它是一种只读存储器。一旦微程序固化,机器运行时 则只读不写。其工作过程是:每读出一条微指令,则 执行这条微指令;接着又读出下一条微指令,又执行 这一条微指令。 “读出一条微指令并执行该微指令的时间总和”称 为一个微指令周期。通常,在串行方式的微程序控制 器中,微指令周期就是只读存储器的工作周期。控制 存储器的字长就是微指令字的长度,其存储容量视机 器指令系统而定,即取决于微程序的数量。对控制存 储器的要求是速度快,读出周期要短。 ,中央处理器,2.微指令寄存器,微指令寄

33、存器(IR)用来存放由控制存储器读 出的一条微指令信息。其中微地址寄存器(AR)决定 将要访问的下一条微指令的地址,而微命令寄存器则 保存一条微指令的操作控制字段和判别测试字段的信 息。,中央处理器,3.地址转移逻辑,在一般情况下,微指令由控制存储器读出后直接 给出下一条微指令的地址,通常我们简称微地址,这 个微地址信息送入微地址寄存器AR中。如果微程序 不出现分支,那么下一条微指令的地址就直接由AR 给出。 当微程序出现分支时,意味着微程序出现条件转 移。在这种情况下,通过判别测试字段P和执行部件 的“状态条件”反馈信息,去修改微地址寄存器AR的 内容,并按改好的微地址去读下一条微指令。这一

34、功 能就由地址转移逻辑来承担,其可以根据转移条件, 自动完成修改微地址的任务。,中央处理器,5.4.4微程序举例,中央处理器,下面以“十进制加法”指令为例,具体看一看微程序控制的过程。 首先注意如下两点解释: 1、十进制加法算法 由前面讨论的“加6校正法”已知,两个BCD码十进制数位相 加,要实现十进制相加,必须进行“加6校正”。由此可推知如下 十进制加法算法: 设:被加数为A,加数为B, (1)先做 (S=A+B+6) 运算,然后判断进位标志Cy; (2)若 Cy=1(有进位),则表示本位结果正确(向高位有 进位);若 Cy=0(无进位),则表示本位计算加6后的结果不 对,做(S-6)运算,

35、恢复原来正确的结果(S=A+B)。,2、关于P1、P2测试的约定,中央处理器,(1)P1测试的约定:若P1=1,则进行P1测试:将 机器指令的操作码OP作为下一条微指令的地址。 (2)P2测试的约定: 若P2=1,则进行P2测试: 根据进位Cy的状态,决定下一条微指令的地址。 若Cy=1,则当前微指令给出的后继地址0000就是 下一条微指令的地址; 若Cy=0,则下一条微指令的地址为0001(要执行 S-6运算)。 具体参见CAI演示,中央处理器,实现“十进制加法”的微程序的各条微指令编码如下: 第一条微指令的二进制编码是: 000 000 000 000 11111100000 第二条微指令

36、的二进制编码是: 010 100 100 100 00000001001 第三条微指令的二进制编码是: 010 001 001 100 00000010000 第四条微指令的二进制编码是: 010 001 001 001 00000000000 可见:微程序控制实质上是将一条机器指令的执行分解成 若干步,每一步都由一条微指令来产生对应的微命令来加以实 现。即:一条机器指令的执行,是通过执行一个对应的微程序 来实现的。,5.4.5CPU周期与微指令周期的关系,中央处理器,通常,在串行方式的微程序控制器中: 微指令周期 = 读出微指令的时间 + 执行该条微指令的时间 (与指令周期的定义类似) 例:

37、下图给出了某小型机中CPU周期与微指令周期的时间关系:(教材P177),中央处理器,设:一个CPU周期为0.8s,它包含四个等间隔的节拍脉冲T1T4,每个脉冲宽度为200ns。用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。例如,在前600ns时间内运算器进行运算,在600ns时间的末尾运算器已经运算完毕,可用T4上升沿将运算结果打入某个寄存器。与此同时可用T4间隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从T1上升沿起就开始有效,直到下一条微指令读出后打入微

38、指令寄存器为止。因此一条微指令的保持时间恰好是0.8s,也就是一个CPU周期的时间。,5.4.6机器指令与微指令的关系,中央处理器,一会儿取机器指令,一会儿取微指令,它 们之间到底是什么关系?,中央处理器,1. 一条机器指令对应一个微程序,这个微程序是由若干条 微指令序列组成的。因此,一条机器指令的功能是由若干条微 指令组成的序列来实现的。简言之,一条机器指令所完成的操 作划分成若干条微指令来完成,由微指令进行解释和执行。,2. 从指令与微指令,程序与微程序,地址与微地址的一一 对应关系来看,前者与内存储器有关,后者与控制存储器有 关。与此相关,也有相对应的硬设备,请参见CAI演示。,3. 在

39、本章5.2节中,曾讨论了指令周期与机器周期概念,并 归纳了五条典型指令的指令周期,并演示了这五条指令的微程序流 程图,每一个CPU周期就对应一条微指令。这就告诉我们如何设计 微程序,也将使我们进一步体验到机器指令与微指令的关系。,中央处理器,【例2】设某计算机运算器框图如图(a)所示,其 中ALU为16位的加法器(高电平工作),SA,SB为16位 暂存器。4个通用寄存器由D触发器组成,Q端输出, 其读、写控制功能见下表。,中央处理器,中央处理器,机器采用串行微程序控制方式,其微指令周期见图(b)。 其中读ROM是从控存中读出一条微指令时间,为1s;ALU 工作是加法器做加法运算,为500ns;

40、m1是读寄存器时间,为 500ns;m2是写寄存器的工作脉冲宽度,为100ns。,中央处理器,已知微指令字长12位,微指令格式如下:,读R0-R3的选择控制;具体定义见表5.2,写R0-R3的选择控制;具体定义见表5.2,寄存器读命令;具体定义见表5.2,寄存器写命令;具体定义见表5.2,打入SA的控制信号;,打入SB的控制信号;,传送SB的控制信号;,清暂存器SB为零的信号;,一段微程序结束,转入取机器指令的控制信号。,要求:用二进制代码写出如下指令的微程序: (1)“ADD R0,R1”指令,即(R0)+(R1)R1 (2)“SUB R2,R3”指令,即(R3)-(R2)R3 (3)“MO

41、V R2,R3”指令,即(R2)(R3),中央处理器,【解】: 先画出三条指令的微指令的微程序流程图,如下图所示。,中央处理器,其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑 “执行周期”,微指令序列的顺序用数字标号标在每条微指令的 右上角。每一框表示一条微指令。 根据给定的微指令周期时间关系,完成ADD,SUB指令的执 行动作需要3条微指令,MOV指令只需2条微指令。 按照已知的微指令格式:,ADD指令的执行过程包括:R0SA,R1SB,SA+SBR1,0010100000,0110010000,0101001001,因此,执行ADD R0,R1的三条微指令为: 0010100000

42、 2. 0110010000 3. 0101001001,中央处理器,SUB指令的执行过程包括:R3SA,R2SB,SA-SBR3,1110100000,1010010000,1101000101,因此,执行SUB R2,R3的三条微指令为: 1110100000 2. 1010010000 3. 1101000101,中央处理器,MOV指令的执行过程包括:R2SA,0SB;SA+SBR3,1101001001,因此,执行SUB R2,R3的三条微指令为: 1010100010 2. 1101001001,中央处理器,设计微指令结构应当追求的目标是: (1) 有利于缩短微指令字的长度; (2)

43、 有利于减小控制存储器的容量; (3) 有利于提高微程序的执行速度; (4) 有利于对微指令的修改; (5) 有利于提高微程序设计的灵活性。,5.5 微程序设计技术,5.5.1 微命令编码 5.5.2 微地址的形成方法 5.5.3 微指令格式 5.5.4 动态微程序设计,中央处理器,5.5.1微命令编码,中央处理器,已知:微指令的一般格式为: 微命令编码(即:操作控制字段设计方法): 对微指令中的操作控制字段采用的表示方法。通 常有以下三种方法:,1.直接表示法,中央处理器,其特点是: 操作控制字段中的每一位代表一个 微命令(如前例所述)。 这种方法的优点是简单直观,其输出直接用于控 制。缺点

44、是微指令字较长,因而使控制存储器容量较 大。,2.编码表示法,中央处理器,编码表示法: 是把一组相斥性的微命令信号组成 一个小组(即一个字段) ,然后通过小组(字段)译码 器进行译码,产生所对应的微命令信号,即:译码输 出作为操作控制信号。 其对应的微指令结构如下图所示。,中央处理器,采用字段译码的编码方法,可以用较小的二进制 信息位表示较多的微命令信号。例如:3位二进位译 码后可表示7个微命令,4位二进制位译码后可表示15 个微命令。,与直接表示法相比,编码表示法可使微指令字大 大缩短。但由于增加译码电路,使微程序的执行速度 稍稍减慢。目前在微程序控制器设计中,字段直接译 码法使用较普遍。,

45、3.混合表示法,中央处理器,混合表示法: 是把直接表示法与字段编码法混 合使用,以便综合考虑指令字长、灵活性、微程序执 行速度等方面的要求。,另外: 在微指令设计中,还可附设一个常数字段。该常数可作为操作数送入ALU运算,也可作为计数器初值用来控制微程序循环次数等。,5.5.2 微地址的形成方法 - 顺序控制字段的设计方法,中央处理器,微指令执行的顺序控制问题,实际上是如 何确定下一条微指令的地址问题。通常,产生 后继微地址有两种方法:,1.计数器方式,中央处理器,这种方法与用程序器计数器PC来产生机器指令 地址的方法相类似。在顺序执行微指令时,后继微地 址现行微地址加上一个增量来产生;在非顺

46、序执行微 指令时,必须通过转移方式,使现行微指令执行后, 转去执行指定后继微地址的下一条微指令。 在这种方法中,微地址寄存器(AR)通常改为 计数器。为此,顺序执行的微指令序列就必须安排在 控制存储器的连续单元中。 计数器方式的基本特点是:微指令的顺序控制字 段较短,微地址产生机构简单。但是多路并行转移功 能较弱,速度较慢,灵活性较差。,2.多路转移方式,中央处理器,一条微指令具有多个转移分支的能力称为多路转 移,这是一种最常用的方式。 在多路转移方式中:当微程序不产生分支时,后 继微地直接由微指令的顺序控制字段给出;当微程序 出现分支时,有若干“后选”微地址可供选择:即按顺 序控制字段的“判

47、别测试”标志和“状态条件”信息来选 择其中一个微地址。“状态条件”有n位标志,可实现 微程序的2n路转移,涉及微地址寄存器的n位 。 多路转移方式的特点是:能以较短的顺序控制字 段配合,实现多路并行转移,灵活性好,速度较快, 但地址转移逻辑需要用组合逻辑电路来实现。(见下 例,教材P181),中央处理器,【例3】某微程序控制器的微地址寄存器有6位 (A5-A0),当需要修改其内容时,可通过各位触发 器的强置端S将其置“1”。现有三种情况: (1) 执行“取指”微指令后,微程序按IR的OP字段 (IR3-IR0)进行16路分支; (2) 执行条件转移指令微程序时,按进位标志C 的状态进行2路分支

48、; (3) 执行控制台指令微程序时,按IR4,IR5的状 态进行4路分支。 请按多路转移方法设计微地址转移逻辑电路。,中央处理器,【解】: 按所给设计条件,微程序有三种判别测 试,分别为P1,P2,P3。由于修改A5-A0内容具 有很大灵活性,现分配如下: (1)用P1和IR3-IR0修改A3-A0;(实现16路 分支) (2)用P2和C修改A0; (实现2路分支) (3)用P3和IR5,IR4修改A5,A4。(实现4 路分支) 另外还要考虑时间因素T4(假设CPU周期最后一 个节拍脉冲为T4),,A5 = P3IR5T4 A4 = P3IR4T4,A0 = P2CT4,A3 = P1IR3T

49、4 A2 = P1IR2T4 A1 = P1IR1T4 A0 = P1IR0T4,故转移地址逻辑表达式如下: A5 = P3IR5T4 A4 = P3IR4T4 A3 = P1IR3T4 A2 = P1IR2T4 A1 = P1IR1T4 A0 = P1IR0T4 + P2CT4 设通过触发器强置端S(低电平有效)修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。,中央处理器,5.5.3微指令格式,中央处理器,微指令的编译方法是决定微指令格式的主 要因素。 微指令的格式大体分成两类: 1、水平型微指令; 2、垂直型微指令。,1.水平型微指令,中央处理器,一次能定义并执行多个并

50、行微操作命令的微指 令,叫做水平型微指令。 其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又 分为三种: (1)全水平型(不译码法)微指令; (2)字段译码法水平型微指令; (3)直接和译码相混合的水平型微指令。,2.垂直型微指令,中央处理器,在微指令中设置微操作码字段,采用微操作码编 译法,由微操作码规定微指令的功能,称为垂直型微 指令。 其结构类似于机器指令的结构。它有操作码,在 一条微指令中只有12个微操作命令,每条微指令的 功能简单,因此,实现一条机器指令的微程序要比水 平型微指令编写的微程序长得多。它是采用较长的微 程序结构去换取较短的微指令结构。下面举4条垂直 型微指令

51、的微指令格式加以说明。,中央处理器,设:微指令字长为16位,微操作码3位。 (1)寄存器-寄存器传送型微指令 其功能是把源寄存器数据送目标寄存器。1315 位为微操作码(下同),源寄存器和目标寄存器编址各5 位,可指定31个寄存器。,中央处理器,(2)运算控制型微指令 其功能是选择ALU的左、右两输入源信息,按 ALU字段所指定的运算功能(8种操作)进行处理,并将 结果送入暂存器中。左、右输入源编址可指定31种信 息源之一。,中央处理器,(3)访问主存微指令 其功能是:将主存中一个单元的信息送入寄存器 或者将寄存器的数据送往主存。存储器编址是指按规 定的寻址方式进行编址。第1,2位指定读操作或

52、写操 作(取其之一)。,中央处理器,(4)条件转移微指令 其功能是:根据测试对象的状态决定是转移到D 所指定的微地址单元,还是顺序执行下一条微指令。 9位D字段不足以表示一个完整的微地址,但可以用来 替代现行PC的低位地址。 测试条件字段有4位,可 规定16种测试条件。,3.水平型微指令与垂直型微指令的比较,中央处理器,(1) 水平型微指令并行操作能力强,效率高,灵 活性强,垂直型微指令则较差。 (2) 水平型微指令执行一条指令的时间短,垂直 型微指令执行时间长。 (3) 由水平型微指令解释指令的微程序,有微指 令字较长而微程序短的特点。垂直型微指令则相反。 (4) 水平型微指令用户难以掌握,

53、而垂直型微指 令与指令比较相似,相对来说,比较容易掌握。,5.5.4 动态微程序设计,中央处理器,微程序设计技术有静态微程序设计和动态微程序 设计之分。,1.静态微程序设计 如果对应于一台计算机的机器指令只有一组微程 序,而且这一组微程序设计好之后,一般无须改变而 且也不好改变,这种微程序设计技术称为静态微程序 设计。,中央处理器,2.动态微程序设计 当采用EPROM作为控制存储器时,还可以通过 改变微指令和微程序来改变机器的指令系统,这种微 程序设计技术称为动态微程序设计。 采用动态微程序设计时,微指令和微程序可以根 据需要加以改变,因而可在一台机器上实现不同类型 的指令系统。这种技术又称为

54、仿真其它机器指令系统, 可以方便地扩大机器的功能。,5.6硬布线控制器,1.基本思想 硬布线控制器是早期设计计算机的一种方法。这种 方法是把控制部件看作为产生专门固定时序控制信号的 逻辑电路,而此逻辑电路以使用最少元件和取得最高操 作速度为设计目标。一旦控制部件构成后,除非重新设 计和物理上对它重新布线,否则要想增加新的控制功能 是不可能的。这种逻辑电路是一种由门电路和触发器构 成的复杂树形逻辑网络,故称之为硬布线控制器。 硬布线控制器的一般结构如图:,中央处理器,中央处理器,图5.31 硬布线控制器结构方框图,硬布线控制器的基本原理: C=f(Im,Mi,Tk,Bj),2.指令执行流程,在用

55、硬联线实现的操作控制器中,通常,时 序产生器除了产生节拍脉冲信号外,还应当产生 节拍电位信号。因为在一个指令周期中要顺序执 行一系列微操作,需要设置若干节拍电位来定 时。例如前面提到的五条指令的指令周期,其指 令流程可用下图来表示 。(见教材P185),中央处理器,中央处理器,图5.32 硬布线控制器的指令周期流程图,由于采用同步工作方式,长指令和短指令对节拍时 间的利用都是一样的。这对短指令来讲,在时间的利用 上是浪费的,因而也降低了CPU的指令执行速度,影响 到机器的速度指标。为了改变这种情况,在设计短指令 流程时可以跳过某些节拍。当然在这种情况下,节拍信 号发生器的电 路相应就要复杂一些

56、。 节拍电位信号的产生电路与节拍脉冲产生电路十分 类似,它可以在节拍脉冲信号时序器的基础上产生,运 行中以循环方式工作,并与节拍脉冲保持同步。,中央处理器,3.微操作控制信号的产生,在微程序控制器中,微操作控制信号由微 指令产生,并且可以重复使用。 在硬联线控制器中,某一微操作控制信号 由布尔代数表达式描述的输出函数产生。,中央处理器,设计微操作控制信号的方法和过程是: 根据所有机器指令流程图,寻找出产生同一个微 操作信号的所有条件,并与适当的节拍电位和节拍脉 冲组合,从而写出其布尔代数表达式并进行简化,然 后用门电路或可编程器件来实现。 为了防止遗漏,设计时可按信号出现在指令流程 图中的先后次序书写,然后进行归纳和简化。要特别 注意控制信号是电位有效还是脉冲有效,如果是脉冲 有效,必须加入节拍脉冲信号进行相“与”。,中央处理器,例4 上图中五条指令的微操作控制信号举例。 LDAR=M1T4+M2(ADD+STA+JMP)T4; LDDR=M1T3+M3(ADD+STA)T3 LDIR=M1T4 其中M1、M2、M3是三个节拍电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。,中央处理器,5.7 传统的CPU,5.7.1 M6800 CPU 5.7.2 Intel

温馨提示

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

评论

0/150

提交评论