1、多线程
同时多线程Simultaneous multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。
2、多核心
多核心,也指单芯片多处理器(Chip multiprocessors,简称CMP)。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与CMP比较, SMT处理器结构的灵活性比较突出。但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
最近,Intel和AMD的新型处理器也融入CMP结构。新安腾处理器开发代码为Montecito,采用双核心设计,拥有最少18MB片内缓存,采取90nm工艺制造,它的设计绝对称得上是对当今芯片业的挑战。它的每个单独的核心都拥有独立的L1,L2和L3 cache,包含大约10亿支晶体管。
3、SMP
SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。像双至强,也就是我们所说的二路,这是在对称处理器系统中最常见的一种(至强MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少数是16路的。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。在高性能服务器和工作站级主板架构中最为常见,像UNIX服务器可支持最多256个CPU的系统。
构建一套SMP系统的必要条件是:支持SMP的硬件包括主板和CPU;支持SMP的系统平台,再就是支持SMP的应用软件。
为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,如WINNT、LINUX、以及UNIX等等32位操作系统。即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务。
要组建SMP系统,对所选的CPU有很高的要求,首先、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用;再次,相同的产品型号,同样类型的CPU核心,完全相同的运行频率;最后,尽可能保持相同的产品序列编号,因为两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机。
4、NUMA技术
NUMA即非一致访问分布共享存储技术,它是由若干通过高速专用网络连接起来的独立节点构成的系统,各个节点可以是单个的CPU或是SMP系统。在NUMA中,Cache 的一致性有多种解决方案,需要操作系统和特殊软件的支持。图2中是Sequent公司NUMA系统的例子。这里有3个SMP模块用高速专用网络联起来,组成一个节点,每个节点可以有12个CPU。像Sequent的系统最多可以达到64个CPU甚至256个CPU。显然,这是在SMP的基础上,再用NUMA的技术加以扩展,是这两种技术的结合。
5、乱序执行技术
乱序执行(out-of-orderexecution),是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据个电路单元的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU的运行程序的速度。分枝技术:(branch)指令进行运算时需要等待结果,一般无条件分枝只需要按指令顺序执行,而条件分枝必须根据处理后的结果,再决定是否按原先顺序进行。
6、CPU内部的内存控制器
许多应用程序拥有更为复杂的读取模式(几乎是随机地,特别是当cache hit不可预测的时候),并且没有有效地利用带宽。典型的这类应用程序就是业务处理软件,即使拥有如乱序执行(out of order execution)这样的CPU特性,也会受内存延迟的限制。这样CPU必须得等到运算所需数据被除数装载完成才能执行指令(无论这些数据来自CPU cache还是主内存系统)。当前低段系统的内存延迟大约是120-150ns,而CPU速度则达到了3GHz以上,一次单独的内存请求可能会浪费200-300次CPU循环。即使在缓存命中率(cache hit rate)达到99%的情况下,CPU也可能会花50%的时间来等待内存请求的结束- 比如因为内存延迟的缘故。
你可以看到Opteron整合的内存控制器,它的延迟,与芯片组支持双通道DDR内存控制器的延迟相比来说,是要低很多的。英特尔也按照计划的那样在处理器内部整合内存控制器,这样导致北桥芯片将变得不那么重要。但改变了处理器访问主存的方式,有助于提高带宽、降低内存延时和提升处理器性能。
分享到:
相关推荐
CMP格式播放器,SMT Player 3.0
CMP工艺过程技术详解 CMP(Chemical Mechanical Polishing,化学机械抛光)是半导体制造中的一个关键工艺过程,旨在实现Wafer表面的平坦化和抛光。CMP工艺过程技术详解PPT旨在为读者提供CMP工艺的详细介绍,涵盖CMP...
【网络电视CMP4】是一种基于互联网技术的电视观看平台,主要使用了CMP4技术标准,为用户提供丰富的在线视频内容。CMP4系统集成了多种技术,包括流媒体播放、交互式功能以及个性化推荐,旨在提升用户的观看体验。在这...
cPlay+cMP高级播放器,音乐播放器换过几个,从winamp到千千静听,后来到FOOBAR2000,用到cMP+cplay的时候,发现电脑播放无损格式音乐原来真的可以提高效果,而不是停留在口头上,支持WAV、FLAC、CUE,不支持APE,可...
**CMP ASN.1-CMP标准详解** CMP(Certification Management Protocol)是X.509数字证书管理系统中的一种协议,它定义了一套用于安全通信、证书申请、更新、撤销等操作的标准规范。ASN.1(Abstract Syntax Notation ...
CMP与传统SMP(Symmetric Multi-Processor)结构相似,但在同一芯片内部,所有处理器内核以平等身份参与任务调度、中断处理,共享内存、外部设备及片内高速缓存,简化了结构,降低了开发成本和提高了主频,从而显著...
cmp.exe cygwin自带的 类似于Linux 下的 cmp 命令
CMP4是一款免费的在线音乐播放器,采用Flash开发。支持的音频视频格式主要有MP3,FLV,MP4,并可以通过网页JS接口实现WMP(Windows Media Player)所支持的格式播放,如wma,wmv等。主要功能特色有列表式播放(自定义音乐...
**cics Memory Player (cMP播放器) 深度解析** cics Memory Player,简称cMP,是一款专为音乐爱好者设计的专业音频播放器。它以其独特的功能和对高质量音频格式的支持,在数字音频播放领域中占据一席之地。cMP常常...
苹果CMS是一款广泛应用于搭建资源站的开源内容管理系统,而CMP(Content Management Platform)可能是其一个扩展或插件,用于实现更全面的资源管理和展示功能。本教程将详细讲解如何将苹果CMS与CMP进行整合,以实现...
标题中的“cmp插件”可能指的是一个用于计算机多媒体平台或者编程环境的组件,可能是为了增强或扩展该平台的功能。在IT行业中,插件通常是为了给软件添加特定功能或优化用户体验而设计的小型程序。2013年标签暗示了...
半导体CMP工艺介绍 CMP(Chemical Mechanical Polishing)是半导体制造过程中一种关键的工艺步骤,该工艺通过化学和机械作用来使wafer表面达到高度平坦化的状态,从而确保后续工艺的顺利进行。 CMP的发展史 CMP的...
中国电信连接管理平台(CMP)核心功能介绍 中国电信连接管理平台(CMP)是中国电信为物联网客户提供物与物连接服务的管理平台。CMP 具有全生命周期管理、可视化、能力开放、SIM 卡管理等特点,可满足不同用户、不同...
标题"S32K144-ADC-CMP_s32k144ADCCMP_"表明这是一款基于NXP S32K144微控制器(MCU)的模拟到数字转换器(ADC)和比较器(CMP)的编程实例。在嵌入式系统设计中,ADC和CMP是关键组件,用于处理模拟信号并将其转化为...
《MilkShape 3D CMP格式导入插件详解》 MilkShape 3D是一款功能强大的3D建模工具,广泛应用于游戏开发和三维设计领域。对于那些涉及到使用Freelancer游戏或者其他支持CMP格式的项目来说,MilkShape 3D的CMP格式导入...
支持WAV、FLAC、CUE,不支持APE,可修改cMP配置文件而调用foobar 2000等其他播放程序,本人推荐原版组合!里边包含三个文件,cMP_1_2_final,cPlay_2_0b39_sse4,以及ASIO4ALL_2_11_Beta2 ,注意:此cPlay播放器仅限于...
标题"CMP.rar_cmp_it"和描述中的关键词"avi"、"cmp picture"暗示了这是一个关于视频编码和图像处理的IT主题。"cmp"通常代表比较(compare)或压缩(compress),而"avi"是常见的视频文件格式。在这个上下文中,"cmp ...
CMP是一款免费的在线Flash音乐播放器,致力于提供最佳在线音乐播放解决方案。支持的音频视频格式主要有MP3,FLV,MP4,并可以通过网页JS接口实现WMP(Windows Media Player)所支持的格式播放,如wma等。主要功能特色有...
CMP4多用户程序ASP版是针对CMP4平台进行优化和改进的一个多用户系统。这个系统在原有的CMP3多用户系统基础上进行了小规模的修改,以适应CMP4的新特性,确保了其在最新的环境中能够正常运行。以下是关于这个系统的...
5G CMP平台作为一项前沿技术,承担着为客户提供5G云管理平台服务的重要职责。5G CMP平台登录使用说明文档(客户使用)v1详细记录了登录流程、获取API账号信息、首页访问以及相关信息变更等操作方法,为用户提供了...