




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第第2 2篇篇 計(jì)算機(jī)系統(tǒng)分層結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)分層結(jié)構(gòu) 在本篇用在本篇用3章分三個(gè)層次,即微體系結(jié)構(gòu)層、指章分三個(gè)層次,即微體系結(jié)構(gòu)層、指令系統(tǒng)層和匯編語(yǔ)言層討論計(jì)算機(jī)系統(tǒng)的組成。令系統(tǒng)層和匯編語(yǔ)言層討論計(jì)算機(jī)系統(tǒng)的組成。 微體系結(jié)構(gòu)層是具體的硬件層次,可看作是指令系微體系結(jié)構(gòu)層是具體的硬件層次,可看作是指令系統(tǒng)的解釋器。統(tǒng)的解釋器。 指令系統(tǒng)層是一個(gè)抽象的層次,其指令系統(tǒng)是一種指令系統(tǒng)層是一個(gè)抽象的層次,其指令系統(tǒng)是一種硬件和編譯器都可識(shí)別的機(jī)器語(yǔ)言。硬件和編譯器都可識(shí)別的機(jī)器語(yǔ)言。 匯編語(yǔ)言層提供的語(yǔ)言,是將機(jī)器語(yǔ)言匯編語(yǔ)言層提供的語(yǔ)言,是將機(jī)器語(yǔ)言“符號(hào)化符號(hào)化”以便于人們理解。以便于人
2、們理解。 用匯編語(yǔ)言編寫(xiě)的程序先由匯編器翻譯成機(jī)器語(yǔ)用匯編語(yǔ)言編寫(xiě)的程序先由匯編器翻譯成機(jī)器語(yǔ)言程序,再由微體系結(jié)構(gòu)層解釋執(zhí)行。言程序,再由微體系結(jié)構(gòu)層解釋執(zhí)行。2第第3 3章章 微體系結(jié)構(gòu)層微體系結(jié)構(gòu)層CPU CPU 組織組織 在微體系結(jié)構(gòu)層在微體系結(jié)構(gòu)層 ,是從寄存器級(jí)分析是從寄存器級(jí)分析CPU的的結(jié)構(gòu)和功能。本章主要內(nèi)容:結(jié)構(gòu)和功能。本章主要內(nèi)容:3.1 CPU的基本組成和功能的基本組成和功能3.2 算術(shù)邏輯部件算術(shù)邏輯部件ALU和運(yùn)算方法和運(yùn)算方法3.3 CPU模型機(jī)的組成及其數(shù)據(jù)通路模型機(jī)的組成及其數(shù)據(jù)通路3.4 組合邏輯控制器原理組合邏輯控制器原理3.5 微程序控制器原理微程序控制
3、器原理3.6 精簡(jiǎn)指令集計(jì)算機(jī)(精簡(jiǎn)指令集計(jì)算機(jī)(RISC)3 中央處理器中央處理器CPU的主要功能是從主存儲(chǔ)器中取的主要功能是從主存儲(chǔ)器中取出指令、分析指令和執(zhí)行指令,即按指令控制計(jì)算出指令、分析指令和執(zhí)行指令,即按指令控制計(jì)算機(jī)各部件操作,并對(duì)數(shù)據(jù)進(jìn)行處理。機(jī)各部件操作,并對(duì)數(shù)據(jù)進(jìn)行處理。 3.1 CPU3.1 CPU的組成和功能的組成和功能第第3 3章章 微體系結(jié)構(gòu)層微體系結(jié)構(gòu)層CPU CPU 組織組織43.1.1 CPU3.1.1 CPU的組成的組成CPUCPU通常由以下幾部分構(gòu)成通常由以下幾部分構(gòu)成: 控制器控制器 ; 算術(shù)邏輯部件算術(shù)邏輯部件ALU;ALU; 各種寄存器各種寄存器;
4、 ; CPUCPU內(nèi)部總線。內(nèi)部總線。CPU的基本組成框圖 51 1ALUALU部件與寄存器部件與寄存器ALU框圖 (1 1)ALUALU部件部件 ALU ALU的功能是實(shí)現(xiàn)數(shù)據(jù)的的功能是實(shí)現(xiàn)數(shù)據(jù)的算算術(shù)與邏輯運(yùn)算術(shù)與邏輯運(yùn)算。 ALU ALU的輸入有兩個(gè)端口,分別接收參加運(yùn)算的兩個(gè)操的輸入有兩個(gè)端口,分別接收參加運(yùn)算的兩個(gè)操作數(shù),通常它們來(lái)自作數(shù),通常它們來(lái)自CPUCPU中的通用寄存器或中的通用寄存器或ALUALU總線。總線。ALUALU的輸?shù)妮敵鋈Q于對(duì)其功能的控制,當(dāng)控制功能選擇加、減、與、或出取決于對(duì)其功能的控制,當(dāng)控制功能選擇加、減、與、或等運(yùn)算功能之一時(shí),其輸出結(jié)果將為對(duì)應(yīng)的和、差
5、、與值、等運(yùn)算功能之一時(shí),其輸出結(jié)果將為對(duì)應(yīng)的和、差、與值、或值等?;蛑档取?(2 2)寄存器)寄存器 CPU CPU 中的寄存器包括存放中的寄存器包括存放控制信息控制信息的寄存器,如的寄存器,如指令寄存指令寄存器器、程序計(jì)數(shù)器程序計(jì)數(shù)器和和狀態(tài)字寄存器狀態(tài)字寄存器;以及存放所;以及存放所處理數(shù)據(jù)處理數(shù)據(jù)的寄的寄存器,如存器,如通用寄存器通用寄存器和和暫存器暫存器。 寄存器寄存器 通常通常CPUCPU內(nèi)部設(shè)置有一組寄存器,每個(gè)寄存器都可以承擔(dān)多種內(nèi)部設(shè)置有一組寄存器,每個(gè)寄存器都可以承擔(dān)多種用途,因此習(xí)慣上稱為通用寄存器。用途,因此習(xí)慣上稱為通用寄存器。 通用寄存器本身在邏輯上只具有接收信息、
6、存儲(chǔ)信息和發(fā)送信通用寄存器本身在邏輯上只具有接收信息、存儲(chǔ)信息和發(fā)送信息的功能。但通過(guò)編程以及與息的功能。但通過(guò)編程以及與ALUALU的配合可以實(shí)現(xiàn)多種功能,如它的配合可以實(shí)現(xiàn)多種功能,如它們可為們可為ALUALU提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址寄存器、地提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址寄存器、地址指針和計(jì)數(shù)器等。址指針和計(jì)數(shù)器等。 器 在在CPUCPU中一般要設(shè)置暫存器,主要是為了暫存從主存儲(chǔ)器讀中一般要設(shè)置暫存器,主要是為了暫存從主存儲(chǔ)器讀出的數(shù)據(jù)出的數(shù)據(jù) ,暫存器沒(méi)有寄存器號(hào),因此不能直接編程訪問(wèn)它們。暫存器沒(méi)有寄存器號(hào),因此不能直接編程訪問(wèn)它們。 7 寄存器寄存器IRIR(
7、I Instruction nstruction R Registeregister) 用來(lái)存放當(dāng)前正在執(zhí)行的一條指令。用來(lái)存放當(dāng)前正在執(zhí)行的一條指令。 指令可劃分為指令可劃分為操作碼操作碼和和地址碼地址碼字段,由二進(jìn)制代碼組成。執(zhí)字段,由二進(jìn)制代碼組成。執(zhí)行指令時(shí)必須對(duì)操作碼進(jìn)行譯碼,以識(shí)別出所要求的操作,這個(gè)功行指令時(shí)必須對(duì)操作碼進(jìn)行譯碼,以識(shí)別出所要求的操作,這個(gè)功能由能由“指令譯碼器指令譯碼器”完成。完成。 計(jì)數(shù)器計(jì)數(shù)器PCPC(P Program rogram C Counterounter) 用以存放當(dāng)前或下一條用以存放當(dāng)前或下一條指令指令在主存中的在主存中的地址地址,因此又稱為指
8、,因此又稱為指令計(jì)數(shù)器或指令指針令計(jì)數(shù)器或指令指針I(yè)PIP(Instruction PointerInstruction Pointer)。)。 寄存器寄存器 CPU CPU內(nèi)部設(shè)置的狀態(tài)寄存器,用來(lái)存放當(dāng)前程序的內(nèi)部設(shè)置的狀態(tài)寄存器,用來(lái)存放當(dāng)前程序的運(yùn)行狀態(tài)運(yùn)行狀態(tài)和和工作方式工作方式,其內(nèi)容稱為程序狀態(tài)字,其內(nèi)容稱為程序狀態(tài)字PSWPSW(Program State WordProgram State Word),),PSWPSW是參與控制程序執(zhí)行的重要依據(jù)。是參與控制程序執(zhí)行的重要依據(jù)。 82 2總線總線 所謂總線是一組能為多個(gè)部件所謂總線是一組能為多個(gè)部件分時(shí)共享分時(shí)共享的公共信息傳
9、送線路,的公共信息傳送線路,它分時(shí)接收各部件送來(lái)的信息,并發(fā)送信息到有關(guān)部件。它分時(shí)接收各部件送來(lái)的信息,并發(fā)送信息到有關(guān)部件。 由于多個(gè)部件連接在一組公共總線上,可能會(huì)出現(xiàn)多個(gè)部件由于多個(gè)部件連接在一組公共總線上,可能會(huì)出現(xiàn)多個(gè)部件爭(zhēng)爭(zhēng)用用總線,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問(wèn)題??偩€,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問(wèn)題。 CPUCPU內(nèi)部總線內(nèi)部總線用來(lái)連接用來(lái)連接CPUCPU內(nèi)的各寄存器與內(nèi)的各寄存器與ALUALU ;總線分類:系統(tǒng)總線系統(tǒng)總線用來(lái)連接用來(lái)連接CPUCPU、主存儲(chǔ)器與、主存儲(chǔ)器與I/OI/O接口,它通常包括三接口,它通常包括三組:組:數(shù)據(jù)數(shù)據(jù)總
10、線、總線、地址地址總線和總線和控制控制總線。總線。按總線傳送的方向可將總線分為按總線傳送的方向可將總線分為單向單向總線和總線和雙向雙向總線??偩€。93 3CPUCPU內(nèi)部數(shù)據(jù)通路內(nèi)部數(shù)據(jù)通路 CPU CPU內(nèi)部寄存器及內(nèi)部寄存器及ALUALU之間通常用總線方式傳送數(shù)據(jù)信息。之間通常用總線方式傳送數(shù)據(jù)信息。介紹介紹兩種常見(jiàn)的結(jié)構(gòu)。兩種常見(jiàn)的結(jié)構(gòu)。 (1 1)單總線單總線數(shù)據(jù)通路結(jié)構(gòu)數(shù)據(jù)通路結(jié)構(gòu)采用單總線結(jié)構(gòu)的采用單總線結(jié)構(gòu)的CPUCPU數(shù)據(jù)通路數(shù)據(jù)通路 10 CPU CPU數(shù)據(jù)通路結(jié)構(gòu)只采用數(shù)據(jù)通路結(jié)構(gòu)只采用一組內(nèi)總線一組內(nèi)總線,它是,它是雙向雙向總線。通用總線。通用寄存器組、其他寄存器和寄存器
11、組、其他寄存器和ALUALU均連在這組內(nèi)總線上。均連在這組內(nèi)總線上。 CPU CPU內(nèi)各寄存器間的數(shù)據(jù)傳送必須通過(guò)內(nèi)總線進(jìn)行,內(nèi)各寄存器間的數(shù)據(jù)傳送必須通過(guò)內(nèi)總線進(jìn)行,ALUALU通過(guò)內(nèi)通過(guò)內(nèi)總線得到操作數(shù),其運(yùn)算結(jié)果也經(jīng)內(nèi)總線輸出??偩€得到操作數(shù),其運(yùn)算結(jié)果也經(jīng)內(nèi)總線輸出。 (2 2)多組內(nèi)總線結(jié)構(gòu))多組內(nèi)總線結(jié)構(gòu)采用三總線結(jié)構(gòu)的采用三總線結(jié)構(gòu)的CPUCPU數(shù)據(jù)通路數(shù)據(jù)通路 為了提高為了提高CPUCPU的工作速度,一種方法是在的工作速度,一種方法是在CPUCPU內(nèi)部設(shè)置多組內(nèi)總內(nèi)部設(shè)置多組內(nèi)總線,使幾個(gè)數(shù)據(jù)傳送操作能夠同時(shí)進(jìn)行,即實(shí)現(xiàn)部分并行操作。線,使幾個(gè)數(shù)據(jù)傳送操作能夠同時(shí)進(jìn)行,即實(shí)現(xiàn)部
12、分并行操作。113.1.2 3.1.2 指令執(zhí)行過(guò)程指令執(zhí)行過(guò)程 CPU CPU的主要功能就是的主要功能就是執(zhí)行存放在存儲(chǔ)器中的指令序列執(zhí)行存放在存儲(chǔ)器中的指令序列,即,即程序。程序。1 1指令的分段執(zhí)行過(guò)程指令的分段執(zhí)行過(guò)程 任何一條指令的執(zhí)行都要經(jīng)過(guò)任何一條指令的執(zhí)行都要經(jīng)過(guò)讀取讀取指令、指令、分析分析指令和指令和執(zhí)行執(zhí)行指指令令3 3個(gè)階段。個(gè)階段。 執(zhí)行階段還可細(xì)分執(zhí)行階段還可細(xì)分為:(1 1)取指令)取指令(2 2)分析指令)分析指令(3 3)執(zhí)行指令)執(zhí)行指令 取操作數(shù)取操作數(shù) 執(zhí)行操作執(zhí)行操作 形成下一條指令地址形成下一條指令地址 此外,此外,CPUCPU還應(yīng)該對(duì)運(yùn)行過(guò)程中出現(xiàn)的
13、某些還應(yīng)該對(duì)運(yùn)行過(guò)程中出現(xiàn)的某些異常情況異常情況或或輸入輸入/ /輸出請(qǐng)求輸出請(qǐng)求進(jìn)行處理進(jìn)行處理 122 2指令之間的銜接方式指令之間的銜接方式 指令之間的銜接方式有兩種:指令之間的銜接方式有兩種:串行串行的順序安排方式與的順序安排方式與并行并行的的重疊處理方式。重疊處理方式。 3.1.3 3.1.3 時(shí)序控制方式時(shí)序控制方式 執(zhí)行一條指令的過(guò)程可分為幾個(gè)階段,而每一階段又分為若干執(zhí)行一條指令的過(guò)程可分為幾個(gè)階段,而每一階段又分為若干步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號(hào)實(shí)現(xiàn)。步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號(hào)實(shí)現(xiàn)。因此,每條指令都可分解為一個(gè)控制信號(hào)序列
14、,指令的執(zhí)行過(guò)程就因此,每條指令都可分解為一個(gè)控制信號(hào)序列,指令的執(zhí)行過(guò)程就是依次執(zhí)行一個(gè)確定的是依次執(zhí)行一個(gè)確定的控制信號(hào)序列控制信號(hào)序列的過(guò)程。的過(guò)程。 時(shí)序控制方式時(shí)序控制方式就是指微操作與時(shí)序信號(hào)之間采取何種關(guān)系,就是指微操作與時(shí)序信號(hào)之間采取何種關(guān)系,它不僅直接決定時(shí)序信號(hào)的產(chǎn)生,也影響到控制器及其他部件的組它不僅直接決定時(shí)序信號(hào)的產(chǎn)生,也影響到控制器及其他部件的組成,以及指令的執(zhí)行速度。成,以及指令的執(zhí)行速度。 131 1同步控制方式同步控制方式 同步控制方式是指各項(xiàng)操作由同步控制方式是指各項(xiàng)操作由統(tǒng)一統(tǒng)一的時(shí)序信號(hào)進(jìn)行同步控制。的時(shí)序信號(hào)進(jìn)行同步控制。 同步控制的基本特征是將操作
15、時(shí)間分為若干長(zhǎng)度相同的同步控制的基本特征是將操作時(shí)間分為若干長(zhǎng)度相同的時(shí)鐘時(shí)鐘周期周期(也稱為節(jié)拍),要求在一個(gè)或幾個(gè)時(shí)鐘周期內(nèi)完成各個(gè)(也稱為節(jié)拍),要求在一個(gè)或幾個(gè)時(shí)鐘周期內(nèi)完成各個(gè)微微操作操作。在在CPUCPU內(nèi)部通常是采用同步控制方式內(nèi)部通常是采用同步控制方式 。 同步控制方式的優(yōu)點(diǎn)是時(shí)序關(guān)系簡(jiǎn)單,結(jié)構(gòu)上易于集中,相應(yīng)同步控制方式的優(yōu)點(diǎn)是時(shí)序關(guān)系簡(jiǎn)單,結(jié)構(gòu)上易于集中,相應(yīng)的設(shè)計(jì)和實(shí)現(xiàn)比較方便。的設(shè)計(jì)和實(shí)現(xiàn)比較方便。2 2同步控制方式的多級(jí)時(shí)序系統(tǒng)同步控制方式的多級(jí)時(shí)序系統(tǒng)(1 1)多級(jí)時(shí)序的概念)多級(jí)時(shí)序的概念 在同步控制方式中,通常將時(shí)序信號(hào)劃分為幾級(jí)(其中包括指在同步控制方式中,通
16、常將時(shí)序信號(hào)劃分為幾級(jí)(其中包括指令周期),稱為多級(jí)時(shí)序。令周期),稱為多級(jí)時(shí)序。 機(jī)器周期機(jī)器周期 節(jié)拍(時(shí)鐘周期)節(jié)拍(時(shí)鐘周期) 時(shí)鐘脈沖信號(hào)時(shí)鐘脈沖信號(hào)14(2 2)多級(jí)時(shí)序信號(hào)之間的關(guān)系)多級(jí)時(shí)序信號(hào)之間的關(guān)系三級(jí)時(shí)序信號(hào)之間的關(guān)系三級(jí)時(shí)序信號(hào)之間的關(guān)系 15(3 3)時(shí)序系統(tǒng)的組成)時(shí)序系統(tǒng)的組成時(shí)序系統(tǒng)框圖時(shí)序系統(tǒng)框圖 3.1.4 3.1.4 指令流水線指令流水線 兩段指令流水線兩段指令流水線 16為獲得進(jìn)一步的加速,流水線可以分成更多的階段。為獲得進(jìn)一步的加速,流水線可以分成更多的階段。 取指令取指令計(jì)算操作數(shù)地計(jì)算操作數(shù)地址址譯碼指令譯碼指令寫(xiě)操作數(shù)寫(xiě)操作數(shù)取操作數(shù)取操作數(shù)執(zhí)
17、行指令執(zhí)行指令指令流水線操作時(shí)序圖指令流水線操作時(shí)序圖 173.2 3.2 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU和運(yùn)算方法和運(yùn)算方法 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU主要完成對(duì)二進(jìn)制代碼的定點(diǎn)主要完成對(duì)二進(jìn)制代碼的定點(diǎn)算術(shù)運(yùn)算算術(shù)運(yùn)算和和邏輯運(yùn)算邏輯運(yùn)算。 3.2.1 3.2.1 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU算術(shù)邏輯部件算術(shù)邏輯部件ALUALU的硬件實(shí)現(xiàn)涉及三個(gè)問(wèn)題:的硬件實(shí)現(xiàn)涉及三個(gè)問(wèn)題:(1 1)如何構(gòu)成一位二進(jìn)制加法單元,即全加器。)如何構(gòu)成一位二進(jìn)制加法單元,即全加器。(2 2)n n位全加器連同進(jìn)位信號(hào)傳送邏輯,構(gòu)成一個(gè)位全加器連同進(jìn)位信號(hào)傳送邏輯,構(gòu)成一個(gè)n n位并行加
18、法器。位并行加法器。(3 3)以加法器為核心,通過(guò)輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏)以加法器為核心,通過(guò)輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏輯運(yùn)算功能的輯運(yùn)算功能的ALUALU。181 1全加器全加器 用半加器構(gòu)成的全加器用半加器構(gòu)成的全加器 iiiiCBAiiiiiiC)BA(BAC1和和進(jìn)位進(jìn)位目前,廣泛采用半加器構(gòu)成全加器。目前,廣泛采用半加器構(gòu)成全加器。 192 2并行加法器與進(jìn)位鏈結(jié)構(gòu)并行加法器與進(jìn)位鏈結(jié)構(gòu) 用用n n位全加器實(shí)現(xiàn)兩個(gè)位全加器實(shí)現(xiàn)兩個(gè)n n位操作數(shù)各位同時(shí)相加,這種加法器稱位操作數(shù)各位同時(shí)相加,這種加法器稱為并行加法器。并行加法器中全加器的位數(shù)與操作數(shù)的位數(shù)相同。為并
19、行加法器。并行加法器中全加器的位數(shù)與操作數(shù)的位數(shù)相同。(1 1)基本進(jìn)位公式)基本進(jìn)位公式設(shè)相加的兩個(gè)設(shè)相加的兩個(gè)n n位操作數(shù)為位操作數(shù)為: :021AAAAAinn021BBBBinnBiiiiii)CB(ABAC1進(jìn)位信號(hào)的邏輯式 可以看出可以看出C C 由兩部分組成:由兩部分組成: 1iiiiii)CB(ABA與我們定義兩個(gè)輔助函數(shù):我們定義兩個(gè)輔助函數(shù): iiiBAG iiiBAP進(jìn)位產(chǎn)進(jìn)位產(chǎn)生函數(shù)生函數(shù)進(jìn)位傳進(jìn)位傳遞函數(shù)遞函數(shù)因此有:因此有:iiiiCPGC120(2 2)并行加法器的串行進(jìn)位)并行加法器的串行進(jìn)位 采用串行進(jìn)位的并行加法器,是將采用串行進(jìn)位的并行加法器,是將n n
20、個(gè)全加器串接起來(lái),就可個(gè)全加器串接起來(lái),就可進(jìn)行兩個(gè)進(jìn)行兩個(gè)n n位數(shù)相加。位數(shù)相加。 11111111111111112000000001)CB(ABACPGC)CB(ABACPGC)CB(ABACPGCnnnnnnnnn 由于串行進(jìn)位的延遲時(shí)間較長(zhǎng),所以在由于串行進(jìn)位的延遲時(shí)間較長(zhǎng),所以在ALUALU中很少采用純串行中很少采用純串行進(jìn)位的方式。但這種方式可節(jié)省器件,成本低,在分組進(jìn)位方式中進(jìn)位的方式。但這種方式可節(jié)省器件,成本低,在分組進(jìn)位方式中局部采用有時(shí)也是可取的。局部采用有時(shí)也是可取的。 213 3并行進(jìn)位(先行進(jìn)位、同時(shí)進(jìn)位)并行進(jìn)位(先行進(jìn)位、同時(shí)進(jìn)位) 為了提高并行加法器的運(yùn)算
21、速度,就必須解決進(jìn)位傳遞的問(wèn)題。為了提高并行加法器的運(yùn)算速度,就必須解決進(jìn)位傳遞的問(wèn)題。方法是讓各級(jí)進(jìn)位信號(hào)同時(shí)形成,而不是串行形成。方法是讓各級(jí)進(jìn)位信號(hào)同時(shí)形成,而不是串行形成。00123012312323333340012012122222300101111120001CPPPPGPPPGPPGPGCPGCCPPPGPPGPGCPGCCPPGPGCPGCCPGC 這種同時(shí)形成各位進(jìn)位的方法稱為這種同時(shí)形成各位進(jìn)位的方法稱為并行進(jìn)位并行進(jìn)位或或先行進(jìn)位先行進(jìn)位,又稱為又稱為同時(shí)進(jìn)位同時(shí)進(jìn)位。 雖然并行進(jìn)位加法器的運(yùn)算速度快,但這是以增加硬件邏輯線雖然并行進(jìn)位加法器的運(yùn)算速度快,但這是以增加硬
22、件邏輯線路為代價(jià)的。兩種常用的路為代價(jià)的。兩種常用的分組進(jìn)位分組進(jìn)位結(jié)構(gòu)是:兩種常用的分組進(jìn)位結(jié)構(gòu)是:兩種常用的分組進(jìn)位結(jié)構(gòu)是:結(jié)構(gòu)是: 組內(nèi)并行、組間串行的進(jìn)位鏈。組內(nèi)并行、組間串行的進(jìn)位鏈。組內(nèi)并行、組間并行的進(jìn)位鏈。組內(nèi)并行、組間并行的進(jìn)位鏈。224 4ALUALU舉例舉例SN74181SN74181框圖框圖 一位一位ALUALU單元單元 233.2.2 3.2.2 定點(diǎn)數(shù)運(yùn)算方法定點(diǎn)數(shù)運(yùn)算方法 數(shù)值運(yùn)算的核心是指加、減、乘、除四則算術(shù)。由于計(jì)算機(jī)中數(shù)值運(yùn)算的核心是指加、減、乘、除四則算術(shù)。由于計(jì)算機(jī)中的數(shù)有定點(diǎn)和浮點(diǎn)兩種表示形式,因此相應(yīng)有的數(shù)有定點(diǎn)和浮點(diǎn)兩種表示形式,因此相應(yīng)有定點(diǎn)數(shù)
23、定點(diǎn)數(shù)的運(yùn)算和的運(yùn)算和浮浮點(diǎn)數(shù)點(diǎn)數(shù)的運(yùn)算。的運(yùn)算。1 1定點(diǎn)加減運(yùn)算定點(diǎn)加減運(yùn)算(1 1)原碼加減運(yùn)算)原碼加減運(yùn)算 例如,加法指令指示做(例如,加法指令指示做(+A+A)+ +(-B-B),由于一個(gè)操作數(shù)為負(fù),),由于一個(gè)操作數(shù)為負(fù),實(shí)際操作是做減法(實(shí)際操作是做減法(+A+A)- -(+B+B),結(jié)果符號(hào)與絕對(duì)值大的符號(hào)相),結(jié)果符號(hào)與絕對(duì)值大的符號(hào)相同。同理,在減法指令中指示做(同。同理,在減法指令中指示做(+A+A)- -(-B-B),實(shí)際操作是做加),實(shí)際操作是做加法(法(+A+A)+ +(+B+B),結(jié)果與被減數(shù)符號(hào)相同。),結(jié)果與被減數(shù)符號(hào)相同。 (2 2)補(bǔ)碼加減運(yùn)算)補(bǔ)碼加減
24、運(yùn)算 補(bǔ)碼加法運(yùn)算補(bǔ)碼加法運(yùn)算 X X + +Y Y = =X X + +Y Y 補(bǔ)補(bǔ)補(bǔ) 補(bǔ)碼減法運(yùn)算補(bǔ)碼減法運(yùn)算 X XY Y = =X X +(-+(-Y Y ) =) =X X +- +-Y Y 補(bǔ)補(bǔ)補(bǔ)補(bǔ)24 補(bǔ)碼運(yùn)算規(guī)則補(bǔ)碼運(yùn)算規(guī)則 根據(jù)以上討論,可將補(bǔ)碼加減規(guī)則歸納根據(jù)以上討論,可將補(bǔ)碼加減規(guī)則歸納如下:如下: 參加運(yùn)算的操作數(shù)用補(bǔ)碼表示。參加運(yùn)算的操作數(shù)用補(bǔ)碼表示。 符號(hào)位參加運(yùn)算。符號(hào)位參加運(yùn)算。 若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,則將減數(shù)連同符號(hào)位一起變反加則將減數(shù)連同符號(hào)位一起變反加1 1后再與被減數(shù)相加。后再與被
25、減數(shù)相加。 運(yùn)算結(jié)果用補(bǔ)碼表示。運(yùn)算結(jié)果用補(bǔ)碼表示?!纠纠?-33-3】 X X = 00110110 = 00110110, Y Y =11001101 =11001101,求,求 X X+ +Y Y , X X- -Y Y 。補(bǔ)補(bǔ)補(bǔ)補(bǔ)25(3 3)溢出判別)溢出判別在什么情況下可能產(chǎn)生溢出在什么情況下可能產(chǎn)生溢出?例例.A.A有有4 4位尾數(shù),位尾數(shù),1 1位符號(hào)位符號(hào)S Sn n 數(shù)數(shù)B B有有4 4位尾數(shù),位尾數(shù),1 1位符號(hào)位符號(hào)S Sn n符號(hào)位參符號(hào)位參加運(yùn)算加運(yùn)算結(jié)果符號(hào)結(jié)果符號(hào)S Sn n符號(hào)位進(jìn)位符號(hào)位進(jìn)位C Cn n尾數(shù)最高位進(jìn)位尾數(shù)最高位進(jìn)位Cn-1Cn-1260 0
26、0111110 0001101(1)A=31 B=13 31+13:0 0101100 1 11000011 1110100(2)A=-31 B=-13 -31-13:1 1010101 0 11111110 1000001(3)A=63 B=66 63+66:1 0000001 1 10000011 0111110(4)A=-63 B=-66 -63-66:0 1111111 正溢正溢負(fù)溢負(fù)溢27 采用一個(gè)符號(hào)位判斷采用一個(gè)符號(hào)位判斷溢出溢出= S +A B = S +A B nAnBnSnnn 采用最高有效位的進(jìn)位判斷采用最高有效位的進(jìn)位判斷溢出溢出= C +C =C C = C +C =
27、C C 1nnCn1Cnn1n 采用變形補(bǔ)碼判斷采用變形補(bǔ)碼判斷( (雙符號(hào)位雙符號(hào)位) )用用S S 、S Sn n分別表示結(jié)果最高符號(hào)位和第分別表示結(jié)果最高符號(hào)位和第2 2符號(hào)位符號(hào)位 1n溢出溢出=S S =S S 1nn282 2移位移位 移位操作按移位性質(zhì)可分為移位操作按移位性質(zhì)可分為3 3種類型:種類型:邏輯移位邏輯移位、循環(huán)移位循環(huán)移位和和算術(shù)移位算術(shù)移位。 移位示意圖移位示意圖 293 3定點(diǎn)數(shù)乘除運(yùn)算定點(diǎn)數(shù)乘除運(yùn)算(1 1)無(wú)符號(hào)整數(shù)一位乘)無(wú)符號(hào)整數(shù)一位乘法法【例【例3-103-10】 11011101 10111011的運(yùn)算過(guò)程如圖所示。的運(yùn)算過(guò)程如圖所示。30(2 2)
28、無(wú)符號(hào)整數(shù)一位除法)無(wú)符號(hào)整數(shù)一位除法【例【例3-113-11】 用不恢復(fù)余數(shù)法計(jì)算用不恢復(fù)余數(shù)法計(jì)算000010000000100000110011。解:解:A A、C C:0000100000001000;B B:00110011;:;:11011101。其。其運(yùn)算過(guò)程如圖:運(yùn)算過(guò)程如圖: 313.2.3 3.2.3 浮點(diǎn)數(shù)運(yùn)算方法浮點(diǎn)數(shù)運(yùn)算方法1 1浮點(diǎn)數(shù)加減運(yùn)算浮點(diǎn)數(shù)加減運(yùn)算 設(shè)有兩個(gè)浮點(diǎn)數(shù):設(shè)有兩個(gè)浮點(diǎn)數(shù):X X= =MxMx ,Y Y= =MyMy 。要實(shí)現(xiàn)。要實(shí)現(xiàn)X X + +Y Y的運(yùn)算,的運(yùn)算,需要以下需要以下4 4個(gè)步驟才能完成。個(gè)步驟才能完成。XE2YE2 對(duì)階操作對(duì)階操
29、作 對(duì)階的規(guī)則是對(duì)階的規(guī)則是:階碼小的數(shù)向階碼大的數(shù)對(duì)齊階碼小的數(shù)向階碼大的數(shù)對(duì)齊 實(shí)現(xiàn)尾數(shù)的加(減)運(yùn)算實(shí)現(xiàn)尾數(shù)的加(減)運(yùn)算 結(jié)果規(guī)格化和判溢出結(jié)果規(guī)格化和判溢出a左規(guī)左規(guī) b右規(guī)右規(guī) 若運(yùn)算結(jié)果是非規(guī)格化的數(shù),若運(yùn)算結(jié)果是非規(guī)格化的數(shù),例如尾數(shù)是例如尾數(shù)是11.1xx11.1xx或或00.0 xx00.0 xx形式,就需要將尾數(shù)形式,就需要將尾數(shù)左移,每左移一位,階碼減左移,每左移一位,階碼減1 1,直至滿足規(guī)格化條件為止(即直至滿足規(guī)格化條件為止(即尾數(shù)最高有效位的真值為尾數(shù)最高有效位的真值為1 1,或尾數(shù)符與最高有效位不等),或尾數(shù)符與最高有效位不等),這個(gè)過(guò)程稱為左規(guī)。在左規(guī)的這個(gè)
30、過(guò)程稱為左規(guī)。在左規(guī)的同時(shí)應(yīng)判斷結(jié)果是否會(huì)下溢,同時(shí)應(yīng)判斷結(jié)果是否會(huì)下溢,即階碼小于所能表示的最小負(fù)即階碼小于所能表示的最小負(fù)數(shù)。數(shù)。若運(yùn)算結(jié)果尾數(shù)發(fā)生溢出,例若運(yùn)算結(jié)果尾數(shù)發(fā)生溢出,例如尾數(shù)為如尾數(shù)為10.xxx10.xxx或或01.xxx01.xxx形式,這并不表明浮形式,這并不表明浮點(diǎn)結(jié)果會(huì)溢出,此時(shí)需調(diào)整階點(diǎn)結(jié)果會(huì)溢出,此時(shí)需調(diào)整階碼,將尾數(shù)右移一位,階碼加碼,將尾數(shù)右移一位,階碼加1 1,稱為右規(guī)。右規(guī)時(shí),應(yīng)判,稱為右規(guī)。右規(guī)時(shí),應(yīng)判斷結(jié)果是否會(huì)上溢,即階碼大斷結(jié)果是否會(huì)上溢,即階碼大于所能表示的最大正數(shù)。于所能表示的最大正數(shù)。 舍入操作舍入操作 32 下面舉一個(gè)浮點(diǎn)加的實(shí)例。下面舉
31、一個(gè)浮點(diǎn)加的實(shí)例。 【例【例3-123-12】 設(shè)有兩個(gè)浮點(diǎn)數(shù)設(shè)有兩個(gè)浮點(diǎn)數(shù)X X=2 =2 0.1101010.1101012 2,Y Y=2 =2 (-(-0.101011)0.101011)2 2。20102010階碼階碼 尾數(shù)尾數(shù) X X 浮浮=11,10=11,10; 00.11010100.110101 Y Y 浮浮=11,11=11,11; 11.01010111.010101 對(duì)階對(duì)階 E E = =EXEX +- +-EYEY =1110+0001=1111 =1110+0001=1111,即,即 E E =-1=-1,將將MXMX右移一位,右移一位,其階碼加其階碼加1 1,
32、得,得 補(bǔ)補(bǔ)補(bǔ) =11 =11,1111;00.01101100.011011(用(用0 0舍舍1 1入法)入法)浮X 尾數(shù)求和尾數(shù)求和 00.011011+ 11.010101 11.110000補(bǔ)XM補(bǔ)YM 規(guī)格化及判溢出規(guī)格化及判溢出 左規(guī)得X+Y浮浮=1110;11.10000 舍入舍入 由于是左規(guī),結(jié)果不需要舍入。由于是左規(guī),結(jié)果不需要舍入。最后運(yùn)算結(jié)果的真值為最后運(yùn)算結(jié)果的真值為X+Y=2 (-0.100000)2。2010332 2浮點(diǎn)數(shù)乘除運(yùn)算浮點(diǎn)數(shù)乘除運(yùn)算(1 1)浮點(diǎn)數(shù)乘法運(yùn)算)浮點(diǎn)數(shù)乘法運(yùn)算 階碼相加并判溢出階碼相加并判溢出 尾數(shù)相乘尾數(shù)相乘 規(guī)格化處理規(guī)格化處理 (2
33、2)浮點(diǎn)數(shù)除法運(yùn)算)浮點(diǎn)數(shù)除法運(yùn)算 求階差求階差 尾數(shù)相除尾數(shù)相除 預(yù)置預(yù)置 檢測(cè)被除數(shù)是否為檢測(cè)被除數(shù)是否為0 0,若為,若為0 0則置商為則置商為0 0。如果除數(shù)為。如果除數(shù)為0 0,則置則置0 0除數(shù)標(biāo)志,轉(zhuǎn)中斷處理。除數(shù)標(biāo)志,轉(zhuǎn)中斷處理。 尾數(shù)調(diào)整尾數(shù)調(diào)整 343.2.4 3.2.4 十進(jìn)制數(shù)加減運(yùn)算十進(jìn)制數(shù)加減運(yùn)算1 1進(jìn)制轉(zhuǎn)換進(jìn)制轉(zhuǎn)換2 2直接進(jìn)行十進(jìn)制數(shù)運(yùn)算直接進(jìn)行十進(jìn)制數(shù)運(yùn)算 機(jī)器內(nèi)部所處理的十進(jìn)制數(shù)采用二機(jī)器內(nèi)部所處理的十進(jìn)制數(shù)采用二- -十進(jìn)制數(shù)(十進(jìn)制數(shù)(BCDBCD碼)表碼)表示形式,其運(yùn)算由示形式,其運(yùn)算由BCDBCD碼運(yùn)算指令完成。目前,計(jì)算機(jī)實(shí)現(xiàn)碼運(yùn)算指令完成。目
34、前,計(jì)算機(jī)實(shí)現(xiàn)BCDBCD碼運(yùn)算的方法有兩種:碼運(yùn)算的方法有兩種: 機(jī)器的指令系統(tǒng)中設(shè)有專用進(jìn)行機(jī)器的指令系統(tǒng)中設(shè)有專用進(jìn)行BCDBCD碼加、減、乘、除的運(yùn)算指令。碼加、減、乘、除的運(yùn)算指令。 先用二進(jìn)制數(shù)的加、減、乘、除指令進(jìn)行運(yùn)算,緊接著用先用二進(jìn)制數(shù)的加、減、乘、除指令進(jìn)行運(yùn)算,緊接著用BCDBCD碼校正碼校正指令對(duì)運(yùn)算結(jié)果進(jìn)行校正。指令對(duì)運(yùn)算結(jié)果進(jìn)行校正。 3 3BCDBCD碼的加法運(yùn)算碼的加法運(yùn)算 在在BCDBCD碼中,每位十進(jìn)制數(shù)與小于或等于碼中,每位十進(jìn)制數(shù)與小于或等于9 9的二進(jìn)制數(shù)的二進(jìn)制數(shù)相同,但求得的和可能大于相同,但求得的和可能大于9 9,因而需要校正。,因而需要校正。
35、353.3 3.3 CPUCPU模型機(jī)的組成及其數(shù)據(jù)通路模型機(jī)的組成及其數(shù)據(jù)通路3.3.1 3.3.1 基本組成基本組成模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)圖模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)圖363.3.1 3.3.1 基本組成基本組成1 1寄存器寄存器(1 1)可編程寄存器)可編程寄存器 通用寄存器有通用寄存器有4 4個(gè):個(gè):R R0 0、R R1 1、R R2 2、R R3 3;堆棧指針為;堆棧指針為SPSP;程序狀態(tài)字寄存;程序狀態(tài)字寄存器為器為PSWPSW;程序計(jì)數(shù)器為;程序計(jì)數(shù)器為PCPC。(2 2)暫存器)暫存器暫存器有暫存器有3 3個(gè):個(gè):C C、D D、Z Z 。(3 3)指令寄存器)指令寄存器IRIR指令寄
36、存器指令寄存器IRIR用來(lái)存放當(dāng)前正在執(zhí)行的一條指令用來(lái)存放當(dāng)前正在執(zhí)行的一條指令。 (4 4)與主存接口的寄存器)與主存接口的寄存器MARMAR、MDRMDR CPU CPU對(duì)主存的控制信號(hào)有兩個(gè):讀信號(hào)對(duì)主存的控制信號(hào)有兩個(gè):讀信號(hào)RDRD控制對(duì)主存的讀操作;寫(xiě)信號(hào)控制對(duì)主存的讀操作;寫(xiě)信號(hào)WRWR控制對(duì)主存的寫(xiě)操作。控制對(duì)主存的寫(xiě)操作。372 2運(yùn)算部件運(yùn)算部件 ALU ALU的輸入的輸入A A來(lái)自暫存器來(lái)自暫存器D D,輸入,輸入B B來(lái)自來(lái)自ALUALU總線,運(yùn)算結(jié)果輸出總線,運(yùn)算結(jié)果輸出到到Z Z ??刂???刂艫LUALU運(yùn)算的控制信號(hào)有:運(yùn)算的控制信號(hào)有:ADDADD、SUBSU
37、B、ANDAND、OROR、XORXOR、COMCOM、NEGNEG、A+1A+1、A-1A-1、B+1B+1、B-1B-1,它們分別控制,它們分別控制ALUALU完成加、減、與、或、完成加、減、與、或、異或、求負(fù)、求反等運(yùn)算。異或、求負(fù)、求反等運(yùn)算。 3 3總線與數(shù)據(jù)通路結(jié)構(gòu)總線與數(shù)據(jù)通路結(jié)構(gòu)(1 1)ALU ALU 總線總線 CPU CPU內(nèi)部采用單總線結(jié)構(gòu),即設(shè)置一組內(nèi)部采用單總線結(jié)構(gòu),即設(shè)置一組ALUALU總線(也稱為總線(也稱為CPUCPU內(nèi)內(nèi)總線),由總線),由1616根雙向數(shù)據(jù)傳送線組成,根雙向數(shù)據(jù)傳送線組成,ALUALU和所有寄存器通過(guò)這組和所有寄存器通過(guò)這組公共總線連接起來(lái)。
38、公共總線連接起來(lái)。 (2 2)系統(tǒng)總線)系統(tǒng)總線 模型機(jī)的模型機(jī)的CPUCPU、存儲(chǔ)器及、存儲(chǔ)器及I/OI/O設(shè)備分別掛接在一組系統(tǒng)總線上。設(shè)備分別掛接在一組系統(tǒng)總線上。系統(tǒng)總線包括:系統(tǒng)總線包括:1616根地址總線、根地址總線、1616根數(shù)據(jù)總線,以及控制總線。為根數(shù)據(jù)總線,以及控制總線。為簡(jiǎn)單起見(jiàn),模型機(jī)采用簡(jiǎn)單起見(jiàn),模型機(jī)采用同步控制同步控制方式。方式。384 4控制器及微命令的基本形式控制器及微命令的基本形式(1 1)微命令的基本形式)微命令的基本形式 在模型機(jī)中,微命令有兩種形式。在模型機(jī)中,微命令有兩種形式。 電位型微命令電位型微命令 各寄存器輸出到各寄存器輸出到ALU總線的控制信
39、號(hào)有:總線的控制信號(hào)有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。等。 ALU運(yùn)算控制信號(hào)有:運(yùn)算控制信號(hào)有:ADD、SUB、AND、OR、XOR等。等。 暫存器暫存器D的左移的左移/右移控制信號(hào)有:右移控制信號(hào)有:SAL、SAR。 程序計(jì)數(shù)器程序計(jì)數(shù)器PC的計(jì)數(shù)控制信號(hào)有:的計(jì)數(shù)控制信號(hào)有:PC+1。 MAR和和MDR輸出到系統(tǒng)總線的控制信號(hào)有:輸出到系統(tǒng)總線的控制信號(hào)有:EMAR、EMDR。 寄存器置入控制信號(hào)有:寄存器置入控制信號(hào)有:SMDR、SPSW。 主存的讀主存的讀/寫(xiě)信號(hào)有:寫(xiě)信號(hào)有:RD、WR。 脈沖型微命令脈沖型微命令脈沖型微命令有:脈沖型微命令有:CP
40、R0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。等。39(2 2)控制器)控制器 傳統(tǒng)控制器的主要部件包括:傳統(tǒng)控制器的主要部件包括:指令寄存器指令寄存器IRIR、指令譯碼器指令譯碼器、程程序計(jì)數(shù)器序計(jì)數(shù)器PCPC、狀態(tài)字寄存器狀態(tài)字寄存器PSWPSW、時(shí)序系統(tǒng)和微操作信號(hào)發(fā)生器時(shí)序系統(tǒng)和微操作信號(hào)發(fā)生器。 403.3.2 3.3.2 數(shù)據(jù)傳送數(shù)據(jù)傳送1 1寄存器之間的數(shù)據(jù)傳送寄存器之間的數(shù)據(jù)傳送 在模型機(jī)中,寄存器之間可直接通過(guò)在模型機(jī)中,寄存器之間可直接通過(guò)ALUALU總線傳送數(shù)總線傳送數(shù)據(jù),具體傳送由據(jù),具體傳送由輸出門(mén)輸出門(mén)和和打入脈沖打入脈沖控制。控制。例如例
41、如 :把寄存器:把寄存器R1的內(nèi)容傳送到寄存器的內(nèi)容傳送到寄存器R3,即實(shí)現(xiàn)傳,即實(shí)現(xiàn)傳送操作送操作R1R3所需控制信號(hào)為所需控制信號(hào)為R1OUT、CPR3 412 2主存數(shù)據(jù)傳送到主存數(shù)據(jù)傳送到CPUCPU 主存與主存與CPUCPU之間通過(guò)之間通過(guò)系統(tǒng)總線系統(tǒng)總線傳送數(shù)據(jù)。傳送數(shù)據(jù)。 PCMAR PCMAR ;PCPC中的指令地址送存儲(chǔ)器地址寄存器中的指令地址送存儲(chǔ)器地址寄存器 MMDRIR MMDRIR ;從存儲(chǔ)器中讀指令到;從存儲(chǔ)器中讀指令到IRIR實(shí)現(xiàn)實(shí)現(xiàn)PCMAR的控制信號(hào):的控制信號(hào):PCOUT、CPMAR。 實(shí)現(xiàn)讀操作實(shí)現(xiàn)讀操作MMDR的控制信號(hào):的控制信號(hào):EMAR、RD、SM
42、DR;實(shí)現(xiàn)實(shí)現(xiàn)MDRIR的控制信號(hào):的控制信號(hào):MDROUT、CPIR。 例如:要從存儲(chǔ)器中取指令到指令寄存器例如:要從存儲(chǔ)器中取指令到指令寄存器IR,通過(guò)以下操作序列即可實(shí)現(xiàn):通過(guò)以下操作序列即可實(shí)現(xiàn): 423 3CPUCPU數(shù)據(jù)傳送到主存數(shù)據(jù)傳送到主存 R1MAR R1MAR ;地址送;地址送MARMAR R2MDR R2MDR ;數(shù)據(jù)送;數(shù)據(jù)送MDRMDR MDRM MDRM ;數(shù)據(jù)寫(xiě)入主存;數(shù)據(jù)寫(xiě)入主存例如:在例如:在R2中存放需寫(xiě)入主存的數(shù)據(jù),存儲(chǔ)單元地址在中存放需寫(xiě)入主存的數(shù)據(jù),存儲(chǔ)單元地址在R1中,則寫(xiě)一個(gè)數(shù)據(jù)到存儲(chǔ)器可通過(guò)以下操作序列實(shí)現(xiàn):中,則寫(xiě)一個(gè)數(shù)據(jù)到存儲(chǔ)器可通過(guò)以下操作
43、序列實(shí)現(xiàn): 實(shí)現(xiàn)實(shí)現(xiàn)R1MAR的控制信號(hào):的控制信號(hào):R1OUT、CPMAR。實(shí)現(xiàn)實(shí)現(xiàn)R2MDR的控制信號(hào)為的控制信號(hào)為R2OUT、CPMDR。實(shí)現(xiàn)寫(xiě)操作實(shí)現(xiàn)寫(xiě)操作MDRM的控制信號(hào)為的控制信號(hào)為EMAR、EMDR、WR 434 4執(zhí)行算術(shù)或邏輯操作執(zhí)行算術(shù)或邏輯操作 R1D R1D ;把;把R1R1的內(nèi)容先送到寄存器的內(nèi)容先送到寄存器D D D+ R2Z D+ R2Z ;R2R2內(nèi)容送到內(nèi)容送到ALUALU的的B B端與端與D D內(nèi)容通過(guò)內(nèi)容通過(guò)ALUALU 相加,結(jié)果送相加,結(jié)果送Z Z ZR3 ZR3 ;將存放在;將存放在Z Z中的相加結(jié)果送入中的相加結(jié)果送入R3R3中中例如:完成例如:
44、完成“把寄存器把寄存器R1和和R2的內(nèi)容相加,結(jié)果送到的內(nèi)容相加,結(jié)果送到R3”這個(gè)功能,需要分成這個(gè)功能,需要分成3步執(zhí)行:步執(zhí)行: 實(shí)現(xiàn)實(shí)現(xiàn)R1D的控制信號(hào):的控制信號(hào):R1OUT、CPD。實(shí)現(xiàn)實(shí)現(xiàn)D + R2MDR的控制信號(hào):的控制信號(hào):R2OUT、ADD、CPZ。實(shí)現(xiàn)實(shí)現(xiàn)ZR3的控制信號(hào):的控制信號(hào):ZOUT、CPR3。 44 3.4 3.4 組合邏輯控制器原理組合邏輯控制器原理 組合邏輯控制器組合邏輯控制器是指產(chǎn)生控制信號(hào)(即微命令)的部件,是指產(chǎn)生控制信號(hào)(即微命令)的部件,是用組合邏輯線路來(lái)實(shí)現(xiàn)。在模型機(jī)中有幾十個(gè)微命令,則每個(gè)微是用組合邏輯線路來(lái)實(shí)現(xiàn)。在模型機(jī)中有幾十個(gè)微命令,
45、則每個(gè)微命令都需要一組邏輯門(mén)電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作命令都需要一組邏輯門(mén)電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作碼、尋址方式、時(shí)序信號(hào)等)產(chǎn)生該微命令。碼、尋址方式、時(shí)序信號(hào)等)產(chǎn)生該微命令。 本節(jié)先介紹模型機(jī)的指令系統(tǒng),然后假設(shè)模型機(jī)采用的是組合本節(jié)先介紹模型機(jī)的指令系統(tǒng),然后假設(shè)模型機(jī)采用的是組合邏輯控制器,討論其時(shí)序系統(tǒng)、指令執(zhí)行流程及微命令的產(chǎn)生與綜邏輯控制器,討論其時(shí)序系統(tǒng)、指令執(zhí)行流程及微命令的產(chǎn)生與綜合。合。 453.4.1 模型機(jī)的指令系統(tǒng)模型機(jī)的指令系統(tǒng)1 1指令格式指令格式(1 1)雙操作數(shù)指令:其格式如下圖所示)雙操作數(shù)指令:其格式如下圖所示 第第121215
46、15位表示操作碼,第位表示操作碼,第6 61111位為源操作數(shù)地址段,第位為源操作數(shù)地址段,第0 05 5位為目的操作數(shù)地址段,在每個(gè)地址段字段中又分為兩部分,其位為目的操作數(shù)地址段,在每個(gè)地址段字段中又分為兩部分,其中中3 3位表明位表明尋址方式尋址方式類型,另外類型,另外3 3位給出所指定的位給出所指定的寄存器編號(hào)寄存器編號(hào)。 46(1 1)雙操作數(shù)指令格式)雙操作數(shù)指令格式47(2 2)單操作數(shù)指令)單操作數(shù)指令 第第0 05 5位為地址字段,第位為地址字段,第6 61111位空閑不用,位空閑不用,也可供擴(kuò)展操作碼用。也可供擴(kuò)展操作碼用。48(3 3)轉(zhuǎn)移指令)轉(zhuǎn)移指令 第第121215
47、15位為操作碼,第位為操作碼,第6 61111位給出轉(zhuǎn)移地址字段(也分為位給出轉(zhuǎn)移地址字段(也分為尋址方式與寄存器號(hào)兩部分)。第尋址方式與寄存器號(hào)兩部分)。第0 05 5位則為轉(zhuǎn)移條件字段。其中,位則為轉(zhuǎn)移條件字段。其中,第第0 03 3位中有一位為位中有一位為1 1,表明,表明轉(zhuǎn)移條件轉(zhuǎn)移條件進(jìn)位進(jìn)位C C、溢出溢出V V、結(jié)果為結(jié)果為零零Z Z、結(jié)果為負(fù)結(jié)果為負(fù)N N。第。第5 5位表明位表明轉(zhuǎn)移方式轉(zhuǎn)移方式,若為,若為0 0,表示相關(guān)標(biāo)志位為,表示相關(guān)標(biāo)志位為0 0轉(zhuǎn)移;若為轉(zhuǎn)移;若為1 1,表示相關(guān)標(biāo)志位為,表示相關(guān)標(biāo)志位為1 1轉(zhuǎn)移。若第轉(zhuǎn)移。若第0 05 5位全為位全為0 0,表示
48、,表示無(wú)條件轉(zhuǎn)移。無(wú)條件轉(zhuǎn)移。 492 2尋址方式尋址方式 模型機(jī)的編址為模型機(jī)的編址為按字編址按字編址,字長(zhǎng),字長(zhǎng)1616位,即主存每個(gè)單元位,即主存每個(gè)單元1616位。位。采用簡(jiǎn)單變字長(zhǎng)指令格式,指令長(zhǎng)度可為采用簡(jiǎn)單變字長(zhǎng)指令格式,指令長(zhǎng)度可為1616位、位、3232位(指令中含立位(指令中含立即數(shù)或一個(gè)操作數(shù)地址)或即數(shù)或一個(gè)操作數(shù)地址)或4848位(含位(含2 2個(gè)操作數(shù)地址),操作數(shù)字個(gè)操作數(shù)地址),操作數(shù)字長(zhǎng)長(zhǎng)1616位。位。模型機(jī)尋址方式模型機(jī)尋址方式 如下表如下表:類型類型尋址方式尋址方式匯編符號(hào)匯編符號(hào) 可指定寄存器可指定寄存器 定義簡(jiǎn)述定義簡(jiǎn)述 0寄存器尋址寄存器尋址 R
49、R R0R0R3R3,SPSP,PSWPSW 數(shù)在指定寄存器中數(shù)在指定寄存器中 1寄存器間址寄存器間址 (R) (R) R0R0R3R3,SPSP 地址在指定寄存器中地址在指定寄存器中 2自減型寄存自減型寄存器間址器間址 -(R) -(R) R0R0R3R3,SPSP 寄存器內(nèi)容減寄存器內(nèi)容減1 1后為操作數(shù)地后為操作數(shù)地址址 3立即立即/ /自增自增型寄存器間型寄存器間址址 (R)+ (R)+ R0R0R3R3,SPSP,PCPC 寄存器內(nèi)容為操作數(shù)地址,寄存器內(nèi)容為操作數(shù)地址,操作后加操作后加1 1 4直接尋址直接尋址 DI DI PC PC 操作數(shù)地址緊跟著指令操作數(shù)地址緊跟著指令 5變
50、址尋址變址尋址 X(R) X(R) R0R0R3R3,SPSP,PCPC 變址寄存器內(nèi)容與緊跟指令的位變址寄存器內(nèi)容與緊跟指令的位移量相加,為操作數(shù)地址移量相加,為操作數(shù)地址 503 3操作類型操作類型 操作碼共操作碼共4 4位,現(xiàn)設(shè)置位,現(xiàn)設(shè)置1414種指令,余下兩種操作碼組合可供擴(kuò)展種指令,余下兩種操作碼組合可供擴(kuò)展。(1 1)傳送指令)傳送指令MOVMOV傳送,操作碼傳送,操作碼00000000。(2 2)雙操作數(shù)算術(shù)邏輯指令)雙操作數(shù)算術(shù)邏輯指令A(yù)DDADD加,操作碼加,操作碼00010001(帶進(jìn)位)。(帶進(jìn)位)。SUBSUB減,操作碼減,操作碼00100010(帶進(jìn)位)。(帶進(jìn)位)
51、。ANDAND邏輯與,操作碼邏輯與,操作碼00110011。OR OR 邏輯或,操作碼邏輯或,操作碼01000100。EOREOR邏輯異或,操作碼邏輯異或,操作碼01010101。(3 3)單操作數(shù)算術(shù)邏輯指令)單操作數(shù)算術(shù)邏輯指令COMCOM求反,操作碼求反,操作碼01100110。NEGNEG求補(bǔ),操作碼求補(bǔ),操作碼01110111。INCINC加加1 1,操作碼,操作碼10001000。DECDEC減減1 1,操作碼,操作碼10011001。SLSL 左移,操作碼左移,操作碼10101010。SR SR 右移,操作碼右移,操作碼10111011。51(4 4)程序控制類指令)程序控制類指
52、令 轉(zhuǎn)移指令JMP,操作碼1100。 IR5IR5 IR3IR3 IR2IR2 IR1IR1 IR0IR0 說(shuō)說(shuō) 明明 0 0 0 0 0 0 0 0 1 1 進(jìn)位進(jìn)位C=0C=0轉(zhuǎn)轉(zhuǎn) 1 1 0 0 0 0 0 0 1 1 進(jìn)位進(jìn)位C=1C=1轉(zhuǎn)轉(zhuǎn) 0 0 0 0 0 0 1 1 0 0 溢出溢出V=0V=0轉(zhuǎn)轉(zhuǎn) 1 1 0 0 0 0 1 1 0 0 溢出溢出V=1V=1轉(zhuǎn)轉(zhuǎn) 0 0 0 0 1 1 0 0 0 0 結(jié)果為零結(jié)果為零Z=1Z=1轉(zhuǎn)轉(zhuǎn) 1 1 0 0 1 1 0 0 0 0 結(jié)果不為零結(jié)果不為零Z=0Z=0轉(zhuǎn)轉(zhuǎn) 0 0 1 1 0 0 0 0 0 0 結(jié)果為負(fù)結(jié)果為負(fù)N=1N
53、=1轉(zhuǎn)轉(zhuǎn) 1 1 1 1 0 0 0 0 0 0 結(jié)果為正結(jié)果為正N=0N=0轉(zhuǎn)轉(zhuǎn) 0 0 0 0 0 0 0 0 0 0 無(wú)條件轉(zhuǎn)移無(wú)條件轉(zhuǎn)移 如上表所示,如上表所示,JMPJMP指令第指令第3 30 0位選擇一位為位選擇一位為1 1,表明以,表明以PSWPSW中的某一特征作為中的某一特征作為轉(zhuǎn)移條件。因此,轉(zhuǎn)移條件。因此,JMPJMP指令第指令第3 30 0位的含義與位的含義與PSWPSW第第3 30 0位含義分別相對(duì)應(yīng)。例如位含義分別相對(duì)應(yīng)。例如PSWPSW第第0 0位是進(jìn)位位位是進(jìn)位位C C,而轉(zhuǎn)移指令第,而轉(zhuǎn)移指令第0 0位若為位若為1 1,則表明以進(jìn)位狀態(tài)為轉(zhuǎn)移條件。,則表明以進(jìn)位
54、狀態(tài)為轉(zhuǎn)移條件。JMPJMP指令第指令第5 5位(位(IR5IR5)決定轉(zhuǎn)移條件為)決定轉(zhuǎn)移條件為0 0轉(zhuǎn),還是為轉(zhuǎn),還是為1 1轉(zhuǎn)。若轉(zhuǎn)。若JMPJMP指令第指令第5 50 0位全為位全為0 0,則表示無(wú)條件轉(zhuǎn)移。,則表示無(wú)條件轉(zhuǎn)移。52 返回指令返回指令RSTRST,操作碼,操作碼11001100。 RST RST指令與指令與JMPJMP指令的操作碼相同,可視為一條指令。指令的操作碼相同,可視為一條指令。RSTRST指令指令只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為SPSP,即,即尋址方式為(尋址方式為(SPSP)+ +。它從堆
55、棧中取出返回地址,然后修改堆棧指。它從堆棧中取出返回地址,然后修改堆棧指針針SP+1SP+1。實(shí)際上,。實(shí)際上,“JMPJMP(SPSP)+”+”指令就是一條指令就是一條RSTRST指令。指令。 轉(zhuǎn)子指令轉(zhuǎn)子指令JSRJSR,操作碼,操作碼11011101。 執(zhí)行執(zhí)行JSRJSR指令時(shí),先將返回地址壓棧保存,然后按尋址方式找指令時(shí),先將返回地址壓棧保存,然后按尋址方式找到轉(zhuǎn)移地址(即子程序入口地址),將它送入到轉(zhuǎn)移地址(即子程序入口地址),將它送入PCPC中。中。533.4.2 3.4.2 模型機(jī)的時(shí)序系統(tǒng)模型機(jī)的時(shí)序系統(tǒng) 組合邏輯控制器依靠不同的時(shí)間標(biāo)志,使組合邏輯控制器依靠不同的時(shí)間標(biāo)志,
56、使CPUCPU分步工作。模型分步工作。模型機(jī)采用前述的三級(jí)時(shí)序系統(tǒng),即將時(shí)序信號(hào)分為機(jī)采用前述的三級(jí)時(shí)序系統(tǒng),即將時(shí)序信號(hào)分為工作周期工作周期、節(jié)拍節(jié)拍(時(shí)鐘周期)(時(shí)鐘周期)和和工作脈沖工作脈沖。1 1工作周期劃分工作周期劃分(1 1)取指周期)取指周期FTFT 在取指周期在取指周期FTFT中完成取中完成取指所需的操作指所需的操作 (2 2)源周期)源周期STST 如果需要從主存中讀取如果需要從主存中讀取源操作數(shù),則進(jìn)入源操作數(shù),則進(jìn)入STST。 (3 3)目的周期)目的周期DT DT 如果需要從主存中讀取目的地如果需要從主存中讀取目的地址或目的操作址或目的操作,則進(jìn)入則進(jìn)入DTDT。 (4
57、 4)執(zhí)行周期)執(zhí)行周期ETET 在取得操作數(shù)后,則進(jìn)入在取得操作數(shù)后,則進(jìn)入ETET,在在ETET中中將依據(jù)將依據(jù)IRIR中操作碼執(zhí)行相應(yīng)操作,如中操作碼執(zhí)行相應(yīng)操作,如傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、獲得轉(zhuǎn)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、獲得轉(zhuǎn)移地址等移地址等 (5 5)中斷響應(yīng)周期)中斷響應(yīng)周期ITIT (6 6)DMADMA傳送周期傳送周期DMATDMAT 54(5 5)中斷響應(yīng)周期)中斷響應(yīng)周期ITIT (6 6)DMADMA傳送周期傳送周期DMATDMAT 中斷方式:由于某些異常情況或特殊請(qǐng)求,引起中斷方式:由于某些異常情況或特殊請(qǐng)求,引起CPU暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)去執(zhí)行中
58、斷處理子程序,以處理這些情況或請(qǐng)求,等處理完后又返回原程序去執(zhí)行中斷處理子程序,以處理這些情況或請(qǐng)求,等處理完后又返回原程序斷點(diǎn)繼續(xù)執(zhí)行,這一過(guò)程就稱為中斷。斷點(diǎn)繼續(xù)執(zhí)行,這一過(guò)程就稱為中斷。 CPU在響應(yīng)中斷請(qǐng)求之后,進(jìn)入中斷響應(yīng)周期在響應(yīng)中斷請(qǐng)求之后,進(jìn)入中斷響應(yīng)周期IT。在。在IT中將直接依靠中將直接依靠硬件進(jìn)行關(guān)中斷、保存斷點(diǎn)、轉(zhuǎn)處理程序入口等操作。硬件進(jìn)行關(guān)中斷、保存斷點(diǎn)、轉(zhuǎn)處理程序入口等操作。IT結(jié)束后,進(jìn)入取結(jié)束后,進(jìn)入取指周期指周期FT,開(kāi)始執(zhí)行中斷處理程序。,開(kāi)始執(zhí)行中斷處理程序。 DMA(Direct Memory Access)即直接訪存方式:其基本思想是在主存儲(chǔ)器)即直
59、接訪存方式:其基本思想是在主存儲(chǔ)器和和I/O設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由專門(mén)的設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由專門(mén)的DMA控制器控制主存和控制器控制主存和I/O設(shè)備間的數(shù)據(jù)傳送,在傳送時(shí)不需設(shè)備間的數(shù)據(jù)傳送,在傳送時(shí)不需CPU干預(yù)。由于傳送過(guò)程完全由硬件干預(yù)。由于傳送過(guò)程完全由硬件實(shí)現(xiàn),所花費(fèi)的時(shí)間短,因此能滿足高速數(shù)據(jù)傳送的需要。實(shí)現(xiàn),所花費(fèi)的時(shí)間短,因此能滿足高速數(shù)據(jù)傳送的需要。 CPU響應(yīng)響應(yīng)DMA請(qǐng)求之后,進(jìn)入請(qǐng)求之后,進(jìn)入DMAT。在。在DMAT中,中,CPU交出系統(tǒng)總線交出系統(tǒng)總線的控制權(quán),即的控制權(quán),即MAR、MDR與系統(tǒng)總線脫鉤(呈高阻態(tài))。改由與系統(tǒng)總線脫鉤(呈高阻態(tài)
60、)。改由DMA控制器控制器控制系統(tǒng)總線,實(shí)現(xiàn)主存與外圍設(shè)備間的數(shù)據(jù)直接傳送,因此對(duì)控制系統(tǒng)總線,實(shí)現(xiàn)主存與外圍設(shè)備間的數(shù)據(jù)直接傳送,因此對(duì)CPU來(lái)說(shuō),來(lái)說(shuō),DMAT是一個(gè)空操作周期。是一個(gè)空操作周期。 55FTSTDTITETDMATDMA請(qǐng)請(qǐng)求?求?中斷?中斷?YYNNCPUCPU控制流程控制流程例例. 雙操作數(shù)指令雙操作數(shù)指令的兩個(gè)操作數(shù)的兩個(gè)操作數(shù)均在主存中均在主存中, ,工作周期變化為工作周期變化為: : FTSTDTETFTSTDTET(FTFT)例例. 單操作數(shù)指令的操作數(shù)在單操作數(shù)指令的操作數(shù)在主存中主存中,工作周期變化為工作周期變化為: FTDTETFTDTET(FTFT)例例
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南砂石銷售合同范本
- 醫(yī)院裝修施工合同范本
- 出租結(jié)婚用品合同范本
- 賣方簽訂采購(gòu)合同范本
- 出國(guó)服裝縫紉勞務(wù)合同范本
- 個(gè)人建房協(xié)議合同范本
- 公證遺產(chǎn)贈(zèng)與合同范例
- 與體育公司合同范本
- 辦公樓供熱合同范本
- 發(fā)票相關(guān)合同范例
- 《調(diào)整心態(tài)迎接中考》主題班會(huì)
- 冠心病患者運(yùn)動(dòng)恐懼的現(xiàn)狀及影響因素分析
- 全國(guó)2018年10月自考00043經(jīng)濟(jì)法概論(財(cái)經(jīng)類)試題及答案
- 《又見(jiàn)平遙》課件
- 噴涂設(shè)備點(diǎn)檢表
- 廣東省佛山市《綜合基礎(chǔ)知識(shí)》事業(yè)單位國(guó)考真題
- 02 第2章 城市與城市化-城市管理學(xué)
- 六年級(jí)上冊(cè)英語(yǔ)教案-Culture 2 Going Green 第二課時(shí) 廣東開(kāi)心英語(yǔ)
- 警察叔叔是怎樣破案的演示文稿課件
- 2019石景山初三一模語(yǔ)文試題及答案
- 09式 新擒敵拳 教學(xué)教案 教學(xué)法 圖解
評(píng)論
0/150
提交評(píng)論