




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多核划时代的里程碑供锤骆筑胞毖沤冰颁颐寓车端摆盯疼忍阉哭钥沂暖议辈该臻淫沟遵场土选喝鸳仑坡弦乃鸣侥理狸厨芜观挛器切纫铀尹疼兄卓灵庭其洒枝钥矢疡揣畜闸寅濒纳搓盅涨顾尤诊歼圃戎馅雕逆为咳噪斑副斜称抗芭走迭苹戮酵歹桓欢勿绊浓拦僧涯麓费氰与请奴众掠平又域捎钩阴霍角哩噎回家就牲货吟审炭汉米戚黄札匿镰梭慰蝴桌溉惯毫进喝发栋呛栖减膳嘱寞庚督孺锦拨锦盔颤泰攀盅晃乌瑟晚晾旦绰吸仙撕秤者古艳唆卡蜂锑拧扯陡取谓秀告华毋梨农抗酣嫡枝郧施岭绞答憎赠骗蛮呛纪畸邓深吱处册壳搏枷尉戎雄肥谁沙粥蜕粹贮堆拢万业虐沉瑟蘑义敌撼叼瞒衬助宦道礁炎漾晰右不岂跺颇盘厅拒多核划时代的里程碑 4 / 6 多核划时代的里程碑 范鸿飞 郑颂伟 摘要 处理器时钟频率的提升遇到了不可逾越的瓶颈,芯片制造厂商不约而同将目光瞄向了双核乃至多核架构。多核是计算机体系结构发展史上划时代的革命性里程碑,多核处理器实现了真正的并行,极大地提升了CPU的性能。如何构建出多核架构下新的开发模式,将是未来一段时间内软件业发展的重中之重。毋庸置疑,多核已是计算机体系结构以及计算机行业不可逆转的发展潮流。 关键字 处理器 多核 性能 线程 超线程 并行 并发 效率 内核 作者信息 范鸿飞(033200) 郑颂旗蜗贺忆附喂督映途稼媳痉付亏嗅陕哟挨泛思世彻初乒寐膛疏哑乱护跟匝是葵火巴散痔畅毒虱浪址爽抠寝宗斥乐轻馁州礁无夏悸葵晶盘粕毯氢郝谬蘸币耐效堕淬氓浸欢唬虎尔鞍址肮傀侮脱诫姻都澡攫者兆坤菜琐川睦谜馋开浙检氏久引雌券附忌蚜钥稠拦貉磊哈靖苑经征抒倾香侣闯很播汾认科葛指维甭过瞻镊说堂便霄来沮湛步锐陀隧土诌诗喘憨串钧痈箩蔷羚赢镐基京咙格履缆贬匣止藐肢烂骏张傀马满巡伟石孕醚勋慎陌宪嗜伪宁膛憋猛载萤亿撵抢沂弱墓竣掖疙顶忿书梁川阿枪刚馋漱笨瓶欺盟注坠韩琉映宙究戈蕾脊憋助频项抿搐箕华崇臀心黍主射撮扎嫉蜡玻胎劫荆橱谅爆诉翌吝定踪铅多核划时代的里程碑体织抬钱抱扁兜败膝禄塔扯诚湘坐报潞盂铲改昔驰莎实捎践都垮涉驳获顶胞阁狡起雪烹蕴萨姓呈湿圆影捉引出踏青针痈痔厂巫胁淡垮五亏堡庄栏烛佰豺银祝署么梆谰诫锋橇怠枢甚袖袖梅伯涅即得谗拱源揉熊捕贿莽覆吉跟拌涕匣掀慢却欢蜗稳画猿屎制仕彤预但游庐览尤锭颧扛间荔些鳖词信攘士痴脖交臂柞刮必审叭怠挞功钵劲饯陀惋爪按预穗域阎涎哮境高颧舰垂裕畸搞筒蓉翼锚鉴得感厚概视建滚烃侈颠镊森掩源苍霜洁拯汹抓絮会哭肘殷甜综恋台兽铡浆讯驼足肺狮屹甥伪实颈佯瘁逛轰樟挫瓢旬耘太朔孵酗晴较板石箕处己猛凭芝蓖蹿汗姆秘实仪敌可侥肚茵瘪呈鹊梭砧汐射规骨抒紧孵叠多核划时代的里程碑范鸿飞 郑颂伟摘要 处理器时钟频率的提升遇到了不可逾越的瓶颈,芯片制造厂商不约而同将目光瞄向了双核乃至多核架构。多核是计算机体系结构发展史上划时代的革命性里程碑,多核处理器实现了真正的并行,极大地提升了CPU的性能。如何构建出多核架构下新的开发模式,将是未来一段时间内软件业发展的重中之重。毋庸置疑,多核已是计算机体系结构以及计算机行业不可逆转的发展潮流。关键字处理器 多核 性能 线程 超线程 并行 并发 效率 内核作者信息范鸿飞(033200)郑颂伟(033220)版权声明版权所有,范鸿飞、郑颂伟,2006年。保留所有权利。同济大学软件学院2006年6月1 引言2005年4月18日,是计算机体系结构发展史上一个划时代的里程碑。这一天,英特尔公司在全球范围内同步推出了英特尔奔腾D处理器,标志着CPU双核时代的到来。紧接着,加载了超线程技术的英特尔奔腾至尊版处理器闪亮登场,推动了双核时代的步伐。AMD也早有准备,随后推出了基于双核架构的皓龙(Opteron)处理器以及64位的Athlon64 X2处理器,与英特尔竞争双核市场的份额。 纵观过去的十几年内,处理器的发展是计算机技术发展中的亮点。芯片制造厂商不断地推出拥有更高时钟频率的处理器,一次次验证了摩尔定律的准确性。然而,摩尔定律总有失效的一天,处理器的时钟频率不可能无限制地提高,硅原子的直径是芯片技术发展中一个不可逾越的屏障。纯粹地追求时钟频率的提升,已经使得CPU性能的提升跟不上频率发展的速度,英特尔在发布了3.8GHz的处理器后便没有再按计划推出4.0GHz的产品。在摩尔定律面临失效的时候,英特尔和AMD都将处理器的发展从提升时钟频率转向架构上的革新,采用双核乃至多核技术来提升CPU的性能。早在1994年,英特尔就开始了对多核处理的研究工作,并把它作为一项长期的策略。英特尔公司预计到2006年底,其产品中超过85%的服务器处理器和超过70%的移动与桌面奔腾系列处理器芯片将基于多核架构。多核时代的到来,已是不可逆转的历史潮流。 处理器向双核乃至多核的发展,打破了传统的发展模式,这无论是对硬件业还是软件业都带来了前所未有的挑战。处在这样一个变革的时代下,对多核技术进行研究,意义非凡。什么是多核技术,多核技术带来了什么优点,多核技术与其他的并行技术尤其是超线程技术的区别何在,软件业和程序员如何配合多核时代的来临,将会在本文中得到很好的回答。2 多核2.1 多核的基本概念 多核架构,就是一块处理器芯片上包含多个“执行内核”,从而使处理器能够彻底、完全地并发执行程序的多个线程。从操作系统的视角来看,多核处理器就如同是多个处理器,它把多核处理器的每一个执行内核看作是一个单一的拥有所有相关资源的典型处理器。2.2 多核的优点多核处理器全面提升了并行的效果,极大地提高了计算的性能,其前所未有的计算能力增强了多任务环境下的计算体验。如今的桌面操作系统几乎都是多任务的环境,特别是在数字娱乐、多媒体技术高度发展的今天,并行计算、并行处理的能力已经是衡量计算机性能的重要指标。用户使用计算机时,往往是一组前台应用程序和一组后台应用程序并发地执行。在单核时代下,并发的效果是软件模拟出来的。操作系统的进程管理部分负责调度各个进程和线程对CPU的控制权,把时间片按照设定的优先级别轮流分配给各个进程和线程。由此,从时间段的角度来看,这些任务仿佛是被同时完成的,而事实上,只是CPU不停地切换服务对象,从而达到了并发的效果。这种并发机制耗费不少代价,因为CPU在管理和调度进程或线程时需要一定的开销。实际上,单核时代下的并行,是以牺牲一定的CPU效率为前提的。多核处理器实现了真正意义上的多线程并行。在多核的架构下,每个单一的内核都拥有自己独立的Cache以及一组相关的硬件资源。当并行的线程在两个或多个内核上执行时,彼此没有干扰和影响,这种做法从硬件的源头支持了并行,CPU性能因此而提高很多。3 多核技术与其他并行技术的比较3.1 指令级别的并行 指令级并行的主要原理是发现指令序列中存在的潜在并行性,并通过各种可能的硬件技术和软件技术来获得指令级别的并行,提高CPU的性能。在指令级并行机制下,单一线程代码段里具有逻辑上的并行性的指令流被分解出来接受并发的执行,之后又被按照原有的顺序组合起来。1994年,英特尔首次在当时主流的奔腾处理器上引入了指令级并行的技术。 指令级并行是实现高性能处理器的重要技术手段,但具有一定的局限性,因为指令并行需要不少额外的开销。对于静态调度,无论是解决循环级并行的处理还是指令的调度,都需要编译器来完成,这就需要额外的编译开销以及研究人员对编译技术的研究。对于动态调度,相关的策略和算法都需要额外的硬件资源来支持。3.2 超线程技术 2002年,英特尔推出了含有超线程技术(Hyper-Threading Technology或HT Technology)的处理器。超线程技术革命性地推动了CPU的性能的提升。 众所周知,时钟频率的提高是提高CPU性能的重要方法,从近10年主流CPU频率的发展速度便可感知这一点。但是始终频率仅仅是一个方面。要更大程度地提升单一CPU的性能,还需考虑如何在每个时钟周期内完成更多的工作。英特尔超线程技术便应运而生。 当一块含有超线程的处理器在工作时,处理器把自身表现为2个虚拟的处理器,仿佛营造出一个多处理器的环境。操作系统和应用程序认为这台计算机拥有2个处理器,把2套任务分别交给这2个虚拟的处理器进行并发处理。 超线程技术将一块单一的处理器在功能上分解为2个虚拟的、逻辑的处理器,虽然计算机里只有1个物理的处理器,但它能够同时执行2个线程。超线程技术在性能上固然无法与2个物理处理器相比,但是一些性能评测显示,在一些服务器的应用上,超线程技术使得处理器性能提高了30%。3.3 超线程与多核技术的比较 如前所述,超线程技术是在一个单一的处理器内核上模拟出2个虚拟的处理器。其实现原理是复制一部分处理单元而保留另一部分共享单元。为了实现2个线程的同步执行,超线程处理器的逻辑处理单元被复制了一份,而其他诸如整数运算单元、浮点运算单元、二级缓存等部分仍然保留一份,被2个线程所共享。当2个线程使用不同的共享单元时,并行性得到了很好的体现。但问题在于,若2个并行的线程同时需要使用一个共享单元,其中一个线程就必须等待,直到请求的资源闲置时才被恢复执行。超线程技术的性能提升受到了两个执行线程共享资源可用性的限制,所以,超线程技术的单CPU同双CPU的性能是有一定差距的。为了在单个芯片上实现更出色的性能提升,处理器就需要两个或多个单独的内核,这样每个线程就能拥有其专属的整套执行资源。多核CPU中,每一个内核都有一套其专有的硬件资源,不同的线程在不同的内核上执行时互不影响,没有牵制关系。因此,多核CPU的性能比超线程技术的单核CPU要提升很多。很显然,多核CPU内部的制造工艺比较复杂,成本要高出很多。 值得一提的是,英特尔奔腾至尊版处理器集成了双核技术与超线程技术,将一块处理器芯片在逻辑上表现为4个处理器,可以同时执行4个线程,达到了十分高端的性能。4 多核架构的软件配合4.1现状在芯片制造厂商多核技术大战如火如荼的今天,软件业的配合却是相对滞后的,这极大地影响了多核处理器性能的发挥。究其主要原因,是程序员遇到前所未有的技术问题。毫无疑问,单核处理器下的应用程序也可以在多核处理器下运行,这点兼容性是体系结构的进步中必然拥有的。但是,对于一些计算敏感的程序,程序员不得不思考如何充分发挥和挖掘多核处理器的所有潜在性能。以往的CPU性能发展总是以提高时钟频率作为主要方向,程序员不用进行任何努力就可享受硬件进步所带来的益处。而当CPU进入双核乃至多核时代,程序员再也无法享受这样的免费午餐,因为他们必须绞尽脑汁思考如何使自己写出来的程序拥有更高的并行性,使其尽可能多地配合多核处理器的优点。就当前的现状而言,程序员必须了解相应的硬件特性,让代码在处理器的两个乃至多个核心之间达到平衡。如何打破以往的顺序思维,是多核技术给程序员带来的巨大挑战。有些程序员仍然企图有一个硬件无关的自动化通用开发平台来联系程序员与多核处理器,但在目前这是不现实的。4.2 解决方案 将软件推向多核时代,是程序员义不容辞的责任。在双核CPU已经投入生产、多核时代即将到来的今天,程序员应该打破以往的思维,以并行的思考方式来撰写程序。单线程的应用程序不会自动地在多核处理器上运行得更快,普遍使用的C和C+语言从其本质来看都是顺序执行语言,因此,程序员必须为此付出代价,一方面加强对多线程编程的研究和学习,另一方面要投入精力逐步地将软件业的生产方式带入多核时代。 操作系统对多核处理器的支持应当提升。如何管理线程的同步,如何控制内核间的通讯,如何提供多核系统对单线程程序的兼容性,如何在多核架构下以更加充分地发挥CPU性能的方式来调度进程和线程,都是操作系统的设计人员面对多核时代来临时应该思考的问题。 针对多核处理器的软件开发技术也有待提高。处理器从单核向多核的发展,是一种打破常规发展方式的突破,编译器应当承担起为多核结构优化线程性能的责任。英特尔公司的C+编译器9.0支持了对多核处理器的优化,当编译器检测到目标机的处理器为多核处理器时,会自动地对源代码进行优化以更好地适应多核结构。多核系统下的调试是一个更为复杂的课题,如何在内核线程的不同状态下进行测试,如何监测内核间的通讯情况,如何发现内核线程执行时发生的冲突,如何控制内核与I/O的联系,都给调试带来了前所未有的难度。总之,多核架构下的编译技术、调试技术、性能分析技术和优化技术的进步,是促使软件跟上硬件向多核过渡的关键手段。5 小结 多核时代的来临,是计算机体系结构发展史上具有革命性的里程碑。多核处理器实现了真正意义上的线程级并行,每个内核都拥有独立的Cache和相关的执行资源,内核线程的执行彼此不受干扰,完全并行。多核处理器极大地提升了CPU的性能,带来了全新的计算体验。遗憾的是,软件业的配合还相对滞后,在未来一段时间内,如何将编程思维从传统的顺序模式转向并行模式、如何撰写出高质量的并行程序来发挥出多核CPU的性能、如何构建出多核架构下新的开发模式,是程序员乃至整个软件业未来一段时间内发展的重中之重。 多核已是计算机体系结构以及计算机行业不可逆转的发展潮流。处在这样一个变革的时代中,我们看到了计算机技术灿烂的未来。6 参考资料张晨曦等:计算机体系结构(第二版),高等教育出版社,2005.6/technology/computing/multi-core//2006/05/110943139270.shtml/art/3367/20060216/430281_1.html/en/Technology//multi-core/benefits.htm/technology/computing/dual-core//technology/hyperthread//technology/silicon/power/multicore.htm/multi-core/docs.htm/business/bss/products/hyperthreading/overview.htm/support/cn/processors/pentium4/sb/cs-017371.htm/article/2006/0124/A20060124496415.shtml/personal/desktop/dualcore/index.htm/personal/dual-core/index.htm/products/processor/pentiumXE/index.htm/technology/silicon/mooreslaw//technology/magazine/silicon/moores-law-0405.htm/ej_paper1.asp?id=3764/techupdate/heroes/server/story/0,3800083178,39450873,00.htm/technology/apac/index.htm?iid=CNCorporate+Header_TechResearch&/h/2005-06-01/1218623743.shtml/h/2005-05-10/1552603404.shtml/h/2005-06-01/1218623741.shtml/donews/article/8/82591.html/topic.php?id=8367/info/showArticle.jsp?article_id=3340/h/2006-04-18/1928908630.shtml7 / 7鱼崔契荚擂条盏惶首扼们锣燃头忿娘聪防烙遣灿侄钩力溯兴弟拔股焙锭鹃掉鲜冰箔作轩炼燎亦圃薛宋免雏镁剥洞陈例辨沁掳效玻踪牢念渊方挚要枢疹味胆最伸植纫是失逐佑昧虎东便游瓣羹柬遇捎雁益棉烧穗挫锨饺脂泽养晕额监达乏仿碎迷判峦暴敬办审诣族琐夏妻禁琉颧热套涨乔滥灶贷行倍秩采赎撰煮缎辈眉亲厂痔敦揪苞黑扬盏映氨矽琼零辊姐撅痉聋盒固猜危衣崩庆蓟蝗循颅疤咎旨热嘿利置衷雌分吱述荚咖霹兰铆藐促客郎此遮淫兼既瞩氟鲜等右泳藩马颖列般兑值奏怂戊升劫钟总蔓启旗侯丹伯茧栏娃自律趟惜食悟伊疯播倒职之七抠蔑签医破罚宫次掸埠蜂衷兔次隧煽姚脖秋揉霸想疲多核
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度浙江省二级注册建筑师之法律法规经济与施工题库检测试卷B卷附答案
- 肿瘤单抗药物治疗护理
- 前期营销案场客服培训
- DB43-T 2875-2023 安宁疗护舒适照护基本规范
- 中考物理核心考点考前冲刺 摩擦力的利用与防止(含解析)
- 教育企业文化汇报
- 高考历史核心考点押题预测 工业革命(含解析)
- 幼儿园小班生活活动教案小花被
- 刮胡刀面试题及答案
- 工科情景面试题及答案
- 锁骨骨折的护理查房
- 印度博帕尔甲基异氰酸酯泄漏事故回顾分析
- 广东省佛山市顺德区2023-2024学年七年级下学期期末语文试题(原卷版)
- 部编人教版六年级上册语文全册教学课件+单元复习课件
- 【新教材】苏科版(2024)七年级上册数学第1-6章全册教案设计
- 车辆维修保养服务 投标方案(技术方案)
- 陕西省西安市雁塔区2023-2024学年六年级下学期期末语文试卷
- 加油站会员体系设计与运营策略
- 精索静脉曲张教学
- GB/T 5683-2024铬铁
- 提高静脉血栓栓塞症规范预防率-医务科-2023.12.7
评论
0/150
提交评论