国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【轉】CPU官方興奮劑!歷代Intel指令集回顧

2023-09-16 11:20 作者:小林家的垃圾王R  | 我要投稿


CPU官方興奮劑!歷代Intel指令集回顧

2009年07月02日 07:49作者:張柏松編輯:張柏松文章出處:泡泡網(wǎng)原創(chuàng)

分享


????【泡泡網(wǎng)CPU頻道7月2日】?經(jīng)過多年的發(fā)展,多媒體指令集已經(jīng)成為CPU密不可分的一部分。每次有新的CPU出來,我們也習慣了用CPU-Z檢測一下它有沒有添加什么新的指令集。從我們的應用環(huán)境來看,3D影像越來越復雜,視頻編碼的壓縮率越來越高,都對CPU提出了更高的要求,可以想象,SSE這劑“興奮劑”,CPU只有一直服用下去了。

??? CPU中的指令集,雖然不起眼,但是在CPU的運算中有重要加速作用,尤其是編碼方面,若使用的軟件對CPU的指令集有優(yōu)化,那么CPU的運算效能較無指令集優(yōu)化運行速度有很大提升。SSE指令集作為Intel的頂梁柱,重要些不言而喻。每次的SSE指令集升級,都牽動著英特爾不少心血,除了自身研發(fā)指令集外,如何能讓眾多軟件支持新指令集是更為關鍵的問題。

Intel最優(yōu)異CPU:i7 965指令集

  CPU依靠指令來計算和控制系統(tǒng),每款CPU在設計時就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現(xiàn)階段的主流體系結構講,指令集可分為復雜指令集和精簡指令集兩部分,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力,我們通常會把CPU的擴展指令集稱為"CPU的指令集"。


? 精簡指令集的運用

  在最初發(fā)明計算機的數(shù)十年里,隨著計算機功能日趨增大,性能日趨變強,內部元器件也越來越多,指令集日趨復雜,過于冗雜的指令嚴重的影響了計算機的工作效率。后來經(jīng)過研究發(fā)現(xiàn),在計算機中,80%程序只用到了20%的指令集,基于這一發(fā)現(xiàn),RISC精簡指令集被提了出來,這是計算機系統(tǒng)架構的一次深刻革命。RISC體系結構的基本思路是:抓住CISC指令系統(tǒng)指令種類太多、指令格式不規(guī)范、尋址方式太多的缺點,通過減少指令種類、規(guī)范指令格式和簡化尋址方式,方便處理器內部的并行處理,提高VLSI器件的使用效率,從而大幅度地提高處理器的性能。


  RISC指令集有許多特征,其中最重要的有:

  • 指令種類少,指令格式規(guī)范:RISC指令集通常只使用一種或少數(shù)幾種格式。指令長度單一(一般4個字節(jié)),并且在字邊界上對齊,字段位置、特別是操作碼的位置是固定的。

  • 尋址方式簡化:幾乎所有指令都使用寄存器尋址方式,尋址方式總數(shù)一般不超過5個。其他更為復雜的尋址方式,如間接尋址等則由軟件利用簡單的尋址方式來合成。

  • 大量利用寄存器間操作:RISC指令集中大多數(shù)操作都是寄存器到寄存器操作,只以簡單的Load和Store操作訪問內存。因此,每條指令中訪問的內存地址不會超過1個,訪問內存的操作不會與算術操作混在一起。

  • 簡化處理器結構:使用RISC指令集,可以大大簡化處理器的控制器和其他功能單元的設計,不必使用大量專用寄存器,特別是允許以硬件線路來實現(xiàn)指令操作,而不必像CISC處理器那樣使用微程序來實現(xiàn)指令操作。因此RISC處理器不必像CISC處理器那樣設置微程序控制存儲器,就能夠快速地直接執(zhí)行指令。

  • 便于使用VLSI技術:隨著LSI和VLSI技術的發(fā)展,整個處理器(甚至多個處理器)都可以放在一個芯片上。RISC體系結構可以給設計單芯片處理器帶來很多好處,有利于提高性能,簡化VLSI芯片的設計和實現(xiàn)。基于VLSI技術,制造RISC處理器要比CISC處理器工作量小得多,成本也低得多。

  • 加強了處理器并行能力:RISC指令集能夠非常有效地適合于采用流水線、超流水線和超標量技術,從而實現(xiàn)指令級并行操作,提高處理器的性能。目前常用的處理器內部并行操作技術基本上是基于RISC體系結構發(fā)展和走向成熟的。

  正由于RISC體系所具有的優(yōu)勢,它在高端系統(tǒng)得到了廣泛的應用,而CISC體系則在桌面系統(tǒng)中占據(jù)統(tǒng)治地位。而在如今,在桌面領域,RISC也不斷滲透,預計未來,RISC將要一統(tǒng)江湖。

