提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 多发射处理器总结
  • 数据冒险
  • 动态调度-Tomasulo算法
  • GPU与CPU的多发射技术对比(待考究)

多发射处理器总结

无论是动态多发射还是静态多发射,核心思想就是“推测+指令打包”,利用并行的硬件资源去提高IPC(指令数/周期)。

  • 静态多发射是利用compiler进行推测,将不具有数据冒险的指令成对打包,组成超长指令字(Very long instruction word, VLIW),而硬件只需要提供并行的解码与执行单元,并扩展总线宽度即可达到,是一种较为古老但是很实用的技术,常在轻量级的处理器中使用。
  • 动态多发射也称为超标量,由硬件决定每个周期issue的指令数目。“推测”由硬件负责,动态的避免数据冒险,并将无数据冒险的指令分配给不同的执行单元,这种分配可以看作是广义的“打包”,利用的就是可以同时执行指令的执行单元。
  • 据我了解,目前主流x86 CPU都是采用动态多发射+动态流水线调度。而主流GPU计算卡,只采用动态多发射。
  • 许多超标量处理器又将动态流水线调度技术包括在内。而动态流水线调度的核心就是指令可以乱序执行,比如Tomasulo算法的利用。

数据冒险

  • 在指令顺序执行的流水线技术中,只会有RAW造成流水线阻塞,而WAR和WAW不会造成影响,因为这其实是一种寄存器的“名字相关”,编译器可以绕过;
  • 在动态流水线中,若支持指令乱序执行,WAR和WAW必须保序;

动态调度-Tomasulo算法

利用寄存器重命名发消除WAR和WAW的算法,动态调度核心思想是“顺序发射-乱序执行-顺序提交”,保留站相当于在执行单元门后排队,谁的数据准备好了就可以进入到执行单元中,最后由Re-order buffer(ROB)实现提交。实际上,动态调度就是利用硬件实现指令流的分析,在不影响程序原有数据流逻辑的基础上尽可能的乱序执行指令,与取指令的顺序不同。

GPU与CPU的多发射技术对比(待考究)

  • CPU的动态多发射技术需要指令顺序发射、乱序执行、顺序写回去达到大的IPC。
  • GPU的一个基本计算单元是包括16个warp的,这warp之间可以看作是16个issue enrty,且在做密集计算时,stall bubble很容易会被16个warp填满。每个warp内部,可以看作是一个简单的动态多发射但是数序发射、顺序执行、顺序写回的小CPU。

处理器架构——多发射处理器技术相关推荐

  1. 嵌入式系统硬件处理器架构的发展趋势及比较分析

    嵌入式系统已经广泛地应用到当今各个领域,与我们的生活息息相关,小到掌上的数字产品,大到汽车.航天飞机. 提到嵌入式系统我们很快会联想到单片机,不错,MCU是最基础和常用的嵌入式系统,但是目前像FPGA ...

  2. 从ARM9到A15 手机处理器架构进化历程

    随着智能手机越来越普及,消费者在选购手机的时候也越来越理性化,除了关心价格和外观之外,手机的性能也成为了人们最关心的因素,大家都知道, 处理器是影响手机性能的最关键的因素,像德州仪器.高通.英伟达以及 ...

  3. 为智能手机VR体验而生,ARM公布最新处理器架构

    芯片巨头ARM发布最新CPU GPU架构,预言明年移动VR体验将成为日常. 移动芯片巨头ARM最近公布了其最新的处理器架构,ARM Cortex-A73 中央处理器(CPU)和 ARM Mali-G7 ...

  4. CPU处理器架构和工作原理浅析

    汇编语言是学习计算机如何工作的很好的工具,它需要我们具备计算机硬件的工作知识. 基本微机设计 下图给出了假想机的基本设计.中央处理单元(CPU)是进行算术和逻辑操作的部件,包含了有限数量的存储位置-- ...

  5. 32位x86处理器架构

    本节重点讲解了 32 位 x86 处理器的基本架构特点.这些处理器包括了 Intel IA-32 系列中的成员和所有 32 位 AMD 处理器. 操作模式 x86 处理器有三个主要的操作模式:保护模式 ...

  6. 64位x86-64处理器架构

    本节重点关注所有使用 x86-64 指令集的 64 位处理器的基本架构细节.这些处理器包括 Intel 64 和 AMD64 处理器系列.指令集是已讨论的 x86 指令集的 64 位扩展.以下为一些基 ...

  7. 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器......

    警告:所生成项目的处理器架构"MSIL"与引用"***"的处理器架构"x86"不匹配.这种不匹配可能会导致运行时失败.请考虑通过配置管理器更 ...

  8. linux moxa 多串口卡_MOXA多串口卡C32030TCPU模块双RISC-based处理器架构大幅提升I/O数据传输的效能达到8口或以上...

    MOXA C320Turbo系列智能型多串口卡是多用户控制的理想选择,其设计非常灵活,用户可依据自己的需要,弹性使用8个串口甚至扩充到128个串口.此外, 用户可以根据不同需要选择控制卡(PCI or ...

  9. 指令集架构、微架构、处理器架构、CPU架构、内核

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

最新文章

  1. Matlab GUI 设计(3):edit、slider、table数据同步
  2. 简单描述DDL、DCL、DML
  3. 实验10:创建带有生命周期方法的bean ||实验11:测试bean的后置处理器
  4. tensorflow中name_scope和variable_scope变量的使用
  5. [Silverlight]16进制颜色转ARGB及Color转Int32
  6. 【实践案例】Databricks 数据洞察在美的暖通与楼宇的应用实践
  7. liger UI tree DATA添加值
  8. 网站日志分析工具:WebLog Expert Lite
  9. spring AOP概念及xml配置
  10. 老板平常多说点好听的
  11. 七周成为数据分析师 第六周:统计学
  12. 会员积分兑换系统的基础运营
  13. 有意思的互联网创业公司(Timehop/Redbeacon )
  14. 数据分析七种降维方法
  15. Innodb中聚簇索引
  16. 精品课 - Python 基础
  17. android 播放静态mp4,Android 使用VideoView播放MP4的简单实现
  18. 安装软件时出现没有自注册或撤销注册怎么办
  19. 前端代码深浅拷贝四种方式
  20. 火爆不亚于中国?看看印度聊天机器人市场现状 | 分析

热门文章

  1. 机器学习-预剪枝和后剪枝
  2. 基于cnn-lstm的交通流量预测
  3. python3学习笔记
  4. 基于kinect v2的模型三维重建算法(个人毕设总结)
  5. 解决Mac互联网连接问题的方法
  6. 第二章网络网络技术基础计算题及其解析[计算机网络]
  7. 记录大坑:用Xamarin引入UHF读写器dll,报错: 所生成项目的处理器架构“MSIiL”与引用的Reader.dll处理器架构“x86”不匹配
  8. red5源码分析---12
  9. php版本kms,使用 AWS KMS 加密和解密 AWS SDK for PHP 数据密钥 - 适用于 PHP 的 AWS 开发工具包...
  10. 图片怎么做雕刻路径_精雕图怎么做路径