首页>>科技 >>内容

简要说明cpu流水线的优点与缺点,CPU流水线优缺点

发布时间:2023-10-02 16:50:22编辑:温柔的背包来源:

很多朋友对简要说明cpu流水线的优点与缺点,CPU流水线优缺点不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

简要说明cpu流水线的优点与缺点,CPU流水线优缺点

为什么有些CPU主频较低,但运行效率较高?比如51单片机的主频是30M,STM32单片机的主频是20M。对于主频较低的STM32来说,执行同一段代码可能需要更短的时间。这就涉及到CPU流水线的问题,本文围绕CPU流水线描述相关内容。1、早期CPU流水线1。装配线的概念来自工业制造领域。以汽车装配为例说明装配线的工作模式,假设装配一辆汽车需要四个步骤:

1.冲压:制作车身外壳、底盘等零件;2.焊接:将冲压后的零件焊接成车身;3.喷漆:车身等主要部件的清洗、化学处理、抛光、喷漆、烘干;4.总装:将所有零件(包括发动机和从外部购买的零件)组装成车辆;

汽车装配需要四个工人:冲压、焊接、喷漆和总装。最简单的方法是,依次完成上述四个步骤后,组装一辆汽车,再组装下一辆汽车。这种原始的方式是在最早的工业制造中采用的,即同一时间只装配一辆汽车。

不久后发现一辆车正在组装,另外三名工人闲置,显然是极大的资源浪费。于是想出了一个有效利用资源的新方法,就是当第一辆车冲压后进入焊接工序,第二辆车的冲压马上开始,而不是等到第一辆车走完了全部四道工序,这样就可以保证四个工人在后续的生产中始终处于运转状态,人员也不会闲着。

这种生产方式就像源源不断的水,所以叫流水线。

2.CPU流水线1989年推出的i486处理器引入了五级流水线。这时,CPU中不再只有一条指令在运行,流水线的每一级都在同时运行不同的指令。这种设计使得i486的性能是同频率的386处理器的两倍以上。在五级流水线的取指令阶段从指令缓存中取出指令(i486中的指令缓存为8kb);第二阶段是解码阶段,将取出的指令翻译成具体的功能操作;

第三阶段是地址传输阶段,用于转换内存地址和偏移量;第四阶段是执行阶段,指令实际执行操作;第五阶段是退出阶段,操作的结果被写回寄存器或存储器。因为处理器同时运行多条指令,所以程序的性能大大提高。2、CPU流水线技术

CPU流水线技术是将指令分解成多个步骤,使不同指令的操作重叠,从而实现多条指令并行处理,加速程序运行进程的技术。指令的每一步都有自己独立的电路来处理。每一步完成,就进入下一步,前一步处理后面的指令。

采用流水线技术后,不加速单个指令的执行,也不缺少每个指令的操作步骤,而是同时执行多个指令的不同操作步骤,从而加快了指令流,整体上缩短了程序执行时间。流水线技术是通过增加计算机硬件来实现的。它要求各功能段能够相互独立工作,这样会增加硬件,相应增加控制的复杂度。如果没有独立运作的部分,各种冲突都有可能发生。

例如,为了预取指令,需要增加指令的硬件电路,并将取出的指令存储在指令队列缓冲区中,使微处理器可以同时取出指令、分析和执行指令。——来自百度百科

3、管道和代码执行效果

为什么STM32的执行效率比主频的51单片机低?除了大家认为的8位和32位宽的区别,还有一个就是51单片机不支持流水线(也可以理解为单流水线),而STM32支持流水线。Cortex‐M3处理器使用3级流水线。管道的三个阶段是:获取、解码和执行,如下图所示。通过单级流水线和多级流水线的比较,可以更好的理解为什么51单片机的执行效率低。

多级管道的优缺点

管道技术并不是在所有情况下都有效。可能会有一些不足。如果一条指令流水线能在每个时钟周期接受一条新指令,则称之为全流水线。因为流水线中的指令需要延迟,要等待几个时钟周期,所以称为不完全流水线。当程序员(或汇编程序/编译器)编写汇编代码(或汇编代码)时,他们假设每条指令都是顺序运行的。而这种假设会使流水线失效。

当这种情况发生时,程序就会表现异常,这种现象就是危害。但是,目前有几种技术可以解决这些危害,比如转发和延迟。1.优势

它减少了处理器执行指令所需的时钟周期,总体上提高了指令的发布率。有些集成电路,如加法器或乘法器,通过增加更多的环路工作得更快,如果用流水线代替,环路可以相对减少。2.缺点流水线处理器设计复杂度较高,生产成本较高;流水线处理器必须在数据路径中增加额外的触发器。

非流水线处理器具有固定的指令位宽,因此流水线处理器的性能更难预测,不同程序之间的变化可能更大。审计彭静

以上知识分享希望能够帮助到大家!