? Intel CPU的擴展指令集

  對于CPU來說,在基本功能方面,它們的差別并不太大,基本的指令集也都差不多,但是許多廠家為了提升某一方面性能,又開發(fā)了擴展指令集,擴展指令集定義了新的數(shù)據(jù)和指令,能夠大大提高某方面數(shù)據(jù)處理能力,但必需要有軟件支持,下面我們來i7處理器看一看歷代Intel指令集都有哪些:

  • MMX指令集

  MMX(Multi Media eXtension,多媒體擴展指令集)指令集是Intel公司于1996年推出的一項多媒體指令增強技術。MMX指令集中包括有57條多媒體指令,通過這些指令可以一次處理多個數(shù)據(jù),在處理結果超過實際處理能力的時候也能進行正常處理,這樣在軟件的配合下,就可以得到更高的性能。


??? MMX的益處在于,當時存在的操作系統(tǒng)不必為此而做出任何修改便可以輕松地執(zhí)行MMX程序。但是,問題也比較明顯,那就是MMX指令集與x87浮點運算指令不能夠同時執(zhí)行,必須做密集式的交錯切換才可以正常執(zhí)行,這種情況就勢必造成整個系統(tǒng)運行質量的下降。

?MMX指令集Intel代表處理器:Pentium MMX


? SSE指令集

  SSE(Streaming SIMD Extensions,單指令多數(shù)據(jù)流擴展)指令集是Intel在Pentium III處理器中率先推出的。其實,早在PIII正式推出之前,Intel公司就曾經(jīng)通過各種渠道公布過所謂的KNI(Katmai New Instruction)指令集,這個指令集也就是SSE指令集的前身,并一度被很多傳媒稱之為MMX指令集的下一個版本,即MMX2指令集。究其背景,原來"KNI"指令集是Intel公司最早為其下一代芯片命名的指令集名稱,而所謂的"MMX2"則完全是硬件評論家們和媒體憑感覺和印象對"KNI"的 評價,Intel公司從未正式發(fā)布過關于MMX2的消息。


  而最終推出的SSE指令集也就是所謂勝出的"互聯(lián)網(wǎng)SSE"指令集。SSE指令集包括了70條指令,其中包含提高3D圖形運算效率的50條SIMD(單指令多數(shù)據(jù)技術)浮點運算指令、12條MMX 整數(shù)運算增強指令、8條優(yōu)化內存中連續(xù)數(shù)據(jù)塊傳輸指令。理論上這些指令對目前流行的圖像處理、浮點運算、3D運算、視頻處理、音頻處理等諸多多媒體應用起到全面強化的作用。SSE指令與3DNow!指令彼此互不兼容,但SSE包含了3DNow!技術的絕大部分功能,只是實現(xiàn)的方法不同。SSE兼容MMX指令,它可以通過SIMD和單時鐘周期并行處理多個浮點數(shù)據(jù)來有效地提高浮點運算速度。

?SSE指令集Intel代表處理器:Pentium III


?


? SSE2指令集

