基本介紹
中文名 :龍芯2E外文名 : Loongson 2E研發單位 :中國科學院計算所
概述,簡介,硬體水平,軟體水平,發展概況,測評,性能,現場演示,研發過程,自主創新,跨越發展,系列產品及套用,系列,套用,與國外比較,性能最高,現況,發展,二級快取,PCI,DDR,性能指標,主頻,外頻,前端匯流排(FSB)頻率,CPU的位和字長,倍頻係數,快取,一級快取,二級快取,三級快取,CPU擴展指令集,CPU核心和I/O工作電壓,技術架構,製造工藝,指令集,超流水線與超標量,封裝形式,多執行緒,多核心,SMP,NUMA技術,亂序執行技術,分枝技術,CPU內部的記憶體控制器,實際套用,解決方案,綠色節能的龍芯HPC解決方案,曙光龍芯伺服器經過測試表明,
概述 簡介 硬體水平 龍芯 2E微處理器是一款實現64位
MIPS Ⅲ
指令集 的通用
RISC 處理器,採用90nm的
CMOS 工藝,布線層為七層銅金屬,晶片
電晶體 數目為4700萬,晶片面積6.8mm×5.2mm,最高
工作頻率 為1GHz,典型工作頻率為800MHz,實測功耗5-7瓦。
軟體水平 發展概況 ⅥA(
威盛 )南橋提供的
外設接口 有些過時,且PCI匯流排擴展增加了成本。
龍芯 2C並未批量生產,首批推向市場的
龍芯 盒子會採用
龍芯 2E,而性能更為優良的龍芯2F也在醞釀之中。進步的細節諸如
龍芯 2E目前最高支持DDR333,而龍芯2F將支持
DDR2 ,且
處理器 會集成
PCI-X 或者PCI-Express,晶片組方面也有一些計畫做大幅度的改進。
測評 性能 龍芯 2E通用64位
處理器 是目前全球除美日之外性能最高的通用
處理器 ,也是祖國大陸地區第一個採用90納米設計技術的處理器。該處理器最高
主頻 達到1.0GHz,峰值
運算速度 達到每秒40億次雙精度
浮點運算 ,實測性能超過1.5GHz奔騰Ⅳ處理器的水平,具有低成本、低功耗、高性能、高安全性特點。
龍芯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號多核處理器系列主要面向伺服器和高性能機套用。
套用 根據套用需要,其中部分龍芯2號也可以面向部分高端嵌入式套用,部分低端龍芯3號也可以面向部分桌面套用。以後上述三個系列龍芯處理器將並行地發展。
與國外比較 性能最高 龍芯 2E是目前除了美國和日本之外世界上性能最高的CPU,也是中國大陸地區第一個基於90納米工藝的設計。該
處理器 包含4700萬
電晶體 ,最高
主頻 達到1.0GHz,最高雙精度浮點運算速度每秒40億次,
單精度 運算每秒80億次,並且具有功耗低、安全性高等特點。
現況 龍芯 2E已經完成量產並向部分用戶供貨。
龍芯 2E的改進型
龍芯 2F也已完成設計,預計2007年下半年可以批量上市。
發展 二級快取 DIY愛好者都熟知,
二級快取 非常影響
處理器 的性能。與早期的Pentium Ⅱ處理器類似,龍芯2E
二級快取 的頻率為處理器主頻的一半。龍芯技術人員坦言,處理器達到1GHz的
頻率 並非易事,半速運行主要考慮降低對延遲的要求,當時團隊沒有充裕的時間來設計一個足夠快的512KB快取。
PCI 此外,PCI匯流排有限的頻寬也嚴重製約了系統性能。從開發樣板來看,ⅥA(威盛)南橋提供的外設接口有些過時,且PCI匯流排擴展增加了成本。
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)
頻率 (即
匯流排頻率 )是直接影響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
處理器 ,靈活的HyperTransport
I/O匯流排 體系結構讓它整合了記憶體控制器,使處理器不通過
系統匯流排 傳給晶片組而直接和記憶體交換數據。這樣的話,前端匯流排(FSB)
頻率 在AMD Opteron
處理器 就不知道從何談起了。
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並沒有說明詞源)、
SSE 、
SSE2 (Streaming-Single instruction multiple data-Extensions 2)、
SSE3 、
SSE4 系列和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在軟體和硬體上都不兼容。
⑶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,只要應用程式擁有原始碼,通過GCC編譯器,無需修改原始碼,即可平滑移植到龍芯平台上。
綠色節能的龍芯HPC解決方案 高性能計算機目前主要採用高
主頻 的X86
處理器 ,功耗100瓦左右。而且高性能計算機的功耗每兩年翻一番,這種維護成本越來越大,僅僅電費就極其驚人。
曙光龍芯伺服器經過測試表明 龍芯 3A的最大功耗為15W,只有X86
伺服器晶片 的1/12-1/8;曙光龍芯計算刀片的最大功耗僅為110W,甚至低於單個X86
處理器 的功耗。
曙光
龍芯 伺服器的計算和IO能力約為主流X86
伺服器晶片 的1/2-1/3。
也就是說:耗費相同的電量,曙光
龍芯 伺服器能比X86伺服器多處理3-6倍的數據。
可見在HPC市場中,
龍芯 伺服器以極高的性能功耗比具有極大的優勢。在解決方案中心的努力下,曙光在並行環境、數學庫、應用程式等幾個層面業已營造出較好的生態環境。