嵌入式基础知识-流水线

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

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

嵌入式基础知识-流水线_第1张图片

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

1 计算机中的流水线概念

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

其特点归纳包括:

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

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

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

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

嵌入式基础知识-流水线_第2张图片

3 流水线实例分析

3.1 实例1

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

嵌入式基础知识-流水线_第3张图片

5+2+3+5x99=505

3.2 实例2

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

嵌入式基础知识-流水线_第4张图片

4+2+3+4x99=405

4 总结

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

你可能感兴趣的:(嵌入式系统基础,嵌入式,流水线)