龍芯2E

龍芯2E處理器一般指本詞條

中國科學院計算技術研究所(下稱計算所)承擔的國家863計畫項目“龍芯2號增強型處理器晶片設計”(即龍芯2E)

基本介紹

  • 中文名:龍芯2E
  • 外文名: Loongson 2E
  • 研發單位:中國科學院計算所
概述,簡介,硬體水平,軟體水平,發展概況,測評,性能,現場演示,研發過程,自主創新,跨越發展,系列產品及套用,系列,套用,與國外比較,性能最高,現況,發展,二級快取,PCI,DDR,性能指標,主頻,外頻,前端匯流排(FSB)頻率,CPU的位和字長,倍頻係數,快取,一級快取,二級快取,三級快取,CPU擴展指令集,CPU核心和I/O工作電壓,技術架構,製造工藝,指令集,超流水線與超標量,封裝形式,多執行緒,多核心,SMP,NUMA技術,亂序執行技術,分枝技術,CPU內部的記憶體控制器,實際套用,解決方案,綠色節能的龍芯HPC解決方案,曙光龍芯伺服器經過測試表明,

概述

簡介

中國科學院計算技術研究所(下稱計算所)承擔的國家863計畫項目“龍芯2號增強型處理器晶片設計”(即龍芯2E),通過了“十五”863計畫信息技術領域專家組驗收。驗收專家組認為,龍芯2E高性能通用CPU晶片在單處理器設計方面已達到國際先進水平,是具有自主智慧財產權的CPU晶片。如果能像全美達那樣安裝特定軟體後可以運行windows系統就好了。
龍芯2E處理器實物龍芯2E處理器實物

硬體水平

龍芯2E微處理器是一款實現64位MIPS指令集的通用RISC處理器,採用90nm的CMOS工藝,布線層為七層銅金屬,晶片電晶體數目為4700萬,晶片面積6.8mm×5.2mm,最高工作頻率為1GHz,典型工作頻率為800MHz,實測功耗5-7瓦。

軟體水平

龍芯2E具有128KB一級快取、512KB二級快取單精度峰值浮點運算速度為80億次/秒,雙精度浮點運算速度為40億次/秒,在1GHz主頻下SPEC CPU2000的實測分值達到500分,綜合性能已經達到高端Pentium Ⅲ以及中低端Pentium 4處理器的水平。

發展概況

ⅥA(威盛)南橋提供的外設接口有些過時,且PCI匯流排擴展增加了成本。
龍芯2C並未批量生產,首批推向市場的龍芯盒子會採用龍芯2E,而性能更為優良的龍芯2F也在醞釀之中。進步的細節諸如龍芯2E目前最高支持DDR333,而龍芯2F將支持DDR2,且處理器會集成PCI-X或者PCI-Express,晶片組方面也有一些計畫做大幅度的改進。
三大系列龍芯並行發展

測評

性能

龍芯2E通用64位處理器是目前全球除美日之外性能最高的通用處理器,也是祖國大陸地區第一個採用90納米設計技術的處理器。該處理器最高主頻達到1.0GHz,峰值運算速度達到每秒40億次雙精度浮點運算,實測性能超過1.5GHz奔騰Ⅳ處理器的水平,具有低成本、低功耗、高性能、高安全性特點。
龍芯2E處理器龍芯2E處理器

現場演示

龍芯2E樣機使用64位Linux作業系統,能流暢運行Mozilla瀏覽器、OpenOffice辦公套件、Mplayer流媒體播放器等應用程式,並能正確支持中文輸入和顯示。據悉,計算所與其它單位合作,先後開發了基於龍芯系列CPU晶片的多種套用系統,包括低成本電腦、第二代機頂盒等。在包括政府辦公、數位電視、農村信息化、工業控制等領域展開了試點套用,並與國外著名企業簽署了授權生產銷售協定。龍芯2E處理器將於2006年底以前上市。

研發過程

自主創新

