第六章 中央處理器_第1頁(yè)
第六章 中央處理器_第2頁(yè)
第六章 中央處理器_第3頁(yè)
第六章 中央處理器_第4頁(yè)
第六章 中央處理器_第5頁(yè)
已閱讀5頁(yè),還剩94頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第6章章 中央處理部件中央處理部件(CPU) 6.1 計(jì)算機(jī)的硬件系統(tǒng) 6.2 控制器的組成 6.3 微程序控制計(jì)算機(jī)的基本工作原理 6.4 微程序設(shè)計(jì)技術(shù) 6.5 硬布線控制的計(jì)算機(jī) 6.6 控制器的控制方式 6.7 流水線工作原理 *6.8 CPU舉例(自學(xué)) *6.9 計(jì)算機(jī)的 加電及控制過(guò)程 (自學(xué)) 學(xué)習(xí)目的 1. 了解計(jì)算機(jī)的硬件系統(tǒng)、分析計(jì)算機(jī)的加電及 控制過(guò)程。 2. 掌握控制器的組成的主要部件,并能分析各主 要部件的功能和相互關(guān)系。 3. 掌握微程序控制計(jì)算機(jī)的基本工作原理,微程 序設(shè)計(jì)技術(shù)。 4. 分析硬布線控制的計(jì)算機(jī)的工作原理、時(shí)序分 配方法。 5. 了解控制器的控制

2、方式、流水線工作原理。 本章重點(diǎn) (1)程序是如何執(zhí)行的; (2)計(jì)算機(jī)怎樣實(shí)現(xiàn)各條指令的功能; (3)計(jì)算機(jī)如何保證逐條指令的連續(xù)執(zhí)行過(guò)程。 本章難點(diǎn) (1)計(jì)算機(jī)運(yùn)行過(guò)程中,各個(gè)硬件部件的作用; (2)CPU中各個(gè)部件的操作過(guò)程及其實(shí)現(xiàn)方法的原理。 第第6章章 中央處理部件中央處理部件(CPU) 計(jì)算機(jī)組成:計(jì)算機(jī)組成:運(yùn)算器、控制器、存儲(chǔ)器、輸運(yùn)算器、控制器、存儲(chǔ)器、輸 入設(shè)備和輸出設(shè)備入設(shè)備和輸出設(shè)備五大部件五大部件。 微處理器微處理器:運(yùn)算器運(yùn)算器+控制器控制器集成在一個(gè)芯片上集成在一個(gè)芯片上, 通常稱(chēng)之為中央處理部件通常稱(chēng)之為中央處理部件(CPU)。 控制器的作用控制器的作用:協(xié)調(diào)

3、并控制計(jì)算機(jī)的各個(gè)部件協(xié)調(diào)并控制計(jì)算機(jī)的各個(gè)部件 執(zhí)行程序的指令序列。執(zhí)行程序的指令序列。 機(jī)器加電時(shí)機(jī)器加電時(shí): (1)可以利用可以利用reset信號(hào)將某值信號(hào)將某值(例如全例如全 “0”) 置于程序計(jì)數(shù)器置于程序計(jì)數(shù)器PC中,此即為開(kāi)機(jī)后執(zhí)行的第一條指令的中,此即為開(kāi)機(jī)后執(zhí)行的第一條指令的 地址,也就是固定程序入口地址;地址,也就是固定程序入口地址; (2)也可以直接在指令寄存器中置入一條無(wú)條件轉(zhuǎn)移指令)也可以直接在指令寄存器中置入一條無(wú)條件轉(zhuǎn)移指令 (轉(zhuǎn)移到固定程序入口轉(zhuǎn)移到固定程序入口),然后開(kāi)始執(zhí)行程序。,然后開(kāi)始執(zhí)行程序。 固定程序固定程序:先對(duì)計(jì)算機(jī)各部件進(jìn)行測(cè)試,然后進(jìn)入操作系

4、統(tǒng)先對(duì)計(jì)算機(jī)各部件進(jìn)行測(cè)試,然后進(jìn)入操作系統(tǒng) 環(huán)境,等候操作員從鍵盤(pán)送入命令,或用鼠標(biāo)器對(duì)顯示屏上環(huán)境,等候操作員從鍵盤(pán)送入命令,或用鼠標(biāo)器對(duì)顯示屏上 的圖標(biāo)進(jìn)行選擇的圖標(biāo)進(jìn)行選擇。(一般放在ROM中) 計(jì)算機(jī)的工作過(guò)程計(jì)算機(jī)的工作過(guò)程: 加電加電產(chǎn)生產(chǎn)生reset信號(hào)信號(hào)執(zhí)行程序執(zhí)行程序停機(jī)停機(jī)停電。停電。 程序執(zhí)行過(guò)程:程序執(zhí)行過(guò)程:計(jì)算機(jī)從計(jì)算機(jī)從程序入口地址開(kāi)始程序入口地址開(kāi)始執(zhí)行執(zhí)行 該程序的指令序列,是不斷地該程序的指令序列,是不斷地取指令取指令、分析指令分析指令和和 執(zhí)行指令執(zhí)行指令這樣一個(gè)周而復(fù)始的過(guò)程。這樣一個(gè)周而復(fù)始的過(guò)程。 實(shí)現(xiàn)原理:實(shí)現(xiàn)原理:當(dāng)前正在執(zhí)行的指令地址是放在

5、控制當(dāng)前正在執(zhí)行的指令地址是放在控制 器的程序計(jì)數(shù)器器的程序計(jì)數(shù)器(PC)中的。中的。 6. 1 計(jì)算機(jī)的硬件系統(tǒng)計(jì)算機(jī)的硬件系統(tǒng) 1Intel 80386微機(jī)系統(tǒng)微機(jī)系統(tǒng) 圖圖61是由是由Intel 80386微處理器等器件組成的微處理器等器件組成的 微機(jī)系統(tǒng),微機(jī)系統(tǒng),Intel 80386是是32位位微處理器。微處理器。(P163) Intel 80386 微機(jī)系統(tǒng)框圖 是系統(tǒng)中主要的 處理、控制部件 機(jī)器加電時(shí)產(chǎn)生reset信號(hào),計(jì)算機(jī)各 個(gè)部件處于初始狀態(tài)。執(zhí)行的第1條 指令的地址為0FFFFFFF0H,為一條 轉(zhuǎn)移指令,轉(zhuǎn)到引導(dǎo)程序入口。 Clk是clk2的二 分頻時(shí)鐘信號(hào) 803

6、86通過(guò)總線與存儲(chǔ)器和I/O設(shè) 備交換信息。對(duì)總線的使用需要 總線控制邏輯來(lái)管理。 快速設(shè)備通過(guò) DMA方式與主 存交換信息。 慢速設(shè)備通過(guò)中斷方式 與主存交換信息。 當(dāng)CPU與主存交換信息時(shí),由于速 度不匹配,CPU需要等待,ready 信號(hào)是由存儲(chǔ)器發(fā)出的,表明CPU 需要的讀寫(xiě)命令已完成。 80287/387協(xié)處理器與80386并行工作, 擴(kuò)充了80386的指令系統(tǒng),主要完成浮點(diǎn) 運(yùn)算和高精度整數(shù)運(yùn)算,80386自動(dòng)將取 得的協(xié)處理器指令傳給80387。 2 Intel 80386結(jié)構(gòu)及外部連線結(jié)構(gòu)及外部連線 80386包括:包括: 指令部件:完成取指及指令譯碼功能并產(chǎn)生 控制信號(hào); 執(zhí)

