计算机组成原理 第6章课件_第1页
计算机组成原理 第6章课件_第2页
计算机组成原理 第6章课件_第3页
计算机组成原理 第6章课件_第4页
计算机组成原理 第6章课件_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第6章中央处理器主要内容本章主要讨论控制器。内容主要包括控制器的基本结构和功能、时序控制方式、微程序控制器、微程序控制器的设计等,最后介绍超标量流水技术以及典型的CPU器件。6.1中央处理器的基本组成CPU的功能:(1)指令控制:按指令要求控制取下一条指令。程序中大部分指令是顺序执行,小部分指令是转移指令.如果计算机的指令中没有无条件转移指令、条件转移指令、循环转移指令、转子指令和返回指令等,那么就编不出高质量的程序。(2)操作控制:完成指令所规定的各功能操作,包括算术逻辑运算等操作,也包括CPU和主存、I/O设备之间信息传送及控制等,协调CPU和主存、I/O设备之间的操作。一、功能:(3)时间控制:计算机有很多操作,对某条指令来说,某个操作信号在T1时刻可能是需要的,但在T2时刻可能又不需要了。因此CPU需根据指令要求,在T1时刻,只对某些操作信号适时地发出规定的操作。在计算机系统中,不仅要提供各种基本操作(微操作),更重要的是控制计算机何时发出所需要的操作,才能使计算机有条不紊地工作,这是CPU具有的最重要功能。(4)数据加工:对数据进行算术运算和逻辑运算。完成数据的加工处理,这是CPU的根本任务。二、组成传统的CPU由运算器和控制器两大部分组成。但是随着高密度集成电路技术的发展,早期放在CPU芯片外的一些逻辑功能部件,如浮点运算器、cache等纷纷移入CPU内部,因而使CPU的内部组成越来越复杂。这样,CPU的基本部分变成了运算器、cache和控制器三大部分。1、控制器是计算机的控制中心,是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。主要由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。功能:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。比如一次内存读/写操作,一个算术逻辑运算操作,或一个输入输出操作。(3)指挥并控制CPU,内存和输入/输出设备之间数据流动的方向。2、运算器是计算机对数据加工处理的中心,计算机指令功能的实现,就是通过运算器完成的。它主要由多功能算术逻辑运算部件(ALU)、累加寄存器(AC)、数据缓冲寄存器(DR)和状态条件寄存器(PSW)组成,ALU输入端的多路选择器、通用寄存器、移位器、总线等功能部件等构成。运算器的功能(1)执行所有的算术运算(2)执行所有的逻辑运算,并进行逻辑测试。通常,一个算术操作产生一个运算结果,而一个逻辑操作产生一个判决。3、CPU的寄存器数据缓冲寄存器(DR):用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存中存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。指令寄存器(DR):用来保存当前正在执行的一条指令。程序计数器(PC):为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器(PC)正是起到这种作用地址寄存器(AR):用来保证当前CPU所访问的内存单元的地址。3、CPU的寄存器累加寄存器(AC):当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。状态条件寄存器(PSW):保存由算术和逻辑指令运行或测试的结果建立的各种条件码内容。4、操作控制器 数据通路:许多寄存器之间传送信息的通路。信息从什么地方开始,中间通过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。根据设计方法的不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种,第一种称为硬布线控制器,它采用时序逻辑技术实现;第二种称为微程序控制器,它是采用存储逻辑来实现的。第三种是前两种的组合。4、操作控制器 操作控制器产生的控制信号必须定时,还必须有时序产生器。因为计算机高速地进行工作,每一个动作的时间是非常有限的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。CPU中除了上述组成部分以外,还有中断系统、总线接口等其他功能部件。6.2指令周期6.2.1指令周期的基本概念:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需的时间通常叫做一个指令周期。即,指令周期是取出并执行一条指令的时间。各种指令的指令周期是不尽相同的。指令周期通常用若干个CPU周期来表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最段短时间来规定CPU周期,即,一条指令的取出阶段需要一个CPU周期。而一个CPU周期时间又包含若干个时钟周期(节拍脉冲或T周期,它是处理操作的基本单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。(P157)6.2指令周期五条典型指令组成的一个程序八进制地址八进制内容指令助记符040250000CLA041030060ADD60042021061STAI61043000000NOP044140055JMP55………………055…………………………060000006

061000080

……

080存和数单元

6.2.1非访内指令的指令周期

CLA是一条非访内指令,它需要两个CPU周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。取指令阶段:1、从内存中取出指令;2、对程序计数器PC加1,以便为取下一条指令做好准备;3、对指令操作码进行译码或测试,以便进行什么操作。执行指令阶段:CPU根据对指令操作码的译码或测试,进行指令所要求的操作。对非访内指令来说,执行阶段通常涉及到累加器的内容,如累加器内容清零、累加器内容求反等操作。其他一些零地址格式的指令,执行阶段一般也仅需要一个CPU周期。具体操作见教材P159图5.56.2.2直接访内指令的指令周期

ADD指令是一条访问内存取数并执行加法的指令;其指令周期由三个CPU周期组成,其中,第一个周期为取值指令阶段,其过程完全与CLA指令相同。执行指令阶段由两个CPU周期组成:在第二个CPU周期中将操作数的地址送往地址寄存器并完成地址译码,在第三个CPU周期从内存中取出操作数并执行相加的操作。6.2.3间接访内指令的指令周期

程序的第三条指令是“STA40”指令,这是一条访问内存的指令。STA指令的指令周期由三个CPU周期组成,如图,其中第一个CPU周期仍然是取指令阶段,其过程与CLA指令、ADD指令完全一样,不同的是此阶段中程序计数器加1后变为23,因而为取第四条指令做好了准备。6.2.4空操作指令的指令周期

NOP是一条空操作指令,由2个CPU周期组成,第一个CPU周期中取指令,CPU把23号单元的“NOP”指令取出并放到指令寄存器,第二个CPU周期中执行该指令。因译码器译出是“NOP”指令,第二个CPU周期中操作控制器不发出任何控制信号。NOP指令可用来调机使用。6.2.5程序转移指令的指令周期JMP指令指令周期仅由两个CPU周期组成。第一个CPU周期把24单元的“JMP21”指令取出并放至占领寄存器,同时程序计数器内容加1,变为25,从而为下一条指令做好准备。第二个CPU周期为执行阶段。此阶段中,CPU把指令寄存器中的地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25。这样,下一条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的顺序。5.2.6用方框图表示指令周期进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。一个方框图代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。除了方框图外,还需要一个菱形符号,它通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。由方框图可以看出,所有指令的取指令阶段都是相同的,而且是一个CPU周期。但是指令的执行阶段,由于各条指令的功能不同,所用的CPU周期是各不相同的,其中CLA,NOP,JMP指令是一个CPU周期;ADD,STA指令是两个CPU周期。框图中DBUS代表数据总线,ABUS代表地址总线,RD代表内存读命令,WE代表内存写命令。“”称为公操作符号,表示一条指令执行完毕,转入公操作。所谓公操作,就是一条指令执行完毕后,CPU所开始进行的一些操作,这些操作主要是CPU对外设请求的处理,如中断处理,通道处理等。6.3时序控制方式6.3.1时序信号的作用和体制:

计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的,一般来说,操作控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数。如果忽略了时间因素,那么我们学习计算机硬件时就回感到困难。组成计算机硬件的器件特性决定了时序信号最基本的体制是电位-脉冲制,这种体制最明显的一个例子,就是当实现寄存器之间的数据传送时,数据加在触发器的电位输入端,而打入数据的控制信号加在触发器的时钟输入端。电位的高低,标号数据是1还是0,而且要求打入数据的控制信号到来之前,电位信号已经稳定。6.3时序控制方式硬布线控制器中(组合逻辑控制器),时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。一个节拍电位表示CPU周期的时间,它表示了一个较大的时间单位;在一个节拍电位中又包含若干个节拍脉冲,以表示较小的时间单位;而主状态周期可包含若干个节拍电位,所以它是最大的时间单位。主状态周期可以用一个触发器的状态持续时间来表示。微程序控制器中,时序信号比较简单,一般采用节拍电位节拍脉冲二级体制。即:它只有一个节拍电位,在节拍电位中又包含若干个节拍脉冲(始终周期)。节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分成几个较小的时间间隔。根据需要,这些时间间隔可以相等,也可以不相等。6.3.2时序信号产生器功能:用逻辑电路产生指令周期所需的时序。大、中形计算机的时序电路比较复杂,而小、微型机的时序电路比较简单,因为前者涉及的动作较多,而后者涉及的操作动作较少。另一方面,从设计操作控制器的方法来讲,硬布线控制器的时序电路比较复杂,而微程序控制器的时序电路比较简单。不管哪一类,时序信号产生器的最基本的构成是一样的。6.3.3多级时序系统

6.3.3多级时序系统多级时序

6.3.3控制器的控制方式

控制器控制一条指令运行的过程是依次执行一个确定的微操作序列的过程,无论在微程序控制或硬布线控制计算机中都是这样。由于不同指令所对应的微操作数及其繁简程度很不一样,因此每条指令和每个微操作所需的执行时间也不相同,如何形成控制不同微操作序列的时序控制信号就有多种方法,称为控制器的控制方式,常用的有同步控制方式、异步控制方式和联合控制方式。1.同步控制方式

在任何情况下,已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,称为同步控制方式。根据不同情况,同步控制方式可以选取如下方案:(1)采用完全统一的机器周期(或节拍)执行各种不同的指令,即不管微操作的繁简,以最繁的微操作为标准,采取统一的,具有相同时间间隔和相同数目的节拍作为机器周期。这对于那些比较简单的微操作,将造成时间浪费。(2)采用不定长的机器周期,以解决微操作执行所需时间不统一的问题。通常把大多数微操作安排在一个较短时间的机器周期内完成,而对某些较繁的微操作,则采取延长机器周期或增加节拍的办法解决。(3)采用中央控制和局部控制相结合的方法。将机器的大部分指令安排在一个统一的较短的机器周期内完成,称为中央控制。对少数复杂的指令(如乘法操作、除法操作或浮点运算等)则采用另外的时序进行定时,称为局部控制。2.异步控制方式

异步控制方式的特点是:根据每条指令、每个微操作的具体需要决定其占用的时间。这意味着每条指令的指令周期可以由多少不等的机器周期组成;也可以是当控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的“回答”信号或“结束”信号,再开始新的微操作。用这种控制方式形成的微操作序列没有固定的周期节拍和严格的时钟同步。

3.联合控制方式

联合控制方式将同步控制和异步控制方式相结合。对不同指令的各个微操作实行大部分统一、小部分区别对待的方式。即大部分微操作安排在一个固定机器周期中,并在同步时序信号控制下进行;而对某些时间难以确定的微操作则以执行部件送回的“回答”信号作为本次微操作的结束。

6.4微程序控制器

微程序控制器同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的硬布线控制器,并已被广泛使用。在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。1.微程序概念的提出与发展

1951年,英国剑桥大学的MauriceVincentWilkes教授便提出了微程序(microprogram)的概念。

利用微程序设计技术,可以将计算机中的为操作控制信号按照一定的规则进行信息编码,形成控制字(称为微指令),在把这些微指令按时间先后顺序排列起来,存放到一个只读存储器中。

Wilkes微程序控制器

2.基本概念和术语1、微命令和微操作控制部件(如控制器)与执行部件(如运算器、存储器、外围设备等)的一种联系,就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而执行部件接受微命令后所进行的操作,叫做微操作。控制部件与执行部件之间的另一种联系是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便使控制部件根据执行部件的“状态”来下达新的微命令,这也叫“状态测试”2、微指令和微地址在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作称为微指令,所以微指令就是把同时发出的控制信号的有关信息汇集起来而形成的。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。组成微指令的微操作就是微命令。一条微指令通常至少包含两个方面的信息:(1)操作控制字段,也称为操作码字段,用于产生某一步微操作所需的各种微操作控制信号;(2)顺序控制字段,也称为微地址码字段,用于控制产生下一条要执行的微指令地址。

2.基本概念和术语3).微指令周期从控制存储器中读出一条微指令并执行相应的微命令所需的全部时间称为微周期。4).微程序计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫微程序。一段微程序对应一条机器指令。

