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

下載本文檔

版權(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主要分有兩大陣營,一個是intel系列CPU,另一個是AMD系列CPU體系結(jié)構(gòu):在計算世界中,體系Z構(gòu)一詞被用來描述一個抽象的機器,而不是一個具體的機器實現(xiàn)。一般而言,一個CPU的體系結(jié)構(gòu)有一個指令集加上一些寄存器而組成?!爸噶罴迸c“體系結(jié)構(gòu)”這兩個術(shù)語是同義詞。問題一:X86,MIPS,ARM 三塊 cpu 的體系結(jié)構(gòu)和特點X86:X86采用了CISC旨令集。在CISC旨令集的各種指令中,大

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

3、16位的寄存器,它們中的每一個又可分為高字節(jié)H和低字節(jié)L。即AH、BH、CH、DH及AL、BL、CbDL可作為單獨的8位寄存器使用。不論16位寄存器還是8位寄存器,它們均可寄存操作數(shù)及運算的中間結(jié)果。有少數(shù)指令指定某個寄存器專用,例如,串操作指令指定CX專門用作記錄串中元素個數(shù)的計數(shù)器。2)段寄存器組:CSDSSSES8086/8088的20位物理地址在CPU內(nèi)部要由兩部分相加形成的。SPBP、SIDI是用以指明其偏移地址,即20位物理地址的低16位;而CSDSSSES是用以指明20位物理地址的高16位的,故稱作段寄存器。4個存儲器使用專一,不能互換,CS識別當前代碼段,DS識別當前數(shù)據(jù)段,S

4、S識別當前堆棧段;ES識別當前附加段。一般情況下,DS和ES都須用戶在程序中設(shè)置初值。3)控制寄存器組:IP和FLAG指令指針I(yè)P用以指明當前要執(zhí)行指令的偏移地址(段地址由CS提供)。標志寄存器FLAG有16位,用了其中的九位,分兩組:狀態(tài)標志和控制標志。前者用以記錄狀態(tài)信息,由6位組成,后者用以記錄控制信息由3位組成。6位狀態(tài)標志,包才CFAF、OF、SF、PF和ZF,它反映前一次涉及ALU操作的結(jié)果,對用戶它“只讀不寫”??刂茦酥景ǚ较驑酥綝F,中斷允許標志IF及陷阱標志TF,中斷允許標志IF及陷阱標志TF,可通過指令設(shè)置。MIPS:所有指令都是32位編碼;有些指令有26位供目標地址編碼

5、;有些則只有16位。因此要想加載任何一個32位值,就得用兩個加載指令。16位的目標地址意味著,指令的跳轉(zhuǎn)或子函數(shù)的位置必須在64K以內(nèi)(上下32Q;所有的動作原理上要求必須在1個時鐘周期內(nèi)完成,一個動作一個階段;有32個通用寄存器,每個寄存器32位(對32位機)或64位(對64位機);本身沒有任何幫助運算判斷的標志寄存器,要實現(xiàn)相應的功能時,是通過測試兩個寄存器是否相等來完成的;所有的運算都是基于32位的,沒有對字節(jié)和對半字的運算(MIPS里,字定義為32位,半字定義為16位);沒有單獨的棧指令,所有對棧的操作都是統(tǒng)一的內(nèi)存訪問方式。因為push和pop指令實際上是一個復合操作,包含對內(nèi)存的寫

6、入和對棧指針的移動;由于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ù)的返回地址(就是調(diào)用函數(shù)的受害指令地址)存放到棧中,而是存放到$31寄存器中;這對那些葉子函數(shù)有利。如果遇到嵌套的函數(shù)的話,有另外的機制

7、處理;高度的流水線:*MIPS指令的五級流水線:(每條指令都包含五個執(zhí)行階段)第一階段:從指令緩沖區(qū)中取指令。占一個時鐘周期;第二階段:從指令中的源寄存器域(可能有兩個)的值(為一個數(shù)字,指定$0$31中的某一個)所代表的寄存器中讀出數(shù)據(jù)。占半個時鐘周期;第三階段:在一個時鐘周期內(nèi)做一次算術(shù)或邏輯運算。占一個時鐘周期;第四階段:指令從數(shù)據(jù)緩沖中讀取內(nèi)存變量的階段。從平均來講,大約有3/4的指令在這個階段沒做什么事情,但它是指令有序性的保證。占一個時鐘周期;第五階段:存儲計算結(jié)果到緩沖或內(nèi)存的階段。占半個時鐘周期;所以一條指令要占用四個時鐘周期;ARM:ARM處理器是一個32位元精簡指令集(RI

8、SC處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。RISC(ReducedInstructionSetComputer,精簡指令集計算機)RISC體系結(jié)構(gòu)應具有如下特點:1)采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有23種。2)使用單周期指令,便于流水線操作執(zhí)行。3)大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:1)所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。2)可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳

