多核处理器1
1_ARM Cortex-A系列处理器(A5、A7、A8、A9、A15)区别对比
ARM Cortex-A系列处理器(A5、A7、A8、A9、A15)区别对比2012-12-07本文介绍了基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的基本特性,基本上都可以支持ARM、Thumb-2、Thumb 指令集,支持Java加速扩展的Jazelle技术、 ThustZone的安全扩展以及针对浮点FPU的VFP硬件扩展和并行多数据的SIMD的NEON多媒体处理器扩展、支持主流的嵌入式 OS (Symbian、Linux、Android、Windows Mobile、Windows Phone)、支持分支预测branch prediction。
但各处理器在VFP/NEON的类型、半精度浮点(16-bit half precision floating-point)的支持、多核MPCore、流水线pipeline、单MHz处理性能、L1/L2 cache 控制器、乱序执行、指令dual-issue并发等方面有略有不同。
ARM Cortex系列处理器核包括Cortex-A系列(高性能,具备MMU,可以运行如Symbian、Linux、Android,Windows CE等操作系统)、Cortex-R系列(高端嵌入式满足高性能高可靠性的实时需求)、Cortex-M(嵌入式单片机,低功耗,低成本)。
表1.ARM Cortex 处理器和架构版本(应用处理器、实时处理器和微控制器)Cortex-A处理器共性•ARMv7-A 体系结构•对所有操作系统的支持o Linux 完整分配 - Android、Chrome、Ubuntu和Debiano Linux 第三方 - MontaVista、QNX、Wind Rivero Symbiano Windows CEo需要使用内存管理单元的其他操作系统支持•指令集支持 - ARM、Thumb-2(提供最佳代码密度和性能混用)、Thumb、Jazelle、DSP•TrustZone安全扩展•VFP 高级单精度和双精度浮点支持•NEON媒体处理引擎•支持分支预测branch predictionCortex-A5 ARM核处理器图1. ARM Cortex-A5处理器框架图Cortex-A5处理器支持ARMv7-A架构的特性,包括TrustZone安全扩展NEON多媒体处理引擎,芯片面积和功耗特性很好,但处理性能性对于其他Cortex-A略差,如只相当于Cortex-A8的80%性能,Cortex-A15的一半性能。
怎样禁用多核CPU中的一个处理器
在极其罕见的情况下,我们需要禁用多核CPU当中的一个CPU;比如我们需要玩一个很老的游戏,或者将某些街机游戏移植到台式机上。
以及一些游戏不支持多核cpu处理器。
等。
下介绍两种方法。
1.这种方法适用于游戏可以启动,但是无法正常运行或者不能正常显示,或闪一下就退出的。
修改完毕后也不用重启。
先打开游戏,在按Ctrl+Alt+Delete,打开进程管理页面,找到该游戏的进程名,右键单击需要修改的进程,如下图所示,随便勾掉几个CPU即可。
等下次在进入游戏时还得这样调一下。
2.这种方法适用于游戏无法启动,修改后需要重启计算机。
在开始菜单里面点击“运行”,输入msconfig确定,弹出如下的对话框,按图修改,重启计算机即可。
下次进入游戏时不需在设置。
需要注意的是,禁用CPU后,系统整体性能会下降。
一分钟看懂CPU多发射超标量、多线程、多核之概念和区别
【闲来无事、做做科普、反正也算是marketing job;教你一分钟看懂CPU多发射超标量/多线程/多核之概念和区别】最近在多个场合大肆宣扬多核多线程,收到对多线程表示不解的问题n多,苦思多日,终得一形象生动的模型,你肯定懂的。
因为是比喻和科普、过于严谨的技术控请勿吐槽。
处理器性能提高之公开秘笈:超标量、多线程、多核。
用于说明的生活模型:高速公路及收费站。
简单CPU的原型:单车道马路 + 单收费闸口,车辆只能一辆辆排队通过,并行度为1。
为了提高通行能力同时积极创收,相关部门运用世界顶尖CPU设计理念,对高速公路系统进行了如下拓宽改造:(1)增加车道(图示为3条车道);(2)增加收费通道(图示为2个通道);(3)每个收费通道放置多个收费员(图示每条通道有a和b两个收费窗口)。
其中(1)+(3)组合手段就是所谓的超标量结构,该图示为双发射超标量。
超标量指有多个车道,双发射是指有a和b两位收费员可以同时发卡,把两辆车送到不同车道上去。
手段(2)就是多线程的模型了,原有车道不变、只增加收费通道,这样多个车流来的时候可以同时发卡放行。
从这个比喻来看多线程显然是个非常直观和有用的办法,但为什么在CPU世界中似乎有点模糊难懂的感觉呢?那是因为CPU的指令流喜欢一个挨一个、一列纵队龟速前进,这样的话单通道多收费员还起点作用、多通道就形同虚设了。
收费员1.a和1.b会累死,而2.a和2.b则能够睡觉。
因此把车流进行整队就很重要——这就是并行编程,即要设法把一列纵队排列成多列纵队。
至于多核的概念,那就简单粗暴很多了,直接在这条马路边上进行征地拆迁、新修一条一模一样的高速公路便是,牛吧。
现在大家手机里面的多核,就是并排几条“单收费通道+多车道”的马路,车流稀少、路况不错,不过相关部门表示因为道路利用率底下、经济效益欠佳、回收投资压力巨大。
无论多核还是多线程,都有一个同样的问题需要解决,就是要把车流整成多列纵队,这样多条马路和多个收费通道的并行度才能发挥作用。
9654cpu参数
9654cpu参数CPU的全称是Central Processing Unit,即中央处理器,是计算机的核心部件之一。
它负责控制计算机的所有程序和操作。
9654是一款CPU的型号,下面将详细介绍该CPU的参数。
1. 基本参数9654 CPU是一款64位的多核处理器,其主频为3.4GHz。
它采用了Intel的第九代酷睿i9架构,支持超线程技术,最大支持16个物理核心和32个逻辑核心。
2. 技术参数(1) 制造工艺9654 CPU采用14nm的工艺制造,具有更高的性能和更低的功耗,能够更好地满足用户的需求。
(2) 缓存该CPU的L1缓存容量为320KB,L2缓存容量为8MB,L3缓存容量为16MB。
缓存大小的增加可以提高CPU的性能和速度。
(3) 性能9654 CPU具有优异的性能表现。
它在单核心性能方面达到了Cinebench R20基准测试中的第一名,而在多核心性能方面也非常优秀。
它能够处理各种类型的应用程序,包括游戏、视频编辑和图形设计等。
该CPU的能效比非常高,能够在保证高性能的尽可能地减少能耗。
它的TDP(Thermal Design Power)为125W,功耗适度,不会过于耗电。
(5) 支持的技术该CPU支持多项先进技术,包括Intel Turbo Boost技术、Intel Hyper-Threading技术、Intel Virtualization技术和Intel AES指令集等。
(6) 显卡9654 CPU集成了Intel UHD Graphics 630显卡,支持DirectX 12、OpenGL 4.5和OpenCL2.0等多个图像技术,能够为用户提供流畅的游戏和视频播放体验。
3. 总结在计算机时代发展的过程中,CPU一直是计算机核心部件之一,是计算机性能和速度的重要指标之一。
而随着信息技术的不断发展和进步,CPU技术也在不断创新和升级,越来越强大和高效。
9654 CPU采用了Intel的第九代酷睿i9架构,该架构整体性能非常出色,并且相较于以前的CPU,大大提升了处理器性能。
计算机专业英语-1-8英语翻译
Chapter 11.multi-core processor(多核处理器)------It is a single computing component with two or more independent actual processing units called “cores”, which are the units that read and execute program instructions.它是集成了两个或两个以上称为“核”的处理单元的计算部件,具有读取和执行程序指令的单元。
2.graphics processing unit(GPU)(图形处理单元)------A graphics processing unit, also occasionally called visual processing unit(VPU),is a specialized processor. It is designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display.它是一个图形处理单元,有时也被称为视觉处理单元VPU,一个专门的处理器。
它的设计目的是快速地操作和改变内存,以加速在帧缓冲区中创建图像,以便显示输出。
3.Wearable computer(可穿戴电脑)------A wearable computer, also known as a body-borne computer or wearable ,is a miniature electronic device that is worn by the bearer under, with or on top of clothing.穿戴式电脑,也被称为人体电脑或穿戴电脑,是一种微型电子设备,由持有者佩戴在身上或者衣服上。
1_ARM Cortex-A系列处理器(A5、A7、A8、A9、A15)区别对比
ARM Cortex-A系列处理器(A5、A7、A8、A9、A15)区别对比2012-12-07本文介绍了基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的基本特性,基本上都可以支持ARM、Thumb-2、Thumb 指令集,支持Java加速扩展的Jazelle技术、 ThustZone的安全扩展以及针对浮点FPU的VFP硬件扩展和并行多数据的SIMD的NEON多媒体处理器扩展、支持主流的嵌入式 OS (Symbian、Linux、Android、Windows Mobile、Windows Phone)、支持分支预测branch prediction。
但各处理器在VFP/NEON的类型、半精度浮点(16-bit half precision floating-point)的支持、多核MPCore、流水线pipeline、单MHz处理性能、L1/L2 cache 控制器、乱序执行、指令dual-issue并发等方面有略有不同。
ARM Cortex系列处理器核包括Cortex-A系列(高性能,具备MMU,可以运行如Symbian、Linux、Android,Windows CE等操作系统)、Cortex-R系列(高端嵌入式满足高性能高可靠性的实时需求)、Cortex-M(嵌入式单片机,低功耗,低成本)。
表1.ARM Cortex 处理器和架构版本(应用处理器、实时处理器和微控制器)Cortex-A处理器共性•ARMv7-A 体系结构•对所有操作系统的支持o Linux 完整分配 - Android、Chrome、Ubuntu和Debiano Linux 第三方 - MontaVista、QNX、Wind Rivero Symbiano Windows CEo需要使用内存管理单元的其他操作系统支持•指令集支持 - ARM、Thumb-2(提供最佳代码密度和性能混用)、Thumb、Jazelle、DSP•TrustZone安全扩展•VFP 高级单精度和双精度浮点支持•NEON媒体处理引擎•支持分支预测branch predictionCortex-A5 ARM核处理器图1. ARM Cortex-A5处理器框架图Cortex-A5处理器支持ARMv7-A架构的特性,包括TrustZone安全扩展NEON多媒体处理引擎,芯片面积和功耗特性很好,但处理性能性对于其他Cortex-A略差,如只相当于Cortex-A8的80%性能,Cortex-A15的一半性能。
多核处理器任务并行调度算法设计与优化
多核处理器任务并行调度算法设计与优化随着计算机技术的快速发展,多核处理器成为了当前计算机系统的主要设计方向之一。
多核处理器拥有多个处理核心,可以同时处理多个任务,提高计算机的处理性能和并行计算能力。
然而,如何有效地调度和管理多核处理器上的任务,成为了一个重要的课题。
本文将介绍多核处理器任务并行调度算法的设计与优化。
首先,我们需要了解多核处理器任务并行调度算法的基本原理。
多核处理器上的任务调度是指将不同的任务分配到不同的处理核心上,以最大程度地提高处理器的利用率和性能。
而并行调度算法则侧重于如何将任务分配到不同的处理核心上,并保持任务之间的并行执行,以实现更高效的任务处理。
在多核处理器上,任务并行调度算法需要考虑以下几个关键因素。
首先是任务之间的依赖关系。
如果一个任务依赖于另一个任务的结果,那么在调度时需要确保被依赖的任务先于依赖任务调度执行。
其次是处理核心之间的负载均衡。
为了实现最佳的性能,需要确保每个处理核心上的任务负载平衡,避免出现某个处理核心负载过高而其他核心空闲的情况。
最后是通信开销。
在多核处理器上,任务之间的通信会引入额外的开销,调度算法需要尽量减少通信开销,提高整体的执行效率。
在设计多核处理器任务并行调度算法时,可以采用以下的一些经典算法。
首先是最短作业优先(SJF)调度算法。
该算法将任务按照执行时间进行排序,先执行执行时间最短的任务,从而减少任务的等待时间,提高整体的处理效率。
其次是先来先服务(FCFS)调度算法。
该算法按照任务到达的顺序进行调度,保证任务的公平性,但不能有效地利用处理器资源。
再次是最高响应比优先(HRRN)调度算法。
该算法通过计算任务等待时间和服务时间的比值,选择具有最高响应比的任务进行调度,以提高任务的响应速度和处理器利用率。
最后是多级反馈队列(MFQ)调度算法。
该算法将任务分为多个队列,根据任务的优先级进行调度,优先处理优先级高的任务,并逐渐降低任务的优先级,以实现负载均衡。
片上互连网络多核众核处理器关键技术
精彩摘录
《片上互连网络多核众核处理器关键技术》精彩摘录
在当今高度信息化的时代,处理器技术作为信息技术的核心,其发展速度和趋 势一直备受。这本《片上互连网络多核众核处理器关键技术》一书,详细解析 了当前处理器技术的热点和未来发展方向,为读者揭示了多核众核处理器技术 的奥秘。
书中首先介绍了片上网络的基本概念和设计理念,深入阐述了其与传统的总线 式互连相比的优势和特点。片上网络的出现,使得处理器内部的通信变得更加 灵活、高效,为多核众核处理器的并行处理能力提供了有力的支持。
阅读感受
《片上互连网络多核众核处理器关键技术》读后感
在当今这个信息爆炸的时代,多核处理器已经成为了计算机技术的重要发展方 向。而在这一领域中,《片上互连网络多核众核处理器关键技术》一书为我们 提供了一个深入而全面的视角。这本书不仅介绍了多核处理器的基本概念和原 理,更进一步探讨了片上互连网络的关键技术,以及这些技术如何在实际应用 中发挥作用。
在阅读过程中,我深受启发。书中首先介绍了多核架构环境下的片上网络,详 细解释了片上网络如何适应多核设计的整体系统架构。在多核处理器日益普及 的今天,如何确保各个核心之间的通信效率成为了关键问题。片上网络的出现, 为这一问题提供了有效的解决方案。
书中还深入探讨了各种拓扑结构、成本及性能的权衡、路由算法、网络中使用 的流控制机制以及路由器微体系结构等细节问题。这些内容让我深刻体会到了 多核处理器设计的复杂性,以及片上网络在其中的重要性。
更令人印象深刻的是,书中还介绍了一系列基于片上互连网络技术的计算架构 设计案例。这些案例不仅展示了片上网络在实际应用中的优势,也让我明白了 如何在实际部署中进行取舍和融合各种技术。
在书的结尾部分,作者展望了未来几年在推动片上网络研究探索中将面临的关 键技术和新领域。这一部分内容让我对未来的技术发展有了更清晰的认识,也 为我未来的学习和研究指明了方向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多核处理器摘要:多核处理器也称为片上多处理器(chip multi-processor,CMP),或单芯片多处理器。
自1996年美国斯坦福大学首次提出片上多处理器(CMP)思想和首个多核结构原型,到2001年mM推出第一个商用多核处理器POWER4,再到2005年Intel和AMD多核处理器的大规模应用,最后到现在多核成为市场主流,多核处理器经历了十几年的发展。
在这个过程中,多核处理器的应用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计算机等众多领域,多核技术及其相关研究也迅速发展,比如多核结构设计方法、片上互连技术、可重构技术、下一代众核技术等。
然而,多核处理器的技术并未成熟,多核的潜力尚未完全挖掘,仍然存在许多待研究的问题。
二.什么是多核处理器2.1什么是多核处理器多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。
他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。
即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。
英特尔工程师们开发了多核芯片,使之满足横向扩展(而非纵向扩充)方法,从而提高性能。
该架构实现了分治法战略。
通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。
多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将每个执行内核作为分立的逻辑处理器。
通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多核架构能够使软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。
尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。
操作系统专为充分利用多个处理器而设计,且无需修改就可运行。
为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与对称多处理(SMP)系统的设计流程相同,并且现有的单线程应用也将继续运行。
得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。
此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。
多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。
多核技术是处理器发展的必然。
推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。
半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。
这两个因素是相互影响,相互促进的。
一般说来,工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。
但是今天,这种规律性的东西却很难维持。
多核的出现是技术发展和应用需求的必然产物。
2.2 多核处理器是怎么工作的三.多核处理器的特点从上面对什么是超线程技术以及它是怎么工作的介绍中我们已经对超线程技术的特点有了大致的了解,但是同其它提高系统性能的技术一样,它是既有优点又存在缺陷和不足的。
下面将从技术方面和实际应用两个方面对超线程技术的特点进行客观的分析说明。
3.1 超线程在技术方面的优点和缺点1、优点:一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。
这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。
对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑上。
另外,虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依然为程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序进行并行设计优化,以实现更好的程序运行效果。
上面介绍了多核心处理器在软件上面的应用,但游戏其实也是软件的一种,作为一种特殊的软件,对PC发展作出了较大的贡献。
一些多线程游戏已经能够发挥出多核处理器的优势,对于单线程游戏,相信游戏厂商也将会改变编程策略,例如,一些游戏厂商正在对原来的一些单线程游戏进行优化,采用并行编程使得游戏运行得更快。
有的游戏可以使用一个线程实现人物动画,而使用另一个线程来载入地图信息。
或者使用一个线程来实现图像渲染中的矩阵运算,而使用另一个来实现更高的人工智能运算。
如今,大量的支持多核心的游戏涌现出来,从而使得多核处理器的优势能得到进一步的发挥。
2、缺点要想让多核完全发挥效力,需要硬件业和软件业更多革命性的更新。
其中,可编程性是多核处理器面临的最大问题。
一旦核心多过八个,就需要执行程序能够并行处理。
尽管在并行计算上,人类已经探索了超过40年,但编写、调试、优化并行处理程序的能力还非常弱;并行粒度超过100以后,程序就很难写,能做到128个以上的应用程序很少。
CPU到了100个核以上后,现在并行计算机系统遇到的问题,在CPU一样会存在;3.2 超线程技术在应用方面的优缺点1、优点还有一些更常见的日常应用程序,例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运行速度也会得到较大提升。
例如,打开IE浏览器上网。
看似简单的一个操作,实际上浏览器进程会调用代码解析、Flash播放、多媒体播放、Java、脚本解析等一系列线程,这些线程可以并行地被双核处理器处理,因而运行速度大大加快(实际上IE浏览器的运行还涉及到许多进程级的交互通信,这里不再详述)。
由此可见,对于已经采用并行编程的软件,不管是专业软件,还是日常应用软件,在多核处理器上的运行速度都会大大提高。
日常应用中的另一种模式是同时运行多个程序。
许多程序没有采用并行编程,例如一些文件压缩软件、部分游戏软件等等。
对于这些单线程的程序,单独运行在多核处理器上与单独运行在同样参数的单核处理器上没有明显的差别。
但是,由于日常使用的最最基本的程序——操作系统——是支持并行处理的,所以,当在多核处理器上同时运行多个单线程程序的时候,操作系统会把多个程序的指令分别发送给多个核心,从而使得同时完成多个程序的速度大大加快。
2、缺点虽然英特尔已向外界展示了80核处理器原型,但尴尬的是,目前还没有能够利用这一处理器的操作系统。
四.多核处理器与单核的区别双核和单核和多核的区别是每个核都有自己的任务,比如双核一个核一个处理图片一个核处理二进制,,单核就是什么信息都有它处理,多核就是减轻单核的处理任务,使其更快。
CPU频率,就是CPU的时钟频率,简单说是CPU运算时的工作的频率(1秒内发生的同步脉冲数)的简称。
单位是Hz。
它决定计算机的运行速度,随着计算机的发展,主频由过去MHZ发展到了现在的GHZ(1GHZ=1000MHZ=1000000KHZ=1000000000HZ)。
通常来讲,在同系列微处理器,主频越高就代表计算机的速度也越快,但对于不同类型的处理器,它就只能作为一个参数来作参考。
另外CPU的运算速度还要看CPU的流水线的各方面的性能指标。
由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU 实际运算速度较低的现象。
因此主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
多线程是单核的处理项,线程越多能处理的项也就越多,但不代表速度就快了。
五.多核处理器的应用并行计算技术是云计算的核心技术,也是最具挑战性的技术之一。
多核处理器的出现增加了并行的层次性能使得并行程序的开发比以往更难。
而当前业内并无有效的并行计算解决方案,无论是编程模型、开发语言还是开发工具,距离开发者的期望都有很大的差距。
自动的并行化解决方案在过去的30年间已经被证明基本是死胡同,但传统的手工式的并行程序开发方式又难以为普通的程序员所掌握。
Intel、微软、SUN、Cray等业内巨头正投入大量人力物力进行相关的研究,但真正成熟的产品在短期内很难出现。
可扩展性是云计算时代并行计算的主要考量点之一,应用性能必须能随着用户的请求、系统规模的增大有效的扩展。
当前目前大部分并行应用在超过一千个的处理器(核)上都难以获得有效的加速性能,未来的许多并行应用必须能有效扩展到成千上万个处理器上。
这对开发者是巨大的挑战。
从Power、UltraSPARC T1、安腾到双核Opteron、至强Xeon,各个领域都显示出,多核处理器计算平台势必成为服务器的主流或者说是强势计算平台,但这只是上游硬件厂商的乐观预计。
并不是所有的操作系统和应用软件都做好了迎接多核平台的准备,尤其是在数十年来均为单一线程开发应用的x86服务器领域。
微软软件架构师HerbSutter曾指出:软件开发者对多核处理器时代的来临准备不足。
他说,软件开发社区认识到处理器厂商被迫采用多核设计以应对处理器速度提升带来的发热问题,但却没有清楚地了解这样的设计为软件开发带来多少额外的工作。
在过去一段长时间里,x86系统上软件的性能随着来自Intel和AMD处理器速度越来越快而不断提高,开发者只需对现有软件程序作轻微改动就能坐观其性能在随着硬件性能的上升而不断提升。
不过,多核设计概念的出现迫使软件世界不得不直面并行性(将单个任务拆分成多个小块以便分别处理之后再重新组合的能力)问题。
当然,为服务器设计软件的开发者已经解决了一些此类难题,因为多核处理器和多路系统在服务器市场已经存在多年(在传统的Unix领域),一些运行在RISC架构多核多路系统上的应用程序已经被设计成多线程以利用系统的并行处理能力。
但是,在x86领域,应用程序开发者多年来一直停留在单线程世界,生产所谓的“顺序软件”。
现在的情况是软件开发者必须找出新的开发软件的方法,面向对象编程的兴起增加了汇编语言的复杂性,并行编程也需要新的抽象层次。
另一方面,处理器设计厂商在设计产品时也应该将软件开发者考虑在内,“处理器的首要着眼点应该是可编程性,而不是速度。
”Sutter说。
多核处理器要想发挥出威力,关键在于并行化软件支持,多核设计带动并行化计算的推进,而给软件带来的影响更是革命性的。
Intel很早就通过超线程技术实现了逻辑上的双处理器系统,可以并行计算,但这不过是对处理器闲置资源的一种充分利用而已,并且这种充分利用只有在特定的条件下,尤其是针对流水线比较长且两种运算并不相互交叉的时候,才会有较高的效率,如编码解码、长期重复某种矩阵运算以及一些没有经过仔细编写的软件等。