数据流图例子_探索数据流架构模型的潜力

9088a374a1407197de375245a574b1f0.png

众所周知,当代通用处理器(CPU)的设计重点早已从加速数据计算单元(ALU)架构转移到full-time指令驱动方向上。换句话说,冯诺依曼计算体系当中,最核心的之一便是指令驱动运算。如何能够满足主频运行条件下,指令一直在驱动执行而不受到间断(stall),便是高性能处理器一直以来发展的方向。基于此背景,许多研究人员在此做了很多工作,如超标量,超长指令字,动态调度算法,指令预取等等。这些技术对于当代处理器有着很大的性能开销。总结起来,主要由两个方面的原因:1、动态分析数据之间的依赖关系 2、维持正确的状态运行 (思考tomasulo算法结构)。众所周知,曾经在20世纪80年代左右提出的数据流架构能很好地解决以上问题,但是经过数十年的发展,数据流架构仍然没有受到主流的关注。其原因在于两个原因,其一是如何进行有效地数据控制猜测,另一个是显式数据交流上的延迟开销。值得思考的是,这些问题只对于某一部分代码存在以上问题。一个自然的思路便是能否在通用处理器上同时存在两种执行架构,既可以兼顾通用型乱序发射处理器的优点,也可以运算数据流处理器。对于这个方向,在UW-Madison大学提出了显示数据流架构(SEED),这篇文章,主要探讨一下对于这个架构的优势分析。

首先介绍一下传统的冯诺依曼架构(也可以称为“控制流”)当中,有哪些种提升能效的方法。主流的方案有两种方法,其一是在部分代码区采用低功耗的简单序列化硬件去实现低功耗来提升能效,比如(bigLITTLE方案和Compsoite方案)。另外一种是采取循环执行技术,比如(Revolver技术)。上述技术和方案都是控制流方案中经典的设计方案。他们当中有着加速效果不明显(前者)或者实现硬件成本高昂(后者)的劣势。那么显式数据流架构便应运而生,例如其中早期的架构比如标记令牌数据流,以及最近的TRIPS,WaveScalar,Tartan架构。但是数据流架构一直没有称为常规的考虑方案实际上也存在不少原因,数据流架构方案一直对于高层次指令之间的并行没有提供合理的方案,以及对于非常规的代码,他们的高性能低功耗仍然无法实现。那么如何将冯诺依曼架构与数据流架构结合起来,便是一种新的思考方案。本文提出得SEED架构是探究显式数据流与冯诺依曼架构之间得结合探索。从TOP来看,它的架构如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值