广东海洋大学计算机组成原理第五章_第1页
广东海洋大学计算机组成原理第五章_第2页
广东海洋大学计算机组成原理第五章_第3页
广东海洋大学计算机组成原理第五章_第4页
广东海洋大学计算机组成原理第五章_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章中央处理器返回1第五章中央处理器5.1CPU功能和组成5.2指令周期5.3时序产生器5.4微程序控制器及其设计5.5硬布线控制器及其设计5.6传统CPU5.7流水CPU5.8RISC的CPU5.9多媒体CPU25.1CPU的功能和组成1、CPU的功能指令控制(保证程序的顺序执行)操作控制(管理并产生每条指令的操作信号,控制相应部件进行动作)时间控制(对指令的各个操作实施时间的定时)数据加工(算术运算和逻辑运算)3算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DR2、CPU的基本模型42、CPU的基本组成运算器功能:算术运算、逻辑运算组成:ALU、累加器控制器功能:从内存中取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。一次内存读/写操作,一个算术逻辑运算操作,或一个输入/输出操作。指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。组成:各类寄存器、操作控制器和时序发生器52、CPU的基本组成在CPU中至少要有6类寄存器:指令寄存器(IR)程序计数器(PC)数据地址寄存器(AR)数据缓冲寄存器(DR)通用寄存器(R0~R3)状态字寄存器(PSW)

62、CPU的基本组成程序计数器PC(ProgrammingCounter)用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移。指令寄存器IR(InstructionRegister)

指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。72、CPU的基本组成指令译码器ID(InstructionDecoder)

译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。数据缓冲寄冲器DR(DataRegister)数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存储一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。数据地址寄存器AR(AddressRegister)

用来保存当前CPU所访问的数据Cache存储器单元的地址。82、CPU的基本组成通用寄存器R0-R3用来存放操作数或运算结果状态条件寄存器PSW状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N)等等。这些标志位通常分别由1位触发器保存。93、操作控制器数据通路通常把许多寄存器之间传送信息的通路,称为数据通路。操作控制器

根据指令操作码和时序信号,产生各种操作控制信号,以便正确地选择数据通路,把有关数据打入到一个寄存器,从而完成取指令和执行指令的控制。分类时序逻辑型:硬布线控制器存储逻辑型:微程序控制器103、操作控制器硬布线控制器硬布线控制器,它是采用组合逻辑技术来实现的,其时序控制信号形成部件是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。硬布线控制器的最大优点是速度快,但是时序控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。113、操作控制器微程序控制器

微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。微程序控制器的设计思想和组合逻辑设计思想截然不同。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。124、时序产生器因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能太早也不能太迟。操作控制器产生的控制信号必须严格定时,为此必须有时序产生器。时序产生器的作用,就是对各种操作信号实施时间上的控制。

135.2指令周期5.2.1指令周期的基本概念5.2.2典型指令的指令周期5.2.3用方框图语言表示指令周期145.2

指令周期—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址指令的执行过程取指令执行指令155.2.1指令周期的基本概念概念指令周期:指取指令、分析指令到执行完该指令所需的全部时间。各种指令的指令周期相同吗?为什么?机器周期通常又称CPU周期CPU从内存读取一个指令字的最短时间为一个CPU周期。不同的指令,可能包含不同数目的机器周期。在一个机器周期内,要完成若干个微操作。165.2.1指令周期的基本概念时钟周期在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个时钟周期,它是处理操作的最基本单位。

相互关系:

1个指令周期=若干个CPU周期

1个CPU周期=若干T周期

175.2.1指令周期的基本概念185.2.2典型指令的指令周期下面我们用一个模型机来介绍指令周期概念主要包括:取指(令)周期、(指令)执行周期19020

CLA ;累加器清0021

ADD30 ;(AC)+(30)→AC

022

STA40 ;(AC)→(40)023

NOP ;空操作

024

JMP21 ;21→PC…030000006 ;数据…040存和数 ;数据5条典型指令构成的简单程序20一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1CLA指令的指令周期21取出CLA指令算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA00002122算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000执行CLA指令23

ADD指令的指令周期

一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期24算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并执行ADD指令25

STA指令的指令周期

