流水线技术

一、出现流水线原因

因为顺序方式和重叠方式存在着一定的缺陷,因此为了解决这些问题出现了流水方式

二、流水线概述

流水线是仅仅在程序运行时多条指令重叠进行操作的一种准并行处理实现技术。它是把一个反复的过程分解为若干子过程,让多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部件,以赢得处理速度,所以流水线使用的是时间并行。也就是说准并行并非真正的并行。

此外,流水线提高的是部件的利用率和指令的平均运行速度。单个指令运行的速度没有提高。

三、流水线分类

四、流水线的弊端

由于流水线解释多条指令。这些指令可能有对同一主存单元或同一寄存器的“先写后读”问题的要求,出现了相关性。

相关冲突还能够分为:资源相关(相应的是结构冒险)、数据相关(相应数据冒险)、控制相关(相应控制冒险)

五、衡量流水线的相关

1、吞吐率:单位时间内流水线所完毕的任务数量或输出的结果数量。

2、加速比:完毕相同一批任务,不使用流水线所用的时间与使用流水线所用的时间之比

3、效率:流水线的设备利用率。在时空图上,流水线的效率定义为n任务占用的空间区

与k个流水段总的时空区之比。

  

六、拓展

RISC中採用的流水线技术有三种:

时间: 2024-10-17 06:04:15

流水线技术的相关文章

Intel系列CPU的流水线技术的发展

Intel系列CPU的流水线技术的发展 CPU(Central processing Unit),又称“微处理器(Microprocessor)”,是现代计算机的核心部件.对于PC而言,CPU的规格与频率常常被用来作为衡量一台电脑性能强弱重要指标. 在提高CPU计算能力的过程中,流水线技术对提高CPU的效率产生了显著作用,就像流水生产在汽车制造业中一样,它对处理器的发展影响深远. Intel公司创于1968年美国,纵观IT发展史,很少能有公司能像Intel这样屹立多年仍旧保持强大生命力的.作为现

采用流水线技术实现8位加法器

说明      本文基于FPGA和CPLD器件,采用非流水线和流水线技术实现8位加法器,并对比其Quartus II仿真结果和波形时序.      器件选择: Stratix:EP1S40F1020C5(FPGA) MAX7000S:EPM7064SLC44-5(CPLD) 实验一  FPGA实现8位加法器 程序清单: 1 /*******************8位加法器(非流水线)***********************/ 2 module adder_nonpipe(cout, su

计算机系统结构 流水线技术-向量

一.向量处理方式 1)横向处理方式 2)纵向处理方式 3)纵横处理方式 下面以计算表达式 D = A * ( B + C ) (1)横向处理方式 逐个求出结果向量的各个元素 d1=a1×(b1+c1) d2=a2×(b2+c2) - dN=aN×(bN+cN) 逐个求D中的N个分量,先进行相加k←b1+c1,其中k为暂存单元,然后相乘d1←k×a1 . 在每个向量元素的加乘运算中,都会发生数据相关的情况,而且当采用静态流水线时,还要进行2次 乘和加功能的转换.这样共会出现N次相关和2N次功能转换

计算机系统结构 流水线技术-标量

一.重叠执行和先行控制 一条指令的执行过程: (1)取指令:按照指令计数器PC的内容访问主存,取出一条指令送到指令寄存器. (2)分析指令:对指令的操作码进行译码,按照给定的寻址方式和地址字段形成操作数的地址,并用这个地址读取操作数. 操作数可能在主存中,也可能在通用寄存器中. (3)执行指令:按照操作码的要求,完成指令规定的功能. 1.1 重叠执行 当有多条指令要在处理机中执行时,可以有以下三种执行方式 (1)顺序执行 取指令k -> 分析指令k -> 执行指令k -> 取指令k+1

CI-持续集成(2)-软件工业“流水线”技术实现

1   概述 持续集成(Continuous Integration)是一种软件开发实践.在本系列文章的前一章节已经对其背景及理论体系进行了介绍.本小节则承接前面提出的理论构想进行具体的技术实现. <Google软件测试之道>: "每天,Google都要测试和发布数百万个源文件,亿万行代码.数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行.面对这些看似不可能完成的任务,谷歌是如何测试的呢?" 希望看完此文章的人,能够自己找到自己的答案. 2   

CI-持续集成(2)-软件工业“流水线”技术实现(转)

1   概述 持续集成(Continuous Integration)是一种软件开发实践.在本系列文章的前一章节已经对其背景及理论体系进行了介绍.本小节则承接前面提出的理论构想进行具体的技术实现. <Google软件测试之道>: "每天,Google都要测试和发布数百万个源文件,亿万行代码.数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行.面对这些看似不可能完成的任务,谷歌是如何测试的呢?" 希望看完此文章的人,能够自己找到自己的答案. 2   

ARM流水线关键技术分析与代码优化

引 言    流水线技术通 过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一.ARM7处理器核使用了典型三级流 水线的冯·诺伊曼结构,ARM9系列则采用了基于五级流水线的哈佛结构.通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能. ARM7的三级流水线在执行单元完成了大量的工作,包括与操作数相关的寄存器和存储器读写操作.ALU操作以及相关器件之间的数据传输.执行单元的工作往 往占用多个时钟周期,从而成为系统性能的瓶颈

浅谈分支预测、流水线与条件转移(转载)

一 一个问题 原文链接:http://www.cnblogs.com/yangecnu/p/4196026.html#undefined 在StackOverflow上有这么一个问题 Why is processing a sorted array faster than an unsorted array? .例子中,对一个数组进行条件求和,在排序前和排序后,性能有很大的差别.原始的例子是C++和Java的,这里将其换成了C# : static void Main(string[] args)

流水线设计

20世纪80年代,流水线技术成为RISC处理器设计方法中最基本的技术之一,RISC的设计多以高流水为目标设计. 而后流水线技术也被应用到CISC处理器 在流水线的发展史上主要有两种流水线,算术流水线和指令流水线. 首先通过算术流水线的例子,介绍流水线理想假设. 流水线意味着将系统分割为许多段,段与段之间增加合适的缓冲,这样每隔D/K个时间单位就可以启动新的任务,而不是每隔D个时间单位. 流水线并不能被无限制的增加下去,因为时钟的限制(setup time/clock uncertainty),流