6.4.2微程序控制器

1.微程序控制器的基本组成

控制存储器

微指令寄存器

地址转移逻辑

2.微程序控制器的工作过程

微程序控制器计算机的结构简图

6.4.3微指令的编码方式

微指令的编码方式是决定微指令格式的主要因素。微指令格式设计是以机器系统要求、指令级功能部件与数据通路设计为依据的。不同机器具有不同的微指令格式。如大型机强调速度,要求译码过程尽量快;微型机和小型机则更重视经济性,要求最大限度地缩短指令字长;中型机则介于两者之间,兼顾速度和价格,要求在保证一定速度情况下,尽量缩短字长。

1.直接控制编码法(不译码法)

2.最短编码法

3.分段编译法

1.直接控制编码法(不译码法)

直接控制编码法是指操作控制字段中的每一位都代表一个微命令。各位分别可以直接控制计算机,设计微指令时,只要根据需要将该微命令的对应位设置为1或0即可,不需要进行译码。这种编码的优点是结构简单、直观,执行速度快,操作并行性最好。其缺点是微指令字长过长。如果机器的微命令数为n个,就要求微指令字的操作控制字段为n位。但实际的机器中微命令都在几百个以上,采用此方法单是微命令字段就达到几百位。这会使控制存储器单元的位数过多。2.最短编码法

