开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

          開通VIP
          處理器架構(gòu)——從RISC與CISC到x86、ARM、MIPS

          這篇文章既不專業(yè)也不全面,只是總結(jié)了我所了解和關(guān)注的知識(shí)的一些方面。

          一、RISCCISC

           

          1.CISCComplex Instruction SetComputer,復(fù)雜指令集計(jì)算機(jī)

          復(fù)雜指令集(CISC,Complex Instruction Set Computer)是一種微處理器指令集架構(gòu)(ISA),每個(gè)指令可執(zhí)行若干低階操作,諸如從內(nèi)存讀取、儲(chǔ)存、和計(jì)算操作,全部集于單一指令之中。

          • CISC特點(diǎn):

          1.指令系統(tǒng)龐大,指令功能復(fù)雜,指令格式、尋址方式多;

          2.絕大多數(shù)指令需多個(gè)機(jī)器周期完成;

          3.各種指令都可訪問(wèn)存儲(chǔ)器;

          4.采用微程序控制;

          5.有專用寄存器,少量;

          6.難以用優(yōu)化編譯技術(shù)生成高效的目標(biāo)代碼程序;

          CISC指令集的各種指令中,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%。

           

          2.RISCreduced instruction setcomputer,精簡(jiǎn)指令集計(jì)算機(jī))

          精簡(jiǎn)指令集這種設(shè)計(jì)思路對(duì)指令數(shù)目和尋址方式都做了精簡(jiǎn),使其實(shí)現(xiàn)更容易,指令并行執(zhí)行程度更好,編譯器的效率更高。它能夠以更快的速度執(zhí)行操作。

          這種設(shè)計(jì)思路最早的產(chǎn)生緣自于有人發(fā)現(xiàn),盡管傳統(tǒng)處理器設(shè)計(jì)了許多特性讓代碼編寫更加便捷,但這些復(fù)雜特性需要幾個(gè)指令周期才能實(shí)現(xiàn),并且常常不被運(yùn)行程序所采用。此外,處理器和主內(nèi)存之間運(yùn)行速度的差別也變得越來(lái)越大。在這些因素促使下,出現(xiàn)了一系列新技術(shù),使處理器的指令得以流水執(zhí)行,同時(shí)降低處理器訪問(wèn)內(nèi)存的次數(shù)。

          實(shí)際上在后來(lái)的發(fā)展中,RISCCISC在競(jìng)爭(zhēng)的過(guò)程中相互學(xué)習(xí),現(xiàn)在的RISC指令集也達(dá)到數(shù)百條,運(yùn)行周期也不再固定。雖然如此,RISC設(shè)計(jì)的根本原則——針對(duì)流水線化的處理器優(yōu)化——沒有改變,而且還在遵循這種原則的基礎(chǔ)上發(fā)展出RISC的一個(gè)并行化變種VLIW(包括Intel EPIC),就是將簡(jiǎn)短而長(zhǎng)度統(tǒng)一的精簡(jiǎn)指令組合出超長(zhǎng)指令,每次執(zhí)行一條超長(zhǎng)指令,等于并行執(zhí)行多條短指令。

          • RISC特點(diǎn):

          1.統(tǒng)一指令編碼(例如,所有指令中的op-code永遠(yuǎn)位于同樣的位元位置、等長(zhǎng)指令),可快速解譯;

          2.泛用的暫存器,所有暫存器可用于所有內(nèi)容,以及編譯器設(shè)計(jì)的單純化(不過(guò)暫存器中區(qū)分了整數(shù)和浮點(diǎn)數(shù));

          3.單純的尋址模式(復(fù)雜尋址模式以簡(jiǎn)單計(jì)算指令序列取代);

          4.硬件中支援少數(shù)資料型別(例如,一些CISC電腦中存有處理字節(jié)字串的指令。這在RISC電腦中不太可能出現(xiàn))。

           

          二者區(qū)別:

            CISC(復(fù)雜指令集計(jì)算機(jī))RISC(精簡(jiǎn)指令集計(jì)算機(jī))是當(dāng)前CPU的兩種架構(gòu)。它們的區(qū)別在于不同的CPU設(shè)計(jì)理念和方法。早期的CPU全部是CISC架構(gòu),它的設(shè)計(jì)目的是要用最少的機(jī)器語(yǔ)言指令來(lái)完成所需的計(jì)算任務(wù)。RISCCISC是設(shè)計(jì)制造微處理器的兩種典型技術(shù),雖然它們都是試圖在體系結(jié)構(gòu)、操作運(yùn)行、軟件硬件、編譯時(shí)間和運(yùn)行時(shí)間等諸多因素中做出某種平衡,以求達(dá)到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:

           ?。?/span>1)指令系統(tǒng):RISC設(shè)計(jì)者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡(jiǎn)單高效的特色。對(duì)不常用的功能,常通過(guò)組合指令來(lái)完成。因此,在RISC機(jī)器上實(shí)現(xiàn)特殊功能時(shí),效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。而CISC計(jì)算機(jī)的指令系統(tǒng)比較豐富,有專用指令來(lái)完成特定的功能。因此,處理特殊任務(wù)效率較高。

            (2)存儲(chǔ)器操作:RISC對(duì)存儲(chǔ)器操作有限制,使控制簡(jiǎn)單化;而CISC機(jī)器的存儲(chǔ)器操作指令多,操作直接。

            (3)程序:RISC匯編語(yǔ)言程序一般需要較大的內(nèi)存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜,不易設(shè)計(jì);而CISC匯編語(yǔ)言程序編程相對(duì)簡(jiǎn)單,科學(xué)計(jì)算及復(fù)雜操作的程序社設(shè)計(jì)相對(duì)容易,效率較高。

           ?。?/span>4)中斷:RISC機(jī)器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷;而CISC機(jī)器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。

          5CPURISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。

          6)設(shè)計(jì)周期:RISC微處理器結(jié)構(gòu)簡(jiǎn)單,布局緊湊,設(shè)計(jì)周期短,且易于采用最新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計(jì)周期長(zhǎng)。

           ?。?/span>7)用戶使用:RISC微處理器結(jié)構(gòu)簡(jiǎn)單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實(shí)現(xiàn)特殊功能容易。

          8)應(yīng)用范圍:由于RISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故RISC機(jī)器更適合于專用機(jī);而CISC機(jī)器則更適合于通用機(jī)。


          二、x86、ARM、MIPS架構(gòu)   

          x86ARM、MIPS算是是目前最常見也相對(duì)最知名的處理器架構(gòu)了。

          • x86架構(gòu)

          x8680x86是英特爾首先開發(fā)制造的一種微處理器體系結(jié)構(gòu)的泛稱。該系列較早期的處理器名稱是以數(shù)字來(lái)表示,并以“86”作為結(jié)尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構(gòu)被稱為“x86”。

          x86架構(gòu)于1978年推出的Intel 8086中央處理器中首度出現(xiàn),它是從Intel 8008處理器中發(fā)展而來(lái)的,而8008則是發(fā)展自Intel 4004的。8086在三年后為IBM PC所選用,之后x86便成為了個(gè)人電腦的標(biāo)準(zhǔn)平臺(tái),成為了歷來(lái)最成功的CPU架構(gòu)。

          808616位元處理器;直到198532位元的80386的開發(fā),這個(gè)架構(gòu)都維持是16位元。接著一系列的處理器表示了32位元架構(gòu)的細(xì)微改進(jìn),推出了數(shù)種的擴(kuò)充,直到2003AMD對(duì)于這個(gè)架構(gòu)發(fā)展了64位元的擴(kuò)充,并命名為AMD64。后來(lái)Intel也推出了與之兼容的處理器,并命名為Intel 64。兩者一般被統(tǒng)稱為x86-64x64,開創(chuàng)了x8664位時(shí)代。

          值得注意的是Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨(dú)立的64位架構(gòu),這種架構(gòu)被稱為IA-64。IA-64是一種嶄新的架構(gòu),和x86架構(gòu)完全沒有相似性。(對(duì)于IntelAMD的處理器技術(shù),打算專門挑些典型的區(qū)別總結(jié)一篇文章)

          x86架構(gòu)是重要地可變指令長(zhǎng)度的CISC。字組(word, 4字節(jié))長(zhǎng)度的內(nèi)存存取允許不對(duì)齊內(nèi)存位址,字組是以低位字節(jié)在前的順序儲(chǔ)存在內(nèi)存中。向后相容性一直都是在x86架構(gòu)的發(fā)展背后一股驅(qū)動(dòng)力量(設(shè)計(jì)的需要決定了這項(xiàng)因素而常常導(dǎo)致批評(píng),尤其是來(lái)自對(duì)手處理器的擁護(hù)者和理論界,他們對(duì)于一個(gè)被廣泛認(rèn)為是落后設(shè)計(jì)的架構(gòu)的持續(xù)成功感到不解)。但在較新的微架構(gòu)中,x86處理器會(huì)把x86指令轉(zhuǎn)換為更像RISC的微指令再予執(zhí)行,從而獲得可與RISC比擬的超標(biāo)量性能,而仍然保持向前兼容。

          如今,我們面前的PC機(jī)基本都是x86架構(gòu)計(jì)算機(jī)。如果你想嘗試其他架構(gòu)的計(jì)算機(jī),首先要考慮的是放棄Windows系統(tǒng)。(好消息是即將正式發(fā)布的Windows 8 將支持x86ARM兩種架構(gòu))

          • ARM架構(gòu)

          ARM架構(gòu)(進(jìn)階精簡(jiǎn)指令集機(jī)器(AdvancedRISC Machine),較早稱作Acorn RISCMachine)是一個(gè)32位元精簡(jiǎn)指令集(RISC 處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)。由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動(dòng)通訊領(lǐng)域,符合其主要設(shè)計(jì)目標(biāo)為低耗電的特性。

          ARM架構(gòu)包含了下述RISC特性:

          1.讀?。瘍?chǔ)存 架構(gòu)

          2.正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set

          3.大量的16 × 32-bit 寄存器陣列(register file

          4.固定的32 bits 操作碼(opcode)長(zhǎng)度,降低編碼數(shù)量所產(chǎn)生的耗費(fèi),減輕解碼和流水線化的負(fù)擔(dān)。

          5.大多均為一個(gè)CPU周期執(zhí)行。

          為了補(bǔ)強(qiáng)這種簡(jiǎn)單的設(shè)計(jì)方式,相較于同時(shí)期的處理器如Intel 80286Motorola68020,還多加了一些特殊設(shè)計(jì):

          1.大部分指令可以條件式地執(zhí)行,降低在分支時(shí)產(chǎn)生的負(fù)重,彌補(bǔ)分支預(yù)測(cè)器(branch predictor)的不足。

          2.算數(shù)指令只會(huì)在要求時(shí)更改條件編碼(conditioncode

          3.32-bit筒型位移器(barrelshifter)可用來(lái)執(zhí)行大部分的算數(shù)指令和尋址計(jì)算而不會(huì)損失效能

          4.強(qiáng)大的索引尋址模式(addressing mode

          5.精簡(jiǎn)但快速的雙優(yōu)先級(jí)中斷子系統(tǒng),具有可切換的暫存器組

          在今日,ARM家族占了所有32位元嵌入式處理器75%的比例,使它成為占全世界最多數(shù)的32位元架構(gòu)之一。ARM處理器可以在很多消費(fèi)性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動(dòng)電話、多媒體播放器、掌上型電玩、計(jì)算機(jī))到電腦周邊設(shè)備(硬盤、桌上型路由器)甚至在導(dǎo)彈的彈載計(jì)算機(jī)等軍用設(shè)施中都有他的存在。

          對(duì)于智能機(jī)愛好者們,ARM處理器的大名一定早有所聞。

          • MIPS架構(gòu)

          MIPS架構(gòu)(英語(yǔ):MIPSarchitecture,為“無(wú)內(nèi)部互鎖流水級(jí)的微處理器Microprocessorwithout Interlocked Pipeline Stages的縮寫,也是Millionsof Instructions Per Second的相關(guān)語(yǔ)),是一種采取精簡(jiǎn)指令集(RISC)的處理器架構(gòu),1981年出現(xiàn),由MIPS科技公司開發(fā)并授權(quán),廣泛被使用在許多電子產(chǎn)品、網(wǎng)絡(luò)設(shè)備、個(gè)人娛樂(lè)裝置與商業(yè)裝置上。其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。它最早是在80年代初期由斯坦福(Stanford)大學(xué)Hennessy教授領(lǐng)導(dǎo)的研究小組研制出來(lái)的。MIPS公司的R系列就是在此基礎(chǔ)上開發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品為很多計(jì)算機(jī)公司采用構(gòu)成各種工作站和計(jì)算機(jī)系統(tǒng)。

          MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一。MIPS的系統(tǒng)結(jié)構(gòu)及設(shè)計(jì)理念比較先進(jìn),強(qiáng)調(diào)軟硬件協(xié)同提高性能,同時(shí)簡(jiǎn)化硬件設(shè)計(jì)。

          2002年,中國(guó)科學(xué)院計(jì)算所開始研發(fā)龍芯處理器,采用MIPS架構(gòu),但未經(jīng)MIPS公司的授權(quán),遭到侵權(quán)的控告。2007年,中國(guó)科學(xué)院與MIPS公司達(dá)成和解,得到正式授權(quán)。中國(guó)龍芯2和前代產(chǎn)品采用的都是64MIPS指令架構(gòu)。過(guò)去,MIPS架構(gòu)的產(chǎn)品多見于工作站領(lǐng)域,索尼PS2游戲機(jī)所用的“Emotion Engine”也采用MIPS指令,這些MIPS處理器的性能都非常強(qiáng)勁,而龍芯2也屬于這個(gè)陣營(yíng),在軟件方面與上述產(chǎn)品完全兼容。




          另:

          • ARMMIPS對(duì)比:

          與當(dāng)前商業(yè)化最成功的ARM架構(gòu)相比,MIPS的優(yōu)勢(shì)主要有以下幾點(diǎn):

          1,MIPS支持64bit指令和操作,ARM目前只到32bit

          2,MIPS有專門的除法器,可以執(zhí)行除法指令

          3,MIPS的內(nèi)核寄存器比ARM多一倍,所以同樣的性能下MIPS的功耗會(huì)比ARM更低,同樣功耗下性能比ARM更高

          4,MIPS指令比ARM稍微多一點(diǎn),稍微靈活一點(diǎn)

          5,有觀點(diǎn)認(rèn)為MIPSbank寄存器性能也要好于ARM,不過(guò)沒見過(guò)能反映出來(lái)的測(cè)試

          以上為MIPS對(duì)比ARM架構(gòu)的優(yōu)勢(shì),接下來(lái)我們?cè)倏匆豢?/span>MIPS架構(gòu)的不足之處,

          ARM架構(gòu)相比,MIPS架構(gòu)也存在著以下幾點(diǎn)不足

          1,MIPS的內(nèi)存地址起始有問(wèn)題,這導(dǎo)致了MIPS在內(nèi)存和cache的支持方面都有限制,現(xiàn)在的MIPS處理器單內(nèi)核面對(duì)高容量?jī)?nèi)存時(shí)有問(wèn)題

          2,MIPS今后的發(fā)展方向是并行線程,類似INTEL的超線程,而ARM未來(lái)的發(fā)展方向是物理多核,目前看來(lái)物理多核占優(yōu)。由此來(lái)看,我國(guó)的龍芯向多核發(fā)展還是頗具遠(yuǎn)見的。

          3MIPS雖然結(jié)構(gòu)更加簡(jiǎn)單,但是到現(xiàn)在還是順序單發(fā)射,ARM已經(jīng)進(jìn)化到了亂序雙發(fā)射,甚至NV的丹佛已經(jīng)是亂序三發(fā)射了。

          商業(yè)上二者差別也大,ARM很昂貴,而且不能隨意自行更改內(nèi)核。而MIPS就要開放的多了。(這也算龍芯為什么不采用ARM架構(gòu)的原因了。)


          • ARMx86對(duì)比:

          X86指令集有以下幾個(gè)突出的缺點(diǎn):

          通用寄存器組——對(duì)CPU內(nèi)核結(jié)構(gòu)的影響X86指令集只有8個(gè)通用寄存器。所以,CISCCPU執(zhí)行是大多數(shù)時(shí)間是在訪問(wèn)存儲(chǔ)器中的數(shù)據(jù),而不是寄存器中的。這就拖慢了整個(gè)系統(tǒng)的速度。

          RISC系統(tǒng)往往具有非常多的通用寄存器,并采用了重疊寄存器窗口和寄存器堆等技術(shù)使寄存器資源得到充分的利用。

          解碼——對(duì)CPU的外核的影響

          解碼器,這是x86CPU才有的東西。其作用是把長(zhǎng)度不定的x86指令轉(zhuǎn)換為長(zhǎng)度固定的類似于RISC的指令,并交給RISC內(nèi)核。解碼分為硬件解碼和微解碼,對(duì)于簡(jiǎn)單的x86指令只要硬件解碼即可,速度較快,而遇到復(fù)雜的x86指令則需要進(jìn)行微解碼,并把它分成若干條簡(jiǎn)單指令,速度較慢且很復(fù)雜。

          尋址范圍小——約束了用戶需要

          ARM指令集的特點(diǎn):

          1. 體積小,低功耗,低成本,高性能;
          2. 支持 Thumb 16 位) /ARM 32 位)雙指令集,能很好的兼容8 /16 位器件;
          3. 大量使用寄存器,指令執(zhí)行速度更快;
          4. 大多數(shù)數(shù)據(jù)操作都在寄存器中完成;
          5. 尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;
          6. 指令長(zhǎng)度固定;
          7. 流水線處理方式
          8. Load_store結(jié)構(gòu):在RISC中,所有的計(jì)算都要求在寄存器中完成。而寄存器和內(nèi)存的通信則由單獨(dú)的指令來(lái)完成。而在CSIC中,CPU是可以直接對(duì)內(nèi)存進(jìn)行操作的。

          ARM的一些非RISC思想的指令架構(gòu):

          1. 允許一些特定指令的執(zhí)行周期數(shù)字可變,以降低功耗,減小面積和代碼尺寸。
          2. 增加了桶形移位器來(lái)擴(kuò)展某些指令的功能。
          3. 使用了16位的Thumb指令集來(lái)提高代碼密度。
          4. 使用條件執(zhí)行指令來(lái)提高代碼密度和性能。
          5.  使用增強(qiáng)指令來(lái)實(shí)現(xiàn)數(shù)據(jù)信號(hào)處理的功能。

          小結(jié):

          X86采用CISC,具有大量的復(fù)雜指令、可變的指令長(zhǎng)度、多種的尋址方式這些CISC的特點(diǎn),也是CISC的缺點(diǎn),因?yàn)檫@些都大大增加了解碼的難度,而在現(xiàn)在的高速硬件發(fā)展下,復(fù)雜指令所帶來(lái)的速度提升早已不及在解碼上浪費(fèi)點(diǎn)的時(shí)間。除了個(gè)人PC市場(chǎng)還在用X86指令集外,服務(wù)器以及更大的系統(tǒng)都早已不用CISC了。x86仍然存在的理由就是為了兼容大量的x86平臺(tái)上的軟件,同時(shí),它的體系結(jié)構(gòu)組成的實(shí)現(xiàn)不太困難。

          ARM采用的RISC體系最大特點(diǎn)是指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡(jiǎn)單指令且都能在一個(gè)時(shí)鐘周期內(nèi)完成,易于設(shè)計(jì)超標(biāo)量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進(jìn)行,因此有較快運(yùn)行速度。因此,ARM處理器才成為是當(dāng)前最流行的處理器系列,是幾種主流的嵌入式處理體系結(jié)構(gòu)之一。
          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          【業(yè)話】解讀x86、ARM和MIPS三種主流芯片架構(gòu)
          CISC和RISC之爭(zhēng),為什么MIPS是龍芯唯一選擇?
          四大主流芯片架構(gòu)(X86、ARM、RISC
          計(jì)算機(jī)體系結(jié)構(gòu).指令集架構(gòu)
          三種主流芯片架構(gòu)
          嵌入式系統(tǒng)架構(gòu)的發(fā)展趨勢(shì)及比較分析|計(jì)算機(jī)技術(shù)交流°═—☆ - 迎客堂 迎客堂論壇!青年休閑社區(qū)! - powered by phpwind.net
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服