计算机组成原理及汇编语言第五章-中央处理器(CPU)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理及汇编语言第五章-中央处理器(CPU)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 汇编语言 第五 中央处理器 CPU 课件
- 资源描述:
-
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号单元的号单元
展开阅读全文