前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式基础知识-流水线

嵌入式基础知识-流水线

作者头像
xxpcb
发布2023-08-22 09:37:55
3300
发布2023-08-22 09:37:55
举报
文章被收录于专栏:码农爱学习的专栏

提到流水线,最先想到的可能是流水线车间中的产品制造过程。

工业上的流水线,又称装配线,指每一个生产单位只专注处理某一个片段的工作,以提高工作效率及产量。

在计算机领域中,也有流水线的概念,其核心原理也是和工业上的流水线一致。

1 计算机中的流水线概念

流水(pipelining),或流水技术,是指把并行性(或并发性)嵌入到计算机系统中,它可以把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作。

其特点归纳包括:

  • 一条流水线通常由多个流水段组成
  • 每段由专用功能部件,各部件顺序连接,不断流
  • 各段时间时间尽量短、并尽量一致,不一致时最慢子过程称为瓶颈
  • 流水线的操作周期,为其最耗时的那段(瓶颈)所需的时间
  • 使用流水线,可同时指向多条指令,提高了各部件的利用率和系统的吞吐率

2 嵌入式ARM中的五级流水线

嵌入式处理器设计中,通常用到五级流水线(如ARM9):

  • 取指(IF):从存储器中取出指令,将其放入指令流水线
  • 译码(ID):对指令进行译码解码
  • 执行(EX):利用逻辑运算单元进行运算的执行
  • 访存(MEM):在需要的情况下,进行数据存储器的访问
  • 回写(WB):将指令产生的结果,回写到寄存器中,包括任何从存储器中读取的数据

3 流水线实例分析

3.1 实例1

某三级流水线,操作步骤包括:取指、分析、执行,每级的执行时间为5、2、3,求从头到尾执行完100条指令所需的时间

代码语言:javascript
复制
5+2+3+5x99=505

3.2 实例2

某三级流水线,操作步骤包括:取指、分析、执行,每级的执行时间为4、2、3,求从头到尾执行完100条指令所需的时间

代码语言:javascript
复制
4+2+3+4x99=405

4 总结

本篇介绍了计算机与嵌入式领域中的流水线概念,并通过实例分析了流水线的处理时间该如何计算。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农爱学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 计算机中的流水线概念
  • 2 嵌入式ARM中的五级流水线
  • 3 流水线实例分析
    • 3.1 实例1
      • 3.2 实例2
      • 4 总结
      相关产品与服务
      数据保险箱
      数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档