7、行部件:包括ALU、乘法部件、寄存器等; 存儲(chǔ)管理部件:用來(lái)確定存儲(chǔ)器地址。 80386微處理器芯片通過(guò)引出端與計(jì)算機(jī)的其 它部件連接。各引出端的功能各引出端的功能如下: ADS:地址狀態(tài) 信號(hào),表示地址 線、總線周期定 義信號(hào)已有效, 開(kāi)始總線周期進(jìn) 行讀寫(xiě)。 NA:本次讀/寫(xiě) 操作雖未完成, 允許送下一周期 的地址和讀寫(xiě)信 息,使兩次操作 重疊。 ready:當(dāng)存儲(chǔ) 器或I/O設(shè)備完 成操作后發(fā)出的 信號(hào)。386接到 此信號(hào)后,結(jié)束 本周期。 BS16:表示被 訪問(wèn)的存儲(chǔ)器或 I/O設(shè)備的數(shù)據(jù) 傳送寬度為16位。 PEREQ:協(xié)處 理器請(qǐng)求386在 存儲(chǔ)器與協(xié)處 理器之間傳送 一個(gè)數(shù)據(jù)。

8、BUSY:協(xié)處理器 忙,不能接收另 一個(gè)指令。 ERROR:協(xié)處理器 出現(xiàn)了一個(gè)錯(cuò)誤 主設(shè)備:占用總線的設(shè) 備。從設(shè)備:與主設(shè)備 通信的設(shè)備。 I/O設(shè)備 作主設(shè)備時(shí),發(fā)出hold 信號(hào)申請(qǐng)。當(dāng)CPU同意 總線請(qǐng)求,可以釋放總 線,發(fā)hlda。其余引出 端均呈高阻狀態(tài)。 INTR為中斷請(qǐng)求信 號(hào),NMI不可屏蔽中斷請(qǐng)求 信號(hào),RESET為總清或復(fù) 位信號(hào) 在80386與存儲(chǔ)器或IO設(shè)備之間傳送(讀 寫(xiě))一個(gè)數(shù)據(jù)的時(shí)間稱(chēng)為總線周期。 WR#區(qū)分是寫(xiě)周期(當(dāng)WR#為1時(shí))還是讀周 期(當(dāng)WR#為0時(shí)) DC#表示是數(shù)據(jù)周期還是控制(取指)周期 MIO#表示是訪問(wèn)存儲(chǔ)器還是IO設(shè)備 LOCK#為總線

9、鎖定信號(hào),當(dāng)它為低電位 時(shí),不允許芯片外部的信號(hào)打斷當(dāng)前總線 周期的操作,即CPU不允許讓出總線控制 權(quán)。 62 控制器的組成控制器的組成 6. 2. 1 控制器的功能控制器的功能 計(jì)算機(jī)對(duì)信息進(jìn)行處理計(jì)算機(jī)對(duì)信息進(jìn)行處理(或計(jì)算或計(jì)算)是通過(guò)是通過(guò)程序的程序的 執(zhí)行執(zhí)行而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的指令指令 序列序列,要,要預(yù)先存放在存儲(chǔ)器預(yù)先存放在存儲(chǔ)器中。中??刂破鞯淖饔每刂破鞯淖饔?控控 制程序的執(zhí)行制程序的執(zhí)行,它必須具有以下基本功能:,它必須具有以下基本功能: 1取指令取指令 當(dāng)程序已在存儲(chǔ)器中時(shí),首先根據(jù)程序入口取出第一條指令,為此當(dāng)程序已在

10、存儲(chǔ)器中時(shí),首先根據(jù)程序入口取出第一條指令,為此 要發(fā)出要發(fā)出指令地址及控制信號(hào)指令地址及控制信號(hào)。然后不斷取出第。然后不斷取出第2,3,條指令。條指令。 2分析指令分析指令 或叫解釋指令、指令譯碼等。是對(duì)當(dāng)前取得的指令進(jìn)行分析,指或叫解釋指令、指令譯碼等。是對(duì)當(dāng)前取得的指令進(jìn)行分析,指 出它要求作什么操作,并出它要求作什么操作,并產(chǎn)生相應(yīng)的操作控制命令產(chǎn)生相應(yīng)的操作控制命令,如果參與操作的,如果參與操作的 數(shù)據(jù)在存儲(chǔ)器中,還需要數(shù)據(jù)在存儲(chǔ)器中,還需要形成操作數(shù)地址形成操作數(shù)地址。 3執(zhí)行指令執(zhí)行指令 根據(jù)分析指令時(shí)產(chǎn)生的根據(jù)分析指令時(shí)產(chǎn)生的“操作命令操作命令”和和“操作數(shù)地址操作數(shù)地址”形成

11、相應(yīng)的形成相應(yīng)的 操作控制信號(hào)序列操作控制信號(hào)序列,通過(guò),通過(guò)CPU及輸入輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令及輸入輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令 的功能,其中還包括對(duì)運(yùn)算結(jié)果的處理以及下條指令地址的形成。的功能,其中還包括對(duì)運(yùn)算結(jié)果的處理以及下條指令地址的形成。 計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取指、分計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取指、分 析、執(zhí)行;再取指、再分析、再執(zhí)行析、執(zhí)行;再取指、再分析、再執(zhí)行,如此循環(huán),直,如此循環(huán),直 到遇到停機(jī)指令或外來(lái)的干預(yù)為止。到遇到停機(jī)指令或外來(lái)的干預(yù)為止。 4控制程序和數(shù)據(jù)的輸入與結(jié)果輸出控制程序和數(shù)據(jù)的輸入與結(jié)果輸出 根據(jù)程序的安排或人的干

12、預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè) 備發(fā)出一些相應(yīng)的命令來(lái)完成IO功能,這實(shí)際上也是通過(guò) 執(zhí)行程序來(lái)完成的。 5對(duì)異常情況和某些請(qǐng)求的處理對(duì)異常情況和某些請(qǐng)求的處理 部件或設(shè)備發(fā)出:部件或設(shè)備發(fā)出: (1)“中斷請(qǐng)求中斷請(qǐng)求”信號(hào)信號(hào) 待CPU執(zhí)行完當(dāng)前指令后,響應(yīng)該請(qǐng)求,中止當(dāng)前執(zhí)行 的程序,轉(zhuǎn)去執(zhí)行中斷程序。當(dāng)處理完畢后,再返回原程序 繼續(xù)運(yùn)行下去。 (2)DMA請(qǐng)求信號(hào)請(qǐng)求信號(hào) 等CPU完成當(dāng)前機(jī)器周期操作后,暫停工作,讓出總線 給IO設(shè)備,在完成IO設(shè)備與存儲(chǔ)器之間的傳送數(shù)據(jù)操作 后,CPU從暫時(shí)中止的機(jī)器周期開(kāi)始繼續(xù)執(zhí)行指令。 6.2.2 控制器的組成控制器的組成 1程序計(jì)數(shù)器(PC) 2

13、指令寄存器(IR) 3指令譯碼器或操作碼譯碼器 4脈沖源及啟停線路 5時(shí)序控制信號(hào)形成部件 即指令地址寄存器。即指令地址寄存器。 存放當(dāng)前正在執(zhí)行存放當(dāng)前正在執(zhí)行 的指令地址或下一的指令地址或下一 條指令地址。條指令地址。 指 令 地 址 形 成指 令 地 址 形 成 : (PC)+1-PC?;颉;? 轉(zhuǎn)移指令修改其內(nèi) 容 用以存放當(dāng)前正用以存放當(dāng)前正 在執(zhí)行的指令在執(zhí)行的指令 對(duì)指令寄存器中對(duì)指令寄存器中 的操作碼進(jìn)行分的操作碼進(jìn)行分 析解釋?zhuān)a(chǎn)生相析解釋?zhuān)a(chǎn)生相 應(yīng)的控制信號(hào)。應(yīng)的控制信號(hào)。 脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作 為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周為整個(gè)

