x86和arm的區別

2021-08-10 14:40:02 字數 4586 閱讀 4515

x86與arm的區別

x86是英特爾公司開發的並且通治了幾十年.x86反應快在pc應用廣泛.86與arm最大不同在於指令集上.

x86跟硬體發揮優勢.但是帶來的功耗大.arm構架指令簡單執行起來快功耗也低.

現在智慧型手機和平板很火.平板電腦要求便攜和續航能力.arm構架具有低功耗.

使之有了市場.那麼為什麼沒有得到普及原因主要有2點:在執行大的指令arm很困難.

當下軟體都是基於x86構架下開發的arm是不能相容的.軟體必須改寫**才能用在arm構架.a r m 的資源少也是乙個重要原因

amd公司會大力度開發arm構架.但是完全放棄x86還是過早的.畢竟在pc領域還是x86的天下

win8系統支援arm與x86兩種構架

一、背景知識:指令的強弱是cpu的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集 (cisc)和精簡指令集(risc)兩部分。

相應的,微處理隨著微指令的複雜度也可分為cisc及risc這兩類。cisc是一種為了便於程式設計和提高記憶體訪問效率的晶元設計體系。在20世紀90年代中期之前,大多數的微處理器都採用cisc體系──包括intel的80x86和motorola的68k系列等。

即通常所說的x86架構就是屬於cisc體系的。risc是為了提高處理器執行的速度而設計的晶元體系。它的關鍵技術在於流水線操作(pipelining):

在乙個時鐘週期裡完成多條指令。而超流水線以及超標量技術已普遍在晶元設計中使用。risc體系多用於非x86陣營高效能微處理器cpu。

像holtek mcu系列等。arm ( advanced risc machines ),既可以認為是乙個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。而arm體系結構目前被公認為是業界領先的32 位嵌入式risc 微處理器結構。

所有arm處理器共享這一體系結構。因此我們可以從其所屬體系比較入手,來進行x86指令集與arm指令集的比較。

二、cisc和risc的比較(一)cisc1.cisc體系的指令特徵使用微**。指令集可以直接在微**記憶體(比主記憶體的速度快很多)裡執行,新設計的處理器,只需增加較少的電晶體就可以執行同樣的指令集,也可以很快地編寫新的指令集程式。龐大的指令集。

可以減少程式設計所需要的**行數,減輕程式師的負擔。高階語言對應的指令集:包括雙運算元格式、暫存器到暫存器、暫存器到記憶體以及記憶體到暫存器的指令。

2.cisc體系的優缺點優點:能夠有效縮短新指令的微**設計時間,允許設計師實現cisc體系機器的向上相容。新的系統可以使用乙個包含早期系統的指令超集合,也就可以使用較早電腦上使用的相同軟體。

另外微程式指令的格式與高階語言相匹配,因而編譯器並不一定要重新編寫。缺點:指令集以及晶元的設計比上一代產品更複雜,不同的指令,需要不同的時鐘週期來完成,執行較慢的指令,將影響整台機器的執行效率。

(二)risc1.risc體系的指令特徵精簡指令集:包含了簡單、基本的指令,透過這些簡單、基本的指令,就可以組合成複雜指令。同樣長度的指令:

每條指令的長度都是相同的,可以在乙個單獨操作裡完成。單機器週期指令:大多數的指令都可以在乙個機器週期裡完成,並且允許處理器在同一時間內執行一系列的指令。

2.risc體系的優缺點優點:在使用相同的晶元技術和相同執行時鐘下,risc系統的執行速度將是cisc的2~4倍。由於risc處理器的指令集是精簡的,它的記憶體管理單元、浮點單元等都能設計在同一塊晶元上。

risc處理器比相對應的cisc處理器設計更簡單,所需要的時間將變得更短,並可以比cisc處理器應用更多先進的技術,開發更快的下一代處理器。缺點:多指令的操作使得程式開發者必須小心地選用合適的編譯器,而且編寫的**量會變得非常大。