9、輸效率。寄存器結(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指令集的功能子集,但與等價的ARM代碼相比較,可節(jié)省30%40%以上的存儲空間,同時具備32位代碼的所有優(yōu)點。問題二:arm 和 x86 在體系架構(gòu)上的區(qū)別和各自的

10、優(yōu)點Arm使用RISC結(jié)構(gòu)。X86使用CISC結(jié)構(gòu)。所以要說明兩者的區(qū)別需要從RISC,CISM結(jié)構(gòu)特點來入手:CISCRISC的比較CISCCISCCISC體系的指令特征使用微代碼。指令集可以直接在微代碼記憶體(比主體的速度快很多)里執(zhí)行,新設(shè)計的處理器,只需增加較少的電晶體就可以執(zhí)行同樣的指令集,也可以很快地編寫新的指令集程式。有龐大的指令集。CISCCISC 體系的優(yōu)缺點優(yōu)點:能夠有效縮短新指令的微代碼設(shè)計時間,允許設(shè)計師實現(xiàn)CISC體系機器的向上相容。新的系統(tǒng)可以使用一個包含早期系統(tǒng)的指令超集合,也就可以使用較早電腦上使用的相同軟體。另外微程式指令的格式與高階語言相匹配,因而編譯器并不

11、一定要重新編寫。缺點:指令集以及晶片的設(shè)計比上一代產(chǎn)品更復雜,不同的指令,需要不同的時鐘周期來完成,執(zhí)行較慢的指令,將影響整臺機器的執(zhí)行效率。RISCRISC1)精簡指令集包含了簡單、基本的指令,透過這些簡單、基本的指令,就可以組合成復雜指令。2)每條指令的長度都是相同的,可以在一個單獨操作里完成。3)大多數(shù)的指令都可以在一個機器周期里完成,并且允許處理器在同一時間內(nèi)執(zhí)行一系列的指令。RISCRISC 體系的優(yōu)缺點:優(yōu)點:在使用相同的晶片技術(shù)和相同運行時鐘下,RISC系統(tǒng)的運行速度將是CISC的24倍。由于RISC處理器的指令集是精簡的,它的記憶體管理單元、浮點單元等都能設(shè)計在同一塊晶片上。R

12、ISC處理器比相對應的CISC處理器設(shè)計更簡單,所需要的時間將變得更短,并可以比CISC處理器應用更多先進的技術(shù),開發(fā)更快的下一代處理器。缺點:多指令的操作使得程式開發(fā)者必須小心地選用合適的編譯器,而且編寫的代碼量會變得非常大。另外就是RIS斗系的處理器需要更快記憶體,這通常都集成于處理器內(nèi)部,就是L1Cache(一級緩存)。綜合上面所述,若要再進一步比較CISCTRISC之差異,可以由以下幾點來進行分析:1 1、指令的形成CISC因指令復雜,故采用微指令碼控制單元的設(shè)計,而RISC的指令90%是由硬體直接完成,只有10%的指令是由軟體以組合的方式完成,因此指令執(zhí)行時間上RISC較短,但RIS

13、C所須ROM空間相對的比較大,至于RAM使用大小應該與程序的應用比較有關(guān)系。2 2、定址模式CISC需要較多的定址模式,而RISC只有少數(shù)的定址模式,因此CPU在計算記憶體有效位址時,CISC占用的匯流排周期較多(是什么?)。3 3、指令的執(zhí)行CISC指令的格式長短不一,執(zhí)行時的周期次數(shù)也不統(tǒng)一,而RISC結(jié)構(gòu)剛好相反,故適合采用管線處理架構(gòu)的設(shè)計,進而可以達到平均一周期完成一指令的方向努力。因此,在設(shè)計上RISC較CISCW單, 同時因為CISC的執(zhí)行步驟過多, 閑置的單元電路等待時間增長, 不利于平行處理的設(shè)計,所以就效能而言RISC較CISC還是站了上風,但RISC因指令精簡化后造成應用

14、程式碼變大,需要較大的程式記憶體空間,且存在指令種類較多等等的缺點。綜上來分析 X86X86 和 ARMARM 的區(qū)別:X86X86 指令集有以下幾個突出的缺點:通用寄存器組一一對CPU內(nèi)核結(jié)構(gòu)的影響X86指令集只有8個通用寄存器。所以,CISC的CPU執(zhí)行是大多數(shù)時間是在訪問存儲器中的數(shù)據(jù),而不是寄存器中的。這就拖慢了整個系統(tǒng)的速度。RISC系統(tǒng)往往具有非常多的通用寄存器,并采用了重疊寄存器窗口和寄存器堆等技術(shù)使寄存器資源得到充分的利用。解碼對CPU的外核的影響解碼器,這是X86CPU才有的東西。其作用是把長度不定的x86指令轉(zhuǎn)換為長度固定的類似于RISC的指令,并交給RISC內(nèi)核。解碼分為

