歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> ARM與X86的比較

ARM與X86的比較

日期:2017/2/28 15:59:36   编辑:Linux教程

CPU的指令集從主流的體系結構上分為精簡指令集(RISC)和復雜指令集(CISC)。嵌入式系統中的主流處理器——ARM處理器,所使用的就是精簡指令集。而桌面領域的處理器大部分使用的是復雜指令集,比如我們熟悉的Intel的X86系列處理器。我們把ARM處理器所使用的指令集稱為ARM指令集,把X86處理器所使用的指令集稱為X86指令集,ARM處理器與X86處理器采用不同類型的指令集,因此兩種處理器也表現出了諸多差異。

首先,我們就來看一看基於RISC的ARM的體系結構:

ARM是一種RISC體系結構的處理器芯片。和傳統的CISC體系結構不同,RISC 有以下的幾個特點:

1)簡潔的指令集——為了保證CPU可以在高時鐘頻率下單周期執行指令,RISC指令集只提供很有限的操作(例如add,sub,mul等),而復雜的操作都需要由這些簡單的指令來組合進行模擬。並且,每一條指令不僅執行時間固定,其指令長度也是固定的,這樣,在譯碼階段就可以對下一條指令進行預取

2) Load-Store 結構——這個應該是RISC 設計中比較有特點的一部分。在RISC 中,CPU並不會對內存中的數據進行操作,所有的計算都要求在寄存器中完成。而寄存器和內存的通信則由單獨的指令來完成。而在CSIC中,CPU是可以直接對內存進行操作的,這也是一個比較特別的地方

3) 更多的寄存器——和CISC 相比,基於RISC的處理器有更多的通用寄存器可以使用,且每個寄存器都可以進行數據存儲或者尋址

作為RISC 領域最成功的處理器,ARM自然也遵從上面的特點。下面我們從技術、市場等不同角度對ARM與X86進行一下比較:

一、寄存器比較
32位的X86處理器所含有的寄存器有:
4個數據寄存器(EAX、EBX、ECX和EDX)
2個變址和指針寄存器(ESI和EDI)
2個指針寄存器(ESP和EBP)
6個段寄存器(ES、CS、SS、DS、FS和GS)
1個指令指針寄存器(EIP)
1個標志寄存器(EFlags)

ARM微處理器共有37個32位寄存器,其中31個通用寄存器,6個狀態寄存器。但這些寄存器不能被同時訪問,具體哪些寄存器是可編程訪問的,取決於處理器的工作狀態及具體運行模式。但在任何時候,通用寄存器R14——R0、程序計數器PC、一個或兩個狀態寄存器都是可訪問的。usr模式下體系結構如下:

Copyright © Linux教程網 All Rights Reserved