26算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并执行STA指令27NOP指令和JMP指令的指令周期28算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并执行JMP指令295.2.7用方框图语言表示的指令周期方法:用方框图语言来表示指令的指令周期方框——一个方框代表一个CPU周期方框内的内容——表示数据通路的操作或控制操作菱形符号——代表某种判别或测试,不独占CPU周期~——公操作所有指令的取指周期都是相同的,占一个CPU周期不同指令的执行周期不同305.2.7方框图表示指令周期取指执行315.2.7方框图表示指令周期P139例1双总线结构机器的数据通路图微操作信号微操作信号32注意微操作控制信号(右边)ALU0ALU033总结:一条指令包括一个取指令周期和一个及一个以上的执行周期组成在每个CPU周期中数据通路是明确的数据通路的建立及操作受到操作控制器的控制,当然决定于是什么指令。345.3时序产生器和控制方式5.3.1时序产生器作用和体制5.3.2时序信号产生器5.3.3控制方式355.3.1时序信号的作用和体制

计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用时序信号来体现。

硬布线控制器中,时序信号采用主状态周期-节拍电位-节拍脉冲三级体制。主状态周期(指令周期):包含若干个节拍电位节拍电位(机器周期):表示一个CPU周期的时间,包含若干个节拍脉冲节拍脉冲(时钟周期):表示较小的时间单位

微程序控制器中,时序信号采用节拍电位-节拍脉冲二级体制。36节拍脉冲节拍电位1主状态周期节拍电位2主状态周期-节拍电位-节拍脉冲37数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位控制信号:脉冲节拍电位-节拍脉冲38

IORQMREQRDWET1T2T3T4

IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ提供频率稳定且电平匹配的方波时钟脉冲信号由石英晶体振荡器组成产生一组有序的间隔相等或不等的脉冲序列启动停机5.3.2时序信号产生器

启停控制逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器时钟脉冲源395.3.3控制方式机器指令所包含的CPU周期数反映了指令的复杂程度,不同CPU周期的操作信号的数目和出现的先后次序也不相同。控制器的控制方式:控制不同操作序列时序信号的方法。同步控制方式异步控制方式联合控制方式405.3.3控制方式1.同步控制方式已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令2.异步控制方式控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作3.联合控制方式同步控制和异步控制相结合的方式415.4微程序控制器发展微程序的概念和原理是由英国剑桥大学的M·V·Wilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。到1964年,IBM公司在IBM360系列机上成功地采用了微程序设计技术。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。425.4微程序控制器基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。使相应部件执行所规定的动作。微程序设计技术是用软件方法来设计硬件的技术。435.4微程序控制器5.4.1微程序控制原理

5.4.2微程序设计技术445.4.1微程序控制原理

1、微命令:控制部件向执行部件发出的各种控制命令叫作微命令。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。微命令是控制计算机各部件完成某个基本微操作的命令。2、微操作:执行部件接受微命令后所进行的操作。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最基本的操作。455.4.1微程序控制原理

由于数据通路的结构关系,微操作可分为相容的和互斥的两种:互斥的微操作,是指不能同时或不能在同一个CPU内并行执行的微操作。相容的微操作,是指能够同时或在同一个CPU内并行执行的微操作。举例:见下图46475.4.1微程序控制原理3、微指令:把在同一CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令(Microinstruction)。它是微命令的组合一条微指令通常至少包含两大部分信息:操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。某位为1,表明发微命令。顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。485.4.1微程序控制原理微指令基本格式495.4.1微程序控制原理4、微程序一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列就是微程序。一段微程序对应一条机器指令。微地址

:存放微指令的控制存储器的单元地址50总结处理器内部可以分为:控制部件和执行部件微命令:控制部件向执行部件发出的控制命令微操作:执行部件接受微命令后所进行的操作 (微操作在执行部件中是最基本的操作)微指令:实现一定操作功能的一组微命令微程序:实现一条机器指令功能的微指令序列指令系统=所有指令,指令=微程序微程序=若干微指令,微指令=一组微命令微命令→微操作51机器指令与微指令