據介紹,龍芯2E項目在晶片微體系結構、物理設計、全定製設計、驗證與可測性設計、 最佳化編譯等方面都有較大的自主創新,研製過程中申請了發明專利12項,發表論文39篇。龍芯2E是中國實施863計畫和知識創新工程的重大成果,為眾多整機企業提供了有市場競爭力的通用處理器晶片。
計算所有關負責人說,項目組是2005年4月接到龍芯2E的正式立項通知,執行時間不到1年,“可以說,在如此短的時間內設計出像龍芯2E這樣高性能的處理器設計難度非常大。”但在項目組所有成員的共同努力之下,終於在2005年年底之前將龍芯2E的設計交付流片,並且於2006年3月拿到龍芯2E的晶片。

跨越發展

據悉,在“十五”期間,計算所在863計畫的支持下,繼2002年研製成功龍芯1號處理器晶片後,在2003年、2004年、2005年分別研製成功龍芯2號的不同型號龍芯2B、龍芯2C以及龍芯2E,每個晶片的性能都是前一個晶片的3倍,實現了通用處理器設計的跨越發展。

系列產品及套用

系列

龍芯1號處理器及其IP系列主要面向嵌入式套用,龍芯2號超標量處理器及其IP系列主要面向桌面套用,龍芯3號多核處理器系列主要面向伺服器和高性能機套用。
龍芯2E(龍芯2E處理器)

套用

根據套用需要,其中部分龍芯2號也可以面向部分高端嵌入式套用,部分低端龍芯3號也可以面向部分桌面套用。以後上述三個系列龍芯處理器將並行地發展。

與國外比較

性能最高

龍芯2E是目前除了美國和日本之外世界上性能最高的CPU,也是中國大陸地區第一個基於90納米工藝的設計。該處理器包含4700萬電晶體,最高主頻達到1.0GHz,最高雙精度浮點運算速度每秒40億次,單精度運算每秒80億次,並且具有功耗低、安全性高等特點。

現況

龍芯2E已經完成量產並向部分用戶供貨。龍芯2E的改進型龍芯2F也已完成設計,預計2007年下半年可以批量上市。

發展

二級快取

DIY愛好者都熟知,二級快取非常影響處理器的性能。與早期的Pentium Ⅱ處理器類似,龍芯2E二級快取的頻率為處理器主頻的一半。龍芯技術人員坦言,處理器達到1GHz的頻率並非易事,半速運行主要考慮降低對延遲的要求,當時團隊沒有充裕的時間來設計一個足夠快的512KB快取。

PCI

此外,PCI匯流排有限的頻寬也嚴重製約了系統性能。從開發樣板來看,ⅥA(威盛)南橋提供的外設接口有些過時,且PCI匯流排擴展增加了成本。
龍芯2E(龍芯2E處理器)

DDR

龍芯2C並未批量生產,首批推向市場的龍芯盒子會採用龍芯2E,而性能更為優良的龍芯2F也在醞釀之中。進步的細節諸如龍芯2E目前最高支持DDR333,而龍芯2F將支持DDR2,且處理器會集成PCI-X或者PCI-Express,晶片組方面也有一些計畫做大幅度的改進。
中科院計算所所長李國傑院士稱,龍芯2F的性能將比龍芯2E提高20%至30%,並有望年底進行流片。

性能指標

主頻

主頻也叫時鐘頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理數據的速度。
CPU的主頻=外頻×倍頻係數主頻和實際的運算速度存在一定的關係,但並不是一個簡單的線性關係. 所以,CPU的主頻與CPU實際的運算能力是沒有直接關係的,主頻表示在CPU內數字脈衝信號震盪的速度。在Intel的處理器產品中,也可以看到這樣的例子:1 GHz Itanium晶片能夠表現得差不多跟2.66 GHz至強Xeon)/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線、匯流排等等各方面的性能指標。

外頻

外頻是CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主機板的運行速度。通俗地說,在台式機中,所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於伺服器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主機板的運行速度,兩者是同步運行的,如果把伺服器CPU超頻了,改變了外頻,會產生異步運行,(台式機很多主機板都支持異步運行)這樣會造成整個伺服器系統的不穩定。
絕大部分電腦系統外頻主機板前端匯流排不是同步速度的,而外頻與前端匯流排(FSB)頻率又很容易被混為一談。