14、機(jī)器的時(shí)鐘脈沖,是機(jī)器周 期和工作脈沖的期和工作脈沖的 基準(zhǔn)信號(hào)?;鶞?zhǔn)信號(hào)。 根據(jù)當(dāng)前正在執(zhí)行的指令的需根據(jù)當(dāng)前正在執(zhí)行的指令的需 要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào)要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào) 返回指令執(zhí)行返回微程序控制器 6.2.3 指令執(zhí)行過(guò)程指令執(zhí)行過(guò)程 1. 組成控制器的基本電路 計(jì)算機(jī)中采用的電路,基本上分為兩種類(lèi)型: 一類(lèi)是具有記憶功能的觸 發(fā)器以及由它組成的寄存 器、計(jì)數(shù)器和存儲(chǔ)單元等。 另一類(lèi)是沒(méi)有記憶功能 的門(mén)電路及由它組成的 加法器、算術(shù)邏輯運(yùn)算 單元(ALU)和各種邏輯 電路等。 2指令執(zhí)行過(guò)程舉例指令執(zhí)行過(guò)程舉例 數(shù)據(jù)通路:數(shù)據(jù)通路:控制器組成控制器組成:圖圖6.3 運(yùn)算器組成

15、運(yùn)算器組成:圖圖66所示所示 中央處理器組成:圖中央處理器組成:圖6.8 (1) 一條加法指令的執(zhí)行過(guò)程一條加法指令的執(zhí)行過(guò)程:(時(shí)序圖時(shí)序圖) 指令格式指令格式:操作碼rs, rdrs1imm(或 disp) rs,rd,rs1為通用寄存器地址;為通用寄存器地址;imm(或或disp)為立即數(shù)為立即數(shù)(或或 位移量位移量)。 加法指令功能:加法指令功能:(rs)+(rs1)+disp- rs 取指令 計(jì)算地址取數(shù)運(yùn)算送結(jié)果 劃分機(jī)器周期 的原則:總線不 沖突. 加法指令 返回 圖圖6.7 加法指令時(shí)序圖加法指令時(shí)序圖 返回 (2)條件轉(zhuǎn)移指令的執(zhí)行過(guò)程條件轉(zhuǎn)移指令的執(zhí)行過(guò)程 指令功能:根據(jù)指

16、令功能:根據(jù)N,Z,V,C的狀態(tài),決定的狀態(tài),決定 是否轉(zhuǎn)換。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指是否轉(zhuǎn)換。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指 令所指定的地址,否則順序執(zhí)行下一條指令。令所指定的地址,否則順序執(zhí)行下一條指令。 本條指令完成以下操作:本條指令完成以下操作: 從存儲(chǔ)器取指令,送入指令寄存器,并進(jìn)行從存儲(chǔ)器取指令,送入指令寄存器,并進(jìn)行 操作碼譯碼。操作碼譯碼。 程序計(jì)數(shù)器加程序計(jì)數(shù)器加1,如不轉(zhuǎn)移,即為下一條要執(zhí)行,如不轉(zhuǎn)移,即為下一條要執(zhí)行 的指令地址。的指令地址。 本操作對(duì)所有指令都是相同的。本操作對(duì)所有指令都是相同的。 如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定

17、的尋址方式 計(jì)算有效地址計(jì)算有效地址,轉(zhuǎn)移指令經(jīng)常采用相對(duì)尋址方式,轉(zhuǎn)移指令經(jīng)常采用相對(duì)尋址方式, 此時(shí)轉(zhuǎn)移地址;此時(shí)轉(zhuǎn)移地址;PC+disp。此處。此處PC是指本條指令是指本條指令 的地址,而在上一機(jī)器周期已執(zhí)行的地址,而在上一機(jī)器周期已執(zhí)行PC+1操作,因操作,因 此計(jì)算時(shí)應(yīng)取原此計(jì)算時(shí)應(yīng)取原PC值,或?qū)\(yùn)算進(jìn)行適當(dāng)修正。值,或?qū)\(yùn)算進(jìn)行適當(dāng)修正。 最后將轉(zhuǎn)移地址送最后將轉(zhuǎn)移地址送PC。 控制信號(hào)控制信號(hào):PC ALU,dispALU;“+” ; ALU PC 其他指令的控制信號(hào)也按同樣方法分析,根 據(jù)每條指令的功能確定所需的機(jī)器周期數(shù), 并得出每個(gè)機(jī)器周期所需要的控制信號(hào),最 后將所有的

18、控制信號(hào)進(jìn)行綜合簡(jiǎn)化。 控制器的功能就是按每條指令的要求產(chǎn)生 所需的控制信號(hào)。因此在設(shè)計(jì)控制器時(shí)要 求系統(tǒng)設(shè)計(jì)師提供一個(gè)完整的無(wú)二義性的 指令系統(tǒng)說(shuō)明書(shū)。 產(chǎn)生控制信號(hào)一般有產(chǎn)生控制信號(hào)一般有微程序控制微程序控制和和硬布線控硬布線控 制制兩種方法。兩種方法。 課后作業(yè) CPU結(jié)構(gòu)如圖所示,其中有一個(gè)累加寄存 器AC、一個(gè)狀態(tài)條件寄存器和其他四個(gè)寄 存器,各部分之間的連線表示數(shù)據(jù)通路, 箭頭表示信息傳送方向。要求: (1) 標(biāo)明圖中a,b,c,d四個(gè)寄存器的名稱(chēng)。 (2) 簡(jiǎn)述指令從主存取到控制器的數(shù)據(jù)通路。 (3) 簡(jiǎn)述數(shù)據(jù)在運(yùn)算器和主存之間進(jìn)行存/ 取訪問(wèn)的數(shù)據(jù)通路。 6.3 微程序控制計(jì)算

19、機(jī)的基本工作原理微程序控制計(jì)算機(jī)的基本工作原理 6.3.1 微程序控制的基本概念微程序控制的基本概念 1.微操作微操作(微命令微命令):實(shí)現(xiàn)一條指令的功能按一定次實(shí)現(xiàn)一條指令的功能按一定次 序執(zhí)行一系列基本操作,這些基本操作稱(chēng)為序執(zhí)行一系列基本操作,這些基本操作稱(chēng)為。 例如,前面講到的加法指令,分成四步例如,前面講到的加法指令,分成四步(取指令、計(jì)算地取指令、計(jì)算地 址、取數(shù)、加法運(yùn)算址、取數(shù)、加法運(yùn)算)完成,每一步實(shí)現(xiàn)若干個(gè)微操作。完成,每一步實(shí)現(xiàn)若干個(gè)微操作。 2.微指令:微指令:由同時(shí)發(fā)出的控制信號(hào)所執(zhí)行由同時(shí)發(fā)出的控制信號(hào)所執(zhí)行 的一組微操作稱(chēng)為的一組微操作稱(chēng)為微指令,它含微指令,它含

20、控制命令控制命令 (信號(hào)信號(hào))與下一條執(zhí)行的微指令地址與下一條執(zhí)行的微指令地址。 將一條指令分成若干條微指令,按次序?qū)⒁粭l指令分成若干條微指令,按次序 執(zhí)行這些微指令,就可以實(shí)現(xiàn)指令的功能。執(zhí)行這些微指令,就可以實(shí)現(xiàn)指令的功能。 3.微微程序:程序:用于完成計(jì)算機(jī)的指令功能的微用于完成計(jì)算機(jī)的指令功能的微 指令序列的集合。指令序列的集合。 4.控制存儲(chǔ)器:控制存儲(chǔ)器:存放微程序存放微程序(控制指令與控制指令與 下條微指令地址下條微指令地址)的存儲(chǔ)器的存儲(chǔ)器。它可以用只讀。它可以用只讀 存儲(chǔ)器實(shí)現(xiàn)。存儲(chǔ)器實(shí)現(xiàn)。 執(zhí)行一條指令執(zhí)行一條指令執(zhí)行一段微程序執(zhí)行一段微程序 6.3.2 實(shí)現(xiàn)微程序控制的基

