1、计算机组成原理 教材:白中英,计算机组成原理(第四版),科学出版社教材:白中英,计算机组成原理(第四版),科学出版社课程设计的要求n课程设计:期中测验之后启动,第 16周完成。n选题:课程知识体系内任何知识点n实现:建议采用HDL,可以不受此限制,允许自行选择。n成果递交:模拟实现(包括试验过程数据)、论文(单独完成),第16周全部完成。n组队:允许个人或组队(一般不超过3人),但要明确分工,论文单独完成n评分标准:符合知识体系要求,验证通过,达到基本要求,及格;选题有一定难度,中等;论文描述较好,良好;有创新,有理论或实用参考意义,优秀中央处理器 5.1 CPU5.1 CPU的功能和组成的功
2、能和组成 5.7 5.7 传统传统CPUCPU5.25.2 指令周期指令周期 5.8 5.8 流水流水CPU CPU 5.3 5.3 时序产生器和控制方式时序产生器和控制方式 5.9 RISC CPU5.9 RISC CPU5 5.4.4 微程序控制器微程序控制器 5.10 5.10 多媒体多媒体CPUCPU 5.5 5.5 微程序设计技术微程序设计技术 5.11 5.11 中断逻辑中断逻辑5.6 5.6 硬布线控制器硬布线控制器 5.12 5.12 流水技术流水技术5.1 CPU的功能和组成的功能和组成 现代计算机所遵循的仍然是现代计算机所遵循的仍然是冯冯.诺依曼诺依曼的的“存存储程序、程序
3、控制储程序、程序控制”思想思想 程序告诉计算机:程序告诉计算机:应该逐步执行什么操作;在什应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处么地方找到用来操作的数据,结果存到何处等等 中央处理器是控制计算机自动完成取出指令和中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通执行指令任务的部件。它是计算机的核心部件,通常简称为常简称为CPU(Central Processing Unit)5.1.1 CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出执行保证机器按程序规定的顺序取出执行 操作控制操作控制 CPUCPU产生每条指令所对
4、应的操作信号,并把各种操产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的作信号送往相应的部件,从而控制这些部件按指令的要求进行动作要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理CPU结构框图前面(前面(第二章)已对运算器内容做了详细讨论,本第二章)已对运算器内容做了详细讨论,本章主要介绍剩余的三个部分内容:内部寄存器章主要介绍剩余的三个部分内容:内部寄存器、控、控制单元、中断系统制单元、中断系统 5.1.2 CPU5.1.2 CPU
5、的基本组成的基本组成 控制器控制器完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。(1)(1)控制机器从内存中控制机器从内存中取出一条指令取出一条指令,并指出下一,并指出下一条指令在内存中的位置;条指令在内存中的位置;(2)(2)对指令进行对指令进行译码译码,并,并产生相应的操作控制信号产生相应的操作控制信号,送往相应的部件,启动规定的动作;送往相应的部件,启动规定的动作;(3)(3)指挥并控制指挥并控制CPUCPU、内存与输入、内存与输入/输出(输出(I/OI/O)设备)设备之间数据之间数据流动的方向流动的方向 运算器运算器是数据加工处理部件,所进行的全部操作由是数
6、据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥控制器发出的控制信号指挥 (1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有的逻辑运算,并进行逻辑测试5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.1.数据缓冲寄存器(数据缓冲寄存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2.指令寄存器(指令寄存器(IRIR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3.程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4.地址寄存器(
7、地址寄存器(ARAR)保存当前保存当前CPUCPU所访问的内存单元的地址所访问的内存单元的地址5.5.累加寄存器(累加寄存器(ACAC)最常使用的一个通用寄存器最常使用的一个通用寄存器6.6.状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的各种条件码5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 操作控制器操作控制器在各寄存器之间建立在各寄存器之间建立数据通路数据通路(传送信息的通路)(传送信息的通路)操作控制器的功能操作控制器的功能:就是根据指令操作码就是根据指令操作码和时序信号,产生各种操作控制信
8、号,以和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令便正确地建立数据通路,从而完成取指令和执行指令的控制和执行指令的控制1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器时序产生器时序产生器产生并发出计算机所需要的时产生并发出计算机所需要的时序控制信号序控制信号5.2 指令周期指令周期读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数不同指令的操作步骤数和具体操作内容差异很大和具体操作内容差异很大检查有
9、无中断请求检查有无中断请求若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形成下一条指令地址形成下一条指令地址 指令的执行过程指令的执行过程取指令执行指令5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指令周期指令周期:CPUCPU从内存取出一条指令并执行完这从内存取出一条指令并执行完这条指令的时间总和条指令的时间总和 CPU CPU周期周期:又称又称机器周期机器周期(总线周期总线周期),),CPUCPU访问访问内存所花的时间较长,因此用内存所花的时间较长,因此用CPUCPU从内存读取一条指令从内存读取一条指令字的所需的最短时间来定义字的所需的最短时间来定义 时钟
10、周期时钟周期:通常称为通常称为节拍脉冲节拍脉冲或或T T周期周期。一个。一个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系:1 1个指令周期个指令周期 =若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 =若干若干T T周期周期 取指时间执行指令时间取指时间执行指令时间 控制单元CU和中断系统 指令周期的基本概念指令周期定义示意各种指令周期的比较具有间接周期的指令周期指令周期指令周期 CPU CPU周期周期 时钟周期时钟周期表5-1列出了由6条指令组成的一个简单程序,这6条指令包括RR型指令、RS型指令;既有算术逻辑指令,又有访内指令,还有程序
11、转移指令,由此可以进一步了解指令的执行周期MOV指令的指令周期1.取指周期 假定表假定表5.1的程序已装入指存,因而在此阶段内,的程序已装入指存,因而在此阶段内,CPU 的动作如下的动作如下:2.执行指令阶段5.2.3LAD指令的指令周期 一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期LAD指令的执行周期STO指令的指令周期 一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取
12、指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期JMP指令的指令周期指令的指令周期JMP指令执行周期5.2.7 用方框图语言表示指令周期5.3 时序产生器和控制方式时序产生器和控制方式 用二进制码表示的指令和数据都放在内存里,那么用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢?从时间上来说从时间上来说:取指令事件发生在指令周期的第一取指令事件发生在指令周期的第一个个CPU周期中,即发生在周期中,即发生在“取指令取指令”阶段,而取数据阶段,
13、而取数据事件发生在指令周期的后面几个事件发生在指令周期的后面几个CPU周期中,即发生周期中,即发生在在“执行指令执行指令”阶段。阶段。从空间上来说从空间上来说:如果取出的代码是指令,那么一定如果取出的代码是指令,那么一定经经DR送往指令寄存器送往指令寄存器IR,如果取出的代码是数据,那,如果取出的代码是数据,那么一定送往么一定送往运算器运算器。时间控制对计算机来说是非常重要的!时间控制对计算机来说是非常重要的!5.3.1时序信号的作用和体制时序信号的作用和体制 计算机的协调动作需要时间标志,而且需要采用多计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用级时序体制。而时间标
14、志则用时序信号时序信号来体现。来体现。硬布线控制器硬布线控制器中,时序信号往往采用中,时序信号往往采用主状态周期主状态周期-节节拍电位拍电位-节拍脉冲节拍脉冲三级体制。三级体制。主状态周期(指令周期):主状态周期(指令周期):包含若干个节拍周期,可包含若干个节拍周期,可以用一个触发器的状态持续时间来表示以用一个触发器的状态持续时间来表示节拍电位(机器周期):节拍电位(机器周期):表示一个表示一个CPU 周期的时间,周期的时间,包含若干个节拍脉冲包含若干个节拍脉冲节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位表示较小的时间单位 微程序控制器微程序控制器中,时序信号则一般采用中,时
15、序信号则一般采用节拍电位节拍电位-节节拍脉冲拍脉冲二级体制。二级体制。节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲数据准备好后,以电位的方式送触发器数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位数据:电位控制信号:脉冲控制信号:脉冲节拍电位节拍电位-节拍脉冲节拍脉冲 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR提供频率稳定且电平匹配提供频率稳定且电平匹配的方
16、波时钟脉冲信号的方波时钟脉冲信号由石英晶体振荡器组成由石英晶体振荡器组成产生一组有序的间隔相产生一组有序的间隔相等或不等的脉冲序列等或不等的脉冲序列启动停机5.3.2时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源时序产生器(1/4)一、概念1、时序部件:计算机的机内时钟。它用其产生的周期状态,节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。2、指令周期:在计算机中从指令的读取到指令的执行完成,执行一条指令所需要的时间,称为指令周期。指令周期通常由若干个CPU周期来表示,CPU周期也称为机器周期
17、。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,通常用存储周期为基础来规定CPU周期。时序产生器(2/4)二、二、3 3级时序信号级时序信号 1 1、周期、周期 (1 1)在一个控制阶段内均持续起作用的信号;)在一个控制阶段内均持续起作用的信号;(2 2)通常用周期状态寄存器来标志和指明某某周期控制;)通常用周期状态寄存器来标志和指明某某周期控制;(3 3)指令周期可分为取指周期、分析周期、执行周期。)指令周期可分为取指周期、分析周期、执行周期。2 2、节拍、节拍 (1 1)把一个机器周期分成若干个相等的时间段,每一个)把一个机器周期分成若干个相等的时间段,每一个时间段对应
18、一个电位信号,称节拍电位;时间段对应一个电位信号,称节拍电位;(2 2)一般都以能保证)一般都以能保证ALUALU进行一次运算操作作为一拍电位进行一次运算操作作为一拍电位的时间宽度。的时间宽度。3 3、时标工作脉冲、时标工作脉冲 (1 1)及时改变标志状态;及时改变标志状态;(2 2)时标脉冲的宽度一般为节拍电位宽度的时标脉冲的宽度一般为节拍电位宽度的1/N1/N,只要,只要能保证所有的触发器都能可靠地,稳定地翻转即可。能保证所有的触发器都能可靠地,稳定地翻转即可。时序产生器(3/4)三、三、3级时序信号的关系级时序信号的关系1、一台计算机机内的控制信号一般均由若干个周、一台计算机机内的控制信
19、号一般均由若干个周期状态,若干个节拍电位及若干个时标脉冲这样期状态,若干个节拍电位及若干个时标脉冲这样3级控制时序信号定时完成。级控制时序信号定时完成。2、3级控制时序信号的宽度均成正整数倍同步关系。级控制时序信号的宽度均成正整数倍同步关系。周期状态之间,节拍电位之间,时标脉冲之间既周期状态之间,节拍电位之间,时标脉冲之间既不容许有重叠交叉,又不容许有空白间隙,应该不容许有重叠交叉,又不容许有空白间隙,应该是能一个接一个地准确连接,一个降落另一个升是能一个接一个地准确连接,一个降落另一个升起而准确切换的同步信号。起而准确切换的同步信号。时序产生器(4/4)图6-7 三级时序系统时标脉冲节拍周期
20、CPU的控制方式(1/4)控制器的控制方式:形成控制不同微操作序列的时序控制信号的方法。控制方式的分类:同步控制方式异步控制方式同异步联合控制方式CPU的控制方式(2/4)一、同步控制方式1、含义:又称为固定时序控制方式或无应答控制方式。任何指令的执行或指令中每个微操作的执行都受事先安排好的时序信号的控制。2、每个周期状态中产生统一数目的节拍电位及时标工作脉冲。3、以最复杂指令的实现需要为基准。4、优点:设计简单,操作控制容易实现。缺点:效率低。CPU的控制方式(3/4)二、异步控制方式二、异步控制方式 1、含义:可变时序控制方式或应答控制方式。执行一条含义:可变时序控制方式或应答控制方式。执
21、行一条指令需要多少节拍,不作统一的规定,而是根据每条指令指令需要多少节拍,不作统一的规定,而是根据每条指令的具体情况而定,需要多少,控制器就产生多少时标信号。的具体情况而定,需要多少,控制器就产生多少时标信号。2、特点:每一条指令执行完毕后都必须向控制时序部件、特点:每一条指令执行完毕后都必须向控制时序部件发回一个回答信号,控制器收到回答信号后,才开始下一发回一个回答信号,控制器收到回答信号后,才开始下一条指令的执行。条指令的执行。3、优点:指令的运行效率高;、优点:指令的运行效率高;缺点:控制线路比较复杂。缺点:控制线路比较复杂。4、异步工作方式一般采用两条定时控制线来实现。我们、异步工作方
22、式一般采用两条定时控制线来实现。我们把这两条线称为把这两条线称为“请求请求”线和线和“回答回答”线。当系统中两个线。当系统中两个部件部件A和和B进行数据交换时,若进行数据交换时,若A发出发出“请求请求”信号,则必信号,则必须有须有B的的“回答回答”信号进行应答,这次操作才是有效的,信号进行应答,这次操作才是有效的,否则无效。否则无效。CPU的控制方式(4/4)三、同步,异步联合控制方式 1、含义:同步控制和异步控制相结合的方式即联合控制方式,区别对待不同指令。2、一般的设计思想是,在功能部件内部采用同步式,而在功能部件之间采用异步式,并且在硬件实现允许的情况下,尽可能多地采用异步控制。5.3.
23、3控制方式 控制不同操作序列时序信号的方法控制不同操作序列时序信号的方法1.1.同步控制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令器周期执行各种不同的指令2.2.异步控制方式异步控制方式控制器发出某一操作控制信号后,等待执行部件完控制器发出某一操作控制信号后,等待执行部件完成操作后发成操作后发“回答回答”信号,再开始新的操作信号,再开始新的操作3.3.联合控制方式联合控制方式 同步控制和异步控制相结合的方式同步控制和异步
24、控制相结合的方式CPU周期周期取指周期取指周期CPU周期周期取源数取源数CPU周期周期取目标数取目标数CPU周期周期执行周期执行周期P0P1P2W0W1完全同步控制方式W0W1Wi第第N条指令条指令结束应答结束应答W0W1Wj第第N+1条指令条指令结束应答结束应答启动启动下一条下一条W0W1Wk第第N+2条指令条指令结束应答结束应答异步控制方式启动启动下一条下一条i、j、k不一定相等不一定相等一般采用两条定时控制线:一般采用两条定时控制线:“请求请求”线和线和“回答回答”线线演示演示5.4 微程序控制器微程序控制器 微程序控制器同硬布线控制器相比较,具有微程序控制器同硬布线控制器相比较,具有规
25、规整性整性、灵活性灵活性、可维护性可维护性等一系列优点等一系列优点 它利用它利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件 微程序控制的微程序控制的基本思想基本思想就是把操作控制信号编成就是把操作控制信号编成所谓的所谓的“微指令微指令”,存放到一个只读存储器里(控,存放到一个只读存储器里(控制存储器制存储器CM)。当机器运行时,一条又一条地读)。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控出这些微指令,从而产生全机所需要的各种操作控制信号,是相应部件执行所规定的操作制信号,是相应部件执行所规定的操作5.4.1 微程序控制原理微程序控制原理
26、 1.微命令和微操作微命令和微操作 处理器内部可以分为:处理器内部可以分为:控制部件控制部件和和执行部件执行部件微命令:微命令:控制部件控制部件向向执行部件执行部件发出的控制命令发出的控制命令微操作:微操作:执行部件执行部件接受接受微命令微命令后所进行的操作后所进行的操作(微操作在执行部件中是最基本的操作)(微操作在执行部件中是最基本的操作)微指令微指令:实现一定操作功能的一组微命令:实现一定操作功能的一组微命令微程序微程序:实现一条机器指令功能的微指令序列:实现一条机器指令功能的微指令序列指令系统所有指令,指令微程序指令系统所有指令,指令微程序微程序若干微指令,微指令一组微命令微程序若干微指
27、令,微指令一组微命令微命令微命令微操作微操作53安排微操作的节拍时应注意三点:1.有些微操作的次序是不容改变的,故安排微操作节拍时必须注意微操作的先后顺序。2.凡是被控制对象不同的微操作,若能在一个节拍内执行,应尽可能安排在一个节拍内,以节省时间。3.如果有些微操作所占的时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。54 组合逻辑设计步骤 组合逻辑设计控制单元时,首先根据上述微操作的节拍安排,列出微操作命令时间表,然后写出每一个微操作命令(控制信号)的逻辑表达式,最后根据逻辑表达式画出相应的组合逻辑电路图。55 微程序设计步骤微程序设计控制单元的主要任务是编写对应各条
28、机器指令的微程序,具体步骤是首先写出对应机器指令的全部微节拍安排,然后确定微指令格式,最后编写出每条微指令的二进制代码(称作微指令码点)。步骤包括:1.写出对应机器指令的微操作及节拍安排2.确定微指令格式3.编写微指令码点2.微指令和微程序机器指令与微指令机器指令与微指令 程序机器指令机器指令1机器指令机器指令2机器指令机器指令i机器指令机器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微地址寄存器微地址寄存器AR微指令寄存器微指令寄存器IR主存储器主存储器控制存储器控制存
29、储器CM微命令微命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级微程序设计中形成后继地址原理图微程序设计中形成后继地址原理图 5.5 微程序设计技术微程序设计技术 1.1.静态微程序设计静态微程序设计对应于一台计算机的机器指令只有一组微对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变须改变而且也不好改变2.2.动态微程序设计动态微程序设计采用采用EPROMEPROM作为控制存储器,可以通过改变作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统微指令和微程序来改变机器的
30、指令系统采用动态微程序设计,微指令和微程序可采用动态微程序设计,微指令和微程序可以根据需要加以改变,因而可在一台机器上以根据需要加以改变,因而可在一台机器上仿仿真真其它机器指令系统其它机器指令系统5.6硬布线控制器硬布线控制器 硬布线控制器把控制部件看作为产生专门硬布线控制器把控制部件看作为产生专门固定时序控制信号的逻辑电路(以固定时序控制信号的逻辑电路(以使用最少元使用最少元件和取得最高操作速度件和取得最高操作速度为设计目标)为设计目标)硬布线控制的优点:速度较快;缺点:不硬布线控制的优点:速度较快;缺点:不容易修改添加新功能容易修改添加新功能微程序控制的优点:具有规整性、灵活性、微程序控制
31、的优点:具有规整性、灵活性、可维护性等;缺点:采用存储程序原理,需要可维护性等;缺点:采用存储程序原理,需要执行多条微指令,速度较慢执行多条微指令,速度较慢5.7传统传统CPU M6800CPUM6800CPU 是一个比较典型的单总线结构的微处理器是一个比较典型的单总线结构的微处理器 M6800CPUM6800CPU是一种是一种8 8位微处理器,采用单一的位微处理器,采用单一的5V5V电源。时电源。时钟脉冲采用两相钟脉冲采用两相(1 1,2 2),主频为,主频为1MHz1MHz,由外面加入,由外面加入CPUCPU。M6800M6800的的CPUCPU主要包括主要包括8 8位的位的ALUALU,
32、1616位的程序计数器、位的程序计数器、1616位的堆栈指示器和位的堆栈指示器和1616位的变址寄存器,两个位的变址寄存器,两个8 8位的累加位的累加器和一个器和一个8 8位的状态条件码寄存器,一个位的状态条件码寄存器,一个8 8位的指令寄存位的指令寄存器以及指令译码与控制部件器以及指令译码与控制部件(即操作控制器即操作控制器)。此外还有。此外还有一个一个8 8位的数据缓冲寄存器和一个位的数据缓冲寄存器和一个1616位的地址缓冲寄存位的地址缓冲寄存器。器。ALUALU部件执行算术运算和逻辑操作,它们包括逻辑部件执行算术运算和逻辑操作,它们包括逻辑“与与”、逻辑、逻辑“或或”、逻辑、逻辑“异或异
33、或”、求补、比较、加、求补、比较、加法、减法、十进制调整等。法、减法、十进制调整等。在在M6800M6800中,主存地址和外设地址是统一编址的,因此,中,主存地址和外设地址是统一编址的,因此,在在6553665536个地址中有一部分是为外围设备使用的。个地址中有一部分是为外围设备使用的。传统传统CPU举例举例Intel 8088CPUIntel 8088CPU Intel 8088Intel 8088是一种通用的准是一种通用的准1616位微处理器,其内部结构位微处理器,其内部结构为为1616位,与外部交换的数据为位,与外部交换的数据为8 8位。它可以处理位。它可以处理1616位数据位数据(具有
34、具有1616位运算指令,包括乘除法指令位运算指令,包括乘除法指令),也可处理,也可处理8 8位数位数据。它有据。它有2020条地址线,直接寻址能力达到条地址线,直接寻址能力达到1M1M字节。字节。CPU CPU 从功能上来说分成总线接口单元从功能上来说分成总线接口单元BIUBIU和执行单元和执行单元EUEU两两大部分。大部分。BIUBIU负责与存储器和外围设备接口,即负责与存储器和外围设备接口,即8088 CPU8088 CPU与存储器与存储器和外围设备之间的信息传送,都是由和外围设备之间的信息传送,都是由BIUBIU进行的。进行的。EU EU 部分负责指令的执行。取指部分与执行指令部分是独部
35、分负责指令的执行。取指部分与执行指令部分是独立并行工作的,在一条指令的执行过程中,可取出下一立并行工作的,在一条指令的执行过程中,可取出下一条条(或多条或多条)指令,在指令流队列寄存器中排队。在一条指令,在指令流队列寄存器中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了指令执行完以后就可以立即执行下一条指令,减少了CPUCPU为取指令而等待的时间,提高了系统的运行速度。为取指令而等待的时间,提高了系统的运行速度。传统传统CPU举例举例IBM 370CPUIBM 370CPU 3232位位CPUCPU ALUALU部件按功能不同分为如下三个子部件:部件按功能不同分为如下三个子部件:(
36、1)(1)定点运算,定点运算,包括整数计算和有效地址的计算;包括整数计算和有效地址的计算;(2)(2)浮点运算;浮点运算;(3)(3)可可变长运算,包括十进制算术运算和字符串操作。变长运算,包括十进制算术运算和字符串操作。为了存放地址和数据,使用了两组独立的可编址寄存器,为了存放地址和数据,使用了两组独立的可编址寄存器,1616个通用寄存器用来存放操作数和运算结果,且可用作个通用寄存器用来存放操作数和运算结果,且可用作变址寄存器。变址寄存器。4 4个浮点寄存器用于浮点运算。数据寄存器个浮点寄存器用于浮点运算。数据寄存器DRDR、地址寄存器、地址寄存器ARAR、指令寄存器、指令寄存器IRIR是标
37、准化的。是标准化的。Intel 80486CPUIntel 80486CPU 3232位位CPUCPU 通过采用流水技术,以及微程序控制和硬布线逻辑控制通过采用流水技术,以及微程序控制和硬布线逻辑控制相结合的方式,进一步缩短可变长指令的译码时间,达相结合的方式,进一步缩短可变长指令的译码时间,达到基本指令可以在一个时钟周期内完成。到基本指令可以在一个时钟周期内完成。传统传统CPU举例举例 486486芯片内部包含一个芯片内部包含一个8KB8KB的数据和指令混合性的数据和指令混合性cachecache,为,为频繁访问的指令和数据提供快速的内部存储,从而使系频繁访问的指令和数据提供快速的内部存储,
38、从而使系统总线有更多的时间用于其他控制。统总线有更多的时间用于其他控制。486486芯片内部包含了增强性芯片内部包含了增强性8038780387协处理器,称为浮点运协处理器,称为浮点运算部件算部件(FPU)(FPU)。由于。由于FPUFPU功能扩充,且放在功能扩充,且放在CPUCPU内部,使引内部,使引线缩短,故速度比线缩短,故速度比8038780387提高了提高了3 35 5倍。倍。486 CPU486 CPU的内部数据总线宽度为的内部数据总线宽度为6464位,这也是它缩短指令位,这也是它缩短指令周期的一个原因。而外部数据总线的宽度也可以自动转周期的一个原因。而外部数据总线的宽度也可以自动转
39、换。换。地址信号线扩充到地址信号线扩充到3232位,可以处理位,可以处理4GB(24GB(23232字节字节)的物理的物理存储空间。如果利用虚拟存储器,其存储空间达存储空间。如果利用虚拟存储器,其存储空间达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):):在同一时刻或是同一时间间隔
40、内完成两种或两种以上性在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作质相同或不相同的工作同时性同时性(Simultaneity):同一时刻发生的并行性):同一时刻发生的并行性并发性并发性(Concurrency):同一个时间间隔内发生):同一个时间间隔内发生的并行性的并行性v并行性的等级并行性的等级指令内部并行:微操作之间指令内部并行:微操作之间指令级并行(指令级并行(ILP:Instruction Level Parallel)线程级并行(线程级并行(TLP:Thread Level Parallel)程序级并行程序级并行系统级并行:分布式系统、多机系统、机群系统系统级
41、并行:分布式系统、多机系统、机群系统提高并行性的技术途径v时间重叠时间重叠(Time-interleaving)时间并行时间并行多个过程在时间上相互错开,轮流重叠地使用同一套硬多个过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分件设备的各个部分v资源重复资源重复(Resource-replication)空间并行空间并行通过重复设置资源(尤其是硬件资源),提高性能通过重复设置资源(尤其是硬件资源),提高性能v资源共享资源共享(Resource-sharing)使多个任务按一定时间顺序轮流使用同一套硬件设备使多个任务按一定时间顺序轮流使用同一套硬件设备单机系统中并行性的发展单机系统中
42、并行性的发展9.1.3v指令流水线,部件冗余,分时系统指令流水线,部件冗余,分时系统多机系统中并行性的发展多机系统中并行性的发展9.1.4v多机系统多机系统v耦合度:松散耦合、紧密耦合耦合度:松散耦合、紧密耦合5.8.2 5.8.2 流水流水CPUCPU的结构的结构 指令流水线指令流水线 IF(Instruction Fetch)取指令阶段取指令阶段ID(Instruction Decode)指令译码阶段指令译码阶段EX(Execute)执行运算阶段执行运算阶段MEM(Memory Access)存储器访问阶段存储器访问阶段WB(Write Back)写回结果阶段写回结果阶段WBWB流水线的时
43、空图v流水线技术流水线技术:把一个重复的过程分解为若干个:把一个重复的过程分解为若干个子过程,每个子程序可以与其他子过程同时进子过程,每个子程序可以与其他子过程同时进行行v描述流水线的工作,最常用的方法是时间描述流水线的工作,最常用的方法是时间-空间空间图(图(时空图时空图)横坐标横坐标:表示:表示时间时间,即各个任务在流水线中所,即各个任务在流水线中所经过的时间经过的时间纵坐标纵坐标:表示:表示空间空间,即流水线的各个子过程,即流水线的各个子过程,也称为也称为级、段、流水线深度级、段、流水线深度(Stage)非流水计算机的时空图非流水计算机的时空图每每4个机器周期才有一个输出结果个机器周期才
44、有一个输出结果流水计算机的时空图流水计算机的时空图每个机器周期可以输出一个结果每个机器周期可以输出一个结果演示演示流水线的特点v流水线实际上是把一个功能部件分解成多个独立的子功流水线实际上是把一个功能部件分解成多个独立的子功能部件(一个任务也就分成了几个子任务,每个子任务能部件(一个任务也就分成了几个子任务,每个子任务由一个子功能部件完成),并依靠多个子功能部件并行由一个子功能部件完成),并依靠多个子功能部件并行工作来缩短所有任务的执行时间工作来缩短所有任务的执行时间v流水线有助于提高整个程序(所有任务)的吞吐率,但流水线有助于提高整个程序(所有任务)的吞吐率,但并没有减少每个指令(任务)的执
45、行时间并没有减少每个指令(任务)的执行时间v流水线各个功能段所需时间应尽量相等。否则,时间长流水线各个功能段所需时间应尽量相等。否则,时间长的功能段将成为流水线的的功能段将成为流水线的“瓶颈瓶颈”,会造成流水线的,会造成流水线的“阻塞阻塞”(Stall)v流水线开始需要流水线开始需要“通过时间通过时间”(Fill)和最后需要和最后需要“排空排空时间时间”(Drain)。流水线只有处理连续不断的任务才能。流水线只有处理连续不断的任务才能发挥其效率发挥其效率5.8.3 流水线中的主要问题v流水线中存在一些流水线中存在一些相关相关(冲突冲突、冒险冒险Hazard,相相关关、依赖依赖Dependenc
46、e,竞争竞争Competition)的的情况,它使得下一条指令无法在设计的时钟周情况,它使得下一条指令无法在设计的时钟周期内执行。这些相关将降低流水线性能期内执行。这些相关将降低流水线性能v主要有三种类型的相关(冲突)主要有三种类型的相关(冲突)结构相关(资源冲突)结构相关(资源冲突):当指令重叠执行过程:当指令重叠执行过程中,硬件资源满足不了指令重叠执行的要求中,硬件资源满足不了指令重叠执行的要求数据相关(数据冲突)数据相关(数据冲突):在同时执行的多条指:在同时执行的多条指令中,一条指令依赖前一条指令的执行结果令中,一条指令依赖前一条指令的执行结果(数数据据)却无法得到却无法得到控制相关(
47、控制冲突)控制相关(控制冲突):流水线遇到分支指令:流水线遇到分支指令或其他改变或其他改变PC值的指令值的指令1.1.资源相关资源相关 资源相关资源相关是指多条指令进入流水线后,在同一机是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突器时钟周期内争用同一个功能部件所发生的冲突 例:假定一条指令流水线由五段组成,且仅有例:假定一条指令流水线由五段组成,且仅有IF过程和过程和MEM过程需要访问存储器过程需要访问存储器 I1与与I4两条指令在时钟两条指令在时钟4争用存储器资源的相关冲突争用存储器资源的相关冲突2.2.数据相关数据相关 ADD R1,R2,R3;R2R3R1
48、 SUB R4,R1,R5;R1R5R4 AND R6,R1,R7;R1R7R0指令发生数据相关冲突指令发生数据相关冲突 3.3.控制相关控制相关 控制相关控制相关冲突由冲突由转移指令(分支指令)转移指令(分支指令)引起引起 执行转移指令时,依据转移条件的产生结果执行转移指令时,依据转移条件的产生结果可能为顺序取下条指令可能为顺序取下条指令也可能转移到新的目标地址取指令也可能转移到新的目标地址取指令地址不定,流水线需要暂停、地址不定,流水线需要暂停、发生断流发生断流 转移指令转移指令主要有:主要有:无条件转移指令:跳转、过程调用和返回无条件转移指令:跳转、过程调用和返回条件分支指令条件分支指令
49、 【例例5】流水线中有三类数据相关冲突:写后读流水线中有三类数据相关冲突:写后读(RAW)相关;读后写相关;读后写(WAR)相关;写后写相关;写后写(WAW)相关相关 I1:ADD R1,R2,R3;R2R3R1 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-order issue)按序发
50、射按序发射指令指令顺序执行顺序执行(in-order execution)如果一条指令在流水线中,与之相关的指令及其后如果一条指令在流水线中,与之相关的指令及其后面的指令都不能进行处理面的指令都不能进行处理v改进指令流水线,只要指令操作数就绪就执行,改进指令流水线,只要指令操作数就绪就执行,指令指令乱序执行乱序执行(out-of-order execution)指令指令乱序结束乱序结束(out-of-order completion)MUL R0,R2,R4ADD R6,R0,R8SUB R7,R3,R1多指令流出技术v进一步改进指令流水线,实现一个时钟周进一步改进指令流水线,实现一个时钟周期