前端匯流排(FSB)頻率

前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與記憶體直接數據交換速度。有一條公式可以計算,即數據頻寬=(匯流排頻率×數據位寬)/8,數據傳輸最大頻寬取決於所有同時傳輸的數據的寬度和傳輸頻率。比方,支持64位的至強Nocona,前端匯流排是800MHz,按照公式,它的數據傳輸最大頻寬是6.4GB/秒。
外頻與前端匯流排(FSB)頻率的區別:前端匯流排的速度指的是數據傳輸的速度,外頻是CPU與主機板之間同步運行的速度。也就是說,100MHz外頻特指數字脈衝信號在每秒鐘震盪一億次;而100MHz前端匯流排指的是每秒鐘CPU可接受的數據傳輸量是100MHz×64bit÷8bit/Byte=800MB/s。
其實“HyperTransport”構架的出現,讓這種實際意義上的前端匯流排(FSB)頻率發生了變化。IA-32架構必須有三大重要的構件:記憶體控制器Hub (MCH),I/O控制器Hub和PCI Hub,像Intel很典型的晶片組Intel 7501、Intel7505晶片組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端匯流排,配合DDR記憶體,前端匯流排頻寬可達到4.3GB/秒。但隨著處理器性能不斷提高同時給系統架構帶來了很多問題。而“HyperTransport”構架不但解決了問題,而且更有效地提高了匯流排頻寬,比方AMD Opteron處理器,靈活的HyperTransportI/O匯流排體系結構讓它整合了記憶體控制器,使處理器不通過系統匯流排傳給晶片組而直接和記憶體交換數據。這樣的話,前端匯流排(FSB)頻率在AMD Opteron處理器就不知道從何談起了。
龍芯2E(龍芯2E處理器)

CPU的位和字長

位:在數字電路和電腦技術中採用二進制,代碼只有“0”和“1”,其中無論是 “0”或是“1”在CPU中都是 一“位”。
字長:電腦技術中對CPU在單位時間內(同一時間)能一次處理的二進制數的位數叫字長。所以能處理字長為8位數據的CPU通常就叫8位的CPU。同理32位的CPU就能在單位時間內處理字長為32位的二進制數據。位元組和字長的區別:由於常用的英文字元用8位二進制就可以表示,所以通常就將8位稱為一個位元組。字長的長度是不固定的,對於不同的CPU、字長的長度也不一樣。8位的CPU一次只能處理一個位元組,而32位的CPU一次就能處理4個位元組,同理字長為64位的CPU一次可以處理8個位元組。

倍頻係數

倍頻係數是指CPU主頻外頻之間的相對比例關係。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高主頻而得到高倍頻的CPU就會出現明顯的“瓶頸”效應-CPU從系統中得到數據的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,少量的如Inter酷睿2核心的奔騰雙核E6500K和一些至尊版的CPU不鎖倍頻,而AMD之前都沒有鎖,AMD推出了黑盒版CPU(即不鎖倍頻版本,用戶可以自由調節倍頻,調節倍頻的超頻方式比調節外頻穩定得多)。

快取

快取大小也是CPU的重要指標之一,而且快取的結構和大小對CPU速度的影響非常大,CPU內快取的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統記憶體和硬碟。實際工作時,CPU往往需要重複讀取同樣的數據塊,而快取容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到記憶體或者硬碟上尋找,以此提高系統性能。但是由於CPU晶片面積和成本的因素來考慮,快取都很小。

一級快取

L1 Cache(一級快取)是CPU第一層高速快取,分為數據快取指令快取。內置的L1高速快取的容量和結構對CPU的性能影響較大,不過高速緩衝存儲器均由靜態RAM組成,結構較複雜,在CPU管芯面積不能太大的情況下,L1級高速快取的容量不可能做得太大。一般伺服器CPU的L1快取的容量通常在32-256KB。

二級快取