最短编码法是不译法的另一个极端情况。不译法的微指令字过长,而最短编码法获得的微指令长度最短。在这种方法中,所有的微命令统一进行编码,每条微指令只定义一个微命令。设微命令的总数为N个,操作控制字段的长度为L位,则最短编码法满足以下关系式:

最短编码法的优点是指令字可以达到最短。但这同时带来了一个不利的问题:必须对微指令进行译码后才能得到真正的微命令。微命令数目越多,译码器越复杂。

3.分段编译法

分段编码法融合了前两种方法,它既具有前两种方法的优点,如缩短指令字长度,利用硬件的并行性等,又尽量克服了前两种方法的缺点,因此使用较多。

1).分段直接编码法

2).分段间接编码法

2).分段间接编码法分段编码方法的中微操作控制字段的分段必须遵循以下原则:①将互斥性的微命令分在同一段内,兼容性的微命令分在不同的段内。这样不但有利于提高信息的利用率,缩短微指令字长,也有利于充分利用硬件具有的并行性,加快执行的速度。②分段应用数据通路结构相适应。③每个小段内包含的信息位不能太多,否则会增加译码线路的复杂性,使译码时间变长。④一般要求每个小段要留出一个状态,表示本字段不发出任何微命令。因此,n位长的字段最多只能表示2n个互斥的微命令,一般用00…0来表示不操作。3).常数源字段E的设置

