X86,MIPS,ARMCPU體系結(jié)構(gòu)特點_第1頁
X86,MIPS,ARMCPU體系結(jié)構(gòu)特點_第2頁
X86,MIPS,ARMCPU體系結(jié)構(gòu)特點_第3頁
免費預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、在回答以下問題之前我們有必要說明一下什么是處理器體系結(jié)構(gòu)和體系架構(gòu)。體系架構(gòu):CPU架構(gòu)是CPU廠商給屬于同一系列的 CPU產(chǎn)品定的一個規(guī)范,主要目的是為 了區(qū)分不同類型 CPU的重要標示。目前市面上的CPU主要分有兩大陣營,一個是 in tel系列CPU,另一個是AMD 系列CPU。體系結(jié)構(gòu):在計算世界中,"體系結(jié)構(gòu)"一詞被用來描述一個抽象的機器,而不是一個具體的機器實 現(xiàn)。一般而言,一個CPU的體系結(jié)構(gòu)有一個指令集加上一些寄存器而組成?!爸噶罴迸c“體系結(jié)構(gòu)”這兩個術(shù)語是同義詞。問題一:X86,MIPS,ARM 三塊cpu的體系結(jié)構(gòu)和特點X86 :X86采用了 CISC

2、指令集。在CISC指令集的各種指令中,大約有20%的指令會被反復(fù)使用, 占整個程序代碼的 80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計中只占 20%??偩€接口部件BIU總線接口部件由4個16位段寄存器(DS,ES,SS,CS)、一個16位指令指針寄存器(IP)、20 位物理地址加法器、6字節(jié)指令隊列(8088為4字節(jié))及總線控制電路組成,負責(zé)與存儲器及I/O端口的數(shù)據(jù)傳送。執(zhí)行部件EU執(zhí)行部件由 ALU、寄存器陣列(AX,BX,CX,DX,SI,DI,BP ,SP)、標志寄存器(PSW)等幾個部分組成,其任務(wù)就是從指令隊列流中取出指令,然后分析和執(zhí)行指令,還負責(zé)計算操作數(shù)的16位偏移地

3、址。寄存器的結(jié)構(gòu)1 )數(shù)據(jù)寄存器AX、BX、CX、DX均為16位的寄存器,它們中的每一個又可分為高字節(jié)H和低字節(jié)L。即AH、BH、CH、DH及AL、BL、CL、DL可作為單獨的8位寄存器使用。不論16位寄存器還是8位寄存器,它們均可寄存操作數(shù)及運算的中間結(jié)果。有少數(shù)指令指定某個寄存器專用,例如,串操作指令指定CX專門用作記錄串中元素個數(shù)的計數(shù)器。2) 段寄存器組:CS、DS、SS、ESo 8086/8088 的20位物理地址在 CPU內(nèi)部要由兩部分相加形成的。SP、BP、SI、DI是用以指明其偏移地址,即20位物理地址的低 16位;而CS、DS、SS、ES是用以指明20位物理地址的高16位的,

4、故稱作段寄存器。4個存儲器使用專一,不能互換,CS識別當前代碼段,DS識別當前數(shù)據(jù)段,SS識別當前堆棧段;ES識別當前附加段。一般情況下,DS和ES都須用戶在程序中設(shè)置初值。3)控制寄存器組:IP和FLAG。指令指針I(yè)P用以指明當前要執(zhí)行指令的偏移地址(段地址 由CS提供)。標志寄存器FLAG有16位,用了其中的九位,分兩組:狀態(tài)標志和控制標志。前者用以記錄狀態(tài)信息,由6位組成,后者用以記錄控制信息由3位組成。6位狀態(tài)標志,包括CF、AF、OF、SF、PF和ZF,它反映前一次涉及 ALU操作的結(jié)果,對用戶它“只讀 不寫”。控制標志包括方向標志 DF,中斷允許標志IF及陷阱標志TF,中斷允許標志

