版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章中央处理器CPU的结构和功能控制器的功能和设计并行处理技术CPU的功能中央处理器(CentralProcessingUnit,简称CPU)是计算机的核心组成部分,它对整个计算机系统的运行是极其重要的,它具有四方面的基本功能:指令控制程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。因此,保证机器按顺序执行程序是CPU的首要任务。CPU的功能操作控制一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。时间控制对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。只有这样,计算机才能有条不紊地自动工作。CPU的功能数据加工数据加工就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,是CPU的根本任务。CPU的组成CPU运算器控制器程序计数器指令寄存器指令译码器时序产生器操作控制器地址寄存器完成协调和指挥整个计算机系统的操作。在控制器的控制下完成各种算术和逻辑运算功能算术逻辑单元ALU累加寄存器数据缓冲寄存器状态条件寄存器CPU的组成CPU的组成时序产生器用来产生计算机工作过程中所需要的各种时序信号,通常由系统主时钟、节拍信号发生器和启停逻辑等部件组成。操作控制器任何指令的执行过程都是一个微操作序列的产生过程,操作控制器用来产生与各条指令相对应的微操作控制信号。CPU中的主要寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据缓冲寄存器中,然后再传送至指令寄存器。数据缓冲寄存器(DR)指令寄存器(IR)CPU中的主要寄存器指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,指令译码器必须对操作码进行测试,以便识别所要求的操作。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。CPU中的主要寄存器计算机的工作过程是由人把要解决的问题编制成程序,把程序预先输入到存储器中,在执行时CPU把这些指令一条条地取出来,加以译码和执行。计算机所以能自动地一条一条地取出并执行指令,是因为CPU中有程序计数器(PC)。程序计数器(PC)用来确定下一条指令的地址。CPU中的主要寄存器在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此PC的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。在程序执行过程中,PC始终保存下一条指令的地址。程序计数器(PC)CPU中的主要寄存器地址寄存器(AR)地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。当CPU和内存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。CPU中的主要寄存器累加寄存器(AC)其功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。累加寄存器AC通常简称为累加器,它是一个通用寄存器。CPU中的主要寄存器状态条件寄存器(PSW)状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),这些标志位通常分别由1位触发器保存。
除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。
指令的执行过程在计算机内运行的程序必须事先经输入设备输入到主存储器中,然后CPU从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令……,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。任何一条机器指令必须从主存储器中取出来才能被执行,因此指令的执行过程应从取指令开始到执行完指令功能为止。指令周期几个相关的时间概念:指令周期:完成一条指令所需的时间,包括取指令、分析指令和执行指令所需的全部时间。机器周期:机器周期也称作CPU周期,是CPU从内存中读取一个指令字的最短时间,通常等于取指时间(或访存时间)。时钟周期:时钟频率的倒数,也可称为节拍脉冲或T周期,是处理操作的最基本单位。指令周期三者的关系:一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。指令周期由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。任何一条指令,它的指令周期至少需要两个CPU周期,而复杂一些的指令周期,则需要更多的CPU周期。通常将指令周期分成两个阶段——取指令、分析指令阶段和执行指令阶段。第一个阶段完成取指令和分析指令功能,对所有指令阶段都相同,因此也称为公共操作阶段。不同的指令功能体现在执行指令的各个阶段中。指令周期CLA指令的指令周期ADD指令的指令周期指令周期取指令阶段是公共操作阶段,对所有指令都相同。在这个阶段,CPU的动作为:(1)程序计数器PC的内容送地址寄存器AR;PC→AR(2)程序计数器PC的内容加1,为取下一条指令做好准备;PC+1→PC(3)地址寄存器AR的内容放到地址总线ABUS上;AR→ABUS(4)所选存储单元的内容经过数据总线DBUS,传送到数据缓冲寄存器DR中;
M→DBUS→DR指令周期(5)数据缓冲寄存器DR的内容送到指令寄存器IR;DR→IR(6)指令寄存器中的操作码被译码或测试;(7)CPU识别出是指令类型,发出相应的信号,至此,取指令阶段即告结束。用框图描述为:
PC→AR→ABUSDBUS→DR→IRPC+1指令周期
PC→AR→ABUSDBUS→DR→IRPC+1指令周期在指令执行阶段,针对不同指令CPU进行的操作是不同的。CLA指令的执行阶段,CPU的动作为:(1)操作控制器送一控制信号给算术逻辑运算单元ALU;(2)ALU响应该控制信号,将累加寄存器AC的内容全部清零。指令周期1.送操作数地址第二个CPU周期主要完成送操作数地址,即把指令寄存器中的地址码部分装入地址寄存器。IR(D)→AR2.两操作数相加第三个CPU周期主要完成取操作数并执行加法操作。(1)把地址寄存器AR中的操作数的地址发送到地址总线上;AR→ABUSADD指令的执行阶段,CPU的动作为:指令周期(2)从存储单元中读出操作数,并经过数据总线传送到缓冲寄存器;M→DBUS→DR(3)执行加操作:将数据缓冲寄存器DR来的操作数送往ALU的一个输入端,将累加器内的另一个操作数送往ALU的另一输入端,ALU将两数相加,将产生的结果放回累加寄存器。DR→ALUAC→ALU+→AC取指和执行过程请见CAI演示例题1例:CPU结构如图所示,其中包括一个累加寄存器AC、一个状态寄存器和其他四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。(1)标明图中四个寄存器的名称。(2)简述取指令的数据通路。D主存储器MAACALU状态寄存器操作控制器BC+1例题1(3)简述完成指令LDAX的数据通路(X为内存地址,LDA功能为(X)→(AC))。(4)简述完成指令ADDY的数据通路(Y为内存地址,ADD功能为(AC)+(Y)→(AC))。(5)简述完成指令STAZ的数据通路(Z为内存地址,STA功能为(AC)→(Z)).D主存储器MAACALU状态寄存器操作控制器BC+1例题1(1)A—数据缓冲寄存器DRB—指令寄存器IRC—地址寄存器ARD--程序记数器PC(3)LDAX的数据通路:X→AR→M→DR→AC(2)取指令的数据通路:PC→AR→M→DR→IR(4)ADDY:Y→AR→M→DR→ALU→ADD→AC(5)STAZ:Z→AR,AC→DR→MD主存储器MAACALU状态寄存器操作控制器BC+1思考用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。由此可见,时间控制对计算机来说是太重要了。总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。节拍因为计算机在工作过程中是一个指令周期接一个指令周期,在一个指令周期内部是一个机器周期接一个机器周期,在一个机器周期内部是一个节拍接一个节拍地工作。节拍:在一个机器周期内,要完成若干个微操作.这些微操作有的可以同时进行,有的需要按先后次序串行执行。因而应把一个机器周期分为若干个相等的时间段,每一个时间对应一个电位信号,称为节拍电位信号。节拍电位节拍的宽度取决于CPU完成一次微操作的时间,如:ALU一次正确的运算,寄存器间的一次传送等。节拍电位在各条不同指令的不同机器周期的不同节拍中应产生什么微操作控制信号是由指令操作流程图严格规定的,所以时序部件实质上只需要产生各个机器周期中的节拍信息。节拍脉冲所有的操作是按节拍进行的,在节拍电位有效期间产生的脉冲叫做“节拍脉冲”。一个节拍中可产生多个节拍脉冲。节拍电位节拍脉冲m1m2节拍电位与节拍脉冲在广泛应用的微型计算机中,一个节拍期间产生一个节拍脉冲就足够了,只是这个节拍脉冲必须位于节拍电位的中后期。而且将一个节拍的持续时间定为一个主时钟周期,主时钟本身便可作节拍脉冲用。第一节拍mm第二节拍节拍电位节拍脉冲(主时钟)于是时序部件只需要产生节拍电位信号就足够了,每个节拍中需要的节拍脉冲可由主时钟来代替,使得时序部件得以简化。节拍电位与节拍脉冲节拍电位和节拍脉冲所起的控制作用是不同的。电位信号是信息的载体,即控制信号,它在数据通路传输中起着开门或关门的作用;节拍脉冲则作为打入脉冲加在触发器的脉冲输入端,起到定时触发器的作用。通常,触发器使用电位——脉冲工作方式,节拍电位控制信息送到D触发器的D输入端,节拍脉冲送到CP输入端。逻辑电路逻辑电路信息节拍电位打入条件节拍脉冲QQDCP节拍脉冲节拍电位节拍的选取由于不同的机器周期内需要完成的微操作内容和个数是不同的,因此,不同机器周期内所需要的节拍数也不同。节拍的选取有几种方法:统一节拍法以最复杂的机器周期为准定出节拍数。这种方法采用统一的、具有相等时间间隔和相同数目的节拍,使得所有的机器周期长度是相等的,因此称为定长CPU周期。节拍的选取在照顾多数机器周期要求的情况下,选取适当的节拍数作为基本节拍。如果在某个机器周期内统一的节拍数无法完成该周期的全部操作,则延长一个或两个节拍。分散节拍法按照机器周期的实际需要安排节拍数,需要多少节拍,就发出多少节拍。这种方法可以避免浪费,提高时间利用率。由于各机器周期长度不同,因此称为不定长CPU周期。延长节拍法时序部件脉冲源脉冲源即主时钟,通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成。脉冲源在机器上电后立即产生时钟脉冲序列,直到关电源为止,不允许有任何的间断。它相当于人的脉搏。节拍信号发生器节拍信号发生器产生各个机器周期中的节拍信号。时序部件用来产生计算机在执行机器指令过程中的时序信号。时序部件通常由脉冲源、节拍电位发生器和启停逻辑三部分组成。时序部件启停逻辑计算机上电后会立即产生一定频率的主时钟,这并不意味着计算机已开始工作。只有通过启停逻辑部件将机器启动起来,时序部件才开始产生节拍信息(节拍电位和节拍脉冲),以控制全机开始工作。控制方式控制器控制一条指令执行的过程,实质上是依次执行一个确定的微操作序列的过程。由于不同指令所对应的微操作数及其复杂程度不同,因此每条指令和每个微操作所需的执行时间也不同。将如何形成控制不同微操作序列所采用的时序控制方式称为控制器的控制方式。常用的控制方式有同步控制、异步控制和混合控制等三种不同的控制方式。控制方式同步控制同步控制方式又被称做统一控制方式,使所有机器指令具有完全相同的执行时间,即指令周期相同。显然,只能按照指令系统中功能最强、执行时间最长的指令来确定指令周期的长度。例如某指令系统中执行时间最长的指令需要20个节拍才能完成全部功能,而最简单的指令只需要4个节拍,那么全机统一的指令周期只能定义为20个节拍,于是执行任何一条指令都要给出20个节拍的时间,这对于许多简单指令来说将造成时间上的很大浪费。特点:控制简单,容易实现,但是不利于发挥计算机高速运算的潜力。控制方式异步控制方式又可称做“分散控制方式”,按照各条机器指令的实际需要设置它们的指令周期。每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。特点:不浪费时间,但控制上太复杂,一个指令系统中可能包含十几种甚至几十种不同长度的指令周期,这对时序部件的要求太高,实现起来比较困难。控制方式混合控制方式集中以上两种控制方式的优点。情况(1)
大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束;情况(2)机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。特点:不浪费很多时间,控制上又不很复杂,成为现代计算机中广泛采用的控制方式。控制器一台数字计算机基本上可以划分为两大部分——控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器而言,就是执行部件。控制器的结构可分为组合逻辑型、PLA控制型和微程序控制型几种。控制器也称为硬布线控制器,是早期计算机的一种设计方法。它直接由各种类型的逻辑门和触发器等构成一般来说,其设计过程为:微操作综合形式逻辑表达式化简逻辑表达式用逻辑部件实现逻辑表达式优点:速度快,微操作控制信号的产生速度取决于所使用逻辑门的延迟时间。缺点:由于微操作控制信号少则几十个,多则几百个甚至更多,因此设计工作量大,而且不便于修改。并且设计非常烦琐,非常具体,不允许有任何错误,一旦设计完毕,要作任何修改将非常困难。组合逻辑控制器控制器PLA控制器的设计方法与组合逻辑控制器相同,只是实现方法不同,它采用PLA阵列,所以,从设计思想来看是组合逻辑控制器,从实现方法来看是存储逻辑控制器。将机器指令的操作(从取指令到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,实现机器指令要求的信息传送与加工。微程序控制器又称存储逻辑控制器。
PLA控制器微程序控制器控制器微程序控制器的核心部件是存储微程序的控制存储器(CM),一般用只读存储器(ROM)构成,而EPROM的出现为修改微程序提供了可能。微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一定的规则进行信息编码(代码化),形成控制字(微指令),在把这些微指令按时间先后排列起来构成微程序,存放在CM中。微程序控制器基本思想利用软件方法来设计硬件的一门技术,即仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到控制存储器中。当机器运行时,逐条读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。微程序控制器基本概念微命令——控制部件通过控制线向执行部件发出各种控制命令,它是构成控制序列的最小单位。微操作——执行部件接受微命令后所进行的操作。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微指令——在机器的一个节拍中,一组实现一定操作功能的微命令。微程序——实现一条机器指令功能的许多条微指令组成的序列。微程序控制器基本概念微指令周期——执行一条微指令和取出下一条微指令所需的时间。通常一个微指令周期与一个CPU周期的时间相等。相斥性微命令——不能在同一个微周期中出现的微命令。相容性微命令——能在同一个微周期中出现的微命令。微地址——存放控制字的控制存储器的单元地址。微程序控制器要求计算机完成的任务确定了一定的算法以后便可编写相应的程序,最终成为机器可直接执行的机器语言程序,而任何一条机器指令可由一段微程序来解释,它们之间的关系如图:ADDR1,R2STAm112:iI+1:m机器语言程序问题的算法12:n12:kADD指令微程序STA指令微程序将硬件软化成为微程序微程序控制器显然,各条机器指令所对应的微程序长度可各不相同,它取决于机器指令功能的强弱,当然也与微指令本身的功能强弱有关。于是机器指令的执行过程就成为与之相对应的微程序的执行过程,机器指令执行过程中需要的微命令便由各条微指令来产生。这种控制方式称做微程序控制方式,其相应的部件称做“微程序控制器”。微程序控制器微程序是由微指令组成的,用于描述机器指令,它实际上是机器指令的实时解释器,是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户。程序由机器指令组成,是由软件设计人员事先编制好并存放在主存或辅存中的。所以说,微程序控制的计算机涉及两个层次:一个是机器语言或汇编语言程序员看到的传统机器层,包括:机器指令、工作程序和主存储器;另一个是机器设计者看到的微程序层,包括:微指令、微程序和控制存储器。微程序控制器(1)一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。即:一条机器指令所完成的操作分若干条微指令来完成,由微指令进行解释和执行。(2)指令、程序、地址与内存储器有关;微指令、微程序、微地址与控制存储器有关。(3)每一个CPU周期就对应一条微指令。机器指令与微指令的关系微程序控制器采用微程序控制的计算机,把所有的微程序集中存放在一个独立的存储器中,通常将其称之为控制存储器CM(ControlMemory)。由于微程序一旦设计完毕,不允许改变,只允许执行,因此控制存储器通常由EPROM构成,每条微指令在控制存储器中占用一个地址,控制存储器的容量取决于微指令的字长和微程序的总长度。【问】一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系?微程序控制器一条机器指令的功能是由若干条微指令组成的序列来实现的指令、程序、地址与内存储器有关微指令、微程序、微地址与控制存储器有关微程序控制器原理框图
微程序控制器由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。微程序控制器原理框图
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。读出一条微指令并执行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。微程序控制器原理框图在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。微指令格式微指令与机器指令类似,由微操作码和微地址码构成。微操作码部分用来确定该微指令所能产生的微命令,因此可称它为“控制字段”;微地址码用来确定将要执行的下条微指令在控制存储器中的地址。微指令的控制字段根据微指令中控制字段的构成方式可分为水平型和垂直型两种格式。微指令格式(1)水平型微指令水平型微指令指一次能定义并执行多个并行操作控制信号的微命令。其一般格式为:控制字段判别测试字段下地址字段按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译码法)微指令字段译码法水平型微指令全水平型和字段译码法水平型相混合的水平型微指令微指令格式全水平型(不译码法)微指令将微指令操作控制字段的每个二进制位定义为一个微命令,直接送往相应的控制点。特点:控制简单,不需要加微命令译码器。但控制字段比较长,而且CM容量较大。因为控制字段的总位数应是全微命令的总个数,而它们同时置1的可能性很少,甚至没有。×××…×地址字段C1C2C3Cn…微指令格式字段译码法水平型微指令将控制字段分成许多个子字段,每个子字段设置一个译码器,任何微命令都是经过译码器后产生的。地址字段××××××××××××××译码器译码器译码器译码器译码器A0A3B0B15C0C7D0D3E0E7A字段B字段C字段D字段E字段显然,任何时候任何一个子段中只能产生一个微命令,即任何一个子字段中所包含的微命令构成一个“相斥类”的微命令组,它们是不允许同时产生的微命令。与此相反,处于不同子字段中的微命令,它们构成一个“相容类”的微命令组,允许它们在一条微指令中并行产生。微指令格式特点:仍具有一定的并行性,其并行产生的微命令的个数取决于子字段的段数。它能有效地缩短控制字段的长度。实际中也可将全水平型和字段译码法水平型结合起来形成混合的的水平型微指令。地址字段××××××××××××××译码器译码器译码器A0A3B0B15C0C7D0D3E0E1E2A字段B字段C字段D字段E字段微指令格式(2)垂直型微指令微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。具体格式为:垂直型微指令完全仿照机器指令的格式,它不具有并行性,每条指令只能产生一个微命令。特点:每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多。地址字段目标部件地址源部件地址×××××译码器水平型微指令和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序较短的特点。垂直型微指令则相反,微指令字比较短而微程序长。(4)水平型微指令的可读性较差,用户难以掌握,而垂直型则较好。微指令格式微指令的地址字段由于微程序在控制存储器中有两种不同的存放方式:连续存放和不连续存放。两种方式下的地址字段格式不同。(1)断定方式控制字段判别测试字段下地址字段也称为“下址字段法”。组成一个微程序的多条微指令在控制存储器中不连续存放,当微程序不产生分支时,后续微地址直接由下地址字段给出,否则有若干个后续地址可以选择,此时必须由的“判别测试”和“状态条件”信息来选择其中一个微地址。微指令格式条件测试字段的长度取决于条件转移类微指令可判定的外部条件的个数。如果外部条件有4个,考虑到还有无条件转移的情况,采用编码方式条件测试字段至少应有3位;微指令地址字段的长度取决于控制存储器的总字数。当一条微指令被取出时,下一条微指令的地址送AR。由于在微指令中设置一个下地址字段来指明下一条要执行的微指令地址,所以无需设置转移微指令,但增加了指令字的长度。控制字段判别测试字段下地址字段微指令格式(2)增量方式也称“计数器方式”,这种方式是模仿机器指令的做法,要求组成一个微程序的多条指令在控制寄存器中连续存放。一般情况下微指令顺序执行,只有遇到转移类指令才会改变微程序的执行顺序。因此微指令中可不包含地址字段,但是同样需要考虑到条件转移类微指令的需要,应设置一个条件测试字段。另外要求控制器中设置一个独立的微程序计数器(pc),一般情况下由pc的不断加“1”计数指向下条微指令的地址,遇到转移类的微指令时,可用修改pc内容的办法来实现微程序的转移。控制字段判别测试字段微指令格式(3)增量方式与断定方式的结合在这种控制方式中,微地址寄存器有计数功能,但在微指令中仍设置一个顺序控制字段,它分成两个部分:条件选择字段与转移地址字段。由这两个字段结合,当转移条件满足时,将转移地址字段作下一个微地址,若无转移要求,则微地址寄存器计数得到下一条微指令的地址。例题【例】微地址寄存器有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。另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:例题μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T4由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了μA2、μA1、μA0触发器的微地址转移逻辑图。微指令格式举例某机共包含17个微命令,各条机器指令中可判定的外部条件共两个:CF和ZF。假定采用断定方式和全水平型微指令格式,控制存储器的总字数为16(字),那么可采用的微指令格式如图所示:2322212019181716151413121110987654321·······················LDR3’LDR1’R1→YR2→YR3→YMRD’LDIR’PC+1LDR2’R1→XR2→XDR→X+-LDDR’LDAR’P1P2直接地址微指令格式举例2322212019181716151413121110987654321·······················LDR3’LDR1’R1→YR2→YR3→YMRD’LDIR’PC+1LDR2’R1→XR2→XDR→X+-LDDR’LDAR’P1P2直接地址可以看出,17位控制字段可分别产生17个微命令,任何一条微指令中要并行产生哪些微命令,只需将相应位置“1‘。微地址地段占4位,表明控制存储器可存放16(=24)条微指令,条件测试字段占2位,采用编码方式,最多可有3个供测试的外部条件,加上不转移的情况正好构成4种编码,该机只提供两个外部条件,即运算结果是否为”0“(ZF=1)和进位位是否为”1“(CF=1),显然是够用了。01010010010000000001001R1+R2→R2垂直型微指令格式举例下面举4条垂直型微指令的微指令格式加以说明。设微指令字长为16位,微操作码3位。(1)寄存器-寄存器传送型微指令其功能是把源寄存器数据送目标寄存器。13—15位为微操作码(下同),源寄存器和目标寄存器编址各5位,可指定31个寄存器。垂直型微指令格式举例(2)运算控制型微指令其功能是选择ALU的左、右两输入源信息,按ALU字段所指定的运算功能(8种操作)进行处理,并将结果送入暂存器中。左、右输入源编址可指定32种信息源之一。垂直型微指令格式举例(3)访问主存微指令其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存。存储器编址是指按规定的寻址方式进行编址。第1,2位指定读操作或写操作(取其之一)。垂直型微指令格式举例(4)条件转移微指令其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令。9位D字段不足以表示一个完整的微地址,但可以用来替代现行μPC的低位地址。测试条件字段有4位,可规定16种测试条件。微程序举例“十进制加法”指令的功能是用BCD码来完成十进制数的加法运算,在运算时,和>9,加6修正。假设数a和b已存放在R1和R2两个寄存器中,数6存放在R3寄存器中。先进行a+b+6运算,然后判断有无进位进行修正。微程序举例微程序举例第一条微指令的二进制编码是00000000000011111100000第二条微指令的二进制编码是01010010010000000001001第三条微指令的二进制编码是01000100110000000010000第四条微指令的二进制编码是010001001001000000000002322212019181716151413121110987654321·······················LDR3’LDR1’R1→YR2→YR3→YMRD’LDIR’PC+1LDR2’R1→XR2→XDR→X+-LDDR’LDAR’P1P2直接地址例题1设某计算机运算器框图如图(a)所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。例题1机器采用串行微程序控制方式,其微指令周期见图(b)。其中读ROM是从控存中读出一条微指令时间,为1μs;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为100ns。例题1RA0RA1:读R0-R3的选择控制WA0WA1:写R0-R3的选择控制R:寄存器读命令W:寄存器写命令LDSA:打入SA的控制信号LDSB:打入SB的控制信号SB-ALU:传送SB的控制信号SB-ALU:传送SB的控制信号,并使加法器最低位加1.Reset:清暂存器SB为零的信号~:一段微程序结束,转入取机器指令的控制信号RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~
微指令字长12位,微指令格式如下:例题1要求:用二进制代码写出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)例题1画出三条指令的微指令的微程序流程图,如下图所示。(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。例题1RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~
微指令格式例题1例:某机采用微程序控制方式,微指令字长24位,水平型编码控制的微指令格式,断定方式,共有微命令30个,构成4个相斥类,各包含5个、8个、14个和3个微命令,外部条件共3个。(1)控制存储器的容量应为多少?(2)设计出微指令的具体格式。微指令格式例题1(1)微指令字长24位,除了15位用于译码和外部条件外,还剩9位用于下地址位,故控制存储器的容量应为512×24。(2)微指令的具体格式为:选5个微命令××××××××××××××××……×3:8译码器4:164:16译码器2:4译码器2:4译码器选8个微命令选14个微命令选5个微命令控制3个转移下地址字段9位………………………………微指令格式例题2例:已知某运算器的基本结构如图所示,它具有+(加)、-(减)、M(传送)三种操作。(1)写出图中1~12表示的运算器操作的微命令。(2)指出相斥性微操作。(3)设计适合此运算的微指令格式。10101112ALU锁存器A锁存器BR1R2R3123789456BUS微指令格式例题2101112ALU锁存器A锁存器BR1R2R3123789456BUS1:+2:-3:M4:R1→A5:R2→A6:R3→A7:R3→B8:R2→B9:R1→B10:BUS→R111:BUS→R212:BUS→R3以下几组命令是相斥的:+、-、MR1→AR2→AR3→AR3→BR2→BR1→BBUS→R1BUS→R2BUS→R3微指令格式例题2此运算器的微指令格式如图:××××××××00:不操作01:+10:-11:M00:不操作01:R1→A10:R2→A11:R3→A00:不操作01:R1→B10:R2→B11:R3→B00:不操作01:BUS→R110:BUS→R211:BUS→R3微程序控制器设计步骤(1)根据CPU的结构图写出每条指令的操作流程图并分解成微操作序列(2)使用混合控制法对微命令进行编码(3)选择合适的控制时序(4)为微指令安排微地址(下址字段法)(5)画出微程序控制器组成框图控制器设计CPU结构图如图所示,设计以下几条指令的微程序控制器.ALU累加器ACDR操作控制器指令译码器OPIR(AR)状态寄存器PCAR存储器MREQR/WDBUSARPCAR+1DBUSPCDBUSDRDRACACDRc+DRALUDRIRIRIR
DBUS…控制器设计CLA;清0ADDID;I=0为直接寻址,即(AC)+(D)AC;I=1为间接寻址,即(AC)+((D))ACSTAID;I=0为直接寻址,即(AC)(D);I=1为间接寻址,即(AC)((D))
LDAID;I=0为直接寻址,即(D)
(AC));I=1为间接寻址,即((D))(AC)JMPID;I=0为直接寻址,即(D)
(PC));I=1为间接寻址,即((D))(PC)控制器设计微程序控制器设计:(1)根据CPU结构框图写出指令的操作流程图PCARR,+1DBUSDRDRIRIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARIR(AR)DBUSDBUSARI=1?I=1?I=1?I=1?R,DBUSARR,DBUSARR,DBUSARR,DBUSARR,DBUSDRDRALU,+ACDRWR,DBUSDRDRACRDBUSPCCYYYYNNNNCLAADDSTALDAJMP控制器设计(2)选同步控制方式,采用二相控制时序如下:T1T2微指令周期微指令周期微指令周期(3)对微命令进行编码。00:不操作01:DBUSAR10:DBUSDR11:DBUSPC*************00:不操作01:DRIR10:DRAC11:DRALU0:不操作1:IR(AR)DBUS0:不操作1:ACDR0:不操作1:+10:不操作1:+0:R/W=01:R/W=10:不操作1:C0:MREQ=01:MREQ=10:微命令1:转移微指令0:不操作1:PCAR断定方式安排微地址(3)安排微地址断定方式(下址字段法)。图中有17条微指令,地址需要5位即可(用二进制表示),但在每一条微指令中均要加一下址字段和控制字段。有两种转移情况,用P1、P2来控制,此时微指令格式为:微命令字段转移控制(P1P2)下址字段(A4A3A2A1A0)转移地址修改方案如下:AR4AR3AR2AR1AR0IR15IR14IR13IR12P1=1P2=1微地址转移逻辑表达式为:AR4=IR15P1T2AR3=IR14P1T2AR2=IR13P1T2AR0=IR12P2T2断定方式安排微地址地址安排如图所示:PCARR,+10000001DBUSDRDRIR10000100000000001IR(AR)DBUSDBUSAR0100100IR(AR)DBUSDBUSAR0101000R,DBUSAR0000100R,DBUSDR0000011DRALU,+000000000011R,DBUSAR0001000ACDR,W0000000C0000000CLA(IR15IR14IR13=000)ADD(IR15IR14IR13=001)STA(IR15IR14IR13=010)0011000010010100010100100IR12=1IR12=001000IR12=0IR12=101001断定方式微程序控制器组成框图控制存储器CM微命令字段P1P2下址字段微命令字段P1P2A4A3A2A1A0地址转移逻辑微指令译码器……时序T1T2微操作命令PCARACDR微地址寄存器P1P2AR4AR3AR2AR0IR指令寄存器IR15IR14IR13IR12P1P2T2微指令寄存器增量方式安排微地址计数器法地址尽量连续,在分支处加一转移微指令。有15条微指令,加一些转移微指令,地址为6位较好安排(用二进制表示)。有两种转移情况,转移微指令格式为:转移微指令标志T转移地址(A5A4A3A2A1A0)转移控制(P1P2)转移地址修改方案如下:微地址转移逻辑表达式为:PC5=IR15P1T2PC4=IR14P1T2PC3=IR13P1T2PC0=IR12P2T2PC5PC4PC3PC1PC0IR15IR14IR13IR12P1=1P2=1PC2增量方式安排微地址地址安排如图所示:PCARR,+1DBUSDRDRIR000000000001IR(AR)DBUSDBUSARIR(AR)DBUSDBUSARR,DBUSARR,DBUSDRDRALU,+010000R,DBUSARACDR,WCCLA(IR15IR14IR13=000)ADD(IR15IR14IR13=001)STA(IR15IR14IR13=010)001011000011010011001110001111IR12=1IR12=0010111IR12=0IR12=1010110T=1000011P1=1000010T=1001110P2=1001100T=1000000P1=0P2=0010001T=1010110P2=1010100T=1000000P1=0P2=0011000增量方式安排微地址IR(AR)DBUSDBUSARIR(AR)DBUSDBUSARR,DBUSARR,DBUSDRDRALU,+100000R,DBUSARR,DBUSPCLDA(IR15IR14IR13=011)JMP(IR15IR14IR13=100)011011100011011110011111IR12=1IR12=0100111IR12=0IR12=1100110T=1011110P2=1011100T=1000000P1=0P2=0100001T=1100110P2=1100100T=1000000P1=0P2=0101000增量方式微程序控制器组成框图控制存储器CM微指令寄存器P1P2地址转移逻辑微指令译码器……时序T1T2微操作命令PCARACDR微程序计数器PCP1P2PC5PC4PC3PC0IR指令寄存器IR15IR14IR13IR12P1P2T……A5A4A3A2A1A0T=0时微指令寄存器输出微操作命令;T=1时微指令寄存器输出转移指令;T1和T2用于定时一条微指令中的微命令;T1=1将转移地址送PC,T2=1时如果P1+P2=1则修改PC。混合方式安排微地址在这种控制方式中,微指令寄存器有计数功能,但微指令中仍设置条件选择字段与转移地址字段。这两个字段相结合,当转移条件满足时,将转移地址字段作下一个微地址;若无转移要求,则直接从微程序计数器中取得下一条指令。此方法不需要专门的转移微指令,有15条微指令,地址需要5位(用二进制表示),有两种转移情况,用P1、P2来控制,微指令格式为:微命令字段转移控制(P1P2)下址字段(A4A3A2A1A0)混合方式安排微地址(1)顺序:P1P2=00,由PC计数得到下址地址;(2)无条件转移:P1P2=01;(3)两分支(P1P2=10):IR12=0则转移,IR12=1则顺序;(4)多分支(P1P2=11):地址修改方案如下:AR4AR3AR2AR1AR0IR15IR14IR13P1=1微地址转移逻辑表达式为:AR4=IR15P1P2T2AR3=IR14P1P2T2AR2=IR13P1P2T2微命令字段转移控制(P1P2)下址字段(A4A3A2A1A0)混合方式安排微地址地址安排如图所示:PCARR,+100DBUSDRDRIR11000100000000001IR(AR)DBUSDBUSAR1001000IR(AR)DBUSDBUSAR1001100R,DBUSAR00R,DBUSDR00DRALU,+010000001001R,DBUSAR00ACDR,W0100000C0100000CLA(IR15IR14IR13=000)ADD(IR15IR14IR13=001)STA(IR15IR14IR13=010)00110000100101000111IR12=1IR12=001100IR12=0IR12=10101101000混合方式微程序控制器组成框图控制存储器CM微命令字段P1P2下址字段微命令字段P1P2A4A3A2A1A0微指令译码器……微操作命令微指令寄存器译码器……30……门2131ARResetT2T1OPI(IR12)IR(AR)逻辑网络32IR1221门1+1微程序控制器工作原理根据取出指令的译码情况,形成该机器指令执行阶段的微程序首地址并将该地址送微地址寄存器,从控制存储器中读出相应的微指令送微指令寄存器,由此产生各种微命令,并由微地址码给出下条微指令地址,重复取微指令、执行微指令的操作,直到微程序中的微指令执行完毕,又返回下一条机器指令的取指阶段。微程序控制器学习要求(1)能根据CPU结构图写出指令的操作流程图,并会分解成微操作信号(2)能对微命令编码(3)能用下址法安排微地址(4)掌握控制器的设计方法指令执行流程例题1例:某机运算器为三总线结构,三总线分别为B1、B2、B3,连接B2、B3的控制信号为G。逻辑部件ALU可进行ADD、SUB、AND、OR、XOR五种运算,输出多路器可进行直送(V)、左移1位(L)、右移1位(R)三种操作。三个通用寄存器R0、R1、R2都有输入和输出信号。R0R1R1R2ALUMADDSUBORANDXORVLRGR0inR1inR2inR0→B2R1→B2R2→B2R0→B1R1→B1R2→B1B3B2B1试写出实现下列功能所需的微操作:(1)4(R0)+(R1)→(R0)(2)1/2((R1)-(R2))→(R1)(3)(R0)→(R2)(4)0→(R1)指令执行流程例题1(1)4(R0)+(R1)→(R0)(2)1/2((R1)-(R2))→(R1)R0→B2R0→B1ADDLR0inR0→B1R1→B2ADD,VR0inR0→B2R0→B1SUBRR1inR1→B1R2→B2(3)(R0)→(R2)R0→B2GR2in(4)0→(R1)SUBVR1inR1→B1R1→B2指令执行流程例题1以下几组操作是互斥的,组与组之间是相容的:(1)R0→B1R1→B1R2→B1(2)R0→B2R1→B2R2→B2(3)R0inR1inR2in(4)V,L,R(5)ADDSUBANDORXOR按字段译码方式设计的微命令格式如下:××××××××××××000:不操作001:ADD010:SUB011:AND100:OR101:XOR00:不操作01:R0→B110:R1→B111:R2→B100:不操作01:R0in10:R1in11:R2in00:不操作01:V10:L11:R00:不操作01:R0→B210:R1→B211:R2→B20:不操作1:G指令执行流程例题1完成(R0)AND(R1)(R2)需要以下几条微指令:(1)R0B1,R1B2(2)AND,V(3)R2in用以上微指令格式表示的微指令如下:(1)011000000000(2)000000010110(3)000011000000指令执行流程例题2例:某双总线模型机如图所示。双总线分别记为B1和B2;图中连线和方向标明数据通路及流向,并注有相应的控制信号(微命令);A、B、C、D为四个通用寄存器;X为暂存器;M为多路选择器,用于选择进入暂存器X的数据,存储器为双端口,分别面向总线B1和B2。ALUXMPC译码OPNABCDAR1DR1MMAR2DR2……B1→PCPC→B1B1B2B1→IRN→B2IR+1∑ADDORAND全“1”→XB1→XB1→XA→B1B1→AB→B1B1→BB1→CB1→DC→B1D→B1A→B2B2→AB→B2B2→BB2→CB2→DC→B2D→B2B1→AR1B1→DR1DR1→B1RD1WR1DR2→B2B2→DR2B2→AR2RD2WR2+1指令执行流程例题2(1)画出该模型机的取指令周期流程。(2)写出指令ADD(A),(B)的执行流程,该指令完成((A))+((B))→(A)。源和目的操作数均为寄存器间接寻址。(3)写出指令SUBN,A的执行流程,该指令完成(N)-(A)→N,源操作数部分为寄存器寻址,目的操作数为指令提供的内存直接地址。(4)写出指令NEG(B+N)的执行流程。该指令完成求相反数。操作数为基址寻址。B寄存器提供基址,指令中提供位移量N。指令执行流程例题2(5)写出指令AND((A)),#N的执行流程。源操作数为指令提供的立即数N,目的操作数为寄存器间接寻址。(6)写出指令JMPLabel的执行流程,该指令完成(PC)+N→(PC),其中N为指令提供的位移量。(7)写出指令DECC的执行流程。(8)设计微指令格式。指令执行流程例题2(2)指令ADD(A),(B)的执行流程:A→AR1B→AR2MM→DR1MM→DR2DR1→XX+B2→DR1DR1→MMA→B1,B1→AR1B→B2,B2→AR2RD1RD2DR1→B1,B1→XADD,B1→DR1WR1(1)取指令周期流程:PC→AR1MM→DR1DR1→IRPC→B1,B1→AR1RD1B1→IRDR1→B1指令执行流程例题2(3)指令SUBN,A的执行流程N→AR2A→B1MM→DR2B1→XX+B2+1→AA→B2B2→DR2DR2→MMN→B2,B2→AR2A→B1RD2B1→XADD,+1∑,B1→A(4)指令NEG(B+N)的执行流程B→B1B1→XN→B2X+B2→AR1DR1→B1MM→DR10→BB1→XB→B2X+B2+1→DR1DR1→MMADD,B1→AR1RD1DR1→B1ADD,B1→DR1;X+1+0→DR1WR1指令执行流程例题2(5)指令AND(A),#N的执行流程A→AR1MM→DR1DR1→XXANDB2→DR1DR1→MMRD1AND,B1→DR1WR1N→B2N→B2A→B1,B1→AR1DR1→B1,B1→X(6)指令JMPLabel的执行流程PC→XN→B2X+B2→PCPC→B1,B1→XADD,B1→PC(7)指令DECC的执行流程C→B2全“1”→XX+B2→CADD,B1→CC→B2指令执行流程例题2(8)按字段编码方式设计的微命令格式为:×××××××××××××××××××××000:不操作001:A→B1010:B→B1011:C→B1100:D→B1101:PC→B1110:DR1→B10000:不操作0001:B1→A0010:B1→B0011:B1→C0100:B1→D0101:B1→PC0110:B1→DR10111:B1→AR11000:B1→IR1001:B1→X1010:B1→X1011:全“1”→X000:不操作001:A→B2010:B→B2011:C→B2100:D→B2101:N→B2110:DR2→B2000:不操作001:B2→A010:B2→B011:B2→C100:B2→D101:B2→AR2110:B2→DR200:不操作01:ADD10:AND11:OR00:不操作01:WR110:RD100:不操作01:WR210:RD20:不操作1:1→∑0:不操作1:+1PC组合逻辑控制器组合逻辑控制器也称为硬布线控制器,是早期计算机的一种设计方法。它直接由各种类型的逻辑门和触发器等构成。一般来说,其设计过程为:微操作综合形式逻辑表达式化简逻辑表达式用逻辑部件实现逻辑表达式组合逻辑控制器组合逻辑控制器与其他部件的关系为:组合逻辑控制器指令译码器标志寄存器时序部件M0…MDT0…TKC0C1CQ……S1S2SLI0I1Im…微操作控制信号程序输入主存储器后,将其首地址置入程序计数器PC中,于是可以启动机器开始工作,首先是PC内容置入AR,并向主存储器发出读命令,于是从主存储器中读出的第一条指令从DR置入IR中,经译码后得知是什么指令。由组合逻辑控制器产生相应的微操作控制信号完成该指令的功能。所有操作都是在微操作控制信号的控制下完成的。组合逻辑控制器设计举例某机有三个寄存器R1,R2,R3,两个暂存器X和Y。该机中共有微操作控制信号20个(C1~C20)。它们各自可完成的操作如表所示:控制信号操作控制信号操作C1LDR1C11M传送C2LDR2C12减运算C3LDR3C13RDMC4R1XC14LDDRC5R1YC15LDIRC6R2XC16LDARC7R2YC17PC+1C8DRXC18LDPCC9R3YC19逻辑与C10+加运算C20WRMADDLDAANDSTAJMPJZ组合逻辑控制器设计举例微操作综合的过程就是根据指令操作流程图的安排,将需要产生同一个微操作控制信号的条件集中起来形成一个逻辑表达式,显然该机中应形成20个逻辑表达式。PCARRDMPC+1PCDRIR指令译码T1T2T3T4RDM(C13)=M1T2+LDAM2T2+ADDM2T2+ANDM2T2LDAR(C16)=M1T1+LDAM2T1+ADDM2T1+ANDM2T1+STAM2T1DRX(C8)=LDAM2T4+ADDM2T4+ANDM2T4LDPC(C18)=JMPM2T1+JZM2T3(ZF=1):化简为:RDM=M1T2+M2T2(LDA+ADD+AND)LDAR=M1T1+M2T1(LDA+STA+ADD+AND)DRX=M2T4(LDA+ADD+AND)LDPC=M2([JMPT1+JZT3(ZF=1)]):组合逻辑控制器设计举例于是可用逻辑电路去实现这些逻辑表达式。YYYYHHHHLDAADDANDM2T2M1T1RDMLDARRDM=M1T2+M2T2(LDA+ADD+AND)LDAR=M1T1+M2T1(LDA+STA+ADD+AND)LDAADDANDSTAM2PLA控制器——可编程逻辑阵列用存储技术来实现组合逻辑或时序逻辑的一种有效方式。ROM一旦写入信息后,它的地址和所存储的信息之间就存在一一对应的固定关系。其地址的译码构成“与阵列”,可产生2n(n是地址码的位数)个乘积项,而各个地址中所存储的信息是根据需要写入的。多个地址中的数据构成的是“或阵列”。PLA可看成是一种特殊的ROM,它们输入的“与阵列”可以小于或等于2n个。它们输出的或阵列是根据要求设计的。这就是说,PLA的“与阵列”和“或阵列”都是可以编程的。PLA控制器——可编程逻辑阵列例如,输入4个变量时最多可形成16个乘积项(与阵列),而实际上只需要8个乘积项Y1~Y8。PLA控制器——可编程逻辑阵列输出只要求3个或阵列(f1~f3)。PLA控制器——可编程逻辑阵列完成与逻辑非常方便,它们的输入和输出端都是可以扩充的。用做微操作控制部件时,其输入端应包含经译码后的指令、时序信号和运算结果的特征等信息。输出端包含全机所需的微操作控制信号,可完成组合逻辑控制器和微程序控制器的功能。其PLA的逻辑结构为:X1X2X3X4Y1Y2Y3Y4Y5Y6Y7Y8••••••••••••••••••••••••••••并行处理技术
为了加快计算机的处理速度,常常采用并行处理技术。并行性的两种含义:同时性指两个以上事件在同一时刻发生;并发性指两个以上事件在同一时间间隔内发生。计算机的并行处理技术概括起来主要有三种形式。并行处理技术
1.时间并行时间并行指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。2.空间并行空间并行指资源重复。空间并行技术主要体现在多处理器系统和多计算机系统。3.时间并行+空间并行指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。流水线的工作原理机器的各部分在某些机器周期内进行操作,而在某些周期内是空闲的。如果控制器调度恰当,让各个部件紧张工作,就可以提高计算机运行速度。加法指令在取指与取操作数周期访问存储器,而运算器不工作;在计算地址与加法运算周期,运算器进行操作而存储器空闲。流水线的工作原理如按4个周期完成一条指令来考虑,串行执行的过程如图:取指1计算地址1取操作数1运算并存结果1取指2计算地址2取操作数2……4条指令重叠执行的过程为:取指计算地址取操作数运算并存结果取指计算地址取操作数运算并存结果取指计算地址取操作数运算并存结果取指计算地址取操作数运算并存结果流水线的工作原理非流水计算机的时空图流水计算机的时空图上条指令的四个子过程全部执行完毕后才能开始下一条指令。因此,每隔4个机器时钟周期才有一个输出结果。执行完两条指令需要8个时钟周期。上一条指令与下一条指令的四个子过程在时间上重叠执行。因此,当流水线满载时,每一个时钟周期就可以输出一个结果。执行完两条指令只需要5个时钟周期.流水线的工作原理超标量流水计算机的时空图标量流水计算机——只有一条指令流水线。超标量流水计算机——具有两条以上的指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论