另外就是risc體系的處理器需要更快記憶體,這通常都整合於處理器內部,就是l1 cache(一級快取)。綜合上面所述,若要再進一步比較cisc與risc之差異,可以由以下幾點來進行分析: 1、指令的形成cisc因指令複雜,故採微指令碼控制單元的設計,而risc的指令90%是由硬體直接完成,只有10%的指令是由軟體以組合的方式完成,因此指令執行時間上risc較短,但risc所須rom空間相對的比較大,至於ram使用大小應該與程式的應用比較有關係。

2、定址模式cisc的需要較多的定址模式,而risc只有少數的定址模式,因此cpu在計算記憶體有效位址時,cisc占用的匯流排週期較多。3、指令的執行cisc指令的格式長短不一,執行時的週期次數也不統一,而risc結構剛好相反,故適合採用管線處理架構的設計,進而可以達到平均一週期完成一指令的方向努力。顯然的,在設計上risc較cisc簡單,同時因為cisc的執行步驟過多,閒置的單元電路等待時間增長,不利於平行處理的設計,所以就效能而言risc較cisc還是站了上風,但risc因指令精簡化後造成應用程式碼變大,需要較大的程式記憶體空間,且存在指令種類較多等等的缺點。

(三)x86指令集和arm指令集: (1) x86指令集: x86指令集是intel為其第一塊16位cpu(i8086)專門開發的,後來的電腦中為提高浮點資料處理能力而增加的x87晶元系列數學協處理器另外使用x87指令,以後就將x86指令集和x87指令集統稱為x86指令集。

雖然隨著cpu技術的不斷發展,intel陸續研製出更新型的i80386、i80486,但為了保證電腦能繼續執行以往開發的各類應用程式以保護和繼承豐富的軟體資源,所以intel公司所生產的所有cpu仍然繼續使用x86指令集,所以它的cpu仍屬於x86系列。由於intel x86系列及其相容cpu都使用x86指令集,所以就形成了今天龐大的x86系列及相容cpu陣容。除了具備上述cisc的諸多特性外,x86指令集有以下幾個突出的缺點:

l 通用暫存器組————對cpu核心結構的影響x86指令集只有8個通用暫存器。所以,cisc的cpu執行是大多數時間是在訪問儲存器中的資料,而不是暫存器中的。這就拖慢了整個系統的速度。

risc系統往往具有非常多的通用暫存器,並採用了重疊暫存器視窗和暫存器堆等技術使暫存器資源得到充分的利用。l 解碼————對cpu的外核的影響解碼器(decode unit),這是x86cpu才有的東西。其作用是把長度不定的x86指令轉換為長度固定的類似於risc的指令,並交給risc核心。

解碼分為硬體解碼和微解碼,對於簡單的x86指令只要硬體解碼即可,速度較快,而遇到複雜的x86指令則需要進行微解碼,並把它分成若干條簡單指令,速度較慢且很複雜。athlon也好, piii也好,老式的cisc的x86指令集嚴重制約了他們的效能表現。l 定址範圍小——約束了使用者需要即使amd研發出x86-64架構時,雖然也解決了傳統x86固有的一些缺點,比如定址範圍的擴大,但這種改善並不能直接帶來效能上的提公升。

(2) arm指令集:相比而言,以risc為架構體系的arm指令集的指令格式統一,種模擬較少,定址方式也比複雜指令集少。當然處理速度就提高很多。

arm處理器都是所謂的精簡指令集處理機(risc)。其所有指令都是利用一些簡單的指令組成的,簡單的指令意味著相應硬體線路可以盡量做到最佳化,而提高執行速率,相對的使得乙個指令所需的時間減到最短。而因為指令集的精簡,所以許多任務作都必須組合簡單的指令,而針對較複雜組合的工作便需要由『編譯程式』 (compiler) 來執行,而 cisc 體系的x86指令集因為硬體所提供的指令集較多,所以許多任務作都能夠以乙個或是數個指令來代替,compiler 的工作因而減少許多。

