




已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.,第2篇計(jì)算機(jī)系統(tǒng)分層結(jié)構(gòu),在本篇用3章分三個層次,即微體系結(jié)構(gòu)層、指令系統(tǒng)層和匯編語言層討論計(jì)算機(jī)系統(tǒng)的組成。微體系結(jié)構(gòu)層是具體的硬件層次,可看作是指令系統(tǒng)的解釋器。指令系統(tǒng)層是一個抽象的層次,其指令系統(tǒng)是一種硬件和編譯器都可識別的機(jī)器語言。匯編語言層提供的語言,是將機(jī)器語言“符號化”以便于人們理解。用匯編語言編寫的程序先由匯編器翻譯成機(jī)器語言程序,再由微體系結(jié)構(gòu)層解釋執(zhí)行。,.,第3章微體系結(jié)構(gòu)層CPU組織,在微體系結(jié)構(gòu)層,是從寄存器級分析CPU的結(jié)構(gòu)和功能。本章主要內(nèi)容:CPU的基本組成和功能算術(shù)邏輯部件ALU和運(yùn)算方法CPU模型機(jī)組合邏輯控制器原理微程序控制器原理,.,中央處理器CPU的主要功能是從主存儲器中取出指令、分析指令和執(zhí)行指令,即按指令控制計(jì)算機(jī)各部件操作,并對數(shù)據(jù)進(jìn)行處理。,3.1CPU的組成和功能,.,3.1.1CPU的組成,CPU通常由以下幾部分構(gòu)成:,控制器;,算術(shù)邏輯部件ALU;,各種寄存器;,CPU內(nèi)部總線。,CPU的基本組成框圖,.,1ALU部件與寄存器,ALU框圖,(1)ALU部件,ALU的功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)與邏輯運(yùn)算。,ALU的輸入有兩個端口,分別接收參加運(yùn)算的兩個操作數(shù),通常它們來自CPU中的通用寄存器或ALU總線。ALU的輸出取決于對其功能的控制,當(dāng)控制功能選擇加、減、與、或等運(yùn)算功能之一時,其輸出結(jié)果將為對應(yīng)的和、差、與值、或值等。,.,(2)寄存器,CPU中的寄存器包括存放控制信息的寄存器,如指令寄存器、程序計(jì)數(shù)器和狀態(tài)字寄存器;以及存放所處理數(shù)據(jù)的寄存器,如通用寄存器和暫存器。,通用寄存器,通常CPU內(nèi)部設(shè)置有一組寄存器,每個寄存器都可以承擔(dān)多種用途,因此習(xí)慣上稱為通用寄存器。,通用寄存器本身在邏輯上只具有接收信息、存儲信息和發(fā)送信息的功能。但通過編程以及與ALU的配合可以實(shí)現(xiàn)多種功能,如它們可為ALU提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址寄存器、地址指針和計(jì)數(shù)器等。,暫存器,在CPU中一般要設(shè)置暫存器,主要是為了暫存從主存儲器讀出的數(shù)據(jù),暫存器沒有寄存器號,因此不能直接編程訪問它們。,.,指令寄存器IR(InstructionRegister),用來存放當(dāng)前正在執(zhí)行的一條指令。執(zhí)行指令時,需根據(jù)PC中的指令地址從主存讀取指令送到IR中。,程序計(jì)數(shù)器PC(ProgramCounter),用以存放當(dāng)前或下一條指令在主存中的地址,因此又稱為指令計(jì)數(shù)器或指令指針I(yè)P(InstructionPointer)。,狀態(tài)寄存器,CPU內(nèi)部設(shè)置的狀態(tài)寄存器,用來存放當(dāng)前程序的運(yùn)行狀態(tài)和工作方式,其內(nèi)容稱為程序狀態(tài)字PSW(ProgramStateWord),PSW是參與控制程序執(zhí)行的重要依據(jù)。,.,2總線,所謂總線是一組能為多個部件分時共享的公共信息傳送線路,它分時接收各部件送來的信息,并發(fā)送信息到有關(guān)部件。,由于多個部件連接在一組公共總線上,可能會出現(xiàn)多個部件爭用總線,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問題。,CPU內(nèi)部總線用來連接CPU內(nèi)的各寄存器與ALU;,總線分類:,系統(tǒng)總線用來連接CPU、主存儲器與I/O接口,它通常包括三組:數(shù)據(jù)總線、地址總線和控制總線。,按總線傳送的方向可將總線分為單向總線和雙向總線。,.,3CPU內(nèi)部數(shù)據(jù)通路,CPU內(nèi)部寄存器及ALU之間通常用總線方式傳送數(shù)據(jù)信息。介紹兩種常見的結(jié)構(gòu)。,(1)單總線數(shù)據(jù)通路結(jié)構(gòu),采用單總線結(jié)構(gòu)的CPU數(shù)據(jù)通路,.,CPU數(shù)據(jù)通路結(jié)構(gòu)只采用一組內(nèi)總線,它是雙向總線。通用寄存器組、其他寄存器和ALU均連在這組內(nèi)總線上。,CPU內(nèi)各寄存器間的數(shù)據(jù)傳送必須通過內(nèi)總線進(jìn)行,ALU通過內(nèi)總線得到操作數(shù),其運(yùn)算結(jié)果也經(jīng)內(nèi)總線輸出。,(2)多組內(nèi)總線結(jié)構(gòu),采用三總線結(jié)構(gòu)的CPU數(shù)據(jù)通路,為了提高CPU的工作速度,一種方法是在CPU內(nèi)部設(shè)置多組內(nèi)總線,使幾個數(shù)據(jù)傳送操作能夠同時進(jìn)行,即實(shí)現(xiàn)部分并行操作。,.,3.1.2指令執(zhí)行過程,CPU的主要功能就是執(zhí)行存放在存儲器中的指令序列,即程序。,1指令的分段執(zhí)行過程,任何一條指令的執(zhí)行都要經(jīng)過讀取指令、分析指令和執(zhí)行指令3個階段。,執(zhí)行階段還可細(xì)分為:,(1)取指令,(2)分析指令,(3)執(zhí)行指令,此外,CPU還應(yīng)該對運(yùn)行過程中出現(xiàn)的某些異常情況或輸入/輸出請求進(jìn)行處理。,.,2指令之間的銜接方式,指令之間的銜接方式有兩種:串行的順序安排方式與并行的重疊處理方式。,3.1.3時序控制方式,執(zhí)行一條指令的過程可分為幾個階段,而每一階段又分為若干步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號實(shí)現(xiàn)。因此,每條指令都可分解為一個控制信號序列,指令的執(zhí)行過程就是依次執(zhí)行一個確定的控制信號序列的過程。,時序控制方式就是指微操作與時序信號之間采取何種關(guān)系,它不僅直接決定時序信號的產(chǎn)生,也影響到控制器及其他部件的組成,以及指令的執(zhí)行速度。,.,1同步控制方式,同步控制方式是指各項(xiàng)操作由統(tǒng)一的時序信號進(jìn)行同步控制。,同步控制的基本特征是將操作時間分為若干長度相同的時鐘周期(也稱為節(jié)拍),要求在一個或幾個時鐘周期內(nèi)完成各個微操作。在CPU內(nèi)部通常是采用同步控制方式。,同步控制方式的優(yōu)點(diǎn)是時序關(guān)系簡單,結(jié)構(gòu)上易于集中,相應(yīng)的設(shè)計(jì)和實(shí)現(xiàn)比較方便。,2同步控制方式的多級時序系統(tǒng),(1)多級時序的概念,在同步控制方式中,通常將時序信號劃分為幾級(其中包括指令周期),稱為多級時序。,機(jī)器周期,節(jié)拍(時鐘周期),時鐘脈沖信號,.,(2)多級時序信號之間的關(guān)系,三級時序信號之間的關(guān)系,.,(3)時序系統(tǒng)的組成,時序系統(tǒng)框圖,3.1.4指令流水線,兩段指令流水線,.,為獲得進(jìn)一步的加速,流水線可以分成更多的階段。,取指令,計(jì)算操作數(shù)地址,譯碼指令,寫操作數(shù),取操作數(shù),執(zhí)行指令,指令流水線操作時序圖,影響流水線性能主要有以下幾個因素:(1)若各個階段不全是相等的時間(2)流水線中的相關(guān)問題(3)當(dāng)遇到條件轉(zhuǎn)移指令時(4)當(dāng)I/O設(shè)備有中斷請求或機(jī)器有故障時,.,3.2算術(shù)邏輯部件ALU和運(yùn)算方法,算術(shù)邏輯部件ALU主要完成對二進(jìn)制代碼的定點(diǎn)算術(shù)運(yùn)算和邏輯運(yùn)算。,3.2.1算術(shù)邏輯部件ALU,算術(shù)邏輯部件ALU的硬件實(shí)現(xiàn)涉及三個問題:,(1)如何構(gòu)成一位二進(jìn)制加法單元,即全加器。(2)n位全加器連同進(jìn)位信號傳送邏輯,構(gòu)成一個n位并行加法器。(3)以加法器為核心,通過輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏輯運(yùn)算功能的ALU。,.,1全加器,用半加器構(gòu)成的全加器,和,進(jìn)位,目前,廣泛采用半加器構(gòu)成全加器。,.,2并行加法器與進(jìn)位鏈結(jié)構(gòu),用n位全加器實(shí)現(xiàn)兩個n位操作數(shù)各位同時相加,這種加法器稱為并行加法器。并行加法器中全加器的位數(shù)與操作數(shù)的位數(shù)相同。,(1)基本進(jìn)位公式,設(shè)相加的兩個n位操作數(shù)為:,進(jìn)位信號的邏輯式,.,可以看出C由兩部分組成:,我們定義兩個輔助函數(shù):,進(jìn)位產(chǎn)生函數(shù),進(jìn)位傳遞函數(shù),因此有:,.,(2)并行加法器的串行進(jìn)位,采用串行進(jìn)位的并行加法器,是將n個全加器串接起來,就可進(jìn)行兩個n位數(shù)相加。,由于串行進(jìn)位的延遲時間較長,所以在ALU中很少采用純串行進(jìn)位的方式。但這種方式可節(jié)省器件,成本低,在分組進(jìn)位方式中局部采用有時也是可取的。,.,3并行進(jìn)位(先行進(jìn)位、同時進(jìn)位),為了提高并行加法器的運(yùn)算速度,就必須解決進(jìn)位傳遞的問題。方法是讓各級進(jìn)位信號同時形成,而不是串行形成。,這種同時形成各位進(jìn)位的方法稱為并行進(jìn)位或先行進(jìn)位,又稱為同時進(jìn)位。,雖然并行進(jìn)位加法器的運(yùn)算速度快,但這是以增加硬件邏輯線路為代價的。兩種常用的分組進(jìn)位結(jié)構(gòu)是:,組內(nèi)并行、組間串行的進(jìn)位鏈。組內(nèi)并行、組間并行的進(jìn)位鏈。,.,4ALU舉例,SN74181框圖,(1)SN74181外特性,.,SN74181的一位單元,(2)SN74181內(nèi)部結(jié)構(gòu),表3-1一位ALU單元的輸入選擇邏輯,.,(3)SN74181功能表,.,(4)用SN74181構(gòu)成16位并行進(jìn)位ALU,.,3.2.2定點(diǎn)數(shù)運(yùn)算方法,數(shù)值運(yùn)算的核心是指加、減、乘、除四則算術(shù)。由于計(jì)算機(jī)中的數(shù)有定點(diǎn)和浮點(diǎn)兩種表示形式,因此相應(yīng)有定點(diǎn)數(shù)的運(yùn)算和浮點(diǎn)數(shù)的運(yùn)算。,1定點(diǎn)加減運(yùn)算,(1)原碼加減運(yùn)算,例如,加法指令指示做(+A)+(-B),由于一個操作數(shù)為負(fù),實(shí)際操作是做減法(+A)-(+B),結(jié)果符號與絕對值大的符號相同。同理,在減法指令中指示做(+A)-(-B),實(shí)際操作是做加法(+A)+(+B),結(jié)果與被減數(shù)符號相同。,(2)補(bǔ)碼加減運(yùn)算,補(bǔ)碼加法運(yùn)算,X+Y=X+Y,補(bǔ)碼減法運(yùn)算,XY=X+(-Y)=X+-Y,機(jī)器負(fù)數(shù),.,補(bǔ)碼運(yùn)算規(guī)則根據(jù)以上討論,可將補(bǔ)碼加減規(guī)則歸納如下:參加運(yùn)算的操作數(shù)用補(bǔ)碼表示。符號位參加運(yùn)算。若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,則將減數(shù)連同符號位一起變反加1后再與被減數(shù)相加。運(yùn)算結(jié)果用補(bǔ)碼表示。,【例3-3】X=00110110,Y=11001101,求X+Y,X-Y。,.,(3)溢出判別,在什么情況下可能產(chǎn)生溢出?,例:設(shè)定點(diǎn)整數(shù)字長8位,補(bǔ)碼表示(最高位為符號位),表示范圍為-128127,運(yùn)算結(jié)果超出此范圍就發(fā)生溢出。,.,0001111100001101,(1)31+13=44,00101100,(2)-31+(-12)=-43,0011111101000010,(3)63+66=129,10000001,1100000110111110,(4)-63+(-66)=-129,01111111,正溢,負(fù)溢,1110000111110100,11010101,.,采用一個符號位判斷,溢出=S+AB,采用最高有效位的進(jìn)位判斷,溢出=C+C=CC,采用變形補(bǔ)碼判斷(雙符號位),用S、Sn分別表示結(jié)果最高符號位和第2符號位,溢出=SS,.,根據(jù)兩個符號位是否一致來判斷是否發(fā)生溢出,雙符號位的含義:00結(jié)果為正,無溢出01結(jié)果正溢出10結(jié)果負(fù)溢出11結(jié)果為負(fù),無溢出,.,2移位,移位操作按移位性質(zhì)可分為3種類型:邏輯移位、循環(huán)移位和算術(shù)移位。,移位示意圖,.,3定點(diǎn)數(shù)乘除運(yùn)算,(1)無符號整數(shù)一位乘法,計(jì)算機(jī)中的乘法運(yùn)算采用的方法是:將n位乘轉(zhuǎn)換為n次“累加與移位”,即每一步只求一位乘數(shù)所對應(yīng)的新部分積,并與原部分積作一次累加,然后右移一位。,.,右圖是無符號整數(shù)一位乘的算法流程圖。圖中使用了3個寄存器A、B和C。B用來存放被乘數(shù);C存放乘數(shù);A初值為0,然后存放部分積,最后存放乘積高位。由于乘數(shù)每乘一位該位代碼就不再使用,因此用A和C寄存器聯(lián)合右移以存放逐次增加的部分積,并且使每次操作依據(jù)的乘數(shù)位始終在C的最低位。乘法完成時,A與C存放的是最后乘積,其中C的內(nèi)容是乘積的低位部分。,.,實(shí)現(xiàn)無符號整數(shù)一位乘法的硬件原理框圖如下圖所示。,圖中,用進(jìn)位觸發(fā)器Ca保存每次累加暫時產(chǎn)生的進(jìn)位,它的初值為0。在被乘數(shù)送入B、乘數(shù)送入C,A和Ca被置0后,控制邏輯控制乘法進(jìn)入第1個節(jié)拍,這時由乘數(shù)位C0產(chǎn)生“加B/不加”(不加相當(dāng)于加0)信號,用以控制被乘數(shù)B是否與上次部分積相加產(chǎn)生本次部分積,然后Ca、A、C一起右移一位。重復(fù)n個節(jié)拍的操作后所得到的乘積存放在A和C中。,.,【例3-10】11011011的運(yùn)算過程如圖所示。,.,(2)無符號整數(shù)一位除法,在計(jì)算機(jī)中實(shí)現(xiàn)除法運(yùn)算,著重要解決如何判斷夠減與否的問題,可以用以下兩種辦法:用邏輯線路進(jìn)行比較判別。將被除數(shù)或余數(shù)減去除數(shù),如果夠減就執(zhí)行一次減法并商1,然后余數(shù)左移一位;如果不夠減就商0,同時余數(shù)左移一位。這種方法的缺點(diǎn)是增加硬件代價。直接做減法試探,不論是否夠減,都將被除數(shù)或余數(shù)減去除數(shù)。若所得余數(shù)符號位為0(即正數(shù))表明夠減,上商1;若余數(shù)符號位為1(即負(fù)數(shù))表明不夠減,由于已做了減法,因此上商0并加上除數(shù)(即恢復(fù)余數(shù));然后余數(shù)左移一位再做下一步。這就是恢復(fù)余數(shù)法。,.,通過分析恢復(fù)余數(shù)法可以發(fā)現(xiàn):當(dāng)余數(shù)A為正時,上商1,下一步A左移一位再減除數(shù)B,相當(dāng)于執(zhí)行2A-B的運(yùn)算;若余數(shù)A為負(fù),上商0,并加除數(shù)以恢復(fù)余數(shù)即A+B,下一步左移一位減去除數(shù)B,這實(shí)際相當(dāng)于執(zhí)行2(A+B)-B=2A+B故在出現(xiàn)不夠減時,并不需要恢復(fù)余數(shù),只是下一步要進(jìn)行2A+B的操作,因此稱為不恢復(fù)余數(shù)法或加減交替法。其算法流程如右圖所示。圖中使用3個寄存器A、B和C。運(yùn)算開始時,n位除數(shù)存放在B中,2n位被除數(shù)存放在A和C寄存器中。除法完成后商放在C寄存器中,余數(shù)放在A寄存器中。從圖中可以看出,在重復(fù)n-1次操作后,如果A中的余數(shù)為負(fù),需要恢復(fù)余數(shù)做A+B。這一步是必需的,因?yàn)樽詈蟮募拇嫫鰽中應(yīng)獲得正確的正余數(shù)。,.,【例3-11】用不恢復(fù)余數(shù)法計(jì)算000010000011。,.,3.2.3浮點(diǎn)數(shù)運(yùn)算方法,1浮點(diǎn)數(shù)加減運(yùn)算,設(shè)有兩個浮點(diǎn)數(shù):X=Mx,Y=My。要實(shí)現(xiàn)X+Y的運(yùn)算,需要以下4個步驟才能完成。,對階操作對階的規(guī)則是:階碼小的數(shù)向階碼大的數(shù)對齊,實(shí)現(xiàn)尾數(shù)的加(減)運(yùn)算,結(jié)果規(guī)格化和判溢出,a左規(guī),b右規(guī),若運(yùn)算結(jié)果是非規(guī)格化的數(shù),例如尾數(shù)是11.1xx或00.0 xx形式,就需要將尾數(shù)左移,每左移一位,階碼減1,直至滿足規(guī)格化條件為止(即尾數(shù)最高有效位的真值為1,或尾數(shù)符與最高有效位不等),這個過程稱為左規(guī)。在左規(guī)的同時應(yīng)判斷結(jié)果是否會下溢,即階碼小于所能表示的最小負(fù)數(shù)。,若運(yùn)算結(jié)果尾數(shù)發(fā)生溢出,例如尾數(shù)為10.xxx或01.x
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 目視化管理與產(chǎn)品開發(fā)考核試卷
- 銻冶煉生產(chǎn)數(shù)據(jù)分析與應(yīng)用技巧考核試卷
- 管道工程法律法規(guī)政策深度研究與探討考核試卷
- 鐵路軌道電路調(diào)試技術(shù)考核試卷
- 航空航天器材料與工藝考核試卷
- 新生兒黃疸檢測的臨床意義
- 肺部真菌感染診斷與治療進(jìn)展
- 轉(zhuǎn)運(yùn)呼吸機(jī)操作規(guī)范
- 防呼吸道傳染病科普講座
- 視網(wǎng)膜動脈阻塞性疾病
- 學(xué)生托管班管理制度
- 統(tǒng)編版小學(xué)語文小升初專題訓(xùn)練:根據(jù)課文內(nèi)容填空(含答案)
- (2025)入黨積極分子培訓(xùn)考試試題及答案
- 2025年計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)考試試卷及答案
- 2025年天津市河西區(qū)中考二模語文試題
- 教育事業(yè)十五五(2026-2030)發(fā)展規(guī)劃
- 2025年中醫(yī)基礎(chǔ)理論考試試題及答案
- 2025中國鐵路濟(jì)南局集團(tuán)限公司招聘116人(七)易考易錯模擬試題(共500題)試卷后附參考答案-1
- 酒店入股合同協(xié)議書范本
- 河南省南陽市2025年七年級英語第二學(xué)期期末學(xué)業(yè)水平測試模擬試題含答案
- T/CNESA 1003-2020電力儲能系統(tǒng)用電池連接電纜
評論
0/150
提交評論