首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入解读DARPA电子复兴计划(四)

| 出自:SIMIT战略研究室(ID:SIMITSRO)

中国科学院上海微系统与信息技术研究所

本文为该系列的第四篇,查看前三篇可点击:

上一篇文章介绍了DARPA电子复兴计划(Electronics Resurgence Initiative,简称ERI)在电子电路设计领域的布局和两个重点研究方向,本文介绍电子复兴计划中与系统架构相关的研究内容。系统架构领域的主要研究方向包括特定领域片上系统(DSSoC)和软件定义硬件(SDH)。

图1 ERI计划中系统架构领域的研究内容

一、特定领域片上系统(DSSoC)项目

特定领域(Domain-Specific)的概念现在提的越来越多,大家也都逐渐看到它的重要性。现在的芯片项目越来越复杂,软件所占的比例非常高,投片、研发和应用的成本和风险越来越高。一套能把软硬件设计垂直整合起来的方法和工具,可以在不同但相似的应用间最大限度的实现重用,从而提高设计效率,降低成本。DSSoC项目的研究目标是将开发一种由通用处理器、专用处理器、硬件加速器、存储器、输入/输出元件等多个内核组成的异构片上系统,进而通过单个可编程器件实现多应用系统的快速开发。

如下图所示,当前许多高性能的专用芯片是以可编程性作为代价,特定芯片存在可编程弱和系统集成难度大的困难。如何设计一个系统架构,能够同时权衡专用性和通用性?特定领域计算的本质是建立一套完整的方法学和工具,能够高效的设计和实现面向一个领域的软硬件系统,同时这套方法和工具还可以方便的应用到新的领域。DSSoC项目提供一套垂直整合的方法,通过一个full-stack integration,提供一个软硬件框架,让程序员不必要了解底层硬件,但仍然可以充分的利用硬件的效率。目前,我们做一个架构设计的时候,往往要在通用性(可编程性)和专用性(高效率)之间做很多权衡。如果这个项目成功,那么在通用性和专用性之间的权衡就可以变得不那么困难了。

图2 当前芯片在可编程性和高性能方面的对比分析

如下图所示,DSSoC在软硬件垂直整合的方法体系中提出了5大关键技术:(1)Intelligent Scheduler:通过在系统中增加专用于调度的处理器,以及让每个Processor Elements (PE)都可以分析并上报自己的运行状态实现资源智能调度;(2)Software:软件工具包括开发工具,如编译器和调试器,算法库,以及Domain的应用程序和示例。软件工具是特定领域计算能否真正落地的最重要部分,一个基本要求是可以支持领域内的新的设计;(3)Domain ontology:描述Domain的特征,反映不同分组间的关系,对算法的细节特征进行描述,支持项目中的智能调度等工作;(4)Medium access control (MAC):MAC层是在PE间交换数据结构的媒介,既包括物理结构,拓扑,还包括一个标准编程接口;(5)Hardware integration:异构的SoC硬件, 包括CPU,GPU,TPU,Neuromorphic Unit,DSP,硬件加速器等。

图3 DSSoC项目提出的软硬件垂直整合方法

二、软件定义硬件(SDH)项目

软件定义硬件项目的研究目标是创建运行时可重新配置的硬件和软件,在不牺牲数据密集型算法的可编程性的情况下实现类似专用集成电路(ASIC)的性能,且没有专用集成电路开发相关的成本、开发时间或单个应用限制。在处理器设计过程中需要权衡的因素包括数学/逻辑资源、存储器、地址计算、数据读写和传送等,最优硬件配置根据算法不同而不同,没有一种硬件配置能有效解决所有的问题。现在虽然硬件设计水平已经达到专业化,但每个算法需要设计一个芯片,因此芯片设计成本高,往往也不具备可再编程性。通过SDH项目希望实现软硬件的Runtime优化,进而实现一个芯片实现多个应用,节约芯片设计成本,硬件通过高级语言实现可再编程性。

SDH程序将创建一个可扩展的硬件/软件架构,与ASIC不同,允许应用程序在运行时修改硬件配置。 SDH将实现两大目标:(1)输入数据变化时动态优化代码和硬件; (2)能够重用硬件来解决新问题,支持新算法。 为了实现这些目标,SDH把重点放在高速硬件重配置(very fast hardware reconfiguration speeds)和动态编译(dynamic compilation)。

SDH项目确立了两个主要技术目标:技术目标1(TA1)可重构处理器:可重构处理器要求重配置速度高于FPGA,而效率又要接近ASIC,功耗要远低于FPGA。而且这个处理器不仅要求片上的运算和存储可以重构,外部存储子系统也要求能够被配置为不同的数据访问模式;技术目标2(TA2)面向高级语言的动态软硬件编译器:在runtime时的优化同时包括了软件和硬件,编译器需要能够把高级语言转换为机器语言以及面向应用的硬件配置。

图4 SDH项目的两大技术领域

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181102G13XZ700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券