0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

麦辣鸡腿堡 来源:轩哥谈芯 作者:义轩 2023-11-29 16:52 次阅读

一、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

    文章

    18288

    浏览量

    222167
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343651
  • 内核
    +关注

    关注

    3

    文章

    1309

    浏览量

    39848
  • 加速器
    +关注

    关注

    2

    文章

    744

    浏览量

    36600
收藏 人收藏

    评论

    相关推荐

    FPGA中的流水线设计

    8bit 流水线加法器的小例子 module add8(a, b, c);input[7:0] a;input[7:0] b;output [8:0] c; assign c[8:0
    发表于 10-26 14:38

    现代RISC中的流水线技术

    取得了成功。流水线技术是当前指令集处理器设计中广泛采用的技术。在这里我们将重点放在(标量流水线处理器的设计。流水线处理器设计中的许多方法和技术,例如用于检测和化解相关的
    发表于 03-01 17:52

    什么是流水线技术

    什么是流水线技术 流水线技术
    发表于 02-04 10:21 3740次阅读

    什么是超标量技术/FADD?

    什么是超标量技术/FADD? 超标量(superscalar)是指在CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,
    发表于 02-04 10:45 1420次阅读

    流水线中的相关培训教程[1]

    流水线中的相关培训教程[1]  学习目标     理解流水线中相关的分类及定义;
    发表于 04-13 15:56 885次阅读

    流水线中的相关培训教程[3]

    流水线中的相关培训教程[3] (1) 写后读相关(RAW:Read After Write) (命名规则) :j 的执行要用到 i 的计算结果,当它们在流水线中重叠执行时,j 可
    发表于 04-13 16:02 784次阅读

    流水线中的相关培训教程[4]

    流水线中的相关培训教程[4] 下面讨论如何利用编译器技术来减少这种必须的暂停,然后论述如何在流水线中实现数据相关检测和定向。
    发表于 04-13 16:09 4357次阅读

    电镀流水线的PLC控制

    电镀流水线的PLC控制电镀流水线的PLC控制电镀流水线的PLC控制
    发表于 02-17 17:13 36次下载

    Verilog基本功之:流水线设计Pipeline Design

    第一部分什么是流水线 第二部分什么时候用流水线设计 第三部分使用流水线的优缺点 第四部分流水线加法器举例 一. 什么是流水线
    发表于 09-25 17:12 4543次阅读

    FPGA之流水线练习(3):设计思路

    流水线的平面设计应当保证零件的运输路线最短,生产工人操作方便,辅助服务部门工作便利,最有效地利用生产面积,并考虑流水线安装之间的相互衔接。为满足这些要求,在流水线平面布置时应考虑流水线
    的头像 发表于 11-28 07:07 2085次阅读

    各种流水线特点及常见流水线设计方式

    按照流水线的输送方式大体可以分为:皮带流水装配线、板链线、倍速链、插件线、网带线、悬挂线及滚筒流水线这七类流水线
    的头像 发表于 07-05 11:12 6341次阅读
    各种<b class='flag-5'>流水线</b><b class='flag-5'>特点</b>及常见<b class='flag-5'>流水线</b>设计方式

    电焊机自动组装流水线特点

    问,为什么它的发展会这么好呢,前初的皮带线,可以说是 受消费者们欢迎的,为什么组装流水线会超过皮带线呢,它具有什么特别的特点呢?
    发表于 08-05 18:51 883次阅读

    嵌入式_流水线

    流水线一、定义流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们可同时为多条指令的不同部分进行工作。• 把一个重复的过程分解为若干个子过程
    发表于 10-20 20:51 6次下载
    嵌入式_<b class='flag-5'>流水线</b>

    CPU流水线的问题

    1989 年推出的 i486 处理器引入了五级流水线。这时,在 CPU 中不再仅运行一条指令,每一级流水线在同一时刻都运行着不同的指令。这个设计使得 i486 比同频率的 386 处理器性能提升了不止一倍。
    的头像 发表于 09-22 10:04 1369次阅读

    什么是流水线 Jenkins的流水线详解

    jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkin
    发表于 05-17 16:57 669次阅读