在线客服
首页 > 技术文章 >
技术文章
技术文章

硬件软件化趋势成形,多核心DSP结构崛起

工研院系统芯片中心于2003年开始执行的PAC计划,目标为针对可携式多媒体播放器或智能型手机一类的新一代多媒体及多功能可携式设备提供一个高效能、低功耗的可程序化解决方案,本文将从PACDSP微架构谈起、进一步讨论具动态电压/频率调整能力之双核心系统芯片设计,以及具节能感知的多媒体编译码技术。另外也于此论文中提及第二阶段的研究方向,包含多核心处理器架构、电子层级设计方法,以及低功耗的多媒体软件架构。 

随着市场对芯片的整合度要求不断上升,芯片设计者必须设法在单一芯片中整合更多功能。然而,复杂的设计、不断飙升的制造成本,以及终端产品生命周期急速缩短,在在使得芯片供货商在开发系统单芯片时必须承担更高的风险。若系统芯片中备有可程序化的核心电路,许多的系统功能就可以软件形式呈现,进而大幅提升设计者的产能。对终端产品的设计者而言,「硬件软件化」的趋势也能带来许多好处,因为软件的弹性让设计者能更轻易地调整功能、以单一硬件平台开发出多种产品,若能兼顾软件可重复利用性,更可大幅缩短设计时间

弹性vs.成本 DSP的美丽与哀愁 

因为软件能提供硬件无法做到的弹性,所以多媒体处理常常以软件方式实现而非用固定功能的硬件。例如某播放器原本支持的音讯压缩规格有WMA、MP3和AAC,可是当新的算法又被提出时,软件即可迅速地更新而不须重新设计硬件。数字信号处理器(DSP)就是一个可程序化的通用处理器,其指令集和架构则专门针对数字信号应用而特别强化设计。DSP由70年代开始发展迄今,不论在多媒体处理、通讯,甚至工业控制等应用领域都可轻易见到其踪迹。然而,这两个架构也有很严重的缺点,譬如缓存器需求量(Register Complexity)很大,程序代码耗费的内存空间也很大。 

针对DSP的缺点,第一阶段的PAC计划开发了一颗可同时执行五道指令的超长指令(VLIW)数字信号处理器核心,它以特殊的分布式缓存器架构及新的可变长度指令编码技术来解决前述所遇到的问题。在PAC计划的第一阶段,工研院系统芯片中心也开发出由PACDSP和ARM9组成的双核心芯片。 

PAC计划的硬件设计包含了一颗高效能/低功耗的可程序化的数字信号处理核心,以及一个以数字信号处理核心为基础的运算平台。图1为PAC计划的发展蓝图。PACDSP V3是现在已对外授权的VLIW架构。PACplus!则是基于V3的指令集再强化系统接口的设计。未来的开发规画则是要产出整合多颗PACDSP架构的平台(如PAC Duo有两颗PACDSP、PAC Quad有四颗PAC-DSP),同时也会设计新一代的指令集,提供超低功耗之应用并且再提升能量之效益(如PAC-lite和PAC-SIMD)。

 

图1 PAC计划演进蓝图

分散架构与可变VLIW 有助降低成本 

PACDSP V3是一个由工研院开发的32位VLIW DSP。它拥有特定应用集成电路(ASIC)的高效能与低功耗的能力,也有微处理器(MPU)的可程序化特性。其特征包含可扩充的数据路径(Scalable Datapath)、创新并拥有专利的分布式缓存器架构、丰富且经过最佳化的指令集和高频宽的内存次系统(Memory Subsystem)。PACDSP的微架构主要由程序流程控制单元(Program Sequence Control Unit)和聚集成群的数据路径(Scalar unit,可进一步细分为Cluster 1与Cluster 2)组合而成(图2)。因为VLIW的程序代码通常会花费大量的内存空间,所以藉由可变长度指令编码、消除NOP和内嵌程序代码复制等技术来改善程序代码的密度,而PACDSP的程序流程控制单元则可以动态地对齐各个编码长不固定的超长指令封包(VLIW Packet)。另一方面,因为VLIW的缓存器需求量很大而且占用大量芯片面积,所以创新的分布式缓存器架构可以显著降低PAC-DSP的实作成本。

图2 PACDSP微架构

与集中式缓存器的架构相较,PACDSP的缓存器架构可以节省76.8%的面积及缩短46.9%的存取时间。内含的功率管理单元又可依操作模式关闭闲置的数据路径来节省功率消耗。为了将PACDSP核心整合到以先进高速总线(Advanced High-speed Bus, AHB)为基础的系统平台,PACDSP 3.0提供了一个AHB主埠(Master Port)和一个AHB从端口(Slave Port)的总线接口,以及高频宽的内部存储器次系统,包含一块32KB的直接映像指令高速缓存和一块64KB的数据存储器。 

