一、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 提高点人效,让它一个机器时钟内完成多个指令的执行该怎么办呢?
加人呗,一个岗位上放俩人,甚至更多
当然人多了,容易乱套,这里是因为每个指令本质是上串行的,前后有依赖,所以不能一味的增加人力,结果肯定是流水线上打起来。
上图中,我们在每一个流水阶段增加了一个人力,整个系统看起来瞬间效率提高了一倍。
以上就是超标量流水线的描述,下面我们看看,如何在 程序设计上利用这个超标量的流水线。
-
处理器
+关注
关注
68文章
19281浏览量
229781 -
mcu
+关注
关注
146文章
17143浏览量
351130 -
内核
+关注
关注
3文章
1372浏览量
40288 -
加速器
+关注
关注
2文章
799浏览量
37863
发布评论请先 登录
相关推荐
评论