新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 英特尔推动多核技术在嵌入式系统的应用

英特尔推动多核技术在嵌入式系统的应用

作者:包益平 沈海 英特尔公司 彭翔宇 上海交通大学时间:2008-06-18来源:电子产品世界收藏

  在过去相当长一段时间,厂商都不遗余力地通过不断提高主频来提高的性能。但是随着的发展,单处理器核心内部晶体管的集成度已超过上亿个,主频提高带来的功耗及发热量呈几何倍数增长,传统处理器体系结构的瓶颈日益显现。于是,另一种全新的芯片构架诞生了,这就是处理器,即在单个芯片上集成多个个处理器内核。通过优化的核内部体系架构,处理器能在较低的主频下实现更加优越的性能。
  
  对于系统而言,技术较过去可以提供更高的处理器性能、更有效的电源利用率,并且占用更小的物理空间,因而具有许多单核处理器无法具备的优势。和通信集团总经理Doug Davis就曾指出,在高端通信和医疗成像等计算密集型应用领域,系统客户们已经纷纷要求公司提供具有更长生命周期的多核器件。多核已经成为世界半导体发展的必然趋势,更是嵌入式设计的未来趋向。

本文引用地址:http://www.eepw.com.cn/article/84421.htm

Core 2 duo架构

  英特尔最新的基于Core 微架构的多核处理器即是片上多核处理器的典型代表。如图 1中 Core 2 duo的架构所示,两个内核集成在一个芯片上,共享4MB的二级缓存, 每个内核都有独立的CPU 状态,中断逻辑,执行单元和一级缓存。处理器的每个内核可以独立执行单独的线程。由于共享了二级缓存,对于大量数据共享的不同线程,可以大大减少线程间通讯开销,从而提高系统性能,这也是片上多核比多处理器性能优越的根本原因。


图1  Intel Core 2 duo 架构

  英特尔所有的x86平台(台式机、笔记本和服务器平台)处理器中的每个内核都统一采用先进的Core 微架构,如图 2 所示。每个内核由指令缓存/译码部件、重命名/地址分配部件、重排序缓冲区、调度器、微代码ROM、缓存部件等功能组成。每个内核都采用乱序执行,支持EM64T 与SSE4 指令集,具有14 级有效流水线,内建32KB一级指令缓存与32KB一级数据缓存,并且2 个核心的一级数据缓存之间可以传输数据;同时为每个一级缓存和二级缓存配置多个预取器。

  这些预取器同时检测多个数据流和大跨度的存取类型,使得在一级缓存中及时准备待执行的数据。二级缓存的预读器可以分析内核的访问情况,确保二级缓存拥有潜在需要数据。Core具有4 组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5 条X86 指令,生成7 条微指令,并拥有改进的分支预测功能;拥有3 个调度端口,内建5 个执行单元,包括3 个64bit 的整数执行单元(ALU)、2 个128bit 的浮点执行单元(FPU)和3 个128bit的SSE 执行单元;采用新的内存相关性预测技术,支持增强的电源管理功能,支持硬件虚拟化技术和硬件防病毒功能。


图 2. Intel Core 微架构

 多核的挑战和机遇 

  “芯片是IT产业的心脏,软件是IT产业的灵魂。”多核的CPU已经很普及了,但是经常听到人说并没有觉得使用了多核性能就加倍了,为什么呢?因为用户使用的软件还停留在单核时代,根本就没有使用到多核的功能。要想充分发挥多核以及多处理器解决方案的潜能,仅仅依靠强有力的芯片是不够的,还需要采用新的编程方法。利用多核处理器的编程应用是一个巨大的编程挑战!

  首先是并行的思考方式,比如要分辨出哪些任务是可以同时执行的。其次是线程的创建和管理。开发人员把任务划分成多个并行步骤之后,就要通过线程的方式来实现。多线程编程是相当困难的,很多传统的编程语言都需要一组新的函数或结构来创建、同步、加解锁线程,这意味着工作量的增加。与此同时,开发人员还需要考虑并行代码段之间哪些资源是不能共享的,比如文件、内存、硬件等等,否则会导致资源的冲突和竞争,使得并行线程因等待资源而暂停。此外,如何对复杂的多线程编程进行调试,以及如何在多核的实时系统中保持确定性,都是值得考虑的问题。

  在面对多核编程的同时,多核也给我们带来了无穷的机遇。首先全世界都站在同一起跑线上,美国也遇到了和我们一样的问题和挑战,让中国有机会走到世界前列。其次,以前需要用占几个房间的每秒千亿次计算机现在一个多核芯片就能解决,这个多核芯片可以非常小,小到车载或便携。这样就会有很多以前无法做到的新应用被发明创造出来。例如,东软公司做的汽车辅助安全驾驶系统,在汽车行驶中,可以自动侦查汽车附近的物体,如有碰撞的危险,会及时报警和刹车。这个过程需要每秒进行几千亿次的运算,过去是没法实现的,现在有了多核CPU,在一个最新的8核CPU上就可以实现了。这个系统是完全在国内设计开发的,在国际上也是处于领先。

嵌入式多核技术在高校的推广

  “2008年英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛”上首次采用基于英特尔双核处理器的嵌入式系统作为竞赛平台。双核系统推出市场不到两年的时间,此次竞赛就采用市场上的主流技术作为竞赛平台,旨在鼓励学生充分发挥创新精神,在双核平台上设计出具有多任务处理能力的作品。为了帮助参赛学生更好地了解英特尔双核处理器,组委会和英特尔公司在赛前专门组织参赛学生和指导教师代表进行了为期三天的赛前培训。通过本次培训,参赛学生和老师代表均反映,培训帮助他们打下了多核技术的基础,对更快地进入竞赛氛围有很大的帮助。英特尔也希望提供给中国理工科学子以及未来的工程师更多接触国际先进技术的机会,由此帮助提升中国技术研发和自主创新能力。

  为帮助中国的高校及软件开发企业尽快掌握最新的多核知识,更好地开发基于多核平台的并行程序,英特尔软件学院作为英特尔公司的专业培训机构,已经并且正在广泛开展面向高校的多核师资培训及面向软件开发企业的多核技术培训。一些重点高校的教师通过培训及参加英特尔软件学院的大学项目,已经在英特尔多核课程的基础上开发出面向学生的多核课程。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