5、IF及陷 阱標志TF,可通過指令設(shè)置。MIPS:所有指令都是32位編碼;有些指令有26位供目標地址編碼;有些則只有16位。因此要想加載任何一個 32位值, 就得用兩個加載指令。16位的目標地址意味著,指令的跳轉(zhuǎn)或子函數(shù)的位置必須在 64K 以內(nèi)(上下32K);所有的動作原理上要求必須在1個時鐘周期內(nèi)完成,一個動作一個階段;有32個通用寄存器,每個寄存器 32位(對32位機)或64位(對64位機);本身沒有任何幫助運算判斷的標志寄存器,要實現(xiàn)相應(yīng)的功能時,是通過測試兩個寄存器是否相等來完成的;所有的運算都是基于 32位的,沒有對字節(jié)和對半字的運算(MIPS里,字定義為 32位,半字定義為16位)

6、;沒有單獨的棧指令,所有對棧的操作都是統(tǒng)一的內(nèi)存訪問方式。因為push和pop指令實際上是一個復(fù)合操作,包含對內(nèi)存的寫入和對棧指針的移動;由于MIPS固定指令長度,所以造成其編譯后的二進制文件和內(nèi)存占用空間比x86的要大,(x86平均指令長度只有 3個字節(jié)多一點,而 MIPS是4個字節(jié));尋址方式:只有一種內(nèi)存尋址方式。就是基地址加一個16位的地址偏移;內(nèi)存中的數(shù)據(jù)訪問必須嚴格對齊(至少4字節(jié)對齊);跳轉(zhuǎn)指令只有26位目標地址,再加上2位的對齊位,可尋址28位的空間,即256M ; 條件分支指令只有16位跳轉(zhuǎn)地址,加上 2位的對齊位,共18位尋址空間,即256K ; MIPS默認不把子函數(shù)的返

7、回地址(就是調(diào)用函數(shù)的受害指令地址)存放到棧中,而是存放到$31寄存器中;這對那些葉子函數(shù)有利。如果遇到嵌套的函數(shù)的話,有另外的機 制處理;高度的流水線:* MIPS指令的五級流水線:(每條指令都包含五個執(zhí)行階段)第一階段:從指令緩沖區(qū)中取指令。占一個時鐘周期;第二階段:從指令中的源寄存器域(可能有兩個)的值(為一個數(shù)字,指定$0$31中的某一個)所代表的寄存器中讀出數(shù)據(jù)。占半個時鐘周期;第三階段:在一個時鐘周期內(nèi)做一次算術(shù)或邏輯運算。占一個時鐘周期;第四階段:指令從數(shù)據(jù)緩沖中讀取內(nèi)存變量的階段。從平均來講,大約有3/4的指令在這個階段沒做什么事情,但它是指令有序性的保證。占一個時鐘周期;第五

8、階段:存儲計算結(jié)果到緩沖或內(nèi)存的階段。占半個時鐘周期;所以一條指令要占用四個時鐘周期;ARM:ARM處理器是一個32位元精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。RISC (ReducedInstructionSet Computer ,精簡指令集計算機)RISC體系結(jié)構(gòu)應(yīng)具有如下特點:1)采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有23種。2 )使用單周期指令,便于流水線操作執(zhí)行。3)大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片

9、的面積,并降低功耗:1)所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。2)可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。寄存器結(jié)構(gòu)ARM處理器共有37個寄存器,被分為若干個組(BANK ),這些寄存器包括:1)31個通用寄存器,包括程序計數(shù)器( PC指針),均為32位的寄存器。2) 6個狀態(tài)寄存器,用以標識 CPU的工作狀態(tài)及程序的運行狀態(tài),均為32位,目前 只使用了其中的一部分。指令結(jié)構(gòu)ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令 集

10、的功能子集,但與等價的ARM代碼相比較,可節(jié)省 30%40%以上的存儲空間,同時具備32位代碼的所有優(yōu)點。問題二:arm 和x86在體系架構(gòu)上的區(qū)別和各自的優(yōu)點Arm 使用 RISC結(jié)構(gòu)。X86使用 CISC結(jié)構(gòu)。所以要說明兩者的區(qū)別需要從RISC , CISC的結(jié)構(gòu)特點來入手:CISC和RISC的比較CISC :CISC體系的指令特征使用微代碼。指令集可以直接在微代碼記憶體(比主體的速度快很多)里執(zhí)行,新設(shè)計的處理器,只需增加較少的電晶體就可以執(zhí)行同樣的指令集,也可以很快地編寫新的指令集程式。有龐大的指令集。CISC體系的優(yōu)缺點優(yōu)點:能夠有效縮短新指令的微代碼設(shè)計時間,允許設(shè)計師實現(xiàn)CISC

