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