




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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)層和匯編語言層討論計(jì)算機(jī)系統(tǒng)的組成。令系統(tǒng)層和匯編語言層討論計(jì)算機(jī)系統(tǒng)的組成。 微體系結(jié)構(gòu)層是具體的硬件層次,可看作是指令系微體系結(jié)構(gòu)層是具體的硬件層次,可看作是指令系統(tǒng)的解釋器。統(tǒng)的解釋器。 指令系統(tǒng)層是一個(gè)抽象的層次,其指令系統(tǒng)是一種指令系統(tǒng)層是一個(gè)抽象的層次,其指令系統(tǒng)是一種硬件和編譯器都可識別的機(jī)器語言。硬件和編譯器都可識別的機(jī)器語言。 匯編語言層提供的語言,是將機(jī)器語言匯編語言層提供的語言,是將機(jī)器語言“符號化符號化”以便于人們理解。以便于人
2、們理解。 用匯編語言編寫的程序先由匯編器翻譯成機(jī)器語用匯編語言編寫的程序先由匯編器翻譯成機(jī)器語言程序,再由微體系結(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)層 ,是從寄存器級分析是從寄存器級分析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 精簡指令集計(jì)算機(jī)(精簡指令集計(jì)算機(jī)(RISC)3 中央處理器中央處理器CPU的主要功能是從主存儲器中取的主要功能是從主存儲器中取出指令、分析指令和執(zhí)行指令,即按指令控制計(jì)算出指令、分析指令和執(zhí)行指令,即按指令控制計(jì)算機(jī)各部件操作,并對數(shù)據(jù)進(jìn)行處理。機(jī)各部件操作,并對數(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ù),通常它們來自作數(shù),通常它們來自CPUCPU中的通用寄存器或中的通用寄存器或ALUALU總線。總線。ALUALU的輸?shù)妮敵鋈Q于對其功能的控制,當(dāng)控制功能選擇加、減、與、或出取決于對其功能的控制,當(dāng)控制功能選擇加、減、與、或等運(yùn)算功能之一時(shí),其輸出結(jié)果將為對應(yīng)的和、差
5、、與值、等運(yùn)算功能之一時(shí),其輸出結(jié)果將為對應(yīng)的和、差、與值、或值等?;蛑档?。6(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、存儲信息和發(fā)送信通用寄存器本身在邏輯上只具有接收信息、存儲信息和發(fā)送信息的功能。但通過編程以及與息的功能。但通過編程以及與ALUALU的配合可以實(shí)現(xiàn)多種功能,如它的配合可以實(shí)現(xiàn)多種功能,如它們可為們可為ALUALU提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址寄存器、地提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址寄存器、地址指針和計(jì)數(shù)器等。址指針和計(jì)數(shù)器等。 器 在在CPUCPU中一般要設(shè)置暫存器,主要是為了暫存從主存儲器讀中一般要設(shè)置暫存器,主要是為了暫存從主存儲器讀出的數(shù)據(jù)出的數(shù)據(jù) ,暫存器沒有寄存器號,因此不能直接編程訪問它們。暫存器沒有寄存器號,因此不能直接編程訪問它們。 7 寄存器寄存器IRIR(
7、I Instruction nstruction R Registeregister) 用來存放當(dāng)前正在執(zhí)行的一條指令。用來存放當(dāng)前正在執(zhí)行的一條指令。 指令可劃分為指令可劃分為操作碼操作碼和和地址碼地址碼字段,由二進(jìn)制代碼組成。執(zhí)字段,由二進(jìn)制代碼組成。執(zhí)行指令時(shí)必須對操作碼進(jìn)行譯碼,以識別出所要求的操作,這個(gè)功行指令時(shí)必須對操作碼進(jìn)行譯碼,以識別出所要求的操作,這個(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)寄存器,用來存放當(dāng)前程序的內(nèi)部設(shè)置的狀態(tà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í)接收各部件送來的信息,并發(fā)送信息到有關(guān)部件。它分時(shí)接收各部件送來的信息,并發(fā)送信息到有關(guān)部件。 由于多個(gè)部件連接在一組公共總線上,可能會出現(xiàn)多個(gè)部件由于多個(gè)部件連接在一組公共總線上,可能會出現(xiàn)多個(gè)部件爭爭用用總線,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問題??偩€,因此需設(shè)置總線控制邏輯以解決總線控制權(quán)的有關(guān)問題。 CPUCPU內(nèi)部總線內(nèi)部總線用來連接用來連接CPUCPU內(nèi)的各寄存器與內(nèi)的各寄存器與ALUALU ;總線分類:系統(tǒng)總線系統(tǒng)總線用來連接用來連接CPUCPU、主存儲器與、主存儲器與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é)構(gòu)。兩種常見的結(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ù)傳送必須通過內(nèi)總線進(jìn)行,內(nèi)各寄存器間的數(shù)據(jù)傳送必須通過內(nèi)總線進(jìn)行,ALUALU通過內(nèi)通過內(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í)行過程指令執(zhí)行過程 CPU CPU的主要功能就是的主要功能就是執(zhí)行存放在存儲器中的指令序列執(zhí)行存放在存儲器中的指令序列,即,即程序。程序。1 1指令的分段執(zhí)行過程指令的分段執(zhí)行過程 任何一條指令的執(zhí)行都要經(jīng)過任何一條指令的執(zhí)行都要經(jīng)過讀取讀取指令、指令、分析分析指令和指令和執(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)該對運(yùn)行過程中出現(xiàn)的
13、某些還應(yīng)該對運(yùn)行過程中出現(xiàn)的某些異常情況異常情況或或輸入輸入/ /輸出請求輸出請求進(jìn)行處理進(jìn)行處理 122 2指令之間的銜接方式指令之間的銜接方式 指令之間的銜接方式有兩種:指令之間的銜接方式有兩種:串行串行的順序安排方式與的順序安排方式與并行并行的的重疊處理方式。重疊處理方式。 3.1.3 3.1.3 時(shí)序控制方式時(shí)序控制方式 執(zhí)行一條指令的過程可分為幾個(gè)階段,而每一階段又分為若干執(zhí)行一條指令的過程可分為幾個(gè)階段,而每一階段又分為若干步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號實(shí)現(xiàn)。步基本操作,每一步操作則由控制器產(chǎn)生一些相應(yīng)的控制信號實(shí)現(xiàn)。因此,每條指令都可分解為一個(gè)控制信號序列
14、,指令的執(zhí)行過程就因此,每條指令都可分解為一個(gè)控制信號序列,指令的執(zhí)行過程就是依次執(zhí)行一個(gè)確定的是依次執(zhí)行一個(gè)確定的控制信號序列控制信號序列的過程。的過程。 時(shí)序控制方式時(shí)序控制方式就是指微操作與時(shí)序信號之間采取何種關(guān)系,就是指微操作與時(shí)序信號之間采取何種關(guān)系,它不僅直接決定時(shí)序信號的產(chǎn)生,也影響到控制器及其他部件的組它不僅直接決定時(shí)序信號的產(chǎn)生,也影響到控制器及其他部件的組成,以及指令的執(zhí)行速度。成,以及指令的執(zhí)行速度。 131 1同步控制方式同步控制方式 同步控制方式是指各項(xiàng)操作由同步控制方式是指各項(xiàng)操作由統(tǒng)一統(tǒng)一的時(shí)序信號進(jìn)行同步控制。的時(shí)序信號進(jìn)行同步控制。 同步控制的基本特征是將操作
15、時(shí)間分為若干長度相同的同步控制的基本特征是將操作時(shí)間分為若干長度相同的時(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é)構(gòu)上易于集中,相應(yīng)同步控制方式的優(yōu)點(diǎn)是時(shí)序關(guān)系簡單,結(jié)構(gòu)上易于集中,相應(yīng)的設(shè)計(jì)和實(shí)現(xiàn)比較方便。的設(shè)計(jì)和實(shí)現(xiàn)比較方便。2 2同步控制方式的多級時(shí)序系統(tǒng)同步控制方式的多級時(shí)序系統(tǒng)(1 1)多級時(shí)序的概念)多級時(shí)序的概念 在同步控制方式中,通常將時(shí)序信號劃分為幾級(其中包括指在同步控制方式中,通
16、常將時(shí)序信號劃分為幾級(其中包括指令周期),稱為多級時(shí)序。令周期),稱為多級時(shí)序。 機(jī)器周期機(jī)器周期 節(jié)拍(時(shí)鐘周期節(jié)拍(時(shí)鐘周期) 時(shí)鐘脈沖信號時(shí)鐘脈沖信號14(2 2)多級時(shí)序信號之間的關(guān)系)多級時(shí)序信號之間的關(guān)系三級時(shí)序信號之間的關(guān)系三級時(shí)序信號之間的關(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ù)地址址譯碼指令譯碼指令寫操作數(shù)寫操作數(shù)取操作數(shù)取操作數(shù)執(zhí)行
17、指令執(zhí)行指令指令流水線操作時(shí)序圖指令流水線操作時(shí)序圖 影響流水線性能主要有以下幾個(gè)因素:影響流水線性能主要有以下幾個(gè)因素:(1)若各個(gè)階段不全是相等的時(shí)間)若各個(gè)階段不全是相等的時(shí)間 (2)流水線中的相關(guān)問題)流水線中的相關(guān)問題(3)當(dāng)遇到條件轉(zhuǎn)移指令時(shí))當(dāng)遇到條件轉(zhuǎn)移指令時(shí)(4)當(dāng))當(dāng)I/O設(shè)備有中斷請求或機(jī)器有故障時(shí)設(shè)備有中斷請求或機(jī)器有故障時(shí)173.2 3.2 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU和運(yùn)算方法和運(yùn)算方法 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU主要完成對二進(jìn)制代碼的定點(diǎn)主要完成對二進(jìn)制代碼的定點(diǎn)算術(shù)運(yùn)算算術(shù)運(yùn)算和和邏輯運(yùn)算邏輯運(yùn)算。 3.2.1 3.2.1 算術(shù)邏輯部件算術(shù)邏輯
18、部件ALUALU算術(shù)邏輯部件算術(shù)邏輯部件ALUALU的硬件實(shí)現(xiàn)涉及三個(gè)問題:的硬件實(shí)現(xiàn)涉及三個(gè)問題:(1 1)如何構(gòu)成一位二進(jìn)制加法單元,即全加器。)如何構(gòu)成一位二進(jìn)制加法單元,即全加器。(2 2)n n位全加器連同進(jìn)位信號傳送邏輯,構(gòu)成一個(gè)位全加器連同進(jìn)位信號傳送邏輯,構(gòu)成一個(gè)n n位并行加法器。位并行加法器。(3 3)以加法器為核心,通過輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏)以加法器為核心,通過輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏輯運(yùn)算功能的輯運(yùn)算功能的ALUALU。181 1全加器全加器 用半加器構(gòu)成的全加器用半加器構(gòu)成的全加器 iiiiCBAiiiiiiC)BA(BAC1和和進(jìn)位進(jìn)位目前,
19、廣泛采用半加器構(gòu)成全加器。目前,廣泛采用半加器構(gòu)成全加器。 通常邏輯門電路都存在延通常邏輯門電路都存在延遲時(shí)間,全加器電路就是一個(gè)遲時(shí)間,全加器電路就是一個(gè)延遲部件,正是這個(gè)延遲特性延遲部件,正是這個(gè)延遲特性將影響全加器的速度。將影響全加器的速度。 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ù)相同。為并行加法器。并行加法器中全加器的位數(shù)與操作數(shù)的位數(shù)相同。(1 1)基本進(jìn)位公式)基本進(jìn)位公式設(shè)相加的兩個(gè)設(shè)相加的兩個(gè)n
20、 n位操作數(shù)為位操作數(shù)為: :021AAAAAinn021BBBBinnBiiiiii)CB(ABAC1進(jìn)位信號的邏輯式 可以看出可以看出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個(gè)全加器串接起來,就可個(gè)全加器串接起來,就可進(jìn)行兩個(gè)進(jìn)行兩個(gè)n n位數(shù)相加。位數(shù)相加。 11111111111111
21、112000000001)CB(ABACPGC)CB(ABACPGC)CB(ABACPGCnnnnnnnnn 由于串行進(jìn)位的延遲時(shí)間較長,所以在由于串行進(jìn)位的延遲時(shí)間較長,所以在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)算速度,就必須解決進(jìn)位傳遞的問題。為了提高并行加法器的運(yùn)算速度,就必須解決進(jìn)位傳遞的問題。方法是讓各級進(jìn)位信號同時(shí)形成
22、,而不是串行形成。方法是讓各級進(jìn)位信號同時(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)算速度快,但這是以增加硬件邏輯線路為代價(jià)的。兩種常用的路為代價(jià)的。兩種常用的分組進(jìn)位分組進(jìn)位結(jié)構(gòu)是:兩種常用的分組進(jìn)位結(jié)構(gòu)是:兩種常用的分組
23、進(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ù)定點(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)算
24、 例如,加法指令指示做(例如,加法指令指示做(+A+A)+ +(-B-B),由于一個(gè)操作數(shù)為負(fù),),由于一個(gè)操作數(shù)為負(fù),實(shí)際操作是做減法(實(shí)際操作是做減法(+A+A)- -(+B+B),結(jié)果符號與絕對值大的符號相),結(jié)果符號與絕對值大的符號相同。同理,在減法指令中指示做(同。同理,在減法指令中指示做(+A+A)- -(-B-B),實(shí)際操作是做加),實(shí)際操作是做加法(法(+A+A)+ +(+B+B),結(jié)果與被減數(shù)符號相同。),結(jié)果與被減數(shù)符號相同。 (2 2)補(bǔ)碼加減運(yùn)算)補(bǔ)碼加減運(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)算
25、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ǔ)碼表示。 符號位參加運(yùn)算。符號位參加運(yùn)算。 若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,則將減數(shù)連同符號位一起變反加則將減數(shù)連同符號位一起變反加1 1后再與被減數(shù)相加。后再與被減數(shù)相加。 運(yùn)算結(jié)果用補(bǔ)碼表示。運(yùn)算結(jié)果用補(bǔ)碼表示?!纠纠?-33-3】 X X = 00110110 = 001
26、10110, 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位符號位符號S Sn n 數(shù)數(shù)B B有有4 4位尾數(shù),位尾數(shù),1 1位符號位符號S Sn n符號位參符號位參加運(yùn)算加運(yùn)算結(jié)果符號結(jié)果符號S Sn n符號位進(jìn)位符號位進(jìn)位C Cn n尾數(shù)最高位進(jìn)位尾數(shù)最高位進(jìn)位Cn-1Cn-1260 00111110 0001101(1)A=31 B=13 31+13:0 0101100 1 11000011 111
27、0100(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è)符號位判斷采用一個(gè)符號位判斷溢出溢出= S +A B = S +A B nAnBnSnnn 采用最高有效位的進(jìn)位判斷采用最高有效位的進(jìn)位判斷溢出溢出= C +C =C C = C +C =C C 1nnCn1Cnn1n 采用變形補(bǔ)碼判斷采用變形補(bǔ)碼判斷( (雙符號位雙符號位) )用用S S 、S Sn
28、n分別表示結(jié)果最高符號位和第分別表示結(jié)果最高符號位和第2 2符號位符號位 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)無符號整數(shù)一位乘)無符號整數(shù)一位乘法法【例【例3-103-10】 11011101 10111011的運(yùn)算過程如圖所示。的運(yùn)算過程如圖所示。30(2 2)無符號整數(shù)一位除法)無符號整數(shù)一位除法【例【例3-113-11】 用不恢復(fù)余數(shù)法計(jì)算用不恢復(fù)余數(shù)法計(jì)算0000100
29、00000100000110011。解:解:A A、C C:0000100000001000;B B:00110011;:;:11011101。其。其運(yùn)算過程如圖:運(yùn)算過程如圖: 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 對階操作對階操作 對階的規(guī)則是對階的規(guī)則是:階碼小的數(shù)向階碼大的數(shù)對齊階碼小的數(shù)向階碼大的數(shù)對齊 實(shí)現(xiàn)尾數(shù)的加(減)運(yùn)算實(shí)現(xiàn)尾數(shù)的
30、加(減)運(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ī)的這個(gè)過程稱為左規(guī)。在左規(guī)的同時(shí)應(yīng)判斷結(jié)果是否會下溢,同時(shí)應(yīng)判斷結(jié)果是否會下溢,即階碼小于所能表示的最小負(fù)即階碼小于所能表
31、示的最小負(fù)數(shù)。數(shù)。若運(yùn)算結(jié)果尾數(shù)發(fā)生溢出,例若運(yùn)算結(jié)果尾數(shù)發(fā)生溢出,例如尾數(shù)為如尾數(shù)為10.xxx10.xxx或或01.xxx01.xxx形式,這并不表明浮形式,這并不表明浮點(diǎn)結(jié)果會溢出,此時(shí)需調(diào)整階點(diǎn)結(jié)果會溢出,此時(shí)需調(diào)整階碼,將尾數(shù)右移一位,階碼加碼,將尾數(shù)右移一位,階碼加1 1,稱為右規(guī)。右規(guī)時(shí),應(yīng)判,稱為右規(guī)。右規(guī)時(shí),應(yīng)判斷結(jié)果是否會上溢,即階碼大斷結(jié)果是否會上溢,即階碼大于所能表示的最大正數(shù)。于所能表示的最大正數(shù)。 舍入操作舍入操作 32 下面舉一個(gè)浮點(diǎn)加的實(shí)例。下面舉一個(gè)浮點(diǎn)加的實(shí)例。 【例【例3-123-12】 設(shè)有兩個(gè)浮點(diǎn)數(shù)設(shè)有兩個(gè)浮點(diǎn)數(shù)X X=2 =2 0.1101010.1
32、101012 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 對階對階 E E = =EXEX +- +-EYEY =1110+0001=1111 =1110+0001=1111,即,即 E E =-1=-1,將將MXMX右移一位,右移一位,其階碼加其階碼加1 1,得,得 補(bǔ)補(bǔ)補(bǔ) =11 =11,1111;00.01101100.011011(用(用0 0舍舍1 1入法)入法)浮
33、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 2)浮點(diǎn)數(shù)除法運(yùn)算)浮點(diǎn)數(shù)除法運(yùn)算 求階差求階差 尾數(shù)相除尾數(shù)相除 預(yù)置預(yù)置 檢測被除數(shù)是否為檢測被除數(shù)是否為0 0
34、,若為,若為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)算指令完成。目前,計(jì)算機(jī)實(shí)現(xiàn)BCDBCD碼運(yùn)算的方法有兩種:碼運(yùn)算的方法有兩種: 機(jī)器的指令系統(tǒng)中設(shè)有專用進(jìn)行機(jī)器的指令系統(tǒng)中設(shè)有
35、專用進(jìn)行BCDBCD碼加、減、乘、除的運(yùn)算指令。碼加、減、乘、除的運(yùn)算指令。 先用二進(jìn)制數(shù)的加、減、乘、除指令進(jìn)行運(yùn)算,緊接著用先用二進(jìn)制數(shù)的加、減、乘、除指令進(jìn)行運(yùn)算,緊接著用BCDBCD碼校正碼校正指令對運(yùn)算結(jié)果進(jìn)行校正。指令對運(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,因而需要校正。,因而需要校正。353.3 3.3 CPUCPU模型機(jī)的組成及其數(shù)據(jù)通路模型機(jī)的組成及其數(shù)據(jù)通路3.3.1 3.3.1 基本組成基本
36、組成模型機(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指令寄存器指令寄存器IRIR用來存放當(dāng)前正在執(zhí)行的一條指令用來存放當(dāng)前正在執(zhí)行的一條指令。 (4 4)與主存接口的寄存器)
37、與主存接口的寄存器MARMAR、MDRMDR CPU CPU對主存的控制信號有兩個(gè):讀信號對主存的控制信號有兩個(gè):讀信號RDRD控制對主存的讀操作;寫信號控制對主存的讀操作;寫信號WRWR控制對主存的寫操作??刂茖χ鞔娴膶懖僮?。372 2運(yùn)算部件運(yùn)算部件 ALU ALU的輸入的輸入A A來自暫存器來自暫存器D D,輸入,輸入B B來自來自ALUALU總線,運(yùn)算結(jié)果輸出總線,運(yùn)算結(jié)果輸出到到Z Z 。控制??刂艫LUALU運(yùn)算的控制信號有:運(yùn)算的控制信號有:ADDADD、SUBSUB、ANDAND、OROR、XORXOR、COMCOM、NEGNEG、A+1A+1、A-1A-1、B+1B+1、B-
38、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和所有寄存器通過這組和所有寄存器通過這組公共總線連接起來。公共總線連接起來。 (2 2)系統(tǒng)總線)系統(tǒng)總線 模型機(jī)的模型機(jī)的CPUCPU、存儲器及、存儲器及I/OI/O設(shè)備分
39、別掛接在一組系統(tǒng)總線上。設(shè)備分別掛接在一組系統(tǒng)總線上。系統(tǒng)總線包括:系統(tǒng)總線包括:1616根地址總線、根地址總線、1616根數(shù)據(jù)總線,以及控制總線。為根數(shù)據(jù)總線,以及控制總線。為簡單起見,模型機(jī)采用簡單起見,模型機(jī)采用同步控制同步控制方式。方式。384 4控制器及微命令的基本形式控制器及微命令的基本形式(1 1)微命令的基本形式)微命令的基本形式 在模型機(jī)中,微命令有兩種形式。在模型機(jī)中,微命令有兩種形式。 電位型微命令電位型微命令 各寄存器輸出到各寄存器輸出到ALU總線的控制信號有:總線的控制信號有:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。等。 ALU運(yùn)算控制信號有:
40、運(yùn)算控制信號有:ADD、SUB、AND、OR、XOR等。等。 暫存器暫存器D的左移的左移/右移控制信號有:右移控制信號有:SAL、SAR。 程序計(jì)數(shù)器程序計(jì)數(shù)器PC的計(jì)數(shù)控制信號有:的計(jì)數(shù)控制信號有:PC+1。 MAR和和MDR輸出到系統(tǒng)總線的控制信號有:輸出到系統(tǒng)總線的控制信號有:EMAR、EMDR。 寄存器置入控制信號有:寄存器置入控制信號有:SMDR、SPSW。 主存的讀主存的讀/寫信號有:寫信號有:RD、WR。 脈沖型微命令脈沖型微命令脈沖型微命令有:脈沖型微命令有:CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。等。39(2 2)控制器)控制器 傳統(tǒng)控制器
41、的主要部件包括:傳統(tǒng)控制器的主要部件包括:指令寄存器指令寄存器IRIR、指令譯碼器指令譯碼器、程程序計(jì)數(shù)器序計(jì)數(shù)器PCPC、狀態(tài)字寄存器狀態(tài)字寄存器PSWPSW、時(shí)序系統(tǒng)和微操作信號發(fā)生器時(shí)序系統(tǒng)和微操作信號發(fā)生器。 控制器是整機(jī)的指揮中心,其控制器是整機(jī)的指揮中心,其基本功能就是分析執(zhí)行指令,即根基本功能就是分析執(zhí)行指令,即根據(jù)指令產(chǎn)生控制信號序列以控制相據(jù)指令產(chǎn)生控制信號序列以控制相應(yīng)部件分步完成指定的操作。應(yīng)部件分步完成指定的操作。403.3.2 3.3.2 數(shù)據(jù)傳送數(shù)據(jù)傳送1 1寄存器之間的數(shù)據(jù)傳送寄存器之間的數(shù)據(jù)傳送 在模型機(jī)中,寄存器之間可直接通過在模型機(jī)中,寄存器之間可直接通過A
42、LUALU總線傳送數(shù)總線傳送數(shù)據(jù),具體傳送由據(jù),具體傳送由輸出門輸出門和和打入脈沖打入脈沖控制??刂?。例如例如 :把寄存器:把寄存器R1的內(nèi)容傳送到寄存器的內(nèi)容傳送到寄存器R3,即實(shí)現(xiàn)傳,即實(shí)現(xiàn)傳送操作送操作R1R3所需控制信號為所需控制信號為R1OUT、CPR3 412 2主存數(shù)據(jù)傳送到主存數(shù)據(jù)傳送到CPUCPU 主存與主存與CPUCPU之間通過之間通過系統(tǒng)總線系統(tǒng)總線傳送數(shù)據(jù)。傳送數(shù)據(jù)。 PCMAR PCMAR ;PCPC中的指令地址送存儲器地址寄存器中的指令地址送存儲器地址寄存器 MMDRIR MMDRIR ;從存儲器中讀指令到;從存儲器中讀指令到IRIR實(shí)現(xiàn)實(shí)現(xiàn)PCMAR的控制信號:的
43、控制信號:PCOUT、CPMAR。 實(shí)現(xiàn)讀操作實(shí)現(xiàn)讀操作MMDR的控制信號:的控制信號:EMAR、RD、SMDR;實(shí)現(xiàn)實(shí)現(xiàn)MDRIR的控制信號:的控制信號:MDROUT、CPIR。 例如:要從存儲器中取指令到指令寄存器例如:要從存儲器中取指令到指令寄存器IR,通過以下操作序列即可實(shí)現(xiàn):通過以下操作序列即可實(shí)現(xiàn): 423 3CPUCPU數(shù)據(jù)傳送到主存數(shù)據(jù)傳送到主存 R1MAR R1MAR ;地址送;地址送MARMAR R2MDR R2MDR ;數(shù)據(jù)送;數(shù)據(jù)送MDRMDR MDRM MDRM ;數(shù)據(jù)寫入主存;數(shù)據(jù)寫入主存例如:在例如:在R2中存放需寫入主存的數(shù)據(jù),存儲單元地址在中存放需寫入主存的數(shù)
44、據(jù),存儲單元地址在R1中,則寫一個(gè)數(shù)據(jù)到存儲器可通過以下操作序列實(shí)現(xiàn):中,則寫一個(gè)數(shù)據(jù)到存儲器可通過以下操作序列實(shí)現(xiàn): 實(shí)現(xiàn)實(shí)現(xiàn)R1MAR的控制信號:的控制信號:R1OUT、CPMAR。實(shí)現(xiàn)實(shí)現(xiàn)R2MDR的控制信號為的控制信號為R2OUT、CPMDR。實(shí)現(xiàn)寫操作實(shí)現(xiàn)寫操作MDRM的控制信號為的控制信號為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)容通過內(nèi)容通過ALUALU 相加,結(jié)果送相加,結(jié)果送Z
45、 Z ZR3 ZR3 ;將存放在;將存放在Z Z中的相加結(jié)果送入中的相加結(jié)果送入R3R3中中例如:完成例如:完成“把寄存器把寄存器R1和和R2的內(nèi)容相加,結(jié)果送到的內(nèi)容相加,結(jié)果送到R3”這個(gè)功能,需要分成這個(gè)功能,需要分成3步執(zhí)行:步執(zhí)行: 實(shí)現(xiàn)實(shí)現(xiàn)R1D的控制信號:的控制信號:R1OUT、CPD。實(shí)現(xiàn)實(shí)現(xiàn)D + R2MDR的控制信號:的控制信號:R2OUT、ADD、CPZ。實(shí)現(xiàn)實(shí)現(xiàn)ZR3的控制信號:的控制信號:ZOUT、CPR3。 44 3.4 3.4 組合邏輯控制器原理組合邏輯控制器原理 組合邏輯控制器組合邏輯控制器是指產(chǎn)生控制信號(即微命令)的部件,是指產(chǎn)生控制信號(即微命令)的部件,
46、是用組合邏輯線路來實(shí)現(xiàn)。在模型機(jī)中有幾十個(gè)微命令,則每個(gè)微是用組合邏輯線路來實(shí)現(xiàn)。在模型機(jī)中有幾十個(gè)微命令,則每個(gè)微命令都需要一組邏輯門電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作命令都需要一組邏輯門電路,根據(jù)相應(yīng)的邏輯條件(如指令的操作碼、尋址方式、時(shí)序信號等)產(chǎn)生該微命令。碼、尋址方式、時(shí)序信號等)產(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
47、1指令格式指令格式(1 1)雙操作數(shù)指令:其格式如下圖所示)雙操作數(shù)指令:其格式如下圖所示 第第12121515位表示操作碼,第位表示操作碼,第6 61111位為源操作數(shù)地址段,第位為源操作數(shù)地址段,第0 05 5位為目的操作數(shù)地址段,在每個(gè)地址段字段中又分為兩部分,其位為目的操作數(shù)地址段,在每個(gè)地址段字段中又分為兩部分,其中中3 3位表明位表明尋址方式尋址方式類型,另外類型,另外3 3位給出所指定的位給出所指定的寄存器編號寄存器編號。 46(1 1)雙操作數(shù)指令格式)雙操作數(shù)指令格式可編程寄存器有可編程寄存器有7 7個(gè),編號如下(留個(gè),編號如下(留有一種編碼未用,可擴(kuò)展):有一種編碼未用,可
48、擴(kuò)展): 通用寄存器通用寄存器R0R0R3 000R3 000011011 堆棧指針堆棧指針SP 100SP 100 程序狀態(tài)字程序狀態(tài)字PSW 101PSW 101 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 111PC 11147(2 2)單操作數(shù)指令)單操作數(shù)指令 第第0 05 5位為地址字段,第位為地址字段,第6 61111位空閑不用,位空閑不用,也可供擴(kuò)展操作碼用。也可供擴(kuò)展操作碼用。48(3 3)轉(zhuǎn)移指令)轉(zhuǎn)移指令 第第12121515位為操作碼,第位為操作碼,第6 61111位給出轉(zhuǎn)移地址字段(也分為位給出轉(zhuǎn)移地址字段(也分為尋址方式與寄存器號兩部分)。第尋址方式與寄存器號兩部分)。第0 05 5
49、位則為轉(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,表示,表示無條件轉(zhuǎn)移。無條件轉(zhuǎn)移。 492 2尋址方式尋址方式 模型機(jī)的編址為模型機(jī)的編址為按字編址按字編址,字長,字長1616位,即主存每個(gè)單元位,即主存每個(gè)單元1616位
50、。位。采用簡單變字長指令格式,指令長度可為采用簡單變字長指令格式,指令長度可為1616位、位、3232位(指令中含立位(指令中含立即數(shù)或一個(gè)操作數(shù)地址)或即數(shù)或一個(gè)操作數(shù)地址)或4848位(含位(含2 2個(gè)操作數(shù)地址),操作數(shù)字個(gè)操作數(shù)地址),操作數(shù)字長長1616位。位。模型機(jī)尋址方式模型機(jī)尋址方式 如下表如下表:類型類型尋址方式尋址方式匯編符號匯編符號 可指定寄存器可指定寄存器 定義簡述定義簡述 0寄存器尋址寄存器尋址 R R R0R0R3R3,SPSP,PSWPSW 數(shù)在指定寄存器中數(shù)在指定寄存器中 1寄存器間址寄存器間址 (R) (R) R0R0R3R3,SPSP 地址在指定寄存器中地址
51、在指定寄存器中 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變址尋址變址尋址 X(R) X(R) R0R0R3R3,SPSP,PCPC 變址寄存器內(nèi)容與緊跟指令的位變址寄存器內(nèi)容與緊跟指令的位移量相加,為操作數(shù)地址移量相加,為操作數(shù)
52、地址 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)位)。ANDAND邏輯與,操作碼邏輯與,操作碼00110011。OR OR 邏輯或,操作碼邏輯或,操作碼01000100。EOREOR邏輯異或,操作碼邏輯異或,操作碼0101
53、0101。(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)程序控制類指令)程序控制類指令 轉(zhuǎn)移指令JMP,操作碼1100。 IR5IR5 IR3IR3 IR2IR2 IR1IR1 IR0IR0 說說 明明 0 0 0 0 0 0 0 0 1 1 進(jìn)位進(jìn)位C
54、=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=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 無條件轉(zhuǎn)移無條件轉(zhuǎn)移 如上表所示,如上表所示,
55、JMPJMP指令第指令第3 30 0位選擇一位為位選擇一位為1 1,表明以,表明以PSWPSW中的某一特征作為中的某一特征作為轉(zhuǎn)移條件。因此,轉(zhuǎn)移條件。因此,JMPJMP指令第指令第3 30 0位的含義與位的含義與PSWPSW第第3 30 0位含義分別相對應(yīng)。例如位含義分別相對應(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)位狀態(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
56、50 0位全為位全為0 0,則表示無條件轉(zhuǎn)移。,則表示無條件轉(zhuǎn)移。52 返回指令返回指令RSTRST,操作碼,操作碼11001100。 RST RST指令與指令與JMPJMP指令的操作碼相同,可視為一條指令。指令的操作碼相同,可視為一條指令。RSTRST指令指令只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為只能采用自增型寄存器間址表明轉(zhuǎn)移地址,并指定寄存器為SPSP,即,即尋址方式為(尋址方式為(SPSP)+ +。它從堆棧中取出返回地址,然后修改堆棧指。它從堆棧中取出返回地址,然后修改堆棧指針針SP+1SP+1。實(shí)際上,。實(shí)際上,“JMPJMP(SPSP)+”+”指令就是一條指令就是一條
57、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)志,使CPUCPU分步工作。模型分步工作。模型機(jī)采用前述的三級時(shí)序系統(tǒng),即將時(shí)序信號分為機(jī)采用前述的三級時(shí)序系統(tǒng),即將時(shí)序信號分為工作周期工作周期、節(jié)拍節(jié)拍(時(shí)鐘周期)(時(shí)鐘
58、周期)和和工作脈沖工作脈沖。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 4)執(zhí)行周期)執(zhí)行周期ETET 在取得操作數(shù)后,則進(jìn)入在取得操作數(shù)后,則進(jìn)入ETET,在在ETET中中將依據(jù)將依據(jù)IRIR中操作碼執(zhí)行相應(yīng)操作,如中操作碼執(zhí)行相應(yīng)操作,
59、如傳送、算術(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 中斷方式:由于某些異常情況或特殊請求,引起中斷方式:由于某些異常情況或特殊請求,引起CPU暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)去執(zhí)行中斷處理子程序,以處理這些情況或請求,等處理完后又返回原程序去執(zhí)行中斷處理子程序,以處理這些情況或請求,等處理完后又返回原程序斷點(diǎn)繼續(xù)執(zhí)行,這一過程就稱為中斷。斷點(diǎn)繼續(xù)執(zhí)行
60、,這一過程就稱為中斷。 CPU在響應(yīng)中斷請求之后,進(jìn)入中斷響應(yīng)周期在響應(yī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,開始執(zhí)行中斷處理程序。,開始執(zhí)行中斷處理程序。 DMA(Direct Memory Access)即直接訪存方式:其基本思想是在主存儲器)即直接訪存方式:其基本思想是在主存儲器和和I/O設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由專門的設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由專門的DMA控制器控制主存和控制器控制主存和I/O設(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級審計(jì)師特點(diǎn)試題及答案總結(jié)
- 2024高會學(xué)習(xí)的橫向?qū)Ρ仍囶}及答案
- 企業(yè)審計(jì)合規(guī)性提升試題及答案
- 2025年消防安全報(bào)告試題及答案
- 預(yù)測2024年酒店經(jīng)營管理師考試的新興試題及答案
- 設(shè)計(jì)歷史與現(xiàn)代應(yīng)用的聯(lián)系試題及答案
- 紡織機(jī)械使用中的風(fēng)險(xiǎn) control辦法試題及答案
- 質(zhì)量工程師2024年考試解題技巧試題及答案
- 紡織機(jī)械操作現(xiàn)場管理試題及答案
- 2025年青島市房屋租賃合同示范文本
- 《大學(xué)生職業(yè)生涯規(guī)劃作品》重慶
- 國土空間規(guī)劃與自然資源“一張圖”構(gòu)建的理論方法和實(shí)踐
- 全國青少年電子信息智能創(chuàng)新大賽圖形化編程(必做題模擬三卷)
- 2023學(xué)年度六年級語文下冊期末復(fù)習(xí)(根據(jù)課文內(nèi)容填空)
- 2023學(xué)年完整公開課版虎皮鸚鵡
- 共產(chǎn)主義原理
- 內(nèi)科培訓(xùn)計(jì)劃
- GRR分析表格模板
- 撫順東科精細(xì)化工有限公司 15萬噸-年減水劑單體、3萬噸-年表面活性劑系列產(chǎn)品及16萬噸-年碳酸酯 系列產(chǎn)品建設(shè)項(xiàng)環(huán)境影響報(bào)告
- 產(chǎn)品需求文檔(PRD)模板
- 2022新教科版科學(xué)五下全冊教案、全冊教學(xué)反思(表格式)
評論
0/150
提交評論