11、體系機器的向上相容。新的系統(tǒng)可以使用一個包含早期系統(tǒng)的指令超集合,也就可以使用較早電腦上使用的相同軟體。另外微程式指令的格式與高階語言相匹配,因而編譯器并不一定要重新編寫。缺點:指令集以及晶片的設(shè)計比上一代產(chǎn)品更復(fù)雜,不同的指令,需要不同的時鐘周期來完成,執(zhí)行較慢的指令,將影響整臺機器的執(zhí)行效率。RISC :1 )精簡指令集包含了簡單、基本的指令,透過這些簡單、基本的指令,就可以組合成復(fù)雜 指令。2)每條指令的長度都是相同的,可以在一個單獨操作里完成。3 )大多數(shù)的指令都可以在一個機器周期里完成,并且允許處理器在同一時間內(nèi)執(zhí)行一系列的指令。RISC體系的優(yōu)缺點:優(yōu)點:在使用相同的晶片技術(shù)和相同

12、運行時鐘下,RISC系統(tǒng)的運行速度將是 CISC的24倍。由于RISC處理器的指令集是精簡的,它的記憶體管理單元、浮點單元等都能設(shè)計在同一塊晶片上。RISC處理器比相對應(yīng)的 CISC處理器設(shè)計更簡單,所需要的時間將變得更短,并可 以比CISC處理器應(yīng)用更多先進的技術(shù),開發(fā)更快的下一代處理器。缺點:多指令的操作使得程式開發(fā)者必須小心地選用合適的編譯器,而且編寫的代碼量會變得非常大。另外就是 RISC體系的處理器需要更快記憶體,這通常都集成于處理器內(nèi)部,就是L1Cache (一級緩存)。綜合上面所述,若要再進一步比較CISC與RISC之差異,可以由以下幾點來進行分析:1、指令的形成CISC因指令復(fù)

13、雜,故采用微指令碼控制單元的設(shè)計,而RISC的指令90%是由硬體直接完成,只有10%的指令是由軟體以組合的方式完成,因此指令執(zhí)行時間上 RISC較短,但RISC所須ROM空間相對的比較大,至于RAM使用大小應(yīng)該與程序的應(yīng)用比較有關(guān)系。2、定址模式CISC需要較多的定址模式,而RISC只有少數(shù)的定址模式,因此CPU在計算記憶體有效位址時,CISC占用的匯流排周期較多(是什么?)。3、指令的執(zhí)行CISC指令的格式長短不一,執(zhí)行時的周期次數(shù)也不統(tǒng)一,而RISC結(jié)構(gòu)剛好相反,故適合采用管線處理架構(gòu)的設(shè)計,進而可以達到平均一周期完成一指令的方向努力。因此,在設(shè)計上RISC較CISC簡單,同時因為 CIS

14、C的執(zhí)行步驟過多,閑置的單元電路等待時間增長, 不利于平行處理的設(shè)計,所以就效能而言RISC較CISC還是站了上風(fēng),但 RISC因指令精簡化后造成應(yīng)用程式碼變大,需要較大的程式記憶體空間, 且存在指令種類較多等等的缺點。綜上來分析X86和ARM的區(qū)別:X86指令集有以下幾個突出的缺點:通用寄存器組一一對 CPU內(nèi)核結(jié)構(gòu)的影響 X86指令集只有8個通用寄存器。所以,CISC的CPU執(zhí)行是大多數(shù)時間是在訪問存儲器中的數(shù)據(jù),而不是寄存器中的。 這就拖慢了整個系統(tǒng)的速度。RISC系統(tǒng)往往具有非常多的通用寄存器,并采用了重疊寄存器窗口和寄存器堆等技術(shù)使寄存器資源得到充分的利用。解碼對CPU的外核的影響解

15、碼器,這是X86CPU才有的東西。其作用是把長度不定的x86指令轉(zhuǎn)換為長度固定的類似于RISC的指令,并交給 RISC內(nèi)核。解碼分為硬件解碼和微解碼,對于簡單的 x86指令只要硬件解碼即可,速度較快,而遇到復(fù)雜的 x86指令則需要進行微解碼, 并把它分成若干條簡單指令,速度較慢且很復(fù)雜。尋址范圍小一一約束了用戶需要(優(yōu)點見CISC優(yōu)點)ARM指令集的特點:體積小,低功耗,低成本,高性能;支持Thumb ( 16位)/ARM ( 32位)雙指令集,能很好的兼容8位/16 位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定;流水線處