PACDSP 3.0已以TSMC 0.13微米制程实现。最快可操作于300MHz频率,而面积只有250K逻辑闸。由于高度最佳化的微架构和内嵌功率管理,让PACDSP的平均功耗只有0.08mW/MIPS。以PACDSP和StarCore与CEVA这两个已授权的DSP核心相比,后两者虽然使用相当高的指令频宽以支持更多运算单元同时运作,但在同样采用0.13微米CMOS制程实作、在相同的运算量下,PACDSP比其它两个竞争者可以获得较低的功率消耗(表1)。

表1 已授权的DSP核心之比较

核心

Starcore

CEVA

ITRI/STC

 

SC1000

CEVA-X

PACDSP

结构

六路
VLIW

八路
VLIW

五路
VLIW

频率

305MHz

450MHz

300MHz

功耗
(不含内存)

0.098
mW/MIPS

0.08
mW/MIPS

0.08
mW/MIPS

芯片面积

-

1.6mm2

~1.2mm2

PACplus!是基于V3指令集再强化系统接口的设计(如PACDSP 3.3)。它的最上层的架构如图3所示,除了原本的PACDSP还包括数据存储器单元(Data Memory Unit, DMU)、指令内存单元(Instruction Memory Unit, IMU)、总线接口单元(Bus Interface Unit, BIU)、主处器接口单元(Host Interface Unit, HIU)、内嵌电路模仿器(In-Circuit Emulator, ICE)等模块。而DMU和IMU为可重组的内存区块,各内存区块又可以独立关闭以节省功耗。BIU则支持AMBA3 AXI协议,可接受穿插的新交易(Outstanding Transaction)、同时读写、非循序(Out-of-order)数据传送,藉此提高可用的频宽。PACDSP V3还有一套完整的程序开发工具(C/C++编译器、组译器、连结器、除错器等),并且提供高效能的DSP链接库(Library)给多媒体应用。有了完整的软硬件工具和丰富的输入/输出周边,设计者便可轻易且迅速地发展自己的应用。

图3 PAC-plus!架构

双核架构让视讯译码更有效率 

除了PACDSP,第一阶段的PAC计划也成功地开发了一颗整合PACDSP和ARM9的双核心系统芯片。此芯片可在低功耗的前提下提供高效能多媒体处理,如实时H.264编解碼。多层AHB用于连接两个核心、系统直接内存存取(DMA)引擎、同步动态内存(SDRAM)控制器、向量中断(Vector Interrupt)控制器等(图4)。PAC Solo采用各式各样的最佳化技术来降低动态功率消耗及漏电流。其一,在整个芯片各个角落使用频率开关。其二,将整个系统芯片切成七个独立的功率区域,每个功率区域可以各自调整电压供应及操作频率。表2罗列各功率区域和相对应的操作模式。由于欠缺额外的信号控制ARM9核心,所以MPU区域只能调整频率。但另一方面,DSP可被完整地控制其操作频率和电压供应。每个功率区域的操作模式可因应程序的效能需求而改变。DVFS控制器有一组控制缓存器记录了现在的状态、下一状态和所有区域的所有可能的状态。要得到最佳的功耗,可利用软件去设定控制缓存器。

图4 PAC Solo的架构

 

表2 PAC Solo的功率区域

功率区域

功率模式

功率间

 

名称

供电电压(V)

频率(MHz)

 

MPU

工作-1

1.2

228

 

工作-2

1.2

152

 

 

工作-3

1.2

114

 

 

待机

1.2

0

 

 

休眠

0

0

 

DSP

工作-1

1.2

228

 

工作-2

1.0

152

 

 

工作-3

0.9

114

 

 

待机

0.9

0

 

 

等候

0.9

0

 

 

休眠

0

0

 

ME

同DSP区域

AHB

全速

1.2

152/114

 

低速

1.0

76

 

SRAM & LCD

同AHB区域

APB & DVFS

固定电压

1.0

48

PLL

固定电压

1.2

456

为了展现VLIW的能力,传统的算法需要根据指令层级的平行特性而重新调整。除此之外,DVFS的功能也是与应用的规格及内容息息相关,将特殊的控制方法加入现有的动态运算中,则可以更低的功耗完成实时运算。以H.246/AVC译码器为例,在不同的应用和不同的设备中会使用不同的分辨率(Resolution)和规模(Profile)。例如手持装置视讯会议的位率较低,影片可以在较低的操作频率来译码,因此设计人员可降低处理器的供电电压以降低功耗;另一方面,因为高画质电视的位率需求较高,因此处理器的电压与频率皆须调高才能提供足够效能,甚至在译码一段影片,由于各张影格(Frame)的译码复杂度不同,译码所需时间也不同,因此利用PAC平台的DVFS功能,可开发一个具节能感知能力的H.264/AVC译码器。 