??? SSE2(Streaming SIMD Extensions 2,Intel官方稱為SIMD流技術擴展2或數(shù)據(jù)流單指令多數(shù)據(jù)擴展指令集2)指令集是Intel公司在SSE指令集的基礎上發(fā)展起來的。相比于SSE,SSE2使用了144個新增指令,擴展了MMX技術和SSE技術,這些指令提高了廣大應用程序的運行性能。隨MMX技術引進的SIMD整數(shù)指令從64位擴展到了128 位,使SIMD整數(shù)類型操作的有效執(zhí)行率成倍提高。雙倍精度浮點SIMD指令允許以 SIMD格式同時執(zhí)行兩個浮點操作,提供雙倍精度操作支持有助于加速內容創(chuàng)建、財務、工程和科學應用。


??? 除SSE2指令之外,最初的SSE指令也得到增強,通過支持多種數(shù)據(jù)類型(例如,雙字和四字)的算術運算,支持靈活并且動態(tài)范圍更廣的計算功能。SSE2指令可讓軟件開發(fā)員極其靈活的實施算法,并在運行諸如MPEG-2、MP3、3D圖形等之類的軟件時增強性能。Intel是從Willamette核心的Pentium 4開始支持SSE2指令集的,而AMD則是從K8架構的SledgeHammer核心的Opteron開始才支持SSE2指令集的。

?SSE2指令集Intel代表處理器:老Pentium 4


?? SSE3指令集

??? SSE3(Streaming SIMD Extensions 3,Intel官方稱為SIMD流技術擴展3或數(shù)據(jù)流單指令多數(shù)據(jù)擴展指令集3)指令集是Intel公司在SSE2指令集的基礎上發(fā)展起來的。相比于SSE2,SSE3在SSE2的基礎上又增加了13個額外的SIMD指令。


??? SSE3中13個新指令的主要目的是改進線程同步和特定應用程序領域,例如媒體和游戲。這些新增指令強化了處理器在浮點轉換至整數(shù)、復雜算法、視頻編碼、SIMD浮點寄存器操作以及線程同步等五個方面的表現(xiàn),最終達到提升多媒體和游戲性能的目的。Intel是從Prescott核心的Pentium 4開始支持SSE3指令集的,而AMD則是從2005年下半年Troy核心的Opteron開始才支持SSE3的。但是需要注意的是,AMD所支持的SSE3與Intel的SSE3并不完全相同,主要是刪除了針對Intel超線程技術優(yōu)化的部分指令。

?SSE3指令集Intel代表處理器:基于Prescott核心新Pentium 4


?? SSSE3指令集

  SSSE3(Supplemental Streaming SIMD Extensions 3)內置于Intel公司微處理器中的多媒體關聯(lián)的擴張指令集。是擴張了SSE3的產(chǎn)品,于2006年7月首次裝載在Core 2 Duo處理器中。


??? SSE3裝載了用一個命令一口氣處理復數(shù)個數(shù)據(jù)的「SIMD」的處理方式,特別在處理語音和動畫關聯(lián)上能夠高速地發(fā)揮力量。SSSE3是在 SSE3命令的基礎上又添加了32個新命令的產(chǎn)品,其原名為TNI,是SSE4指令集的子集,包含有13條命令。目前SSSE3也是非常先進的指令集,增強了CPU的多媒體、圖形圖象和Internet等的處理能力。

?SSSE3指令集Intel代表處理器:65nm 酷睿2


?? SSE4指令集的兩個分支:SSE4.1 + SSE4.2

  SSE4指令集被認為是2001年以來Intel最重要的指令集擴展,包含54條指令。 Intel在Penryn處理器中加入了對SSE4.1的支持,共增加了47條新指令,提升了處理器在圖形、3D圖像與游戲、視頻編碼與影音處理等方面的性能表現(xiàn)。本次在Nehalem處理器中,進一步支持了SSE4.2指令集。SSE4.2完整的實現(xiàn)了SSE4指令集,相對于SSE4.1加入了7條新指令。