16、理方式Load_store 結(jié)構(gòu):在RISC中,所有的計算都要求在寄存器中完成。而寄存器和內(nèi)存 的通信則由單獨的指令來完成。而在 CSIC中,CPU是可以直接對內(nèi)存進行操作的。ARM的一些非RISC思想的指令架構(gòu):允許一些特定指令的執(zhí)行周期數(shù)字可變,以降低功耗,減小面積和代碼尺寸。增加了桶形移位器來擴展某些指令的功能。使用了 16位的Thumb指令集來提高代碼密度。使用條件執(zhí)行指令來提高代碼密度和性能。使用增強指令來實現(xiàn)數(shù)據(jù)信號處理的功能。小結(jié):X86采用CISC,具有大量的復(fù)雜指令、可變的指令長度、多種的尋址方式這些CISC的特點,也是CISC的缺點,因為這些都大大增加了解碼的難度,而在現(xiàn)在

17、的高速硬件發(fā)展下,復(fù)雜指令所帶來的速度提升早已不及在解碼上浪費點的時間。除了個人PC市場還在用X86指令集外,服務(wù)器以及更大的系統(tǒng)都早已不用CISC 了。x86仍然存在的理由就是為了兼容大量的x86平臺上的軟件,同時,它的體系結(jié)構(gòu)組成的實現(xiàn)不太困難。ARM采用的RISC體系最大特點是指令長度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡單指令且都能在一個時鐘周期內(nèi)完成,易于設(shè)計超標量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進行,因此有較快運行速度。因此,ARM處理器才成為是當前最流行的處理器系列,是幾種主流的嵌入式處理體系結(jié)構(gòu)之一。問題三:給出in tel和amd在體系架構(gòu)上的區(qū)別和各自

18、的優(yōu)點INTEL與AMD在體系架構(gòu)上的區(qū)別最主要的是在于微架構(gòu)和連接架構(gòu)的區(qū)別。INTEL在微架構(gòu)方面勝于 AMD,而AMD 在連接架構(gòu)上勝于 INTEL。先來說明一下微架構(gòu)和連接架構(gòu):微架構(gòu):它描述的是處理器最基礎(chǔ)的指令執(zhí)行部分,包括執(zhí)行的方式和運算單元構(gòu)成等。連接架構(gòu):描述的是處理器和各部分芯片組等的連接方式和數(shù)據(jù)傳輸?shù)?。如果說微架構(gòu)決定了計算機大腦的智商,那么連接架構(gòu)所決定的就是神經(jīng)系統(tǒng)的敏銳程度,這兩者相輔相成,從不同的角度對系統(tǒng)性能產(chǎn)生著重大影響。INTEL微架構(gòu)上的優(yōu)點:英特爾的Core微架構(gòu)具有四發(fā)射能力,即每個周期可以同時對4條x86指令進行解碼,Core微架構(gòu)還結(jié)合了微指令融

