计算机科学与技术专业.ppt

上传人:小飞机 文档编号:6342614 上传时间:2023-10-18 格式:PPT 页数:107 大小:1.83MB
返回 下载 相关 举报
计算机科学与技术专业.ppt_第1页
第1页 / 共107页
计算机科学与技术专业.ppt_第2页
第2页 / 共107页
计算机科学与技术专业.ppt_第3页
第3页 / 共107页
计算机科学与技术专业.ppt_第4页
第4页 / 共107页
计算机科学与技术专业.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《计算机科学与技术专业.ppt》由会员分享,可在线阅读,更多相关《计算机科学与技术专业.ppt(107页珍藏版)》请在三一办公上搜索。

1、计算机科学与技术专业,计算机组成原理武汉科技大学计算机科学与技术学院,第五章中央处理器,本章内容5.1 CPU的组成和功能5.2 指令周期5.3 时序产生器和控制方式5.4 微程序控制器5.5 微程序设计技术5.6硬布线控制器5.7 传统的CPU5.8 流水CPU5.9 RISC CPU5.10 多媒体CPU,计算机的核心部分称为中央处理器,简称CPU。传统的CPU由运算器和控制器两大部件组成,现代的CPU由运算器、控制器和Cache三大部件组成。CPU的中心任务是逐条地从内存中取出指令,并执行指令所需的操作,完成程序的预定任务。,5.1 CPU的组成和功能,5.1.1 CPU器的功能 当用计

2、算机解决某个问题时,我们首先必须为它编写程序。程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据。一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU。CPU对整个计算机系统的运行是极其重要的,它具有如下四方面的基本功能:1.指令控制控制程序中指令的执行顺序程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。,2.操作控制形成执行指令所需的控制信号并送往相应部件一条指令的功能往往是由若干个操作信号的组合来实现的,

3、因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。3.时间控制对操作控制信号加以时间上的约束对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。4.数据加工对数据进行相应的算术逻辑运算及相应加工处理 数据加工就是对数据进行算术运算和逻辑运算处理。,5.1.2 CPU的基本组成现代CPU由运算器、cache和控制器三大部分组成。,CPU,运算器,控制器,组成:,组成:,功能:,功能:,算术逻辑单元ALU、累加寄存器AC数据缓冲寄存器DR、状态条件寄存器PSW,