?? SSE4.1指令集

  45納米加入了SSE4.1指令集,令處理器的多媒體處理能力得到最大70%的提升。SSE4加入了6條浮點型點積運算指令,支持單精度、雙精度浮點運算及浮點產(chǎn)生操作,且IEEE 754指令 (Nearest, -Inf, +Inf, and Truncate) 可立即轉換其路徑模式,大大減少延誤,這些改變將對游戲及 3D 內容制作應用有重要意義。此外,SSE4加入串流式負載指令,可提高以圖形幀緩沖區(qū)的讀取數(shù)據(jù)頻寬,理論上可獲取完整的快取緩存行,即每次讀取64Bit而非8Bit,并可保持在臨時緩沖區(qū)內,讓指令最多可帶來8倍的讀取頻寬效能提升,對于視訊處理、成像以及圖形處理器與中央處理器之間的共享數(shù)據(jù)應用,有著明顯的效能提升。


  SSE4指令集讓45nm Penryn處理器增加了2個不同的32Bit向量整數(shù)乘法運算單元,并加入8位無符號(Unsigned)最小值及最大值運算,以及16Bit及32Bit有符號 (Signed) 運算。在面對支持SSE4指令集的軟件時,可以有效的改善編譯器效率及提高向量化整數(shù)及單精度代碼的運算能力。同時,SSE4改良插入、提取、尋找、離散、跨步負載及存儲等動作,令向量運算進一步專門。

?SSE4.1指令集Intel代表處理器:45nm 酷睿2


?? SSE4.2指令集

??? 在Nehalem架構的Core i7處理器中,SSE4.2指令集被引入,加入了STTNI(字符串文本新指令)和ATA(面向應用的加速器)兩大優(yōu)化指令。

  SSE4.2新加入的幾條新指令有兩類。第一類是字符串與文本新指令STTNI,STTNI包含了四條具體的指令。STTNI指令可以對兩個16位的數(shù)據(jù)進行匹配操作,以加速在XML分析方面的性能。據(jù)Intel表示,新指令可以在XML分析方面取得3.8倍的性能提升。


??? 第二類指令是面向應用的加速指令ATA。ATA包括冗余校驗的CRC32指令、計算源操作數(shù)中非0位個數(shù)的POPCNT指令,以及對于打包的64位算術運算的SIMD指令。CRC32指令可以取代上層數(shù)據(jù)協(xié)議中經(jīng)常用到的循環(huán)冗余校驗,據(jù)Intel表示其加速比可以達到6.5~18.6倍;POPCNT用于提高在DNA基因配對、聲音識別等包含大數(shù)據(jù)集中進行模式識別和搜索等操作的應用程序性能。 Intel也公布了支持新指令集的開發(fā)工具。這些工具涵蓋了主流的編譯開發(fā)環(huán)境。目前已明確支持SSE4.2的開發(fā)環(huán)境包括:Intel C++ Compiler 10.X、微軟的Visual Studio 2008 VC++、GCC 4.3.1、Sun Studio Express等。程序員可以直接使用高級編程語言編程,編譯器會自動生成優(yōu)化結果。當然程序員也可以用內嵌匯編的方式來達到目的。

?SSE4指令集Intel代表處理器:45nm i7







【轉】CPU官方興奮劑!歷代Intel指令集回顧的評論 (共 條)

分享到微博請遵守國家法律
扎兰屯市| 黄浦区| 法库县| 石棉县| 加查县| 曲靖市| 滨州市| 永定县| 建平县| 岳普湖县| 凭祥市| 曲阜市| 富裕县| 黄骅市| 易门县| 松溪县| 体育| 黄梅县| 灵丘县| 甘洛县| 莆田市| 高雄县| 监利县| 屏边| 余姚市| 维西| 宣化县| 蓝山县| 壶关县| 遂平县| 治多县| 齐齐哈尔市| 罗源县| 乾安县| 邹平县| 江西省| 阳朔县| 泸水县| 吐鲁番市| 巴青县| 清涧县|