15、硬件解碼和微解碼,對于簡單的x86指令只要硬件解碼即可,速度較快,而遇到復雜的x86指令則需要進行微解碼,并把它分成若干條簡單指令,速度較慢且很復雜。尋址范圍小一一約束了用戶需要(優(yōu)點見CISCt;點)ARMARM 指令集的特點:體積小,低功耗,低成本,高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定;流水線處理方式Load_store結(jié)構(gòu):在RISC中,所有的計算都要求在寄存器中完成。而寄存器和內(nèi)存的通信則由單獨的指令來完成。而在CSIC中,C

16、PU是可以直接對內(nèi)存進行操作的。ARMARM 的一些非 RISCRISC 思想的指令架構(gòu):允許一些特定指令的執(zhí)行周期數(shù)字可變,以降低功耗,減小面積和代碼尺寸。增加了桶形移位器來擴展某些指令的功能。使用了16位白Thumb指令集來提高代碼密度。使用條件執(zhí)行指令來提高代碼密度和性能。使用增強指令來實現(xiàn)數(shù)據(jù)信號處理的功能。小結(jié):X86采用CISC具有大量的復雜指令、可變的指令長度、多種的尋址方式這些CISC的特點,也是CISC的缺點,因為這些都大大增加了解碼的難度,而在現(xiàn)在的高速硬件發(fā)展下,復雜指令所帶來的速度提升早已不及在解碼上浪費點的時間。除了個人PC市場還在用X86指令集外,服務器以及更大的系

17、統(tǒng)都早已不用CISCT。x86仍然存在的理由就是為了兼容大量的x86平臺上的軟件,同時,它的體系結(jié)構(gòu)組成的實現(xiàn)不太困難。ARM采用的RISC系最大特點是指令長度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡單指令且都能在一個時鐘周期內(nèi)完成,易于設(shè)計超標量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進行,因此有較快運行速度。因此,ARM處理器才成為是當前最流行的處理器系列,是幾種主流的嵌入式處理體系結(jié)構(gòu)之一。問題三:給出 intel 和 amd 在體系架構(gòu)上的區(qū)別和各自的優(yōu)點INTEL與AMD在體系架構(gòu)上的區(qū)別最主要的是在于微架構(gòu)和連接架構(gòu)的區(qū)別。INTEL在微架構(gòu)方面勝于AMD,而AMD在連

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

19、實際性能就越強。 正因為這方面的優(yōu)勢,Core2Duo處理器才能夠在較低的頻率下保有超越高頻Pentium4的卓越性能。AMDAMD 微架構(gòu)上的缺陷:AMDK8微架構(gòu)同時只能對3條指令進行解碼,也沒有任何指令優(yōu)化技術(shù),并行能力遠遜于英特爾的“Core”以及PentiumM家族所采用的“P6增強”微架構(gòu)。INTELINTEL 連接結(jié)構(gòu)上的缺陷:英特爾平臺處理器通過前端總線與北橋芯片連接(北橋芯片包括圖形接口控制器和內(nèi)存控制器兩個邏輯單元),北橋芯片通過特定的總線與南橋芯片連接(南橋芯片則負責I/O擴展,包括存儲、網(wǎng)絡(luò)、音頻、內(nèi)部擴展總線(PCPCIExpressx1)、外部連接總線(并口、串口、

20、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)存延遲較長,導致處理器必須浪費很多時間在數(shù)據(jù)等待上,處理器即便擁有一流的微架構(gòu),也難以充分發(fā)揮潛能。AMDAMD 連接架構(gòu)上的優(yōu)點:(集成內(nèi)存控制器+ +芯片直連總線)以AMDK8處理器為例子,K8的連接架構(gòu)特點:將內(nèi)存控制器集成于處理器內(nèi)部,處理器核心與內(nèi)存控制器通過超高速

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

22、總線可以根據(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)存即可。從用戶的角度來看,選擇AMD平臺可以讓計算機擁有更長的生命周期,相比之下,英特爾當前的Core2Duo平臺就缺乏這個優(yōu)勢。問題四:針對目前的多核 cpu

23、,目前軟件編程上存在哪些問題?提出解決問題方案或設(shè)想。多核心處理器與之前的單核心處理器有很大的不同就是它需要軟件的支持,只有基于線程化的軟件硬應用上多核心處理器才能發(fā)揮出應有的效能,因此多核心處理器的最大問題就是軟件問題。之所以要提出多核心處理器,就要涉及到CPU的性能發(fā)展趨勢:之前CPU性能的提升主要靠:1、時鐘速度2、執(zhí)行優(yōu)化3、緩存現(xiàn)在由于物理技術(shù)的限制,1,2兩點已經(jīng)頻臨極限。剩下3可以使用。所以如今主要的提升方向為:1、超線程2、多核3、緩存其中多核正如上面所說的只有寫得較好的多線程應用才能真正發(fā)揮多核的作用。單線程應用無法享受到好處。正如早期編程從結(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論