- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异构多处理器系统芯片设计与研究
异构多处理器系统芯片设计与研究
摘要:随着集成电路工艺特征尺寸的缩小和电路规模的不断扩大,单颗芯片上集成器件数目成指数倍增长。传统的SoC架构在提高系统整体性能上已出现一些瓶颈,多核系统设计正成为目前集成电路设计的研究热点之一。对称式多处理器系统芯片可以在很大程度上提高系统的并行性,但是在一些复杂应用领域中并不能提供最优的性能。本文通过在单颗芯片上集成多个不同的处理器核来研究异构多核系统相对于同构多核系统所带来的技术优势。
关键词:异构;多核;嵌入式系统;FPGA
1引言
随着嵌入式系统对计算效率以及功耗各方面要求的日益提高,传统的SoC已经不能满足一些复杂应用的需要。单一时钟同步、有限地址空间、片上总线通讯效率等问题成为制约SoC系统整体性能提升的瓶颈。因此,建立多核系统以提高并行性已成为IC业的研究热点。[1,2,3]
按照构建多核系统的处理器是否相同,可以分为同构多处理器系统和异构多处理器系统。如图1所示,同构多处理器系统大多由通用的处理器组成,多个处理器执行相同或者类似的任务,斯坦福大学的Hydra处理器就是同构MPSoC的代表。而异构多处理器系统除含有通用处理器作为控制、通用计算之外,多集成DSP、ASIC、媒体处理器、VLIW处理器等针对特定的应用提高计算的性能,STI(SONY、TOSHIBA和IBM)联合开发的Cell处理器就是异构MPSoC的一个例子。
图1同构多处理器系统与异构多处理器系统
2理论动因
并行计算理论的Gustafson定律给出了扩展加速比公式[5],
扩展加速比=N+(1-N) (1)
其中,N表示处理器核的数量,S表示程序中串行部分的比例。从扩展加速比计算公式可以看出:随着处理器个数的增加,加速比呈线性增长,但是只是单纯增加处理器个数(提升N值)并不能有效的平衡系统效率的提升与提升系统效率所增加的开销(芯片面积、功耗等),同时还应提升程序串行部分的执行效率(降低S值)。采用异构多处理器的目的,是为了将不同的任务配置给不同的处理器,这样比用多颗同构处理器来执行所有任务更有效率,以达到资源的最优化配置。这种并行运算的模式犹如大型计算机工作站的运作架构,在各个以微处理器为核心的子系统中,可以有自己的软、硬件配置,使之为特定功能提供最佳化的效能与开销的平衡;而所有的子系统之间又能彼此紧密地分工合作,这就得靠芯片内的沟通技术来达成,这种技术即所谓的片上通讯或处理器间通讯(Inter-Processor Communications,IPC)。
3异构多核系统平台设计
为了对异构多核系统相对同构多核系统所带来的技术优势进行深入分析,我们选用了一个高性能的具有较强运算能力的C*Core以及一个控制能力较强但占用资源较小的8086处理器核来搭建一个异构的多核系统。
3.1 系统功能划分
根据不同处理器的性能特点,本设计划分为以下几个主要部分:C*Core本地处理子系统、8086本地处理子系统、全局总线以及全局共享模块。其中C*Core本地处理子系统主要由C*Core处理器核、本地存储器及总线桥组成,在系统中负责相应的运算任务。8086本地处理子系统主要由8086处理器核、本地存储器及总线桥组成,在系统中主要负责控制以及和外部端口通讯任务。在上述子系统中总线桥的功能都是连接子系统的局部总线与系统全局总线。全局总线主要连接各本地处理子系统和各全局共享模块,在本设计中全局总线采用MLB总线协议。全局共享模块则有共享存储器和旗语控制器等,并可扩展其它模块。
3.2 系统结构概述
根据上述的功能划分,系统的结构如图2所示。
图2 系统平台结构图
C*Core本地处理子系统。该子系统主要包括三部分:C*Core处理器核、本地存储器、总线桥,其中C*Core处理器核对本地存储器享有独占式访问权限,同时可以通过向全局总线发出请求访问全局共享模块,本地存储器主要存储C*Core处理器核运行时所需的指令及数据。总线桥连接本地处理子系统的局部总线与系统全局总线,主要完成C*Core处理器核与本地存储器的通讯以及C*Core处理器核与全局总线上共享模块的通讯。
8086本地处理子系统。该子系统功能与C*Core本地处理子系统基本相同,只是处理单元采用8086处理器核,由于全局总线遵循MLB总线协议[4],8086子系统中的总线桥还要完成8086处理器接口与MLB总线的时序转换功能。
全局总线。全局总线主要连接各本地处理子系统和各全局共享模块,遵循MLB总线协议。它主要包括两部分,全局总线仲裁器主要完成对多个处理器核
文档评论(0)