msdn是什么?
MSDN是什么?MSDN(Microsoft Developer Network)是早期微软在推广Win32 程序设计以及开发工具时,专门为开发人员所提供的一个服务,是使用微软技术开发软件或应用程序时必定会参访的地方,同时它也有提供订阅的服务,由微软不定时供应最新的软件及技术文件,MSDN的技术文件库是免费开放让所有人在联机阅读,但光盘的版本必须要利用MSDN Library Subscription才可以拿到,不过自从Visual Studio 2005开始,MSDN Library即提供免费的网络下载。也许是受到MSDN成功与广为开发人员所知的影响,升阳也将它们的Java文件库定名为Sun Developer Network (SDN)。MSDN其他介绍MSDN除了专业解释以外。还有一个是网站。它是一个原版Windows系统镜像下载的网站。除了提供原版Windows系统镜像。它还提供了别的软件下载。例如Office,数据库,开发工具等等。还是一个相当不错的网站。
MSDN的网址是什么?
MSDN一般是查看一个帮助文档的,要上网看,那就上http://msdn.microsoft.com/zh-cn/default.aspx。MSDN Premium(与Visual Studio Team edition或Visual Studio Professional搭售)除了 MSDN Library 是一年四期以外,其他的都是先收一次开始套件,在每月寄送更新的光碟。订阅时,以年为订购单位。续订比新订便宜。扩展资料:一般情况下,很多人误认为 MSDN 为联机帮助文件和技术文献的集合。但事实上,这两者只占 MSDN 庞大计划的一小部分。MSDN 实际上是一个以Visual Studio和 Windows 平台为核心整合的开发虚拟社区。包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDN WebCast、与CMP合作的 MSDN.HK 杂志等等一系列服务。参考资料来源:百度百科-MSDN
【多核处理器的九大关键技术】多核的关键技术
与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。 CMP和SMT一样,致力于发掘计算的粗粒度并行性。CMP可以看做是随着大规模集成电路技术的发展,在芯片容量足够大时,就可以将大规模并行处理机结构中的SMP(对称多处理机)或DSM(分布共享处理机)节点集成到同一芯片内,各个处理器并行执行不同的线程或进程。在基于SMP结构的单芯片多处理机中,处理器之间通过片外Cache或者是片外的共享存储器来进行通信。而基于DSM结构的单芯片多处理器中,处理器间通过连接分布式存储器的片内高速交叉开关网络进行通信。由于SMP和DSM已经是非常成熟的技术了,CMP结构设计比较容易,只是后端设计和芯片制造工艺的要求较高而已。正因为这样,CMP成为了最先被应用于商用CPU的“未来”高性能处理器结构。
虽然多核能利用集成度提高带来的诸多好处,让芯片的性能成倍地增加,但很明显的是原来系统级的一些问题便引入到了处理器内部。
1 核结构研究: 同构还是异构
CMP的构成分成同构和异构两类,同构是指内部核的结构是相同的,而异构是指内部的核结构是不同的。为此,面对不同的应用研究核结构的实现对未来微处理器的性能至关重要。核本身的结构,关系到整个芯片的面积、功耗和性能。怎样继承和发展传统处理器的成果,直接影响多核的性能和实现周期。同时,根据Amdahl定理,程序的加速比决定于串行部分的性能,所以,从理论上来看似乎异构微处理器的结构具有更好的性能。
核所用的指令系统对系统的实现也是很重要的,采用多核之间采用相同的指令系统还是不同的指令系统,能否运行操作系统等,也将是研究的内容之一。
2 程序执行模型
多核处理器设计的首要问题是选择程序执行模型。程序执行模型的适用性决定多核处理器能否以最低的代价提供最高的性能。程序执行模型是编译器设计人员与系统实现人员之间的接口。编译器设计人员决定如何将一种高级语言程序按一种程序执行模型转换成一种目标机器语言程序; 系统实现人员则决定该程序执行模型在具体目标机器上的有效实现。当目标机器是多核体系结构时,产生的问题是: 多核体系结构如何支持重要的程序执行模型?是否有其他的程序执行模型更适于多核的体系结构?这些程序执行模型能多大程度上满足应用的需要并为用户所接受?
3 Cache设计: 多级Cache设计与一致性问题
处理器和主存间的速度差距对CMP来说是个突出的矛盾,因此必须使用多级Cache来缓解。目前有共享一级Cache的CMP、共享二级Cache的CMP以及共享主存的CMP。通常,CMP采用共享二级Cache的CMP结构,即每个处理器核心拥有私有的一级Cache,且所有处理器核心共享二级Cache。
Cache自身的体系结构设计也直接关系到系统整体性能。但是在CMP结构中,共享Cache或独有Cache孰优孰劣、需不需要在一块芯片上建立多级Cache,以及建立几级Cache等等,由于对整个芯片的尺寸、功耗、布局、性能以及运行效率等都有很大的影响,因而这些都是需要认真研究和探讨的问题。
另一方面,多级Cache又引发一致性问题。采用何种Cache一致性模型和机制都将对CMP整体性能产生重要影响。在传统多处理器系统结构中广泛采用的Cache一致性模型有: 顺序一致性模型、弱一致性模型、释放一致性模型等。与之相关的Cache一致性机制主要有总线的侦听协议和基于目录的目录协议。目前的CMP系统大多采用基于总线的侦听协议。
4 核间通信技术
CMP处理器的各CPU核心执行的程序之间有时需要进行数据共享与同步,因此其硬件结构必须支持核间通信。高效的通信机制是CMP处理器高性能的重要保障,目前比较主流的片上高效通信机制有两种,一种是基于总线共享的Cache结构,一种是基于片上的互连结构。
总线共享Cache结构是指每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。这种系统的优点是结构简单,通信速度高,缺点是基于总线的结构可扩展性较差。
基于片上互连的结构是指每个CPU核心具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。各个CPU核心间通过消息通信。这种结构的优点是可扩展性好,数据带宽有保证; 缺点是硬件结构复杂,且软件改动较大。
也许这两者的竞争结果不是互相取代而是互相合作,例如在全局范围采用片上网络而局部采用总线方式,来达到性能与复杂性的平衡。
5 总线设计
传统微处理器中,Cache不命中或访存事件都会对CPU的执行效率产生负面影响,而总线接口单元(BIU)的工作效率会决定此影响的程度。当多个CPU核心同时要求访问内存或多个CPU核心内私有Cache同时出现Cache不命中事件时,BIU对这多个访问请求的仲裁机制以及对外存储访问的转换机制的效率决定了CMP系统的整体性能。因此寻找高效的多端口总线接口单元(BIU)结构,将多核心对主存的单字访问转为更为高效的猝发(burst)访问; 同时寻找对CMP处理器整体效率最佳的一次Burst访问字的数量模型以及高效多端口BIU访问的仲裁机制将是CMP处理器研究的重要内容。
6 操作系统设计: 任务调度、中断处理、同步互斥
对于多核CPU,优化操作系统任务调度算法是保证效率的关键。一般任务调度算法有全局队列调度和局部队列调度。前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。这种方法的优点是CPU核心利用率较高。后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。目前多数多核CPU操作系统采用的是基于全局队列的任务调度算法。
多核的中断处理和单核有很大不同。多核的各处理器之间需要通过中断方式进行通信,所以多个处理器之间的本地中断控制器和负责仲裁各核之间中断分配的全局中断控制器也需要封装在芯片内部。
另外,多核CPU是一个多任务系统。由于不同任务会竞争共享资源,因此需要系统提供同步与互斥机制。而传统的用于单核的解决机制并不能满足多核,需要利用硬件提供的“读-修改-写”的原子操作或其他同步互斥机制来保证。
7 低功耗设计
半导体工艺的迅速发展使微处理器的集成度越来越高,同时处理器表面温度也变得越来越高并呈指数级增长,每三年处理器的功耗密度就能翻一番。目前,低功耗和热优化设计已经成为微处理器研究中的核心问题。CMP的多核心结构决定了其相关的功耗研究是一个至关重要的课题。
低功耗设计是一个多层次问题,需要同时在操作系统级、算法级、结构级、电路级等多个层次上进行研究。每个层次的低功耗设计方法实现的效果不同――抽象层次越高,功耗和温度降低的效果越明显。
8 存储器墙
为了使芯片内核充分地工作,最起码的要求是芯片能提供与芯片性能相匹配的存储器带宽,虽然内部Cache的容量能解决一些问题,但随着性能的进一步提高,必须有其他一些手段来提高存储器接口的带宽,如增加单个管脚带宽的DDR、DDR2、QDR、XDR等。同样,系统也必须有能提供高带宽的存储器。所以,芯片对封装的要求也越来越高,虽然封装的管脚数每年以20%的数目提升,但还不能完全解决问题,而且还带来了成本提高的问题,为此,怎样提供一个高带宽,低延迟的接口带宽,是必须解决的一个重要问题。
9 可靠性及安全性设计
随着技术革新的发展,处理器的应用渗透到现代社会的各个层面,但是在安全性方面却存在着很大的隐患。一方面,处理器结构自身的可靠性低下,由于超微细化与时钟设计的高速化、低电源电压化,设计上的安全系数越来越难以保证,故障的发生率逐渐走高。另一方面,来自第三方的恶意攻击越来越多,手段越来越先进,已成为具有普遍性的社会问题。现在,可靠性与安全性的提高在计算机体系结构研究领域备受注目。
今后,CMP这类处理器芯片内有多个进程同时执行的结构将成为主流,再加上硬件复杂性、设计时的失误增加,使得处理器芯片内部也未必是安全的,因此,安全与可靠性设计任重而道远。
什么是多核处理器【多核处理器的未来路径】
尽管CMP(单芯片多处理器,俗称多核)一度仿佛让人看到了处理器无限美好的未来,但通用处理器的内核数并未如很多人预想的那样快速增加。而未来很多核(many core)处理器和有限多核(Multicore)处理器将并行发展,以共同满足日益分化和复杂的计算环境的需求。
很多核和有限多核
尽管CMP一度仿佛让人看到了处理器无限美好的未来,但通用处理器的内核数并未如很多人预想的那样快速增加。
日益分化和复杂的计算环境对处理器的要求差别是如此之大,以致于仅仅通过一种结构的产品已经越来越难以满足不同细分市场的需求: 目前主流电脑的应用领域对并行计算能力的需求并不需要数十甚至上百个内核来实现,更看重每个内核的单线程性能(尽管可能每个内核也支持多个线程),而要在有限的空间内容纳上百个内核必然要求核的设计简单,因而单线程能力相对有限,在执行并行度不高的任务时不能有效发挥其架构优势; 另一方面,在流计算和SoC领域,处理器执行的往往是一些并行度很高、重复性较强的任务,这时候,结构相对简单、数量巨大的特殊功能单元(SFU,Special Function Unit)则可以有效地解决工作效率和功耗问题。
于是可以得出这样的结论: 未来主流的计算市场(台式机、服务器和笔记本电脑)需要的是有限多核架构,更加强调核的单线程性能,而很多核架构(数十甚至上百个内核)则将应用于流计算、HPC和SoC等特殊计算环境。
这也将成为未来英特尔处理器的一个分水岭,于是就有了所谓“大核”和“小核”处理器之分。前者以目前的酷睿架构为发展基准,追求更好的单线程性能; 后者则以凌动(Atom)内核为基础,在设计上强调更高的并行度和更低的功耗。
在指令执行方面,“大核”采用的是乱序执行(out-of-order execution)模式,而“小核”则采用顺序执行(In-order execution)模式。与顺序执行相对应的乱序执行,是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。
与顺序执行技术相比,乱序执行能够更有效地提高IPC,即提高每个时钟频率能够执行的指令数量。一般来说在同样一个主频周期当中,无序核执行指令数量要比有序核执行的数量更多,因而乱序执行架构的处理器单核的计算能力比较强。但乱序执行模式的处理器在电路设计上比较复杂,核的功耗也比较高,在手机和某些嵌入式应用需要绝对低功耗的场合较难达到其设计要求,因此凌动处理器很自然地就采用了顺序执行模式。
未来,很多核处理器和有限多核处理器将并行发展,以共同满足日益分化和复杂的计算环境的需求。而评价一款处理器好坏的标准也会更加复杂,可能既不是通过主频甚至也不是IPC,而要根据其应用特性来具体判断。
Nehalem: 迎接“模块化”处理器时代的到来
作为“大核”的代表,酷睿架构在2008年将迎来换代产品―Nehalem。
其实如果单单从处理器内核基本结构角度来讲,Nehalem与酷睿的差别并不大,两者最大的差异在于引入了QPI(Quickpath Interface)互联架构。正是这种点对点互联总线架构的出现,才彻底改变了多年以来CPU与高速外围部件之间存在的带宽和延迟障碍,也给多核处理器的发展注入了新的活力。
新一代的Nehalem架构处理器由内核和核外部分构成,内核实际上就是一个基础的计算引擎,核外则是支持这种基础计算引擎的各种逻辑元件,包括集成的内存控制器、QPI,还有相应的I/O部分、电源和时钟。而正是由于采用了QPI架构,Nehalem处理器核外部分得以采用灵活的模块化设计,并可以根据不同的市场需求灵活配置各个模块,一旦有产品需求,就可以把这些模块灵活地搭配组合设计。
尽管这样的模块化设计并不会进一步缩小处理器的尺寸,但能够进一步加快产品推向市场的时间,因为模块化的设计能够更快地做出变化,把市场所需要的功能,或者设计方案以最快的速度融入到处理器架构当中,推出适合市场需求的新产品。
今年第四季度,英特尔将首先推出面向主流服务器/工作站和高端桌面机市场的Nehalem处理器,研发代码分别为Nehalem-EP和Bloomfield,每个CPU将最高支持4C/8T(即4核/8线程),最高8MB共享三级缓存,含有2个QPI链路; 明年将后续推出面向移动和主流桌面客户端的版本,也具备4C/8T和共享三级缓存等特性,其中包括在低端差异化市场推出的内置北桥功能的Lynnfield和进一步集成显示引擎的Havendale处理器; 之后是面向高端MP(多路服务器)市场的Nehalem-EX处理器,具备8C/16T,每个CPU含有4个QPI链路。
根据英特尔内部的测试,在双路的情况下,集成内存控制器设计的Nehalem-EP比目前采用1600MHz FSB的Harpertown至强的数据带宽将提高4倍,其性能增益值得期待。
关键的QPI和全互联
是QPI的特点决定了处理器各部件的模块化趋势。而其对处理器性能和设计灵活性方面的帮助更是潜力巨大。从设计思路上来看,QPI的目的是试图为处理器内核和外部高速部件提供充足的带宽,有效解决CPU与GPU、网络的高速连接和内存延迟问题。
传统上芯片组的北桥主要连接GPU、网络、内存等高速部件,南桥则连接USB、键盘、鼠标等低速I/O部件。QPI的出现使得北桥的功能逐渐分化,芯片组逐渐弱化甚至消失,主板设计进一步简单化,计算机也将逐步走向“单芯片”。
尽管这将是一个渐进的过程,但其趋势已经隐约可见。不过需要说明的是,QPI也是处于不断发展成熟的过程中,对于逐渐增多的处理器内核,实现全互联即所有内核之间均有QPI链路直接连接(另外每个内核还带有一个用于I/O的QPI链路)将是必然的。从目前英特尔公布的第一代Nehalem架构来看,还没有实现核间的全互联,但随着QPI架构的逐渐成熟,这一天似乎并不遥远。
效能依然是关注重点
根据假定的核数量、频率和 SSE/AVX等指令集的发展推断,明年单处理器的性能就将达到1GFlops,2011年超过100GFlops,2012年将有望冲击300GFlops……
对于处理器性能的发展,英特尔高级院士兼数字企业部首席技术官庞思立表示: “英特尔未来仍将快速提高处理器单线程的处理性能,并通过SSE指令集、线程和核心数量提升处理器的并行处理能力。”
这似乎没有悬念,但很自然地想到,功耗问题将如何解决?
功耗控制可以细分为活跃、空闲、休眠和待机等不同状态。短期来看,活跃能耗已经基本没有下降的空间,除了采用更简单高效的内核设计外,性能的持续增长似乎已经榨干了有限的能耗降低空间,未来处理器的功耗主要通过控制其低工作负荷或休眠状态下的能耗为主,而多核并行处理时的能耗控制将成为重点关注的一个方面。
如何将晶体管有效地布置到一定的半导体晶圆上,人类确实需要足够的智慧。