21、本原理實(shí)現(xiàn)微程序控制的基本原理 1控制信號(hào)控制信號(hào) 返回指令執(zhí)行返回控制信號(hào)返回時(shí)序信號(hào) 以執(zhí)行以執(zhí)行一條加法指令一條加法指令為例,它由為例,它由四條微指令四條微指令解解 釋執(zhí)行,一條微指令中的所有控制信號(hào)是同時(shí)發(fā)出釋執(zhí)行,一條微指令中的所有控制信號(hào)是同時(shí)發(fā)出 的。每條微指令所需的控制信號(hào)如下:的。每條微指令所需的控制信號(hào)如下: (1)取指微指令取指微指令 指令地址送地址總線:指令地址送地址總線:PCAB(1) 發(fā)訪存控制命令,發(fā)訪存控制命令,ADS(21),MIO=1(22), WR=0(23)。從存儲(chǔ)器取指令送數(shù)據(jù)總線從存儲(chǔ)器取指令送數(shù)據(jù)總線。 指令送指令寄存器:指令送指令寄存器:DBIR

22、(5) 程序計(jì)數(shù)器程序計(jì)數(shù)器+1:PC十十1(3) (2)計(jì)算地址微指令計(jì)算地址微指令 取兩個(gè)源操作數(shù)取兩個(gè)源操作數(shù)(計(jì)算地址用計(jì)算地址用):rslGR(8),(rsl) ALU(10),dispALU(4)。 加法運(yùn)算:加法運(yùn)算:“+”(13)。 有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)。 (3)取數(shù)微指令取數(shù)微指令 數(shù)據(jù)地址送地址總線:數(shù)據(jù)地址送地址總線:ARAB(20)。 發(fā)訪存控制命令:發(fā)訪存控制命令:ADS(21),MIO(22),WR(23)。 由存儲(chǔ)器將數(shù)據(jù)送數(shù)據(jù)總線由存儲(chǔ)器將數(shù)據(jù)送數(shù)據(jù)總線DB。 數(shù)據(jù)送數(shù)據(jù)寄存器:數(shù)據(jù)送數(shù)據(jù)寄存器:DBDR(6) (4)加

23、法運(yùn)算和送結(jié)果微指令加法運(yùn)算和送結(jié)果微指令 兩源操作數(shù)送兩源操作數(shù)送ALU:rsGR(9),(rs) ALU(11); DRALU(12)。 加法運(yùn)算:加法運(yùn)算:“+”(13) 送結(jié)果;送結(jié)果;ALUGR(17) 微指令如何產(chǎn)生控制信號(hào):微指令如何產(chǎn)生控制信號(hào): 微指令最簡(jiǎn)單的組成形式:微指令最簡(jiǎn)單的組成形式: 將每個(gè)控制信號(hào)用一個(gè)控制將每個(gè)控制信號(hào)用一個(gè)控制 位來(lái)表示,當(dāng)該位為位來(lái)表示,當(dāng)該位為“1”時(shí),時(shí), 定義為有控制信號(hào),當(dāng)該位定義為有控制信號(hào),當(dāng)該位 為為“0”時(shí),沒(méi)有控制信號(hào)。時(shí),沒(méi)有控制信號(hào)。 控制存儲(chǔ)器容量為4K字, 則每條微指令還需要12位 來(lái)表示下址??刂拼鎯?chǔ)器 的容量取決

24、于實(shí)現(xiàn)指令系 統(tǒng)所需的微程序長(zhǎng)度。 圖圖6.9為加法指令的四條微指令編碼,為加法指令的四條微指令編碼,每一小格每一小格 表示一位表示一位(二進(jìn)制二進(jìn)制),空格表示,空格表示0,第,第24位到第位到第35位位 為下址。為下址。 微程序也可用微程序也可用 流程圖來(lái)表示流程圖來(lái)表示 方框: 表示微 指令 右下角的 數(shù)字:表 示下址 上方的數(shù)字:微指令 的地址 微程序控制器的基本工作原理:微程序控制器的基本工作原理: 當(dāng)指令取入當(dāng)指令取入IR中中 以后,根據(jù)操作以后,根據(jù)操作 碼進(jìn)行譯碼,得碼進(jìn)行譯碼,得 到相應(yīng)指令的第到相應(yīng)指令的第 一條微指令的地一條微指令的地 址址。 指令譯碼部件可用只讀存儲(chǔ)指令

25、譯碼部件可用只讀存儲(chǔ) 器組成,將操作碼作為只讀器組成,將操作碼作為只讀 存儲(chǔ)器的輸入地址,該單元存儲(chǔ)器的輸入地址,該單元 的內(nèi)容即為相應(yīng)的微指令在的內(nèi)容即為相應(yīng)的微指令在 控制存儲(chǔ)器中的地址。控制存儲(chǔ)器中的地址。 根據(jù)控制存儲(chǔ)器中根據(jù)控制存儲(chǔ)器中 的地址從控制存儲(chǔ)的地址從控制存儲(chǔ) 器取出微指令,并器取出微指令,并 將它存放在微指令將它存放在微指令 寄存器中。寄存器中。 控制字段各位的輸出控制字段各位的輸出 通過(guò)連接線直接與受通過(guò)連接線直接與受 控制的門(mén)相連,于是控制的門(mén)相連,于是 就提供了在本節(jié)所提就提供了在本節(jié)所提 出的控制信號(hào)。出的控制信號(hào)。 2微程序控制器微程序控制器 時(shí)序 控制 信號(hào)

26、形成 部件 3時(shí)序信號(hào)及工作脈沖的形成時(shí)序信號(hào)及工作脈沖的形成 在圖在圖68中,沒(méi)有畫(huà)出一些寄存器中,沒(méi)有畫(huà)出一些寄存器(例例 如指令寄存器、程序計(jì)數(shù)器等如指令寄存器、程序計(jì)數(shù)器等)接收數(shù)據(jù)接收數(shù)據(jù) 或計(jì)數(shù)的工作脈沖或計(jì)數(shù)的工作脈沖(打入脈沖打入脈沖),這些脈沖,這些脈沖 是如何形成的呢是如何形成的呢? 另外在波形圖中的另外在波形圖中的CLK,T1, T2等等 信號(hào)又是如何產(chǎn)生的信號(hào)又是如何產(chǎn)生的? 觀察時(shí)序可知: CLK2二分頻得到CLK CLK二分頻得到T1 T1反相得到T2 先看CLK、T1、T2 怎樣產(chǎn)生的? T2的末尾產(chǎn) 生一個(gè)CP, 用來(lái)保存計(jì)算 結(jié)果或接收傳 送的數(shù)據(jù)及指 令等。

27、 T1的末尾產(chǎn) 生另一個(gè)工作 脈沖。 CLKT CLKCP 22 CLKTCP CLK 211 CLKCP CLKCP 21 兩個(gè)工作脈沖的疊加信號(hào) 在一個(gè)機(jī)器周期內(nèi)設(shè)置一個(gè)或多個(gè)工作脈沖在一個(gè)機(jī)器周期內(nèi)設(shè)置一個(gè)或多個(gè)工作脈沖?機(jī)機(jī) 器周期時(shí)間多長(zhǎng)器周期時(shí)間多長(zhǎng)?這是由設(shè)計(jì)者根據(jù)邏輯設(shè)計(jì)和電這是由設(shè)計(jì)者根據(jù)邏輯設(shè)計(jì)和電 路性能而決定的,將隨機(jī)器而異。路性能而決定的,將隨機(jī)器而異。 下面討論一下機(jī)器中一些寄存器的打入脈沖是如下面討論一下機(jī)器中一些寄存器的打入脈沖是如 何形成的。何形成的。 控制位DBIR為“1”,采 用與門(mén),可形成IR的打入脈沖 4電路配合中的常見(jiàn)問(wèn)題電路配合中的常見(jiàn)問(wèn)題 (1)