L2 Cache(二級快取)是CPU的第二層高速快取,分內部和外部兩種晶片。內部的晶片二級快取運行速度與主頻相同,而外部的二級快取則只有主頻的一半。L2高速快取容量也會影響CPU的性能,原則是越大越好,以前家庭用CPU容量最大的是512KB,筆記本電腦中也可以達到2M,而伺服器和工作站上用CPU的L2高速快取更高,可以達到8M以上。

三級快取

L3 Cache(三級快取),分為兩種,早期的是外置,是內置的。而它的實際作用即是,L3快取的套用可以進一步降低記憶體延遲,同時提升大數據量計算時處理器的性能。降低記憶體延遲和提升大數據量計算能力對遊戲都很有幫助。而在伺服器領域增加L3快取在性能方面仍然有顯著的提升。比方具有較大L3快取的配置利用物理記憶體會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3快取的處理器提供更有效的檔案系統快取行為及較短訊息和處理器佇列長度。
其實最早的L3快取被套用在AMD發布的K6-Ⅲ處理器上,當時的L3快取受限於製造工藝,並沒有被集成進晶片內部,而是集成在主機板上。在只能夠和系統匯流排頻率同步的L3快取同主記憶體其實差不了多少。後來使用L3快取的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3快取的Itanium2處理器,和以後24MB L3快取的雙核心Itanium2處理器
但基本上L3快取對處理器的性能提高顯得不是很重要,比方配備1MB L3快取的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比快取增加帶來更有效的性能提升。

CPU擴展指令集

CPU依靠指令來自計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。
從現階段的主流體系結構講,指令集可分為複雜指令集精簡指令集兩部分(指令集共有四個種類),而從具體運用看,如Intel的MMX(Multi Media Extended,此為AMD猜測的全稱,Intel並沒有說明詞源)、SSESSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3SSE4系列和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。
通常會把CPU的擴展指令集稱為”CPU的指令集”。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。

CPU核心和I/O工作電壓

從586CPU開始,CPU的工作電壓分為核心電壓和I/O電壓兩種,通常CPU的核心電壓小於等於I/O電壓。其中核心電壓的大小是根據CPU的生產工藝而定,一般製作工藝越小,核心工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發熱過高的問題。

技術架構

製造工藝

製造工藝的微米是指IC內電路與電路之間的距離。製造工藝的趨勢是向密集度愈高的方向發展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更複雜的電路設計。主要的180nm、130nm、90nm、65nm、45nm。intel已經於2010年發布32nm的製造工藝的酷睿i3/酷睿i5/酷睿i7系列。並且已有發布22nm與15nm產品的計畫。
而AMD則表示、自己的產品將會直接跳過32nm工藝(2010年第三季度生產少許32nm產品、如Orochi、Llano)於2011年中期初發布28nm的產品(名稱未定)

指令集