在微指令中,一般设有一个常数源字段E,就如同机器指令中的立即操作数一样,用来提供微指令所使用的常数(由设计者填写),如提供计数器初值、通用寄存器地址、转移地址等。字段E也可用来参与其它控制字段的间接编码,以减少微指令字长,增加微指令的灵活性,字段E在微指令中的形式为:

6.4.4微程序的顺序控制

1.微程序入口地址的形成由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控制存储器的0号或1号单元开始的一段控制存储器空间。当用公用的“取机器指令”微程序从内存中取出机器指令后,首先由“取机器指令”微程序取出一条机器指令到指令寄存器IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。

2.后继微地址的形成

微指令的执行是一个连续的过程,一条微指令执行完后即开始执行下一条微指令,直到所有的微指令都执行完毕为止。因此,要连续执行微指令,必须在一条微指令执行结束后就已知下一条要执行的微指令的地址。一般是根据前一条微指令中的顺序控制字段的要求形成后继微指令地址。

1).增量方式(顺序—转移型微地址)2).断定方式

6.4.5微指令格式

微指令的编码方式是决定微指令格式的主要因素。微指令格式设计是以机器系统要求、指令级功能部件与数据通路设计为依据的。不同机器具有不同的微指令格式。水平型微指令垂直型微指令