28、電路延遲引起的波形畸變電路延遲引起的波形畸變 F/F無(wú) 延遲 CLK無(wú) 畸變 F/F有延 遲 CLK有 畸變 (2)機(jī)器周期的確定機(jī)器周期的確定 1)機(jī)器周期一條微指令中執(zhí)行時(shí)間最 長(zhǎng)的微操作。主要考慮存儲(chǔ)器訪問(wèn)時(shí)間和一 次運(yùn)算所需的時(shí)間。 2)機(jī)器周期的延長(zhǎng):)機(jī)器周期的延長(zhǎng): 信號(hào)來(lái)自存儲(chǔ)器,若 信號(hào)出現(xiàn)較晚,CPU 將延長(zhǎng)一個(gè)或一個(gè)以上T2節(jié)拍信號(hào)。 當(dāng)T2有,且無(wú)信號(hào)時(shí),封鎖CLK2信號(hào) (T的計(jì)數(shù)脈沖)。 ready ready ready 有T2且無(wú)ready信號(hào)時(shí),封鎖CLK2信號(hào): T2 ready 允許T計(jì)數(shù)的條件: T2 readyT2+ readyTl+ readyTl+

29、ready (3)時(shí)鐘脈沖時(shí)鐘脈沖CLK和工作脈沖和工作脈沖CP的標(biāo)準(zhǔn)性的標(biāo)準(zhǔn)性 當(dāng)滿足cond條件時(shí),才產(chǎn) 生CPB和CP-C信號(hào)。 CP脈沖不受控制,總是作用在觸 發(fā)器上,但當(dāng)條件不成立時(shí),使 觸發(fā)器處于保持狀態(tài),而當(dāng)條件成 立時(shí),接受新?tīng)顟B(tài)。 打入脈沖的同時(shí)性: 在控制打入脈沖的機(jī)器中,總是盡量將總是盡量將CP 信號(hào)送到控制門(mén)的最后一級(jí)信號(hào)送到控制門(mén)的最后一級(jí)。以免延遲造成失 真和不同步。 5微程序控制計(jì)算機(jī)的工作過(guò)程簡(jiǎn)單的總 結(jié)(參閱圖68) (1)機(jī)器加電后,首先由機(jī)器加電后,首先由reset信號(hào)在信號(hào)在PC內(nèi)置入開(kāi)內(nèi)置入開(kāi) 機(jī)后執(zhí)行的第一條指令的地址機(jī)后執(zhí)行的第一條指令的地址,同時(shí)

30、在微指令 寄存器內(nèi)置入一條“取指”微指令,并將其他 一些有關(guān)的狀態(tài)位或寄存器置于初始狀態(tài)。當(dāng) 電壓達(dá)到穩(wěn)定值后,自動(dòng)啟動(dòng)機(jī)器工作,產(chǎn)生 節(jié)拍電位T1,T2和CP。 (2)機(jī)器開(kāi)始執(zhí)行程序機(jī)器開(kāi)始執(zhí)行程序,不斷地取出指令、分析,不斷地取出指令、分析 指令、執(zhí)行指令指令、執(zhí)行指令。程序可以存放在固定存儲(chǔ)器 中,也可以利用一小段引導(dǎo)程序(在固存中)將 要執(zhí)行的程序和數(shù)據(jù)從外部設(shè)備調(diào)入主存。 (3)實(shí)現(xiàn)各條指令的微程序是存放在微程序控制器中實(shí)現(xiàn)各條指令的微程序是存放在微程序控制器中的 當(dāng)前正在執(zhí)行的微指令從微程序控制器中取出后放在微 指令寄存器中,由微指令的控制字段中的各位直接控制信 息和數(shù)據(jù)的傳送,

31、并進(jìn)行相應(yīng)的處理。當(dāng)遇到停機(jī)指令或 外來(lái)停機(jī)命令時(shí),應(yīng)該待當(dāng)前這條指令執(zhí)行完再停機(jī)或至 少在本機(jī)器周期結(jié)束時(shí)再停機(jī)。 課后作業(yè) 設(shè)某計(jì)算機(jī)運(yùn)算控制器邏輯圖如圖6.8,控制信號(hào)意義見(jiàn)表6.1,指令 格式和微指令格式如下: 指令格式 操作碼 rs,rd,rs1imm或disp 微指令格式 1 2 23 24 25 控制字段 下址字段 其中123位代表的123號(hào)控制信號(hào)見(jiàn)表6.1。 試寫(xiě)出下述三條指令的微程序編碼: (1) JMP(無(wú)條件轉(zhuǎn)移到(rs1)+disp) (2) Load(從(rs1)+disp指示的內(nèi)存單元取數(shù),送rs保存) (3) Store(把rs內(nèi)容送到(rs1)+disp指示的

32、內(nèi)存單元 提示:先列出各指令執(zhí)行步驟和每步所需控制信號(hào),最后再寫(xiě)出編 碼 6.4 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 在實(shí)際進(jìn)行微程序設(shè)計(jì)時(shí),要考慮下面三個(gè)問(wèn)題: (1)如何縮短微指令字長(zhǎng); (2)如何減少微程序長(zhǎng)度; (3)如何提高微程序的執(zhí)行速度。 6.4.1 微指令的編譯法微指令的編譯法-控制字段控制字段 微指令的編碼,就是對(duì)微指令的控制字段采用的表示方法。 1直接控制法直接控制法(不譯碼法不譯碼法 ) 操作控制字段中的每一位代表一個(gè)微命令。操作控制字段中的每一位代表一個(gè)微命令?!?”有效,有效,“0”無(wú)效。無(wú)效。 優(yōu)點(diǎn):簡(jiǎn)單直觀,輸出直接用于控制優(yōu)點(diǎn):簡(jiǎn)單直觀,輸出直接用于控制 缺點(diǎn):微指令

33、字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。缺點(diǎn):微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。 2字段直接編譯法(字段直接編譯法(使用較普遍使用較普遍) 微周期:是一條微指令所需的執(zhí)行時(shí)間。 如果有若干個(gè)(一組)微命令,在每次選擇使用它們的微周 期內(nèi),只有一個(gè)微命令起作用,那么這若干個(gè)微命令是互斥 的。 選擇互斥的微命令入同組分組編碼,用微命令譯碼器譯選擇互斥的微命令入同組分組編碼,用微命令譯碼器譯 碼控制。碼控制。 例:例: 當(dāng)字段長(zhǎng)度為3位時(shí),最多只能表示7個(gè)互斥的微命令, 通常代碼000表示不發(fā)微命令。 優(yōu)點(diǎn):縮短了微指令長(zhǎng)度。 代價(jià):在微指令寄存器的輸出端,為該字段增加一個(gè)譯碼 器,該譯碼器的輸出即

34、為原來(lái)的微命令。 字段長(zhǎng)度字段長(zhǎng)度n n與所能表示的微命令數(shù)與所能表示的微命令數(shù)m m的關(guān)系:的關(guān)系:m=2m=2n n-1-1 3 3字段間接編譯法字段間接編譯法 如果在字段直接編譯法中,還規(guī)定一個(gè)字段的某些微命令, 要兼由另一字段中的某些微命令來(lái)解釋?zhuān)Q(chēng)為字段間接編譯 法。 優(yōu)點(diǎn):進(jìn)一步減少了指令長(zhǎng)度。 缺點(diǎn):削弱微指令的并行控制能力。 A受B控制,B 發(fā)b1微指令時(shí), 字段A發(fā)出 a1,1a1,7中的一 個(gè)微命令。B 發(fā)b2微指令時(shí), 字段A發(fā)出 a2,1a2,7中的一 個(gè)微命令。 4 4常數(shù)源字段常數(shù)源字段E E 在微指令中,一般設(shè)有一個(gè)常數(shù)源字段E,就如指令中 的立即操作數(shù)一樣。E字

35、段一般僅有幾位,用來(lái)給某些部 件發(fā)送常數(shù),故有時(shí)稱(chēng)為發(fā)射字段。該常數(shù)有時(shí)作為操作 數(shù)送入ALU運(yùn)算;有時(shí)作為計(jì)算器初值,用來(lái)控制微程序 的循環(huán)次數(shù)等。 5 5其他其他 如:如:微操作碼微操作碼編譯法(見(jiàn)微指令格式)編譯法(見(jiàn)微指令格式) 6.4.2 6.4.2 微程序流的控制微程序流的控制 現(xiàn)行微指令現(xiàn)行微指令:當(dāng)前正在執(zhí)行的微指令。 現(xiàn)行微地址現(xiàn)行微地址:現(xiàn)行微指令所在的控制存儲(chǔ)器單元 的地址。 后繼微指令:后繼微指令:下一條要執(zhí)行的微指令。 后繼微地址:后繼微地址:后繼微指令所在的控制存儲(chǔ)器單元 地址。 微程序控制微程序控制:當(dāng)前微指令執(zhí)行完畢后,產(chǎn)生后繼 微指令的微地址的方法。 1 1產(chǎn)

36、生后繼微指令地址的幾種方法產(chǎn)生后繼微指令地址的幾種方法 (1)(1)以增量方式產(chǎn)生后繼微地址以增量方式產(chǎn)生后繼微地址 A)微程序入口:首條微指令,由專(zhuān)門(mén)硬件電路產(chǎn)生,控制實(shí)現(xiàn)取指操 作; B)順序執(zhí)行:后繼微地址現(xiàn)行微地址(在微程序計(jì)數(shù)器中)1 C)轉(zhuǎn)移地址:后繼微地址現(xiàn)行微地址轉(zhuǎn)移條件譯碼(相對(duì)轉(zhuǎn)移量) D)由操作碼產(chǎn)生后繼地址 優(yōu)點(diǎn):可使微指令的下址字段很短,僅起選擇作用。 缺點(diǎn):微程序轉(zhuǎn)移很不靈活,使得微程序在控存中的物理 空間分配相當(dāng)困難。 在下圖中,PC兼作控制存儲(chǔ)器的地址寄存器,輸入 有四個(gè)來(lái)源。下址字段僅有兩位,其功能是選擇三個(gè)輸入 源中的一個(gè)作為PC的輸入,而微程序入口是由專(zhuān)門(mén)

