欢迎来到天天文库
浏览记录
ID:6014464
大小:35.00 KB
页数:2页
时间:2017-12-31
《多核处理器的主要实现架构及其设计挑战》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、多核处理器的主要实现架构及其设计挑战2008年03月01日为得到更高的处理性能,曾经唯一的做法是提高单一处理器的频率,但当这一做法因为功耗和发热的非线性增长而变得难以为继时,集成多个处理器核心的器件便应运而生。谈到多核处理器,ARM的中国总裁谭军先生给出的定义是:“多核处理器是指在同一个核内具有多个处理器内核,它们可以通过内部的缓存来控制,有选择性的开/关。”总体上,多核处理器架构分为同质架构和异质架构两大类。MIPS科技公司产品营销总监PeteDelVecchio认为:“当SoC的功能被分解进彼此次之间通信非常有限的的多个子系统时,
2、异质架构的多核系统最为适用。”他还表示:“同质架构的多核系统设计使分配到不同处理器的任务共享的数据可以自动保持一致。这种多核系统比较容易编程,可提供直接的机制,在不同处理器之间动态地迁移任务。”各种应用于通用领域和嵌入式领域的多核处理器都可以归入到上面提到的这两种架构。TI采用的是将DSP与CPU核心相结合的混合结构。TI通用DSP业务发展经理郑小龙表示:“DSP速度极快适于实时处理,CPU控制能力全面适合非实时处理,TI的混合结构多核处理器将二者的优点充分结合,构成一个极其高效的SoC。”MIPS的PeteDelVecchio表示:
3、“目前,MIPS主要致力于最大限度地提高单处理器的频率。”但他同时表示:“已有获得授权的厂商在利用各种MIPS内核,不论是在异构还是同构多核实现方法方面均取得了巨大的成功。例如,SigmaDesigns开发的一款芯片采用两个MIPS内核,一个用来处理应用软件/OS,另一个用于系统安全。”Freescale的多核平台包含2到32个PowerArchitecture的e500-mcPower内核,该平台在高端包含了一个基于互联的片上控制网络,它可以减少由于拥塞而带来的性能降低。ARM在2007年推出了当最多具备四核时性能可达8,000DM
4、IPS的Cortex-A9处理器。英特尔目前多核处理器采用的微架构是著名的酷睿微架构,酷睿微架构具备以下重要特性:1.英特尔宽区动态执行;2.英特尔智能内存访问;3.英特尔高级数字媒体增强;4.英特尔高级智能高速缓存;5.英特尔智能功率特性。在实施多核处理器的过程中,在硬件和软件两方面业界都面临一系列挑战。TI的郑小龙认为:“挑战首先表现在系统配置方面,其次表现在软件协调开发方面。”ARM通过已经被业界证明成功的MPCore技术看到了以下几大设计挑战:1.预先整合的并且通过验证的可扩展多核处理技术;2.整合的中断分配和处理器间的通信;
5、3.先进的Snoop控制单元,支持增强的缓存一致性。应对这些挑战,谭军表示:“ARM在Cortex-A9MPCore中在以下几个方面进一步加强了MPCore技术:1.加速器一致性端口(ACP);2.先进的总线接口单元;3.具有中断虚拟的多核ARMTrustZone技术;4.通用中断控制器(GIC)。FreescaleJeffreyHo先生则认为设计集成以下功能的45nmSoC是该公司实现多核应用时面临的主要挑战。这些功能包括:1.1.5GHz高性能内核;2.使用联合了前端和后端缓存执行的高性能存储子系统;3.实现硬件缓存一致的非模块化
6、多路经通信的CoreNet片上控制网络;4.一整套大于1GB的高速并行连接。而英特尔资深架构经理赵军认为:“高-k金属栅极晶体管的实现以及45纳米新工艺的量产是实现多核时所遇到的挑战。”他还表示:“不过这两个难题英特尔早已经顺利解决,否则就不会有现在的量产能力。”以上提到的大多数都是硬件方面的挑战,实际上仅仅克服这些硬件挑战还远远不够。ENEA的高级技术市场经理张永军先生表示:“软件是和硬件一样重要的考虑事项,除非软件可以跟得上硬件前进的脚步,否则使用者不会得到任何好处。”比如在多核处理器上编写应用程序就远比在单核上要复杂,虽然商业可
7、用的操作系统已经可以自动地将多个应用分配在不同的核上,但是开发人员在编写单独的应用时还是需要非常谨慎,以便于通过并行编程来充分利用多核技术。NI中国市场经理朱君女士就此表示:“编写并行应用程序的第一个挑战就是如何确认程序中的哪些部分可以同时操作,在不同的处理器运行,然后在代码中对这些部分实现并行。多核编程的第二个挑战在于线程的同步。当数以百计的线程运行于一个特定的应用程序上时,用户必须要确保所有的线程都能够协同工作。而调试对多核应用绝对是一个特别的挑战。这因为用户不仅必须同时追踪多段代码的执行,而且还需要确定代码的哪个部分运行于哪一个
8、核上。”她还表示:“基于NILabVIEW的图形化编程环境和本质上的并行编程构架,编程者可以大大降低多核编程的复杂性,并且随着处理器核数的增加,LabVIEW会自动分配线程,在无需大规模重写代码的情况下确保性能的提升。”
此文档下载收益归作者所有