• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > X86指令集發展簡史和不足

    X86指令集發展簡史和不足

    作者: 時間:2018-08-27 來源:網絡 收藏

      架構(The architecture)是微處理器執行的計算機語言指令集,指一個intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合。

    本文引用地址:http://www.czjhyjcfj.com/article/201808/391155.htm

      的發展史

      1978年6月8日,Intel發布了新款16位微處理器“8086”,也同時開創了一個新時代:x86架構誕生了。x86指的是特定微處理器執行的一些計算機語言指令集,定義了芯片的基本使用規則,一如今天的x64、IA64等。

      x86是一個intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合,X與處理器沒有任何關系,它是一個對所有*86系統的簡單的通配符定義,例如:i386, 586,奔騰(pentium)。由于早期intel的CPU編號都是如8086,80286來編號,由于這整個系列的CPU都是指令兼容的,所以都用X86來標識所使用的指令集合如今的奔騰,P2,P4,賽揚系列都是支持X86指令系統的,所以都屬于X86家族 。

      X86指令集是美國Intel公司為其第一塊16位CPU(i8086)專門開發的,美國IBM公司1981年推出的世界第一臺PC機中的CPU--i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加的X87芯片系列數學協處理器則另外使用X87指令,以后就將X86指令集和X87指令集統稱為X86指令集。雖然隨著CPU技術的不斷發展,Intel陸續研制出更新型的i80386、i80486直到今天的Pentium 4(以下簡為P4)系列,但為了保證電腦能繼續運行以往開發的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬于X86系列。

      英特爾推出X86架構已滿40年了,同486相比,Pentium向前邁進了一大步, 而PⅡ的前進步伐則沒有這么大了,X86 CPU的發展似乎已到了盡頭。英特爾非常清楚,是X86指令集限制了CPU性能的進一步提高,因此,他們正同惠普共同努力開發下一代指令集架構(Instruction Set Architecture ,ISA): EPIC(Explicitly Parallel Instruction Computing,顯性并行指令計算)。

      對英特爾而言, IA-64(英特爾的64位架構)是下一個10到15年的架構。新的ISA將使英特爾擺脫X86架構的限制,從而設計出超越所有現有 CPU和X86 CPU的新型處理器。那么EPIC的先進之處在什么地方呢?

      為什么英特爾會放棄使它成為芯片巨人的X86架構呢? IA-32的問題,我們知道,工程師可以通過提高每個時鐘的指令執行數來提高性能,英特爾新的指令集的首要目的在于,讓指令更容易解碼,更容易并行執行。這樣就可以不受限制地開發新型處理器。 但是,對工程師而言,兼容8086的X86指令集一直是必須完成的任務。畢竟,兼容前代產品是使英特爾成長壯大起來的關鍵因素,而且還可以保護用戶原先的投資和使用數以百萬計應用軟件。

      X86不足的地方

      1、可變的指令長度X86指令的長度是不定的,而且有幾種不同的格式,結果造成X86 CPU的解碼工作非常復雜,為了提高CPU的工作頻率,不得不延長CPU中的流水線,而過長的流水線在分支預測出錯的情況下,又會帶來CPU工作停滯時間較長的弊端。

      2、寄存器的貧乏 X86指令集架構只有8個通用寄存器,而且實際只能使用6個。這種情況同現代的超標量CPU極不適應,雖然工程師們采用寄存器重命名的技術來彌補這個缺陷,但造成了CPU過于復雜,流水線過長的局面。

      3、內存訪問 X86指令可訪問內存地址,而現代 CPU則使用LOAD/STORE模式,只有LOAD和STORE指令才能從內存中讀取數據到寄存器,所有其他指令只對寄存器中的操作數計算。在CPU的速度是內存速度的5倍或5倍以上的情況下,后一種工作模式才是正途。

      4、浮點堆棧 X87 FPU是目前最慢的FPU,主要的原因之一就在于X87指令使用一個操作數堆棧。如果沒有足夠多的寄存器進行計算,你就不得不使用堆棧來存放數據,這會浪費大量的時間來使用FXCH指令(即把正確的數據放到堆棧的頂部)。

      5、4GB限制 這似乎不是問題,但是,在2000年前,主流PC只有4MB內存,現在絕大部分PC裝備了2G以上的內存,是以前的512倍,所以,PC內存突破16GB絕對不會令人驚訝,大型服務器已經使用了32GB以上的內存,突破64GB內存的情況已經出現。

      6、芯片變大 所有用于提高X86 CPU性能的方法,如寄存器重命名、巨大的緩沖器、亂序執行、分支預測、X86指令轉化等等,都使CPU的芯片面積變得更大,也限制了工作頻率的進一步提高,而額外集成的這些晶體管都只是為了解決X86指令的問題。



    關鍵詞: X86 RISC

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 开江县| 塔城市| 康马县| 兖州市| 屏边| 怀集县| 鸡西市| 榆林市| 沙河市| 夏河县| 铜川市| 搜索| 邛崃市| 醴陵市| 普陀区| 乌鲁木齐县| 理塘县| 庆元县| 白河县| 张家港市| 大同县| 新宁县| 通城县| 扎鲁特旗| 大田县| 芦山县| 积石山| 闻喜县| 长治县| 南平市| 灵台县| 广宗县| 黔西县| 拉萨市| 太康县| 长春市| 宁波市| 永安市| 麻栗坡县| 黑龙江省| 翁牛特旗|