除了具備上述risc的諸多特性之外,可以總結arm指令集架構的其它一些特點如下: l arm的特點1. 體積小,低功耗,低成本,高效能2. 支援 thumb ( 16 位) /arm ( 32 位)雙指令集,能很好的相容 8 位 /16 位器件; 3. 大量使用暫存器,指令執行速度更快; 4. 大多數資料操作都在暫存器中完成; 5. 定址方式靈活簡單,執行效率高; 6. 指令長度固定7. 流水線處理方式8. load_store結構l arm的一些非risc思想的指令架構: 1. 允許一些特定指令的執行週期數字可變,以降低功耗,減小面積和**尺寸。

2. 增加了桶形移位器來擴充套件某些指令的功能。3. 使用了16位的thumb指令集來提高**密度。4. 使用條件執行指令來提高**密度和效能。

5. 使用增強指令來實現資料訊號處理的功能。(四)小結:因此,大量的複雜指令、可變的指令長度、多種的定址方式這些cisc的特點,也是cisc的缺點,因為這些都大大增加了解碼的難度,而在現在的高速硬體發展下,複雜指令所帶來的速度提公升早已不及在解碼上浪費點的時間。

除了個人pc市場還在用x86指令集外,伺服器以及更大的系統都早已不用cisc了。x86仍然存在的理由就是為了相容大量的x86平台上的軟體,同時,它的體系結構組成的實現不太困難。而risc體系的arm指令最大特點是指令長度固定,指令格式種類少,定址方式種類少,大多數是簡單指令且都能在乙個時鐘週期內完成,易於設計超標量與流水線,暫存器數量多,大量操作在暫存器之間進行。

優點是不言而喻的,因此,arm處理器才成為是當前最流行的處理器系列,是幾種主流的嵌入式處理體系結構之一。risc目前正如日中天,intel似乎也將最終拋棄x86而轉向risc結構。而實際上,隨著risc處理器在嵌入式領域中大放異彩,傳統的x86系列cisc處理器在intel公司的積極改進下也克服了功耗過高的問題,成為一些高效能嵌入式裝置的最佳選擇,發展到今天,cisc與risc之間的界限已經不再是那麼涇渭分明,risc自身的設計正在變得越來越複雜(當然並不是完全依著cisc的思路變複雜),因為所有實際使用的cpu都需要不斷提高效能,所以在體系結構中加入新特點就在所難免。

另一方面,原來被認為是cisc體系結構的處理器也吸收了許多risc的優點,比如pentium處理器在內部的實現中也是採用的risc的架構,複雜的指令在內部由微碼分解為多條精簡指令來執行,但是對於處理器外部來說,為了保持相容性還是以cisc風格的指令集展示出來。

X86處理器與ARM處理器

摘要arm架構在嵌入式系統 超級計算機領域有著龐大的市場占有量。本文從x86架構出發,通過對比體現arm架構處理器的結構和特性。x86架構與arm架構的最根本區別是採用了不同的指令集。arm處理器採用32位元精簡指令集 risc 處理器架構,x86架構處理器採用可變指令長度的複雜指令集計算機 cis...

《基於x86架構的雲計算試驗專案》技術要求 Draft

基於x86架構的雲計算試驗專案 技術要求 第一章工程描述 1.1 我公司應用系統維護中心機房負責省公司增值業務及創新系統的集中管理,目前共有64個系統共2000多台裝置在執行,均為我公司自有系統。對這些系統逐步進行雲計算改造,一方面可以此為切入點,不斷進行新技術儲備及試驗,逐步在我公司全面實施雲計算...

X電容和Y電容的區別和用途

x和y電容都是安規電容,區別是x電容接在輸入線兩端用來消除差模干擾,y電容接在輸入線和地線之間,用來消除共模干擾。x電容採用塑封的方形高壓cbb電容,cbb電容不但有更好的電氣效能,而且與電源的輸入端併聯可以有效的減小高頻脈衝對開關電源的影響。y電容 常採用高壓瓷片的。y型電容連線在相線與地線之間。...