《计算机组成原理第五章课件(白中英版)教学内容.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第五章课件(白中英版)教学内容.ppt(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理第五章课件(白中英版)5.1CPU的功能和组成的功能和组成 当当代代主主流流计计算算机机所所遵遵循循的的仍仍然然是是冯冯.诺诺依依曼曼的的“存储程序、程序控制存储程序、程序控制”思想思想 程程序序告告诉诉计计算算机机:应应该该逐逐步步执执行行什什么么操操作作;在什么地方找到用来操作的数据,结果存到何处在什么地方找到用来操作的数据,结果存到何处等等 中中央央处处理理器器是是控控制制计计算算机机自自动动完完成成取取出出指指令令和和执执行行指指令令任任务务的的部部件件。它它是是计计算算机机的的核核心心部部件件,通通常简称为常简称为CPU(CentralProcessingUnit)5.
2、1.1CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出执行保证机器按程序规定的顺序取出执行 操作控制操作控制 CPUCPU产产生生每每条条指指令令所所对对应应的的操操作作信信号号,并并把把各各种种操操作作信信号号送送往往相相应应的的部部件件,从从而而控控制制这这些些部部件件按按指指令令的的要求进行动作要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理5.1.2 CPU5.1.2 CPU的基本组成的基本组成 控制器控制器完成对整个计算机系统操作的完成对整个计
3、算机系统操作的协调与指挥协调与指挥。(1)(1)控控制制机机器器从从内内存存中中取取出出一一条条指指令令,并并指指出出下下一一条指令在内存中的位置;条指令在内存中的位置;(2)(2)对对指指令令进进行行译译码码,并并产产生生相相应应的的操操作作控控制制信信号号,送往相应的部件,启动规定的动作;送往相应的部件,启动规定的动作;(3)(3)指指挥挥并并控控制制CPUCPU、内内存存与与输输入入/输输出出(I/OI/O)设设备备之间数据之间数据流动的方向流动的方向 运运算算器器是是数数据据加加工工处处理理部部件件,所所进进行行的的全全部部操操作作由由控制器发出的控制信号指挥控制器发出的控制信号指挥(
4、1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有的逻辑运算,并进行逻辑测试算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC存储器存储器 I/OCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制ccccc缓冲寄存器缓冲寄存器DRCPUCPU的基本模型的基本模型5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.1
5、.数据缓冲寄存器(数据缓冲寄存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2.指令寄存器(指令寄存器(IRIR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3.程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4.地址寄存器(地址寄存器(ARAR)保存当前保存当前CPUCPU所访问的内存单元的地址所访问的内存单元的地址5.5.累加寄存器(累加寄存器(ACAC)最常使用的最常使用的一个通用寄存器一个通用寄存器6.6.状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存
6、由算术和逻辑指令的结果建立的各种条件码5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 操操作作控控制制器器在在各各寄寄存存器器之之间间建建立立数数据据通通路路(传送信息的通路)(传送信息的通路)操操作作控控制制器器的的功功能能:就就是是根根据据指指令令操操作作码码和和时时序序信信号号,产产生生各各种种操操作作控控制制信信号号,以以便便正正确确地地建建立立数数据据通通路路,从从而而完完成成取取指指令令和执行指令的控制和执行指令的控制1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器时时序序产产生生器器产产生生并并发发出出计计算算机机所所需需要要的的时时序控制信号序控制
7、信号5.2指令周期指令周期读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数不同指令的操作步骤数和具体操作内容差异很大和具体操作内容差异很大检查有无中断请求检查有无中断请求若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形形成成下下一一条条指指令令地地址址 指令的执行过程指令的执行过程取指令执行指令5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指指令令周周期期:CPUCPU从从内内存存取取出出一一条条指
8、指令令并并执执行行完这条指令的时间总和完这条指令的时间总和 CPUCPU周周期期:又又称称机机器器周周期期(总总线线周周期期),CPUCPU访访问问内内存存所所花花的的时时间间较较长长,因因此此用用CPUCPU从从内内存存读读取取一一条条指指令字的所需的最短时间来定义令字的所需的最短时间来定义 时时钟钟周周期期:通通常常称称为为节节拍拍脉脉冲冲或或T T周周期期。一一个个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系:1 1个指令周期个指令周期=若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期=若干若干T T周期周期 取指时间执行指令时间取指时
9、间执行指令时间指令周期指令周期 CPU CPU周期周期 时钟周期时钟周期020 020 CLACLA;累加器清;累加器清0 0021 021 ADD 30ADD 30;(ACAC)+(3030)ACAC022 022 STA 40STA 40;(;(ACAC)(40)(40)023 023 NOPNOP;空操作空操作024 024 JMP 21JMP 21;21 21 PC PC 030 000 006030 000 006;数据数据 040 040 存和数存和数;数据数据5 5条典型指令构成的简单程序条典型指令构成的简单程序一个一个CPU周期周期一个一个CPU周期周期取指令阶段取指令阶段执行
10、指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码执行指令执行指令取下条指取下条指令令PC+15.2.2 CLA指令的指令周期指令的指令周期取出取出CLA指令指令算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+1000 0202021222324303140CLAADD 30ST
11、A 40NOPJMP 21000 006000 020CLACLA000 021算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000执行执行CLA指令指
12、令5.2.3ADD指令的指令周期一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 2
13、1000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并执行取出并执行ADD指令指令5.2.4STA指令的指令周期指令的指令周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存指令寄存器器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD
14、30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006取出并执行取出并执行STA指令指令5.2.5NOP指令和指令和JMP指令的指令周期指令的指令周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制ccc
15、c+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021取出并执行取出并执行JMP指令指令5.2.7用方框图语言表示指令周期用方框图语言表示指令周期在在进进行行计计算算机机设设计计时时,可可以以采采用用方方框框图图语言来表示一条指令的指令周期。语言来表示一条指令的指令周期。方方框框 代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。菱菱形形 通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期
16、,而不单独占用一个CPU周期。【例例1 1】教材图5.15所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。(1)“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUB R1,R3
17、”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。5.3时序产生器和控制方式时序产生器和控制方式用用二二进进制制码码表表示示的的指指令令和和数数据据都都放放在在内内存存里里,那那么么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢?从时间上来说从时间上来说:取指令事件发生在指令周期的第一取指令事件发生在指令周期的第一个个CPU周期中,即发生在周期中,即发生在“取指令取指令”阶段,而取数据阶段,而取数据事件发生在指令周期的后面几个事件发生在指令周期的后面几个CPU周期中,即发生周期中,即发生在在“执行指令执行指令”阶段。阶段。从空间
18、上来说从空间上来说:如果取出的代码是指令,那么一定如果取出的代码是指令,那么一定经经DR送往指令寄存器送往指令寄存器IR,如果取出的代码是数据,那,如果取出的代码是数据,那么一定送往么一定送往运算器运算器。时间控制对计算机来说是非常重要的!时间控制对计算机来说是非常重要的!思考思考5.3.1时序信号的作用和体制时序信号的作用和体制 计计算算机机的的协协调调动动作作需需要要时时间间标标志志,而而且且需需要要采采用用多多级时序体制。而时间标志则用级时序体制。而时间标志则用时序信号时序信号来体现。来体现。硬硬布布线线控控制制器器中中,时时序序信信号号往往往往采采用用主主状状态态周周期期-节节拍电位拍
19、电位-节拍脉冲节拍脉冲三级体制。三级体制。主主状状态态周周期期(指指令令周周期期):包包含含若若干干个个节节拍拍周周期期,可可以用一个触发器的状态持续时间来表示以用一个触发器的状态持续时间来表示节节拍拍电电位位(机机器器周周期期):表表示示一一个个CPU周周期期的的时时间间,包含若干个节拍脉冲包含若干个节拍脉冲节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位表示较小的时间单位 微微程程序序控控制制器器中中,时时序序信信号号则则一一般般采采用用节节拍拍电电位位-节节拍脉冲拍脉冲二级体制。二级体制。节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位
20、-节拍脉冲节拍脉冲数据准备好后,以电位的方式送触发器数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位数据:电位控制信号:脉冲控制信号:脉冲节拍电位节拍电位-节拍脉冲节拍脉冲 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR提提供供频频率率稳稳定定且且电电平平匹匹配配的方波时钟脉冲信号的方波时钟脉冲信号由石英晶体振荡器组成由石英晶体振荡器组成产产生生一一组组有有序序的的间间隔隔相相等或不等的脉冲序列等或不等的脉冲序列启动停机
21、5.3.2时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源时序产生器(1/4)一、概念1、时序部件:计算机的机内时钟。它用其产生的周期状态,节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。2、指令周期:在计算机中从指令的读取到指令的执行完成,执行一条指令所需要的时间,称为指令周期。指令周期通常由若干个CPU周期来表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,通常用存储周期为基础来规定CPU周期。时序产生器(2/4)二、3级时序信号1、周期(1)
22、在一个控制阶段内均持续起作用的信号;(2)通常用周期状态寄存器来标志和指明某某周期控制;(3)指令周期可分为取指周期、分析周期、执行周期。2、节拍(1)把一个机器周期分成若干个相等的时间段,每一个时间段对应一个电位信号,称节拍电位;(2)一般都以能保证ALU进行一次运算操作作为一拍电位的时间宽度。3、时标工作脉冲(1)及时改变标志状态;(2)时标脉冲的宽度一般为节拍电位宽度的1/N,只要能保证所有的触发器都能可靠地,稳定地翻转即可。时序产生器(3/4)三、3级时序信号的关系1、一台计算机机内的控制信号一般均由若干个周期状态,若干个节拍电位及若干个时标脉冲这样3级控制时序信号定时完成。2、3级控
23、制时序信号的宽度均成正整数倍同步关系。周期状态之间,节拍电位之间,时标脉冲之间既不容许有重叠交叉,又不容许有空白间隙,应该是能一个接一个地准确连接,一个降落另一个升起而准确切换的同步信号。时序产生器(4/4)图6-7 三级时序系统时标脉冲节拍周期CPU的控制方式(1/4)控制器的控制方式:形成控制不同微操作序列的时序控制信号的方法。控制方式的分类:同步控制方式异步控制方式同异步联合控制方式CPU的控制方式(2/4)一、同步控制方式1、含义:又称为固定时序控制方式或无应答控制方式。任何指令的执行或指令中每个微操作的执行都受事先安排好的时序信号的控制。2、每个周期状态中产生统一数目的节拍电位及时标
24、工作脉冲。3、以最复杂指令的实现需要为基准。4、优点:设计简单,操作控制容易实现。缺点:效率低。CPU的控制方式(3/4)二、异步控制方式1、含义:可变时序控制方式或应答控制方式。执行一条指令需要多少节拍,不作统一的规定,而是根据每条指令的具体情况而定,需要多少,控制器就产生多少时标信号。2、特点:每一条指令执行完毕后都必须向控制时序部件发回一个回答信号,控制器收到回答信号后,才开始下一条指令的执行。3、优点:指令的运行效率高;缺点:控制线路比较复杂。4、异步工作方式一般采用两条定时控制线来实现。我们把这两条线称为“请求”线和“回答”线。当系统中两个部件A和B进行数据交换时,若A发出“请求”信
25、号,则必须有B的“回答”信号进行应答,这次操作才是有效的,否则无效。CPU的控制方式(4/4)三、同步,异步联合控制方式1、含义:同步控制和异步控制相结合的方式即联合控制方式,区别对待不同指令。2、一般的设计思想是,在功能部件内部采用同步式,而在功能部件之间采用异步式,并且在硬件实现允许的情况下,尽可能多地采用异步控制。5.3.3控制方式 控制不同操作序列时序信号的方法控制不同操作序列时序信号的方法1.1.同步控制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机数和时钟周期数都固定不变。例如采用
26、完全统一的机器周期执行各种不同的指令器周期执行各种不同的指令2.2.异步控制方式异步控制方式控控制制器器发发出出某某一一操操作作控控制制信信号号后后,等等待待执执行行部部件件完完成操作后发成操作后发“回答回答”信号,再开始新的操作信号,再开始新的操作3.3.联合控制方式联合控制方式同步控制和异步控制相结合的方式同步控制和异步控制相结合的方式CPU周期周期取指周期取指周期CPU周期周期取源数取源数CPU周期周期取目标数取目标数CPU周期周期执行周期执行周期P0P1P2W0W1完全同步控制方式W0W1Wi第第N条指令条指令结束应答结束应答W0W1Wj第第N+1条指令条指令结束应答结束应答启动启动下
27、一条下一条W0W1Wk第第N+2条指令条指令结束应答结束应答异步控制方式启动启动下一条下一条i、j、k不一定相等不一定相等一一般般采采用用两两条条定定时时控控制制线线:“请请求求”线线和和“回回答答”线线演示演示5.4微程序控制器微程序控制器微微程程序序控控制制器器同同硬硬布布线线控控制制器器相相比比较较,具具有有规规整性整性、灵活性灵活性、可维护性可维护性等一系列优点等一系列优点它利用它利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件微微程程序序控控制制的的基基本本思思想想就就是是把把操操作作控控制制信信号号编编成成所所谓谓的的“微微指指令令”,存存放放到到一一个个
28、只只读读存存储储器器里里(控控制制存存储储器器CM)。当当机机器器运运行行时时,一一条条又又一一条条地地读读出出这这些些微微指指令令,从从而而产产生生全全机机所所需需要要的的各各种种操操作作控控制信号,是相应部件执行所规定的操作制信号,是相应部件执行所规定的操作微命令微命令指令系统指令系统处理器内部可以分为:处理器内部可以分为:控制部件控制部件和和执行部件执行部件微命令:微命令:控制部件控制部件向向执行部件执行部件发出的控制命令发出的控制命令微操作:微操作:执行部件执行部件接受接受微命令微命令后所进行的操作后所进行的操作(微操作在执行部件中是最基本的操作)(微操作在执行部件中是最基本的操作)微
29、指令微指令:实现一定操作功能的一组微命令:实现一定操作功能的一组微命令微程序微程序:实现一条机器指令功能的微指令序列:实现一条机器指令功能的微指令序列指令系统所有指令,指令微程序指令系统所有指令,指令微程序微程序若干微指令,微指令一组微命令微程序若干微指令,微指令一组微命令微命令微命令微操作微操作机器指令与微指令机器指令与微指令 程序机器指令机器指令1机器指令机器指令2机器指令机器指令i机器指令机器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微地址寄存器微地址寄存器AR微
30、指令寄存器微指令寄存器IR主存储器主存储器控制存储器控制存储器CM微命令微命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级 5.5微程序设计技术微程序设计技术1.1.静态微程序设计静态微程序设计对对应应于于一一台台计计算算机机的的机机器器指指令令只只有有一一组组微微程程序序,而而且且这这一一组组微微程程序序设设计计好好之之后后,一一般般无无须改变而且也不好改变须改变而且也不好改变2.2.动态微程序设计动态微程序设计采采用用EPROMEPROM作作为为控控制制存存储储器器,可可以以通通过过改改变变微指令和微程序来改变机器的指令系统微指令和微程序来改变机器的指令系统采采
31、用用动动态态微微程程序序设设计计,微微指指令令和和微微程程序序可可以以根根据据需需要要加加以以改改变变,因因而而可可在在一一台台机机器器上上仿仿真真其它机器指令系统其它机器指令系统5.6硬布线控制器硬布线控制器硬硬布布线线控控制制器器把把控控制制部部件件看看作作为为产产生生专专门门固固定定时时序序控控制制信信号号的的逻逻辑辑电电路路(以以使使用用最最少少元元件和取得最高操作速度件和取得最高操作速度为设计目标为设计目标)硬硬布布线线控控制制的的优优点点:速速度度较较快快;缺缺点点:不不容易修改添加新功能容易修改添加新功能微微程程序序控控制制的的优优点点:具具有有规规整整性性、灵灵活活性性、可可维
32、维护护性性等等;缺缺点点:采采用用存存储储程程序序原原理理,需需要要执行多条微指令,速度较慢执行多条微指令,速度较慢5.7传统传统CPUM6800CPUM6800CPU是一个比较典型的单总线结构的微处理器是一个比较典型的单总线结构的微处理器M6800CPUM6800CPU是是一一种种8 8位位微微处处理理器器,采采用用单单一一的的5V5V电电源源。时时钟钟脉脉冲冲采采用用两两相相(1 1,2 2),主主频频为为1MHz1MHz,由由外外面面加加入入CPUCPU。M6800M6800的的CPUCPU主主要要包包括括8 8位位的的ALUALU,1616位位的的程程序序计计数数器器、1616位位的的
33、堆堆栈栈指指示示器器和和1616位位的的变变址址寄寄存存器器,两两个个8 8位位的的累累加加器器和和一一个个8 8位位的的状状态态条条件件码码寄寄存存器器,一一个个8 8位位的的指指令令寄寄存存器器以以及及指指令令译译码码与与控控制制部部件件(即即操操作作控控制制器器)。此此外外还还有有一一个个8 8位位的的数数据据缓缓冲冲寄寄存存器器和和一一个个1616位位的的地地址址缓缓冲冲寄寄存存器。器。ALUALU部部件件执执行行算算术术运运算算和和逻逻辑辑操操作作,它它们们包包括括逻逻辑辑“与与”、逻逻辑辑“或或”、逻逻辑辑“异异或或”、求求补补、比比较较、加加法法、减法、十进制调整等。减法、十进制
34、调整等。在在M6800M6800中中,主主存存地地址址和和外外设设地地址址是是统统一一编编址址的的,因因此此,在在6553665536个地址中有一部分是为外围设备使用的。个地址中有一部分是为外围设备使用的。传统传统CPU举例举例Intel 8088CPUIntel 8088CPUIntel Intel 80888088是是一一种种通通用用的的准准1616位位微微处处理理器器,其其内内部部结结构构为为1616位位,与与外外部部交交换换的的数数据据为为8 8位位。它它可可以以处处理理1616位位数数据据(具具有有1616位位运运算算指指令令,包包括括乘乘除除法法指指令令),也也可可处处理理8 8位
35、位数数据。它有据。它有2020条地址线,直接寻址能力达到条地址线,直接寻址能力达到1M1M字节。字节。CPU CPU 从从功功能能上上来来说说分分成成总总线线接接口口单单元元BIUBIU和和执执行行单单元元EUEU两两大部分。大部分。BIUBIU负负责责与与存存储储器器和和外外围围设设备备接接口口,即即8088 8088 CPUCPU与与存存储储器器和外围设备之间的信息传送,都是由和外围设备之间的信息传送,都是由BIUBIU进行的。进行的。EU EU 部部分分负负责责指指令令的的执执行行。取取指指部部分分与与执执行行指指令令部部分分是是独独立立并并行行工工作作的的,在在一一条条指指令令的的执执
36、行行过过程程中中,可可取取出出下下一一条条(或或多多条条)指指令令,在在指指令令流流队队列列寄寄存存器器中中排排队队。在在一一条条指指令令执执行行完完以以后后就就可可以以立立即即执执行行下下一一条条指指令令,减减少少了了CPUCPU为取指令而等待的时间,提高了系统的运行速度。为取指令而等待的时间,提高了系统的运行速度。传统传统CPU举例举例IBM 370CPUIBM 370CPU3232位位CPUCPUALUALU部部件件按按功功能能不不同同分分为为如如下下三三个个子子部部件件:(1)(1)定定点点运运算算,包包括括整整数数计计算算和和有有效效地地址址的的计计算算;(2)(2)浮浮点点运运算算
37、;(3)(3)可可变长运算,包括十进制算术运算和字符串操作。变长运算,包括十进制算术运算和字符串操作。为为了了存存放放地地址址和和数数据据,使使用用了了两两组组独独立立的的可可编编址址寄寄存存器器,1616个个通通用用寄寄存存器器用用来来存存放放操操作作数数和和运运算算结结果果,且且可可用用作作变变址址寄寄存存器器。4 4个个浮浮点点寄寄存存器器用用于于浮浮点点运运算算。数数据据寄寄存存器器DRDR、地址寄存器、地址寄存器ARAR、指令寄存器、指令寄存器IRIR是标准化的。是标准化的。Intel 80486CPUIntel 80486CPU3232位位CPUCPU通通过过采采用用流流水水技技术
38、术,以以及及微微程程序序控控制制和和硬硬布布线线逻逻辑辑控控制制相相结结合合的的方方式式,进进一一步步缩缩短短可可变变长长指指令令的的译译码码时时间间,达达到基本指令可以在一个时钟周期内完成。到基本指令可以在一个时钟周期内完成。传统传统CPU举例举例486486芯芯片片内内部部包包含含一一个个8KB8KB的的数数据据和和指指令令混混合合性性cachecache,为为频频繁繁访访问问的的指指令令和和数数据据提提供供快快速速的的内内部部存存储储,从从而而使使系系统总线有更多的时间用于其他控制。统总线有更多的时间用于其他控制。486486芯芯片片内内部部包包含含了了增增强强性性8038780387协
39、协处处理理器器,称称为为浮浮点点运运算算部部件件(FPU)(FPU)。由由于于FPUFPU功功能能扩扩充充,且且放放在在CPUCPU内内部部,使使引引线缩短,故速度比线缩短,故速度比8038780387提高了提高了3535倍。倍。486 486 CPUCPU的的内内部部数数据据总总线线宽宽度度为为6464位位,这这也也是是它它缩缩短短指指令令周周期期的的一一个个原原因因。而而外外部部数数据据总总线线的的宽宽度度也也可可以以自自动动转转换。换。地地址址信信号号线线扩扩充充到到3232位位,可可以以处处理理4GB(24GB(23232字字节节)的的物物理理存存储储空空间间。如如果果利利用用虚虚拟拟
40、存存储储器器,其其存存储储空空间间达达64TB(264TB(24646字节字节)。5.8流水流水CPU洗衣房的流水作业洗衣房的流水作业三个阶段:三个阶段:1.1.水洗水洗(30)(30)2.2.烘干烘干(40)(40)3.3.熨烫熨烫(20(20)ABCD6 PM789TaskOrderTime30 40404040 20演示演示系统结构基本概念5.8.1并行处理技术v并行性并行性(Parallelism):):在在同同一一时时刻刻或或是是同同一一时时间间间间隔隔内内完完成成两两种种或或两两种种以以上上性性质相同或不相同的工作质相同或不相同的工作同时性同时性(Simultaneity):同一时
41、刻发生的并行性):同一时刻发生的并行性并并发发性性(Concurrency):同同一一个个时时间间间间隔隔内内发发生生的并行性的并行性v并行性的等级并行性的等级指令内部并行:微操作之间指令内部并行:微操作之间指令级并行(指令级并行(ILP:InstructionLevelParallel)线程级并行(线程级并行(TLP:ThreadLevelParallel)程序级并行程序级并行系统级并行:分布式系统、多机系统、机群系统系统级并行:分布式系统、多机系统、机群系统系统结构基本概念提高并行性的技术途径v时间重叠时间重叠(Time-interleaving)时间并行时间并行多多个个过过程程在在时时间
42、间上上相相互互错错开开,轮轮流流重重叠叠地地使使用用同同一一套套硬硬件设备的各个部分件设备的各个部分v资源重复资源重复(Resource-replication)空间并行空间并行通过重复设置资源(尤其是硬件资源),提高性能通过重复设置资源(尤其是硬件资源),提高性能v资源共享资源共享(Resource-sharing)使多个任务按一定时间顺序轮流使用同一套硬件设备使多个任务按一定时间顺序轮流使用同一套硬件设备单机系统中并行性的发展单机系统中并行性的发展9.1.3v指令流水线,部件冗余,分时系统指令流水线,部件冗余,分时系统多机系统中并行性的发展多机系统中并行性的发展9.1.4v多机系统多机系统
43、v耦合度:松散耦合、紧密耦合耦合度:松散耦合、紧密耦合5.8.2 5.8.2 流水流水CPUCPU的结构的结构 指令流水线指令流水线 IF(InstructionFetch)取指令阶段取指令阶段ID(InstructionDecode)指令译码阶段指令译码阶段EX(Execute)执行运算阶段执行运算阶段MEM(MemoryAccess)存储器访问阶段存储器访问阶段WB(WriteBack)写回结果阶段写回结果阶段WBWB系统结构流水线流水线的时空图v流流水水线线技技术术:把把一一个个重重复复的的过过程程分分解解为为若若干干个个子子过程,每个子程序可以与其他子过程同时进行过程,每个子程序可以与
44、其他子过程同时进行v描描述述流流水水线线的的工工作作,最最常常用用的的方方法法是是时时间间-空空间间图(图(时空图时空图)横横坐坐标标:表表示示时时间间,即即各各个个任任务务在在流流水水线线中中所所经经过的时间过的时间纵纵坐坐标标:表表示示空空间间,即即流流水水线线的的各各个个子子过过程程,也也称为称为级、段、流水线深度级、段、流水线深度(Stage)非流水计算机的时空图非流水计算机的时空图每每4个机器周期才有一个输出结果个机器周期才有一个输出结果流水计算机的时空图流水计算机的时空图每个机器周期可以输出一个结果每个机器周期可以输出一个结果演示演示系统结构流水线流水线的特点v流流水水线线实实际际
45、上上是是把把一一个个功功能能部部件件分分解解成成多多个个独独立立的的子子功功能能部部件件(一一个个任任务务也也就就分分成成了了几几个个子子任任务务,每每个个子子任任务务由由一一个个子子功功能能部部件件完完成成),并并依依靠靠多多个个子子功功能能部部件件并并行行工作来缩短所有任务的执行时间工作来缩短所有任务的执行时间v流流水水线线有有助助于于提提高高整整个个程程序序(所所有有任任务务)的的吞吞吐吐率率,但但并没有减少每个指令(任务)的执行时间并没有减少每个指令(任务)的执行时间v流流水水线线各各个个功功能能段段所所需需时时间间应应尽尽量量相相等等。否否则则,时时间间长长的的功功能能段段将将成成为
46、为流流水水线线的的“瓶瓶颈颈”,会会造造成成流流水水线线的的“阻塞阻塞”(Stall)v流流水水线线开开始始需需要要“通通过过时时间间”(Fill)和和最最后后需需要要“排排空空时时间间”(Drain)。流流水水线线只只有有处处理理连连续续不不断断的的任任务务才才能能发挥其效率发挥其效率系统结构流水线5.8.3流水线中的主要问题v流流水水线线中中存存在在一一些些相相关关(冲冲突突、冒冒险险Hazard,相相关关、依依赖赖Dependence,竞竞争争Competition)的的情情况况,它它使使得得下下一一条条指指令令无无法法在在设设计计的的时时钟钟周周期期内执行。这些相关将降低流水线性能内执
47、行。这些相关将降低流水线性能v主要有三种类型的相关(冲突)主要有三种类型的相关(冲突)结结构构相相关关(资资源源冲冲突突):当当指指令令重重叠叠执执行行过过程程中中,硬件资源满足不了指令重叠执行的要求硬件资源满足不了指令重叠执行的要求数数据据相相关关(数数据据冲冲突突):在在同同时时执执行行的的多多条条指指令令中中,一一条条指指令令依依赖赖前前一一条条指指令令的的执执行行结结果果(数数据据)却无法得到却无法得到控控制制相相关关(控控制制冲冲突突):流流水水线线遇遇到到分分支支指指令令或或其他改变其他改变PC值的指令值的指令1.1.资源相关资源相关 资资源源相相关关是是指指多多条条指指令令进进入
48、入流流水水线线后后,在在同同一一机机器时钟周期内争用同一个功能部件所发生的冲突器时钟周期内争用同一个功能部件所发生的冲突 例例:假假定定一一条条指指令令流流水水线线由由五五段段组组成成,且且仅仅有有IF过程和过程和MEM过程需要访问存储器过程需要访问存储器 I1与与I4两条指令在时钟两条指令在时钟4争用存储器资源的相关冲突争用存储器资源的相关冲突2.2.数据相关数据相关ADDR1,R2,R3;R2R3R1SUBR4,R1,R5;R1R5R4ANDR6,R1,R7;R1R7R0指令发生数据相关冲突指令发生数据相关冲突3.3.控制相关控制相关控制相关控制相关冲突由冲突由转移指令(分支指令)转移指令
49、(分支指令)引起引起执行转移指令时,依据转移条件的产生结果执行转移指令时,依据转移条件的产生结果可能为顺序取下条指令可能为顺序取下条指令也可能转移到新的目标地址取指令也可能转移到新的目标地址取指令地址不定,流水线需要暂停、地址不定,流水线需要暂停、发生断流发生断流转移指令转移指令主要有:主要有:无条件转移指令:跳转、过程调用和返回无条件转移指令:跳转、过程调用和返回条件分支指令条件分支指令 【例例5】流流水水线线中中有有三三类类数数据据相相关关冲冲突突:写写后后读读(RAW)相关;读后写相关;读后写(WAR)相关;写后写相关;写后写(WAW)相关相关 I1:ADD R1,R2,R3;R2R3R
50、1 I2:SUB R4,R1,R5;R1R5R4 I3:STA M(x),R3;R3M(x)I4:ADD R3,R4,R5;R4R5R3 I5:MUL R3,R1,R2;R1R2R3 I6:ADD R3,R4,R5;R4R5R3RAWWARWAW系统结构指令并行指令动态调度策略v简单指令流水线技术的一个主要局限简单指令流水线技术的一个主要局限指令指令顺序发射顺序发射(in-orderissue)按序发射按序发射指令指令顺序执行顺序执行(in-orderexecution)如如果果一一条条指指令令在在流流水水线线中中,与与之之相相关关的的指指令令及及其其后后面的指令都不能进行处理面的指令都不能进