4、作为“执行机构”接受控制器送来的命令,负责对数据进行加工处理,包括:执行所有算术、逻辑运算及比较、测试等。,程序计数器PC、指令寄存器IR指令译码器、时序产生器、操作控制器,作为“决策机构”协调和指挥整个计算机系统的操作,包括:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置;(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;(3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。,在CPU中至少要有六类寄存器。这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。1.数据缓冲寄存器(DR)数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数

5、据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。缓冲寄存器的作用是:(1)作为CPU和内存、外部设备之间信息传送的中转站;(2)补偿CPU和内存、外围设备之间在操作速度上的差别;(3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。,CPU中的主要寄存器,2.指令寄存器(IR)保存现行令,并将操作码提供指令译码器译码3.程序计数器(PC),装入给定值,存储程序首地址,或转移目标地址自动加1计数,每取出一条指令,自动指向下一条指令,4.地址寄存器(AR)保存当前CPU所访问的内存单元的地址,5.累加寄存器(AC)存放算术逻辑运算的操作数之一及运

6、算结果累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器的算术逻辑单元ALU)执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。,6.状态条件寄存器(PSW)保存算术逻辑运算或测试的状态结果状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志

7、(V),运算结果为零标 志(Z),运算结果为负标志(N)等等。这些标志位通常分别由 1位触发器保存。除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。,数据通路 是许多寄存器之间传送信息的通路。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。根

8、据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。1.硬布线控制器 是采用时序逻辑技术来实现的;2.微程序控制器是采用存储逻辑来实现的;3.前两种方式的组合,5.1.4 操作控制器与时序产生器,5.2 指令周期,5.2.1 指令周期的基本概念 计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。,指令周期 CPU从内存取出一条指令并执行这条指令的时间总和。CPU周期 又称机器周期,CPU访问一次内存所花的时间较长,因此

9、用从内存读取一条指令字的最短时间来定义。,时钟周期 通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。,下图示出了采用定长CPU周期的指令周期示意图。,说明:,(1)指令周期由若干个CPU周期组成,第一个CPU周期为取指周期。(2)一条指令的CPU周期数取决于指令的复杂性,如有无操作数,操作数的多少,操作数的寻址方式等。(3)每个机器周期由若干个T周期构成,所含的T周期数有定长和变长两种。,CLA是一条非访内指令,其作用是将AC清零,它需要两个CPU 周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。1取指令阶段(1)PC的内容20(八进制)被装入地址寄存器AR

10、;(PC)-AR(2)PC内容加1,变成21,为取下一条指令做好准备;(PC)+1-PC(3)地址寄存器的内容被放到地址总线上;(AR)-ABUS(4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR;(AR)-DBUS-DR(5)缓冲寄存器的内容传送到指令寄存器IR;(DR)-IR(6)指令寄存器中的操作码被译码或测试;(7)CPU识别出是指令CLA,至此,取指令阶段即告结束。,5.2.2 非访内指令CLA的指令周期,2执行指令阶段(1)操作控制器送一控制信号(清零)给算术逻辑运算单元ALU;(2)ALU响应该控制信号,将累加寄存器AC的内容全部清零,从而执行了CLA指令。,A

11、DD n 指令的指令周期由三个CPU周期组成,其作用是将累加 累加器AC的内容与地址为n的存储单元的内容相加,结果仍送累加器AC,即(AC)+(n)-AC,以ADD 30为例说明如下:,相加指令ADDn的指令周期,1.送操作数地址第二个CPU周期主要完成送操作数地址。在此阶段,CPU的动作只有一个,那就是把指令寄存器中的地址码部分(30)装入地址寄存器,其中30为内存中存放操作数的地址。(IR)中的地址码-AR 2.两操作数相加第三个CPU周期主要完成取操作数并执行加法操作中。在此阶段,CPU完成如下动作:(1)把地址寄存器中的操作数的地址(30)发送到地址总线上。(AR)-ABUS-存储器(

12、2)由存储器单元30中读出操作数(6),并经过数据总线传送到缓冲寄存器。(30)-DBUS-DR(3)执行加操作:由数据缓冲寄存器来的操作数(6)可送往ALU 的一个输入端,已等候在累加器内的另 一个操作数(因为CLA指令执行结束后累加器内容为零)送往ALU的另一输入端,于是ALU将两数相加,产生运算结果为0+66。这个结果放回累加器,替换了累加器中原先的数0。(DR)+(AC)-AC,STA指令的指令周期由三个CPU周期组成,基作用是将累加器AC的内容送地址为n的存储单元,即(AC)-n,以STA 40为例。,存数指令STAn 的指令周期,1.送操作数地址在执行阶段的第一个CPU周期中,CP

13、U完成的动作是把指令寄存器中地址码部分的形式地址40装到地址寄存器。其中数字40是操作数地址。(IR)中的地址码-AR2.存储和数将累加器中的值存入指令指定的地址单元(1)累加器的内容(6)被传送到数据缓冲寄存器DR;(AC)-DR(2)把地址寄存器的内容(40)发送到地址总线上,40即为将要存入的数据6的内存单元号;(AR)-ABUS(3)把缓冲寄存器的内容(6)发送到数据总线上;(DR)-DBUS(4)数据总线上的数写入到所选中的存储器单元中,即将数6写入到存储器40号单元中。写入 注意:完成指令操作之后,累加器中仍然保留和数6,而存储器40号单元中原先的内容被冲掉。,空操作指令NOP和转

14、移指令JMP n 的指令周期第四条指令即“NOP”指令,这是一条空操作指令。其中第一个CPU周期中取指令,CPU把23号单元的“NOP”指令取出放到指令寄存器,第二个CPU周期中执行该指令。因译码器译出是“NOP”指令,第二个CPU周期中操作控制器不发出任何控制信号。NOP指令可用来调程序占位或延时之用。,JMP指令的指令周期由两个CPU周期组成,即取指周期和执行周期。执行周期将IR中的目标地址送PC。以JMP 21为例。,1.第一个CPU周期(取指令阶段)CPU把24号单元的“JMP 21”指令取出放至指令寄存器,同时程序计数器内容加1,变为25,从而取下一条指令做好准备。2.第二个CPU周

15、期(执行阶段)CPU把指令寄存器中地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25。这样,下一条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的执行顺序。(IR)中的地址码-PC 注意:执行“JMP 21”指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去,因而内存单元40中的和数将一直不断地发生变化。当然,我们此处所举的转移地址21是随意的,仅仅用来说明转移指令能够改变程序的执行顺序而已。,五条指令的取指和执行过程,在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。方框 代表一个C

16、PU周期,方框中的内容表示数据通路的操作或某种控制操作。菱形 通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。,用方框图语言表示指令周期,【例1】教材图5.15所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。,(1)“ADD

17、R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。【解】(1)“ADD R2,R0”指令是一条加法指令,参与运算的两个数放在寄存器R2和R0中,指令周期流程图包括取指令阶段和执行指令阶段两部分(为简单起见,省去了“”号左边各寄存器代码上应加的括号)。根据给定的数据通路图,“ADD R2,R0”指令的详细指令周期流程图如图(a)所示。,PC-AR,M-DR,DR-IR,R2-Y,R0-X,R0

18、+R2-R0,取指,PCO,G,ARi,R/W=R,DRO,G,IRi,+,G,R0i,R0O,G,Xi,R2O,G,Yi,PC-AR,M-DR,DR-IR,R3-Y,R1-X,R3-R1-R3,取指,PCO,G,ARi,R/W=R,DRO,G,IRi,-,G,R3i,R1O,G,Xi,R3O,G,Yi,图的右边部分标注了每一个机器周期中用到的微操作控制信号序列。(2)“SUB R1,R3”指令是一条减法指令,其指令周期流程图如图(b)所示。与ADD指令不同的是:在执行指令阶段,微操作控制信号序列有所不同。,5.3 时序产生器和控制方式,时序信号的作用和体制 时序信号 CPU中一个类似“作息时

19、间”的东西,使计算机可以准确、迅速、有条不紊地工作。机器一旦被启动,即CPU开始取指令并执行指令时,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机 各部分提供工作所需的时间标志。为此,需要采用多级时序体制。思考 用二进制码表示的指令和数据都放在内存里,那 么CPU是怎样识别出它们是数据还是指令呢?从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后,面几个CPU周期中,即发生在“执行指令”阶段。从空间上来说,如果取出的代码是指令,那么一定

20、送往指令寄存器(IR),如果取 出的代码是数据,那么一定送往运算器(DR)。由此可见,时间控制对计算机来说是太重要了。总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。一个节拍电位表示一个CPU周期的时间,它包含若干个节拍脉冲,一个主状态周期又可包含若干个节拍电位。在微程序控制器中,时序信号比较简单,一般采用节拍电位-节拍脉冲二级体制。同样,一个节拍电位表示一个CPU周期的时间,它包含若干个节拍脉冲(时钟周期),节拍脉冲把一个CPU周期分成几个较小的时间隔,这时间间隔可是相等,也可以不相等。,2.环形脉

21、冲发生器作用:是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。组成:循环移位寄存器或计数器,结构随机型的不同异,微程序控制器中使用的时序信号产生器最简单,其组成包括:,时钟源、环形脉冲发生器、节拍脉冲和 读写时序译码逻辑 启停控制逻辑,1.时钟源,作用:产生频率稳定且电平匹配的方波时钟脉冲信号,供环形脉冲发生器。组成:石英 晶体振荡器和与非门组成的正反馈振荡电路。,时序信号产生器,3.节拍脉冲和读写时序的译码,T1o=C1C2T2o=C2C3T3o=C3T4o=C1,一个CPU周期产生四个等间隔节拍脉冲,读写时序的译码逻辑表达式:RDo=C2RDWEo=C3

22、WE,起停控制逻辑 一旦接通电源,就会产生原始的节拍电位信号T1o T4o,然而只有在启动机器运行的情况下,才允许时序产生器发出CPU工作所需的节拍脉冲,为此需要由启停控制逻辑来控制T1o T4o的发送。,T1o,T2o,T4o,T3o,T1,T2,T4,T3,RD,WE,RDo,WEo,Q,Q,D,Cr,R,T4o,启动,停机,CLR,启停控制逻辑的核心是一个运行标志触发器Cr,当运行触发器Cr为“1”时,送出时序,为“0”时,阻断时序。注意:由于启停是随机的,所以必须确保时序从T1开始,到 T4才结束。故在Cr输入端引入一个RS触发器,用T4作Cr的时钟控制端。,低电平触 发,控制方式 即

23、控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。1.同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。,控制方式,2.异步控制方式其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。显然,用这种方

24、式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。3.联合控制方式 此为同步控制和异步控制相结合的方式。情况(1)大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束;情况(2)机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。,5.4 微程序控制器,微程序控制器的优点:具有规整性,灵活性,可维护性。微程序控制器的基本思想:仿照通常的解题程序方法,把操作控制信号编成所谓的“微指令”存放在只读存储器里,当机器运行时,逐条地读出这些“微指令”,从而产生全机所需要的各种微操作控制信号,使相应部

25、件执行规定的操作。微命令和微操作,计算机,控制部件控制器通过控制线发出控制命令,执行部件,运算器存储器外设,执行控制命令并通过反馈线反馈状态信息,控制部件,执行部件,控制线,反馈线,微命令-控制部件通过控制线向执行部件发出的各种控制命令。微操作-执行部件接受微命令后所进行的操作。状态测试-执行部件通过反馈线向控制部件反映操作情况,以便使控制部件根据执行部件的状态下达新的命令。微操作类型 相容性 在同时或同一CPU周期内可并行执行的操作 相斥性 不能在在同时或同一CPU周期内可并行执行的操作,控制部件与执行部件通过控制线和反馈信息进行联系。,相斥,相斥,简单运算器的数据通路,1、2、3相容4、6

26、、8与5、7、9也是相容的,微指令 在机器的一个CPU周期中,一组实现一定操作功能的微命 令的组合。微程序 实现一条机器指令功能的许多条微指令组成的序列。控制部件与执行部件通过控制线和反馈信息进行联系。微指令的构成:操作控制字段+顺序控制字段,微指令和微程序,由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。,4.3微程序控制器原理框图,1.控制存储器CS作用:用来存放实现全部指令系统的微程序 操作:只读 要求:是速度快,读出周期要短。2.微指令寄存器IR作用:用来存放由控制存储器读出的一条微指令信息。组成:微命令寄存器+微地址寄存器AR3.地址转移逻辑 作用:当需要转移时,根据机器指令的

27、操作码字段OP和状态条件及P字段实现对AR的修改。微指令由控制存储器读出后直接给出下一条微指令的地址,即微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。,一条机器指令对应一个微程序,而微程序的总和便可实现整个指令系统。以“十进制”指令为例:数据通路和微指令流程图如下:,PC-AR-ABUSDBUS-DR-IRPC+1,P1,R1+R2-R2,R2+R3-R2,P2,R2-R3-R2,RD,0000,0000,1010,1001,0000,0001,0000,Cy0,Cy=0,微程序举例,设数a和b已存放在上图的R1和R2寄存器

28、中,数6存放在R3中,则完成十进制加法的微程序流程图如上图,算法要求先进行 a+b+6运算,然后判断结果有无进位,当进位标志Cy=1,则说明结果是正确的,当Cy=0,则说明本不需加6,所以应减去6,从而得到正确的结果。从流程图可见,“十进制加法”指令对应的微程序由四条微指令组成,每一条微指令用一个方框表示。,微指令格式如下:,(1)第一条微指令是取指周期,有三个任务:从内存取指令到IR,对应的微命令有 对程序计数器PC加1 根据OP进行判别测试,转十进制的加法微程序,LDARRDLDDR LDIRPC+1,所以第一条微指令的二进制代码是000 000 000 000 11111 10 0000

29、设十进制加法的OP为1010,在P1有效时,修改AR的内容为1010,则第二条指令从1010处开始执行。(2)第二条微指令的工作是完成a+b,即R1+R2-R2,对应的微命令为:所以第二条微指令的二进制编码是010 100 100 100 00000 00 1001因此时P1P2均为0,所以下一条微指令的地址由下址字段决定即1001。(3)第三条指令的工作是完成加6修正,即R2+R3-R3,对应的微命,R1-XR2-YLDR2,令为:,R2-XR3-YLDR2,所以第三条微指令的二进制编码是010 001 001 100 00000 01 0000若Cy=1,则加6修正正确,下次执行新的一条指

30、令,即微程序又进入取指令周期开始取下一条指令。若Cy=0,则不应该加6,故由P2对下址字段进行修改,改为0001,将不该加的6重新减去,所以要执行第四条指令。(4)第四条微指令的工作是完成减6操作,即R2+R3-R2,对应的微命令为:,R2-XR3-YLDR2,所以第四条微指令的二制编码是010 001 001 001 0000 00 0000执行完第四条指令后,应转取指令操作,所以下址字段为0000,即重新开始取出下一条指令。四条微指令的编码如下:,在串行方式的微程序控制器中:,微指令周期=读出微指令的时间+执行该条微指令的时间,下图示出了某小型机中CPU周期与微指令周期的时间关系:,一个C

31、PU周期为0.8s,它包含四个等间隔的节拍脉冲T1T4,每个脉冲宽度为200ns。用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。可用T4上升沿将运算结果打入某个寄存器。与此同时可用T4间隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从T1上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的时间恰好是0.8s,一个CPU周期的时间。,CPU周期与微指令周期的关系,【问】一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系?【解】1

32、.一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的 操作划分成若干条微指令来完成,由微指令进行解释和执行。2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。与此相关,也有相对应的硬设备,请参见CAI演示。3.我们在讲述本章5.2节时,曾讲述了指令与机器周期概念,并归纳了五条典型指令的指令周期,并演示了这五条指令的微程序流程图,每一个CPU周期就对应一条微指令。这就告诉我们如何设计微程序,也将使我们进一步体验到机器指令与微指令的关系。

33、,机器指令与微指令的关系,【例2】设某计算机运算器框图如图(a)所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。,机器采用串行微程序控制方式,其微指令周期见图(b)。其中读ROM是从控存中读出一条微指令时间,为1s;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为100ns。微指令字长12位,微指令格式如下(未考虑顺序控制字段):,SB-ALU:传送SB的控制信号,并使加法器最低位加1.Reset:清暂存器SB为零的信号:一段微程序结束,转入取

34、机器指令的控制信号要求:用二进制代码写出如下指令的微程序:(1)“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3),RA0RA1:读R0-R3的选择控制WA0WA1:写R0-R3的选择控制R:寄存器读命令 W:寄存器写命令 LDSA:打入SA的控制信号 LDSB:打入SB的控制信号 SB-ALU:传送SB的控制信号,【解】先画出三条指令的微指令的微程序流程图,如下图所示。,其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右

35、上角。每一框表示一条微指令。根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。,R0,R1,R2,R3,R2,R3,R0-SA,R1-SB,1 2 3 4 5 6 7 8 9 10 11 12,1 2 3 4 5 6 7 8 9 10 11 12,SA+SB-R1,R3-SA,R2-SB,SA-SB-R3,R2-SA,0-SB,SA+SB-R3,有利于缩短微指令字长度有利于减小控制存储器的容量有利于提高微程序的执行速度有利于对微程序的修改有利于提高微程序设计

36、的灵活性,微程序设计的第一步是要设计微指令结构,应当追求的目标是:,5.5 微程序设计技术,微命令编码 对微指令中的操作控制字段采用的表示方法。有三种:,1.直接表示法-操作控制字段中的 每一位代表一个微命令。优点:简单直观,其输出直接用于控制。缺点:微指令字较长,因而使控制存储器容量较大。,2.编码表示法-把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号,其微指令结构如下图所示。,微命令编码,优点:可以用较小的二进制信息位表示较多的微命令信号,可使微指令字大大缩短。例如3位二进位译码后可表示7个微命令,4位二进

37、制位译码后可表示15个微命令。缺点:增加译码电路,使微程序的执行速度稍稍减慢。目前在微程序控制器设计中,字段直接译码法使用较普遍。3.混合表示法这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。另外 在微指令中还可附设一个常数字段。该常数可作为操作数送入ALU运算,也可作为计数器初值用来控制微程序循环次数。,微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后继微地址有两种方法:1.计数器方式将AR改为PC。顺序执行时,PC 1PC。非顺序执行时,通过将新微地址更新PC达到转去新的目标计数器方式的基本特点是:微指令

38、的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。2.多路转移方式一条微指令具有多个转移分支的能力称为多路转移。在多路转移方式中,当微程序不产生分支时,后继微地直接由微指令的顺序控制字段给出;当微程序出现分支时,有若干“候选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址。“状态条件”有n位标志,可实现微程序2n路转移,涉及微地址寄存器的n位。多路转移方式的特点是:能以较短的顺序控制字段配合,实现多路,5.5.2 微地址的形成方法,并行转移,灵活性好,速度较快,但转移地址逻辑需要用组合逻辑方法设计。【例3】微地址寄

39、存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。【解】按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修改A5 A0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。另外还要考虑时间

40、因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:,A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4,由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了A2、A1、A0触发器的微地址转移逻辑图。,微指令的格式大体分成两类:水平型微指令和垂直型微指令。,1.水平型微指令一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下:,按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以

41、及直接和译码相混合的水平型微指令。,2.垂直型微指令 微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。其结构类似于机器指令的结构。它有操作码,在一条微指令中只有12个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多。它是采用较长的微程序结构去换取较短的微指令结构。,微指令格式,下面举4条垂直型微指令的微指令格式加以说明。设微指令字长为16位,微操作码3位。(1)寄存器-寄存器传送型微指令,(2)运算控制型微指令,其功能是选择ALU的左、右两输入源信息,按ALU字段所指定的运算功能(8种操作)进行处理,

42、并将结果送入暂存器中。左、右输入源编址可指定31种信息源之一。(3)访问主存微指令,其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存。存储器编址是指按规定的寻址方式进行编址。第1,2位指定读操作或写操作(取其之一)。,其功能是把源寄存器数据送目标寄存器。1315位为微操作码(下同),源寄存器和目标寄存器编址各5位,可指定31个寄存器。,(4)条件转移微指令,其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令。9位D字段不足以表示一个完整的微地址,但可以用来替代现行PC的低位地址。测试条件字段有4位,可规定16种测试条件。3.水平型微指令与垂直

43、型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,011,微程序设计技术有静态微程序设计和动态微程序设计之分。1.静态微程序设计 对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。2.动态微程序设计 当采用EPROM作为控制存储器时,还

44、可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。采用动态微程序设计时,微指令和微程序可以根据需要加以改变,因而可在一台机器上实现不同类型的指令系统。这种技术又称为仿真其他机器指令系统,以便扩大机器的功能。,5.5.4 动态微程序设计,1.基本思想硬布线控制器是早期设计计算机的一种方法。这种方法是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而此,逻辑电路以使用最少元件和取得最高 操作速度为设计目标。一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要 想增加新的控制功能是不可能的。这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络,故称

45、之为硬布线控制器。硬联线控制器结构如图:,5.6硬布线控制器,逻辑网络的输入信号来源有三个:(1)来自指令操码译码器的输出Im;(2)来自执行部件的反馈信息Bj;(3)来自时序产生器的时序信号,包括节拍电位信号M和节拍脉冲信号T。逻辑网络N的输出信号就是微操作控制信号,它用来对执行部件进行控制。硬布线控制器的基本原理:C=f(Im,Mi,Tk,Bj)规纳起来可叙述为:某一微操作控制信号C是指令译码器输入出Im、时序信号(节拍电位Mi、节拍脉冲Tk)和状态条件信号Bj的逻辑函数。优点:速度快 缺点:逻辑复杂,不便形成系列机。,2.指令执行流程 在用硬联线实现的操作控制器中,通常,时序产生器除了产

46、生节拍脉冲信号外,还应当产生节拍电位信号。因为在一个指令周期中要顺序执行一系列微操作,需要设置若干节拍电位来定时。例如前面提到的五条指令的指令周期,其指令流程可用下图来表示。,图中M1、M2、M3为三个节拍电位信号,用于定时。由于采用同步工作方式,长指令和短指令对节拍时间的利用都是一样的。这对短指令来讲,在时间的利用上是浪费的,因而也降低了CPU的指令执行速度,影响到机器的速度指标。为了改变这种情况,在设计短指令流程时可以跳过某些节拍。当然在这种情况下,节拍信号发生器的电 路相应就要复杂一些。节拍电位信号的产生电路与节拍脉冲产生电路十分类似,它可以在节拍脉冲信号时序器的基础上产生,运行中以循环

47、方式工作,并与节拍脉冲保持同步。3.微操作控制信号的产生 在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。在硬联线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。设计微操作控制信号的方法和过程是,根据所有机器指令流程,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。为了防止遗漏,设计时可按信号出现在指令流程图中的先后次序书写,然后进行归纳和简化。要特别注意控制信号是电位有效还是脉冲有效,如果是脉冲有效,必须加入节拍脉冲信号进行相“与”。例4图5.32中五条指令的微操作控制

48、信号举例,注意T脉冲的顺序。LDAR=M1T2+M2(ADD+STA)T2 LDDR=M1T3+M3(ADD+STA)T3 LDIR=M1T4 RD=M1+M3ADD WE=M3STA其中M1、M2、M3是三个节拍电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。,5.7 传统的CPU,5.7.2 Intel 8088 CPU Intel 8088是一种通用的准16位微处理器,其内部结构为16位,与外部交换的数据为8位。它可以处理16位数据(具有16位运算指令,包括乘除法指令),也可以处理8位数据。它有20条地址线,所以直接寻址能力达到1M字节。采用40

49、条引线封装,单相时钟,电源为5V。8088CPU的内部结构:,CPU从功能上来说分成两大部分:总线接口单元BIU 负责与存储器和外围设备接口;执行单元EU 负责指令的执行。寄存器能处理16位数据,所以最上面4个寄存器是16位数据寄存器,用以暂存16位的操作数。其中AH+AL为累加器,其他三个16位寄存器用以存放操作数。当处理8位数时,四个16位数据寄存器可变作八个8位寄存器使用。堆栈指针SP用来指示堆栈操作时堆栈在主存的位置,但是SP必须与堆栈段寄存器SS一起使用。另外三个16个寄存器BP(基数指针)、SI(源变址)、DI(目的变址)用来增加几种寻址方式,从而能更灵活的寻找操作数。指令指针IP

50、的功能相当于一般机器的程序计数器PC,但是IP要与代码分段寄存器CS相配合才能形成真正的物理地址。状态寄存器PSW由九个标志位组成,以反映操作结果的某些状态或机器运行状态。四个16位的段寄存器,用来存放主存段地址(代码段CS,数据段DS,堆栈段SS,附加段ES)。通过把某个段寄存器左移4位低位,补零后与16位偏移地址相加的方法可形成20位长度的实际地址,从而可使主存具有一兆字节(2的20次方=1M)的寻址能力。取指令时,CPU自动选择代码分段寄存器CS,再加上由IP所决定的16位位移量,便得到所取指令的20位主存物理地址。进行堆栈操作时,CPU自动选择堆栈分段寄存器SS,再加上SP所决定的16

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号