37、的硬 件產(chǎn)生的,不受下址字段控制。 (2)(2)增量與下址字段結(jié)合產(chǎn)生后繼微地址增量與下址字段結(jié)合產(chǎn)生后繼微地址 微指令的下址字段分成兩部分: 轉(zhuǎn)移控制字段BCFBCF和轉(zhuǎn)移地址字段BAFBAF, BCF控 制轉(zhuǎn)移條件,BAF控制轉(zhuǎn)移的目標(biāo)地址。 當(dāng)條件成立時(shí),微程序要轉(zhuǎn)移,將BAFBAF送送PCPC, 否則順序執(zhí)行下一條微指令(PC+1)(PC+1)。 執(zhí)行微程序條件轉(zhuǎn)移時(shí),決定轉(zhuǎn)移與否的硬件條 件有好幾種。由BCF定義的八個(gè)微命令見(jiàn)表62。 BCF=0,順序執(zhí) 行微命令, PC+1為后繼微 地址。 BCF=1,條件轉(zhuǎn) 移微命令,當(dāng) 運(yùn)算結(jié)果為0時(shí), 將BAF送PC, 否則PC+l PC B

38、CF=2,條件轉(zhuǎn)移 微命令,當(dāng)運(yùn)算結(jié) 果溢出時(shí),將BAF 送PC,否則 PC+1PC。 BCF=3,無(wú)條件 轉(zhuǎn)移微命令, 將BAF送PC。 BCF=4;測(cè)試循環(huán)微命 令,假如CT0,表 示需要繼續(xù)執(zhí)行循環(huán) 微命令,將循環(huán)人口 微地址從BAF送PC。 假如CT=0,表示循環(huán) 結(jié)束,后繼微地址為 PC+1。本條微命令 同時(shí)完成CT一1操作。 BCF=5,轉(zhuǎn)微子程序微 命令,把微子程序人 口地址從BAF送PC, 從而實(shí)現(xiàn)轉(zhuǎn)移。在轉(zhuǎn) 移之前要把該條微指 令的下一地址(PC+1) 送人返回寄存器RR之 中。 BCF=6,返回微 命令,把RR中 的返回微地址 送人PC,從 而實(shí)現(xiàn)從微子 程序返回到原 來(lái)的

39、微程序。 BCF=7,操作碼 產(chǎn)生后繼微地 址的微命令, 這是取指后, 按現(xiàn)行指令執(zhí) 行的第一條微 指令。 (3)(3)多路轉(zhuǎn)移方式多路轉(zhuǎn)移方式 一條微指令存在多個(gè)轉(zhuǎn)移分支的情況稱(chēng)為多路轉(zhuǎn)移。 后繼微地址的產(chǎn)生條件: 1)在若干個(gè)微地址中選擇一個(gè)作為后繼微地址,如:根 據(jù)操作碼產(chǎn)生不同的后繼微地址。(實(shí)現(xiàn)此功能的電路通常 由PROM組成,該存儲(chǔ)器的特點(diǎn):以指令的操作碼作為地址輸 入,相應(yīng)的存儲(chǔ)單元內(nèi)容即為該指令的第一條微指令的入口 地址。容量等于或略大于機(jī)器的指令數(shù),容量小,速度快。) 2)根據(jù)硬件狀態(tài)決定后繼微地址,如:運(yùn)算結(jié)果所置的 標(biāo)志位N、Z、V、C等,計(jì)數(shù)器狀態(tài),數(shù)據(jù)通路狀態(tài)。 (4

40、)(4)微中斷微中斷 微中斷與程序中斷的概念相似,當(dāng)某一條件滿 足時(shí),發(fā)出微中斷請(qǐng)求信號(hào),CPU在完成現(xiàn)行指令 的微程序后響應(yīng)該中斷請(qǐng)求,進(jìn)入微中斷處理程序。 該微程序的入口地址(硬件產(chǎn)生)即為剛剛執(zhí)行的 微程序的后繼微地址。 設(shè)計(jì)人員在進(jìn)行微程序設(shè)計(jì)時(shí),已安排好微中斷處理 程序在控制存儲(chǔ)器的位置,因此該微程序段的入口地址是 已知的。當(dāng)CPU響應(yīng)微中斷請(qǐng)求時(shí),由硬件產(chǎn)生微中斷程序 的入口地址。當(dāng)中斷處理完畢后,再返回到原來(lái)被中斷的 程序。這也是產(chǎn)生后繼微地址的一種情況。 2 2以以AM2900AM2900系列芯片構(gòu)成的微程序系列芯片構(gòu)成的微程序CPUCPU(自學(xué))(自學(xué)) 6.4.3 6.4.

