版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
關(guān)于微處理器原理與應(yīng)用二第一頁,共五十六頁,2022年,8月28日微處理器發(fā)展簡史微處理器可以分為:通用型微處理器和嵌入式微處理器(Micro-processorUnit,MPU)。通用型微處理器指的是通用計算機(jī)中的CPU,嵌入式微處理器指單片機(jī)、ARM、嵌入式DSP處理器(DigitalSignalProcessor)等。嵌入式微處理器由通用計算機(jī)中的CPU演變而來。與通用計算機(jī)中的CPU不同的是,在嵌入式應(yīng)用中,將微處理器裝配在專門設(shè)計的電路板上,只保留和嵌入式應(yīng)用緊密相關(guān)的功能硬件,去除其他的冗余功能部分,這樣就以最低的功耗和資源實現(xiàn)嵌入式應(yīng)用的特殊要求。此外,為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器在工作溫度、抗電磁干擾、可靠性等方面相對通過通用計算機(jī)中的CPU都做了各種增強(qiáng)。相比通用型微處理器指令形式為復(fù)雜指令集(CISC),嵌入式微處理器的指令為嵌入式精簡指令集(RISC)。第二頁,共五十六頁,2022年,8月28日CPU的主要性能參數(shù)CPU的主頻,即CPU內(nèi)核工作的時鐘頻率(CPUClockSpeed)。時鐘頻率速度是指同步電路中時鐘的基礎(chǔ)頻率,它以“若干次周期每秒”來度量,量度單位采用SI單位赫茲(Hz)。外頻,是CPU外部的工作頻率,是由主板提供的基準(zhǔn)時鐘頻率。FSB頻率,是連接CPU和主板芯片組中的北橋芯片的前端總線(FrontSideBus)上的數(shù)據(jù)傳輸頻率。CPU的主頻和外頻間存在這樣的關(guān)系:
主頻=外頻×倍頻第三頁,共五十六頁,2022年,8月28日CPU的功能1、指令順序控制控制程序中指令的執(zhí)行順序。程序中的各指令之間是有嚴(yán)格順序的,必須嚴(yán)格按程序規(guī)定的順序執(zhí)行,才能保證計算機(jī)工作的正確性。因此,保證系統(tǒng)按照順序執(zhí)行程序是CPU的首要任務(wù)。2、操作控制一條指令的功能往往是由計算機(jī)中的部件執(zhí)行一序列的操作來實現(xiàn)的。CPU要根據(jù)指令的功能,產(chǎn)生相應(yīng)的操作控制信號,發(fā)給相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動作。
第四頁,共五十六頁,2022年,8月28日CPU的功能3、時間控制時間控制就是對各種操作實施時間上的定時。在一條指令的執(zhí)行過程中,在什么時間做什么操作均應(yīng)受到嚴(yán)格的控制。另一方面,一條指令的整個執(zhí)行過程也要受到時間的嚴(yán)格控制。只有這樣,計算機(jī)才能有條不紊地自動工作。4、數(shù)據(jù)加工即對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯運算處理,完成數(shù)據(jù)的加工處理,這是CPU的根本任務(wù)。因為原始信息只有經(jīng)過加工處理后才能對人們有用。
第五頁,共五十六頁,2022年,8月28日CPU的基本組成第六頁,共五十六頁,2022年,8月28日CPU的基本組成1、運算部件
運算部件又叫算術(shù)邏輯單元(ALU),它可以對數(shù)據(jù)進(jìn)行最基本的算術(shù)和邏輯運算,如加、減、乘、除、與、或、異或等。2、寄存器組
CPU內(nèi)部有多個寄存器。寄存器就是用于暫存信息的小型存儲器,它們按功能的區(qū)別分為:(1)指令寄存器(IR);(2)地址寄存器(AR);(3)數(shù)據(jù)寄存器(DR);(4)累加寄存器(AC);(5)狀態(tài)條件寄存器。3、程序計數(shù)器(PC)
程序計數(shù)器也叫指令計數(shù)器,它實際上也是一個寄存器,它總是指出下一條要執(zhí)行的指令在存儲器中的地址。在順序執(zhí)行指令的情況下,當(dāng)它把一條指令的地址碼送到地址總線后,程序計數(shù)器的內(nèi)容就自動調(diào)整,這條指令是幾個字節(jié),它就加幾,從而又指向下一條要執(zhí)行的指令地址。如果遇到跳轉(zhuǎn)指令,就會把新的地址碼置入程序計數(shù)器,從而改變指令執(zhí)行的順序。第七頁,共五十六頁,2022年,8月28日CPU的基本組成4、指令譯碼器(ID)
指令譯碼器對指令進(jìn)行譯碼,并控制時序邏輯電路。5、控制器電路(C)
控制器電路根據(jù)譯碼器的分析,產(chǎn)生執(zhí)行這條指令所需要的全部時序和控制信號,送到CPU內(nèi)部和外部各部件進(jìn)行控制。目前,新型的CPU都增加了高速緩存器(Cache),高速緩存單元的主要功能是快速進(jìn)行指令或數(shù)據(jù)存儲,在CPU內(nèi)部開辟一個高速緩存空間,這樣指令和數(shù)據(jù)可以暫時存放在CPU內(nèi)部的高速緩存中,減少了指令在CPU和內(nèi)存之間的傳輸次數(shù)。第八頁,共五十六頁,2022年,8月28日
CPU主要寄存器
1、指令寄存器(IR)指令寄存器用來用于存放當(dāng)前正在執(zhí)行的指令碼。當(dāng)前指令執(zhí)行完了,下一條指令才能存入,否則一直保持著。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進(jìn)制數(shù)字組成。為了執(zhí)行任何給定的指令,必須對操作碼進(jìn)行測試,以便識別所要求的操作,一個叫做“指令譯碼器”的部件就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入,操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體操作的特定信號。第九頁,共五十六頁,2022年,8月28日CPU主要寄存器2、地址寄存器(AR)
地址寄存器用來暫存正在執(zhí)行的指令在存儲單元中的地址,或I/O接口的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存的讀/寫操作完成為止。當(dāng)CPU和內(nèi)存進(jìn)行信息交換,要使用地址寄存器和緩沖寄存器。同樣,如果我們把外圍設(shè)備的設(shè)備地址作為像內(nèi)存的地址單元那樣來看待,那么,當(dāng)CPU和外圍設(shè)備交換信息時,同樣需要使用地址寄存器和緩沖寄存器。第十頁,共五十六頁,2022年,8月28日CPU主要寄存器3、數(shù)據(jù)寄存器(DR)
數(shù)據(jù)寄存器用于暫存通過數(shù)據(jù)總線從存儲器中取出的指令或操作數(shù),也可以暫存準(zhǔn)備往存儲器中存儲的數(shù)據(jù),數(shù)據(jù)寄存器的作用是:作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;補(bǔ)償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別;在單累加器結(jié)構(gòu)的運算器中,數(shù)據(jù)存儲器還可兼作為操作數(shù)寄存器第十一頁,共五十六頁,2022年,8月28日CPU主要寄存器4、累加寄存器(AC)
當(dāng)運算器的算術(shù)邏輯單元(ALU)執(zhí)行全部算術(shù)和邏輯運算時,為ALU提供一個工作區(qū)。例如,在執(zhí)行一個加法運算前,先將一個操作數(shù)暫時存放在AC中,再從內(nèi)存中取出另一個操作數(shù),然后同AC的內(nèi)容相加,所得結(jié)果送回AC中,而AC中原有的內(nèi)容隨即被破壞。所以,顧名思義,累加寄存器是暫時存放ALU運算的結(jié)果信息。顯然,運算器中至少要有一個累加寄存器。由于運算器的結(jié)構(gòu)不同,可采用多個累加寄存器,如有些計算機(jī)中有2個,4個,8個,甚至更多。當(dāng)使用多個累加器時,就變成通用寄存器結(jié)構(gòu),其中任何一個可存放源操作數(shù),也可存放結(jié)果操作數(shù)。第十二頁,共五十六頁,2022年,8月28日CPU主要寄存器5、狀態(tài)條件寄存器
狀態(tài)條件寄存器用來寄存CPU執(zhí)行完上一條指令后,處理結(jié)果的某些特征(或者狀態(tài)),例如運算結(jié)果連位標(biāo)志(C),運算結(jié)果溢出標(biāo)志(V),運算結(jié)果為零標(biāo)志(Z),運算結(jié)果為負(fù)標(biāo)志(N)等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。除此之外,狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)等信息,以便使CPU和系統(tǒng)能及時了解機(jī)器運行狀態(tài)和程序運行狀態(tài)。因此,狀態(tài)條件寄存器是一個由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器。第十三頁,共五十六頁,2022年,8月28日CPU主要寄存器6、程序計數(shù)器(PC)
程序計數(shù)器又稱指令計數(shù)器,它是指出下一條要執(zhí)行的指令在存儲器中的地址。在程序開始執(zhí)行前,必須將它的起始地址,即程序的第一條指令所在的內(nèi)存單元地址送入PC,因此PC的內(nèi)容即是從內(nèi)存提取的第一條指令的地址。當(dāng)執(zhí)行指令時,CPU將自動修改PC的內(nèi)容,以便使其保持的總是將要執(zhí)行的下一條指令的地址。由于大多數(shù)指令都是按順序來執(zhí)行的,所以修改過程通常只是簡單的對PC加1。但是,當(dāng)遇到轉(zhuǎn)移指令如JMP指令時,那么后繼指令地址(即PC的內(nèi)容)必須從指令寄存器中的地址字段取得。在這種情況下,下一條從內(nèi)存取出的指令將有轉(zhuǎn)移指令來規(guī)定,而不是像通常一樣按順序來取得。第十四頁,共五十六頁,2022年,8月28日操作控制器和時序產(chǎn)生器通常把許多寄存器之間傳送信息的通路,稱為“數(shù)據(jù)通路”,信息從什么地方開始,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為“操作控制器”的部件來完成的,操作控制器的功能,就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。根據(jù)設(shè)計方法不同,操作控制器可分為組合邏輯型,存儲邏輯型,組合邏輯與存儲邏輯結(jié)合型三種。第一種稱為硬布線控制器,它是采用組合邏輯技術(shù)來實現(xiàn)的;第二種稱為微程序控制器,它是采用存儲邏輯來實現(xiàn)的;第三種稱為可編程控制器,它是吸收前兩種的設(shè)計思想來實現(xiàn)的。時序產(chǎn)生器的作用,就是對各種操作實施時間上的控制。第十五頁,共五十六頁,2022年,8月28日硬布線控制器和微程序控制器微程序控制器的控制功能是在存放微程序存儲器和存放當(dāng)前正在執(zhí)行的微指令的寄存器直接控制下實現(xiàn)的,而硬布線控制的功能則由邏輯門組合實現(xiàn)。微程序控制器的電路比較規(guī)整,各條指令信號的差別集中在控制存儲器內(nèi)容上因此,無論是增加或修改指令都只要增加或修改控制存儲器內(nèi)容即可,若控制存儲器是ROM,則要更換芯片,在設(shè)計階段可以先用RAM或EPROM來實現(xiàn),驗證正確后或成批生產(chǎn)時,再用ROM代替。硬布線控制器的控制信號先用邏輯式列出,經(jīng)化簡后用電路來實現(xiàn),因此,顯得零亂復(fù)雜,當(dāng)需要修改指令或增加指令時就必須重新設(shè)計電路,非常麻煩而且有時甚至無法改變。因此,微操作控制取代了硬布線控制并得到了廣泛應(yīng)用,尤其是指令復(fù)雜的計算機(jī),一般都采用微程序來實現(xiàn)控制功能。第十六頁,共五十六頁,2022年,8月28日CPU的分類
初期的CPU(馮·諾伊曼計算機(jī)模型)一、CPU控制程序執(zhí)行過程
系統(tǒng)內(nèi)存用于存放程序和數(shù)據(jù)。程序由一系列指令組成,這些指令是有序存放的,指令號表明了它的執(zhí)行順序。什么時候執(zhí)行哪一條指令由CPU中的控制單元決定。數(shù)據(jù)表示用戶需要處理的信息,它包括用戶的具體數(shù)據(jù)和這個數(shù)據(jù)在內(nèi)存系統(tǒng)中的地址。二、CPU指令執(zhí)行流程流水線CPU多媒體CPU第十七頁,共五十六頁,2022年,8月28日CPU指令執(zhí)行流程
一條程序指令可以包含許多CPU操作。CPU的工作就是執(zhí)行指令,它的工作過程是:控制器中的指令指針給出指令存放的內(nèi)存地址,指令讀取器從內(nèi)存讀取指令并存放到指令寄存器。然后傳輸給指令譯碼器,指令譯碼器分析指令并決定完成指令需要多少步驟。如果有數(shù)據(jù)需要處理,算術(shù)邏輯運算單元將按指令要求工作,做加法、減法或其他運算。指令執(zhí)行流程由“取指令”、“指令譯碼”、“指令執(zhí)行”、“結(jié)果寫回”四種基本操作構(gòu)成,這個過程是不斷重復(fù)進(jìn)行的第十八頁,共五十六頁,2022年,8月28日取指令(IF)在CPU內(nèi)部有一個指令寄存器(IP),它保存著當(dāng)前所處理指令的內(nèi)存單元地址。當(dāng)CPU開始工作時,便按照指令寄存器地址,通過地址總線,查找到指令在內(nèi)存單元的位置,然后利用數(shù)據(jù)總線將內(nèi)存單元的指令傳送到CPU內(nèi)部的指令高速緩存。第十九頁,共五十六頁,2022年,8月28日指令譯碼(ID)
CPU內(nèi)部的譯碼單元將解釋指令的類型與內(nèi)容,并且判定這條指令的作用對象(操作數(shù)),并且將操作數(shù)從內(nèi)存單元讀入CPU內(nèi)部的高速緩存中。譯碼實際上就是將二進(jìn)制指令代碼翻譯成為特定的CPU電路微操作,然后由控制器傳送給算術(shù)邏輯單元。第二十頁,共五十六頁,2022年,8月28日指令執(zhí)行(IE)
控制器根據(jù)不同的操作對象,將指令送入不同處理單元。如果是整數(shù)運算、邏輯運算、內(nèi)存單元存取、一般控制指令等,則送入算術(shù)邏輯單元處理。如果操作對象是浮點數(shù)(如三角函數(shù)運算),則送入浮點處理單元進(jìn)行處理。如果在運算過程中需要相應(yīng)的用戶數(shù)據(jù),則CPU首先從數(shù)據(jù)高速緩存讀取相應(yīng)數(shù)據(jù)。如果數(shù)據(jù)高速緩存沒有用戶需要的數(shù)據(jù),則CPU通過數(shù)據(jù)通道接收必要的數(shù)據(jù)。運算完成后輸出運算結(jié)果。第二十一頁,共五十六頁,2022年,8月28日寫回(WB)
將執(zhí)行單元處理結(jié)果寫回到高速緩存或內(nèi)存單元中。在CPU解釋和執(zhí)行指令之后,控制單元告訴指令讀取器從內(nèi)存單元中讀取下一條指令。這個過程不斷重復(fù)執(zhí)行,最終產(chǎn)生用戶在顯示器上所看到的結(jié)果。第二十二頁,共五十六頁,2022年,8月28日流水線CPU由摩爾定律的預(yù)測,越來越大規(guī)模的集成電路問世,原來那些由于過于復(fù)雜而實現(xiàn)不了的微處理器架構(gòu)可能得以實現(xiàn)。晶體管數(shù)量的增加允許微處理器架構(gòu)可以具有更多的資源來實現(xiàn)高性能的處理器。一個早先的設(shè)計可以只擁有一個加法器,而后來的設(shè)計則可能擁有兩個加法器,這就使得更多的操作可以并行執(zhí)行。不可避免地,為了充分利用更多指令之間的并行執(zhí)行,又存在很多需要改進(jìn)的方面。在并行執(zhí)行更多任務(wù)的方法中,最成功的方法就是采用流水線技術(shù)。第二十三頁,共五十六頁,2022年,8月28日流水線CPU處理器架構(gòu)定義了軟件的運行方式,其中就期望在程序執(zhí)行過程中每一個時鐘周期執(zhí)行一條指令。在程序中,很多指令可以并行執(zhí)行或者至少重疊執(zhí)行。微處理器架構(gòu)可以利用這些優(yōu)勢來提高處理器性能,但是為了保證軟件兼容性,又要維持指令的順序執(zhí)行。通過允許不同指令的重疊執(zhí)行,流水線可以提供更高的處理器性能。流水線的實質(zhì)是通過在同一時間做多件事情來提高機(jī)器的性能,因此指令流水線是一種可以將多條指令的執(zhí)行過程相互重疊的實現(xiàn)技巧,目前它是提高處理器處理速度的關(guān)鍵技術(shù)之一。第二十四頁,共五十六頁,2022年,8月28日多媒體CPU
隨著微軟Windows系統(tǒng)的普遍采用,音、視頻信號在個人電腦應(yīng)用中已非常普及,需要提高CPU處理多媒體數(shù)據(jù)的效率,加速電腦的多媒體應(yīng)用,PentiumMMXCPU是英特爾在Pentium內(nèi)核基礎(chǔ)上改進(jìn)的,其最大的特點是增加了57條MMX擴(kuò)展指令集。這些指令專門用來處理音視頻相關(guān)的計算。大部分多媒體應(yīng)用程序需要SIMD(SinglInstructionStreamMultipieDataStream,單指令流多數(shù)據(jù)流)類型的體系結(jié)構(gòu)第二十五頁,共五十六頁,2022年,8月28日微處理器設(shè)計技術(shù)結(jié)構(gòu)設(shè)計技術(shù)雖然屬于CPU體系結(jié)構(gòu)的第一個層次,但是它與功能單元有密切的聯(lián)系,差別在于設(shè)計技術(shù)是以整體的觀點來解決問題,而功能單元是怎樣去實現(xiàn)這種設(shè)計技術(shù)。CPU的實際目標(biāo)一是怎樣提高CPU的系統(tǒng)性能,二是怎樣降低CPU的復(fù)雜程度。這是兩個相互沖突的要求,從目前流行的設(shè)計技術(shù)來看主要偏重于第一個目標(biāo)的實現(xiàn)。目前CPU設(shè)計的兩種技術(shù),即CISC結(jié)構(gòu)和RISC結(jié)構(gòu)。第二十六頁,共五十六頁,2022年,8月28日8086、單片機(jī)及ARM的分類第二十七頁,共五十六頁,2022年,8月28日復(fù)雜指令集計算機(jī)(CISC)結(jié)構(gòu)1、CISC的產(chǎn)生計算機(jī)的工作就是取指令、執(zhí)行指令。一條指令一般由操作碼和操作數(shù)(即地址碼)組成,往往涉及到以下幾個問題:指令有多少位,是定長還是變長指令;操作碼需幾位,位數(shù)是固定量還是浮動量;操作數(shù)的地址的結(jié)構(gòu)和尋址方式等。種種因素使計算機(jī)指令產(chǎn)生簡單指令和復(fù)雜指令之分。為了提高CPU的速度和功能,越來越多的復(fù)雜指令被加入到指令系統(tǒng)中。但是,很快又出現(xiàn)了一個問題:一個指令系統(tǒng)的指令數(shù)是受指令操作碼的位數(shù)所限制的,如果操作碼為8位,那么指令數(shù)最多為256條。改變操作碼的寬度就可以加長指令的寬度,但是這會造成指令系統(tǒng)的不兼容現(xiàn)象。指令系統(tǒng)設(shè)計人員想出了一種方案:操作碼擴(kuò)展。第二十八頁,共五十六頁,2022年,8月28日高級語言程序編譯機(jī)器碼微指令微操作CPU內(nèi)部執(zhí)行CISC體系的特點
指令長短不一:CISC(復(fù)雜指令集計算機(jī))中有許多簡單和復(fù)雜的指令,簡單的指令只有1個時鐘周期,而復(fù)雜指令達(dá)到了20個時鐘周期以上。最長的8086指令I(lǐng)DIV(帶符號整數(shù)除法)達(dá)到了190個時鐘周期,這使CPU譯碼單元工作加重。由于歷史的原因,x86指令長度不一致給CPU流水線技術(shù)帶來了很多困難。龐大的指令集:在早期程序編制中,指令越多,就可以減少編程所需要的代碼行數(shù),減輕程序員的負(fù)擔(dān)。由于x86系列指令集不斷擴(kuò)充,目前匯編指令總數(shù)已經(jīng)達(dá)到500多條,而指令的組合形式達(dá)到幾萬種之多,這給CPU譯碼工作帶來了嚴(yán)重的負(fù)擔(dān)。微指令譯碼結(jié)構(gòu):在CISC結(jié)構(gòu)CPU中,所有機(jī)器指令必須在CPU內(nèi)部譯碼為微指令代碼,微指令集存放在CPU的ROM中。當(dāng)機(jī)器指令讀入CPU內(nèi)后,經(jīng)過譯碼單元將一條復(fù)雜的x86指令譯碼為多個微指令代碼,再送到CPU執(zhí)行單元進(jìn)行操作。因此,從本質(zhì)上說,CISC結(jié)構(gòu)CPU的譯碼過程是軟件工作過程,它必然影響CPU的運行速度。第二十九頁,共五十六頁,2022年,8月28日計算機(jī)的系統(tǒng)層次結(jié)構(gòu)
第三十頁,共五十六頁,2022年,8月28日微指令微指令就是把同時發(fā)出的控制信號的有關(guān)信息匯集起來形成的。將一條指令分成若干條微指令,按次序執(zhí)行就可以實現(xiàn)指令的功能。若干條微指令可以構(gòu)成一個微程序,而一個微程序就對應(yīng)了一條機(jī)器指令。因此,一條機(jī)器指令的功能是若干條微指令組成的序列來實現(xiàn)的。簡言之,一條機(jī)器指令所完成的操作分成若干條微指令來完成,由微指令進(jìn)行解釋和執(zhí)行。微指令的編譯方法是決定微指令格式的主要因素。微指令格式大體分成兩類:水平型微指令和垂直型微指令。機(jī)器指令是CPU能直接識別并執(zhí)行的指令,它的表現(xiàn)形式是二進(jìn)制編碼。機(jī)器指令通常由操作碼和操作數(shù)組成,操作碼指出該指令所要完成的操作,即指令的功能,操作數(shù)指出參與運算的對象,以及運算結(jié)果所存放的位置等第三十一頁,共五十六頁,2022年,8月28日CISC體系的特點軟件功能硬件化:CISC通過增強(qiáng)指令的功能,把原本由軟件實現(xiàn)的功能改用硬件實現(xiàn)。這樣,一些常用的、簡單的指令就不必經(jīng)過譯碼,或者經(jīng)過簡單的譯碼就可以直接送到CPU執(zhí)行單元進(jìn)行處理,但是這也增加了CPU的復(fù)雜程度。優(yōu)化目標(biāo)程序:CISC系統(tǒng)非常重視優(yōu)化目標(biāo)程序,這樣可以縮短程序執(zhí)行時間,減少程序的開銷。例如:傳輸指令(MOV)在CPU中的使用頻率占40%左右,執(zhí)行時間占整個程序的30%左右,因此增強(qiáng)傳輸指令的功能有助于改進(jìn)CPU執(zhí)行效率。第三十二頁,共五十六頁,2022年,8月28日CISC體系的優(yōu)點與缺點
CISC體系的優(yōu)點:CPU指令集向下兼容性好,新設(shè)計的CPU只需增加較少的晶體管就可以執(zhí)行同樣的指令集。新指令系統(tǒng)可以包含早期系統(tǒng)的指令集。微操作指令的格式與高級語言相匹配,因而編譯器不一定要重新編寫。CISC體系的缺點:CISC指令系統(tǒng)過于復(fù)雜,指令規(guī)模過于龐大。由于CISC結(jié)構(gòu)控制復(fù)雜,不規(guī)整,不符合超大規(guī)模集成電路(VLSI)發(fā)展的方向,所以在CPU中必須最大化的使用微指令技術(shù)來實現(xiàn)CISC功能。在CISC中,雖然增加了硬件指令,但并不能保證整個程序執(zhí)行時間的縮短。因為這些復(fù)雜指令要消耗較多的CPU周期數(shù),但又不常用。第三十三頁,共五十六頁,2022年,8月28日CISC體系的應(yīng)用8086微處理器,屬于CISC體系結(jié)構(gòu),與Intel8008兼容,指令長短不一,有較多的尋址方式,將在第三章節(jié)詳細(xì)介紹。將CPU、存儲器、I/O接口、總線等集成在一片超大規(guī)模集成電路芯片上,稱為單片微型計算機(jī),簡稱微控制器或單片機(jī)(MCU),其典型產(chǎn)品代表為IntelMCS51系列單片機(jī),這將在后面的章節(jié)詳細(xì)闡述。第三十四頁,共五十六頁,2022年,8月28日精簡指令集計算機(jī)(RISC)結(jié)構(gòu)1、RISC技術(shù)的發(fā)展1975年,IBM的設(shè)計師約翰·科克(如JohnCocke)研究了當(dāng)時的計算機(jī)系統(tǒng),發(fā)現(xiàn)其中占總指令數(shù)僅20%的簡單指令卻在程序調(diào)用中占了80%,而占指令數(shù)80%的復(fù)雜指令卻只有20%的機(jī)會用到。由此,他提出RISC的概念。事實證明RISC是成功的。20世紀(jì)70年代末,第一代RISCCPU由IBM801實現(xiàn)。80年代末,各公司RISCCPU如雨后春筍般大量出現(xiàn),占據(jù)了大量市場。RISC最大特點是指令長度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡單指令,并且都能在一個時鐘周期內(nèi)完成。RISC易于設(shè)計超標(biāo)量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進(jìn)行。不過,RISC必須經(jīng)過編譯程序的處理,才能發(fā)揮它的效率。第三十五頁,共五十六頁,2022年,8月28日精簡指令集計算機(jī)(RISC)結(jié)構(gòu)2、RISC設(shè)計思想RISC的主要特點是:大多數(shù)指令在一個時鐘周期內(nèi)完成;采用裝載—存儲(Load/Store)結(jié)構(gòu);盡量將運算的數(shù)據(jù)存放在寄存器中,從而減少訪問內(nèi)存的次數(shù);操作由硬件完成,而不是通過微指令完成;減少了指令和尋址方式的種類;固定指令格式;注重譯碼優(yōu)化;面向寄存器設(shè)計指令系統(tǒng);注重流水線的效率設(shè)計;重視優(yōu)化編譯設(shè)計。第三十六頁,共五十六頁,2022年,8月28日RISC結(jié)構(gòu)采用的關(guān)鍵技術(shù)采用裝載-存儲(Load/Store)結(jié)構(gòu):只允許Load和Store指令執(zhí)行內(nèi)存操作,其余指令均對寄存器操作。延遲轉(zhuǎn)移技術(shù):在轉(zhuǎn)移指令之后插入一條或幾條有效的指令。當(dāng)程序執(zhí)行時,要等這些插入的指令執(zhí)行完成之后,才執(zhí)行轉(zhuǎn)移指令,因此,轉(zhuǎn)移指令好象被延遲執(zhí)行了,這種技術(shù)稱為延遲轉(zhuǎn)移技術(shù)。。重疊寄存器窗口技術(shù):調(diào)用指令(Call)、返回指令(Return)都需要傳遞大量參數(shù),訪問大量內(nèi)存。減少訪問內(nèi)存次數(shù)的方法是:在CPU中設(shè)置一個數(shù)量較大的寄存器堆,并把它分為很多個窗口。每個進(jìn)程使用其中的三個窗口,而在這些窗口中有一個窗口和其他進(jìn)程共同使用,還有一個窗口與下一進(jìn)程共同使用,目的是實現(xiàn)參數(shù)傳遞和數(shù)據(jù)共享。指令流調(diào)整:通過寄存器置換、編譯優(yōu)化的方法,消除數(shù)據(jù)相關(guān),從而使流水線的運行效率達(dá)到最高。采用多級指令流水線結(jié)構(gòu):采用流水線技術(shù)可使每一時刻都有多條指令重疊執(zhí)行。第三十七頁,共五十六頁,2022年,8月28日RISC體系的優(yōu)點與缺點RISC指令的優(yōu)點:在使用相同的芯片技術(shù)和相同運行時鐘下,RISC系統(tǒng)的運行速度將是CISC的2~4倍。RISC的指令比較簡單、對稱、均勻。RISC的尋址方式簡單,只有裝載/存儲(Load/Store)指令能夠訪問內(nèi)存,其他指令均在通用寄存器之間進(jìn)行操作。RISC指令的缺點:必須精心選擇通用寄存器,充分發(fā)揮每個通用寄存器的作用,盡量減少訪問內(nèi)存的次數(shù)。優(yōu)化編譯器要做數(shù)據(jù)和控制相關(guān)性的分析,要調(diào)整指令的執(zhí)行序列,并與硬件配合實現(xiàn)指令延遲技術(shù)和指令取消技術(shù)等。要設(shè)計復(fù)雜的子程序庫,因為在CISC中的一條指令在RISC中要用一段子程序來實現(xiàn)。所以,RISC的子程序庫通常要比CISC的大得多第三十八頁,共五十六頁,2022年,8月28日RISC體系的優(yōu)點與缺點多指令的操作使得程序開發(fā)者必須小心地選用合適的編譯器,而且編寫的代碼量會變得非常大。另外就是RISC體系的CPU需要更快的L1Cache(一級緩存)。RISC系統(tǒng)速度很快,但是編譯一個軟件時間很長。RISC系統(tǒng)是把最常用的那些指令設(shè)法盡快執(zhí)行,不常用的指令就不怎么照顧了,甚至取消了。這樣前期工作指令的統(tǒng)計篩選就顯得特別重要。因此,RISC系統(tǒng)的指令集肯定都是通過大量統(tǒng)計篩選出來的,是最優(yōu)化的,這樣做嵌入式專用系統(tǒng)特別有優(yōu)勢。但是,要實現(xiàn)一個通用的CPU芯片,還是把RISC和CISC結(jié)合起來更好一些,以便適應(yīng)多種應(yīng)用的需求。第三十九頁,共五十六頁,2022年,8月28日RISC體系的性能特點性能特點一:由于指令集簡化后,流水線以及常用指令均可用硬件執(zhí)行;性能特點二:采用大量的寄存器,使大部分指令操作都在寄存器之間進(jìn)行,提高了處理速度;性能特點三:采用緩存—主機(jī)—外存三級存儲結(jié)構(gòu),使取數(shù)與存數(shù)指令分開執(zhí)行,使處理器可以完成盡可能多的工作,且不因從存儲器存取信息而放慢處理速度。應(yīng)用特點:由于RISC處理器指令簡單、采用硬布線控制邏輯、處理能力強(qiáng)、速度快,世界上絕大部分UNIX工作站和服務(wù)器廠商均采用RISC芯片作CPU用。如原DEC的Alpha21364、IBM的PowerPCG4、HP的PA—8900、SGI的R12000A和SUNMicrosystem公司的UltraSPARC第四十頁,共五十六頁,2022年,8月28日RISC應(yīng)用領(lǐng)域
基于ARM技術(shù)設(shè)計的微處理器應(yīng)用占據(jù)了32位RISC微處理器大部分市場份額,ARM微處理器及技術(shù)的應(yīng)用已滲入到如下各個領(lǐng)域:①工業(yè)控制領(lǐng)域:作為32位的RISC架構(gòu),基于ARM核的微控制器芯片不但占據(jù)了高端微控制器市場的大部分份額,同時也逐漸向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展。ARM微控制器的低功耗和高性價比,向傳統(tǒng)的8位/16位微控制器提出了挑戰(zhàn)。②無線通信領(lǐng)域:很多無線通信設(shè)備采用了ARM技術(shù),ARM以其高性能和低成本,在該領(lǐng)域的地位日益鞏固。③網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用ARM技術(shù)的ADSL(AsymmetricDigitalSubscriberLine非對稱數(shù)字用戶環(huán)路)芯片正逐步獲得競爭優(yōu)勢。此外,ARM在語音及視頻處理上進(jìn)行了優(yōu)化,并獲得廣泛支持,也對DSP的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。④消費類電子產(chǎn)品:ARM技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機(jī)頂盒和游戲機(jī)中得到廣泛采用。⑤成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機(jī)和打印機(jī)中大部分采用ARM技術(shù)。移動電話、手持式設(shè)備中的系統(tǒng)管理、基帶信號處理、安全管理等也廣泛采用了ARM微處理器。第四十一頁,共五十六頁,2022年,8月28日CISC與RISC體系的比較
指令系統(tǒng):RISC設(shè)計者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來實現(xiàn)。而CISC的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機(jī)器的存儲器操作指令多,操作直接。程序:RISC匯編語言程序一般需要較大的內(nèi)存空間,實現(xiàn)特殊功能時程序復(fù)雜,不易設(shè)計;而CISC匯編語言程序編程相對簡單,科學(xué)計算及復(fù)雜操作的程序設(shè)計相對容易,效率較高。中斷:RISC微處理器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷;而CISC微處理器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。CPU:由于RISCCPU包含較少的單元電路,因而面積小、功耗低;而CISCCPU包含豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。設(shè)計周期:RISC微處理器結(jié)構(gòu)簡單,布局緊湊,設(shè)計周期短,且易于采用最新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計周期長。易用性:RISC微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實現(xiàn)特殊功能容易。第四十二頁,共五十六頁,2022年,8月28日CISC和RISC體系的相互融合
在今天,大部分的CISC處理器都是基于混合的CISC-RISC體系結(jié)構(gòu)的。這種混合體系結(jié)構(gòu)使用了一個譯碼器,用于在執(zhí)行前將CISC指令轉(zhuǎn)換成RISC指令。這些RISC指令接下來會由一個RISC核來處理,這個RISC核可以快速執(zhí)行一些簡單的指令。同時,這個RISC核也采用了性能增強(qiáng)技術(shù),比如分支預(yù)測技術(shù)和流水線技術(shù)。按照傳統(tǒng)觀念,只能在RISC設(shè)計中采用這樣的RISC核,因為要想使這種核高效運行,則必須使用定長指令。這種混合體系結(jié)構(gòu)的幾個典型例子包括Pentium處理器和Athlon系列處理器。盡管這些CISC處理器和基于RISC的處理器的執(zhí)行方式完全不同,但是它們還是兼容基于它們的前任CISC處理器開發(fā)的軟件。不過,CISC-RISC混合體系結(jié)構(gòu)仍然耗費太多的能量,因而仍然不是移動應(yīng)用及嵌入式應(yīng)用的最好選擇。第四十三頁,共五十六頁,2022年,8月28日微處理器體系結(jié)構(gòu)
按照指令的串行執(zhí)行和并行執(zhí)行,可將CPU分為六種體系結(jié)構(gòu):1、隨機(jī)邏輯體系結(jié)構(gòu)(RISC構(gòu)架)
隨機(jī)邏輯(硬連邏輯)體系結(jié)構(gòu)用布爾邏輯函數(shù)來表示控制單元的輸入和輸出之間的關(guān)系。使用指令集結(jié)構(gòu)驅(qū)動硬件邏輯方程,再由硬件邏輯方程反饋到指令集結(jié)構(gòu)。一方面在復(fù)雜的隨機(jī)邏輯中要求大量的不同的設(shè)計,另一方面其設(shè)計成果很少能用到新的CPU設(shè)計中,不易在邏輯中優(yōu)化復(fù)雜的指令集,因此隨機(jī)邏輯體系結(jié)構(gòu)的CPU設(shè)計只能用于一般的結(jié)構(gòu)簡單的指令集。2、微碼體系結(jié)構(gòu)(CISC構(gòu)架)盡量將指令集與其硬件的設(shè)計分開,把每條指令分割為許多微步驟或微指令,使硬件設(shè)計轉(zhuǎn)化為實現(xiàn)每條指令所需要的微碼(一系列的微指令)的一種軟件設(shè)計,其微碼不但可以進(jìn)行獨立于硬件設(shè)計之外的設(shè)計和驗證,還可修改移植到新研發(fā)的CPU中,采用微碼結(jié)構(gòu)使復(fù)雜的硬件設(shè)計轉(zhuǎn)變?yōu)槔靡惶紫鄬唵蔚奈⒅噶罴M(jìn)行的軟件編寫工作。第四十四頁,共五十六頁,2022年,8月28日微處理器體系結(jié)構(gòu)3、流水線體系結(jié)構(gòu)
采用流水線的處理方法,將多條指令在不同時間段并行執(zhí)行。在執(zhí)行每條指令完成第一步的同時,前一條指令正在執(zhí)行第二步,此條指令的前一條指令正在執(zhí)行第三步,依此類推。流水線體系結(jié)構(gòu)要求每條指令在執(zhí)行過程中具有相同的類型和步驟,這樣才能增強(qiáng)CPU的性能。4、超流水線體系結(jié)構(gòu)
以增加流水線級數(shù)的方法來縮短機(jī)器周期,進(jìn)一步提高CPU對指令運行的并行性。相同的時間內(nèi)超級流水線執(zhí)行了更多的機(jī)器指令。采用簡單指令以加快執(zhí)行速度是所有流水線的共同特點,但超級流水線配置了多個功能部件和指令譯碼電路,采用多條流水線并行處理,還有多個寄存器端口和總線,可以同時執(zhí)行多個操作,因此比普通流水線執(zhí)行的更快,在一個機(jī)器周期內(nèi)可以執(zhí)行多條指令。第四十五頁,共五十六頁,2022年,8月28日微處理器體系結(jié)構(gòu)超標(biāo)量體系結(jié)構(gòu)(superscalararchitectures),它能夠在一個時鐘周期執(zhí)行多個指令。在超標(biāo)量體系結(jié)構(gòu)設(shè)計中,處理器或指令編譯器能夠判斷指令能獨立于其它順序指令而執(zhí)行,還是依賴于另一指令,必須跟其按順序執(zhí)行。處理器然后使用多個執(zhí)行單元同時執(zhí)行兩個或更多獨立指令。超標(biāo)量體系結(jié)構(gòu)設(shè)計有時稱“第二代RISC”。片上多核處理器(ChipMulti-Processor,CMP)就是將多個計算內(nèi)核集成在一個處理器芯片中,從而提高計算能力。按計算內(nèi)核的對等與否,CMP可分為同構(gòu)多核和異構(gòu)多核。計算內(nèi)核相同,地位對等的稱為同構(gòu)多核,現(xiàn)在Intel和AMD主推的雙核處理器,就是同構(gòu)的雙核處理器。計算內(nèi)核不同,地位不對等的稱為異構(gòu)多核,異構(gòu)多核多采用“主處理核+協(xié)處理核”的設(shè)計,IBM、索尼和東芝等聯(lián)手設(shè)計推出的Cell處理器正是這種異構(gòu)架構(gòu)的典范。第四十六頁,共五十六頁,2022年,8月28日多核之間的通信CMP處理器的各CPU核心執(zhí)行的程序之間需要進(jìn)行數(shù)據(jù)的共享與同步,因此其硬件結(jié)構(gòu)必須支持核間通信。高效的通信機(jī)制是CMP處理器高性能的重要保障,目前比較主流的片上高效通信機(jī)制有兩種,一種是基于總線共享的Cache結(jié)構(gòu),一種是基于片上的互連結(jié)構(gòu)??偩€共享Cache結(jié)構(gòu)是指每個CPU內(nèi)核擁有共享的二級或三級Cache,用于保存比較常用的數(shù)據(jù),并通過連接核心的總線進(jìn)行通信。這種系統(tǒng)的優(yōu)點是結(jié)構(gòu)簡單,通信速度高,缺點是基于總線的結(jié)構(gòu)可擴(kuò)展性較差。基于片上互連的結(jié)構(gòu)是指每個CPU核心具有獨立的處理單元和Cache,各個CPU核心通過交叉開關(guān)或片上網(wǎng)絡(luò)等方式連接在一起,核心間通過消息通信。這種結(jié)構(gòu)的優(yōu)點是可擴(kuò)展性好,數(shù)據(jù)帶寬有保證;缺點是硬件結(jié)構(gòu)復(fù)雜,且軟件改動較大。第四十七頁,共五十六頁,2022年,8月28日多核處理器并行結(jié)構(gòu)
多核處理器是指在一枚處理器中集成兩個或多個完整的計算引擎(內(nèi)核)。多核技術(shù)的開發(fā)源于工程師們認(rèn)識到,僅僅提高單核芯片的速度會產(chǎn)生過多熱量且無法帶來相應(yīng)的性能改善。即便是沒有熱量問題,其性價比也令人難以接受,速度稍快的處理器價格要高很多。多核服務(wù)器CPU,用CMP(單芯片多處理器)技術(shù)來替代復(fù)雜性較高的單線程CPU。第四十八頁,共五十六頁,2022年,8月28日多核處理器的優(yōu)勢一種應(yīng)用模式是一個程序采用了線程級并行編程,那么這個程序在運行時可以把并行的線程同時交付給兩個核心分別處理,因而程序運行速度得到極大提高。更常見的日常應(yīng)用程序,例如Office、IE等,同樣也是采用線程級并行編程,可以在運行時同時調(diào)用多個線程協(xié)同工作,所以在雙核處理器上運行速度也會得到較大提升。對于已經(jīng)采用并行編程的軟件,不管是專業(yè)軟件,還是日常應(yīng)用軟件,在多核處理器上的運行速度都會大大提高。第四十九頁,共五十六頁,2022年,8月28日多核處理器的優(yōu)勢日常應(yīng)用中的另一種模式是同時運行多個程序。許多程序沒有采用并行編程,例如一些文件壓縮軟件、部分游戲軟件等等。對于這些單線程的程序,單獨運行在多核處理器上與單獨運行在同樣參數(shù)的單核處理器上沒有明顯差別。但是,由于日常使用的最基本的程序——操作系統(tǒng)——是支持并行處理的,所以,當(dāng)在多核處理器上同時運行多個單線程程序的時候,操作系統(tǒng)會把多個程序的指令分別發(fā)送給多個核心,從而使得同時完成多個程序的速度大大加快。單線程序進(jìn)行并行優(yōu)化設(shè)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 戰(zhàn)略合作寫合同范例
- 債權(quán)保證擔(dān)保合同范例
- 木扶手合同范例
- 理財有合同范例
- 外貿(mào)店鋪轉(zhuǎn)讓合同范例
- 租賃施工車輛合同范例
- 彩鋼瓦防腐翻新合同范例
- 柑橘果園出售合同范例
- 畢業(yè)照合同范例
- 簡易綠化養(yǎng)護(hù)合同范例冬季
- 稅務(wù)管理專項測試題附答案
- 產(chǎn)品檢驗合格證模板
- 2024年全國職業(yè)院校技能大賽中職組(安全保衛(wèi)賽項)考試題庫(含答案)
- 人工智能營銷(第2版)課件全套 陽翼 第1-8章 邁入人工智能領(lǐng)域-人工智能營銷的倫理與法律問題
- 2024-2025一年級上冊科學(xué)教科版2.4《氣味告訴我們》課件
- 語文大單元視域下的任務(wù)群教學(xué)實踐
- 浙江省建筑防水工程技術(shù)規(guī)程
- 融入TGFU教學(xué)法的TPSR教學(xué)模式在小學(xué)籃球課程中的德育效果研究
- 醫(yī)院感染管理委員會模板
- 非學(xué)歷繼續(xù)教育信息化平臺建設(shè)需求
- DL∕T 5028.2-2015 電力工程制圖標(biāo)準(zhǔn) 第2部分 機(jī)械部分
評論
0/150
提交評論