下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 中央处理器,CPU的结构和功能 控制器的功能和设计 并行处理技术,CPU的功能,中央处理器(Central Processing Unit,简称CPU)是计算机的核心组成部分,它对整个计算机系统的运行是极其重要的,它具有四方面的基本功能:,指令控制,程序的顺序控制称为指令控制。 由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。因此,保证机器按顺序执行程序是CPU的首要任务。,CPU的功能,操作控制,一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件
2、按指令的要求进行动作。,时间控制,对各种操作实施时间上的定时称为时间控制。 在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。只有这样,计算机才能有条不紊地自动工作。,CPU的功能,数据加工,数据加工就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,是CPU的根本任务。,CPU的组成,CPU,运算器,控制器,程序计数器 指令寄存器 指令译码器 时序产生器 操作控制器 地址寄存器,完成协调和指挥整个计算机系统的操作。,在控制器的控制下完成各种算术和逻辑运算功能,算术逻辑单元ALU 累加寄存器 数据缓冲寄存器 状态条件寄存器,CPU的组成,CPU的组成,时序产生
3、器,用来产生计算机工作过程中所需要的各种时序信号,通常由系统主时钟、节拍信号发生器和启停逻辑等部件组成。,操作控制器,任何指令的执行过程都是一个微操作序列的产生过程,操作控制器用来产生与各条指令相对应的微操作控制信号。,CPU中的主要寄存器,用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。,指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据缓冲寄存器中,然后再传送至指令寄存器。,数据缓冲寄存器(DR),指令寄存器(IR),CPU中的主要寄存器,指令划分为操作码和地址码字段,由二进制数字
4、组成。为了执行任何给定的指令,指令译码器必须对操作码进行测试,以便识别所要求的操作。,指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。,CPU中的主要寄存器,计算机的工作过程是由人把要解决的问题编制成程序,把程序预先输入到存储器中,在执行时CPU把这些指令一条条地取出来,加以译码和执行。计算机所以能自动地一条一条地取出并执行指令,是因为CPU中有程序计数器(PC) 。,程序计数器(PC),用来确定下一条指令的地址。,CPU中的主要寄存器,在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此PC的内容即
5、是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。,在程序执行过程中,PC始终保存下一条指令的地址。,程序计数器(PC),CPU中的主要寄存器,地址寄存器(AR),地址寄存器用来保存当前CPU所访问的内存单元的地址。 由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 。,当CPU和内存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。,CPU中的主要寄存器,累加寄存器(AC),其功能是:当运算器的算术逻辑
6、单元ALU执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。,累加寄存器AC通常简称为累加器,它是一个通用寄存器。,CPU中的主要寄存器,状态条件寄存器(PSW),状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),这些标志位通常分别由 1位触发器保存。,除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。,指令的执行过程,在计
7、算机内运行的程序必须事先经输入设备输入到主存储器中, 然后CPU从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。 任何一条机器指令必须从主存储器中取出来才能被执行,因此指令的执行过程应从取指令开始到执行完指令功能为止。,指令周期,几个相关的时间概念:,指令周期:完成一条指令所需的时间,包括取指令、分析指令和执行指令所需的全部时间。 机器周期:机器周期也称作CPU周期,是CPU从内存中读取一个指令字的最短时间,通常等于取指时间(或访存时间)。 时钟周期:时钟频率的倒数,也可称为节拍脉冲或T
8、周期,是处理操作的最基本单位。,指令周期,三者的关系:一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。,指令周期,由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。任何一条指令,它的指令周期至少需要两个CPU周期,而复杂一些的指令周期,则需要更多的CPU周期。,通常将指令周期分成两个阶段取指令、分析指令阶段和执行指令阶段。第一个阶段完成取指令和分析指令功能,对所有指令阶段都相同,因此也称为公共操作阶段。不同的指令功能体现在执行指令的各个阶段中。,指令周期,CLA指令的指令周期,ADD指令的指令周期,指令周期,取指令阶段是公共操作阶段,对所有指
9、令都相同。在这个阶段,CPU的动作为: (1)程序计数器PC的内容送地址寄存器AR;PCAR (2)程序计数器PC的内容加1,为取下一条指令做好准备;PC+1PC (3)地址寄存器AR的内容放到地址总线ABUS上;ARABUS (4)所选存储单元的内容经过数据总线DBUS,传送到数据缓冲寄存器DR中; M DBUSDR,指令周期,(5)数据缓冲寄存器DR的内容送到指令寄存器IR;DRIR (6)指令寄存器中的操作码被译码或测试; (7)CPU识别出是指令类型,发出相应的信号,至此,取指令阶段即告结束。,用框图描述为:,PCARABUS DBUSDRIR PC+1,指令周期,PCARABUS D
10、BUSDRIR PC+1,指令周期,在指令执行阶段,针对不同指令CPU进行的操作是不同的。,CLA指令的执行阶段,CPU的动作为:,(1)操作控制器送一控制信号给算术逻辑运算单元ALU; (2)ALU响应该控制信号,将累加寄存器AC的内容全部清零。,指令周期,1.送操作数地址 第二个CPU周期主要完成送操作数地址,即把指令寄存器中的地址码部分装入地址寄存器。IR(D)AR 2.两操作数相加 第三个CPU周期主要完成取操作数并执行加法操作。(1)把地址寄存器AR中的操作数的地址发送到地址总线上; ARABUS,ADD指令的执行阶段,CPU的动作为:,指令周期,(2)从存储单元中读出操作数,并经过
11、数据总线传送到缓冲寄存器;MDBUSDR (3)执行加操作 :将数据缓冲寄存器DR来的操作数送往ALU的一个输入端,将累加器内的另一个操作数送往ALU的另一输入端,ALU将两数相加,将产生的结果放回累加寄存器。 DRALU ACALU,+,AC,取指和执行过程请见CAI演示,例题1,例:CPU结构如图所示,其中包括一个累加寄存器AC、一个状态寄存器和其他四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。 (1)标明图中四个寄存器的名称。(2)简述取指令的数据通路。,例题1,(3)简述完成指令LDA X 的数据通路(X为内存地址,LDA功能为(X)(AC)。 (4)简述完成指令AD
12、D Y 的数据通路(Y为内存地址,ADD功能为(AC)+(Y)(AC)。 (5)简述完成指令STA Z 的数据通路(Z为内存地址,STA功能为(AC) (Z).,例题1,(1)A数据缓冲寄存器DR B指令寄存器IR C地址寄存器AR D-程序记数器PC,(3)LDA X的数据通路:X A R M DR AC,(2)取指令的数据通路: PC AR M DR IR,(4)ADD Y: Y AR M DR ALU ADD AC,(5)STA Z: Z AR, AC DR M,思考,用二进制码表示的指令和数据都放在内存里,那 么CPU是怎样识别出它们是数据还是指令呢?,从时间上来说,取指令事件发生在指
13、令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。 从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取 出的代码是数据,那么一定送往运算器。由此可见,时间控制对计算机来说是太重要了。 总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。,节拍,因为计算机在工作过程中是一个指令周期接一个指令周期,在一个指令周期内部是一个机器周期接一个机器周期,在一个机器周期内部是一个节拍接一个节拍地工作。 节拍: 在一个机器周期内,要完成若干个微操作.这些微操作有的可以同时进行,有的需要按先后次序串行
14、执行。因而应把一个机器周期分为若干个相等的时间段,每一个时间对应一个电位信号,称为节拍电位信号。,节拍电位,节拍的宽度取决于CPU完成一次微操作的时间,如:ALU一次正确的运算,寄存器间的一次传送等。,在各条不同指令的不同机器周期的不同节拍中应产生什么微操作控制信号是由指令操作流程图严格规定的,所以时序部件 实质上只需要产生各个机器周期中的节拍信息。,节拍脉冲,所有的操作是按节拍进行的,在节拍电位有效期间产生的脉冲叫做“节拍脉冲”。一个节拍中可产生多个节拍脉冲。,节拍电位与节拍脉冲,在广泛应用的微型计算机中,一个节拍期间产生一个节拍脉冲就足够了,只是这个节拍脉冲必须位于节拍电位的中后期。而且将
15、一个节拍的持续时间定为一个主时钟周期,主时钟本身便可作节拍脉冲用。,于是时序部件只需要产生节拍电位信号就足够了,每个节拍中需要的节拍脉冲可由主时钟来代替,使得时序部件得以简化。,节拍电位与节拍脉冲,节拍电位和节拍脉冲所起的控制作用是不同的。电位信号是信息的载体,即控制信号,它在数据通路传输中起着开门或关门的作用;节拍脉冲则作为打入脉冲加在触发器的脉冲输入端,起到定时触发器的作用。 通常,触发器使用电位脉冲工作方式,节拍电位控制信息送到D触发器的D输入端,节拍脉冲送到CP输入端。,节拍的选取,由于不同的机器周期内需要完成的微操作内容和个数是不同的,因此,不同机器周期内所需要的节拍数也不同。节拍的
16、选取有几种方法:,统一节拍法,以最复杂的机器周期为准定出节拍数。这种方法采用统一的、具有相等时间间隔和相同数目的节拍,使得所有的机器周期长度是相等的,因此称为定长CPU周期。,节拍的选取,在照顾多数机器周期要求的 情况下,选取适当的节拍数作为基本节拍。如果在某个机器周期内统一的节拍数无法完成该周期的全部操作,则延长一个或两个节拍。,分散节拍法,按照机器周期的实际需要安排节拍数,需要多少节拍,就发出多少节拍。这种方法可以避免浪费,提高时间利用率。由于各机器周期长度不同,因此称为不定长CPU周期。,延长节拍法,时序部件,脉冲源,脉冲源即主时钟,通常由石英 晶体振荡器和与非门组成的正反馈振荡电路组成
17、。脉冲源在机器上电后立即产生时钟脉冲序列,直到关电源为止,不允许有任何的间断。它相当于人的脉搏。,节拍信号发生器,节拍信号发生器产生各个机器周期中的节拍信号。,时序部件用来产生计算机在执行机器指令 过程中的时序信号。 时序部件通常由脉冲源、节拍电位发生器和启停逻辑三部分组成。,时序部件,启停逻辑,计算机上电后会立即产生一定频率的主时钟,这并不意味着计算机已开始工作。只有通过启停逻辑部件将机器启动起来,时序部件才开始产生节拍信息(节拍电位和节拍脉冲),以控制全机开始工作。,控制方式,控制器控制一条指令执行的过程,实质上是依次执行一个确定的微操作序列的过程。 由于不同指令所对应的微操作数及其复杂程
18、度不同,因此每条指令和每个微操作所需的执行时间也不同。 将如何形成控制不同微操作序列所采用的时序控制方式称为控制器的控制方式。 常用的控制方式有同步控制、异步控制和混合控制等三种不同的控制方式。,控制方式,同步控制,同步控制方式又被称做统一控制方式,使所有机器指令具有完全相同的执行时间,即指令周期相同。 显然,只能按照指令系统中功能最强、执行时间最长的指令来确定指令周期的长度。例如某指令系统中执行时间最长的指令需要20个节拍才能完成全部功能,而最简单的指令只需要4个节拍,那么全机统一的指令周期只能定义为20个节拍,于是执行任何一条指令都要给出20个节拍的时间,这对于许多简单指令来说将造成时间上
19、的很大浪费。 特点:控制简单,容易实现,但是不利于发挥计算机高速运算的潜力。,控制方式,异步控制方式,又可称做“分散控制方式”,按照各条机器指令的实际需要设置它们的指令周期。每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。 特点:不浪费时间,但控制上太复杂,一个指令系统中可能包含十几种甚至几十种不同长度的指令周期,这对时序部件的要求太高,实现起来比较困难。,控制方式,混合控制方式,集中以上两种控制方式的优点。 情况(1) 大部分操作序列安排
20、在固定的机器周 期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束; 情况(2) 机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。 特点:不浪费很多时间,控制上又不很复杂,成为现代计算机中广泛采用的控制方式。,控制器,一台数字计算机基本上可以划分为两大部分控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器而言,就是执行部件。,控制器的结构可分为组合逻辑型、PLA控制型和微程序控制型几种。,控制器,也称为硬布线控制器,是早期计算机的一种设计方法。它直接由各种类型的逻辑门和触发器等构成一般来说,其设计过程为:,优点:速度快,微操作控制
21、信号的产生速度取决于所使用逻辑门的延迟时间。 缺点:由于微操作控制信号少则几十个,多则几百个甚至更多,因此设计工作量大,而且不便于修改。 并且设计非常烦琐,非常具体,不允许有任何错误,一旦设计完毕,要作任何修改将非常困难。,组合逻辑控制器,控制器,PLA控制器的设计方法与组合逻辑控制器相同,只是实现方法不同,它采用PLA阵列,所以,从设计思想来看是组合逻辑控制器,从实现方法来看是存储逻辑控制器。,将机器指令的操作(从取指令到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,实现
22、机器指令要求的信息传送与加工。微程序控制器又称存储逻辑控制器。,PLA控制器,微程序控制器,控制器,微程序控制器的核心部件是存储微程序的控制存储器(CM),一般用只读存储器(ROM)构成,而EPROM的出现为修改微程序提供了可能。 微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一定的规则进行信息编码(代码化),形成控制字(微指令),在把这些微指令按时间先后排列起来构成微程序,存放在CM中。,微程序控制器,基本思想,利用软件方法来设计硬件的一门技术,即仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到控制存储器
23、中。当机器运行时,逐条读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。,微程序控制器,基本概念,微命令控制部件通过控制线向执行部件发出各种控制命令,它是构成控制序列的最小单位。 微操作执行部件接受微命令后所进行的操作。 微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。 微指令在机器的一个节拍中,一组实现一定操作功能的微命令。 微程序实现一条机器指令功能的许多条微指令组成的序列。,微程序控制器,基本概念,微指令周期执行一条微指令和取出下一条微指令所需的时间。通常一个微指令周期与一个CPU周期的时间相等。 相斥性微命令不能在同一个微
24、周期中出现的微命令。 相容性微命令能在同一个微周期中出现的微命令。 微地址存放控制字的控制存储器的单元地址。,微程序控制器,要求计算机完成的任务确定了一定的算法以后便可编写相应的程序,最终成为机器可直接执行的机器语言程序,而任何一条机器指令可由一段微程序来解释,它们之间的关系如图:,ADD R1,R2,STA m1,1,2,:,i,I+1,:,m,机器语言程序,问题的算法,ADD指令微程序,STA指令微程序,将硬件软化成为微程序,微程序控制器,显然,各条机器指令所对应的微程序长度可各不相同,它取决于机器指令功能的强弱,当然也与微指令本身的功能强弱有关。于是机器指令的执行过程就成为与之相对应的微
25、程序的执行过程,机器指令执行过程中需要的微命令便由各条微指令来产生。这种控制方式称做微程序控制方式,其相应的部件称做“微程序控制器”。,微程序控制器,微程序是由微指令组成的,用于描述机器指令,它实际上是机器指令的实时解释器,是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户。 程序由机器指令组成,是由软件设计人员事先编制好并存放在主存或辅存中的。 所以说,微程序控制的计算机涉及两个层次:一个是机器语言或汇编语言程序员看到的传统机器层,包括:机器指令、工作程序和主存储器;另一个是机器设计者看到的微程序层,包括:微指令、微程序和控制存储器。,微程序控制器,(1)一条机器指令对应一
26、个微程序,这个微程序是由若干条微指令序列组成。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。 即:一条机器指令所完成的操作分若干条微指令来完成,由微指令进行解释和执行。 (2)指令、程序、地址与内存储器有关;微指令、微程序、微地址与控制存储器有关。 (3)每一个CPU周期就对应一条微指令。,机器指令与微指令的关系,微程序控制器,采用微程序控制的计算机,把所有的微程序集中存放在一个独立的存储器中,通常将其称之为控制存储器CM(Control Memory)。 由于微程序一旦设计完毕,不允许改变,只允许执行,因此控制存储器通常由EPROM构成,每条微指令在控制存储器中占用一个地址,控
27、制存储器的容量取决于微指令的字长和微程序的总长度。,【问】一会儿取机器指令,一会儿取微指令,它们之间到底是什么关系?,微程序控制器,一条机器指令的功能是由若干条微指令组成的序列来实现的,指令、程序、地址与内存储器有关 微指令、微程序、微地址与控制存储器有关,微程序控制器原理框图,微程序控制器由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。,微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。,微程序控制器原理框图,控制存储器用来存放实现全部指令系统的微程序,它是一种只读存
28、储器。一旦微程序固化,机器运行时则只读不写。 其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令。读出一条微指令并执 行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。 对控制存储器的要求是速度快,读出周期要短。,微程序控制器原理框图,在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。,如果微程序不出现分支,那么下一条微指令的地址就直接
29、由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。,微指令格式,微指令与机器指令类似,由微操作码和微地址码构成。 微操作码部分用来确定该微指令所能产生的微命令,因此可称它为“控制字段”; 微地址码用来确定将要执行的下条微指令在控制存储器中的地址。,微指令的控制字段,根据微指令中控制字段的构成方式可分为水平型和垂直型两种格式。,微指令格式,(1)水平型微指令,水平型微指令指一次能定义并执行多个并行操作控制信号的微命
30、令。其一般格式为:,按照控制字段的编码方法不同,水平型微指令又分为三种:,全水平型(不译码法)微指令 字段译码法水平型微指令 全水平型和字段译码法水平型相混合的水平型微指令,微指令格式,全水平型(不译码法)微指令,将微指令操作控制字段的每个二进制位定义为一个微命令,直接送往相应的控制点。,特点:控制简单,不需要加微命令译码器。但控制字段比较长,而且CM容量较大。因为控制字段的总位数应是全微命令的总个数,而它们同时置1的可能性很少,甚至没有。,C1 C2 C3 Cn,微指令格式,字段译码法水平型微指令,将控制字段分成许多个子字段,每个子字段设置一个译码器,任何微命令都是经过译码器后产生的。,显然
31、,任何时候任何一个子段中只能产生一个微命令,即任何一个子字段中所包含的微命令构成一个“相斥类”的微命令组,它们是不允许同时产生的微命令。与此相反,处于不同子字段中的微命令,它们构成一个“相容类”的微命令组,允许它们在一条微指令中并行产生。,微指令格式,特点:仍具有一定的并行性,其并行产生的微命令的个数取决于子字段的段数。它能有效地缩短控制字段的长度。,实际中也可将全水平型和字段译码法水平型结合起来形成混合的的水平型微指令。,地址字段,译码器,译码器,译码器,A0 A3,B0 B15,C0 C7,D0 D3,E0 E1 E2,A字段 B字段 C字段 D字段 E字段,微指令格式,(2)垂直型微指令
32、,微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。具体格式为:,垂直型微指令完全仿照机器指令的格式,它不具有并行性,每条指令只能产生一个微命令。 特点:每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多。,水平型微指令和垂直型微指令的比较,(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。 (2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。 (3)由水平型微指令解释指令的微程序,有微指令字较长而微程序较短的特点。垂直型微指令则相反,微指令字比较短而微程序长。 (4)水平型微指令的可读性较差,用户难
33、以掌握,而垂直型则较好。,微指令格式,微指令的地址字段,由于微程序在控制存储器中有两种不同的存放方式:连续存放和不连续存放。两种方式下的地址字段格式不同。,(1)断定方式,也称为“下址字段法”。组成一个微程序的多条微指令在控制存储器中不连续存放,当微程序不产生分支时,后续微地址直接由下地址字段给出,否则有若干个后续地址可以选择,此时必须由的“判别测试”和“状态条件”信息来选择其中一个微地址。,微指令格式,条件测试字段的长度取决于条件转移类微指令可判定的外部条件的个数。如果外部条件有4个,考虑到还有无条件转移的情况,采用编码方式条件测试字段至少应有3位;微指令地址字段的长度取决于控制存储器的总字
34、数。 当一条微指令被取出时,下一条微指令的地址送AR。 由于在微指令中设置一个下地址字段来指明下一条要执行的微指令地址,所以无需设置转移微指令,但增加了指令字的长度。,微指令格式,(2)增量方式,也称“计数器方式”,这种方式是模仿机器指令的做法,要求组成一个微程序的多条指令在控制寄存器中连续存放。 一般情况下微指令顺序执行,只有遇到转移类指令才会改变微程序的执行顺序。因此微指令中可不包含地址字段,但是同样需要考虑到条件转移类微指令的需要,应设置一个条件测试字段。 另外要求控制器中设置一个独立的微程序计数器(pc),一般情况下由pc的不断加“1”计数指向下条微指令的地址,遇到转移类的微指令时,可
35、用修改pc内容的办法来实现微程序的转移。,微指令格式,(3)增量方式与断定方式的结合,在这种控制方式中,微地址寄存器有计数功能,但在微指令中仍设置一个顺序控制字段,它分成两个部分:条件选择字段与转移地址字段。由这两个字段结合,当转移条件满足时,将转移地址字段作下一个微地址,若无转移要求,则微地址寄存器计数得到下一条微指令的地址。,例题,【例】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况: (1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支; (2)执行条件转移指令微程序时,按进位标志C的状态进行2路
36、分支; (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=P3IR5T4 A4=P3IR4T4A3=P1IR3T4 A2=P1IR2T4A1=P1IR1T4 A0=P1IR0T4+P2CT4 由于从触发器强
37、置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。 下图仅画出了A2、A1、A0触发器的微地址转移逻辑图。,微指令格式举例,某机共包含17个微命令,各条机器指令中可判定的外部条件共两个:CF和ZF。假定采用断定方式和全水平型微指令格式,控制存储器的总字数为16(字),那么可采用的微指令格式如图所示:,微指令格式举例,可以看出,17位控制字段可分别产生17个微命令,任何一条微指令中要并行产生哪些微命令,只需将相应位置“1。微地址地段占4位,表明控制存储器可存放16(=24)条微指令,条件测试字段占2位,采用编码方式,最多可有3个供测试的外部条件,加上不转移的情况正好构成4种
38、编码,该机只提供两个外部条件,即运算结果是否为”0“(ZF=1)和进位位是否为”1“(CF=1),显然是够用了。,010 100 100 100 00000001001 R1+R2 R2,垂直型微指令格式举例,下面举4条垂直型微指令的微指令格式加以说明。设微指令字长为16位,微操作码3位。 (1)寄存器-寄存器传送型微指令,其功能是把源寄存器数据送目标寄存器。1315位为微操作码(下同),源寄存器和目标寄存器编址各5位,可指定31个寄存器。,垂直型微指令格式举例,(2)运算控制型微指令,其功能是选择ALU的左、右两输入源信息,按ALU字段所指定的运算功能(8种操作)进行处理,并将结果送入暂存器
39、中。左、右输入源编址可指定32种信息源之一。,垂直型微指令格式举例,(3)访问主存微指令,其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存。存储器编址是指按规定的寻址方式进行编址。第1,2位指定读操作或写操作(取其之一)。,垂直型微指令格式举例,(4)条件转移微指令,其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令。9位D字段不足以表示一个完整的微地址,但可以用来替代现行PC的低位地址。 测试条件字段有4位,可规定16种测试条件。,微程序举例,“十进制加法”指令的功能是用BCD码来完成十进制数的加法运算,在运算时,和9,加6修正。,假设数a
40、和b已存放在R1和R2两个寄存器中,数6存放在R3寄存器中。先进行a+b+6运算,然后判断有无进位进行修正。,微程序举例,微程序举例,第一条微指令的二进制编码是 000 000 000 000 11111100000 第二条微指令的二进制编码是 010 100 100 100 00000001001 第三条微指令的二进制编码是 010 001 001 100 00000010000 第四条微指令的二进制编码是 010 001 001 001 00000000000,例题1,设某计算机运算器框图如图(a)所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D
41、触发器组成,Q端输出,其读、写控制功能见下表。,例题1,机器采用串行微程序控制方式,其微指令周期见图(b)。其中读ROM是从控存中读出一条微指令时间,为1s;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为100ns。,例题1,RA0RA1:读R0-R3的选择控制 WA0WA1:写R0-R3的选择控制 R:寄存器读命令 W:寄存器写命令 LDSA:打入SA的控制信号 LDSB:打入SB的控制信号 SB-ALU:传送SB的控制信号 SB-ALU:传送SB的控制信号,并使加法器最低位加1. Reset:清暂存器SB为零的信号 :一段微程
42、序结束,转入取机器指令的控制信号,微指令字长12位,微指令格式如下:,例题1,要求:用二进制代码写出如下指令的微程序: (1)“ADD R0,R1”指令,即(R0)+(R1)R1 (2)“SUB R2,R3”指令,即(R3)-(R2)R3 (3)“MOV R2,R3”指令,即(R2)(R3),例题1,画出三条指令的微指令的微程序流程图,如下图所示。,(1)“ADD R0,R1”指令,即(R0)+(R1)R1 (2)“SUB R2,R3”指令,即(R3)-(R2)R3 (3)“MOV R2,R3”指令,即(R2)(R3),其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令
43、序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。,例题1,微指令格式例题1,例:某机采用微程序控制方式,微指令字长24位,水平型编码控制的微指令格式,断定方式,共有微命令30个,构成4个相斥类,各包含5个、8个、14个和3个微命令,外部条件共3个。 (1)控制存储器的容量应为多少? (2)设计出微指令的具体格式。,微指令格式例题1,(1)微指令字长24位,除了15位用于译码和外部条件外,还剩9位用于下地址位,故控制存储器的容量应为51224。,(2)微指令的具体格式为:,微指令格式例题2,例:已知某运算器的基本结构如图所示,它具有+(加)、(减)、M(传送)三种操作。 (1)
44、写出图中112表示的运算器操作的微命令。 (2)指出相斥性微操作。 (3)设计适合此运算的微指令格式。,10,微指令格式例题2,1:+ 2: 3:M 4:R1A 5: R2A 6: R3A 7:R3 B 8: R2B 9: R1B 10:BUS R1 11:BUS R2 12:BUS R3,以下几组命令是相斥的: + 、 、 M R1A R2A R3A R3 B R2B R1B BUS R1 BUS R2 BUS R3,微指令格式例题2,此运算器的微指令格式如图:, ,00:不操作 01:+ 10: 11:M,00:不操作 01:R1A 10:R2A 11:R3A,00:不操作 01:R1B
45、10:R2B 11:R3B,00:不操作 01:BUSR1 10:BUSR2 11:BUSR3,微程序控制器设计步骤,(1)根据CPU的结构图写出每条指令的操作流程图并分解成微操作序列 (2)使用混合控制法对微命令进行编码 (3)选择合适的控制时序 (4)为微指令安排微地址(下址字段法) (5)画出微程序控制器组成框图,控制器设计,CPU结构图如图所示,设计以下几条指令的微程序控制器.,控制器设计,CLA ;清0 ADD I D ;I=0为直接寻址,即(AC)+(D)AC ;I=1为间接寻址,即(AC)+(D)AC STA I D ; I=0为直接寻址,即(AC)(D) ;I=1为间接寻址,即
46、(AC) (D) LDA I D ; I=0为直接寻址,即(D) (AC) ;I=1为间接寻址,即(D) (AC) JMP I D ;I=0为直接寻址,即(D) (PC) ;I=1为间接寻址,即(D) (PC),控制器设计,微程序控制器设计: (1)根据CPU结构框图写出指令的操作流程图,PCAR R,+1 DBUS DR DR IR,IR(AR )DBUS DBUS AR,IR(AR )DBUS DBUS AR,IR(AR )DBUS DBUS AR,IR(AR )DBUS DBUS AR,I=1?,I=1?,I=1?,I=1?,R,DBUS AR,R,DBUS AR,R,DBUS AR,R
47、,DBUS AR,R,DBUS DR DR ALU,+,AC DR W,R,DBUS DR DR AC,R DBUS PC,C,Y,Y,Y,Y,N,N,N,N,CLA,ADD,STA,LDA,JMP,控制器设计,(2)选同步控制方式,采用二相控制时序如下:,(3)对微命令进行编码。,00:不操作 01:DBUSAR 10:DBUSDR 11: DBUSPC,* * * * * * * * * * *,00:不操作 01:DRIR 10:DRAC 11: DR ALU,0 :不操作 1:IR(AR) DBUS,0 :不操作 1:AC DR,0 :不操作 1:+1,0 :不操作 1:+,0 :R/
48、W=0 1:R/W=1,0 :不操作 1:C,0 :MREQ=0 1:MREQ=1,0 :微命令 1:转移微指令,0 :不操作 1:PC AR,断定方式安排微地址,(3)安排微地址 断定方式(下址字段法)。 图中有17条微指令,地址需要5位即可(用二进制表示),但在每一条微指令中均要加一下址字段和控制字段。有两种转移情况,用P1、P2来控制,此时微指令格式为:,断定方式安排微地址,地址安排如图所示:,00000,00001,00011,CLA(IR15IR14IR13=000),ADD(IR15IR14IR13=001),STA(IR15IR14IR13=010),00110,00010,01
49、010,00101,00100,IR12 = 1,IR12 = 0,01000,IR12 = 0,IR12 = 1,01001,断定方式微程序控制器组成框图,控制存储器CM,微命令字段,P1 P2,下址字段,微命令字段,P1 P2,A4A3A2A1A0,地址转移逻辑,微指令译码器,时序,T1,T2,微操作命令,PCAR,ACDR,微地址寄存器,P1,P2,AR4AR3AR2,AR0,IR指令寄存器,IR15,IR14,IR13,IR12,P1,P2,T2,微指令寄存器,增量方式安排微地址,计数器法,地址尽量连续,在分支处加一转移微指令。有17条微指令,加一些转移微指令,地址为6位较好安排(用二
50、进制表示)。有两种转移情况,转移微指令格式为:,增量方式安排微地址,地址安排如图所示:,000000,000001,010000,CLA(IR15IR14IR13=000),ADD(IR15IR14IR13=001),STA(IR15IR14IR13=010),001011,000011,010011,001110,001111,IR12 = 1,IR12 = 0,010111,IR12 = 0,IR12 = 1,010110,000010,001100,010001,010100,011000,增量方式安排微地址,100000,LDA (IR15IR14IR13=011),JMP(IR15I
51、R14IR13=100),011011,100011,011110,011111,IR12 = 1,IR12 = 0,100111,IR12 = 0,IR12 = 1,100110,011100,100001,100100,101000,增量方式微程序控制器组成框图,T1和T2用于定时一条微指令中的微命令; T1=1将转移地址送PC, T2=1时如果P1+P2=1则修改PC。,混合方式安排微地址,在这种控制方式中,微指令寄存器有计数功能,但微指令中仍设置条件选择字段与转移地址字段。这两个字段相结合,当转移条件满足时,将转移地址字段作下一个微地址;若无转移要求,则直接从微程序计数器中取得下一条指
52、令。 此方法不需要专门的转移微指令,有17条微指令,地址需要5位(用二进制表示),有两种转移情况,用P1、P2来控制,微指令格式为:,混合方式安排微地址,(1)顺序:P1P2=00,由PC计数得到下址地址; (2)无条件转移:P1P2=01; (3)两分支(P1P2=10):IR12=0则转移,IR12=1则顺序; (4)多分支(P1P2=11):地址修改方案如下:,混合方式安排微地址,地址安排如图所示:,00000,00001,01001,CLA(IR15IR14IR13=000),ADD(IR15IR14IR13=001),STA(IR15IR14IR13=010),00110,00010
53、,01010,00111,IR12 = 1,IR12 = 0,01100,IR12 = 0,IR12 = 1,01011,01000,混合方式微程序控制器组成框图,微程序控制器工作原理,根据取出指令的译码情况,形成该机器指令执行阶段的微程序首地址并将该地址送微地址寄存器,从控制存储器中读出相应的微指令送微指令寄存器,由此产生各种微命令,并由微地址码给出下条微指令地址,重复取微指令、执行微指令的操作,直到微程序中的微指令执行完毕,又返回下一条机器指令的取指阶段。,微程序控制器学习要求,(1)能根据CPU结构图写出指令的操作流程图,并会分解成微操作信号 (2)能对微命令编码 (3)能用下址法安排微
54、地址 (4)掌握控制器的设计方法,指令执行流程例题1,例:某机运算器为三总线结构,三总线分别为B1、B2、B3,连接B2、B3的控制信号为G。逻辑部件ALU可进行ADD、SUB、AND、OR、XOR五种运算,输出多路器可进行直送(V)、左移1位(L)、右移1位(R)三种 操作。三个通用寄存器R0、R1、R2都有输入和输出信号。,试写出实现下列功能所需的微操作: (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),(3)
55、 (R0) (R2),(4) 0 (R1),指令执行流程例题1,以下几组操作是互斥的,组与组之间是相容的: (1)R0B1 R1B1 R2B1 (2) R0B2 R1B2 R2B2 (3)R0in R1in R2in (4)V, L, R (5)ADD SUB AND OR XOR,按字段译码方式设计的微命令格式如下:,指令执行流程例题1,完成(R0)AND(R1)(R2)需要以下几条微指令: (1)R0 B1,R1 B2 (2)AND,V (3)R2in 用以上微指令格式表示的微指令如下: (1)01 10 00 00 000 0 (2)00 00 00 01 011 0 (3)00 00
56、11 00 000 0,指令执行流程例题2,例:某双总线模型机如图所示。双总线分别记为B1和B2;图中连线和方向标明数据通路及流向,并注有相应的控制信号(微命令);A、B、C、D为四个通用寄存器;X为暂存器;M为 多路选择器,用于选择进入暂存器X的数据,存储器为双端口,分别面向总线B1和B2。,指令执行流程例题2,(1)画出该模型机的取指令周期流程。 (2)写出指令ADD (A),(B)的执行流程,该指令完成(A)+(B) (A)。源和目的操作数均为寄存器间接寻址。 (3)写出指令SUB N,A的执行流程,该指令完成(N) (A) N ,源操作数部分为寄存器寻址,目的操作数为指令提供的内存直接
57、地址。 (4)写出指令NEG (B+N) 的执行流程。该指令完成求相反数。操作数为基址寻址。B寄存器提供基址,指令中提供位移量N。,指令执行流程例题2,(5)写出指令AND (A),#N的执行流程。源操作数为指令提供的立即数N,目的操作数为寄存器间接寻址。 (6)写出指令JMP Label的执行流程,该指令完成(PC)+N (PC) ,其中N为指令提供的位移量。 (7)写出指令DEC C的执行流程。 (8)设计微指令格式。,指令执行流程例题2,(2)指令ADD (A),(B)的执行流程:,指令执行流程例题2,(3)指令SUB N,A的执行流程,(4)指令NEG (B+N)的执行流程,指令执行流
58、程例题2,(5)指令AND (A),#N的执行流程,(6)指令JMP Label的执行流程,(7)指令DEC C的执行流程,指令执行流程例题2,(8)按字段编码方式设计的微命令格式为:,组合逻辑控制器,组合逻辑控制器也称为硬布线控制器,是早期计算机的一种设计方法。它直接由各种类型的逻辑门和触发器等构成。一般来说,其设计过程为:,组合逻辑控制器,组合逻辑控制器与其他部件的关系为:,程序输入主存储器后,将其首地址置入程序计数器PC中,于是可以启动机器开始工作,首先是PC内容置入AR,并向主存储器发出读命令,于是从主存储器中读出的第一条指令从DR置入IR中,经译码后得知是什么指令。由组合逻辑控制器产生相应的微操作控制信号完成该指令的功能。所有操作都是在微操作控制信号的控制下完成的。,组合逻辑控制器设计举例,某机有三个寄存器R1,R2,R3,两个暂存器X和Y。该机中共有微操作控制信号20个(C1C20)。它们各自可完成的操作如表所示:,ADD LDA AND STA JMP JZ,组合逻辑控制器设计举例,微操作综合的过程就是根据指令操作流程图的安排,将需要产生同一个微操作控制信号的条件集中起来形成一个逻辑表达式,显然该机中应形成20个逻辑表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 年中考数学押题预测卷解析版(江苏扬州卷)
- 地铁工程预验收
- 刮板输送机检修规程
- 消防气压罐操作和维护保养规程
- 厂家售后服务承诺书3篇
- 物业门禁道闸维保制度
- 接线端子检修规程
- 2026年南阳市卧龙区网格员招聘笔试备考题库及答案解析
- 2026年萍乡市湘东区网格员招聘笔试备考试题及答案解析
- 2026年江西省南昌市网格员招聘考试参考题库及答案解析
- 2026上海闵行区七宝镇村(合作社)、镇属公司招聘16人备考题库及答案详解1套
- 安徽省合肥市2026届高三下高考第二次教学质量检测数学试卷
- 2025安徽宿州市泗县县属国有企业招聘21人笔试历年难易错考点试卷带答案解析
- 2026年河南工业贸易职业学院单招职业技能考试题库附答案详细解析
- (一模)南昌市2026届高三年级三月测试语文试卷(含答案解析)
- 2026校招:北京保障房中心公司笔试题及答案
- 2026版 中考风向标·物理 课件二、综合实验题
- GB/T 46957-2025电力储能系统并网储能系统安全通用规范
- 代谢循环关键酶与肿瘤进展干预
- 重大危险源检查记录表
- 工业γ射线探伤装置安全使用和辐射防护
评论
0/150
提交评论