19、合和宏指令融合兩項優(yōu)化技術(shù),同時可以對多達56條指令進行處理。顯然,在頻率相同的情況下,處理器的指令并行度越高,實際性能就越強。正 因為這方面的優(yōu)勢,Core 2 Duo處理器才能夠在較低的頻率下保有超越高頻Pentium 4的卓越性能。AMD 微架構(gòu)上的缺陷:AMD K8微架構(gòu)同時只能對 3條指令進行解碼,也沒有任何指令優(yōu)化技術(shù),并行能力遠遜于英特爾的“ Core ”以及Pentium M 家族所采用的“ P6增強”微架構(gòu)。INTEL連接結(jié)構(gòu)上的缺陷:英特爾平臺處理器通過前端總線與北橋芯片連接(北橋芯片包括圖形接口控制器和內(nèi)存控制器兩個邏輯單元),北橋芯片通過特定的總線與南橋芯片連接(南橋芯

20、片則負責(zé)I/O擴展,包括存儲、網(wǎng)絡(luò)、音頻、內(nèi)部擴展總線(PCI、PCI Express x1)、外部連接總線(并口、串口、USB)等等)。處理器必須通過“前端總線”與北橋芯片相連,然后再經(jīng)由單/雙通道“內(nèi)存總線”才能與內(nèi)存系統(tǒng)實現(xiàn)數(shù)據(jù)交換,那么只有當前端總線的帶寬高于內(nèi)存總線時,處理器才能夠充分利用內(nèi)存資源。 而由于技術(shù)上的限制,前端總線難有大幅度提升的空間,這就注定內(nèi)存瓶頸難以消除。內(nèi)存的訪問延遲一一由于需要前端總線和北橋芯片的中轉(zhuǎn),處理器的內(nèi)存延遲較長,導(dǎo)致處理器必須浪費很多時間在數(shù)據(jù)等待上,處理器即便擁有一流的微架構(gòu),也難以充分發(fā)揮潛能。AMD連接架構(gòu)上的優(yōu)點:(集成內(nèi)存控制器+芯片直連

21、總線)以AMD K8處理器為例子,K8的連接架構(gòu)特點:將內(nèi)存控制器集成于處理器內(nèi)部,處理器核心與內(nèi)存控制器通過超高速、低延時的內(nèi)部總線連接;引入通用的HyperTransport 總線技術(shù),實現(xiàn)處理器與處理器、 處理器與I/O芯片組之 間的高速直連。這兩項技術(shù)有效改變了傳統(tǒng)連接方案的弊病,讓處理器得以充分發(fā)揮自身潛能而不會被內(nèi)存系統(tǒng)拖后腿,同時也有利于構(gòu)建更強大的多路并行計算系統(tǒng)。在多路服務(wù)器領(lǐng)域,集成內(nèi)存控制器的設(shè)計讓每顆處理器都擁有屬于自己的內(nèi)存系統(tǒng),不會再有任何因資源分享造成的性能降低或存取沖突之類的問題,系統(tǒng)的多路擴展也變得更加容易。HyperTranport 更大的意義體現(xiàn)在多處理器

22、的擴展AMD K8微架構(gòu)中包含三個獨立的HyperTranport 控制器,可支持三路HyperTranport總線輸出,這三路總線可以根據(jù)需要同其他的處理器和I/O控制芯片連接,進而建立起一套完整的高性能計算單元。結(jié)合上述兩項技術(shù),K8微架構(gòu)非常適合用于構(gòu)建超級計算機系統(tǒng)?,F(xiàn)在內(nèi)存控制器由處理器所整合,芯片組的功能僅剩下圖形接口控制器/整合圖形和I/O擴展,這兩個部分的功能都非常穩(wěn)定,沒有迫切升級的必要,而且處理器與芯片組 連接的HyperTranport總線也是非常穩(wěn)定。計算機的主板就變成一個規(guī)格穩(wěn)定的承載平臺,用戶如果要進行硬件升級,只要更換處理器或升級內(nèi)存即可。從用戶的角度來看,選擇A

23、MD平臺可以讓計算機擁有更長的生命周期,相比之下,英特爾當前的Core 2Duo平臺就缺乏這個優(yōu)勢。問題四:針對目前的多核cpu,目前軟件編程上存在哪些問題? 提出解決問題方案或設(shè)想。多核心處理器與之前的單核心處理器有很大的不同就是它需要軟件的支持,只有基于線程化的軟件硬應(yīng)用上多核心處理器才能發(fā)揮出應(yīng)有的效能,因此多核心處理器的最大問題就是軟件問題。之所以要提出多核心處理器,就要涉及到CPU的性能發(fā)展趨勢:之前CPU性能的提升主要靠:1、時鐘速度2、執(zhí)行優(yōu)化3、緩存現(xiàn)在由于物理技術(shù)的限制,1 , 2兩點已經(jīng)頻臨極限。剩下 3可以使用。所以如今主要的提升方向為:1、超線程2、多核3、緩存其中多核正如上面所說的只有寫得較好的多線程應(yīng)用才能真正發(fā)揮多核的作用。單線程應(yīng)用無法享受到好處。正如早期編程從結(jié)構(gòu)化到面向?qū)ο缶幊痰母母?,多核的出現(xiàn)使軟件編程面臨了有一個改革:并發(fā)程序的編寫。并發(fā)程序的編寫是困難的:因為大多數(shù)計算機和編程語言發(fā)明之初就是按照馮諾依曼理論進行設(shè)計的。根據(jù)馮諾依曼的理論,CPU是按照程序指令,一條條取出來并順

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論