我的编程空间,编程开发者的网络收藏夹
学习永远不晚

计算机流水线技术分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

计算机流水线技术分析

  计算机系统结构研究、分析的目的就是为了提高计算机性能,为此,我们采用了许多提高性能的设计思想和技术。流水线技术就是其中最重要的设计思想之一。流水线技术在现代的计算机系统结构中是最普遍的1种技术。

  流水线技术的基本思想在冯·诺依曼(VonNeumann)归纳的第一台存储程序计算机中已经提出。1946年Burks等人提出的运算与输入/输出重叠操作是当今计算机中广泛使用的流水线技术的原始雏形。尽管冯·诺依曼没有在他设计的第一台计算机中实现输入/输出功能,但当磁芯存储器第一次出现,并作为主要存储介质后,流水线设计思想迅速发展。

计算机流水线技术分析_流水线技术_计算机_数据存储_编程学习网教育

  流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。

  流水线(pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。

  流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。

  流水线具体分类:

  流水线功能繁杂,种类也非常多;如果按照处理级别来分类,流水线可以有操作部件级、指令级和处理机级;如果按照流水线可以完成的动作的数量来分类,又可以分为单功能和多功能流水线;如果按照流水线内部的功能部件的连接方式来分类,则有线性流水线和非线性流水线;按照可处理对象来分类,还可以有标量流水线和向量流水线。

  1、按处理级别分:

  功能部件级:在实现较为复杂的运算时采用

  指令级:将一条指令执行过程分为多个阶段

  处理器间级:每个处理器完成其专门的任务。

  2、按完成的功能分类:

  单功能流水线:只完成一种如乘法或浮点运算等,多用于数字信号处理器(DSP),各处理器可并行完成各自的功能,加快整机处理速度。

  多功能流水线:在不同情况下可完成不同功能

  3、按连接的方式分类:

  静态流水线:同一时间内,多功能结构只能按一种功能的连接方式工作。

  动态流水线:同一时间内,可以有多种功能的连接方式同时工作。

  4、按处理的数据类型分类:

  标量流水线:一般数据

  向量流水线:矢量数据。X+Y=Z每一个代表一维数据。

  5、流水线结构上分类:

  线性流水线:指各功能模块顺序串行连接,无反馈回路,如前面介绍的。

  非线性流水线:带有反馈回路的流水线。

流水线功能繁杂,种类也非常多;如果按照处理级别来分类,流水线可以有操作部件级、指令级和处理机级;如果按照流水线可以完成的动作的数量来分类,又可以分为单功能和多功能流水线;如果按照流水线内部的功能部件的连接方式来分类,则有线性流水线和非线性流水线;按照可处理对象来分类,还可以有标量流水线和向量流水线。    1、按处理级别分:    功能部件级:在实现较为复杂的运算时采用    指令级:将一条指令执行过程分为多个阶段    处理器间级:每个处理器完成其专门的任务。    2、按完成的功能分类:    单功能流水线:只完成一种如乘法或浮点运算等,多用于数字信号处理器(DSP),各处理器可并行完成各自的功能,加快整机处理速度。    多功能流水线:在不同情况下可完成不同功能    3、按连接的方式分类:    静态流水线:同一时间内,多功能结构只能按一种功能的连接方式工作。    动态流水线:同一时间内,可以有多种功能的连接方式同时工作。    4、按处理的数据类型分类:    标量流水线:一般数据    向量流水线:矢量数据。X+Y=Z每一个代表一维数据。    5、流水线结构上分类:    线性流水线:指各功能模块顺序串行连接,无反馈回路,如前面介绍的。    非线性流水线:带有反馈回路的流水线。

  ARM7处理器核使用了典型三级流水线的冯·诺伊曼结构,ARM9系列则采用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能。ARM7的三级流水线在执行单元完成了大量的工作,包括与操作数相关的寄存器和存储器读写操作、ALU操作以及相关器件之间的数据传输。执行单元的工作往往占用多个时钟周期,从而成为系统性能的瓶颈。ARM9采用了更为高效的五级流水线设计,增加了2个功能部件分别访问存储器并写回结果,且将读寄存器的操作转移到译码部件上,使流水线各部件在功能上更平衡;同时其哈佛架构避免了数据访问和取指的总线冲突。

  ARM7流水线技术

  ARM7系列处理器中每条指令分取指、译码、执行三个阶段,分别在不同的功能部件上依次独立完成。取指部件完成从存储器装载一条指令,通过译码部件产生下一周期数据路径需要的控制信号,完成寄存器的解码,再送到执行单元完成寄存器的读取、ALU运算及运算结果的写回,需要访问存储器的指令完成存储器的访问。流水线上虽然一条指令仍需3个时钟周期来完成,但通过多个部件并行,使得处理器的吞吐率约为每个周期一条指令,提高了流式指令的处理速度,从而可达到O.9MIPS/MHz的指令执行速度。

  在三级流水线下,通过R15访问PC(程序计数器)时会出现取指位置和执行位置不同的现象。这须结合流水线的执行情况考虑,取指部件根据PC取指,取指完成后PC+4送到PC,并把取到的指令传递给译码部件,然后取指部件根据新的PC取指。因为每条指令4字节,故PC值等于当前程序执行位置+8。

  ARM9流水线技术

  ARM9系列处理器的流水线分为取指、译码、执行、访存、回写。取指部件完成从指令存储器取指;译码部件读取寄存器操作数,与三级流水线中不占有数据路径区别很大;执行部件产生ALU运算结果或产生存储器地址(对于存储器访问指令来讲);访存部件访问数据存储器;回写部件完成执行结果写回寄存器。把三级流水线中的执行单元进一步细化,减少了在每个时钟周期内必须完成的工作量,进而允许使用较高的时钟频率,且具有分开的指令和数据存储器,减少了冲突的发生,每条指令的平均周期数明显减少。

  流水线技术提高了处理器的并行性,与串行CPU相比大大提高了处理器性能。通过调节指令序列的方法又能够有效地避免流水线冲突的发生,从而提高了流水线的执行效率。

  1.流水线深度(级数)增加所带来的影响。

  ARM7采用3级流水线,ARM9采用5线流水线,ARM10采用6级流水线,但是随着流水线深度的增加,指令的吞吐量提高了,每一段的工作量被消减了,使得处理器可以工作在更高的频率,同时也改善了性能,但系统延时(latency)也增加了,这是因为在内核执行一条指令前,需要更多的周期来填充流水线。并且,时钟频率的增加,指令执行周期也相应缩减了,这就要求减小指令执行周期的时间,也就对硬件设计带来了更大的要求。所以,流水线深度并不是越深越好。

  2.流水线执行特点

  ARM流水线的一条指令只有在完全通过”执行”阶段才被处理。这句话很重要,也就是说,当处理器开始取第四条指令时,第一条指令才完成执行。我们如果不考虑流水线的设计,只看它的原理,其实是很简单的,他的复杂之处在于发生流水线冒险时,如何保证其工作得仍然很好。

  流水线冒险一般分为控制冒险和数据冒险,而数据冒险一般可分为阻塞(即下一条指令依赖于前一条指令的结果)、分支和跳转、异常(异常和中断)。由于ARM是硬件flush流水设计的,当发生冒险时,会暂停取指,然后清流水,(MIPS解决冒险通常依赖于编译器,比如插入一条NOP指令及重新排列指令序列)。

 1.流水线深度(级数)增加所带来的影响。    ARM7采用3级流水线,ARM9采用5线流水线,ARM10采用6级流水线,但是随着流水线深度的增加,指令的吞吐量提高了,每一段的工作量被消减了,使得处理器可以工作在更高的频率,同时也改善了性能,但系统延时(latency)也增加了,这是因为在内核执行一条指令前,需要更多的周期来填充流水线。并且,时钟频率的增加,指令执行周期也相应缩减了,这就要求减小指令执行周期的时间,也就对硬件设计带来了更大的要求。所以,流水线深度并不是越深越好。    2.流水线执行特点    ARM流水线的一条指令只有在完全通过”执行”阶段才被处理。这句话很重要,也就是说,当处理器开始取第四条指令时,第一条指令才完成执行。我们如果不考虑流水线的设计,只看它的原理,其实是很简单的,他的复杂之处在于发生流水线冒险时,如何保证其工作得仍然很好。    流水线冒险一般分为控制冒险和数据冒险,而数据冒险一般可分为阻塞(即下一条指令依赖于前一条指令的结果)、分支和跳转、异常(异常和中断)。由于ARM是硬件flush流水设计的,当发生冒险时,会暂停取指,然后清流水,(MIPS解决冒险通常依赖于编译器,比如插入一条NOP指令及重新排列指令序列)。

  流水线性能指标:

  衡量一种流水线处理方式的性能高低的书面数据主要由吞吐率、效率和加速比这三个参数来决定。

  吞吐率

  指的是计算机中的流水线在特定的时间内可以处理的任务或输出数据的结果的数量。流水线的吞吐率可以进一步分为最大吞吐率和实际吞吐率。它们主要和流水段的处理时间、缓存寄存器的延迟时间有关,流水段的处理时间越长,缓存寄存器的延迟时间越大,那么,这条流水线的吞吐量就越小。因为,在线性流水线中,最大吞吐率Tpmax=流水线时钟周期△T/1=max(T1,...Ti,..Tm)+T1/1,而其中,m是流水线的段数,i是特定过程段执行时间。如果,一条流水线的段数越多,过程执行时间越长,那么,这条流水线的理论吞吐率就越小。

  由此,要对于流水线的瓶颈部分的处理主要在于减少流水段的处理时间。实现的方法一般有两种:

  1、把瓶颈部分的流水线分拆,以便任务可以充分流水处理。流水段的处理时间过长,一般是由于任务堵塞造成的,而任务的堵塞会导致流水线不能在同一个时钟周期内启动另一个操作,可以把流水段划分,在各小流水段中间设置缓存寄存器,缓冲上一个流水段的任务,使流水线充分流水。假如X流水段的处理时间为3T,可以把X流水段再细分成3小段,这样,每小段的功能相同,但是处理时间已经变成3T/3=T了。

  2、在瓶颈部分设置多条相同流水段,并行处理。对付流水段的处理时间过长,还有另外一种方法,那就是把瓶颈流水段用多个相同的并联流水段代替,在前面设一个分派单元来对各条流水段的任务进行分派。仍然假设瓶颈流水段的处理时间是△3T,那么经过3条并联流水段的同时处理,实际需要的时间只是△T。这样,就达到了缩短流水段处理时间,但这种方法比较少以采用,因为要3段相同的流水段并联,成本较高,而且,分派单元会比较麻烦处理。

  加速比

  是指某一流水线如果采用串行模式之后所用的时间T0和采用流水线模式后所用时间T的比值,数值越大,说明这条流水线的工作安排方式越好。

  效率

  使用效率:指流水线中,各个部件的利用率。由于流水线在开始工作时存在建立时间;在结束时存在排空时间,各个部件不可能一直在工作,总有某个部件在某一个时间处于闲置状态。用处于工作状态的部件和总部件的比值来说明这条流水线的工作效率。

  小编结语:

  以上就是计算机流水线技术的相关知识!是不是跟自己想象中的一样呢?更多内容请到编程学习网教育官网进行浏览!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

计算机流水线技术分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

计算机流水线技术分析

  计算机系统结构研究、分析的目的就是为了提高计算机性能,为此,我们采用了许多提高性能的设计思想和技术。流水线技术就是其中最重要的设计思想之一。流水线技术在现代的计算机系统结构中是最普遍的1种技术。  流水线技术的基本思想在冯·诺依曼(VonNeumann)归纳的第一台存储程序计算机中已经提出。1946年
计算机流水线技术分析

信息系统项目管理中的预测技术题计算题案例分析

  信息产业部人事部组织的软件测试中新增的一个测试就是“信息项目管理工程师”。软考试全称全国计算机技术和软件专业技术资格(水平)考试,该信息项目管理工程师分为该考试信息系统专业,具有高级资格。这是信息产业部和人事部在最新一期《国家统计局2009139号文件》中增加的专业。信息系统项目管理主要从事
信息系统项目管理中的预测技术题计算题案例分析

2021下半年湖北计算机软件水平考试报名网站:中国计算机技术职业资格网

《2021下半年湖北计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过湖北软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021下半年湖北计算机软件水平考试报名网站:中国计算机技术职业资格网
2024-04-02

2021上半年吉林计算机软件水平考试报名网址:中国计算机技术职业资格网

《2021上半年吉林计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过吉林软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021上半年吉林计算机软件水平考试报名网址:中国计算机技术职业资格网
2024-04-02

2021下半年天津计算机软件水平考试报名网站:中国计算机技术职业资格网

《2021下半年天津计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过天津软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021下半年天津计算机软件水平考试报名网站:中国计算机技术职业资格网
2024-04-02

2021下半年贵州计算机软件水平考试报名网站:中国计算机技术职业资格网

《2021下半年贵州计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过贵州软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021下半年贵州计算机软件水平考试报名网站:中国计算机技术职业资格网
2024-04-02

2021上半年宁夏计算机软件水平考试报名网址:中国计算机技术职业资格网

《2021上半年宁夏计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过宁夏软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021上半年宁夏计算机软件水平考试报名网址:中国计算机技术职业资格网
2024-04-02

2021下半年青海计算机软件水平考试报名网站:中国计算机技术职业资格网

《2021下半年青海计算机技术与软件专业技术资格(水平)考试工作通知》现已公布,报考人员需在规定时间内容通过青海软考中级职称报名:“中国计算机技术职业资格网”按照系统要求注册报名!  报考人员按要求注册、填报报考信息、上传近期免冠照片,保存提交,通过照片审核后网上交费即完成报名。  《计算机技术与软件专业技术资格(水平
2021下半年青海计算机软件水平考试报名网站:中国计算机技术职业资格网
2024-04-02

编程热搜

  • 华为高级工程师认证费用
      华为高级工程师认证费用是多少?华为高级工程师认证要多少钱?华为高级工程师认证是华为认证体系中用于标识个人能力在某一技术领域达到高级工程师级别的证明,认证费用为200美金,通过考试取得的证书3年有效。  华为高级工程师认证费用是必修方向和选修方向的总和,其中必修方向认证费用为300美金,选修方向认证费用为180美金。
    华为高级工程师认证费用
  • 2024年初级软考上半年考试时间安排
    初级软考每年安排两次考试,2024年初级软考上半年考试时间已公布,2024年初级软考上半年考试时间为5月25-28日。2024年初级软考上半年报名时间及入口:根据往年各省初级软考报名时间来看,2024年上半年初级软考报名时间3月份开始,具体请考生关注全国各省2024上半年软考报名时间及入口汇总表,希赛小编将及时为大家更
    2024年初级软考上半年考试时间安排
  • HCIA证书和HCIE哪个比较好?
      HCIA证书和HCIE哪个比较好?华为认证包含三个等级,分别是HCIA(华为认证网络工程师)、HCIP(华为认证网络资深工程师)、HCIE(华为认证互联网专家)认证。  HCIA(Huawei Certified ICT Associate )即华为认证ICT工程师,是华为职业认证中用于标识个人能力在某一技术领域达
    HCIA证书和HCIE哪个比较好?
  • 教你在PPT中创建好看的镜像效果
      当我们在阅读杂志书刊,或者看电影的时候常常都会看到像下图一样的原图片与图片镜像的组合效果的图片,在很多的摄影作品中也会有,我们其实也可以在PPT中轻松实现这种应用于各大媒介的图文特效技巧,不信的话我们一起来学习一下,操作过程其实并不复杂!  下面我们就开始我们的具体操作步骤了,首先第一步,我们需要先打开PowerP
    教你在PPT中创建好看的镜像效果
  • 多媒体应用设计师可以提前交卷吗
      可以。但是多媒体应用设计师提前交卷有时间限制,根据软考的考场规则,按照人力资源和社会保障部文件规定,开考5分钟后应试人员一律禁止入场。专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  软考多媒体应用设计师属于专业技术人员资格考试,专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  根据
    多媒体应用设计师可以提前交卷吗
  • 全国计算机二级C语言程序设计章节练习题及答案(1)
      对于备考计算机二级C语言考试的考生可以多做试题,一方面了解往年考试题型,一方面熟悉往年考点。今天编程学习网小编给大家准备了全国计算机二级C语言程序设计章节练习题及答案(1),供考生们练习。  点击查看:全国计算机二级C语言程序设计章节练习题及答案汇总  判断题  ×1.C++语言和C语言都是面向对象的程序设
    全国计算机二级C语言程序设计章节练习题及答案(1)
  • 广西2024上半年计算机软考什么时候报名?
    广西2024上半年计算机软考3月25日开始报名,具体报名时间见全国各省2024上半年软考报名时间及入口汇总表。2024上半年广西软考考试采用网络报名的方式,考生在规定的报名时间内进入中国计算机技术职业资格网,点击页面右下方的报名入口,进入全国计算机技术与软件专业技术资格(水平)考试网上报名平台,选择“广西”入口后点击进
    广西2024上半年计算机软考什么时候报名?
  • 软考可以申请退税吗
      可以。软考证书是可以抵扣个税的,按照个税6项专项附加扣除标准,在取得软考证书的当年,可以按照3600元定额扣除。  软考证书可以抵扣个税,根据国务院印发的《个人所得税专项附加扣除暂行办法》,第三章继续教育包含三条,具体内容如下:  第八条 纳税人在中国境内接受学历(学位)继续教育的支出,在学历(学位)教育期间按照每
    软考可以申请退税吗
  • win10如何正确禁用IPv6网络协议
       在Windows Vista和Server 2008开始,微软包括本地支持的IPv6(互联网协议第6版),并默认启用。IPv6是新的计算机的地址协议,最终将取代IPv4这是目前最流行的标准。win10中默认开启了对IPv6协议的支持,但是会影响到系统运行速度和磁盘占有率等。除非你的网络有IPv
    win10如何正确禁用IPv6网络协议
  • 2020年数据库系统工程师上午真题及答案解析
      2019上半年数据库系统工程师考试已结束,今天编程学习网小编为大家整理了2020年数据库系统工程师上午真题及答案解析,以便大家了解2020下半年数据库系统工程师基础知识考试真题。  软考数据库系统工程师上午考试为基础知识,编程学习网小编为大家整理了2020年数据库系统工程师上午真题,想知道答案和解析的考生可以直接进入在线题
    2020年数据库系统工程师上午真题及答案解析

目录