1.水平型微指令

水平型微指令是指一次能定义并执行多个并行操作微命令的微指令,一般来说它有如下特征:①微指令较长,通常为几十位到上百位左右。如VAX一11/780的微指令字长96位。机器规模越大,速度越快,其微指令字越长。②微指令中的微操作具有高度并行性,这种并行操作能力是以数据通路中各部件间的并行操作结构为基础的。例如,执行一条水平型微指令就能控制信息从若干源部件同时传送到若干目的部件。③微指令编码简单,一般采用直接控制编码和分段直接编码,以减少微命令的译码时间。

1.水平型微指令水平型微指令的优点是并行操作能力强、执行效率高、灵活性好,微程序条数少,因此广泛应用于速度较快的机器中。但由于微指令字较长,增加了控制存储器的横向容量,同时微指令和机器指令的差别很大,设计者只有足够熟悉数据通路,才能编制出理想的微程序。其复杂程度高,难以实现微程序设计自动化。2.垂直型微指令

垂直型微指令的特征是微指令较短,微指令的并行操作能力有限,一般一条微指令只能控制数据通路的一二种信息传送操作。另外,执行一条机器指令所需要的微指令数目较多,执行时间长。这是它与水平型微指令相比不足的地方。但是,垂直型微指令与机器指令很相似,设计者只需注意微指令的功能,而对数据通路结构则不用过多考虑,因此便于编制微程序。编制的微程序规整、直观,有利于设计的自动化。

3.水平型微指令与垂直型微指令的比较

水平型微指令垂直型微指令并行操作能力强弱效率高低灵活性强弱指令执行时间短长复杂度高低与机器指令的差别大小6.4.6微指令的执行方式

执行微指令的过程与执行机器指令有些类似。首先要从控制存储器中取出微指令,如果是垂直型微指令,还需要包括微操作码的译码过程;然后执行微指令所规定的操作。具体说来,微指令分为串行执行方式和并行执行方式两种。1.串行执行在串行微程序控制器中,执行现行微指令的操作与取下一条微指令的操作在时间上是串行的。只有在一条微指令取出并执行完后,才能取下一条微指令。

1.串行执行在串行执行方式中,微指令周期等于取微指令的时间与执行微操作时间的和。串行方式的微周期较长,但控制简单,形成后继微地址所用的硬件设备少。微指令的串行执行与并行执行

2.并行方式

并行执行方式是将取微指令与执行微指令的操作重叠起来执行。即并行执行方式下,在执行当前微指令的同时,预取下一条微指令,从而节省了取微指令的时间。对于并行执行方式,由于执行本条微指令与预取下一条微指令是同时进行的,所以,如果遇到某些需要根据本条微指令的处理结果而进行条件转移的微指令,先前预取的微指令就无用。此时可以通过延迟一个微周期再取微指令的方法解决。除了上述两种方式外,还有串行和并行混合执行方式。

6.4.7微程序举例

6.4.7微程序举例6.5流水线技术

