版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第六章 中央處理部件CPU主要介紹中央處理器及其控制器的設計原理、控制技術CPU的功能隨著集成電路的出現(xiàn)和集成度的提高,出現(xiàn)了微處理器,將運算器和控制器集成在一個芯片上,通常也稱為CPU。CPU的功能:1. 指令控制 即對程序運行的控制。程序由一個指令序列構(gòu)成,這些指令在邏輯上的相互關系不能改變。CPU必須對指令的執(zhí)行進行控制,保證指令序列執(zhí)行結(jié)果的正確性。2. 操作控制 即對指令內(nèi)操作步驟的控制。一條指令的功能一般需要幾個步驟來實現(xiàn),CPU必須控制這些操作步驟的實施。 操作控制包括時間控制,即對各種操作進行時間上的控制。因為各種操作信號均受時間的嚴格限制,必須控制各個信號之間的相互關系。3.
2、 數(shù)據(jù)運算 即對數(shù)據(jù)進行算術運算和邏輯運算,這是CPU最基本的功能。主要在運算器中完成。4. 異常處理和中斷處理 如運算中的溢出處理、出錯情況,以及處理外設的服務請求等。此外,CPU還有存儲管理、總線管理、電源管理等擴展功能。存儲管理:包括虛擬存儲器的管理,以及存儲器的保護等;總線管理:對CPU所連接的系統(tǒng)總線的裁決、同步等;電源管理:為了減少CPU的電源消耗以及減少CPU芯片的發(fā)熱。CPU的基本組成CPU的組成控制器:包括PC、IR、時序產(chǎn)生器、操作控制器以及 一些特殊的寄存器組成。運算器:算術邏輯單元和各種寄存器組成。控制器的功能:協(xié)調(diào)并控制計算機的各個部件執(zhí)行程序的指令序列。即正確且自動
3、地連續(xù)執(zhí)行指令,正確地分步完成每一條指令規(guī)定的功能。進一步說,就是向計算機各功能部件發(fā)出協(xié)調(diào)運行每一個步驟所需要的控制信號。運算器的功能: 接受控制器的命令進行算術或邏輯運算操作。CPU中的寄存器CPU中有多種寄存器。如在CISC系統(tǒng)中,一般有五種寄存器:(1)指令寄存器IR:存放當前正在執(zhí)行的指令,為指令譯碼器提供信息;(2)程序計數(shù)器PC:存放下一條要執(zhí)行指令的地址。一般采用具有計數(shù)功能的寄存器作PC寄存器。(3)數(shù)據(jù)寄存器DR:存放操作數(shù)、運算結(jié)果和中間結(jié)果,或者訪存操作的數(shù)據(jù)。 存放中間結(jié)果的數(shù)據(jù)寄存器,即可放ALU的運算結(jié)果,又可向ALU提供操作數(shù),與ALU一起可以進行數(shù)據(jù)累加,因此
4、又可稱為累加器。如果多個數(shù)據(jù)寄存器都具有累加器功能時,就稱為通用寄存器。(4)地址寄存器AR:專門存放操作數(shù)的地址。 通用寄存器即可存放操作數(shù),又可存放操作數(shù)地址,因此許多設置有通用寄存器的計算機都不設置專門的地址寄存器。(5)狀態(tài)寄存器SR:存放運算狀態(tài)以及處理器的狀態(tài),這些信息是控制程序的條件。RISC處理器中一般不設置專門的SR,狀態(tài)都存放在通用寄存器中。控制器分類:微程序控制器和硬布線控制器數(shù)據(jù)總線數(shù)據(jù)總線時序控制時序控制信號信號形成部件形成部件譯碼譯碼IRPC輸出輸出設備設備輸入輸入設備設備主主存存運算器運算器部件部件時序時序啟停啟停地址寄存器地址寄存器地址總線地址總線控制總線控制總
5、線.控制條件控制條件控制器信號控制器信號主振主振硬布線硬布線方案的方案的控制器控制器6.1 計算機的硬件系統(tǒng)1. Intel 80386微機系統(tǒng)時鐘發(fā)生器80387協(xié)處理器80386微處理器82258DMA控制器總線控制邏輯總線控制邏輯READY邏輯8259A中斷控制器存儲器輸入 輸出設備中斷設備總線resetCLKCLK22. 80386結(jié)構(gòu)及外部連線Intel 80386包括指令部件、執(zhí)行部件和存儲管理部件等。指令部件完成取指及指令譯碼功能,并產(chǎn)生控制信號;執(zhí)行部件包括ALU、乘法部件、寄存器組等;存儲管理部件用來確定存儲器地址。80386CLK2D0D31數(shù)據(jù)總線地址總線A2A31BE3
6、#BE2#BE1#BE0#32位地址W/R#D/C#M/IO#LOCK#總線周期定義ADS#NA#BS16#READY#總線控制HOLDHLDA總線仲裁INTRNMIRESET中斷VCCGND電源連接PEREQBUSY#ERROR#協(xié)處理器信號6.2 控制器的組成(1)取指令 根據(jù)PC給出的指令地址,從內(nèi)存中取得指令,放到IR中。(2)分析指令(譯碼) 對當前指令進行分析譯碼,產(chǎn)生相應的操作控制命令。如 果操作數(shù)在存儲器中,還需要形成操作數(shù)地址。(3)執(zhí)行指令 根據(jù)譯碼時產(chǎn)生的操作命令和操作數(shù)地址,形成相應的 操作控制信號序列,通過CPU及輸入輸出設備的執(zhí)行,實 現(xiàn)指令的功能,并產(chǎn)生下一條指令
7、的地址。(4)控制程序和數(shù)據(jù)輸入與結(jié)果輸出 在適當?shù)臅r候向輸入輸出設備發(fā)出一些相應的命令完成 I/O功能。6.2.1 控制器的功能 協(xié)調(diào)并控制計算機的各個部件執(zhí)行程序的指令序列。(5)對異常和某些請求的處理 當機器出現(xiàn)某些異常情況,比如算術運算的溢出、數(shù)據(jù)傳送的奇偶錯等;或者出現(xiàn)某種外來請求,比如輔存與主存之間要傳送數(shù)據(jù)、I/O設備與存儲器之間要傳送數(shù)據(jù)等,由這些設備或部件發(fā)出中斷請求信號或者DMA請求信號。 中斷請求信號 CPU執(zhí)行完當前指令后,響應該請求,中止當前執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷處理程序,處理完畢后,再返回原程序繼續(xù)運行。 DMA信號 等CPU完成當前機器周期操作后,暫停工作,讓出
8、總線給I/O設備,在完成I/O設備與存儲器之間的數(shù)據(jù)傳送操作后,CPU從中止的機器周期開始繼續(xù)執(zhí)行指令。在此期間,不允許改變CPU中任一寄存器的狀態(tài)。6.2.2 控制器的組成根據(jù)控制器的功能,得出其基本組成如下:1. 程序計數(shù)器PC 即指令地址寄存器,存放當前正在執(zhí)行的指令地址。(某些計算機則用來存放即將要執(zhí)行的下一條指令地址) 有兩種途徑可以形成指令地址: (1)順序執(zhí)行的情況,通過程序計數(shù)器加“1”形成下一條指令地址(假如存儲器按字節(jié)編址,而指令長度為4個字節(jié),則加“4”)。 (2)非順序執(zhí)行時,由轉(zhuǎn)移指令形成轉(zhuǎn)移地址送往PC,作為下一條指令的地址。2. 指令寄存器IR 存放當前正在執(zhí)行的
9、指令。3. 指令譯碼器 對指令寄存器中的操作碼進行分析解析,產(chǎn)生相應的控制信號。4. 脈沖源及啟停線路 脈沖源產(chǎn)生一定頻率的脈沖信號作為整個機器的時鐘脈沖,是機器周期和工作脈沖的基準信號。 啟停線路保證可靠地送出或封鎖時鐘脈沖,控制時序信號的發(fā)生或者停止,從而啟動機器或使之停機。5. 時序控制信號形成部件 當機器啟動后,在CLK時鐘作用下,根據(jù)當前正在執(zhí)行的指令的需要,產(chǎn)生相應的時序控制信號,并根據(jù)被控部件的反饋信號調(diào)整時序控制信號。運算器存儲器I / O時序控制信號形成部件脈沖源啟停線路操作碼 地址碼指令譯碼器程序計數(shù)器狀態(tài)寄存器數(shù)據(jù)總線DB地址總線AB控制總線CB數(shù)據(jù)操作數(shù)地址+1指令指令
10、寄存器IRresetCLKPC轉(zhuǎn)移地址地址碼指令地址6.2.3 指令執(zhí)行過程指令周期:從一條指令的啟動到下一條指令啟動的間隔時間。機器周期:指令執(zhí)行中每一步操作所需的時間。時鐘周期:一般CPU采用一個統(tǒng)一的時鐘信號,這個時鐘信號 的周期稱為時鐘周期。指令的執(zhí)行過程一般包含若干個機器周期,每個機器周期完成一個基本操作步驟。一個機器周期可以由一個或多個時鐘周期構(gòu)成。周期:是指令運行過程中相對獨立的階段。一般把指令的運行過程分為取指令、讀操作數(shù)和執(zhí)行(包括寫結(jié)果)三個基本工作周期。(當然,不是所有的指令都必須包含這三個基本周期)例:加法指令執(zhí)行過程加法指令功能:將寄存器(rs)中的一個數(shù)與存儲器中的
11、一個數(shù)(其地址為(rs1)+disp)相加,結(jié)果放在寄存器rd中。(rs和rd為同一個寄存器)操作碼 rs,rd rs1 imm或disp指令格式(1)從存儲器中取指令,送入IR,并對操作碼進行譯碼分析; 同時PC+1,為下一條指令做好準備。 控制信號:PC AB, ADS,W/R = 0, M/IO = 1, DB IR, PC+1(2)計算數(shù)據(jù)地址,將計算得到的有效地址送入AR。 控制信號:rs1 GR, (rs1) ALU, disp ALU, “+” ALU, ALU AR(3)到存儲器取數(shù) 控制信號:AR AB, ADS, W/R = 0, M/IO = 1, DB DR(4)進行加
12、法運算,結(jié)果送rd寄存器,并根據(jù)運算結(jié)果置狀 態(tài)位N、Z、V、C。 控制信號:rs GR, (rs) ALU, DR ALU, “+” ALU, rd GR, ALU rd, 置N、Z、V、C例:條件轉(zhuǎn)移指令執(zhí)行過程指令功能:根據(jù)N、Z、V、C的狀態(tài),決定是否轉(zhuǎn)移。如果轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序執(zhí)行下一條指令。(1)從存儲器中取指令,送入指令寄存器,并進行操作碼譯碼。 控制信號:PC AB, W/R = 0, M/IO = 1, DB IR, PC+1(2)如果條件成立,則根據(jù)指令給出的尋址方式,計算有效地 址。比如采用相對尋址,則轉(zhuǎn)移地址 = PC + disp(此
13、處PC 值應該先還原) 控制信號:PC ALU, disp ALU, “+” ALU, ALU AR ALU PC6.3 微程序控制器的基本工作原理一條指令的功能是通過一定次序執(zhí)行一系列的基本操作完成的。一條指令的功能是通過一定次序執(zhí)行一系列的基本操作完成的。 這些操作稱為這些操作稱為微操作(微命令)。微操作(微命令)。微指令:微指令:同時發(fā)出的控制信號所執(zhí)行的一組微操作。同時發(fā)出的控制信號所執(zhí)行的一組微操作。 將一條指令分成若干條微指令,按次序執(zhí)行這些微指令,就將一條指令分成若干條微指令,按次序執(zhí)行這些微指令,就 可以實現(xiàn)指令的功能??梢詫崿F(xiàn)指令的功能。微程序:微程序:用多條用多條微指令微指
14、令解釋每條機器指令的整個執(zhí)行過程,這解釋每條機器指令的整個執(zhí)行過程,這幾條幾條微指令微指令構(gòu)成解釋該條機器指令的一個構(gòu)成解釋該條機器指令的一個微程序(或稱為微程微程序(或稱為微程序段)。序段)??刂拼鎯ζ鳎嚎刂拼鎯ζ鳎罕4嫖⒊绦虻拇鎯ζ?。微程序控制器的微指令寄保存微程序的存儲器。微程序控制器的微指令寄存器接收每次讀出的一條微指令。存器接收每次讀出的一條微指令。微指令地址(下一條要執(zhí)行的微指令地址稱為下地址)微指令地址(下一條要執(zhí)行的微指令地址稱為下地址)執(zhí)行一條微指令所用的時間被稱為一個執(zhí)行一條微指令所用的時間被稱為一個微周期微周期。6.3.2 實現(xiàn)微程序控制的基本原理1. 控制信號 表6.1
15、 “加法” 指令:它由四條微指令解釋執(zhí)行 (每條微指令所需的控制信號 P174)(1)取指微指令(2)計算地址微指令(3)取數(shù)微指令(4)加法運算和送結(jié)果微指令 1 2 23 35 微指令的格式和內(nèi)容控制字段下地址字段PC ABALU PCW / R實際上,計算機的控制信號數(shù)量要遠大于23個,而且控制存儲器的容量一般也大于4K。通常,微指令字的長度在100位以上??刂拼鎯ζ鞯娜萘咳Q于實現(xiàn)指令系統(tǒng)所需的微程序的長度實現(xiàn)指令系統(tǒng)所需的微程序的長度。當前正在執(zhí)行的微指令從控制存儲器中取出后放在微指令寄存器中,該寄存器的各個控制位的輸出直接連到各個控制門上。得到下地址的方法 由指令操作碼譯碼得到 微
16、指令順序執(zhí)行 微指令必轉(zhuǎn)或條件轉(zhuǎn)移 多路微地址轉(zhuǎn)移 微子程序調(diào)用和返回 按次數(shù)循環(huán)一段微程序 其他:如特定入口微地址用流程圖來表示微程序取指PC+1計算地址 1000計算地址 1005取數(shù) 1006減法運算 1000計算地址 1002取數(shù) 1003加法運算 1000加法指令 1001減法指令 1004轉(zhuǎn)移指令 1100100010021003100510062. 微程序控制器操作碼 地址碼 指令譯碼控制存儲器控制字段 下址指令寄存器 IR形成本條指令的微程序入口地址微指令寄存器 基本工作原理:1.指令取入IR之后,根據(jù)操作碼進行譯碼,得到相應指令的第一條微指令的地址。2.然后,由微指令的下址字
17、段給出下一條微指令的地址。指令譯碼器:可用只讀存儲器組成。將操作碼作為輸入地址,而該單元的內(nèi)容是相應的微指令在控制存儲器中的地址。根據(jù)此地址從控制存儲器中取出微指令,放入微指令寄存器中??刂谱侄胃魑坏妮敵觯ㄟ^連線直接和受控制的門相連,于是提供了各種控制信號。微程序控制器工作流程CPU開始執(zhí)行取指令微程序的入口地址 uAR讀微指令 uIR產(chǎn)生下一條微指令地址 uIR(uPC) 取出指令 IR譯碼,形成本指令的微程序入口地址 uIR(uPC)執(zhí)行微程序本微程序執(zhí)行完了嗎?取指令微程序執(zhí)行完了嗎?是否是否3.時序信號及工作脈沖的形成 CLK2經(jīng)過二分頻得到CLK,再將CLK分頻得到T1,T1反相得
18、到T2。 一般利用觸發(fā)器進行分頻。 假設一個機器周期由T1和T2組成,在T2的末尾需要產(chǎn)生一個工作脈沖CP來保存計算結(jié)果或接受傳送的數(shù)據(jù)、指令等。CP = T2 CLK CLK2CP1 = T1 CLK CLK2機器周期的確定一條微指令在一個機器周期內(nèi)完成。而微指令由若干個微操作組成,不同的微指令要完成得微操作是不同的。所以,機器周期應該大于或等于執(zhí)行時間最長的微操作時間。微程序控制器的主要特點及優(yōu)缺點(1)微程序定義了計算機的指令系統(tǒng),因此可以借助改變微程序存儲器的內(nèi)容來改變指令系統(tǒng),使得指令系統(tǒng)的設計、修改以及擴充都成為不太困難的事情。這為計算機設計者及用戶提供了相當大的靈活性。(一般而言
19、,并不需要改變微程序存儲器的內(nèi)容,所以通常用只讀存儲器ROM充當微程序存儲器)(2)任何機器指令的執(zhí)行,都將多次訪問到控制存儲器,因此它的速度在決定計算機總的速度時起主要的作用。優(yōu)點:與組合邏輯的控制方法相比,大大減少了控制器的復雜性和非標準化程度,從而把硬件的用量限制在很小范圍內(nèi)。缺點:比硬布線控制器速度慢。6.4 微程序設計技術6.4.1 微指令的編譯法微指令的編譯法 1.直接控制法直接控制法直接用微指令字的一位作一個控制信號,簡單且速度快,但會使微直接用微指令字的一位作一個控制信號,簡單且速度快,但會使微指令字變得很長。指令字變得很長。 2.字段直接編譯法字段直接編譯法 把互斥的微命令分
20、在一組加以編碼,經(jīng)譯碼器給出命令,把互斥的微命令分在一組加以編碼,經(jīng)譯碼器給出命令, 速度會稍慢,但可大大減短微指令字長度,確?;コ?。速度會稍慢,但可大大減短微指令字長度,確保互斥。 3.字段間接編譯法字段間接編譯法 是對直接譯碼的的一種改進,可進一步縮短微指令字長度,即一個是對直接譯碼的的一種改進,可進一步縮短微指令字長度,即一個字段的某些微命令還受另一字段的制約。字段的某些微命令還受另一字段的制約。 4.常數(shù)源字段常數(shù)源字段E 微指令中分配幾位,用于給出特定用途的有關數(shù)值微指令中分配幾位,用于給出特定用途的有關數(shù)值。設計微指令結(jié)構(gòu)的目標(1)縮短微指令的長度(2)減小控制存儲器的容量(3)
21、提高微程序的執(zhí)行速度(4)有利于微指令的修改(5)提高微程序設計的靈活性6.4.2 微程序流的控制現(xiàn)行微指令:正在執(zhí)行的微指令?,F(xiàn)行微地址:現(xiàn)行微指令所在的控制存儲器單元的地址。后繼微指令:下一條要執(zhí)行的微指令。后繼微地址:后繼微指令所在的控制存儲器單元的地址。微程序流的控制:當前微指令執(zhí)行完后,怎樣控制產(chǎn)生后繼 微指令的地址。產(chǎn)生后繼微地址的幾種方法:(1)以增量方式產(chǎn)生后繼微地址 順序執(zhí)行微指令時, 后繼微地址 = 現(xiàn)行微地址 + 一個增量(通常為1) 非順序執(zhí)行(遇到轉(zhuǎn)移類微指令) 由uPC與形成轉(zhuǎn)移微地址的邏輯電路組合形成后繼地址(2)增量與下地址字段結(jié)合產(chǎn)生后繼微地址將微指令的下址字
22、段分成兩部分: 轉(zhuǎn)移控制字段BCF 和 轉(zhuǎn)移地址字段BAF當微程序?qū)崿F(xiàn)轉(zhuǎn)移時,將BAF送uPC,否則順序執(zhí)行下一條微指令( uPC+1)。假定有8種轉(zhuǎn)移情況,定義了8個微命令,BCF取3位。P186表6.2BAF的長度有兩種情況:(1)與uPC位數(shù)相等,則可以從控制存儲器的任一單元中取微指令。(2)比uPC短;由原來的uPC的若干位與BAF組合形成轉(zhuǎn)移微地址。(3)多路轉(zhuǎn)移方式一條微指令存在多個轉(zhuǎn)移分支的情況,稱為多路轉(zhuǎn)移。在若干個微地址中選擇一個,作為后繼微地址。典型的例子:根據(jù)操作碼產(chǎn)生不同的后繼微地址。執(zhí)行過程中,有時要根據(jù)某些硬件狀態(tài)來決定后繼微地址。 根據(jù)一種狀態(tài)(只涉及微地址中的一
23、位)可有兩個轉(zhuǎn)移方向,即兩路轉(zhuǎn)移; 根據(jù)兩種狀態(tài)(涉及了微地址中的兩位)可有四個轉(zhuǎn)移方向,即四路轉(zhuǎn)移;(4)微中斷在微程序執(zhí)行過程中,一旦出現(xiàn)微中斷請求信號,在完成當前指令的微程序后響應該微中斷請求。當CPU響應微中斷請求時,由硬件產(chǎn)生微中斷程序的入口地址。6.4.3 微指令格式微指令格式大體上可分為兩類: 水平型微指令和垂直型微指令。決定微指令格式的主要因素:微指令的編碼譯碼方法1. 水平型微指令基本特點:一條微指令中定義并執(zhí)行多個并行操作微命令。典型例子:采用直接控制法進行編碼的微指令實際應用中,直接控制法、字段編譯法(直接、間接)經(jīng)常用在同一條水平型微指令中。全水平型譯碼控制方式的水平型
24、混合方式水平型2. 垂直型微指令在微指令中設置有微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能,稱為垂直型微指令。特點: 格式與指令相似; 不強調(diào)實現(xiàn)微指令的并行控制功能,通常一條微指令只要求能控制實現(xiàn)一兩種操作。假定微指令字長16位,微操作碼3位,則有8條微指令。格式見P1923. 水平型和垂直型微指令的比較(1)水平型微指令并行操作能力強,效率高,靈活性強;垂直型微指令則相對差一些。(2)水平型微指令執(zhí)行一條指令的時間短;垂直型微指令執(zhí)行時間則長。(3)由水平型微指令解釋的微程序,具有微指令字比較長,但微程序短的特點;垂直型微指令則相反,微指令字較短而微程序長。(4)水平型微
25、指令用戶難以掌握,而垂直型微指令與指令比較相似,掌握起來相對容易一些。6.4.4 微程序控制存儲器和動態(tài)微程序設計1. 微程序控制存儲器 一般由只讀存儲器ROM構(gòu)成,因為指令系統(tǒng)一般來說是相對固定的。 也可以用RAM做控制存儲器。但是由于RAM是易失性存儲器,所以開機后首先要將外存上的微程序調(diào)入控制存儲器,然后才能執(zhí)行程序。 優(yōu)點:可以修改微程序,即可以修改指令系統(tǒng)。 可以考慮部分控存用ROM構(gòu)成,實現(xiàn)固定的指令系統(tǒng); 部分控存由RAM構(gòu)成,用于擴充或修改某些指令。2. 動態(tài)微程序設計在一臺微程序控制的計算機中,假如能根據(jù)用戶的要求改變微程序,則稱這臺計算機有動態(tài)微程序設計功能。出發(fā)點:為了使
26、計算機更加靈活、更加有效地適應于不同的應用目標。動態(tài)微程序設計需要可寫控制存儲器的支持。用于動態(tài)微程序的控制存儲器稱為可寫控制存儲器(WCS)或用戶控制存儲器(UCS)。3. 控制存儲器的操作執(zhí)行一條微指令的過程,基本上分為兩步:取微指令、執(zhí)行微指令的各個微操作。這兩個步驟,在時間上,可以采用串行或者并行方式。4. 毫微程序設計毫微程序可以看作是用來解釋微程序的一種微程序。 因此,毫微指令可以看作是解釋微指令的微指令。采用毫微程序設計的主要目的:減少控制存儲器的容量。毫微程序設計思想:采用二級微程序設計方法。 第一級采用垂直微程序,第二級采用水平微程序。 每一級都有一個控制存儲器,分別放置垂直
27、型微指令和水平型毫微指令。第一級垂直微程序,是根據(jù)實現(xiàn)指令系統(tǒng)的需要而編制的,有嚴格的順序結(jié)構(gòu),由它確定后繼微指令的地址。第二級水平微指令,是由第一級調(diào)用的,具有并行操作控制的能力,但不包含后繼微指令地址的信息。6.4.5 微程序設計語言設計者或其他用戶用來編制微程序的語言,叫做微程序設計語言。用微程序設計語言編制的程序,叫做源微程序。源微程序不能直接裝入控制存儲器,要將它轉(zhuǎn)換成二進制代碼后,才能裝入控制存儲器中。6.5 硬布線控制的計算機“時序控制信號形成部件”產(chǎn)生控制計算機各部件的控制信號。此部件的組成,有兩種方式: 一種,是微程序控制方式。 另一種,是硬布線控制方式,又稱為組合邏輯控制方
28、式。 由指令的操作碼直接控制并產(chǎn)生控制信號由指令的操作碼直接控制并產(chǎn)生控制信號6.5.1 時序與節(jié)拍指令的實現(xiàn),大致分為四步:取指、計算地址、取數(shù)、執(zhí)行。一般,每一步由一個機器周期實現(xiàn)??梢钥紤]用兩位計數(shù)器的譯碼輸出兩位計數(shù)器的譯碼輸出表示當前所處的機器周期;或者四位觸發(fā)器分別表示四個周期。計數(shù)器狀態(tài)變化A指令B指令 cyA cyB cyA cyB cyA cyB cyA cyB 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 cyA = cyA cyB + cyA cyBcyB = cyA cyB + cyA cyB = cyB
29、cyA = cyA cyB + cyA cyB = cyBcyB = cyA cyBA指令:B指令:6.5.2 操作控制信號的產(chǎn)生1. 操作碼譯碼器 輸入為操作碼(n位),輸出有 2n 根線。 每根輸出線表示一條指令。 有且僅有一根是高電位,其余均為低電位(或者相反)。譯碼器的輸出可以反映當前正在執(zhí)行的指令。由譯碼器的輸出和機器周期狀態(tài)cy1cy4作為輸入,使用邏輯電路產(chǎn)生操作控制信號。 P2012. 操作控制信號的產(chǎn)生(1) 取指周期cy1所產(chǎn)生的信號,對所有指令都是相同的,與當前執(zhí)行的指令無關。(2) 通常,一個控制信號在若干條指令的某些周期中會用到,為此,要把它們組合起來。 例如: “+
30、”命令 在加法指令的cy2、cy4時需要; 在減法指令的cy2時需要; 在轉(zhuǎn)移指令的cy2時需要; “+” = 加法指令(cy2+cy4) + 減法指令cy2 +轉(zhuǎn)移指令cy2 + 假設操作碼為7位(OP0OP6),若加法指令的操作碼為0001100,則 加法指令 = OP0 OP1 OP2 OP3 OP4 OP5 OP6(3) 同種類型的指令所需的控制信號大部分相同,僅有少量區(qū)別;不同類型的指令,控制信號差別較大。例如:加法指令和減法指令 除了一個信號不同(“+”命令或“-”命令),其他信號 都相同所有算術邏輯運算指令,只在ALU的操作命令以及是否置狀態(tài)位上有差別。(4) 確定指令操作碼時,
31、為了便于邏輯表達式的化簡以減少邏輯電路的數(shù)量,往往給與特別關注。例如:有16條算術邏輯運算指令,可以設置這些指令的前三位(OP0OP2)相同,比如001,而后四位分別表示這16條指令。若命令A是所有這16條指令在cy2周期都需產(chǎn)生的,則A = 加法指令cy2 + 減法指令cy2 + 邏輯加指令cy2 + = (加法指令+減法指令+邏輯加指令+) cy2 = OP0 OP1 OP2 cy26.5.3 控制器的組成1. 程序計數(shù)器和中斷控制邏輯程序計數(shù)器的輸入來源: reset信號(開機后將PC置初始地址); PC+1,形成下一指令的地址(順序執(zhí)行情況); 由ALU送來的轉(zhuǎn)移地址(程序轉(zhuǎn)移時);
32、由中斷控制邏輯部件中斷控制邏輯部件產(chǎn)生的中斷入口地址(當有外來中斷 請求,而CPU響應該中斷時);中斷入口地址一個多個 向量中斷 響應時間快軟中斷(陷阱指令Trap):中斷入口地址由指令的地址碼指令的地址碼部分給出。2. 譯碼器所以,譯碼器和硬布線邏輯的分界線往往是模糊的。一般意義上講,譯碼器的每條輸出線,代表一條指令。然而,同類指令的控制信號大部分相同,所以在操作碼的設計上,給于特別關注。因此,在譯碼器的輸出信號中,還可能增加有關指令類型的信號。3. 硬布線邏輯的實現(xiàn)途徑1)邏輯表達式較簡單時,用兩級門電路組成;2)實際邏輯復雜時,將若干個電路串聯(lián)、并聯(lián)后組合使用3)半定制電路門陣列實現(xiàn)4)
33、全定制電路實現(xiàn)(集成在VLSI的CPU芯片中)6.5.4 硬布線控制邏輯設計中的若干問題1. 指令操作碼的代碼分配指令操作碼的長度和位置不固定,增加了控制邏輯部件復雜性和凌亂性。合理分配指令操作碼,能節(jié)省控制部件的電路,減少延遲時間 2. 確定機器周期、節(jié)拍與主頻基本取決于指令的功能和器件的速度。一般可先考慮典型指令的執(zhí)行步驟和每一步驟時間。應該保證絕大多數(shù)指令的操作能在一個機器周期內(nèi)完成。一般來說,機器周期是根據(jù)存儲器的速度以及執(zhí)行周期的基本時間來確定的。3. 根據(jù)指令的功能,確定每條指令所需的機器周期數(shù)以及每個周期所完成的操作 對于機器周期cy1cy4的處理,實際情況很復雜,除了某些指令不
34、出現(xiàn)某些周期外,有些指令又要將某些周期延長。 在確定每條指令每一機器周期完成的操作時,也就得出了相應的操作控制命令 操作控制命令 = 指令名 * 機器周期 * 節(jié)拍 * 條件例如:采用“加減交替法”進行除法運算,根據(jù)上一次執(zhí)行結(jié)果的符號,決定本次執(zhí)行加法還是減法 “+”操作命令 = 除法指令 * cy4 * N “ -”操作命令 = 除法指令 * cy4 * N 4. 綜合所有指令的每一個操作命令先寫出邏輯表達式,然后化簡“+” = 加法指令(cy2+cy4) + 減法指令cy2 + 轉(zhuǎn)移指令cy2 + 乘法指令(cy2+cy4 y31) + 除法指令(cy2+cy4N) + 6.5.5 硬布
35、線控制與微程序控制的比較1. 實現(xiàn) 微程序控制器的控制功能,是在控制存儲器和微指令寄存器 的直接控制下實現(xiàn)的。 硬布線控制,則由邏輯門組合實現(xiàn)。2. 性能 微程序控制的速度比硬布線控制的速度低。6.6 控制器的控制方式控制器控制一條指令運行的過程,是依次執(zhí)行一個確定的微操作序列的過程。控制器的控制方式,就是指如何形成不同微操作序列的時序控制信號。常用的有:同步控制方式、異步控制方式、聯(lián)合控制方式。1. 同步控制方式 在程序運行時,任何指令的執(zhí)行或者指令中每個微操作的執(zhí)行都受事先確定的時序信號所控制。每個時序信號的結(jié)束意味著一個微操作或者一條指令已經(jīng)完成。在任何情況下,一條已定的指令在執(zhí)行時所需
36、的機器周期數(shù)和節(jié)拍數(shù)都固定不變,則為同步控制方式。 一條機器指令由確定的機器周期組成,每個機器周期又分為兩個節(jié)拍。同步控制方式可以選取的方案(1) 采用完全統(tǒng)一的機器周期(或節(jié)拍)執(zhí)行各種不同的指令。 即以最繁的微操作為標準,采取統(tǒng)一的、具有相同時間間隔和相同數(shù)目的節(jié)拍作為機器周期。(2) 采用不同節(jié)拍的機器周期,以解決微操作執(zhí)行所需時間不統(tǒng)一的問題。 通常把大多數(shù)微操作安排在一個較短時間內(nèi)完成,而對某些較繁的微操作,則采取延長機器周期或增加節(jié)拍的辦法解決。(3) 采用中央控制和局部控制相結(jié)合的方法。 將機器的大部分指令安排在一個統(tǒng)一的較短的機器周期內(nèi)完成,稱為中央控制。 將少量操作復雜的指令
37、的某些操作另行處理,稱為局部控制。例如:乘法操作、除法操作、浮點運算等。2. 異步控制方式當控制器發(fā)出進行某個微操作的控制信號后,等待執(zhí)行部件完成該操作后發(fā)回的“回答”信號或者“結(jié)束”信號,再開始新的微操作。這種方式,稱為異步控制方式。 每條指令、每個微操作需要多少時間,就占用多少時間。 微操作序列沒有固定的周期節(jié)拍和嚴格的時鐘同步。3. 聯(lián)合控制方式同步控制和異步控制相結(jié)合的方式。大部分微操作安排在一個固定的機器周期內(nèi),并在同步時序信號控制下進行;而對那些時間難以確定的微操作,則以執(zhí)行部件送回的“回答”信號作為本次微操作的結(jié)束。4. 人工控制為了調(diào)機和軟件開發(fā)的需要,在計算機面板或內(nèi)部往往設
38、置一些開關或按鍵,以進行人工控制。最常見的有:reset鍵、連續(xù)執(zhí)行或單條執(zhí)行的轉(zhuǎn)換開關、符合停機開關等。(1) reset按鍵 產(chǎn)生reset信號,使計算機處于初始狀態(tài)。 當計算機處于死鎖狀態(tài)或無法繼續(xù)運行時,可按此鍵。(2) 連續(xù)或單條轉(zhuǎn)換開關 連續(xù)工作:計算機按正常速度執(zhí)行程序; 單條執(zhí)行:每執(zhí)行一條指令后計算機自動停機;(3) 符合停機 在機器內(nèi)部設置一組開關,當程序運行時: 假如訪問存儲器的地址和設置開關值相等,機器停止運行-地址符合停機 假如指令的地址和設置開關值相等,機器停止運行-該地址稱為程序斷點6.7 流水線工作原理 機器的各部分,在某些周期內(nèi)進行操作,而在某些周期則是空閑的
39、。 如果控制器調(diào)度恰當,讓各個部件緊張工作,就可以提高機器的運行速度。1. 流水線基本工作原理順序執(zhí)行程序時,執(zhí)行過程如下(設四個周期完成一條指令):取指1計算地址1取數(shù)1計算存結(jié)果1取指2計算地址2或者,在某些計算機中,CPU分為指令部件I和執(zhí)行部件E,分別完成取指譯碼和運算存結(jié)果操作。則執(zhí)行過程如下:I1E1I2E2把若干條指令在時間上重疊起來執(zhí)行,可以大幅度提高程序的執(zhí)行效率。取指計算地址取數(shù)運算取指計算地址取數(shù)運算取指計算地址取數(shù)運算取指計算地址取數(shù)運算I1I2I3I4I1E1I2E2I3E3計算機的流水工作方式,就是將一個計算任務細分為若干個子任務,每個子任務由專門的部件處理。流水線
40、由一系列串聯(lián)的功能部件組成,各個功能部件之間設有緩沖寄存器,以暫時保存上一功能部件對子任務處理的結(jié)果。由于流水線相鄰兩段在執(zhí)行不同的指令(或操作),因此必須在相鄰兩段之間設置鎖存器或寄存器,以保證在一個周期內(nèi)流水線的輸入信號不變。 - 流水寄存器流水線在啟動執(zhí)行時有一個填充的過程,而在結(jié)束執(zhí)行時有一個排空過程。這兩個過程中,流水線的部分流水段沒有被利用;而在這兩個過程之間,則可以連續(xù)不斷的執(zhí)行指令,達到流水線裝滿的穩(wěn)定狀態(tài),此時處理速率最高。IFIdExMWIFIdExMWIFIdExMWIFIdExMW在有些計算機系統(tǒng)中,把流水線分為五個階段:2. 流水線的相關問題指令流水線的一個特點是,流
41、水線中的各條指令之間存在一些依賴性,或稱相關性,使指令的執(zhí)行受到影響。這些相關性分三類:數(shù)據(jù)相關、控制相關、資源相關。(1) 數(shù)據(jù)相關數(shù)據(jù)相關,是由于指令之間存在數(shù)據(jù)依賴性而引起的。根據(jù)指令間對同一寄存器讀和寫操作的先后次序關系,可將數(shù)據(jù)相關性分為三種:寫后讀(RAW):上一條指令的寫數(shù)據(jù)與下一條指令的讀數(shù)據(jù)操作之間的相關。 -真相關讀后寫(WAR):上一條指令的讀數(shù)據(jù)與下一條指令的寫數(shù)據(jù)操作之間的相關。 -反相關寫后寫(WAW):兩條指令的寫數(shù)據(jù)操作之間的相關。 -輸出相關WAR和WAW相關都是因為采用了相同寄存器或存儲單元而引起的,因此又稱為名字相關。名字相關名字相關(與真相關不同),相關指令之間不傳遞數(shù)據(jù),因此只要改變指令中使用的名字,或者調(diào)整指令的執(zhí)行順序,就可解除相關性。數(shù)據(jù)相關性是指令流水執(zhí)行的障礙。例如:以下兩條指令的執(zhí)行,就存在數(shù)據(jù)相關性 SUB R2,R1,R3 / (R2) = (R1) (R3) ADD R4,R2,R5 / (R4) = (R2) + (R5)遇到數(shù)據(jù)相關時,后一條指令必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河南益民控股招聘9人備考題庫及一套參考答案詳解
- 2026內(nèi)蒙古包頭市眼科醫(yī)院招聘控制數(shù)人員3人備考題庫及完整答案詳解
- 2025恒豐銀行青島分行社會招聘6人備考題庫及1套完整答案詳解
- 2026年濟寧汶上縣教育系統(tǒng)急需緊缺人才招聘備考題庫(27名)及1套完整答案詳解
- 2026上海普陀區(qū)屬國有企業(yè)管培生招聘20人備考題庫及答案詳解1套
- 2026上海寶山區(qū)顧村鎮(zhèn)“星曜計劃”行政村儲備人才招聘5人備考題庫及一套完整答案詳解
- 2026廣東深圳福田區(qū)美蓮幼兒園招聘3人備考題庫及一套完整答案詳解
- 2026年曲靖經(jīng)濟技術開發(fā)區(qū)教育系統(tǒng)選調(diào)事業(yè)人員備考題庫(41人)及一套參考答案詳解
- 2026浙江杭州市廣播電視監(jiān)測中心招聘編外工作人員1人備考題庫及1套完整答案詳解
- 2025四川自貢市衛(wèi)生健康委員會衛(wèi)生健康系統(tǒng)所屬事業(yè)單位考核招聘工作人員76人備考題庫有答案詳解
- 新教材2025人教版七年級上冊全部單詞默寫版
- 混凝土防滲墻施工工作手冊
- 2026版高中漢水丑生生物-第三章第3節(jié)生態(tài)系統(tǒng)的物質(zhì)循環(huán)
- DB45∕T 2364-2021 公路路基監(jiān)測技術規(guī)范
- 一圖看清37家公司經(jīng)營模式:財務報表?;鶊D(2025年6月版)(英)
- 如何做好一名護理帶教老師
- 房地產(chǎn)項目回款策略與現(xiàn)金流管理
- 花溪區(qū)高坡苗族鄉(xiāng)國土空間總體規(guī)劃 (2021-2035)
- 非連續(xù)性文本閱讀(中考試題20篇)-2024年中考語文重難點復習攻略(解析版)
- 專題13 三角函數(shù)中的最值模型之胡不歸模型(原卷版)
- 門診藥房西藥管理制度
評論
0/150
提交評論