41、3 微指令格式微指令格式 微指令的格式大體上可分成兩類(lèi):水平 型微指令和垂直型微指令。 1.1. 水平型微指令水平型微指令 特點(diǎn):在一條微指令中定義并執(zhí)行多個(gè)并行操作微命令在一條微指令中定義并執(zhí)行多個(gè)并行操作微命令。 一般格式如下: 在實(shí)際應(yīng)用中,直接控制法、字段編譯法(直接、間 接編譯法)經(jīng)常應(yīng)用在同一條水平型微指令中。從速度來(lái) 看,直接控制法最快,字段編譯法要經(jīng)過(guò)譯碼,所以會(huì) 增加一些延遲時(shí)間。 控制字段判別測(cè)試字段下地址字段 2. 2. 垂直型微指令垂直型微指令 在微指令中設(shè)置有有微操作碼微操作碼字段字段,采 用微操作碼編譯法,由微操作碼規(guī)定微指由微操作碼規(guī)定微指 令的功能令的功能,稱(chēng)為

42、垂直型微指令。 特點(diǎn):不強(qiáng)調(diào)實(shí)現(xiàn)微指令的并行控制功能, 通常一條微指令只要求能控制實(shí)現(xiàn)一二種操作。 這種微指令格式與指令相似:每條指令有一個(gè)操 作碼;每條微指令有一個(gè)微操作碼。 3 3水平型微指令與垂直型微指令的比較水平型微指令與垂直型微指令的比較 (1)并行性、效率和靈活性:水平好,垂直差。 (2)指令執(zhí)行時(shí)間:水平短,垂直長(zhǎng)。 (3)水平:微指令字長(zhǎng),微程序短。 垂直:微指令字短,微程序長(zhǎng)。 (4)用戶使用:水平難,垂直易。 課后作業(yè) 1.從供選擇的答案中,選出正確答案填入( )中 微指令分成水平型微指令和(A)微指令兩類(lèi)。(B)可同時(shí)執(zhí) 行若干個(gè)微操作,所以執(zhí)行指令的速度比(C)快。 在

43、實(shí)現(xiàn)微程序時(shí),取下一條微指令和執(zhí)行本條微指令一 般是(D)進(jìn)行的,而微指令之間是(E)執(zhí)行的。 實(shí)現(xiàn)機(jī)器指令的微程序一般是存放在(F)中的,而用戶可 寫(xiě)的控制存儲(chǔ)器則由(G)組成。 供選擇的答案 AC: 微指令; 微操作; 水平型微指令; 垂 直型微指令。 D,E: 順序; 重疊。 F,G: 隨機(jī)存儲(chǔ)器(RAM); 只讀存儲(chǔ)器(ROM)。 6.4.4 6.4.4 微程序控制存儲(chǔ)器和動(dòng)態(tài)微程序設(shè)計(jì)微程序控制存儲(chǔ)器和動(dòng)態(tài)微程序設(shè)計(jì) 1微程序控制存儲(chǔ)器 存儲(chǔ)介質(zhì)類(lèi)型:RAM、ROM、EPROM等。 2動(dòng)態(tài)微程序設(shè)計(jì) 能夠根據(jù)用戶的要求來(lái)改變微程序的設(shè)計(jì)稱(chēng) 動(dòng)態(tài)微程序設(shè)計(jì)。 用于動(dòng)態(tài)微程序設(shè)計(jì)的控制存

44、儲(chǔ)器稱(chēng)為可寫(xiě) 控制存儲(chǔ)器(WCS)或用戶控制存儲(chǔ)器(UCS)。 3控制存儲(chǔ)器的操作 執(zhí)行一條微指令包括:取微指令微指令和執(zhí)行微指令執(zhí)行微指令操作。 根據(jù)這兩步是串行還是并行進(jìn)行而具有下述的兩種 方式: (1)串行方式 執(zhí)行一條微指令所需要的時(shí)間稱(chēng)為微周期。在串行方式下 微周期的安排如下: (2)(2)并行方式并行方式 將執(zhí)行本條微指令的功能與取下一條微指令的操作在時(shí)將執(zhí)行本條微指令的功能與取下一條微指令的操作在時(shí) 間上重疊起來(lái)。(間上重疊起來(lái)。(因?yàn)閮煞N操作是在不同的部件中完成的) 實(shí)現(xiàn)方法:增加了微指令寄存器微指令寄存器。 執(zhí)行微指令時(shí),先將 微指令送入IR 4 4毫微程序設(shè)計(jì)的基本概念毫微

45、程序設(shè)計(jì)的基本概念 (1) 毫微程序:毫微程序:用來(lái)解釋微程序的微程序。用來(lái)解釋微程序的微程序。 毫微指令是解釋微指令的微指令。其主要目的是毫微指令是解釋微指令的微指令。其主要目的是 為了減少控制存儲(chǔ)器的容量。為了減少控制存儲(chǔ)器的容量。 (2)設(shè)計(jì)方法:采用兩級(jí)法。采用兩級(jí)法。 第一級(jí)采用垂直微程序,主要功能是簡(jiǎn)單分類(lèi)和下 址的確定,該級(jí)很容易實(shí)現(xiàn)微程序設(shè)計(jì)的自動(dòng)化,其控制 存儲(chǔ)器的主要特點(diǎn)是字短。 第二級(jí)采用水平微程序,由第一級(jí)調(diào)用,本身具有并 行操作控制的能力但不含下址,可以被第一級(jí)重復(fù)調(diào)用。 每條毫微指令各不相同。特點(diǎn):控制存儲(chǔ)器字?jǐn)?shù)較少,但 每個(gè)字的長(zhǎng)度較長(zhǎng)。 5.微程序設(shè)計(jì)語(yǔ)言微程序

46、設(shè)計(jì)語(yǔ)言:用來(lái)編制微程序的語(yǔ)言叫微程序設(shè)計(jì) 語(yǔ)言,一般用微匯編語(yǔ)言。 6.5 6.5 硬布線控制的計(jì)算機(jī)硬布線控制的計(jì)算機(jī) 在運(yùn)算控制器邏輯圖, “時(shí)序控制信號(hào)形 成部件”產(chǎn)生控制計(jì)算機(jī)各部分操作所需的控 制信號(hào),這個(gè)部件組成有兩種方式:(1 1)微)微 程序控制方式(程序控制方式(2 2)硬布線控制方式)硬布線控制方式 硬布線控制方式:硬布線控制方式: 通過(guò)邏輯電路直接連線而產(chǎn)生通過(guò)邏輯電路直接連線而產(chǎn)生 的,所以又稱(chēng)為組合邏輯控制方式。的,所以又稱(chēng)為組合邏輯控制方式。 至于控制器的其他組成部分,諸如時(shí)鐘、啟 停電路、程序計(jì)數(shù)器、指令寄存器以及電路配 合問(wèn)題等等,則不因控制方式而異。 6.5

47、.1 6.5.1 時(shí)序與節(jié)拍時(shí)序與節(jié)拍 一條指令的實(shí)現(xiàn)可分成:取指、計(jì)算地址、取數(shù)及執(zhí)行等 幾個(gè)步驟。在微程序控制方式中,每一步由一條微指令實(shí) 現(xiàn),而硬布線控制方式則由指令的操作碼直接控制并產(chǎn)生 實(shí)現(xiàn)上述各步驟所需的控制信號(hào)。一條指令的每一步由一 個(gè)機(jī)器周期實(shí)現(xiàn),如何區(qū)分一條指令的四個(gè)機(jī)器周期呢? 方法有兩種: 法1. 兩位計(jì)數(shù)器的譯碼輸出產(chǎn)生的四個(gè)狀態(tài)來(lái)表示當(dāng)前所 處的機(jī)器周期,(24譯碼器)如圖631所示; 法2.用四位觸發(fā)器來(lái)分別表示四個(gè)周期,當(dāng)機(jī)器處于某一 周期時(shí),相應(yīng)的觸發(fā)器處于“1”狀態(tài),而其余三個(gè)觸發(fā)器 則處于“0”狀態(tài),四位移位寄存器即可實(shí)現(xiàn)此功能。 兩位計(jì)數(shù)器 譯碼輸出4 位