程序机器指令1机器指令2机器指令i机器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序525.4.1微程序控制原理5、微程序控制器原理框图535.4.1微程序控制原理控制存储器(μCM)。这是微程序控制器的核心部件,用来存放全部指令系统的微程序。其容量取决于机器的指令系统大小。微指令寄存器(μIR)用来存放从μCM取出的正在执行的微指令,它的位数同微指令字长相等。微地址形成部件用来产生初始微地址和后继微地址,以保证微指令的连续执行。微地址寄存器(μMAR)它接受微地址形成部件送来的微地址,为下一步从μCM中读取微指令作准备。545.4.1微程序控制原理微程序控制器的工作过程(1)执行取指令的公共操作取指令的公共操作通常由一段取指微程序来完成,在机器开始运行时,自动将取指微程序的入口微地址送μMAR,并从μCM中读出相应的微指令送入μIR。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。取指微程序的入口地址一般为μCM的0号单元,当取指微程序执行完后,从主存中取出的机器指令就已存入指令寄存器IR中了。(2)由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入μMAR555.4.1微程序控制原理(3)从μCM中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。(4)一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第(1)步,以完成取下条机器指令的公共操作。以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。565.4.1微程序控制原理十进制加法指令流程数据通路图、操作流程图575.4.1微程序控制原理四条微指令如下000000000000111111000000000取指令操作信号P1判别010100100100000000010011010存结果LDR2R1->XR2->Y+58十进制加法指令的微程序010001001100000000100001001存结果LDR2R2->XR3->Y+P2判别P2条件为0,转到取指令的公操作010001001001000000000000001存结果LDR2R2->XR3->Y-转到取指令的公操作595.4.1微程序控制原理6、CPU周期和微指令周期的关系60程序计数器PC地址寄存器AR缓冲寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存储器控制存储器CM微命令地址译码器地址译码机器指令级微指令级7、机器指令与微指令的关系61

例设某计算机运算器框图如图所示,其中ALU为16位的加法器(高电平工作),SA,SB为16位暂存器。4个通用寄存器由D触发器组成,Q端输出,其读、写控制功能见下表。

写控制读控制选择WA1WA0W选择RA1RA0R不写入**0不读出**0R3111R3111R2011R2011R1101R1101R0001R00016263

机器采用串行微程序控制方式,其微指令周期见上页图(b)。其中读ROM是从控存中读出一条微指令时间,为1μs;ALU工作是加法器做加法运算,为500ns;m1是读寄存器时间,为500ns;m2是写寄存器的工作脉冲宽度,为100ns。微指令字长12位,微指令格式如下:RA0RA1:读R0-R3的选择控制

WA0WA1:写R0-R3的选择控制R:寄存器读命令

W:寄存器写命令LDSA:打入SA的控制信号LDSB:打入SB的控制信号SB-ALU:传送SB的控制信号SB-ALU:传送SB的控制信号,并使加法器最低位加1.Reset:清暂存器SB为零的信号~:一段微程序结束,转入取机器指令的控制信号RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~64要求:用二进制代码写出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)65先画出三条指令的微指令的微程序流程图,如下图所示。其中未考虑“取指周期”和顺序控制问题,也即微程序仅考虑“执行周期”,微指令序列的顺序用数字标号标在每条微指令的右上角。每一框表示一条微指令。根据给定的微指令周期时间关系,完成ADD,SUB指令的执行动作需要3条微指令,MOV指令只需2条微指令。用二进制代码写出的三条指令的微程序列于下表中,其中*表示代码随意设置(0或1均可)。66

指令微程序代码ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~675.4.2微程序设计技术一、设计微指令应当追求的目标有利于缩短微指令的长度有利于缩小CM的容量有利于提高微程序的执行速度有利于对微指令的修改有利于提高微程序设计的灵活性685.4.2微程序设计技术1、微命令的编码方法编码有三种方法:直接表示法/编码表示法/混合表示法直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。69直接表示法举例,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。5.4.2微程序设计技术后继微地址判断条件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334微指令格式举例35TJ70直接表示法特点:简单直观,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。5.4.2微程序设计技术71编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。5.4.2微程序设计技术编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢725.4.2微程序设计技术

混合编码法:将前两种结合在一起,兼顾两者特点。735.4.2微程序设计技术编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如下的原则:①把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。②应与数据通路结构相适应。③每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。④一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。74123456789顺序控制4、5:00无操作01R1->X10R2->X11DR->X

6、7:00无操作01R3->Y10R2->Y11R1->Y

8、9:00无操作01+10-11M