DVFS带来显著节能效果 

在节能感知的H.264/AVC译码器中,PACDSP的电压及频率可动态地调整以提供适合的效能上,而ARM9核心的频率则固定于114MHz。为了解功耗与操作频率/电压的关系,先分析PACDSP在不同操作模式下产生的功耗,其结果如表3所示,此数据是来自于实际的芯片量测,并以同样的影片重复解碼而得到的结果。因应不同特性的输入内容(Input Sequence),可藉由DVFS控制器动态调整电压和频率。图5展示其DVFS的控制流程。其中Te为前一张影格的执行时间,Ta为现在这一张影格被允许执行的时间。一开始,前三十张影格用于学习此输入内容的特性,并建立效能数据库(Performance Database)。接着的影格,其操作模式则利用预测模型来决定,此预测模型会用到时间和功耗的信息。基于预测模型,每个操作模式的出现频率将被分析。表4的两个案例使用同一个输入内容,但每秒处理不同数量的影格。每秒处理较多的影格隐含PACDSP应多利用第一个操作模式去达成效能的需求。与没有DVFS相比较,此二案例显示能量可节省35%和43%。

表3 不同的操作模式的功率消耗

模式

DSP状态

功耗

解碼时间

能量(mJ)

工作-1

1.2V/228MHz

161.20mW

10秒

1,612

工作-2

1.0V/152MHz

75.99mW

13秒

987.87(39%)

工作-3

0.9V/114MHz

48.82mW

17秒

829.94(49%)

 


图5 DVFS的控制流程

 

表4 动态调整电压/频率的能量消耗

 

每秒影格数(FPS)

模式

事件

功率节省

案例1

22

工作-1

359(19%)

35%

 

 

工作-2

874(46%)

 

 

 

工作-3

655(35%)

 

案例2

20

工作-1

82(4%)

43%

 

 

工作-2

688(36%)

 

 

 

工作-3

1118(60%)

 

基于PACDSP核心与其相关的开发工具、DVFS技术、最佳化的DSP链接库和多媒体编解程序在第一阶段的PAC计划已开发完成。第二阶段则欲追求新一代嵌入式运算平台,其可拥有更低的功率消耗、更高的运算效能,以及更佳的能量效益。相较于第一阶段,PAC II将更专注于平台的技术,包含低功耗/高频宽的芯片网络(On-chip Network)、最佳化的嵌入式内存架构与DMA引擎、平台最佳化的实时软件、ESL设计方法等。基本硬件的研究着重于超低功耗及更佳的能量效益之应用,包含新一代的指令集架构(PAC-lite和PAC-SIMD)和多颗PACDSP的架构(PAC Duo有两颗PACDSP和PAC Quad有四颗PACDSP)。PAC II的硬件与软件架构如图6、7所示。


图6 PACII硬件架构

 


图7 PACII软件架构

完善开发环境简化DSP程序开发 

拥有许多简单处理器的多核心架构已经证明比单一个高效能的处理器更能有效地进行功耗管理,但亦必须付出其额外多核心间通讯接口设计复杂,以及多核心软件不好掌控等代价。基于已有丰富的PACDSP的软件组件发展一套组件基础(Component-based)的软件开发环境,如图8所示。此ESL工具允许使用图形接口的拖拉和点击(Drag & Drop)的方式将许多单颗处理器上的软件工作连结到多颗核心的硬件资源上,并利用周期精确(Cycle-accurate)的交易模型来仿真。现在正进行利用混合整数线性规画(Mixed Integer Linear Programming, MILP)算法来完成自动化工作连结,此可呈现系统层级的问题,包含快取失误(Cache Miss)和芯片网络上的DMA行为。

图8 PACII的多核心仿真器

设计一个弹性及可程序化的架构一直是让人却步的任务,但随着无线通讯标准的演进与新一代的多媒体压缩技术出现,客户想要的新产品不只能符合现在的需求,也希望此系统必须要能面对预料之外的挑战。本文中描述了PAC第一阶段有几个研究与实作结果,包括高效能与低功耗的PACDSP、可动态调整电压与频率的系统芯片、具节能感知的H.264译码器。为了新一代的应用,PAC的第二阶段将继续追求更低功耗、更高效能、更佳能量效益的运算平台,将更专注于多核心处理器架构、电子系统层级设计方法和平台相关的软件最佳化。
北京迪阳世纪科技有限责任公司 版权所有 © 2008 - 2018 著作权声明
010-62156134 62169728 13301007825 节假日:13901042484 微信号:sun62169728
地址:北京市西城阜外百万庄扣钟北里7号公寓
E_mail:sales@pc17.com.cn 传真: 010-68328400
京ICP备05038211号 公备110108007750