加快机器指令执行速度的其中一种重要方法。同时解释执行两条、多条以至整段程序。流水(pipeline)线技术是目前广泛应用于CPU中的一项关键技术。20世纪90年代以后出现的处理器,无论是RISC还是CISC,无一不采用“指令流水”技术。6.5.1流水线技术的基本原理1、流水线原理:计算机的流水处理过程同工厂中的流水装配线类似。为了实现流水,首先必须把输入的任务(或过程)分割为一系列子任务。使各子任务能在流水线的各个阶段并发地执行。将任务连续不断地输入流水线,从而实现了子任务级的并行。因此流水处理大幅度地改善了计算机的系统性能,是在计算机上实现时间并行性的一种非常经济的方法。在流水线中,原则上要求各个阶段的处理时间相同。若某一阶段处理时间较长,势必造成其他阶段的空转等等。因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部件的效率,所期望的处理速度,以及成本价格等等。2、并行处理技术并行性的含义:

一是同时性,指两个以上事件在同一时刻发生;二是并发性,指两个以上事件在同一时间间隔内发生。计算机的并行处理技术可贯穿于信息加工的各个步骤和阶段,概括起来,有三种形式:(1)时间并行;(2)空间并行;(3)时间并行+空间并行。(1)时间并行时间并行:指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。时间并行概念的实现方式就是采用流水处理部件。这是一种非常经济而实用的并行技术,能保证计算机系统具有高度的性能价格比。目前的高性能微型计算机几乎无一例外地使用了流水技术。(2)空间并行指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。大规模和超大规模集成电路成为目前实现并行处理的一个重要途径。空间并行技术主要体现在多处理器系统和多计算机系统。但是在但处理器系统中也得到了广泛应用。(3)时间并行+空间并行时间并行+空间并行指时间重叠和资源重复的综合应用,即采用时间并行性又采用空间并行性。例如,奔腾CPU采用了超标量流水技术,在一个机器周期中同时执行两条指令,因而既具有时间并行性,又具有空间并行性。显然,第三种并行带来的高速效益是最好的。3、流水CPU的时空图假设流水CPU的一个指令周期包括四个字过程:取指令(IF)、指令译码(ID)、取操作数(OF)、进行运算(EX),每个子过程称为过程段(Si),一个流水线由一系列串联的过程段组成,各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果。在统一的时钟信号控制下,数据从一个过程流向相邻的过程段。4、流水CPU的时空图非流水线时空图对非流水计算机来说:上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此,每隔四个时钟周期才有一个输出结果。超标量流水线时空图所谓超标量流水,是指它具有两条以上的指令流水线。当流水线满载时,每一个时钟周期可以执行2条指令。显然,超标量流水计算机是时间并行技术和空间并行技术的综合利用。Pentium微型机就是一个超标量流水计算机。5、流水线分类指令流水线:实现指令步骤的并行。将指令流的处理过程划分为取指、译码、取操作数、执行等几个并行处理的过程段。目前,所有高性能计算机都采用了指令流水线。算术流水线:实现运算操作步骤的并行。如流水加法器、流水乘法器等。处理机流水线(宏流水线):实现程序步骤的并行。由一串处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送到第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送至第三台处理机,如此串联下去,随着高档微处理芯片的出现,构造处理机流水线变得容易,处理机流水线应用在多机系统中6.5.2流水线中的主要问题

1、资源相关2、数据相关3、控制相关1、资源相关当多条指令进入流水线后,在同一时间内对同一硬件发出请求时,硬件无法同时提供几项服务,因而造成指令之间的资源冲突,称为资源相关。资源相关的解决2、数据相关前一条指令和后一条指令可能需要同时存取相同的数据。例如在程序中,第一条指令写入数据,第二条指令读取数据。为了避免数据冲突,必须等待第一条指令写入内存后,才能执行第二条指令。

2、数据相关根据数据存取方法的不同,有3种可能的数据相关冲突

温馨提示

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

评论

0/150

提交评论