版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1 中央处理器的功能和组成中央处理器的功能和组成6.2 指令的执行过程指令的执行过程6.3 时序与控制时序与控制6.4 微操作控制部件微操作控制部件6.5 中断系统中断系统6.6 CPU中的流水结构中的流水结构*6.7 CPU结构举例结构举例6.1.1 6.1.1 中央处理器的功能中央处理器的功能中央处理器简称CPU,它具有如下4方面的功能:(1)程序的顺序控制。(2)操作控制:产生取出并执行指令的微操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。(3)时间控制: 对各种操作实施时间上的控制。(4)数据加工: 对数据进行算术运算和逻辑运算处理。 6.1.2
2、6.1.2 中央处理器的组成中央处理器的组成 中央处理器由控制器、运算器和总线组成。(1)控制器 控制器是全机的指挥中心,其基本功能就是执行指令。 控制器由程序计数器PC、指令寄存器m、地址寄存器(AR)、数据寄存器(DR)、指令译码器、时序系统和微操作信号发生器组成。主要完成以下三个方面的功能:指令控制功能、时序控制功能、操作控制功能。程序计数器PC 用以指出下条指令在主存中的存放地址,CPU根据PC的内容去主存取得指令。因程序中指令是顺序执行的,所以PC有自增功能。指令寄存器(m):用来保存当前正在执行的一条指令的代码。地址寄存器(AR):用来存放当前CPU访问内存单元的地址。数据寄存器(
3、DR):用来暂存由内存储器中读出或写入内存的指令或数据。指令译码器:分别对操作码字段、寻址方式字段、地址码字段进行译码,向控制器提供操作的特定信号。时序部件:用来产生各种时序信号,时序信号可分为CPU周期信号、节拍周期信号和节拍脉冲信号,它们都是由统一时钟CLOCK分频得到的。微操作形成部件:根据IR的内容(指令)、PSW的内容(状态信息)以及时序线路3方面的内容,产生控制整个计算机系统所需的各种控制信号。其结构有组合逻辑型和存储逻辑型两种。中断系统:操作控制台 :(2)运算器 运算器由算术逻辑单元(ALU)、通用寄存器、程序状态字寄存器、数据暂存器、移位器等组成。它接收从控制器送来的命令并执
4、行响应的动作,负责对数据的加工和处理。各组成部件的作用是:算术逻辑单元(ALU):用以进行双操作数的算术逻辑运算。通用寄存器组:用来存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。暂存器: 用来暂存从主存储器读出的数据,这个数据是不能存放在通用寄存器中的,否则会破坏其原有的内容。程序状态字寄存器(PSW):保留由算术逻辑运算指令或测试指令的结果建立的各种状态信息。 移位器:在ALU输出端设暂存器用来存放运算结果,它具有对运算结果进行移位运算的功能。(3)总线与数据通路结构内部总线:CPU内部连接各寄存器的总线。系统总线:系统总线是CPU与主存储器MM、外部设备接口相联的总线,
5、它包括地址总线、数据总线和控制总线。 CPU向地址总线提供访问主存单元或I/O接口的地址。 CPU向数据总线发送或接收数据,以完成与主存单元或I/O接口之间的数据传送;主存M和I/O设备之间也可以通过数据总线传送数据。 CPU通过控制总线向主存或I/O设备发出有关控制信号,或接收控制信号;I/O设备也可以向控制总线发出控制信号。 6.2 .1 指令执行的周期(1)取指周期: 取指周期要解决两个问题:一是CPU到哪个存储单元去取指令,二是如何形成后继指令地址。 指令地址由PC给出,取出指令后PC内容递增;当出现转移情况时,指令地址在执行周期被修改。(2)取操作数周期: 取操作数周期要解决的问题是
6、,计算操作数地址并取出操作数。 操作数有效地址的形成由寻址方式确定。寻址方式不同,有效地址获得的方式、过程不同,提供操作数的途径也不同。因此,取操作数周期所进行的操作对不同的寻址方式是不相同的。 (3)执行周期:执行周期的主要任务是完成由指令操作码规定的动作,包括传送结果及记录状态信息。操作结果送到什么地方由寻址方式确定;状态信息,主要是条件码,记录在PSW中。若程序出现转移时,则在执行周期内还要决定转移地址。因此,执行周期的操作对不同指令也不相同。(4)指令周期:将一条指令从取出到执行完成所需要的时间称为指令周期。(5)指令周期与机器周期和时钟周期的关系 指令周期是完成一条指令所需的时间,包
7、括取指令、分析指令和执行指令所需的全部时间。指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期,通常等于取指时间(或访存时间)。时钟周期是时钟频率的倒数,也可称为节拍脉冲或T周期,是处理操作的最基本单位。 一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。 一个机器周期内包含的时钟周期个数决定于该机器周期内完成的动作所需的时间。一个指令周期包含的机器周期个数亦与指令所要求的动作有关,如单操作数指令,只需要一个取操作数周期,而双操作数指令需要两个取操作数周期。6.2.2 6.2.2 指令的执行指令的执行(1)指令的执行过程 取指令:
8、 根据指令计数器PC提供的地址从主存储器中读取现行指令,送到主存数据缓冲器MDR中,然后再送往CPU内的指令寄存器IR中。同时改变指令计数器的内容,使之指向下一条指令地址或紧跟现行指令的立即数或地址码。 取操作数:如果是无操作数指令则可直接进入下一个过程;如果需要操作数则根据寻址方式计算地址,然后到存储器中去取操作数。如果是双操作数指令则需两个取数周期。执行操作:根据操作码完成相应的操作并根据目的操作数的寻址方式存结果。(2)指令之间的衔接方式 指令之间的衔接方式有:串行的顺序执行方式、并行的重叠处理方式和流水执行方式。串行的顺序执行方式是指在一条指令执行完毕后才开始取下条指令。这种方式控制简
9、单,但在时间上不能充分利用部件。 为了提高设备利用率和运算速度,可以让指令重叠执行,即在对现行指令执行运算操作时提前从主存取出下条指令,而不必等当前指令全部执行完,但如果程序需要转移,预取下条指令就要失败。不过由于大多数情况下程序流程是顺序执行的,下条指令地址并不依赖本次执行结果,所以预取指令还是能有效地提高执行速度。流水执行方式是重叠方式的引申,它仍然基于并行重叠处理的原理,但重叠的程度进一步提高。它将一条指令的执行过程分解为多个子过程,每个子过程由一个独立的功能部件完成,它们构成一条流水线,实现指令的流水处理。 计算机的运算速度首先与主频有关,主频越高运算速度越快;其次是字长,字长越长,单
10、位时间内完成的数据运算就越多,运算速度就越快;最后是计算机的体系结构,体系结构合理,同样器件的整机速度就快,比如存储器采用分级结构,处理机采用流水线结构或多机结构,都是为了提高计算机整机的运算速度和效率而做的体系结构方面的改进。6.2.36.2.3指令执行的操作流程与微操作序列指令执行的操作流程与微操作序列 每条指令的执行过程可以分解为一组操作序列。“操作”是指功能部件级的动作,它是可以再分解的。 “操作”可进一步分解为一组微操作序列。“微操作”是指指令序列中最基本的、不可再分割的动作。 若将每一条指令的执行过程都分解为一组操作序列,并将这些操作按指令执行的周期分类归并就可得到指令的操作流程。
11、将指令的操作流程以流程图的形式描述,就得到指令操作流程图,简称指令流程图。 6.3.1控制器的基本控制方式1.同步控制方式 所谓同步控制方式,就是系统有一个统一的时钟,所有的控制信号均来自这个统一的时钟信号。 根据指令周期、CPU周期和节拍周期的长度固定与否,同步控制方式又可分为以下几种。定长指令周期:即所有的指令执行时间都相等。若指令的繁简差异很大,规定统一的指令周期,无疑会造成太多的时间浪费,因此,定长指令周期的方式很少被采用。定长CPU周期:这种方式中各CPU周期都相等,一般都等于内存的存取周期。而指令周期不固定,等于整数个CPU周期。变长CPU周期、定长节拍周期:这种方式的指令周期不固
12、定,而且CPU周期也不固定,含有的节拍数根据需要而定,与内存存取周期和总线周期没有什么固定关系。这种方式根据指令的具体要求和执行步骤,确定安排哪几个CPU周期,以及每个CPU周期中安排多少个节拍周期和节拍脉冲,不会造成时间浪费,但时序系统的控制比较复杂,要根据不同情况确定每个CPU周期的节拍数。 CPU内部操作均采用同步控制,其原因是同一芯片的材料相同,工作速度相同,片内传输线短,又有共同的脉冲源,采用同步控制是理所当然的。 2. 异步控制方式 异步控制方式中没有统一的时钟信号,各部件按自身固有的速度工作,通过应答方式进行联络,常见的应答信号有准备好Ready或等待Wait等,异步控制相对于同
13、步要复杂。 CPU内部的操作采用同步方式,CPU与内存和I/O设备的操作采用异步方式,这就带来一个同步方式与异步方式如何过渡、如何衔接的问题。也就是说,当内存或IO设备的Ready信号到达CPU时,不可能恰好为CPU脉冲源的整周期或节拍的整周期,解决办法也是一种折衷方案,即联合控制方式。 3. 联合控制方式(混合控制方式) 联合控制方式是介于同步、异步之间的一种折衷。在联合控制方式中,CPU并不是在任何时刻立即对来自内存和I/O接口的应答信号作出反应,而是在一个节拍周期的结束(下一个节拍周期的开始),也就是说,当CPU进行内存的读写操作或进行I/O设备的数据传送时,按同步方式插入一个节拍周期或
14、几个节拍周期,直到内存或I/O设备的应答信号到达为止。联合控制方式是CPU进行内存的读写操作和I/O数据传送操作通常采用的方式,较好地解决了同步与异步的衔接问题。 1.多级时序的概念 (1)指令周期:在时序系统中通常不为指令周期设置时间标志信号,因而也不将其作为时序的一级。 (2)机器周期:设置一组周期状态触发器,以标志不同的机器周期。任一时刻只允许其中的一个触发器为1,表明CPU当前处在哪个机器周期。 (3)时钟周期:一个时钟周期内完成一步基本操作。 (4)时钟脉冲信号:作为时序系统的基本定时信号。2.多级时序信号之间的关系 由于指令周期不作为时序的一级,下图反映了机器周期、时钟周期、时钟脉
15、冲三级时序信号的关系。一个指令周期机器周期M1机器周期M2机器周期M3 3时钟周期T1时钟周期T2时钟周期T3时钟脉冲CLK三级时序信号间的关系一个时序系统的组成如图所示:脉冲发生器节拍发生器周期状态触发器脉冲源启动暂停M1M2T1T23. 时序系统的组成1.脉冲源:由石英晶体震荡器及“与非门”组合的震荡电路组成。2.脉冲发生器:通常是一个环行脉冲发生器,采用循环移位寄存器的形式,产生一组有序的、间隔相等或不等的脉冲序列。3.节拍发生器:按先后顺序,循环地发出若干时钟周期信号,最后通过译码电路,产生最后所需的节拍脉冲,通常由计数译码器电路组成。4.周期状态触发器:产生电路与节拍发生器产生电路类
16、似。5.启停控制逻辑:控制时钟系统,只有当启动机器运行时,才允许发出所需的时钟脉冲,而且,由于机器的启停是随机的,必须考虑发出的脉冲是完整的。例:某时序产生器的主要逻辑电路如图所示, 为脉冲时钟源输出的方波冲,C1-C4为D触发器,T1-T4为四个输出的节拍脉冲。脉冲源23QQDCPC4CLRSRT4T1T2T3QQDCP+5VDCPQQC1C2C3QQDCPT1-T4为四个输出节拍脉冲,其译码逻辑表达式为:T1=C1*C2 T2=C2*C3 T3=C3 T4=C112345678910CPU周期CPU周期T1T2T3T4C4C1C2C3 例:时序产生器需要在一个CPU周期中产生三个节拍脉冲信
17、号: T1(200ns), T2(400ns),T3(200ns),主脉冲源的频率为5MHZ,请设计时序逻辑电路(不考虑启停控制).脉冲源23QQDCPC4CLRSRT3QQDCP+5VDCPQQC1C2C3QQDCPT1-T3为四个输出节拍脉冲,其译码逻辑表达式为:T1=C1*C2 T2=C2 T3= C1T1T212345678910CPU周期CPU周期T1T2T3C4C1C2C3200ns400ns200ns4.启停逻辑计算机上电后会立即产生一定频率的主时钟,这并不意味着计算机已经开始工作。只有通过启停逻辑部件将机器启动起来,时序部件才开始产生节拍信息(节拍电位和节拍脉冲),以控制全机开
18、始工作。两种常用的控制启停的方案如图69所示。 采用图6- 9(a)方案时,机器上电后只产生主时钟,节拍信号发生器不工作,待启停控制逻辑有效将机器启动后,节拍信号发生器才开始工作,顺序产生机器操作所需的节拍电位信号(T1Tn)。 采用图6-9(b)方案时,机器上电后立即产生主时钟甲和节拍电位信号(TlTn),但是它们并不能控制机器开始工作,待启停控制逻辑有效后,才能产生控制机器操作的节拍信号(T1Tn)。 6.4.1组合逻辑控制器 组合逻辑控制器的核心部件就是微操作产生部件。微操作产生部件,是采用组合逻辑设计思想,以布尔代数为主要工具设计而成的。它的输入信号来自指令译码器的输出、时序发生器的时
19、序信号及程序运行的结果特征及状态。它的输出是一组带有时间标志的微操作控制信号。每个微操作控制信号是指令、时序、结果特征及状态等的逻辑函数,可表示为: 微操作周期节拍脉冲指令码其他条件 组合逻辑控制器的设计步骤: 根据CPU的结构图写出每条指令的操作流程图并分解成微操作序列; 选择合适的控制方式和控制时序;对微操作流程图安排时序,排出微操作时间表;根据操作时间表写出微操作的表达式;根据微操作的表达式画出组合逻辑电路。组合逻辑控制器的核心部分比较繁琐、零乱,设计效率较低,设计过程十分麻烦,其结构也十分复杂,特别是当指令系统比较庞大、操作码多、寻址方式多时,其复杂程度会成倍增加,另外检查调试也比较困
20、难,而且设计结果用印制电路板(硬连逻辑)固定下来以后,就很难再修改与扩展。 但组合逻辑控制器的最大优点是微操作控制信号产生的速度很快,只需两级门(一级与、一级或)的延时就可产生。对于指令系统比较简单的精简指令系统计算机RISC,采用组合逻辑控制器是比较合适的,可以提高指令执行的速度,由于指令系统简单,逻辑组成也不至于太复杂。 操作码 地址码译码器硬布线逻辑(组合逻辑)PC周期状态触发器节拍发生器时钟源结果反馈信息M1M2M3T1T4PIR中断控制逻辑转移地址+1RESET中断信号微操作控制命令组合逻辑控制器总框图组合逻辑控制器总框图如下图:组合逻辑控制器的设计举例:CPU结构框图如下图所示,设
21、计以下几条指令的组合逻辑控制器。CLA ;清ACADD I D ;I=0为直接寻址,即(AC)+(D) AC I=1为间接寻址,即(AC)+(D) ACSTA I D ;I=0为直接寻址,即(AC) D; I=1为间接寻址,即(AC) (D)LDA I D ;I=0为直接寻址,即(D) AC; I=1为间接寻址,即(D) ACJMP I D ;I=0为直接寻址,即(D) PC; I=1为间接寻址,即(D) PCALU状态寄存器ACPCAR指令译码器操作控制器存储器数据总线OPIR(AR)+1PC ARMREQR/WDBUS ARDBUS PCDR ACDR ACDR ALUIRDRDR IRI
22、R(AR) DBUS+_DBUS DRDR DBUS(1) 根据CPU结构框图写出指令的操作流程图,如下图所示:I=1?I=1?I=1?I=1?0 ACM ARM ARM DBUSDBUS PCPC ARM DR DR IRPC+1 PCPC ARR, DBUS DRDR IR+1CLAIR15IR14IR13=000ADD001STA010LDA011JMP100IR(AR) DBUSDBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS NYM DR(AC)+(DR) ACNYM AR AC DR DR M M DR DR ACNY
23、(IR12)=1NY(IR12)=1(IR12)=1(IR12)=1(2)选同步控制方式(3) 选二级时序 由于以上指令均是单操作数指令,所以安排三个机器周期:取指周期FETCH、取数周期DOF、执行周期EXEC。每个机器周期安排四个节拍T1、T2、T3和T4,时序见下图所示。FETCHDOFEXECT1T3T4取指周期取数周期执行周期指令周期CLKT2(4)为微操作序列安排时序I=1?I=1?I=1?I=1?CPC ARR, +1 DBUS DRDR IRCLAADDSTALDAJMPIR(AR) DBUSDBUS ARIR(AR) DBUS DBUS ARIR(AR) DBUS DBUS
24、ARIR(AR) DBUS NYNY AC DR NYNY(IR12)=1(IR12)=1FETCHT1T2T3T4RDBUSARRDBUSARRDBUSARDBUS ARRDBUS DRDR ALU+WRDBUS DRDR ACT1T2T3T4DOFT1T2T3T4EXECRDBUSPCDR DBUS(5).操作时间表见下表:微操作 FETCHT1 T2 T3 T4 DOFEXECPC ARR/W=1 R/W=0MREQDR IR+1CIR(AR) DBUSALLALLALLALLALLT1 T2 T3T4CLA*ICLA*I T1T2T3T4ADD+LDAADD+LDASTASTACLAC
25、LA(5).操作时间表见下表:微操作 FETCHT1 T2 T3 T4DOFEXECT1T2T3T4T1T2T3T4DBUS ARDBUS DRDBUS PCDR ALUDR ACAC DR+ALLADD+LDA JMPADDLDASTAADDADD+STA+LDA+JMP*I(ADD+STA+LDA)*IDR DBUSSTA(6).综合微操作表达式如下: PC AR=FETCH*T1 R/W=FETCH*T2+DOF*T3*CLA*I+EXEC*T1*(ADD+LDA) R/W=STA*EXEC*T2MREQ=FETCH*T2+DOF*T3*CLA*I+EXEC*T1*(ADD+LDA)+S
26、TA*EXEC*T2 (7)逻辑电路框图如下所示:OPARI指令译码器时序产生器组合逻辑控制器LDAADDSTA LDAJMPIRIIR0IR11IR12IR13IR14IR15FETCHDOFEXECT1T2 T3T4PC ARDBUS DRDBUS PC+微操作控制信号OPI ARIR0IR11IR12IR13 IR14IR15译码器译码器FETCHDOFEXEC时钟系统节拍发生器=&=T1T2T4DBUS DRLDAADDI=0I=1微操作控制信号DBUS DR的逻辑表达式为:DBUS DR=FETCH*T3+EXEC*(ADD+LDA)*T2&微操作执行逻辑示意图T31
27、微程序控制概念(1)微程序控制方式的基本思想将机器指令分解为基本的微命令序列,用二进制代码表示这些微命令,并编成微指令,多条微指令再形成微程序。每种机器指令对应一段微程序,在制造CPU时固化在CPU中的一个控制存储器(CM)中。执行一条机器指令时,CPU依次从CM中取微指令,从而产生微命令。一条微指令包含的微命令,控制实现一个节拍的操作;若干条微指令组成的一小段微程序解释执行一条机器指令;CM中的微程序能解释执行整个指令系统的所有机器指令。微程序控制器框图如图下图所示。后续微地址形成电路微地址寄存器地址译码驱动机器指令寄存器IR主存储器器RAM译 码微操作控制字段顺序控制字段.控制存储器ROM
28、微程序控制器原理框图微指令寄存器微命令转移地址来源运行状态指令操作码微程序控制器的核心是控制存储器CM,用它存放各指令对应的微程序,CM可用只读存储器ROM构成。若采用可擦除可编程只读存储路EPROM作CM,则有利于微程序的修改和动态微程序设计。控制存储器CM的一行表示存放的一条微指令,列线输出微指令代码。行列交叉处有黑点者表示该位信息为“1”,行列交叉处无黑点者表示该位信息为“0”。微指令寄存器存放从CM中读出的微指令,它包含两大部分:微操作控制字段(微命令字段)和顺序控制字段(微地址字段)。微命令字段可直接按位或通过译码提供微命令。顺序控制字段用于控制产生下一条微指令地址或由微指令地址形成
29、电路按有关条件形成。(2)微程序的执行过程由于已将机器所有指令对应的微程序放在CM中,其一条机器指令对应的一段微程序执行过程可描述如下: 根据微地址寄存器的内容,从CM的0号(或l号)单元中读出一条“取指令”微指令,送到微指令寄存器。这是一条公用微指令,该微指令的微命令字段产生有关控制信号,完成从存储器中取出机器指令送往指令寄存器IR,并修改程序计数器PC的内容。IR中机器指令的操作码通过微地址形成电路形成这条指令对应的微程序入口地址,送入微地址寄存器中。根据微地址寄存器中的微地址从CM中取出对应微程序的一条微指令,其微命令字段产生一组微命令控制有关操作:由顺序控制字段形成下一条微指令地址,送
30、入微地址寄存器。重复步骤直到该机器指令的微程序执行完。 执行完一条机器指令的微程序后,返回到CM的0号(或1号)微地址单元,重复步骤,读取“取指令”微指令,以便取下一条机器指令。 由此可见,在采用微程序控制的机器中,一条机器指令是由对应的一段微程序解释执行的。这表明在这种机器中存在两个层次:一个是程序员所看到的传统机器级,即机器指令、工作程序、主存储器;另一个更低的层次是设计者看到的微程序控制级,即微指令、微程序和控制存储器。(3)基本概念和术语微命令与微操作微命令控制完成微操作的命令。例如:打开或关闭某个控制门的电位信号,某个寄存器的打入脉冲等。微命令由控制器通过控制线向有关的部件发出。微操
31、作由微命令控制实现的最基本操作。注意:在组合逻辑控制器中也存在微命令、微操作这两个概念,它们并非只是微程序控制方式的专用概念。 微指令与微周期 微指令若干个微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。 微周期通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。与指令周期的时序控制相类似,一个微周期内的每个微命令由同步脉冲定时。一个微周期究竟应包含多少个同步脉冲视需要而定。若一个微周期的全部微命令用一个同步脉冲定时,则这种微周期称为单周期,该同步脉冲又称单相同步脉冲;若一个微周期内一个以上的同步脉冲定时全部微命令,则称多周期,同步脉冲又称多相同步脉冲。机器
32、语言程序与微程序,主存储器与控制存储器主存储器用于存放程序和数据,在CPU外部,用RAM来实现。控制存储器用于存放微程序,在CPU内部,用ROM来实现。一系列指令的有序集合称为机器语言程序。一系列微指令的有序集合称为微程序,一条指令的功能由一段微程序来实现。 2微指令编码方法(1)直接控制编码(不译码法/直接控制的水平型微指令) 直接控制编码是指微指令的微命令字段中每一位都代表一个微命令。设计微指令时,选用或不选用某个微命令,只要将表示该微命令的对应位设置成1或0就可以了。因此,微命令的产生不需译码。 这种编码的优点是简单、直观,执行速度快,操作并行性最好;其缺点是微指令字长过长,使控制存储器
33、单元的位数过多。而且,在给定的任何一个微指令中,往往只需部分微命令,因此只有部分位置置1,造成有效的空间不能充分利用。 (2)分段直接编译法(编码控制的水平型微指令)相斥性微命令和相容性微命令:同一微周期中不能同时出现的微命令称为相斥性微命令;在同一微周期中可以同时出现的微命令称为相容性微命令。分段直接编译法:将微指令的微命令字段分成若干小字段,把相斥性微命令组合在同一字段中,而把相容性微命令组合在不同的字段中,每个字段独立编码,每种编码代表一个微命令且各字段编码含义单独定义,与其他字段无关,这就称为分段直接编译法。分段的原则: A互斥性的微命令分在同一段内,兼容性的微命令分在不同段内; B与
34、数据通路结构相适应; C每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间; D一般每个小段还要留出一个状态,表示本字段不发出任何现行命令,因此当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作。 (3)分段间接编译法:分段间接编译法是在直接编译法基础上,进一步缩短微指令字长的一种编码方法。在这种编译法中,一个字段的含义不仅决定于本字段编码,还兼由其他字段来解释,以便使用较少的信息位表示更多的微命令。(4)混合控制法:直接控制法与译码控制法的混合使用。以上4种微指令格式我们称之为水平型微指令。(5)垂直型微指令微指令中设置微操作码字段,采用微操作码编
35、译法,由微操作码规定微指令的功能,称之为垂直型微指令。垂直型微指令的结构类似于机器指令的结构。它有操作码,在一条微指令中只有12个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多。它是采用较长的微程序结构去换取较短的微指令结构。 (6)水平型微指令与垂直型微指令的比较水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。在一条水平型微指令中,设置有控制信息传送通路(门)以及进行所有操作的微命令,因此在进行微程序设计时,可以同时定义比较多的并行操作的微命令,来控制尽可能多的并行信息传送,从而使水平型微指令具有效率高及灵活性强的优点。在
36、一条垂直型微指令中,一般只能完成一个操作,控制一两个信息传送通路,因此微指令的并行操作能力低,效率低。水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。 因为水平型微指令的并行操作能力强,因此与垂直型微指令相比,可以用较少的微指令数来实现一条指令的功能,从而缩短了指令的执行时间。而且当执行一条微指令时,水平型微指令的微命令一般直接控制对象,而垂直型微指令要经过译码,会影响速度。由水平型微指令解释指令的微程序,具有微指令字较长而微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。 水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。 水平型微指令与机
37、器指令差别很大,一般需要对机器的结构、数据通路、时序系统以及微命令很精通才能设计。 3微程序的顺序控制(1)微程序入口地址的形成由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控制存储器的0号或1号单元开始的一段CM空间。 每一条机器指令对应着一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。这是一种多分支(或多路转移)的情况,常用以下方式形成入口地址:如操作码为P,则入口地址为P或P。(2)后继微地址的形成 在转移到一条机器指令对应的微程序入口地址后,则开始执行微程序,这时每
38、条微指令执行完毕时,需根据其中的顺序控制字段的要求形成后继微指令地址。计数器方式(增量方式):这种方式与用程序计数器产生机器指令地址的方式相类似。在顺序执行微指令时,后续微指令地址由现行微指令加上一个增量来产生:在非顺序执行微指令时,由转移微指令实行转移,转移微指令的控制字段分成两部分:条件选择字段与转移地址字段。由这两个字段结合,当转移条件满足时,将转移地址字段作为下一个微地址:若转移条件不满足,则直接从微程序计数器中取得下一条指令。用计数器法产生微地址的缺点是微程序中会出现大量的转移微指令,它们约占整个微指令数的25,导致执行时间大大增加; 另外,在编制微程序中,因微指令的地址受到限制,因
39、而不方便;要区分微命令微指令和转移微指令使得微程序控制电路复杂化。下址字段法(也称为断定方式):下址字段法与计数器法不同,它不采用uPC,而是在微指令格式中,设置一个下址字段,用于指明下一条要执行的微指令地址。当一条微指令被取出时,下一条微指令的地址已获得。它相当于每条微指令都具有转移微指令的功能。采用这种方法就不必设置专门的转移微指令,但增加了微指令字的长度。增量方式与断定方式的结合:在这种控制方式中微指令寄存器有计数的功能,但在微指令中仍设置一个顺序控制字段,它分成两部分:条件选择字段与转移地址字段。由这两个字段结合,当转移条件满足时,将转移地址字段作为下一个微地址;若无转移要求,则直接从
40、微程序计数器中取得下一条指令。 4微指令执行方式串行执行方式:串行执行方式,又称顺序执行方式。它是指取微指令、执行微指令完全按顺序进行,即只有在上一条微指令执行完后,才能取下一条微指令。串行执行方式微指令执行速度慢,但微程序控制器结构简单。并行执行方式:并行执行方式,又称重叠执行方式,在这种方式中,取微指令与执行微指令是重叠进行的。在一条微指令取出并开始执行时,同时去取下一条微指令。由于一个微周期内执行微操作的时间与取下一条微指令的时间是重叠的,因此,大大缩短了微指令的执行周期,加快了微指令序列的执行速度。需要指出的是这些优点是用控制的复杂性换来的,即为了解决由重叠引起的各种问题,使微程序控制
41、器的结构复杂化。 例:已知某计算机有80条指令 ,平均每条指令由 12条微指令组成,其中有一条取指微指令是所有指令共用的,设微指令长度为32位,计算CM容量. 解:微指令所占的二进制位数=(1+8011)32=88132 所以,CM容量可选1K32 5.微程序控制器设计举例 微程序控制器的设计步骤: (1)根据CPU的结构图写出每条指令的操作流程图并分解成微操作序列 (2)使用混合控制法对微命令进行编码 (3)选择合适的控制时序 (4)用下址法为微指令安排微地址 (5)画出微程序控制器组成框图 自测题及参考答案自测题及参考答案1微命令和微操作、微指令和机器指令、程序和微程序、主存储器和控制存储
42、器这几个概念有何区别?解:微命令:控制完成微操作的命令。 微操作:由微命令控制实现的最基本操作。 微指令:若干个微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。 机器指令:是完成一个特定功能的命令。 程序:一系列指令的有序集合。 微程序:一系列微指令的有序集合。 主存储器:用来存放程序员机器指令为单位所编制的程序。由于解决不同问题的程序中所包含的机器指令、数据及机器指令条数可能有所不同,所以主存单元内容是可以更新的,因此主存储器是可读可写的随机访问存储器。主存储器在CPU外部。 控制存储器:用来存放机器设计者以微指令为基本单位编制的微程序。由于机器的指令系统是固定的,所
43、以实现指令系统的微程序也是固定的,并且在CPU执行机器指令时,控制存储器只能被读出,不能写入,故控制存储器用只读存储器来实现。控制存储器在CPU内部。 2(1)画出微程序控制器框图; (2)简述其工作原理。解: (1)微程序控制器框图如下图所示, (2)微程序控制器将一条指令解释成控制存储器中的一段微程序,通过执行微程序完成该指令要求的操作。 微程序控制器的工作原理如下:控制器复位后将取指微指令的地址送CMAR,根据CMAR中的微地址,读取取微指令,将指令取到IR。控制器根据IR中的指令操作码形成该指令的微程序入口地址送CMAR,根据CMAR中的微地址,读取控制存储器,将微指令送入IR。微指令
44、的控制字段经译码器产生一组微命令,送到有关部件,控制完成一组微操作。同时,由微地址转移逻辑和微指令的下址字段共同给出下一条微指令的地址,再桉CMAR中的微地址取微指令、执行微指令直到这条指令的全部微程序执行完毕为止,然后又自动地转入取指令微程序,开始下一条指令的执行。不断重复上述全过程,直到程序执行完毕为止。 3什么是指令周期、机器周期(CPU周期)和T周期?指令的解释有哪3种控制方式?答:指令周期是完成一条指令所需的时间,包括取指令、分析指令和执行指令所需的全部时间。指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期。时钟周期是时钟频率的倒数,也可
45、称为节拍脉冲或T周期,是处理操作的最基本单位。一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。 指令的解释有组合逻辑控制方式、PLA控制方式和微程序控制方式3种。 4.简述组合逻辑控制器和微程序控制的特点及应用场合。答:(1)组合逻辑的特点: 组合逻辑的优点是: 由于控制器的速度取决于电路延迟,所以速度较快。组合逻辑的主要缺点是: 由于将控制部件看成专门产生固定时序控制信号的逻辑电路,所以把用最少元件和取得最高速度作为设计目标。一旦设计完成,不可能通过其他的修改添加新功能。 组合逻辑应用于精简指令系统的计算机中。 (2)微程序控制的特点:微程序控制的主要优点是:同组合逻辑
46、控制器相比,微程序控制具有规整性、灵活性、可维护性等一系列优点。微程序控制的主要缺点是:由于微程序控制器采用了存储程序原理,所以每条指令都要从控存中取一次,所以影响了速度。微程序控制应用于复杂指令系统的计算机中。从当前的发展趋势看,在通用CPU中,由于设计上的困难和差错,单纯采用硬连线方式并不好控制,所以硬连线很少使用。同时单纯使用微程序控制器会受到时间频率越来越高的 影响,无法取得更好的综合性能,所以也很少使用。现代通用CPU一般采用微程序控制和硬连线的结合方式构成。5试述控制器的基本功能及实现每一功能必须具备的相应设置的条件。答:控制器是全机的指挥中心,其基本功能就是执行指令。指令的执行包括以下过程:(1)取指令: 根据指令计数器PC提供的地址从主存储器中读取现行指令,送到主存数据缓冲器MDR中,然后再送往CPU内的指令寄存器IR中。同时改变指令计数器的内容,使之指向下一条指令地址或紧跟现行指令的立即数或地址码。所以实现取指令的功能需设置指令计数器P和指令寄存器IR,存储器地址寄存器MAR和存储器数据缓冲器MDR。 (2)分析指令:如果采用组合逻辑控制器,则通过译码电路译出IR中指令各字段表示什么操作,并在时序系统的配合下产生该指令对应的微操作命令序列;如采用微程序控制器,则可根据指令的操作码与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论