混和表示法1、2、3位为直接表示法4、56、7 8、9位为编码表示法755.4.2微程序设计技术二、微指令地址的形成入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。机器指令的操作码转换成初始微地址的方式主要有两种。计数器的方式多路转移的方式765.4.2微程序设计技术1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。775.4.2微程序设计技术2、后继微地址形成方法(1)计数器的方式方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器μPC,一般情况下都是将微地址寄存器μMAR作为μPC特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。785.4.2微程序设计技术(2)多路转移的方式根据条件转移,如图条件:状态条件/测试/微指令中微地址/操作码79【例2】微地址寄存器有6位(μA5-μA0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。80

按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修改μA5-μA0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T4由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了μA2、μA1、μA0触发器的微地址转移逻辑图。81825.4.2微程序设计技术3、微指令格式:水平型微指令和垂直型微指令(1)水平型微指令

水平型微指令是指一次能定义并能并行执行多个微命令的微指令。格式如下控制字段判别测试字段下地址字段835.4.2微程序设计技术水平型微指令特点:优点:微指令字较长,速度越快。微指令中的微操作有高度的并行性。微指令译码简单。控制存储器的纵向容量小,灵活性强。缺点:微指令字比较长,明显地增加了控制存储器的横向容量。水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。845.4.2微程序设计技术(2)垂直型微指令:采用编码方式。设置微操作控制字段时,一次只能执行一到二个微命令的微指令称为垂直型微指令。855.4.2微程序设计技术垂直型微指令的特点:优点:设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。垂直微指令字较短,使控制存储器的横向容量少。缺点:微程序较长,要求控制存储器的纵向容量大。垂直微指令产生微命令要经过译码,微程序执行速度慢。微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。不能充分利用数据通路具有多种并行操作能力865.4.2微程序设计技术水平型微指令和垂直型微指令的比较:(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。875.4.2微程序设计技术4、动态微程序设计对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。

采用EEPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。885.7流水CPU5.7.1并行处理技术5.7.2流水CPU的结构5.7.3流水线中的主要问题5.7.4PentiumCPU895.7.1并行处理技术并行性概念问题中具有可以同时进行运算或操作的特性例:在相同时延的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)(广义)含义只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性905.7.1并行处理技术三种形式时间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件空间并行(资源重复):以数量取胜它能真正的体现同时性LSI和VLSI为其提供了技术保证时间+空间并行Pentium中采用了超标量流水线技术915.7.2流水CPU的结构流水计算机的系统组成存储器体系:主存采用多体交叉存储器;Cache流水方式CPU:指令部件、指令队列、执行部件指令流水线指令队列:FIFO执行部件:可以有多个采用流水线方式构成的算术逻辑部件构成,可以将定点运算部件和浮点运算部件分开。92流水线的时空图流水线技术:把一个重复的过程分解为若干个子过程,每个子程序可以与其他子过程同时进行描述流水线的工作,最常用的方法是时间-空间图(时空图)横坐标:表示时间,即各个任务在流水线中所经过的时间纵坐标:表示空间,即流水线的各个子过程,也称为级、段、流水线深度(Stage)935.7.2流水CPU的结构流水线CPU时空图IF(InstructionFetch取指)ID(InstructionDecode指令译码)EX(Execution执行)WB(WriteBack写回)945.7.2流水CPU的结构流水CPU非流水CPU955.7.2流水CPU的结构具有两条以上的指令流水线上图中流水线满载时,每一个时钟周期可以执行2条指令采用时间和空间并行技术965.7.2流水CPU的结构流水线(Pipelining)的分类指令流水线将指令流分成取指、译码、执行和写回算术流水线运算操作步骤的并行处理机流水线(宏流水线)由一串级的处理机构成流水线的各个过程段975.7.3流水线中的主要问题瓶颈问题(流水线中有速度慢的段)再分成几个段用资源重复的方法也可以解决资源相关:多条指令进入流水线后在同一时钟周期内争用同一功能部件。解决办法:后边指令拖一拍再推进;增设一个功能部件985.7.3流水线中的主要问题数据相关RAW(ReadAfterWrite)后面指令用到前面指令所写的数据WAW(WriteAfterWrite)两条指令写同一个单元WAR(WriteAfterRead)后面指令覆盖前面指令所读的单元解决办法:可以推后后继指令对相关单元的读操作设置相关的直接通路(Forwarding),在流水CPU的运算器中设置若干运算结果缓冲器,暂时保存运算结果,以便后继指令直接使用995.7.3流水线中的主要问题例:两条指令发生数据相关冲突RAW(ReadAfterWrite)ADD R1, R2, R3 R2+R3-->R1SUB R4, R1, R5 R1-R5-->R4AND R6, R1, R7 R1^R7-->R61005.7.3流水线中的主要问题控制相关引起原因:转移指令解决办法:延迟转移法:先执行再转移转移预测法:通过使用转移取和顺序取两路指令预取队列器,根据指令过去的行为来预测将来的行为,将转移预测提前到取指阶段101【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1ADDR1,R2,R3;(R2)+(R3)->R1I2SUBR4,R1,R5;(R1)-(R5)->R4(2)I3STOM(x),R3;(R3)->M(x),M(x)是存储器元I4ADDR3,R4,R5;(R4)+(R5)->R3(3)I5MULR3,R1,R2;(R1)×(R2)->R3I6ADDR3,R4,R5;(R4)+(R5)->R31025.7.4PentiumCPUPentiumCPU(第一代)1989年初0.8um工艺,310万晶体管有60M和66MHz外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论