CISC指令集,也稱為複雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程式的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、ⅥA的。即使是新起的X86-64(也說成AMD64)都是屬於CISC的範疇。
要知道什麼是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一台PC機中的CPU-i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87晶片,以後就將X86指令集和X87指令集統稱為X86指令集。
雖然隨著CPU技術的不斷發展,Intel陸續研製出更新型的i80386、i80486直到過去的PⅡ至強、PⅢ至強、Pentium 3,Pentium 4系列,最後到今天的酷睿2系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開發的各類應用程式以保護和繼承豐富的軟體資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。由於Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU主要有intel的伺服器CPU和AMD的伺服器CPU兩類。
RISC是英文“Reduced Instruction Set Computing ” 的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統基礎上發展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程式中出現的頻度卻占80%。複雜的指令系統必然增加微處理器的複雜性,使處理器的研製時間長,成本高。並且複雜指令需要複雜的操作,必然會降低計算機的速度。基於上述原因,20世紀80年代RISC型CPU誕生了,相對於CISC型CPU,RISC型CPU不僅精簡了指令系統,還採用了一種叫做“超標量超流水線結構”,大大增加了並行處理能力。RISC指令集是高性能CPU的發展方向。它與傳統的CISC(複雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,定址方式也比複雜指令集少。當然處理速度就提高很多了。在中高檔伺服器中普遍採用這一指令系統的CPU,特別是高檔伺服器全都採用RISC指令系統的CPU。RISC指令系統更加適合高檔伺服器的作業系統UNⅨ,Linux也屬於類似UNⅨ的作業系統。RISC型CPU與Intel和AMD的CPU在軟體和硬體上都不兼容。
在中高檔伺服器中採用RISC指令的CPU主要有以下幾類:PowerPC處理器SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。
⑶IA-64
EPIC(Explicitly Parallel Instruction Computers,精確並行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的套用軟體比基於Unix下的套用軟體要好得多。
Intel採用EPIC技術的伺服器CPU是安騰Itanium(開發代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發了代號為Win64的作業系統,在軟體上加以支持。在Intel採用了X86指令集之後,它又轉而尋求更先進的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,於是採用EPIC指令集的IA-64架構便誕生了。IA-64 在很多方面來說,都比x86有了長足的進步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟體,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器並不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程式時候的性能非常糟糕。這也成為X86-64產生的根本原因。
⑷X86-64 (AMD64 / EM64T)
AMD公司設計,可以在同一時間內處理64位的整數運算,併兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途暫存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有“直接執行”和“轉換執行”的區別,其指令欄位是8位或32位,可以避免欄位過長。
x86-64(也叫AMD64)的產生也並非空穴來風,x86處理器的32bit定址空間限制在4GB記憶體,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用暫存器作為原有X86處理器暫存器的擴充,但在而在32位環境下並不完全使用到這些暫存器。原來的暫存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新暫存器以提供對SSE2的支持。暫存器數量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及暫存器,x86-64架構允許處理器工作在以下兩種模式:Long Mode(長模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標準已經被引進在AMD伺服器處理器中的Opteron處理器.
也推出了支持64位的EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術類似,採用64位的線性平面定址,加入8個新的通用暫存器(GPRs),還增加8個暫存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位作業系統下的時候,才將會採用IA32E。IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術。Nocona處理器已經加入了一些64位技術,Intel的Pentium 4E處理器也支持64位技術。
應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。

超流水線與超標量

在解釋超流水線與超標量前,先了解流水線(Pipeline)。流水線是Intel首次在486晶片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5-6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5-6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取解碼、執行、寫回結果,浮點流水又分為八級流水。
超標量是通過內置多條流水線來同時執行多個處理器,其實質是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以時間換取空間。例如Pentium 4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至奔騰Ⅲ。

封裝形式

CPU封裝是採用特定的材料將CPU晶片或CPU模組固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付用戶使用。CPU的封裝方式取決於CPU安裝形式和器件集成設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,CPU封裝技術的發展方向以節約成本為主。

多執行緒

同時多執行緒Simultaneous Multithreading,簡稱SMT。SMT可通過複製處理器上的結構狀態,讓同一個處理器上的多個執行緒同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於數據相關或Cache未命中帶來的訪問記憶體延時。當沒有多個執行緒可用時,SMT處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多執行緒技術則可以為高速的運算核心準備更多的待處理數據,減少運算核心的閒置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支持SMT技術。

多核心

多核心,也指單晶片多處理器(Chip Multiprocessors,簡稱CMP)。CMP是由美國史丹福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)集成到同一晶片內,各個處理器並行執行不同的進程。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、局部性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於最佳化設計,因此更有發展前途。IBM 的Power 4晶片和Sun的 MAJC5200晶片都採用了CMP結構。多核處理器可以在處理器內部共享快取,提高快取利用率,同時簡化多處理器系統設計的複雜度。但這並不是說明,核心越多,性能越高,比如說16核的CPU就沒有8核的CPU運算速度快,因為核心太多,而不能合理進行分配,所以導致運算速度減慢。在買電腦時請酌情選擇。
2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發代碼為Montecito,採用雙核心設計,擁有最少18MB片內快取,採取90nm工藝製造,它的設計絕對稱得上是對當今晶片業的挑戰。它的每個單獨的核心都擁有獨立的L1,L2和L3 cache,包含大約10億支電晶體

SMP

SMP(Symmetric Multi-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享記憶體子系統以及匯流排結構。在這種技術的支持下,一個伺服器系統可以同時運行多個處理器,並共享記憶體和其他的主機資源。像雙至強,也就是所說的二路,這是在對稱處理器系統中最常見的一種(至強MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數是16路的。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。在高性能伺服器和工作站級主機板架構中最為常見,像UNⅨ伺服器可支持最多256個CPU的系統。
構建一套SMP系統的必要條件是:支持SMP的硬體包括主機板和CPU;支持SMP的系統平台,再就是支持SMP的套用軟體。為了能夠使得SMP系統發揮高效的性能,作業系統必須支持SMP系統,如WINNT、LINUX、以及UNⅨ等等32位作業系統。即能夠進行多任務和多執行緒處理。多任務是指作業系統能夠在同一時間讓不同的CPU完成不同的任務;多執行緒是指作業系統能夠使得不同的CPU並行的完成同一個任務。
要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規範的核心就是高級可程式中斷控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的產品型號,同樣類型的CPU核心,完全相同的運行頻率;最後,儘可能保持相同的產品序列編號,因為兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致當機。

NUMA技術

NUMA即非一致訪問分布共享存儲技術,它是由若干通過高速專用網路連線起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,一般採用硬體技術實現對cache的一致性維護,通常需要作業系統針對NUMA訪存不一致的特性(本地記憶體和遠端記憶體訪存延遲和頻寬的不同)進行特殊最佳化以提高效率,或採用特殊軟體編程方法提高效率。NUMA系統的例子。這裡有3個SMP模組用高速專用網路聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用NUMA的技術加以擴展,是這兩種技術的結合。

亂序執行技術

亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程式的速度。

分枝技術

(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。

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記憶體控制器的延遲相比來說,是要低很多的。英特爾也按照計畫的那樣在處理器內部整合記憶體控制器,這樣導致北橋晶片將變得不那么重要。但改變了處理器訪問主存的方式,有助於提高頻寬、降低記憶體延時和提升處理器性製造工藝:Intel的I5可以達到32納米,在將來的CPU製造工藝可以達到22納米。

實際套用

解決方案

在多年的信息化建設中,國產資料庫、中間件也得到了長足的發展。龍芯伺服器的誕生給國產基礎軟體構建了完善的生態鏈條。
龍芯已經完成測試了多個解決方案,重點方案如下:
電子政務解決方案:曙光龍芯伺服器、麒麟OS、神通資料庫、中創中間件、中信聯電子政務。
電子監察解決方案:曙光龍芯伺服器、中標麒麟OS、神通資料庫、金蝶中間件、深圳太極電子監察系統。
電網調度解決方案:曙光龍芯伺服器、中標麒麟OS、神通資料庫、積成電子電網監測套用。
應用程式移植方案:基於現有的曙光龍芯伺服器、中標麒麟OS,只要應用程式擁有原始碼,通過GCC編譯器,無需修改原始碼,即可平滑移植到龍芯平台上。

綠色節能的龍芯HPC解決方案

高性能計算機目前主要採用高主頻的X86處理器,功耗100瓦左右。而且高性能計算機的功耗每兩年翻一番,這種維護成本越來越大,僅僅電費就極其驚人。

曙光龍芯伺服器經過測試表明

龍芯3A的最大功耗為15W,只有X86伺服器晶片的1/12-1/8;曙光龍芯計算刀片的最大功耗僅為110W,甚至低於單個X86處理器的功耗。
曙光龍芯伺服器的計算和IO能力約為主流X86伺服器晶片的1/2-1/3。
也就是說:耗費相同的電量,曙光龍芯伺服器能比X86伺服器多處理3-6倍的數據。
可見在HPC市場中,龍芯伺服器以極高的性能功耗比具有極大的優勢。在解決方案中心的努力下,曙光在並行環境、數學庫、應用程式等幾個層面業已營造出較好的生態環境。

相關詞條

熱門詞條

聯絡我們