1、1/128计算机组成原理及汇编语言计算机组成原理及汇编语言普通高等教育普通高等教育“十五十五”国家级规划教材国家级规划教材(高职高专教育)(高职高专教育)高等教育出版社高等教育出版社高等教育电子音像出版社高等教育电子音像出版社1/128第第5 5章章 中央处理器中央处理器CPUCPU本章介绍的内容有本章介绍的内容有:CPUCPU的功能和基本组成的功能和基本组成 指令周期指令周期 时序产生器时序产生器 微程序控制器微程序控制器 硬布线控制器硬布线控制器 传统传统CPUCPU的结构的结构 流水流水CPUCPU,RISC CPURISC CPU 多媒体多媒体CPUCPU等先进计算机技术成果等先进计算
2、机技术成果1/1285.1 CPU的功能和结构的功能和结构 一、一、CPUCPU的功能的功能 中央处理器中央处理器(CPU)CPU):自动完成取出指令和执行指令的自动完成取出指令和执行指令的任务。任务。CPUCPU具有如下四方面的基本功能:具有如下四方面的基本功能:(1)(1)指令控制:指令控制:程序的顺序控制,称为指令控制。程序的顺序控制,称为指令控制。(2)(2)操作控制:操作控制:控制计算机部件按指令的要求进行控制计算机部件按指令的要求进行动作。动作。(3)(3)时间控制时间控制:对各种操作实施时间上的定时,称为对各种操作实施时间上的定时,称为时间控制。时间控制。(4)(4)数据加工数据
3、加工:所谓数据加工,就是对数据进行算术所谓数据加工,就是对数据进行算术运算和逻辑运算处理。运算和逻辑运算处理。1/128二、二、CPUCPU的基本组成的基本组成 传统的传统的CPUCPU由由运算器运算器和和控制器控制器两大部分组成。两大部分组成。但是随着高密度集成电路技术的发展,早期放在但是随着高密度集成电路技术的发展,早期放在CPUCPU芯片外部的一些逻辑功能部件,如浮点运算器、芯片外部的一些逻辑功能部件,如浮点运算器、cachecache等纷纷移入等纷纷移入CPUCPU内部,因而使内部,因而使CPUCPU的内部组成的内部组成越来越复杂。这样越来越复杂。这样CPUCPU的基本部分变成了的基本
4、部分变成了运算器运算器、cachecache和和控制器控制器三大部分。三大部分。从教学目的出发,本章以从教学目的出发,本章以CPUCPU执行指令为主线来执行指令为主线来组织教学内容。为便于读者建立计算机的整机概念,组织教学内容。为便于读者建立计算机的整机概念,我们突出主要矛盾,给出下图所示的我们突出主要矛盾,给出下图所示的CPUCPU模型模型。1/128CPUCPU主要组成部分逻辑结构图主要组成部分逻辑结构图 1/1281 1、控制器的组成和功能、控制器的组成和功能 控制器控制器:具由具由程序计数器程序计数器、指令寄存器指令寄存器、指令译码器指令译码器、时序产生器时序产生器和和操作控制器操作控
5、制器组成,它是发布命令的组成,它是发布命令的“决决策机构策机构”,即完成直辖市和指挥整个计算机系统的操作。,即完成直辖市和指挥整个计算机系统的操作。控制器的控制器的主要功能主要功能有:有:(1)(1)从内存中取出一条指令,并指出下一条指令在内存从内存中取出一条指令,并指出下一条指令在内存中的位置。中的位置。(2)(2)对指令进行译码或测试,并产生相应的操作控制信对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。比如一次内存读号,以便启动规定的动作。比如一次内存读/写操作,一写操作,一个算术逻辑运算操作,或一个输入个算术逻辑运算操作,或一个输入/输出操作。输出操作。(3)(3)
6、指挥并控制指挥并控制CPUCPU、内存和输入、内存和输入/输出设备之间数据流输出设备之间数据流动的方向。动的方向。1/1282 2、运算器的组成和功能、运算器的组成和功能 由由算术逻辑单元(算术逻辑单元(ALUALU)、累加寄存器累加寄存器、数据缓冲寄数据缓冲寄存器存器和和状态条件寄存器状态条件寄存器组成,它是组成,它是数据加工处理数据加工处理部件。部件。相对控制器而言,运算器接受控制器的命令而进行动作,相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。号来指挥的,所以
7、它是执行部件。运算器有两个运算器有两个主要功能:主要功能:(1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试,如零值测执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。通常,一个算术操作产生一个运算试或两个值的比较。通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。结果,而一个逻辑操作则产生一个判决。鉴于第二章中已经详细介绍了运算器的结构,所以本鉴于第二章中已经详细介绍了运算器的结构,所以本章把重点放在介绍控制器上。章把重点放在介绍控制器上。1/128三、三、CPUCPU中的主要寄存器中的主要寄存器 各种计算机的各种计
8、算机的CPUCPU可能有这样或那样的不同,但是在可能有这样或那样的不同,但是在CPUCPU中至少要有六类寄存器中至少要有六类寄存器:指令寄存器指令寄存器(IR)IR)程序计数器程序计数器(PC)PC)地址寄存器地址寄存器(AR)AR)缓冲寄存器缓冲寄存器(DR)DR)累加寄存器累加寄存器(AC)AC)状态条件寄存器状态条件寄存器(PSW)PSW)上述这些寄存器用来暂存一个计算机字。根据需要,上述这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。可以扩充其数目。1/128 从上面叙述可知,从上面叙述可知,CPUCPU中的中的6 6类主要寄存器,每一个类主要寄存器,每一个完成一种特定的功能
9、。然而信息怎样才能在各寄存器完成一种特定的功能。然而信息怎样才能在各寄存器之间传送呢?也就是说,数据的流动是由什么部件控之间传送呢?也就是说,数据的流动是由什么部件控制的呢?制的呢?通常把许多寄存器之间传送信息的通路,称为通常把许多寄存器之间传送信息的通路,称为数据数据通路通路。信息从什么地方开始,中间经过哪个寄存器或。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。操作控制器的功能,就是根控制器的
10、部件来完成的。操作控制器的功能,就是根据指令据指令操作码操作码和和时序信号时序信号,产生各种操作控制信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指以便正确地建立数据通路,从而完成取指令和执行指令的控制。令的控制。四、操作控制器与时序产生器四、操作控制器与时序产生器1/128 根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:时序逻辑时序逻辑型型、存储逻辑型存储逻辑型、时序逻辑与存储逻辑结合时序逻辑与存储逻辑结合三种。第一三种。第一种称为硬布线控制器,它是采用时序逻辑技术来实现的;种称为硬布线控制器,它是采用时序逻辑技术来实现的;第二种称为微程序
11、控制器,它是采用存储逻辑来实现的;第二种称为微程序控制器,它是采用存储逻辑来实现的;第三种是前两种方式的组合。本书重点介绍微程序控制第三种是前两种方式的组合。本书重点介绍微程序控制器。器。操作控制器产生的控制信号必须定时,还必须有时序操作控制器产生的控制信号必须定时,还必须有时序产生器。因为计算机高速地进行工作,每一个动作的时产生器。因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能有任何差错。时序产生器的作用,间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间的控制。就是对各种操作实施时间的控制。CPUCPU中除了上述组成部分外,还有中断系统、总线接中除了上述
12、组成部分外,还有中断系统、总线接口等其他功能部件,这些内容将在以后各章中陆续展开。口等其他功能部件,这些内容将在以后各章中陆续展开。1/1285.2 指令的执行过程和指令周期指令的执行过程和指令周期 当计算机加电时,当计算机加电时,CPUCPU执行只读存储器执行只读存储器(ROMROM)的程的程序,利用加电计算机产生复位序,利用加电计算机产生复位(ResetReset)信号,使计算机信号,使计算机处于初始状态,从只读存储器中固化的程序入口地址处于初始状态,从只读存储器中固化的程序入口地址开始,对计算机的硬件进行开始,对计算机的硬件进行测试测试工作,然后工作,然后加载操作加载操作系统系统,执行操
13、作系统程序,执行操作系统程序,等待用户等待用户的操作。的操作。综上所述,计算机的工作过程可描述如下:综上所述,计算机的工作过程可描述如下:加电加电 产生产生ResetReset信号信号 执行程序执行程序 停机停机 停电停电1/128 我们知道,指令和数据均放在内存里。从形式上我们知道,指令和数据均放在内存里。从形式上看,它们都是二进制代码,所以对人来说,很难区看,它们都是二进制代码,所以对人来说,很难区分出这些代码是分出这些代码是指令指令还是还是数据数据。然而。然而CPUCPU却能识别这却能识别这些二进制代码:它能准确地判别出哪些是指令字,些二进制代码:它能准确地判别出哪些是指令字,哪些是数据
14、字,并将它们送往相应的地方。本节我哪些是数据字,并将它们送往相应的地方。本节我们将讲座在一些们将讲座在一些典型的指令周期典型的指令周期中,中,CPUCPU的各部分是的各部分是怎样工作的,从而能加深对这一问题的理解和体验。怎样工作的,从而能加深对这一问题的理解和体验。一、指令周期的基本概念一、指令周期的基本概念1/128 计算机所以能自动地工作,计算机所以能自动地工作,是因为是因为CPUCPU能从存放程序能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令取指令,执行指令,如此周而复始,构成了一个,如此周而复始,构成了一个封闭的
15、循环封闭的循环。除非遇到停机指令,否则这个循环将一。除非遇到停机指令,否则这个循环将一直继续下去,其过程如下图所示。直继续下去,其过程如下图所示。CPUCPU每取出并执行一条指令,都要完成一系列的操每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需的时间通常叫做一个作,这一系列操作所需的时间通常叫做一个指令周期指令周期。更简单地说,更简单地说,指令周期指令周期是取出并执行一条指令的时间。是取出并执行一条指令的时间。由于各种指令的操作功能不同,有的简单,有的复杂,由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期是不尽相同的。例如,一条因此各种指令的指令周期是不尽相
16、同的。例如,一条访内指令的指令周期,同一条非访内指令的指令周期访内指令的指令周期,同一条非访内指令的指令周期是不相同的。是不相同的。1/128取指令、执行指令序列取指令、执行指令序列 1/1281 1、指令周期常常用若干个指令周期常常用若干个CPUCPU周期数来表示周期数来表示,CPUCPU周期周期也称为机器周期。由于也称为机器周期。由于CPUCPU内部的操作速度较快,而内部的操作速度较快,而CPUCPU访问一次内存所花的时间较长,因此通常用内存访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定中读取一个指令字的最短时间来规定CPUCPU周期。周期。2 2、而一个而一个
17、CPUCPU周期时间又包含有若干个时钟周期(通常周期时间又包含有若干个时钟周期(通常自然数为节拍脉冲或自然数为节拍脉冲或T T周期,它是处理操作的最基本周期,它是处理操作的最基本单位)单位)。这些时钟周期的总和则规定了一个。这些时钟周期的总和则规定了一个CPUCPU周期周期的时间宽度。图示出了采用定长的时间宽度。图示出了采用定长CPUCPU周期的指令周期周期的指令周期示意图。从后面的例子将会知道,取出和执行任何一示意图。从后面的例子将会知道,取出和执行任何一条指令所需的最短时间为两个条指令所需的最短时间为两个CPUCPU周期。周期。1/128指令周期指令周期1/128 五条典型指令组成的一个程
18、序五条典型指令组成的一个程序 八进制数位八进制数位八进制内容八进制内容助记符助记符 020 020 250 000 250 000CLACLA 021 021 030 030 030 030ADD 30ADD 30 022 022 021 031 021 031STA STA 40 40 023 023 000 000 000 000NOPNOP 024 024 140 021 140 021JMP JMP 21 21 030 030 000 006 000 006 031 031 000 040 000 040 数据数据 040 040 存和数单元存和数单元1/128 CLACLA是一条非访
19、内指令,其指令周期如下图所示。它是一条非访内指令,其指令周期如下图所示。它需要两个需要两个CPUCPU周期,其中取指令阶段需要一个周期,其中取指令阶段需要一个CPUCPU周期,周期,执行指令阶段需要一个执行指令阶段需要一个CPUCPU周期。周期。在第一个在第一个CPUCPU周期,即取指令阶段,周期,即取指令阶段,CPUCPU完成三件事:完成三件事:(1 1)从内存取出指令;)从内存取出指令;(2 2)对程序计数器)对程序计数器PCPC加加1 1,以便为取下一条指令做,以便为取下一条指令做好准备;好准备;(3 3)对指令操作码进行译码或测试,以便确定进行)对指令操作码进行译码或测试,以便确定进行
20、什么操作。什么操作。二、二、非访问主存储器指令的指令周期非访问主存储器指令的指令周期1/128非访内指令的指令周期非访内指令的指令周期 1/128 1 1、取指令阶段、取指令阶段 第一条指令的取指令阶段示于下图。我们假定下表的第一条指令的取指令阶段示于下图。我们假定下表的程序己装入内存中,因而在此阶段内,程序己装入内存中,因而在此阶段内,CPUCPU的动作如下:的动作如下:(1 1)程序计数器)程序计数器PCPC的内容的内容2020(八进制)被装入地址寄(八进制)被装入地址寄存器存器ARAR:(2 2)程序计数器内容加)程序计数器内容加1 1,变成,变成2121,为取下一条指令做,为取下一条指
21、令做好准备;好准备;(3 3)地址寄存器的内容被放到地址总线上;)地址寄存器的内容被放到地址总线上;(4 4)所选存储器单元)所选存储器单元2020的内容经过数据总线,传送到的内容经过数据总线,传送到数据缓冲寄存器数据缓冲寄存器DRDR;(5 5)缓冲寄存器的内容传送到指令寄存器)缓冲寄存器的内容传送到指令寄存器IRIR;(6 6)指令寄存器中的操作码被译码或测试;)指令寄存器中的操作码被译码或测试;(7 7)CPUCPU识别出是指令识别出是指令CLACLA,至此,取指令阶段即告结,至此,取指令阶段即告结束。束。1/128取出取出CLACLA指令指令 1/1282 2、执行指令阶段、执行指令阶
22、段(1 1)操作控制器送一控制信号给算术逻辑运算单)操作控制器送一控制信号给算术逻辑运算单元元ALUALU;(2 2)ALUALU响应该控制信号,将累加寄存器响应该控制信号,将累加寄存器ACAC的内容的内容全部清零,从而执行了全部清零,从而执行了CLACLA指令。指令。1/128三、直接访问主存储器指令的指令周期三、直接访问主存储器指令的指令周期 程序的第二条指令是程序的第二条指令是ADDADD指令,这是一条访问内存指令,这是一条访问内存取数并执行加法的指令。取数并执行加法的指令。ADDADD指令的指令周期由三个指令的指令周期由三个CPUCPU周期组成,如图所示。周期组成,如图所示。其中第一个
23、其中第一个CPUCPU周期为取值指令阶段,它的程序完全与周期为取值指令阶段,它的程序完全与CLACLA指令相同。执行指令阶段由两个指令相同。执行指令阶段由两个CPUCPU周期组成;其周期组成;其中在第二个中在第二个CPUCPU周期中将操作数的地址送往地址寄存器周期中将操作数的地址送往地址寄存器并完成地址译码,而在第三个并完成地址译码,而在第三个CPUCPU周期从内存取出操作周期从内存取出操作数并执行相加的操作。数并执行相加的操作。1/128直接访内指令的指令周期直接访内指令的指令周期 1/128 程序的第三条指令是程序的第三条指令是“STA 40STA 40”指令,这是一条访指令,这是一条访问
24、内存的存数指令。问内存的存数指令。STASTA指令的指令周期由三个指令的指令周期由三个CPUCPU周期组成,如图所示。周期组成,如图所示。其中第一个其中第一个CPUCPU周期仍然是取指令阶段,其过程和周期仍然是取指令阶段,其过程和CLACLA指指令、令、ADDADD指令完全一样,不同的是此阶段中程序计数器指令完全一样,不同的是此阶段中程序计数器加加1 1后变为后变为2323,因而为取第四条指令做好了准备。我们,因而为取第四条指令做好了准备。我们假定,第一个假定,第一个CPUCPU周期结束后,周期结束后,“STA 40”STA 40”指令己放入指令己放入指令寄存器并完成译码测试。所以下面我们仍不
25、讨论第指令寄存器并完成译码测试。所以下面我们仍不讨论第一个一个CPUCPU周期,而讨论从第二个周期,而讨论从第二个CPUCPU周期开始的指令执行周期开始的指令执行阶段的各个操作。阶段的各个操作。四、间接访问主存储器指令的指令周期四、间接访问主存储器指令的指令周期1/128存数指令的指令周期存数指令的指令周期 1/128 我们的程序现在己进行到第四条指令即我们的程序现在己进行到第四条指令即“NOPNOP”指指令,这是一条空操作指令。此处省略了指令周期图。其令,这是一条空操作指令。此处省略了指令周期图。其中第一个中第一个CPUCPU周期中取指令,周期中取指令,CPUCPU把把2323号单元的号单元
26、的“NOP”NOP”指令取出放到指令寄存器,第二个指令取出放到指令寄存器,第二个CPUCPU周期中招待该指周期中招待该指令。因译码器译出是令。因译码器译出是“NOP”NOP”指令,第二个指令,第二个CPUCPU周期中周期中操作控制器不发出任何控制信号。操作控制器不发出任何控制信号。NOPNOP指令可用来调机指令可用来调机之用。之用。五、五、NOP指令和指令和JMP指令的指令周期指令的指令周期1/128 程序进行到第五条指令,即程序进行到第五条指令,即“JMP 21JMP 21”指令,这是指令,这是一条程序控制指令。它的含义是改变程序原先的顺序,一条程序控制指令。它的含义是改变程序原先的顺序,从
27、而无条件地转移到地址从而无条件地转移到地址2121开始的指令。开始的指令。JMPJMP指令的指令周期仅由两个指令的指令周期仅由两个CPUCPU周期组成,如图所示周期组成,如图所示。第一个第一个CPUCPU周期仍然是取指令阶段,周期仍然是取指令阶段,CPUCPU把把2424号单元的号单元的“JMP21”JMP21”指令取出放至指令寄存器,同时程序计数器指令取出放至指令寄存器,同时程序计数器内容加内容加1 1,变为,变为2525,从而取下一条指令做好准备。,从而取下一条指令做好准备。第二个第二个CPUCPU周期为执行阶段。在这个阶段中,周期为执行阶段。在这个阶段中,CPUCPU把指把指令寄存器中的
28、地址码部分令寄存器中的地址码部分2121送到程序计数器,从而用新送到程序计数器,从而用新内容内容2121代替代替PCPC寄存器的内容寄存器的内容2525。这样,下一条指令将不。这样,下一条指令将不从从2525单元读出,而是从内存单元读出,而是从内存2121单元开始读出并执行,从单元开始读出并执行,从而改变了程序原先的执行顺序。而改变了程序原先的执行顺序。1/128 JMP JMP指令的指令周期指令的指令周期 1/128 我们在上面介绍了五条典型指令的指令周期,从而使我们在上面介绍了五条典型指令的指令周期,从而使我们对一条指令的取指过程和执行过程有了一个较深刻我们对一条指令的取指过程和执行过程有
29、了一个较深刻的印象。然而我们是通过的印象。然而我们是通过画示意图或数据通路图画示意图或数据通路图,来解,来解释这些过程的。所以这样做,主要是为了教学的目的。释这些过程的。所以这样做,主要是为了教学的目的。在进行计算机设计时,可以采用在进行计算机设计时,可以采用方框图语言方框图语言来表示一来表示一条指令的指令周期。条指令的指令周期。一个方框代表一个一个方框代表一个CPUCPU周期周期,方框中,方框中的内容表示的内容表示数据通路的操作或某种控制操作数据通路的操作或某种控制操作。除了方框。除了方框以外,还需要一个以外,还需要一个菱形符号菱形符号,它通常用来,它通常用来表示某种判别表示某种判别或测试或
30、测试,不过时间上它依附于紧接它的前面一个方框的,不过时间上它依附于紧接它的前面一个方框的CPUCPU周期,而不单独占一个周期,而不单独占一个CPUCPU周期。周期。六、用方框图语言表示指令周期六、用方框图语言表示指令周期1/128 我们把前面的五条典型指令加以归纳,用我们把前面的五条典型指令加以归纳,用方框图语方框图语言言表示的指令周期示于下图。我们明显的看到,所有表示的指令周期示于下图。我们明显的看到,所有指令的取指令阶段是完全相同的,而且是一个指令的取指令阶段是完全相同的,而且是一个CPUCPU周期。周期。但是指令的执行阶段,由于各条指令的功能不同,所但是指令的执行阶段,由于各条指令的功能
31、不同,所用的用的CPUCPU周期是各不相同的,其中周期是各不相同的,其中CLACLA,NOPNOP,JMPJMP指令指令是是一个一个CPUCPU周期;周期;ADDADD和和STASTA指令是指令是两个两个CPUCPU周期。框图周期。框图中中DBUSDBUS代表数据总线,代表数据总线,ABUSABUS代表地址总线,代表地址总线,RDRD代表内代表内存读命令,存读命令,WEWE代表内存写命令。代表内存写命令。1/128五条指令序列的表示五条指令序列的表示 1/128 图中,还有一个图中,还有一个“”符号,符号,我们称它为公操我们称它为公操作符号作符号。这个符号表示一条指令已经执行完毕,转入。这个符
32、号表示一条指令已经执行完毕,转入公操作。所谓公操作。所谓公操作公操作,就是一条指令执行完毕后,就是一条指令执行完毕后,CPUCPU所开始进行的一些操作,这些操作主要是所开始进行的一些操作,这些操作主要是CPUCPU对外设请对外设请示的处理,如中断处理、通道处理等。如果外围设备示的处理,如中断处理、通道处理等。如果外围设备没有向没有向CPUCPU请示交换数据,那么请示交换数据,那么CPUCPU又转向内存取下一又转向内存取下一条指令。由于所有指令的取指令阶段是完全一样的,条指令。由于所有指令的取指令阶段是完全一样的,因此,取指令也可认为是公操作。这是因为,一条指因此,取指令也可认为是公操作。这是因
33、为,一条指令执行结束后,如果没有外设请求,令执行结束后,如果没有外设请求,CPUCPU一定转入一定转入“取指令取指令”操作。操作。1/1285.3 时序产生器和控制方法时序产生器和控制方法 在日常生活中,我们学习、工作和休息都有一个严格在日常生活中,我们学习、工作和休息都有一个严格的的作息时间作息时间。比如早晨。比如早晨6:006:00起床;起床;8:00-12:008:00-12:00上课,上课,12:00-14:0012:00-14:00午休,午休,每个教员和学生都必须严格,每个教员和学生都必须严格遵守这一规定,在规定的时间里上课,在规定的时间里遵守这一规定,在规定的时间里上课,在规定的时
34、间里休息,不得各行其是,否则就难以保证正常的教学秩序。休息,不得各行其是,否则就难以保证正常的教学秩序。一、时序信号的作用和体制一、时序信号的作用和体制1/128 1 1、时序信号的作用、时序信号的作用 CPUCPU中也有一个类似中也有一个类似“作息时间作息时间”的东西,它称的东西,它称为为时序信号时序信号。计算机所以能够准确、迅速、有条不。计算机所以能够准确、迅速、有条不紊地工作,正是因为在紊地工作,正是因为在CPUCPU中有一个时序信号产生器。中有一个时序信号产生器。机器一旦被启动,即机器一旦被启动,即CPUCPU开始取指令并执行指令时,开始取指令并执行指令时,操作控制器就利用定时脉冲的顺
35、序和不同的脉冲间隔,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算到来时做什么,在那个脉冲到来时又做什么,给计算机各部分提供工作所需的时间标志。为此,需要采用机各部分提供工作所需的时间标志。为此,需要采用多级时序体制多级时序体制。1/128 2 2、时序信号的体制时序信号的体制 组成计算机硬件的器件特性决定了时序最基本的体组成计算机硬件的器件特性决定了时序最基本的体制是制是电位电位-脉冲制脉冲制。这种体制最明显的一个例子,就是。这种体制最明显的一个例子,就
36、是当实现寄存器之间的数据传送时,数据回在触发器的当实现寄存器之间的数据传送时,数据回在触发器的电位输入端,而打入数据的控制信号加在触发器的时电位输入端,而打入数据的控制信号加在触发器的时钟输入端。电位的高低,表示数据是钟输入端。电位的高低,表示数据是1 1还是信号先建立,还是信号先建立,打入到寄存器中的数据才可靠的。当然,计算机中有打入到寄存器中的数据才可靠的。当然,计算机中有些部件,例如算术逻辑运算单元些部件,例如算术逻辑运算单元ALUALU只用电位信号工作只用电位信号工作就可以了。但尽管如此,运算结果还是要送入累加寄就可以了。但尽管如此,运算结果还是要送入累加寄存器,所以最终还是需要脉冲信
37、号来配合。存器,所以最终还是需要脉冲信号来配合。1/128 硬布线控制器硬布线控制器中,时序信号往往采用中,时序信号往往采用主状态周期主状态周期-节拍电位节拍电位-节拍脉冲三级体制节拍脉冲三级体制。一个节拍电位表示一个。一个节拍电位表示一个CPUCPU周期的时间,它表示了一个较大的时间单位;在一周期的时间,它表示了一个较大的时间单位;在一个节拍电位中又包含若干个节拍脉冲,以表示较小的个节拍电位中又包含若干个节拍脉冲,以表示较小的时间单位;而主状态周期可包含若干个节拍电位,所时间单位;而主状态周期可包含若干个节拍电位,所以它是最大的时间单位。主状态周期可以用一个触发以它是最大的时间单位。主状态周
38、期可以用一个触发器的状态持续时间来表示。器的状态持续时间来表示。在在微程序控制器微程序控制器中,时序信号比较简单,一般采用中,时序信号比较简单,一般采用节拍电位节拍电位-节拍脉冲二级体制节拍脉冲二级体制。就是说,它只有一个节。就是说,它只有一个节拍电位,在节拍电位中又包含若干个节拍脉冲(时钟拍电位,在节拍电位中又包含若干个节拍脉冲(时钟周期)。节拍电位表示一个周期)。节拍电位表示一个CPUCPU周期的时间,而节折脉周期的时间,而节折脉冲把一个冲把一个CPUCPU周期划分成几个较小的时间间隔。周期划分成几个较小的时间间隔。1/128 前面我们已分析了指令周期中需要的一些典型时序。前面我们已分析了
39、指令周期中需要的一些典型时序。时序信号产生器的功能即是用逻辑电器来实现这些时序。时序信号产生器的功能即是用逻辑电器来实现这些时序。各种计算机的时序信号产生电路是不尽相同的。一各种计算机的时序信号产生电路是不尽相同的。一般来说,大、中型计算机的时序电路比较复杂,而小、般来说,大、中型计算机的时序电路比较复杂,而小、微型机的时序电路比较简单,这是因为前者涉及的操作微型机的时序电路比较简单,这是因为前者涉及的操作动作较多,后涉及的操作动作较少。另一方面,从设计动作较多,后涉及的操作动作较少。另一方面,从设计操作控制器的方法来讲,硬布线控制器的时序电路比较操作控制器的方法来讲,硬布线控制器的时序电路比
40、较复杂,而微程序控制器的时序电路比较简单。然而不管复杂,而微程序控制器的时序电路比较简单。然而不管是哪一类,时序信号产生器最基本的构成是一样的是哪一类,时序信号产生器最基本的构成是一样的。二、时序信号产生器二、时序信号产生器1/128 下图示出了微程序控制器中使用的时序信下图示出了微程序控制器中使用的时序信号产生器的结构图,它由时钟源、环形脉发号产生器的结构图,它由时钟源、环形脉发生器、节拍脉冲和读写时序译码逻辑、启停生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。控制逻辑等部分组成。1/128时钟信号产生器框图时钟信号产生器框图 1/128 1源时钟源时钟 时钟源时钟源用来为环形脉
41、冲发生器提供频率稳定用电平用来为环形脉冲发生器提供频率稳定用电平匹配的方波时钟脉冲信号它通常由石英晶休振荡器和匹配的方波时钟脉冲信号它通常由石英晶休振荡器和非门组成的正反馈振荡电路组成,其输出送至环形脉非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。冲发生器。2环形脉冲发生器环形脉冲发生器 环形脉冲发生器环形脉冲发生器的作用是产生一组有序的间隔相等的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。为了在节拍脉冲上不带干毛刺,需的节拍脉冲。为了在节拍脉冲上不带干毛刺,环形脉冲发生器通过采用循环移位寄存器
42、形式。下环形脉冲发生器通过采用循环移位寄存器形式。下图示出了一种典型的环形脉冲发生器及其译码逻辑。图示出了一种典型的环形脉冲发生器及其译码逻辑。1/128 时序发生器时序发生器 1/128 3节拍脉冲和读节拍脉冲和读/写时序的译码写时序的译码 上图中的上半部示出了节拍脉冲和读上图中的上半部示出了节拍脉冲和读/写时序的译码逻写时序的译码逻辑。我们假定在一个辑。我们假定在一个CPUCPU周期中产生四个等间隔的节拍脉周期中产生四个等间隔的节拍脉冲。冲。10430332022101*CTCTCCTCCT/20/20/30/20*IORQCIORQMREQCMERQWECWERDCRD1/128节拍电位
43、节拍电位与节拍时与节拍时序关系图序关系图 1/128 4启停控制逻辑启停控制逻辑 机器一旦接通电源,就会自动产生原始的节拍脉冲机器一旦接通电源,就会自动产生原始的节拍脉冲信号信号T1T1 T4T4,然而,只有在启动机器运行的情况下,然而,只有在启动机器运行的情况下,才允许时序产生器发出才允许时序产生器发出CPUCPU工作所需的节拍脉冲工作所需的节拍脉冲T1-T4T1-T4。为此需要由启停控制逻辑来控制为此需要由启停控制逻辑来控制T1T1-T4-T4的发送。同的发送。同样,对读样,对读/写时序信号也需要由启停逻辑加以控制。上写时序信号也需要由启停逻辑加以控制。上图给出作者发明的启停控制逻辑,它是
44、一个实用有效图给出作者发明的启停控制逻辑,它是一个实用有效的工具性电路的工具性电路1/128 从从5.25.2节知道,机器指令的指令周期是数目不等的节知道,机器指令的指令周期是数目不等的CPUCPU周期数组成,周期数组成,CPUCPU周期数的反映了指令动作的复杂程序,周期数的反映了指令动作的复杂程序,即操作控制信号的多少。对一个即操作控制信号的多少。对一个CPUCPU周期而言,也有操作周期而言,也有操作控制信号的多少与出现的先后问题。这两种情况综合在控制信号的多少与出现的先后问题。这两种情况综合在一起,说明每条指令和每个操作控制信号所需的时间各一起,说明每条指令和每个操作控制信号所需的时间各不
45、相同。控制不同操作序列时序信号的方法,称为控制不相同。控制不同操作序列时序信号的方法,称为控制器的控制方式。常用的有器的控制方式。常用的有同步控制同步控制、异步控制异步控制、联合控联合控制制三种方式,其实质反映了时序信号的定时方式。三种方式,其实质反映了时序信号的定时方式。1同步控制方式同步控制方式 在任何情况下,已定的指令在执行时所需的机器周期数在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的,称为同步控制方式。根和时钟周期数都是固定不变的,称为同步控制方式。根据不同情况,同步控制方式可选取如下方案:据不同情况,同步控制方式可选取如下方案:三、控制方式三、控制方式1
46、/128 (1 1)采用完全统一的机器周期执行各种不同的指令。)采用完全统一的机器周期执行各种不同的指令。这意味着所有指令周期具有这意味着所有指令周期具有相同相同的节拍电位数和相同的节拍电位数和相同的节拍脉冲数。显然,对简单指令和简单的操作来说,的节拍脉冲数。显然,对简单指令和简单的操作来说,将造成时间浪费。将造成时间浪费。(2 2)采用不定长机器周期。将大多数操作安排在一)采用不定长机器周期。将大多数操作安排在一个较短的机器周期内完成,对某些时间紧张的操作,个较短的机器周期内完成,对某些时间紧张的操作,则采取则采取延长机器周期延长机器周期的办法来解决。的办法来解决。(3 3)中央控制与局部控
47、制结合。将大部分指令安排)中央控制与局部控制结合。将大部分指令安排在固定的机器周期完成,称为在固定的机器周期完成,称为中央控制中央控制,对少数复杂,对少数复杂指令(乘、除、浮点运算)采用另外的时序进行定时,指令(乘、除、浮点运算)采用另外的时序进行定时,称为称为局部控制局部控制。1/128 异步控制方式的特点是:每条指令、每个操作控制信异步控制方式的特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由指令周期可由多少不等的机器周期多少不等的机器周期数组成;也可以是当数组成;也可以是当控制器发出某一操作控制信
48、号后,等待执行部件完成操控制器发出某一操作控制信号后,等待执行部件完成操作后发回作后发回“回答回答”信号,再开始新的操作。显然,用信号,再开始新的操作。显然,用这种方式形成的操作控制序列没有固定的这种方式形成的操作控制序列没有固定的CPUCPU周期数周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。2异步控制方式异步控制方式1/128 此为同步控制和异步控制此为同步控制和异步控制相结合相结合的方式。一种情况的方式。一种情况是,大部分操作序列安排在固定的机器周期中,对某是,大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执
49、行部件些时间难以确定的操作则以执行部件“回答回答”信号作信号作为本次操作的结束。例如为本次操作的结束。例如CPUCPU访问主存时,依靠其送来访问主存时,依靠其送来的的“READYREADY”信号作为读信号作为读/写周期的结束。另一种情况写周期的结束。另一种情况是,机器周期的节拍脉冲数固定,但是各条指令周期是,机器周期的节拍脉冲数固定,但是各条指令周期的的机器周期数不固定机器周期数不固定。例如下一节所讲的微程序控制。例如下一节所讲的微程序控制就是这样。就是这样。3联合控制方式联合控制方式1/1285.4 微程序设计技术和微程序控制器微程序设计技术和微程序控制器 微程序控制器同硬布线控制器相比较,
50、具有微程序控制器同硬布线控制器相比较,具有规整性规整性、灵活性灵活性、可维护性可维护性等一系列优点,因而在计算机设计等一系列优点,因而在计算机设计中逐渐取代了早期采用的硬布线控制器,并已被广泛中逐渐取代了早期采用的硬布线控制器,并已被广泛地应用。在计算机系统中,微程序设计技术是利用软地应用。在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。件方法来设计硬件的一门技术。微程序控制的基本思想,就是仿照通常的解题程序微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的的方法,把操作控制信号编成所谓的“微指令微指令”,存,存放到一个只读存储器里。当机器运行时,一
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。