计算机组成原理

一、并行处理技术

  并行性的两种含义:

•同时性:指两个以上事件在同一时刻发生;

•并发性:指两个以上事件在同一时间间隔内发生。

计算机的并行处理技术概括起来主要有时间并行、空间并行、时间加空间并行这三种形式:

1.时间并行

  时间并行指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

  时间并行性概念的实现方式就是采用流水处理部件。这是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。目前的高性能微型机几乎无一例外地使用了流水技术。

2.空间并行

  空间并行指资源重复,在并行性概念中引入空间因素,以“数量取胜” 为原则来大幅度提高计算机的处理速度。

  大规模和超大规模集成电路的迅速发展为空间并行技术带来了巨大生机,因而成为目前实现并行处理的一个主要途径。

  空间并行技术主要体现 在多处理器系统和多计算机系统。但是在单处理器系统中也得到了广泛应用。

3.时间并行+空间并行

  指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。显然,第三种并行技术带来的高速效益是最好的。

二、流水CPU的结构

1、流水计算机的系统组成

  现代流水计算机的系统组成原理如图5.37所示。其中CPU按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个3级流水线。

  为了使存储器的存取时间能与流水线的其他各过程段的速度相匹配,一般都采用多体交叉存器。

执行段的速度匹配问题:通常采用并行的运算部件以及部件流水线的工作方式来解决。方法包括:

(1)将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令;

(2)在浮点执行部件中,又有浮点加法部件和浮点 乘/除部件,它们也可以同时执行不同的指令;

(3)浮点运算部件都以流水线方式工作。

2、流水CPU的时空图

  计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。

  图5.38给出了非流水、标量流水、超标量流水的时空图。

标量流水线计算机:只有一条指令流水线的计算机。

超标量流水线计算机:具有多条指令流水线的计算机。

  超标量流水线计算机是时间并行技术与空间并行技术的结合。

3. 流水线分类

•指令流水线:指指令步骤的并行。将指令流的处理过程划分为取指令、译码、执行、写回等几个并行处理的过程段。目前,几乎所有的高性能计算机都采用了指令流水线。

•算术流水线 指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法等。 现代计算机中已广泛采用了流水的算术运算器。

•处理机流水线 又称为宏流水线,是指程序步骤的并行。  由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。

  随着高档微处理器芯片的出现, 构造处理机流水线将变得容易了。处理机流水线应用在多机系统中。

三、流水线的主要问题

  要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。流水过程中通常会出现以下三种相关冲突,使流水线断流。

•资源相关

  资源相关是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。假定一条指令流水线由五段组成。由表5.4可以看出,在时钟4时,I1与I4两条指令发生争用存储器资源的相关冲突。

  解决资源相关冲突的办法:

  一是第I4条指令停顿一拍后再启动;

  二是增设一个存储器,将指令和数据分别放在两个存储器中。

•数据相关

  在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。

  在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。如表5.6所示,ADD指令与SUB指令发生了数据相关冲突。

  解决数据相关冲突的办法是:

  在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传送技术。

•控制相关

  控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。

  为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术:

延迟转移法 :由编译程序重排指令序列来实现。基本思想是“先执行再转移”,即发生转移取时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线 的少数几条指令继续完成。如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。

转移预测法 :用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行,以获得良好的效果。

四、pentium CPU

1、pentium的技术性能

  pentium是Intel公司生产的超标量流水处理器。CPU的主频是片外主总线时钟频率的倍频。

  CPU内部的主要寄存器宽度为32位,故认为它是一个32位微处理器。但它通向存储器的外部数总线宽度为64位,每次总线操作可以同时传输8个字节。CPU支持多种类型的总线周期,其中一种称猝发模式,在此模式下,可在一个总线周期内读出或写入256位(32字节)的数据。

  CPU外部地址总线宽度是36位,但一般使用32位宽,故物理地址空间为4096MB(4GB)。虚拟地址空间为64TB,分页模式除支持4KB页面外(与486相同),还支持2MB和4MB页面。其中2MB页面的分页模式必须使用36位地址总线。

CPU内部分别设置指令cache和数据cache,外部还可接L2cache。CPU采用U,V两条指令流水线,能在一个时钟周期内发射两条简单的整数指令,也可发射一条浮点指令。操作控制器采用硬布线控制和微程序控制相结合的方式。大多数简单指令用硬布线控制实现,在一个时钟周期内执行完毕。对微程序实现的指令,也在2—3个时钟周期内执行完毕。

pentium具有非固定长度的指令格式,9种寻址方式,191条指令,但是在每个时钟周期又能执行两条指令。因此它具有CISC和RlSC两者的特性,不过具有的CISC特性更多一些,因此被看成为一个CISC结构的处理器。以CISC结构实现超标量流水线,并有BTB方式的转移预测能力。

2、奔腾CPU的结构框图

CPU的结构框图请参见教材。

(1)超标量流水线

•超标量流水线是pentium系统结构的核心。它由U和V两条指令流水线构成,每条流水线都有自已的ALU、地址生成电路、与数据cache的接口。两个指令预取缓冲器,每个都是32字节,负责由指令cache或主存取指令并放入其中。

•指令译码器除完成译码指令和指令配对检查。

•控制ROM属于微程序控制器,其中存放一组解释指令操作顺序的微指令代码。

•两个地址生成器用于计算存储器操作数地址。

(2)指令cache和数据cache

  奔腾CPU分设指令cache和数据cache,各8KB。指令cache是只读的,以单端口256位(32B)向指令预取缓冲器提供超长指令字代码。数据cache是可读可写的,双端口,每个端口32位,与U,V两条流水线交换整数数据,或组合成一个64位端口与浮点运算部件交换浮点数据。

  两个cache都是2路组相联结构,每个32字节。

  指令cache与数据cache独立设置是对标量流水线的有力支持,它不仅使指令预取和数据读写能无冲突地同时完成,而且可同时与U,V两条流水线分别交换数据。

(3)浮点运算部件

  奔腾CPU内部包含了一个8段的流水浮点运算器。前4段为指令预取(PF)、指令译码(D1) 、地址生成(D2)、取操作数(EX),在U,V流水线中完成;后4段为执行1(X1)、执行2(X2)、 结果写回寄存器堆(WF)、错误报告(ER),在浮点运算部件中完成。一般只能由U流水线完成一条浮点数操作指令。 

(4)动态转移预测技术

  执行转移指令时为了不使流水线断流,pentium采用了动态转移预测技术。转移目标缓冲器BTB一个小容量的cache。当一条指令导致程序转移时,BTB便记录这条指令及其转移目标地址。以后遇到这条转移指令时,BTB会依据前后转移发生的历史来预测该指令这次是转移取还是顺序取。若预测为转移取,则将BTB记录的转移目标地址立即送出可用。

你可能感兴趣的:(大数据)