计算机硬件系统组成优秀PPT.ppt
计算机硬件系统组成现在学习的是第1页,共54页第第6章章中央处理部件(中央处理部件(CPU)6.1中央处理其结构中央处理其结构中央中央理器简称理器简称CPUCPU,是用来实现运算和控制功能的部件,是用来实现运算和控制功能的部件,由运算器、由运算器、控制器和寄存器控制器和寄存器 3 3 部分组成。运算器用于完成部分组成。运算器用于完成数据的算术和逻辑运算。数据的算术和逻辑运算。CPUCPU内部的寄存器用来暂存参加运算内部的寄存器用来暂存参加运算的操作数和运算结果。控制器通常由指令寄存器、的操作数和运算结果。控制器通常由指令寄存器、指令译码指令译码器和控制电路组成。指令是一组二进制编码信息,主要包括器和控制电路组成。指令是一组二进制编码信息,主要包括两个内容:两个内容:一是告诉计算机进行什么操作;二是指出操作数一是告诉计算机进行什么操作;二是指出操作数或操作数地址。或操作数地址。控制电路根据指令的要求向微型机各部件发控制电路根据指令的要求向微型机各部件发出一系列相应的控制信息,使它们协调有序地工作。出一系列相应的控制信息,使它们协调有序地工作。现在学习的是第2页,共54页第第6章章中央处理部件(中央处理部件(CPU)6.1中央处理其结构中央处理其结构一、结构框图一、结构框图指令部件时序部件条件状态寄存器算逻部件控制信号形成部件ABDBCB现在学习的是第3页,共54页二、各部件功能二、各部件功能当用计算机解决某个问题时,我们首先必须为它编写程序。当用计算机解决某个问题时,我们首先必须为它编写程序。程序是一个指令序列,这个序列明确告诉计算机应该执行什么程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据。一旦把程序装入内存操作,在什么地方找到用来操作的数据。一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件就是专门用来完成此项工作的计算机部件就是中央处理器(中央处理器(CPU)。CPU对整个计算机系统的运行是极其重要的,它具有如下对整个计算机系统的运行是极其重要的,它具有如下四方面的基本功能:四方面的基本功能:(一)指令控制(一)指令控制程序的顺序控制称为指令控制。由于程序是一个指令序列,这程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。现在学习的是第4页,共54页(二)操作控制(二)操作控制一条指令的功能往往是由若干个操作信号的组合来实现一条指令的功能往往是由若干个操作信号的组合来实现的,因此,的,因此,CPU管理并产生由内存取出的每条指令的操作信管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。指令的要求进行动作。(三)时间控制(三)时间控制对各种操作实施时间上的定时称为时间控制。在计算机对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。到时间的严格定时。(四)数据加工(四)数据加工数据加工就是对数据进行算术运算和逻辑运算处理。数据加工就是对数据进行算术运算和逻辑运算处理。现在学习的是第5页,共54页6.2控制器控制器一、控制器的分类一、控制器的分类微程序的控制器微程序的控制器硬布线的控制器硬布线的控制器计算机的功能是执行程序计算机的功能是执行程序程序是依次排列起来的指令代码程序是依次排列起来的指令代码控制器的功能就在于控制器的功能就在于正确且自动地连续执行指令正确且自动地连续执行指令正确地分步完成每一条指令规定的功能正确地分步完成每一条指令规定的功能再进一步说,再进一步说,就是向计算机各功能部件发出就是向计算机各功能部件发出协调运行每一步所需要的控制信号协调运行每一步所需要的控制信号现在学习的是第6页,共54页每条指令的执行步骤每条指令的执行步骤读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数,不同指令的操作步骤数,和具体操作内容差异很大和具体操作内容差异很大检查有无中断请求检查有无中断请求若有,则转中断处理若有,则转中断处理若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形形成成下下一一条条指指令令地地址址现在学习的是第7页,共54页6.2控制器控制器二、控制器的功能二、控制器的功能(一)取指令:(一)取指令:(二)分析指令:(二)分析指令:(三)执行指令:(三)执行指令:(四)(四)I/O操作:操作:(五)处理异常:(五)处理异常:三、控制器的组成三、控制器的组成根据对控制器的功能分析,得出控制器的基本组成如下:根据对控制器的功能分析,得出控制器的基本组成如下:现在学习的是第8页,共54页(一)程序计数器(一)程序计数器(PC):):为了保证程序能够连续地执行下去,为了保证程序能够连续地执行下去,CPU必须具有某些手必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为用,所以通常又称为指令计数器指令计数器。在程序开始执行前,必须。在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的内存单元地址将它的起始地址,即程序的第一条指令所在的内存单元地址送入送入PC,因此,因此PC的内容即是从内存提取的第一条指令的地的内容即是从内存提取的第一条指令的地址。当执行指令时,址。当执行指令时,CPU将自动修改将自动修改PC的内容,以便使其的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对都是按顺序来执行的,所以修改的过程通常只是简单的对PC加加1。但是,当遇到转移指令如但是,当遇到转移指令如JMP指令时,那么后继指令的地址指令时,那么后继指令的地址(即(即PC的内容的内容)必须从指令的地址段取得。在这种情况下,下一条必须从指令的地址段取得。在这种情况下,下一条从内存取出的指令将由转移指令来规定,而不是像通常一样按顺序从内存取出的指令将由转移指令来规定,而不是像通常一样按顺序来取得。因此程序计数器的结构应当是具有寄存信息和计数两种功来取得。因此程序计数器的结构应当是具有寄存信息和计数两种功能的结构。能的结构。现在学习的是第9页,共54页(二)地址寄存器(二)地址寄存器(AR):):地址寄存器用来保存当前地址寄存器用来保存当前CPUCPU所访问的内存单元的地址。由所访问的内存单元的地址。由于在内存和于在内存和CPUCPU之间存在着操作速度上的差别,所以必须使用地之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读址寄存器来保持地址信息,直到内存的读/写操作完成为止写操作完成为止 。当当CPUCPU和内存进行信息交换,即和内存进行信息交换,即CPUCPU向内存存向内存存/取数据时,或取数据时,或者者CPUCPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。同样,如果我们把外围设备的设备地址作为象内存的地存器。同样,如果我们把外围设备的设备地址作为象内存的地址单元那样来看待,那么,当址单元那样来看待,那么,当CPUCPU和外围设备交换信息时,我们和外围设备交换信息时,我们同样使用地址寄存器和数据缓冲寄存器。同样使用地址寄存器和数据缓冲寄存器。现在学习的是第10页,共54页(三)数据缓冲寄存器(三)数据缓冲寄存器(DR):):数据缓冲寄存器用来暂时存放由内存储器读出的一条指数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。字时,也暂时将它们存放在数据缓冲寄存器中。缓冲寄存器的作用是缓冲寄存器的作用是:(1)作为作为CPU和内存、外部设备之间信息传送的中转站;和内存、外部设备之间信息传送的中转站;(2)补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;(3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。操作数寄存器。现在学习的是第11页,共54页(四)(四)指令寄存器(指令寄存器(IRIR)指令寄存器用来保存当前正在执行的一条指令。当执行指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。试,以便识别所要求的操作。指令译码器就是做这项工作指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定操作码一经译码后,即可向操作控制器发出具体操作的特定信号。信号。现在学习的是第12页,共54页(五)累加寄存器(五)累加寄存器(AC):):累加寄存器累加寄存器AC通常简称为累加器,它是一个通用寄存器。通常简称为累加器,它是一个通用寄存器。其功能是:当运算器的算术逻辑单元(其功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑)执行算术或逻辑运算时,为运算时,为ALU提供一个工作区。累加寄存器提供一个工作区。累加寄存器暂时存放暂时存放ALU运算的结果信息。显然,运算器中至少要有一个运算的结果信息。显然,运算器中至少要有一个累加寄存器。累加寄存器。目前目前CPU中的累加寄存器,多达中的累加寄存器,多达16个,个,32个,甚至更多。个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。要在指令格式中对寄存器号加以编址。现在学习的是第13页,共54页(六)状态条件寄存器(六)状态条件寄存器(PSW):):状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出,运算结果溢出标志标志(V),运算结果为零标,运算结果为零标志志(Z),运算结果为负标志,运算结果为负标志(N)等等。这等等。这些标志位通常分别由些标志位通常分别由1位触发器保存。位触发器保存。除此之外,状态条件寄存器还保存中断和系统工作状态等信息除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使,以便使CPU和系统能及时了解机器运行状态和程序运行状态。和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。器。现在学习的是第14页,共54页(七)脉冲源及启停线路:(七)脉冲源及启停线路:脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号(生一个总清信号(reset)。启停线路保证可靠地送出封锁时钟)。启停线路保证可靠地送出封锁时钟脉冲,控制时序信号的发生或停止,从而起动机器工作或使之脉冲,控制时序信号的发生或停止,从而起动机器工作或使之停机。停机。现在学习的是第15页,共54页(八)时钟控制信号形成部件(八)时钟控制信号形成部件 当机器启动后,在当机器启动后,在CLKCLK时钟作用下,根据当前正在执行时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控制功的指令的需要,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号。能部件的反馈信号调整时序控制信号。现在学习的是第16页,共54页时序控制时序控制信号信号形成部件形成部件译码译码IRPC输出输出设备设备输入输入设备设备主主存存运算器运算器部件部件时时序序启停启停地地址址寄寄存存器器数据总线数据总线地址总线地址总线控制总线控制总线.控制条件控制条件控制器信号控制器信号主振主振硬布线硬布线方案的方案的控制器控制器现在学习的是第17页,共54页控制控制存储器存储器映射映射IRPC输出输出设备设备输入输入设备设备主主存存运算器运算器部件部件下下地地址址启停启停地地址址寄寄存存器器数据总线数据总线地址总线地址总线控制总线控制总线.控制条件控制条件微指令寄存器微指令寄存器主振主振微程序微程序方案的方案的控制器控制器现在学习的是第18页,共54页四、组成控制器的基本电路四、组成控制器的基本电路(一)具有记忆功能的触发器以及由它组成的寄存器、计数器和存(一)具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元。其特点是当输入信号消失后,源信号仍保留其中。储单元。其特点是当输入信号消失后,源信号仍保留其中。现在学习的是第19页,共54页(二)没有记忆功能的门电路及由它组成的加法器、算术逻(二)没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(辑运算单元(ALU)和各种逻辑电路等。其特点是当输入)和各种逻辑电路等。其特点是当输入信号改变后,输出跟着改变。信号改变后,输出跟着改变。现在学习的是第20页,共54页五、指令执行过程五、指令执行过程(一)基本概念(一)基本概念1.指令周期:指令周期:CPU从内存取出一条指令并执行这条指令的时间从内存取出一条指令并执行这条指令的时间总和。总和。2.CPU周期:又称机器周期,周期:又称机器周期,CPU访问一次内存所花的时间较访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。长,因此用从内存读取一条指令字的最短时间来定义。3.时钟周期:通常称为节拍脉冲或时钟周期:通常称为节拍脉冲或T周期。一个周期。一个CPU周期包含若周期包含若干个时钟周期。干个时钟周期。下图示出了采用定长下图示出了采用定长CPU周期的指令周期示意图。周期的指令周期示意图。现在学习的是第21页,共54页(二)(二)CLA命令命令CLA是一条非访内指令,它需要两个是一条非访内指令,它需要两个CPU周期,其中取指周期,其中取指令阶段需要一个令阶段需要一个CPU周期,执行指令阶段需要一个周期,执行指令阶段需要一个CPU周期。周期。1取指令阶段取指令阶段(1)程序计数器程序计数器PC的内容的内容20(假设假设)被装入地址寄存器被装入地址寄存器AR;(2)程序计数器内容加程序计数器内容加1,变成,变成21,为取下一条指令做好准备;,为取下一条指令做好准备;(3)地址寄存器的内容被放到地址总线上;地址寄存器的内容被放到地址总线上;(4)所选存储器单元所选存储器单元20的内容经过数据总线,传送到数据的内容经过数据总线,传送到数据缓冲寄存器缓冲寄存器DR;(5)缓冲寄存器的内容传送到指令寄存器缓冲寄存器的内容传送到指令寄存器IR;(6)指令寄存器中的操作码被译码或测试;指令寄存器中的操作码被译码或测试;(7)CPU识别出是指令识别出是指令CLA,至此,取指令阶段即告结束。,至此,取指令阶段即告结束。现在学习的是第22页,共54页2执行指令阶段执行指令阶段(1)操作控制器送一控制信号给算术逻辑运算单元操作控制器送一控制信号给算术逻辑运算单元ALU;(2)ALU响应该控制信号,将累加寄存器响应该控制信号,将累加寄存器AC的内容全部清零,的内容全部清零,从而执行了从而执行了CLA指令。指令。现在学习的是第23页,共54页(三)(三)ADD30命令命令ADD指令的指令周期由三个指令的指令周期由三个CPU周期组成。周期组成。1.取指令阶段取指令阶段取指令阶段与取指令阶段与CLA基本相同;基本相同;2.送操作数地址送操作数地址第二个第二个CPU周期主要完成送操作数地址。在此阶段,周期主要完成送操作数地址。在此阶段,CPU的动作只有一个,那就是把指令寄存器中的地址码部分的动作只有一个,那就是把指令寄存器中的地址码部分(30)装装入地址寄存器,其中入地址寄存器,其中30为内存中存放操作数的地址。为内存中存放操作数的地址。现在学习的是第24页,共54页3.两操作数相加两操作数相加第三个第三个CPU周期主要完成取操作数并执行加法操作中。周期主要完成取操作数并执行加法操作中。在此阶段,在此阶段,CPU完成如下动作:完成如下动作:(1)把地址寄存器中的操作数的地址把地址寄存器中的操作数的地址(30)发送到地址总线发送到地址总线(2)由存储器单元由存储器单元30中读出操作数中读出操作数(6),并经过数据总线传送,并经过数据总线传送到缓冲寄存器。到缓冲寄存器。(3)执行加操作:由数据缓冲寄存器来的操作数执行加操作:由数据缓冲寄存器来的操作数(6)可送往可送往ALU的一个输入端,已等候在累加器内的另的一个输入端,已等候在累加器内的另一个操作数一个操作数(因因为为CLA指令执行结束后累加器内容为零指令执行结束后累加器内容为零)送往送往ALU的另一输入的另一输入端,于是端,于是ALU将两数相加,产生运算结果为将两数相加,产生运算结果为0+66。这个结。这个结果放回累加器,替换了累加器中原先的数果放回累加器,替换了累加器中原先的数0。现在学习的是第25页,共54页现在学习的是第26页,共54页(四)(四)STA40指令指令1.取指令阶段取指令阶段取指令阶段与取指令阶段与CLA基本相同;基本相同;2.送操作数地址送操作数地址在第二个在第二个CPU周期中,周期中,CPU完成的动作是把指令寄存器完成的动作是把指令寄存器中地址码部分的形式地址中地址码部分的形式地址40装到地址寄存器。其中数字装到地址寄存器。其中数字40是是操作数地址。操作数地址。3.存储和数存储和数执行阶段的第二个执行阶段的第二个CPU周期中,累加寄存器的内容传送到缓周期中,累加寄存器的内容传送到缓冲寄存器,然后再存入到所选定的存储单元冲寄存器,然后再存入到所选定的存储单元(40)中。中。CPU完完成如下动作:成如下动作:(1)累加器的内容累加器的内容(6)被传送到数据缓冲寄存器被传送到数据缓冲寄存器DR;(2)把地址寄存器的内容把地址寄存器的内容(40)发送到地址总线上,发送到地址总线上,40即为将即为将要存入的数据要存入的数据6的内存单元号;的内存单元号;现在学习的是第27页,共54页(3)把缓冲寄存器的内容把缓冲寄存器的内容(6)发送到数据总线上;发送到数据总线上;(4)数据总线上的数写入到所选中的存储器单元中,即将数数据总线上的数写入到所选中的存储器单元中,即将数6写入到存储器写入到存储器40号单元中。号单元中。注意:注意:在这个操作之后,累加器中仍然保留和数在这个操作之后,累加器中仍然保留和数6,而存储,而存储器器40号单元中原先的内容被冲掉号单元中原先的内容被冲掉。现在学习的是第28页,共54页(五)(五)NOP指令指令这是一条空操作指令。其中第一个这是一条空操作指令。其中第一个CPU周期中取指令,周期中取指令,CPU把把23号单元的号单元的“NOP”指令取出放到指令寄存器,第二个指令取出放到指令寄存器,第二个CPU周期周期中执行该指令。因译码器译出是中执行该指令。因译码器译出是“NOP”指令,第二个指令,第二个CPU周期中周期中操作控制器不发出任何控制信号。操作控制器不发出任何控制信号。NOP指令可用来调机之用。指令可用来调机之用。现在学习的是第29页,共54页(六)(六)JMP21指令指令JMP指令的指令周期由两个指令的指令周期由两个CPU周期组成。周期组成。1.第一个第一个CPU周期(取指令阶段)周期(取指令阶段)CPU把把24号单元的号单元的“JMP21”指令取出放至指令寄存器,指令取出放至指令寄存器,同时程序计数器内容加同时程序计数器内容加1,变为,变为25,从而取下一条指令做好准备。,从而取下一条指令做好准备。2.第二个第二个CPU周期(执行阶段)周期(执行阶段)CPU把指令寄存器中地址码部分把指令寄存器中地址码部分21送到程序计数器,送到程序计数器,从而用新内容从而用新内容21代替代替PC原先的内容原先的内容25。这样,下一条指令。这样,下一条指令将不从将不从25单元读出,而是从内存单元读出,而是从内存21单元开始读出并执行,从单元开始读出并执行,从而改变了程序原先的执行顺序。而改变了程序原先的执行顺序。注意:注意:执行执行“JMP21”指令时,我们此处所给的四条指令组成的程指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去。去。现在学习的是第30页,共54页现在学习的是第31页,共54页6.3微程序控制器微程序控制器一、基本概念一、基本概念微程序控制器:所有控制信号皆由微程序及相关电路产生。微程序控制器:所有控制信号皆由微程序及相关电路产生。微操作:计算机最小且不可分解的操作。微操作:计算机最小且不可分解的操作。微操作控制信号:控制微操作的信号。微操作控制信号:控制微操作的信号。微指令:若干个微命令的集合。微指令:若干个微命令的集合。微命令:产生微操作控制信号的命令。微命令:产生微操作控制信号的命令。微程序:完成一条机器指令所需全部微指令的有序集合。微程序:完成一条机器指令所需全部微指令的有序集合。微控制存储器:用来存放微程序的存储器。微控制存储器:用来存放微程序的存储器。现在学习的是第32页,共54页二、微程序控制器的工作过程二、微程序控制器的工作过程(一)结构(一)结构1.结构框图结构框图现在学习的是第33页,共54页它主要由它主要由控制存储器、微指令寄存器控制存储器、微指令寄存器和和地址转移逻辑地址转移逻辑三大三大部分组成。部分组成。1.控制存储器控制存储器控制存储器用来存放实现全部指令系统的微程序,它是一种只控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令指令,又执行这一条微指令。读出一条微指令并执。读出一条微指令并执行微指令行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。微程序的数量。对控制存储器的要求是速度快,读出周期要短。现在学习的是第34页,共54页2.微指令寄存器微指令寄存器微指令寄存器用来存放由控制存储器读出的一条微指令信息。微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。3.地址转移逻辑地址转移逻辑 在一般情况下,微指令由控制存储器读出后直接给出下一在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称条微指令的地址,通常我们简称微地址微地址,这个微地址信息就存,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段别测试字段P和执行部件的和执行部件的“状态条件状态条件”反馈信息,去修改反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。地址转移逻辑就承担自动完成修改微地址的任务。现在学习的是第35页,共54页(二)工作过程(二)工作过程以执行一条加法指令为例,它由四条微指令解释执行,一以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:控制信号如下:1.取指微指令取指微指令指令地址送地址总线;指令地址送地址总线;发访存控制命令,从存储器取指令送数据总线;发访存控制命令,从存储器取指令送数据总线;指令送指令寄存器;指令送指令寄存器;程序计数器程序计数器+1。2.计算地址微指令计算地址微指令取两个源操作数(计算地址用);取两个源操作数(计算地址用);加法运算;加法运算;有效地址送地址寄存器;有效地址送地址寄存器;现在学习的是第36页,共54页3.取数微指令取数微指令数据地址送地址总线;数据地址送地址总线;发访存控制命令,从存储器将数据送数据总线;发访存控制命令,从存储器将数据送数据总线;数据送数据寄存器;数据送数据寄存器;4.加法运算和送结果微指令加法运算和送结果微指令两操作输送两操作输送ALU;加法运算;加法运算;运算结果送通用寄存器。运算结果送通用寄存器。现在学习的是第37页,共54页(三)微指令的组成形式(三)微指令的组成形式微指令最简单的组成形式是将控制信号用一个控制位来微指令最简单的组成形式是将控制信号用一个控制位来表示,当该位为表示,当该位为“1”时,定义为有控制信号,当该位为时,定义为有控制信号,当该位为“0”时,没有控制信号。如控制存储器容量位时,没有控制信号。如控制存储器容量位4K时,则总共时,则总共有有23个控制信号,其余个控制信号,其余12位来表示下址。位来表示下址。如书如书176页页实际的计算机的控制信号数量要大的多,而且控制存储器容量实际的计算机的控制信号数量要大的多,而且控制存储器容量一般大于一般大于4K字,因此微指令字的长度通常在字,因此微指令字的长度通常在100位以上。控制存位以上。控制存储器的容量取决于实现指令系统所需的微程序的长度。储器的容量取决于实现指令系统所需的微程序的长度。现在学习的是第38页,共54页(四)(四)CPU周期与微指令周期的关系周期与微指令周期的关系在串行方式的微程序控制器中在串行方式的微程序控制器中:微指令周期微指令周期=读出微指令的时间读出微指令的时间+执行该条微指令的时间执行该条微指令的时间下图示出了某小型机中下图示出了某小型机中CPU周期与微指令周期的时间关系:周期与微指令周期的时间关系:现在学习的是第39页,共54页一个一个CPU周期为周期为0.8s,它包含四个等间隔的节拍脉冲,它包含四个等间隔的节拍脉冲T1T4,每个脉冲宽度为,每个脉冲宽度为200ns。用。用T4作为读取微指令的时间,用作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。例如,在前时间作为执行微指令的时间。例如,在前600ns时间时间内运算器进行运算,在内运算器进行运算,在600ns时间的末尾运算器已经运算完毕,时间的末尾运算器已经运算完毕,可用可用T4上升沿将运算结果打入某个寄存器。与此同时可用上升沿将运算结果打入某个寄存器。与此同时可用T4间间隔读取下条微指令,经隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存时间延迟,下条微指令又从只读存储器读出,并用储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信号就从的翻转延迟,那么下条微指令的微命令信号就从T1上升沿起就上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时间恰好是因此一条微指令的保持时间恰好是0.8s,也就是一个,也就是一个CPU周期周期的时间。的时间。现在学习的是第40页,共54页(五)机器指令与微指令的关系(五)机器指令与微指令的关系 一条机器指令对应一个微程序,这个微程序是由若干条微指一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的组成的序列来实现的。简言之,一条机器指令所完成的操作划操作划分成若干条微指令来完成,由微指令进行解释和执行。分成若干条微指令来完成,由微指令进行解释和执行。从指令与微指令,程序与微程序,地址与微地址的一一对从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。应关系来看,前者与内存储器有关,后者与控制存储器有关。我们在前面曾讲述了指令与机器周期概念,并归纳了五条我们在前面曾讲述了指令与机器周期概念,并归纳了五条典型指令的指令周期,并演示了这五条指令的微程序流程图,典型指令的指令周期,并演示了这五条指令的微程序流程图,每一个每一个CPU周期就对应一条微指令。这就告诉我们如何设计周期就对应一条微指令。这就告诉我们如何设计微程序,也将使我们进一步体验到机器指令与微指令的关系。微程序,也将使我们进一步体验到机器指令与微指令的关系。现在学习的是第41页,共54页微程序的控制器运行原理微程序的控制器运行原理每条指令一个执行步骤用到的全体控制信号组成一每条指令一个执行步骤用到的全体控制信号组成一微指令微指令每条指令可以包括一到多个每条指令可以包括一到多个微操作微操作用多条用多条微指令微指令解释每条指令的整个执行过程解释每条指令的整个执行过程全部微指令的集合全部微指令的集合叫做叫做微程序微程序执行一条微指令所用的时间被称为一个执行一条微指令所用的时间被称为一个微周期。微周期。微指令的格式和内容:微指令的格式和内容:下地址字段下地址字段控制命令字段控制命令字段执行第执行第I条微指令条微指令形成第形成第I+1条微指令地址条微指令地址读第读第I+1条微指令条微指令读与执行微指令的读与执行微指令的并行流水技术并行流水技术现在学习的是第42页,共54页加法指令加法指令ADDR1,R2读取指令读取指令1ARPC2读主存,读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4ALUR1ALUR2执行执行+R1ALU结束,判中断结束,判中断形形成成下下条条指指令令地地址址现在学习的是第43页,共54页寄存器内容传送指令寄存器内容传送指令MOVR9,R1读取指令读取指令1ARPC2读主存,读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4ALU0ALUR1执行执行+R9ALU结束,判中断结束,判中断形形成成下下条条指指令令地地址址现在学习的是第44页,共54页写寄存器内容到主存写寄存器内容到主存MOV807,R9读取指令读取指令1ARPC2读主存,读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4ARPC,PCPC+15读主存,读主存,AR读出内容读出内容6写主存写主存,总线总线ALU,ALU0,ALU R9,+形形成成下下条条指指令令地地址址(地址(地址807存在指令的第二个字中)存在指令的第二个字中)判中断判中断(注)(注)现在学习的是第45页,共54页输入指令输入指令IN80读取指令读取指令1ARPC2读主存读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4ARI/oport(IR低字节)低字节)5读外设,读外设,ALU读出内容读出内容+,ALU0R0ALU结束,判中断结束,判中断形形成成下下条条指指令令地地址址现在学习的是第46页,共54页相对转移指令相对转移指令JRc,offset读取指令读取指令1IP,ARPC2读主存,读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4若若c=1则:则:ALUIPALUoffset(IR低字节)低字节)+,PCALU否则,顺序执行否则,顺序执行结束,判中断结束,判中断形形成成下下条条指指令令地地址址现在学习的是第47页,共54页子程序返回指令子程序返回指令RET读取指令读取指令1ARPC2读主存,读主存,IR读出内容读出内容PCPC+13由操作码找微地址,读控存由操作码找微地址,读控存执行指令执行指令4ARSPSPSP+15读主存读主存,PC读出内容读出内容结束,判中断结束,判中断形形成成下下条条指指令令地地址址现在学习的是第48页,共54页设某计算机运算器框图如图设某计算机运算器框图如图(a)所示,其中所示,其中ALU为为16位位的加法器的加法器(高电平工作高电平工作),SA,SB为为16位暂存器。位暂存器。4个通用寄个通用寄存器由存器由D触发器组成,触发器组成,Q端输出:端输出:现在学习的是第49页,共54页其读、写控制功能见下表:其读、写控制功能见下表:现在学习的是第50页,共54页现在学习的是第51页,共54页机器采用串行微程序控制方式,其微指令周期见图(机器采用串行微程序控制方式,其微指令周期见图(b)。其中。其中读读ROM是从控存中读出一条微指令时间,为是从控存中读出一条微指令时间,为1s;ALU工作是加工作是加法器做加法运算,为法器做加法运算,为500ns;m1是读寄存器时间,为是读寄存器时间,为500ns;m2是是写寄存器的工作脉冲宽度,为写寄存器的工作脉冲宽度,为100ns。微指令字长微指令字长12位,微指令格位,微指令格式如下:式如下:RA0RA1:读:读R0-R3的选择控制的选择控制WA0WA1:写:写R0-R3的选择控制的选择控制R:寄存器读命令:寄存器读命令W:寄存器写命令:寄存器写命令LDSA:打入:打入SA的控制信号的控制信号LDSB:打入:打入SB的控制信号的控制信号SB-ALU:传送:传送SB的控制信号的控制信号SB-ALU:传送:传送SB的控制信号的控制信号,并使加法器最低位加并使加法器最低位加1.现在学习的是第52页,共54页Reset:清暂存器:清暂存器SB为零的信号为零的信号:一段微程序结束,转入取机器指令的控制信号:一段微程序结束,转入取机器指令的控制信号要求:用二进制代码写出如下指令的微程序:要求:用二进制代码写出如下指令的微程序:(1)“ADDR0,R1”指令,即指令,即(R0)+(R1)R1(2)“SUBR2,R3”指令,即指令,即(R3)-(R2)R3(3)“MOVR