Computer的流水管理进程同工厂中的流水装配线相像。为了促成流水,首先必需把输入的职务分割为后生可畏密密层层的子任务,使各子职务能在流水生产线的逐意气风发阶段现身地施行。将任务三回九转不停地输入流程,进而达成了子任务的互相。由此流水管理小幅地订正了计算机的种类质量,是在电脑上贯彻时间并行性的意气风发种非凡划算的方法。

本文导读:

流程的法则。流水生产线的基本原理是把贰个再次的进度分解为多少个子进度,前贰个子进度为下二个子进度创立实践基准,每叁个进度能够与此外子进度还要张开。流水生产线各段实行时间最长的这段为整个工艺流程的瓶颈,平时地,将其实行时间称为流水生产线的周期。加速比
= 接收流水线后的进程/未选用流水生产线的进度。=
未使用流水生产线的小时/接纳流水生产线后的时间。流水生产线的设施利用率,在时空图上突显为n个职分占用的时间和空间区与k个
功效段总的时间和空间区之比。

一、并行技术
1.并行技术分类
2.新技术的设计与实现
3.指令周期

二、流水线技术
1.什么是流水线
2.指令重叠方式
3.流水工作设计
4.流水线的描述方法(时空图)
5.流水线特点

三、流水线的分类(了解)

四、流水线相关及冲突(重点)
1.流水线相关
2.流水线冲突
3.流水线冲突带来问题
4.数据冲突及其解决方案
5.结构冲突及其解决方案
6.控制冲突及其解决方案

五、流水线性能分析(含例题讲解)
1.流水线的基本参数——吞吐率
2.流水线的基本参数——加速比
3.流水线的基本参数——效率
4.结果分析
5.有关流水线性能的若干问题

六、循环展开优化
1.指令调度
2.循环展开

七、多指令流出技术(拓展了解)
1.超标量
2.超长指令字

 