48、 由于每條指令的功能不同,機(jī)器周期數(shù)和長(zhǎng)短有所不同,計(jì)數(shù) 器或移位寄存器的工作時(shí)序發(fā)生變化的規(guī)律與指令有關(guān)。 A指令需指令需4 個(gè)機(jī)器周期個(gè)機(jī)器周期 B指令需指令需3個(gè)機(jī)器周期個(gè)機(jī)器周期 當(dāng)前周當(dāng)前周 期計(jì)數(shù)期計(jì)數(shù) 狀態(tài)狀態(tài) 下一周下一周 期計(jì)數(shù)期計(jì)數(shù) 狀態(tài)狀態(tài) A A指令指令:cyA=cyA cyB+cyA cyB:cyA=cyA cyB+cyA cyB; cyB=cyA cyB+cyA cyB=cyBcyB=cyA cyB+cyA cyB=cyB。 B B指令指令:cyA=cyA cyB+cyA cyB=cyB:cyA=cyA cyB+cyA cyB=cyB; cyB=cyA cyBcyB

49、=cyA cyB。 A A指令指令:cyA=cyA cyB+cyA cyB:cyA=cyA cyB+cyA cyB; cyB=cyA cyB+cyA cyB=cyBcyB=cyA cyB+cyA cyB=cyB。 B B指令指令:cyA=cyA cyB+cyA cyB=cyB:cyA=cyA cyB+cyA cyB=cyB; cyB=cyA cyBcyB=cyA cyB。 根據(jù)邏輯 表達(dá)式畫(huà) 出邏輯圖 計(jì)數(shù)器 注: 1.實(shí)際機(jī)器指令有幾十到幾百條,一般根 據(jù)指令功能列出每條指令的機(jī)器周期變化 規(guī)律,最后歸納處幾種情況,將情況相同 的指令歸為一類(lèi),然后列出表達(dá)式,畫(huà)出 邏輯圖。 2.延長(zhǎng)某個(gè)機(jī)器

50、周期時(shí)間的方法:封鎖CP (簡(jiǎn)單);控制計(jì)數(shù)器輸入(復(fù)雜)。 3.計(jì)數(shù)器譯碼器輸出可能會(huì)產(chǎn)生毛刺,可 通過(guò)改變觸發(fā)器狀態(tài)的順序加以改善(此 時(shí)真值表、表達(dá)式、邏輯圖要作相應(yīng)的修 改)。 6.5.2 6.5.2 操作控制信號(hào)的產(chǎn)生操作控制信號(hào)的產(chǎn)生 1操作碼譯碼器 指令:操作碼+地址碼 在機(jī)器內(nèi)設(shè)置一個(gè)指令譯碼器,輸入:操作碼 輸出:反 映出當(dāng)前正在執(zhí)行的指令。 由譯碼器的輸出和機(jī)器周期狀態(tài)cylcy4作為輸入,使 用邏輯電路產(chǎn)生操作控制信號(hào)。 7位OP 2 2操作控制信號(hào)的產(chǎn)生操作控制信號(hào)的產(chǎn)生 “組合邏輯電路”究竟是由什么組成的? 以加法指令為例,假設(shè)一條加法指令的功能是由四個(gè)機(jī)器 周期cy

51、lcy4完成的,分別為取指、計(jì)算有效地址、取操作數(shù)、 進(jìn)行加法運(yùn)算并送結(jié)果。 取指令周期:控制信號(hào)的邏輯式為 PCAB=cy1 ADS= cy1 T1 MIO= cy1 WR= cy1 DBIR= cy1 PC+1=cy1 在計(jì)算地址周期cy2, 列出邏輯表達(dá)式 rslGR=加法指令 cy2 (rsl)ALU=加法指令 cy2 ALUAR=加法指令 cy2 對(duì)每一條指令都進(jìn)行同樣的分析,得出邏輯表達(dá)式。對(duì)每一條指令都進(jìn)行同樣的分析,得出邏輯表達(dá)式。 主要結(jié)論:主要結(jié)論: (1)取指周期cy1的信號(hào)對(duì)所有指令均相同。 (2)同一控制信號(hào)可能在多個(gè)指令中運(yùn)用。 如: += 加法指令cy2+ 加法指

52、令cy4 + 減法指 令cy2 + 轉(zhuǎn)移指令cy2 + (3)同種類(lèi)型的指令所需要的控制信號(hào)大部分相同。 如:所有的算術(shù)邏輯運(yùn)算指令僅在ALU的操作命令及 是否置狀態(tài)位上不同,其他均完全相同。 (4)在確定指令操作碼時(shí),要認(rèn)真做好分類(lèi)。 6.5.3 控制器的組成 1程序計(jì)數(shù)器和中斷控制邏輯 程序計(jì)數(shù)器的輸入:有四種來(lái)源. (1)開(kāi)機(jī)后的reset信號(hào),將PC置以初始地址; (2)順序執(zhí)行指令:由PC+1形成下一條指令地址; (3)轉(zhuǎn)移:由ALU送來(lái)轉(zhuǎn)移地址(通過(guò)ALU部件計(jì) 算有效地址) (4)外來(lái)中斷請(qǐng)求信號(hào):若CPU響應(yīng)中斷,則由 中斷控制邏輯部件產(chǎn)生中斷入口地址。 2譯碼器 如操作碼為7

53、位,則允許計(jì)算機(jī)最多設(shè)置128條指令. 譯碼器的最基本形式為: 輸入:7位操作碼 輸出:128條線中,在任何時(shí)候只有1根為高電位,其 余均為低電位(或只有1根為低電位,其余均為高電位), 每1根輸出線代表一條指令。 3硬布線邏輯的實(shí)現(xiàn)途徑 用PLA(可編程邏輯陣列,地址與存儲(chǔ)區(qū)或均可編 程)、PAL(可編程陣列邏輯,與可編程、或不可編 程、增加三態(tài)輸出器件及記憶元件)、GAL(通用陣 列邏輯,與或均可編程、輸出邏輯宏單元)或半定制 電路門(mén)陣列(GA)來(lái)實(shí)現(xiàn)。 6.5.4 硬布線控制邏輯設(shè)計(jì)中的若干問(wèn) 題設(shè)計(jì)步驟 1指令操作碼的代碼分配 主要目標(biāo):簡(jiǎn)化控制部分的電路,減少延遲時(shí)間。 主要難點(diǎn): (1)CISC不定長(zhǎng)操作碼的譯碼困難; (2)為后續(xù)升級(jí)系統(tǒng)預(yù)留指令位置困難。 2. 確定機(jī)器周期、節(jié)拍與主頻 保證大部分指令在一個(gè)周期內(nèi)完成,部分指令通過(guò) 如“ready”信號(hào)等方式來(lái)增加機(jī)器周期來(lái)完成。 3. 根據(jù)指令功能,確定每一條指令所需的機(jī)器周期數(shù)以 及每一周期所完成的操作。 如:乘法采用加法與移位操作,每位執(zhí)行一個(gè)周期等方 法(延長(zhǎng)這條指令的執(zhí)行周期或重復(fù)多次出現(xiàn)執(zhí)行周期)。 在確定每條指令在每一周期所完成的操作時(shí),也就得出 了相應(yīng)的操作控制命令,一般表達(dá)式為: 操作控制命令名指令名機(jī)器周期節(jié)拍條件 4. 綜合所有指令的每一個(gè)操作

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論