计算机科学与技术专业.ppt
《计算机科学与技术专业.ppt》由会员分享,可在线阅读,更多相关《计算机科学与技术专业.ppt(107页珍藏版)》请在三一办公上搜索。
1、计算机科学与技术专业,计算机组成原理武汉科技大学计算机科学与技术学院,第五章中央处理器,本章内容5.1 CPU的组成和功能5.2 指令周期5.3 时序产生器和控制方式5.4 微程序控制器5.5 微程序设计技术5.6硬布线控制器5.7 传统的CPU5.8 流水CPU5.9 RISC CPU5.10 多媒体CPU,计算机的核心部分称为中央处理器,简称CPU。传统的CPU由运算器和控制器两大部件组成,现代的CPU由运算器、控制器和Cache三大部件组成。CPU的中心任务是逐条地从内存中取出指令,并执行指令所需的操作,完成程序的预定任务。,5.1 CPU的组成和功能,5.1.1 CPU器的功能 当用计
2、算机解决某个问题时,我们首先必须为它编写程序。程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据。一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU。CPU对整个计算机系统的运行是极其重要的,它具有如下四方面的基本功能:1.指令控制控制程序中指令的执行顺序程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。,2.操作控制形成执行指令所需的控制信号并送往相应部件一条指令的功能往往是由若干个操作信号的组合来实现的,
3、因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。3.时间控制对操作控制信号加以时间上的约束对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。4.数据加工对数据进行相应的算术逻辑运算及相应加工处理 数据加工就是对数据进行算术运算和逻辑运算处理。,5.1.2 CPU的基本组成现代CPU由运算器、cache和控制器三大部分组成。,CPU,运算器,控制器,组成:,组成:,功能:,功能:,算术逻辑单元ALU、累加寄存器AC数据缓冲寄存器DR、状态条件寄存器PSW,
4、作为“执行机构”接受控制器送来的命令,负责对数据进行加工处理,包括:执行所有算术、逻辑运算及比较、测试等。,程序计数器PC、指令寄存器IR指令译码器、时序产生器、操作控制器,作为“决策机构”协调和指挥整个计算机系统的操作,包括:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置;(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;(3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。,在CPU中至少要有六类寄存器。这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。1.数据缓冲寄存器(DR)数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数
5、据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。缓冲寄存器的作用是:(1)作为CPU和内存、外部设备之间信息传送的中转站;(2)补偿CPU和内存、外围设备之间在操作速度上的差别;(3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。,CPU中的主要寄存器,2.指令寄存器(IR)保存现行令,并将操作码提供指令译码器译码3.程序计数器(PC),装入给定值,存储程序首地址,或转移目标地址自动加1计数,每取出一条指令,自动指向下一条指令,4.地址寄存器(AR)保存当前CPU所访问的内存单元的地址,5.累加寄存器(AC)存放算术逻辑运算的操作数之一及运
6、算结果累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器的算术逻辑单元ALU)执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。,6.状态条件寄存器(PSW)保存算术逻辑运算或测试的状态结果状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志
7、(V),运算结果为零标 志(Z),运算结果为负标志(N)等等。这些标志位通常分别由 1位触发器保存。除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。,数据通路 是许多寄存器之间传送信息的通路。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。根
8、据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。1.硬布线控制器 是采用时序逻辑技术来实现的;2.微程序控制器是采用存储逻辑来实现的;3.前两种方式的组合,5.1.4 操作控制器与时序产生器,5.2 指令周期,5.2.1 指令周期的基本概念 计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。,指令周期 CPU从内存取出一条指令并执行这条指令的时间总和。CPU周期 又称机器周期,CPU访问一次内存所花的时间较长,因此
9、用从内存读取一条指令字的最短时间来定义。,时钟周期 通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。,下图示出了采用定长CPU周期的指令周期示意图。,说明:,(1)指令周期由若干个CPU周期组成,第一个CPU周期为取指周期。(2)一条指令的CPU周期数取决于指令的复杂性,如有无操作数,操作数的多少,操作数的寻址方式等。(3)每个机器周期由若干个T周期构成,所含的T周期数有定长和变长两种。,CLA是一条非访内指令,其作用是将AC清零,它需要两个CPU 周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。1取指令阶段(1)PC的内容20(八进制)被装入地址寄存器AR
10、;(PC)-AR(2)PC内容加1,变成21,为取下一条指令做好准备;(PC)+1-PC(3)地址寄存器的内容被放到地址总线上;(AR)-ABUS(4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR;(AR)-DBUS-DR(5)缓冲寄存器的内容传送到指令寄存器IR;(DR)-IR(6)指令寄存器中的操作码被译码或测试;(7)CPU识别出是指令CLA,至此,取指令阶段即告结束。,5.2.2 非访内指令CLA的指令周期,2执行指令阶段(1)操作控制器送一控制信号(清零)给算术逻辑运算单元ALU;(2)ALU响应该控制信号,将累加寄存器AC的内容全部清零,从而执行了CLA指令。,A
11、DD n 指令的指令周期由三个CPU周期组成,其作用是将累加 累加器AC的内容与地址为n的存储单元的内容相加,结果仍送累加器AC,即(AC)+(n)-AC,以ADD 30为例说明如下:,相加指令ADDn的指令周期,1.送操作数地址第二个CPU周期主要完成送操作数地址。在此阶段,CPU的动作只有一个,那就是把指令寄存器中的地址码部分(30)装入地址寄存器,其中30为内存中存放操作数的地址。(IR)中的地址码-AR 2.两操作数相加第三个CPU周期主要完成取操作数并执行加法操作中。在此阶段,CPU完成如下动作:(1)把地址寄存器中的操作数的地址(30)发送到地址总线上。(AR)-ABUS-存储器(
12、2)由存储器单元30中读出操作数(6),并经过数据总线传送到缓冲寄存器。(30)-DBUS-DR(3)执行加操作:由数据缓冲寄存器来的操作数(6)可送往ALU 的一个输入端,已等候在累加器内的另 一个操作数(因为CLA指令执行结束后累加器内容为零)送往ALU的另一输入端,于是ALU将两数相加,产生运算结果为0+66。这个结果放回累加器,替换了累加器中原先的数0。(DR)+(AC)-AC,STA指令的指令周期由三个CPU周期组成,基作用是将累加器AC的内容送地址为n的存储单元,即(AC)-n,以STA 40为例。,存数指令STAn 的指令周期,1.送操作数地址在执行阶段的第一个CPU周期中,CP
13、U完成的动作是把指令寄存器中地址码部分的形式地址40装到地址寄存器。其中数字40是操作数地址。(IR)中的地址码-AR2.存储和数将累加器中的值存入指令指定的地址单元(1)累加器的内容(6)被传送到数据缓冲寄存器DR;(AC)-DR(2)把地址寄存器的内容(40)发送到地址总线上,40即为将要存入的数据6的内存单元号;(AR)-ABUS(3)把缓冲寄存器的内容(6)发送到数据总线上;(DR)-DBUS(4)数据总线上的数写入到所选中的存储器单元中,即将数6写入到存储器40号单元中。写入 注意:完成指令操作之后,累加器中仍然保留和数6,而存储器40号单元中原先的内容被冲掉。,空操作指令NOP和转
14、移指令JMP n 的指令周期第四条指令即“NOP”指令,这是一条空操作指令。其中第一个CPU周期中取指令,CPU把23号单元的“NOP”指令取出放到指令寄存器,第二个CPU周期中执行该指令。因译码器译出是“NOP”指令,第二个CPU周期中操作控制器不发出任何控制信号。NOP指令可用来调程序占位或延时之用。,JMP指令的指令周期由两个CPU周期组成,即取指周期和执行周期。执行周期将IR中的目标地址送PC。以JMP 21为例。,1.第一个CPU周期(取指令阶段)CPU把24号单元的“JMP 21”指令取出放至指令寄存器,同时程序计数器内容加1,变为25,从而取下一条指令做好准备。2.第二个CPU周
15、期(执行阶段)CPU把指令寄存器中地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25。这样,下一条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的执行顺序。(IR)中的地址码-PC 注意:执行“JMP 21”指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去,因而内存单元40中的和数将一直不断地发生变化。当然,我们此处所举的转移地址21是随意的,仅仅用来说明转移指令能够改变程序的执行顺序而已。,五条指令的取指和执行过程,在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。方框 代表一个C
16、PU周期,方框中的内容表示数据通路的操作或某种控制操作。菱形 通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。,用方框图语言表示指令周期,【例1】教材图5.15所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。,(1)“ADD
17、R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。【解】(1)“ADD R2,R0”指令是一条加法指令,参与运算的两个数放在寄存器R2和R0中,指令周期流程图包括取指令阶段和执行指令阶段两部分(为简单起见,省去了“”号左边各寄存器代码上应加的括号)。根据给定的数据通路图,“ADD R2,R0”指令的详细指令周期流程图如图(a)所示。,PC-AR,M-DR,DR-IR,R2-Y,R0-X,R0
18、+R2-R0,取指,PCO,G,ARi,R/W=R,DRO,G,IRi,+,G,R0i,R0O,G,Xi,R2O,G,Yi,PC-AR,M-DR,DR-IR,R3-Y,R1-X,R3-R1-R3,取指,PCO,G,ARi,R/W=R,DRO,G,IRi,-,G,R3i,R1O,G,Xi,R3O,G,Yi,图的右边部分标注了每一个机器周期中用到的微操作控制信号序列。(2)“SUB R1,R3”指令是一条减法指令,其指令周期流程图如图(b)所示。与ADD指令不同的是:在执行指令阶段,微操作控制信号序列有所不同。,5.3 时序产生器和控制方式,时序信号的作用和体制 时序信号 CPU中一个类似“作息时
19、间”的东西,使计算机可以准确、迅速、有条不紊地工作。机器一旦被启动,即CPU开始取指令并执行指令时,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机 各部分提供工作所需的时间标志。为此,需要采用多级时序体制。思考 用二进制码表示的指令和数据都放在内存里,那 么CPU是怎样识别出它们是数据还是指令呢?从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后,面几个CPU周期中,即发生在“执行指令”阶段。从空间上来说,如果取出的代码是指令,那么一定
20、送往指令寄存器(IR),如果取 出的代码是数据,那么一定送往运算器(DR)。由此可见,时间控制对计算机来说是太重要了。总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。一个节拍电位表示一个CPU周期的时间,它包含若干个节拍脉冲,一个主状态周期又可包含若干个节拍电位。在微程序控制器中,时序信号比较简单,一般采用节拍电位-节拍脉冲二级体制。同样,一个节拍电位表示一个CPU周期的时间,它包含若干个节拍脉冲(时钟周期),节拍脉冲把一个CPU周期分成几个较小的时间隔,这时间间隔可是相等,也可以不相等。,2.环形脉
21、冲发生器作用:是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。组成:循环移位寄存器或计数器,结构随机型的不同异,微程序控制器中使用的时序信号产生器最简单,其组成包括:,时钟源、环形脉冲发生器、节拍脉冲和 读写时序译码逻辑 启停控制逻辑,1.时钟源,作用:产生频率稳定且电平匹配的方波时钟脉冲信号,供环形脉冲发生器。组成:石英 晶体振荡器和与非门组成的正反馈振荡电路。,时序信号产生器,3.节拍脉冲和读写时序的译码,T1o=C1C2T2o=C2C3T3o=C3T4o=C1,一个CPU周期产生四个等间隔节拍脉冲,读写时序的译码逻辑表达式:RDo=C2RDWEo=C3
22、WE,起停控制逻辑 一旦接通电源,就会产生原始的节拍电位信号T1o T4o,然而只有在启动机器运行的情况下,才允许时序产生器发出CPU工作所需的节拍脉冲,为此需要由启停控制逻辑来控制T1o T4o的发送。,T1o,T2o,T4o,T3o,T1,T2,T4,T3,RD,WE,RDo,WEo,Q,Q,D,Cr,R,T4o,启动,停机,CLR,启停控制逻辑的核心是一个运行标志触发器Cr,当运行触发器Cr为“1”时,送出时序,为“0”时,阻断时序。注意:由于启停是随机的,所以必须确保时序从T1开始,到 T4才结束。故在Cr输入端引入一个RS触发器,用T4作Cr的时钟控制端。,低电平触 发,控制方式 即
23、控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。1.同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。,控制方式,2.异步控制方式其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。显然,用这种方
24、式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。3.联合控制方式 此为同步控制和异步控制相结合的方式。情况(1)大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束;情况(2)机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。,5.4 微程序控制器,微程序控制器的优点:具有规整性,灵活性,可维护性。微程序控制器的基本思想:仿照通常的解题程序方法,把操作控制信号编成所谓的“微指令”存放在只读存储器里,当机器运行时,逐条地读出这些“微指令”,从而产生全机所需要的各种微操作控制信号,使相应部
25、件执行规定的操作。微命令和微操作,计算机,控制部件控制器通过控制线发出控制命令,执行部件,运算器存储器外设,执行控制命令并通过反馈线反馈状态信息,控制部件,执行部件,控制线,反馈线,微命令-控制部件通过控制线向执行部件发出的各种控制命令。微操作-执行部件接受微命令后所进行的操作。状态测试-执行部件通过反馈线向控制部件反映操作情况,以便使控制部件根据执行部件的状态下达新的命令。微操作类型 相容性 在同时或同一CPU周期内可并行执行的操作 相斥性 不能在在同时或同一CPU周期内可并行执行的操作,控制部件与执行部件通过控制线和反馈信息进行联系。,相斥,相斥,简单运算器的数据通路,1、2、3相容4、6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 技术 专业
链接地址:https://www.31ppt.com/p-6342614.html