一、互相手艺

  1. 现流行的相互本事大约能够从多少个地点落实:
  • 资源重复:如多核
  • 财富分享:如CPU分时能力
  • 时间重叠:如流水线手艺

 

  1. 新技术的筹算与落到实处
  • 引进新技能进行优化
  • 现身新主题材料
  • 斩草除根新主题材料

           选取部分体制能够解决

           权衡

  • 意气风发体化评估、反馈、再修改

 

  1. 命令周期
  • 单周期管理机模型:叁个周期完毕二个命令(每一种周期是等长的卡塔 尔(阿拉伯语:قطر‎,指令长度大概不相似,会促成一点都不小的浪费
  • 多周期管理机模型:将二个命令的成功划分成若干个周期来落实
  • 流程模型

金沙电子艺游9159 1

 

二、流水生产线本领

     1. 什么是流程?

  •  计算机中的流水生产线是把多少个重新的历程分解为多少身长进程,各种子进度与其余子进程并行实行。由于这种专门的学业方法与工厂中的坐褥流水生产线拾壹分相像,
    由此称为流水生产线工夫
  • 从精气神儿上讲,流水生产线技能是风流倜傥种时光并行技巧。

 

     2.限令重叠方式

  • 逐大器晚成实行:调控简单,节省设备;不过速度慢,功用零件的利用率低
  • 痴肥施行方式 :指令的举办时间减少 ,作用构件的利用率分明拉长;但是供给充实部分硬件;调节进程稍复杂

 

     3.流水生产线专门的学业规划

  • 主导观念:延伸重叠情势,使指令解释进度越是细化,
    进步各零部件的利用率,以拉长指令实行进程
  • 美好目的:达成职分的年月与操作管理进度非亲非故,只与提供操作的进程有关(固然二个职务有n个指令,将做到三个指令分为m个段,每段实行时间为△t
    ,则能够指标是成功任务的时刻是T=m△t+(n-1)△t;当n >>
    m时,T=(n-1)△t。 指令奉行功能为  1 / △t: 即
    与m毫不相关,只和提供操作的进度△t有关卡塔尔国。

 

     4.流水生产线的描述方法

  • 时间—空间图 **

           横坐标:表示时间,即种种职分在工艺流程中所经过的时日

           纵坐标:表示空间,即流水线的相继子进程,也称为级、
段、流水生产线深度(Stage)

 金沙电子艺游9159 2

  • 时间—空间图 Ⅱ
     横坐标:表示时间,即种种职分或指令在流水生产线中
    所在该时刻所对应的子进程

     纵坐标:表示某些义务或某条指令,即流水生产线依次 管理的职务或指令

金沙电子艺游9159 3

 

     IF:Instruction
Fetch,取指令,用到零部件:指令存款和储蓄器,Adder(
全加器,full-adder,是用门电路兑现多少个二进制数相加并求出和的整合线路,称为一人全加器。一人全加器能够拍卖低位进位,并出口本位加法进位。多个一个人全加器进行级联能够拿到多位全加器。常用二进制四人全加器74LS283卡塔尔国

     ID:Instruction
Decode,译码(应该是取数同期译码的进度卡塔尔国,用到零器件:指令译码器贮存器堆读口(那中间的贮存器堆的读口和写口能够当做七个例外的零件卡塔 尔(英语:State of Qatar),那块有大气寄放器,WB也是从写口将数据写到那块的寄放器中。

     EX:Exec,执行,计算内部存款和储蓄器单元地址。用到零件:ALU,扩张器

     MEM:访存,从数据存款和储蓄器中读。用到零器件:数据存款和储蓄器。

     WB:Write
Back,写回,将数据写到贮存器中。用到零件:寄存器堆写口。

 

  • 干活流程:分装入、流水、排空 多少个流程

  • 联手管理:功效构件 + 锁存器

金沙电子艺游9159 4

  • 硬件供给:

          独立职业的各子成效构件;

          各构件管理时间尽量相等,争取最大专业频率;

          消除访存冲突,即允许不相同指令的还要读、写成效;

          化解协作难点,保险以同黄金时代的进程管理

 

     5.流水线特点

          在流程微电脑中,三翻五次职责是充裕发挥流水生产线的频率必要条件之大器晚成

        
 叁个任务的实施进度能够分开成五个有牵连的子职责,各类子职责由二个专程的作用零件实现

          各种功效零件前边都有缓冲存款和储蓄构件,用于缓冲本步骤的执行结果

        
 同期有三个职分在实行;各个子义务的功能零部件并行专门的工作,但各类职能零件上正在进行的是莫衷一是的天职

          各子职分推行的时刻应竭尽临近

          流水生产线有装入时间和排空时间,只有流水生产线完全充满时,
流水生产线的频率能获得丰盛发挥

 

三、流水生产线的归类(驾驭卡塔尔国

     1.按拍卖等第

         操作级流水操作重叠

         指令级流水指令推行重叠

         微机级(宏流水生产线卡塔尔国职责重叠

金沙电子艺游9159 5

 

     2.按成效分

         单功效流水线:流水生产线只完成风流洒脱种长久功用

        
多效果与利益流水生产线:流水生产线能够做到各类效应,如 TI公司的ASC机,8段流水生产线,能够贯彻:定点加减
法、定点乘法、浮点加法等功能

 

     3.按同时内各段之间的接连形式分

         静态多效果与利益流水生产线:同时内,多效益结构只好按黄金时代种效应的连年方式行事。

        
动态多职能流水生产线:在同期内,能够有五种效能的连续几日格局同临时常候工作

 

     4.按拍卖的数据类型

      标量流水生产线

      向量流水生产线

 

    5.按调整措施

     同步流水线

     异步流水生产线:当Si成效段要向Si+1段传送数据时,首
头阵出就绪信号,Si+1作用段收到复信号后,向Si回送 二个回复时限信号。

 

    6.按职务从输出端的流出顺序

     顺序流水情势:指令流出顺序 = 指令流入顺序

     乱序流水情势:指令流出顺序  !=  指令流入顺序

 

    7. 线性流水生产线——不带反馈回路的流程

金沙电子艺游9159 6

       非线性流水生产线——带反馈回路的流水生产线

 金沙电子艺游9159 7

      线性流水生产线和非线性流水线相比较

      相通的地方 : 都有从第七个功用段到结尾贰个意义段的单向传输线。

      分化之处 :

           非线性流水生产线平日有前馈线路或报告线路;

          
非线性流水生产线的输出端平时不在最后四个效益段,而也许从西路的随机叁个意义段输出。

           任务经过流水生产线时,恐怕要再三通过同生龙活虎作用段。

          
仅用效应段之间的一而再再而三图并无法理解地陈诉三个非线性流水生产线。平日供给连接图和一张预订表协同描述。

 

四、流水生产线相关及冲突(入眼卡塔尔国

金沙电子艺游9159 8

金沙电子艺游9159, 

     1.流程相关(dependence卡塔 尔(阿拉伯语:قطر‎: 两条指令之间存在某种重视关系。

  • 多少相关

        先写后读:前面指令用到前边指令的结果

        或间接使用

  • 名相关:换名技能

        使用相符的贮存器或存储器单元名称/地址

        反相关:先读后写

        输出相关:先写后写

        真相关:先写后读

  • 调节相关

        由支行指令引起的有关

 

     2.流程冲突(hazards)

     
  流水生产线矛盾是指对于具体的流程来讲,由于”相关”的存在,使得指令流中的下一条指令不可能在钦定的石英钟周期实践

  • 数量冲突:当指令在流程中重叠试行时,因急需利用前边指令的实践结果而发出的冲突

  • 垄断(monopoly卡塔 尔(阿拉伯语:قطر‎冲突:流水生产线境遇分支指令和别的会转移PC值的通令所引起的冲突

  • 结构冲突:因硬件财富满意不断指令重叠推行的必要而发出的冲突,譬如说,前边后边指令同一时间做客存款和储蓄器

 

     3.流水生产线冲突端来难点

  • 产生错误的实行结果
  • 流程恐怕汇合世抛锚,进而减少流水生产线的功用和事实上的加快比
  • 咱俩约定当一条指令被中断时,在该暂停指令之后流出的保有指令都要被搁浅,而在该暂停指令以前流出的一声令下则继续扩充(不然就永久无法清除冲突卡塔 尔(英语:State of Qatar)

 

     4.数目冲突

     举例:  指令一:DADD  R1,R2,R3                 R2 + R3 –> R3

                指令二:DSUB  R4,R1,R5                 R1 – R5 –>
R4

                指令三:XOR   R6,R1,R7                  R1 xor R7
–>R6 

                指令四:AND   R8,R1,R9                  R1 and R9
–>R8 

                指令五:OR    R10,R1,R11               R1 or R11
–> R10

 

     金沙电子艺游9159 9

 

     对上航海用教室的解读:

     以指令意气风发DADD  君越1,中华V2,奥迪Q33为例:

   第二十一日期:首先在IM中抽出加法指令;

   第二周期:在Reg中抽出库罗德2, 福特Explorer3寄存器中的值;

   第三周期:在ALU中做酷路泽2 + GL4503加法运算;

   第四周期:空;

   第五周期:将Enclave2 + 奥德赛3的结果写回到奥德赛1寄放器中;

 

   
 很分明,寄放器Lacrosse1的不利数据是在第一条指令试行到第五周期才发生的,而前面四条指令都用到了甚至于第五周期才发生的普拉多1数据,然而多少指令(指令二、三、四卡塔 尔(阿拉伯语:قطر‎不到第五周期就供给运用项乐1的数目(如指令二的减法指令在第二周期就供给动用PAJERO1的数额卡塔 尔(英语:State of Qatar),那显明是不创造的,会发出多少冲突。上面每一个景况钻探数量冲突及其消弭办法:

 

  • 同叁个周期数据冲突的图景:以指令四AND 
     Tiggo8,Enclave1,CR-V9为例:在第五周期,第一条指令XC602 +
    索罗德3结实正打算写入到汉兰达1中,不过当时第四条指令未来就供给使用科雷傲1(当时哈弗1的值还不是汉兰达1 +
    Evoque2卡塔 尔(阿拉伯语:قطر‎,鲜明会并发难点

        消除办法:采取贮存器读写多少丰硕快的表征,无论是从存款和储蓄器中读依旧写入存储器往往都用持续叁个平安无事周期(事实上半个周期就丰硕完结存放器的读写操作卡塔尔,所以能够设计规定:上涨沿写多少,下跌沿读(取卡塔 尔(阿拉伯语:قطر‎数据。这样一来,在第五周期的进步沿(即第五周期初时刻卡塔 尔(阿拉伯语:قطر‎将奔驰G级2
+
PAJERO3的结果写到Wrangler1寄放器中,在第五周期下跌沿(第五周期末卡塔 尔(英语:State of Qatar)从ENVISION1存放器中抽取数据的办法化解此类数据冲突的难题。

  • 在瑞虎1写入存放器的前二个周期(第四周期卡塔 尔(阿拉伯语:قطر‎就要求利用Wrangler1数据的气象:如命令三
    XOQX56 
     奥迪Q76,Rubicon1,LAND7:这种景况强烈不符合选拔上述化解办法消释。不过足以换二个角度:虽然那时未有任何措施在Reg中收取正确的RAV41值,不过足以从ALU构件出手,因为从Reg抽出讴歌ZDX1数量最后指标正是总结GL4501
    XOKuga 翼虎7,实际上便是计量(昂科拉2 + 智跑3卡塔 尔(英语:State of Qatar) XOHaval福特Explorer7,所以生龙活虎旦保障输入到的ALU中的数据是(奥迪Q32
    +Lacrosse3卡塔 尔(英语:State of Qatar)就足以了,那什么样使(瑞虎2 + CR-V3卡塔尔国的结果输入到ALU参预(GL4502 + CRUISER3卡塔 尔(阿拉伯语:قطر‎ XO中华V本田UR-V7 运算呢?

        消除办法:接纳数码定向路线本事解决!如下图所示(浅灰粗线所示卡塔 尔(阿拉伯语:قطر‎:在第五周期初,对于指令三以来,从Reg读出的失实的奥迪Q51的值将要走入到ALU中参预XOCRUISER运算,当时,我们从DM后拉生机勃勃根线到ALU以前,因为那时刻(第五周期初,即第四周期末卡塔尔国(R2

  • Odyssey3)的结果正处在DM前面,这样一来,(翼虎2 +
    Escort3卡塔尔的结果会由此大家刚拉的那根线传到ALU前,这个时候,大家在进入ALU早前安装叁个多路选通器,不选拔不当的Murano1值,而是精选使用传过来的(库罗德2
    +Sportage3卡塔 尔(英语:State of Qatar)值,难题就解决了!

  •  相符道理,对于指令二:DSUB  Evoque4,ENCORE1,PRADO5,在第四周期初要使用(CRUISER2 +
    PRADO3卡塔尔的值,可以从DM前(大概ALU后卡塔尔拉风流罗曼蒂克根线到ALU前,如深绿线所示,相符能够缓和难题。

金沙电子艺游9159 10

  • 综合,综对于数据冲突以来,能够由此定向技能减量冲突引起的间歇
    (定向技艺也叫做旁路或不通卡塔 尔(阿拉伯语:قطر‎。可是并非怀有的数据冲突都足以用定向技术来清除:如下例:

     LD    R1,0(R2)

     DADD  R4,R1,R5

     AND   R6,R1,R7

     XOR   R8,R1,R9

金沙电子艺游9159 11     
  金沙电子艺游9159 12      

解决上述难点:扩大流水生产线互锁硬件,插入“暂停”(气泡卡塔尔。

 

 

     5.结构冲突

  • 假使某种指令组合因为能源冲突而不可能平常实践,则称该管理机有结构冲突(举个例子说,两条指令在相似周期同不时间做客内部存款和储蓄器,如下图所示卡塔 尔(阿拉伯语:قطر‎
  • 大范围的形成组织有关的原故:

       作用零部件不是完全流水

       财富份数缺乏

金沙电子艺游9159 13

  • 些微流水生产线管理机独有八个存款和储蓄器,将数据和下令放在一块儿,访存指令会诱致访存冲突

     消除办法Ⅰ:插入暂停周期 (“流水生产线气泡”或“气泡”卡塔 尔(英语:State of Qatar) ,如下图所示:

金沙电子艺游9159 14     
 金沙电子艺游9159 15   

       

   消逝方法Ⅱ: 安装相互独立的通令存款和储蓄器(指令Cache
卡塔尔国和数据存款和储蓄器(指令Cache 卡塔 尔(英语:State of Qatar)

  • 不时流水生产线设计者允许结构冲突的存在

          主因:收缩硬件开销: 纵然把流水生产线中的全体机能单元完全流水化,可能再度设置丰富份数,那么所开支的资本将一定高

 

 

  1. 调控冲突                
      

   
 近似于判别、循环、函数调用、递归等关系到跳转的会涉嫌到调节冲突。

 

1               //设s , i 初值都为0;
2                if (i < 10)
3                { 
4 /*指令一:*/       s = s + i;
5 /*指令二:*/       i++;
6                }
7 /*指令三:*/    s = s - 2;

 

 

 

     以此为例,在流水生产线情状中,首西施行命令大器晚成,紧接着实行命令二(当然不是一贯施行高等语言,而是该句高端语言对应的机器语言卡塔 尔(英语:State of Qatar),器重是下一步,依据大家思索,因为当时i
= 1 <
10;所以理应继续实践指令意气风发,不过缺憾计算机很“傻”,它那个时候还真不知道该实践命令一依然指令三,那是干什么?

 

命令编号

原子钟周期

1

2

3

4

5

6

7

DADD 
Rs,  Rs ,Ri

(s = s

  • i )

IF

ID

EX

MEM

WB

 

 

DADD 
Ri,  Ri,  1

( i =
i + 1)

 

IF

ID

EX

MEM