H7的特点 什么是超标量流水线

描述

一、H7 的特点

首先看看 M7 内核的 GD32H7都具备哪些不一样的功能,以下只是我个人关注的点:

主频高,GD32H7系列MCU采用基于Armv7E-M架构,主频高达600MHz。

6 级流水线,并且是超标量的,并且支持分支预测。

内置了高级DSP硬件加速器和双精度浮点单元(FPU),以及硬件三角函数加速器(TMU)和滤波算法加速器(FAC)。

内置了TFT LCD液晶驱动器和图形处理加速器IPA (Image Processing Accelerator),支持2D图像叠加、旋转、缩放及多种颜色格式转换等功能。

主频越来越高自然不必说了,后面两个内置硬件过两天在学习。

今儿先学习下 M7 内核的功劳,也就是这里的分支预测和超标量流水线。

二、什么是超标量流水线

超标量流水线(Superscalar Pipeline)是一种计算机处理器架构,它可以同时执行多条指令,从而提高指令执行的效率。这种架构允许处理器在一个时钟周期内执行多个指令,而不是像传统的标量流水线那样每个时钟周期执行一条指令。

先看传统的流水线架构:

加速器

在传统的标量流水线架构中,我们如果想让 CPU 执行一条机器指令,要经历:取址(IF)→ 译码(ID)→ 执行(EX)→ 访问内存(MEM)→写回内存(WB)等五个步骤,那么在系统时钟的驱动下,如果串行处理,那么执行一条指令至少要 5 个时钟周期。

CPU 在执行每一个单一步骤的时候,并不一定会用到所有的硬件,也就是说五个步骤其实存在一定的独立性,那么我们可以增加一些硬件让 CPU在一个时钟触发下做两件以上的事情。

加速器

这么一来,我们就可以让多条指令的执行看起来并行执行,其实就是为每条指令的执行提前做一些准备工作,从结果看,我们几乎可以做到每个时钟周期执行一条指令了。

以上就是标量的流水线,就是让 指令执行进行一定的硬件分工,然后在一个时钟触发下,不同的硬件可以同时做一些不同的事情,从而保证每个时钟周期内都有一个产出—— 执行完一条完整的指令。

OK,如果我想给让CPU 提高点人效,让它一个机器时钟内完成多个指令的执行该怎么办呢?

加人呗,一个岗位上放俩人,甚至更多

当然人多了,容易乱套,这里是因为每个指令本质是上串行的,前后有依赖,所以不能一味的增加人力,结果肯定是流水线上打起来。

加速器

上图中,我们在每一个流水阶段增加了一个人力,整个系统看起来瞬间效率提高了一倍。

以上就是超标量流水线的描述,下面我们看看,如何在 程序设计上利用这个超标量的流水线。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分