計(jì)算機(jī)組成原理(第六章)_第1頁
計(jì)算機(jī)組成原理(第六章)_第2頁
計(jì)算機(jī)組成原理(第六章)_第3頁
計(jì)算機(jī)組成原理(第六章)_第4頁
計(jì)算機(jī)組成原理(第六章)_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第六章 中央處理器 中央處理器,簡稱CPU,是整個(gè)計(jì)算機(jī)的核心,主要由運(yùn)算器和控制器組成。CPU的主要功能是執(zhí)行指令,控制并完成各種操作,例如運(yùn)算操作、傳送操作、輸入輸出操作等。為了實(shí)現(xiàn)CPU的功能,需要解決4個(gè)關(guān)鍵問題。CPU如何組成?CPU如何實(shí)現(xiàn)各部件(bjin)之間的信息交換?CPU如何形成微命令序列來控制指令的執(zhí)行?CPU如何建立與外部的連接?(在總線技術(shù)中介紹)1共八十四頁本章(bn zhn)主要內(nèi)容中央處理器的功能和組成控制器的組成和實(shí)現(xiàn)方法指令周期、時(shí)序系統(tǒng)(xtng)與控制方式微程序控制原理操作控制單元的設(shè)計(jì)流水線技術(shù)2共八十四頁一、中央處理器的功能(gngnng)和組成當(dāng)我

2、們用計(jì)算機(jī)解決某個(gè)問題時(shí),首先要為計(jì)算機(jī)編寫程序。程序是一個(gè)指令序列,這個(gè)指令序列就是要明確告訴計(jì)算機(jī)應(yīng)該執(zhí)行(zhxng)什么操作、數(shù)據(jù)從哪里來、結(jié)果送到哪里去。之后,一旦把程序裝入主存,就可由計(jì)算機(jī)自動(dòng)完成取指令和執(zhí)行(zhxng)指令的任務(wù)。程序運(yùn)行時(shí),在計(jì)算機(jī)各部件之間傳送著指令或數(shù)據(jù),形成了指令流和數(shù)據(jù)流,在內(nèi)部,CPU的基本任務(wù)就是對(duì)這些指令流和數(shù)據(jù)流在時(shí)間與空間上實(shí)施正確的控制。由此可見:數(shù)據(jù)是在傳送過程中得到加工和處理的。3共八十四頁、CPU具備(jbi)的功能CPU具備(jbi)以下四個(gè)方面的功能:指令控制:保證機(jī)器按順序執(zhí)行程序是CPU的首要任務(wù)操作控制:CPU根據(jù)指令的要

3、求,產(chǎn)生需要的操作信號(hào)時(shí)間控制:對(duì)各種操作信號(hào)進(jìn)行定時(shí),即進(jìn)行時(shí)間控制數(shù)據(jù)加工:對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。完成數(shù)據(jù)的加工和處理是CPU的核心任務(wù)。4共八十四頁2、CPU的基本(jbn)組成 CPU由運(yùn)算器和控制器組成(z chn)PSW5共八十四頁運(yùn)算器的組成(z chn)與主要功能運(yùn)算器的組成:算術(shù)邏輯單元(ALU)累加寄存器狀態(tài)標(biāo)志寄存器數(shù)據(jù)(shj)緩沖寄存器運(yùn)算器的功能(第四章已討論):執(zhí)行所有的算術(shù)運(yùn)算執(zhí)行所有的邏輯運(yùn)算通常,算術(shù)運(yùn)算產(chǎn)生一個(gè)結(jié)果,而邏輯運(yùn)算產(chǎn)生一個(gè)判斷。運(yùn)算器是完成數(shù)據(jù)加工和處理的部件,全部操作由控制器發(fā)出的控制信號(hào)來指揮,運(yùn)算器是執(zhí)行部件。6共八十四頁控制器的

4、組成與主要(zhyo)功能控制器的組成:指令部件程序計(jì)數(shù)器指令寄存器指令譯碼器時(shí)序部件脈沖源節(jié)拍信號(hào)發(fā)生器啟??刂?kngzh)邏輯,等微操作信號(hào)發(fā)生器中斷控制邏輯總線接口,等控制器的主要功能:從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。對(duì)指令的操作碼進(jìn)行譯碼,并產(chǎn)生相應(yīng)的操作控制信號(hào)。例如,執(zhí)行一次內(nèi)存讀寫操作,或一次算術(shù)邏輯運(yùn)算操作等。指揮并控制CPU、內(nèi)存以及輸入輸出設(shè)備之間的數(shù)據(jù)流動(dòng)方向。可見,控制器是發(fā)布命令的決策機(jī)構(gòu),控制器是控制部件。(本章重點(diǎn)討論)7共八十四頁3、CPU中的主要(zhyo)寄存器在CPU中,寄存器具有非常重要的作用,例如提供操作數(shù)、存放運(yùn)算的中間結(jié)果、

5、最終結(jié)果以及狀態(tài)信息。各種計(jì)算機(jī)CPU可能不同,但CPU中至少有六類寄存器必不可少: 數(shù)據(jù)緩沖寄存器(MDR) 指令寄存器(IR) 程序計(jì)數(shù)器(PC) 地址(dzh)寄存器(MAR) 累加寄存器(AC) 狀態(tài)標(biāo)志寄存器(PSW) 注意:寄存器屬于CPU不屬于主存儲(chǔ)器8共八十四頁CPU中的主要(zhyo)寄存器數(shù)據(jù)緩沖寄存器(MDR): 用來存放進(jìn)出內(nèi)存的指令和數(shù)據(jù),是CPU和主存或外設(shè)信息傳送的中轉(zhuǎn)站,也用來補(bǔ)償CPU與主存或外設(shè)在操作速度上的差異。指令寄存器(IR):用來存放當(dāng)前正在執(zhí)行的一條指令。在指令執(zhí)行期間,指令寄存器的內(nèi)容不允許發(fā)生變化。在指令寄存器中,操作碼字段的輸出就是指令譯碼器

6、的輸入(shr)。程序計(jì)數(shù)器(PC):用來存放將要執(zhí)行的下一條指令的地址,當(dāng)CPU順序執(zhí)行指令時(shí),每取一條指令, PC會(huì)自動(dòng)加,確保其內(nèi)容是下一條將要執(zhí)行的指令的地址;當(dāng)遇到轉(zhuǎn)移指令時(shí),下一條指令的地址將從指令寄存器中的地址字段獲得。9共八十四頁CPU中的主要(zhyo)寄存器地址寄存器(MAR):用來存放CPU當(dāng)前所訪問的主存單元的地址。 在讀寫期間,其值一般保持不變。只要CPU和內(nèi)存交換信息,都要用到地址寄存器和數(shù)據(jù)緩沖寄存器。累加寄存器(AC):執(zhí)行算術(shù)邏輯操作(cozu)時(shí),為ALU提供操作(cozu)數(shù)以及存放運(yùn)算結(jié)果。 例如在加法運(yùn)算時(shí),能夠?yàn)锳LU提供一個(gè)操作(cozu)數(shù)。累加

7、寄存器簡稱累加器。狀態(tài)標(biāo)志寄存器(PSW):用來存放由指令執(zhí)行結(jié)果所建立的狀態(tài)以及機(jī)器自身的運(yùn)行狀態(tài) ,主要有兩類:第一類為狀態(tài)標(biāo)志 ,第二類為控制標(biāo)志。10共八十四頁4、控制器的其它(qt)部件微操作信號(hào)發(fā)生器:根據(jù)指令操作碼、狀態(tài)信息和時(shí)序信號(hào),產(chǎn)生各種微操作的控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的任務(wù)。按照微操作控制信號(hào)的產(chǎn)生方式,控制器分為三種:組合邏輯型、存儲(chǔ)邏輯型、組合邏輯與存儲(chǔ)邏輯結(jié)合型。采用組合邏輯實(shí)現(xiàn)的控制器稱為組合邏輯控制器(硬布線控制器),采用存儲(chǔ)邏輯實(shí)現(xiàn)的控制器稱為微程序控制器。時(shí)序部件:由脈沖源、節(jié)拍信號(hào)發(fā)生器和啟停控制邏輯構(gòu)成。微操作控制信號(hào)有

8、嚴(yán)格的時(shí)間要求(yoqi),絕不能出現(xiàn)任何差錯(cuò)。時(shí)序部件的作用是對(duì)各種操作實(shí)施時(shí)間上的控制。指令譯碼器、中斷控制邏輯、總線接口等后續(xù)逐步討論。11共八十四頁5、CPU內(nèi)部(nib)的數(shù)據(jù)通路 CPU內(nèi)部各部件之間需要傳送信息,信息從什么地方開始、中間經(jīng)過了哪些部件、最后傳送到哪個(gè)寄存器,都是在控制器的控制下完成的。例如(lr),操作數(shù)由寄存器送到ALU進(jìn)行運(yùn)算、ALU將運(yùn)算結(jié)果送入寄存器存放。把CPU內(nèi)部各部件之間傳送數(shù)據(jù)的通路稱為數(shù)據(jù)通路。 通常,用總線連接CPU內(nèi)部各部件。在CPU中,有三種內(nèi)部總線結(jié)構(gòu): 單總線結(jié)構(gòu)、雙總線結(jié)構(gòu)以及三總線結(jié)構(gòu),我們?cè)?jīng)在第四章關(guān)于運(yùn)算器的組織中討論過。12

9、共八十四頁二、指令(zhlng)周期指令和數(shù)據(jù)都放在主存中。從形式上看,它們都是二進(jìn)制代碼。對(duì)于人來說,很難區(qū)分出這些代碼是指令還是(hi shi)數(shù)據(jù),而CPU卻能準(zhǔn)確地把它們區(qū)分開來。CPU是怎么準(zhǔn)確地判別出主存中存放的是指令還是(hi shi)數(shù)據(jù)的?這要從指令周期開始討論。13共八十四頁1、指令(zhlng)周期的基本概念CPU取指令(zhlng)執(zhí)行指令(zhlng)的序列:指令周期是指取出并執(zhí)行完一條指令的時(shí)間。因?yàn)楦鞣N指令的操作功能不同,所以指令周期也不完全相同。指令周期通常劃分為若干個(gè)CPU周期,CPU周期也叫機(jī)器周期。一個(gè)CPU周期在時(shí)間上等于主存的一個(gè)存取周期。例如,從主存

10、取出一條指令就需要一個(gè)CPU周期。14共八十四頁2、舉例,一個(gè)(y )簡單程序八進(jìn)制地址八進(jìn)制內(nèi)容助記符備注020021022023024.030031.040250 000030 030020 040000 000140 021.000 006000 040.存儲(chǔ)“和”CLAADD 30STA 40NOPJMP 21.累加器AC清零AC相加30單元把AC內(nèi)容存40單元空操作跳轉(zhuǎn),地址為2115共八十四頁 CLA指令(zhlng)的指令(zhlng)周期CLA指令完成累加器清零功能(gngnng),是一條非訪存指令,執(zhí)行這條指令需要2個(gè)CPU周期,其中取指令階段需要1個(gè)CPU周期,執(zhí)行指令階段

11、也需要1個(gè)CPU周期。16共八十四頁CPU完成三件事:從內(nèi)存中取出指令(zhlng)對(duì)程序計(jì)數(shù)器PC+1對(duì)指令操作碼譯碼CPU做6個(gè)動(dòng)作:PCMARPC+1PCMARABUSM(MAR)MDRMDRIROP(IR)ID CPU已知做什么操作第一個(gè)CPU周期(zhuq):取指令階段 17共八十四頁第二個(gè)CPU周期,執(zhí)行(zhxng)指令階段CPU完成一件事:執(zhí)行累加器清零操作(cozu)。CPU做2個(gè)動(dòng)作:微操作信號(hào)發(fā)生器送出控制信號(hào)C 給算術(shù)邏輯單元ALU。Cout。ALU響應(yīng)控制信號(hào)C,將累加寄存器 AC 的內(nèi)容全部清零,完成CLA的執(zhí)行。0AC。 CPU完成指令操作。18共八十四頁 ADD

12、指令(zhlng)的指令(zhlng)周期第二條指令是“ADD 30”,這是一條通過訪問主存取數(shù)并執(zhí)行加法(jif)的指令。ADD指令的指令周期由三個(gè)CPU周期組成。第一個(gè)CPU周期為取指令階段,同CLA,不再討論。假設(shè)取指令結(jié)束后, ADD指令已經(jīng)存放在指令寄存器中,而且被正確譯碼。19共八十四頁第二個(gè)CPU周期(zhuq),送操作數(shù)地址 CPU完成一件事:傳送操作數(shù)地址(dzh)到地址(dzh)寄存器MAR。CPU做1個(gè)動(dòng)作:把指令寄存器中地址碼30裝入地址寄存器MAR, 執(zhí)行的操作為:IRMAR傳送地址動(dòng)作完成PSW20共八十四頁第三個(gè)CPU周期(zhuq),取操作數(shù)、兩數(shù)相加CPU完成

13、(wn chng)兩件事:取操作數(shù)加法操作CPU做4個(gè)動(dòng)作:MARABUSDBUSMDRMDRALUadd, ALUAC指令操作完成21共八十四頁 STA指令(zhlng)的指令(zhlng)周期程序的第三條指令是“STA 40”,是一條訪問主存的存數(shù)指令。STA指令周期(zhuq)由三個(gè)CPU周期(zhuq)組成。第一個(gè)CPU周期為取指令階段,同CLA、ADD。第二個(gè)CPU周期把指令寄存器中地址碼部分的內(nèi)容40裝到地址寄存器中, 過程跟ADD指令送操作數(shù)地址完全一樣。我們討論第三個(gè)CPU周期。22共八十四頁第三個(gè)CPU周期(zhuq),數(shù)據(jù)寫入內(nèi)存CPU完成兩件事:累加器內(nèi)容傳送到數(shù)據(jù)緩沖寄

14、存器。把該數(shù)據(jù)存入所選定的內(nèi)存(ni cn)單元40。CPU做4個(gè)動(dòng)作:ACMDRMARABUSMDRDBUSwrite CPU完成指令操作PSWSTA 4023共八十四頁 NOP指令(zhlng)和JMP指令(zhlng)的指令(zhlng)周期程序現(xiàn)在已經(jīng)進(jìn)行(jnxng)到第四條指令 “NOP”指令,這是一條空操作指令。第一個(gè)CPU周期,CPU把23號(hào)單元的NOP指令取出放到指令寄存器;第二個(gè)CPU周期中執(zhí)行該指令, 因譯碼器譯出是“NOP”指令,微操作信號(hào)發(fā)生器不發(fā)出任何控制信號(hào)。 程序執(zhí)行到第五條指令:“JMP 21”指令,其含義是改變程序的執(zhí)行順序,無條件轉(zhuǎn)移到地址 21執(zhí)行指令。

15、 JMP指令周期由兩個(gè)CPU周期組成 。從第二個(gè)CPU周期討論。24共八十四頁CPU完成(wn chng)一件事:把指令寄存器中的地址碼部分21送到程序計(jì)數(shù)器,用21取代PC中原先的內(nèi)容25。CPU做1個(gè)動(dòng)作:IRPC CPU完成指令操作第二個(gè)CPU周期(zhuq),送轉(zhuǎn)移地址 25共八十四頁3、用方框圖來表示指令(zhlng)周期用一個(gè)方框代表一個(gè)CPU周期;用菱形表示某種判別或測(cè)試,菱形不單獨(dú)占用(zhn yn)時(shí)間,依附于前面相鄰的一個(gè)方框的CPU周期;“” 表示公操作,如指令執(zhí)行結(jié)束后,CPU對(duì)外設(shè)中斷請(qǐng)求的處理就是公操作。不單獨(dú)占CPU周期26共八十四頁三、時(shí)序部件(bjin)與控制

16、方式在日常生活中,我們學(xué)習(xí)、工作和休息遵循一定的作息時(shí)間,以維持正常的秩序。在計(jì)算機(jī)系統(tǒng)中也有一個(gè)類似“作息時(shí)間”的東西,它叫時(shí)序部件。由于計(jì)算機(jī)的工作是高速進(jìn)行的,每一個(gè)動(dòng)作的時(shí)間是非常嚴(yán)格的,不能有任何差錯(cuò)。時(shí)序系統(tǒng)是控制器的心臟,其功能是為指令的執(zhí)行(zhxng)提供各種定時(shí)信號(hào)。27共八十四頁1、時(shí)序(sh x)信號(hào)的作用和體制曾經(jīng)的問題:CPU是怎么識(shí)別數(shù)據(jù)和指令的?從時(shí)間上講,取指令事件發(fā)生在指令周期的第一個(gè)CPU周期,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)CPU周期,即發(fā)生在“執(zhí)行指令”階段。從空間上講,如果(rgu)取出的代碼是指令,一定送往指令寄存器,如

17、果取出的代碼是數(shù)據(jù),一定送往運(yùn)算器。從地址來源講,指令地址來源于程序計(jì)數(shù)器,而數(shù)據(jù)地址來源于地址形成部件。時(shí)序信號(hào)的作用是劃分時(shí)間段,對(duì)各種操作信號(hào)進(jìn)行定時(shí),使多個(gè)控制信號(hào)在時(shí)間上相互配合,從而完成特定的操作功能。28共八十四頁三級(jí)時(shí)序體制(tzh)(系統(tǒng)) 一個(gè)指令周期分為若干(rugn)機(jī)器周期(CPU周期);一個(gè)機(jī)器周期再劃分為若干相等的時(shí)間段,每個(gè)時(shí)間段用一個(gè)電位信號(hào)來表示,稱為節(jié)拍電位;在節(jié)拍中執(zhí)行微操作,需要同步定時(shí)脈沖來配合,稱為工作脈沖(為什么)。節(jié)拍電位工作脈沖節(jié)拍脈沖機(jī)器周期CPU周期指令周期(T3下降沿=T0上升沿)29共八十四頁2、時(shí)序(sh x)部件下圖是組合邏輯控制

18、器的時(shí)序部件(bjin)結(jié)構(gòu)圖,由時(shí)鐘源、啟??刂七壿?、CPU周期信號(hào)發(fā)生器、節(jié)拍電位信號(hào)發(fā)生器、節(jié)拍脈沖(工作脈沖)發(fā)生器等部分組成。時(shí)鐘源用來為整個(gè)機(jī)器提供頻率穩(wěn)定的方波時(shí)鐘脈沖信號(hào),通常由石英晶體振蕩器和與非門組成的正反饋電路組成。30共八十四頁CPU周期(zhuq)信號(hào)發(fā)生器 CPU周期信號(hào)(xnho)一般設(shè)置單獨(dú)的觸發(fā)器表示,有幾個(gè)CPU周期就設(shè)置幾個(gè)觸發(fā)器。 例如,某計(jì)算機(jī)系統(tǒng)設(shè)有取指令、取操作數(shù)和執(zhí)行三個(gè)CPU周期,便設(shè)立三個(gè)觸發(fā)器分別表示。CPU周期的建立信號(hào)由微操作信號(hào)發(fā)生器產(chǎn)生,且在上一個(gè)CPU周期結(jié)束時(shí),由最后一個(gè)節(jié)拍脈沖信號(hào)的下降沿建立。31共八十四頁節(jié)拍(jipi)電

19、位信號(hào)發(fā)生器 節(jié)拍電位信號(hào)發(fā)生器可由循環(huán)移位寄存器組成。開始時(shí)由清零(qn ln)信號(hào)CLR將移位寄存器清為0001,之后在脈沖信號(hào)clock作用下,按照0001001001001000 0001 規(guī)律性地變化,從而輸出節(jié)拍電位信號(hào):T0、T1、T2、T3 。32共八十四頁節(jié)拍脈沖(michng)信號(hào)發(fā)生器 觸發(fā)器C1C0 構(gòu)成兩位循環(huán)移位寄存器。開始由清零信號(hào) CLR將其清為00,之后在Clock上升沿和下降沿作用(zuyng)下規(guī)律性地變化:00011110,譯碼后輸出節(jié)拍脈沖P0、P1、P2、P333共八十四頁啟??刂?kngzh)邏輯 計(jì)算機(jī)工作期間,要求時(shí)序信號(hào)必須是完整的。也就是說

20、,既不能從半個(gè)脈沖處開始工作;也不能在半個(gè)脈沖處結(jié)束工作。啟停控制邏輯用來保證這一要求的實(shí)現(xiàn)。 因T3的下降沿正是T0的上升沿,所以(suy)用T3信號(hào)的下降沿作為Cr觸發(fā)器的時(shí)鐘端輸入,就可以保證在T0的前沿開啟時(shí)序部件工作,而在T3的后沿關(guān)閉時(shí)序部件。 啟動(dòng)、停機(jī)信號(hào)平時(shí)置為高電平34共八十四頁3、時(shí)序(sh x)控制方式同步控制方式:用統(tǒng)一發(fā)出的時(shí)序信號(hào)對(duì)各項(xiàng)操作進(jìn)行同步和控制,每個(gè)CPU周期中產(chǎn)生相同數(shù)目的節(jié)拍電位和工作脈沖(michng)。 異步控制方式:沒有統(tǒng)一的時(shí)鐘信號(hào),各部件按自身固有的速度工作。控制器發(fā)出某操作控制信號(hào)后,等待執(zhí)行部件發(fā)回完成操作的“回答”信號(hào)后,再開始新的操

21、作。聯(lián)合控制方式:同步控制和異步控制相結(jié)合的方式。對(duì)大多數(shù)節(jié)拍數(shù)相近的指令,采用同步控制;而對(duì)于節(jié)拍數(shù)多的少數(shù)指令或節(jié)拍數(shù)不固定的指令,采用異步控制。計(jì)算機(jī)系統(tǒng)多采用CPU、設(shè)備內(nèi)部多采用操作序列所對(duì)應(yīng)的時(shí)序信號(hào)的產(chǎn)生方式,稱為時(shí)序控制方式,其實(shí)質(zhì)就是對(duì)操作的定時(shí)方式。常用的方式有:同步控制、異步控制、聯(lián)合控制三種。35共八十四頁四、微程序控制(chngxkngzh)原理 計(jì)算機(jī)解題總是把一個(gè)復(fù)雜的問題化成(hu chn)一步一步的算術(shù)運(yùn)算或邏輯運(yùn)算等基本操作來做,每一個(gè)基本操作稱為一條指令。在指令周期中又講到,一條指令的執(zhí)行通過分解為更小的若干動(dòng)作來實(shí)現(xiàn),例如分解為“取指令、取操作數(shù)、執(zhí)行指

22、令”三個(gè)階段(三個(gè)CPU周期)來完成。就取指令操作對(duì)應(yīng)的CPU周期來說,又被分解為 “從內(nèi)存取指令、程序計(jì)數(shù)器PC+1、指令譯碼” 三個(gè)微小的動(dòng)作。如何產(chǎn)生這些微小的動(dòng)作有不同的方法,我們重點(diǎn)介紹其中的微程序設(shè)計(jì)技術(shù),學(xué)習(xí)相關(guān)的概念、控制原理和設(shè)計(jì)技術(shù)。36共八十四頁微程序控制(chngxkngzh)原理微程序設(shè)計(jì)的概念和原理是英國劍橋大學(xué)的Wilkes教授在1951年提出來的。當(dāng)時(shí)(dngsh),由于并不具備用來存放微程序的控制存儲(chǔ)器的制造技術(shù),實(shí)際上并沒有真正使用。1964年,在 IBM360 計(jì)算機(jī)上將微程序設(shè)計(jì)技術(shù)付諸于實(shí)踐,成功地用于控制器的設(shè)計(jì)。在此之后,隨著VLSI技術(shù)的發(fā)展,進(jìn)

23、一步推動(dòng)了微程序技術(shù)的發(fā)展和應(yīng)用。微程序設(shè)計(jì)技術(shù)是將程序設(shè)計(jì)技術(shù)和存儲(chǔ)技術(shù)相結(jié)合,用軟件設(shè)計(jì)思想來組織硬件邏輯,產(chǎn)生微操作控制信號(hào),把控制信號(hào)軟件化的一門技術(shù)。37共八十四頁微程序控制(chngxkngzh)原理微程序控制的基本思想(1. 產(chǎn)生方式,2. 對(duì)應(yīng)關(guān)系):一條機(jī)器指令由一系列微操作實(shí)現(xiàn),而這些微操作是有先后次序的,是由微命令控制的;把能夠同時(shí)(tngsh)出現(xiàn)的微命令組織在一起,用二進(jìn)制代碼來表示,并且存放在一個(gè)只讀存儲(chǔ)器中;在執(zhí)行一條機(jī)器指令時(shí),逐個(gè)取出這些代碼,來產(chǎn)生所需的微命令(1:產(chǎn)生微命令, 0:不產(chǎn)生微命令),控制相應(yīng)的微操作,當(dāng)取完所有代碼,也就完成了一條機(jī)器指令所規(guī)

24、定的全部操作。這樣的一個(gè)二進(jìn)制代碼稱為一條微指令,一條機(jī)器指令所對(duì)應(yīng)的若干條微指令(有序集合)稱為一個(gè)微程序,存放微程序的存儲(chǔ)器稱為控制存儲(chǔ)器。 38共八十四頁1、微命令(mng lng)和微操作一臺(tái)計(jì)算機(jī)可劃分為兩大部分:控制部件和執(zhí)行部件??刂破魇强刂撇考?,運(yùn)算器、存儲(chǔ)器和外圍設(shè)備相對(duì)控制器而言,都是執(zhí)行部件。控制部件通過控制線向執(zhí)行部件發(fā)出控制命令,通常把這種控制命令叫做微命令。而執(zhí)行部件接受微命令后,所進(jìn)行的操作叫做微操作,微操作是最基本的、不可再分的。微操作與微命令具有一一對(duì)應(yīng)的關(guān)系。另外,由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作分為相容性和互斥性兩種。相容性微命令是指那些(nxi)可以同時(shí)產(chǎn)

25、生、并行執(zhí)行的微命令,而互斥性微命令是指那些不能同時(shí)產(chǎn)生和執(zhí)行的微命令。39共八十四頁相容性和互斥性微命令(mng lng)分析 右圖給出了一個(gè)簡單運(yùn)算器的邏輯模型。其中雙線表示數(shù)據(jù)通路,而單線表示微操作控制命令。+、-、M是互斥性的微命令,同樣4、6、8是互斥性微命令,5、7、9也是互斥性的,都不能同時(shí)產(chǎn)生。1、2、3是相容性微命令,可以(ky)同時(shí)產(chǎn)生;X輸入的微命令4、6、8與Y輸入的微命令5、7、9 中,任意兩個(gè)的組合也是相容性的。 40共八十四頁2、微指令和微程序由上可知,一條微指令就是實(shí)現(xiàn)一定操作功能的若干微命令的集合,且作為控制字被存儲(chǔ)在控制存儲(chǔ)器的一個(gè)(y )單元中;相應(yīng)地,把

26、存放微指令的控制存儲(chǔ)器的單元地址稱為微地址。一條微指令包含兩部分信息:操作控制信息和順序控制信息。41共八十四頁微指令和微程序操作控制(kngzh)字段:用來發(fā)出指揮全機(jī)工作的控制(kngzh)信號(hào)。 在上圖中,微指令的前17位構(gòu)成操作控制(kngzh)字段,每1位表示1個(gè)微命令。當(dāng)某一位為 1 時(shí),表示發(fā)出微命令,為0則不發(fā)出。順序控制字段:用來產(chǎn)生下一條將要執(zhí)行的微指令的微地址。一條機(jī)器指令的功能是由許多條微指令來實(shí)現(xiàn)的, 這個(gè)微指令序列構(gòu)成了微程序。一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。42共八十四頁3、機(jī)器指令和微指令的關(guān)系(gun x)從指令和微指令、程序和微程序、地址和微地址的對(duì)應(yīng)關(guān)系來看,

27、前者與主存有關(guān)(yugun),后者與控制存儲(chǔ)器有關(guān)(yugun)。機(jī)器指令的微操作序列主要取決于數(shù)據(jù)通路的結(jié)構(gòu),同一條指令,數(shù)據(jù)通路不同,微操作序列也不同,與硬件相關(guān)。微操作控制信號(hào)實(shí)際控制數(shù)據(jù)通路中的指令流和數(shù)據(jù)流的流向。控制信號(hào)的本質(zhì)是按要求打開或關(guān)閉通路的控制門。一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,機(jī)器指令的執(zhí)行過程就是與之對(duì)應(yīng)的微程序的執(zhí)行過程,機(jī)器指令執(zhí)行過程中,微命令由微指令產(chǎn)生。任何一條機(jī)器指令的取指令操作都相同,取指令操作的微命令被統(tǒng)一編制成一個(gè)微程序,作為公操作使用。43共八十四頁4、微程序控制器的組成(z chn)下圖是一個(gè)微程序控制器的原理框圖(kungt),包括控制存儲(chǔ)器、微指

28、令寄存器、微地址形成部件和微地址寄存器四部分。44共八十四頁微程序控制器的組成(z chn)控制存儲(chǔ)器(CM):用來存放微程序,在CPU內(nèi)部,用ROM實(shí)現(xiàn)??刂拼鎯?chǔ)器的字長就是微指令字的長度。對(duì)控制存儲(chǔ)器的要求是速度快。 (控制存儲(chǔ)器在CPU內(nèi)部,不屬于存儲(chǔ)系統(tǒng))。工作期間,控制器會(huì)從控制存儲(chǔ)器逐條讀出并執(zhí)行微指令;從控制存儲(chǔ)器中讀出一條微指令,并且執(zhí)行完相應(yīng)(xingyng)的微操作所需要的時(shí)間稱為一個(gè)微指令周期,簡稱微周期。微指令寄存器(IR): 用來存放從控制存儲(chǔ)器中讀出來的微指令,其位數(shù)和微指令字長相等。微地址形成部件:用來產(chǎn)生下一條微指令的地址,地址是由機(jī)器指令操作碼、運(yùn)行狀態(tài)和微指

29、令順序控制信息共同形成的。微地址寄存器(MAR):用來存放要讀取的微指令的地址,這個(gè)地址是控制存儲(chǔ)器的單元地址。45共八十四頁5、微程序控制器的工作(gngzu)過程微程序控制器的工作過程(guchng)是在微程序控制器的控制下執(zhí)行機(jī)器指令的過程(guchng)。執(zhí)行取指令操作。取指令操作對(duì)所有機(jī)器指令都一樣,通常由一段取指微程序來完成,屬于公操作。注意:取出來的是機(jī)器指令。用機(jī)器指令的操作碼生成該機(jī)器指令所對(duì)應(yīng)的微程序的入口地址,并且送入微地址寄存器。從控制存儲(chǔ)器中逐條取出、并且執(zhí)行微指令。執(zhí)行完一條機(jī)器指令所對(duì)應(yīng)的微程序后,又回到取指微程序,準(zhǔn)備取下一條機(jī)器指令 。46共八十四頁6、微程序

30、入口(r ku)地址的形成微程序的入口地址是由機(jī)器指令操作碼生成的,有三種方法:一級(jí)功能轉(zhuǎn)換 如果機(jī)器指令操作碼字段的位數(shù)和位置固定(gdng), 可直接把操作碼作為微程序入口地址的高位地址。例如,某計(jì)算機(jī)有16條機(jī)器指令,可用4位二進(jìn)制數(shù)表示操作碼,假設(shè)一個(gè)微程序最多由4條微指令構(gòu)成,則轉(zhuǎn)換如下:操作碼 入口地址0000 0000 110001 0001 11 1111 1111 1100001100010000010100011000011147共八十四頁微程序入口(r ku)地址的形成實(shí)現(xiàn)一級(jí)功能轉(zhuǎn)換的另外一種(y zhn)方法:操作碼充當(dāng)入口地址的低位地址。就上例而言,情況如下(考慮公

31、操作,減少一條機(jī)器指令):000000 取指公操作微程序入口000001 MOV入口(轉(zhuǎn)移微指令) 000010 ADD入口(轉(zhuǎn)移微指令)001111 JMP入口(轉(zhuǎn)移微指令)機(jī)器指令操作碼一般連續(xù)編碼,形成的入口地址也連續(xù),為此入口地址對(duì)應(yīng)的單元應(yīng)存放一條轉(zhuǎn)移微指令,轉(zhuǎn)向?qū)?yīng)微程序.48共八十四頁微程序入口地址(dzh)的形成二級(jí)功能轉(zhuǎn)換:當(dāng)同類機(jī)器指令的操作碼字段的位數(shù)和位置固定,而不同類機(jī)器指令的操作碼的位數(shù)和位置不固定時(shí),使用二級(jí)功能轉(zhuǎn)換。例,把位數(shù)一樣、位置固定的作為一類進(jìn)行轉(zhuǎn)移:分類轉(zhuǎn)移;第二次再用操作碼對(duì)應(yīng)微程序入口(r ku)地址:按操作碼轉(zhuǎn)移。編程轉(zhuǎn)換:當(dāng)機(jī)器指令的操作碼位數(shù)

32、和位置都不固定時(shí),可以采用可編程邏輯陣列(PLA)將每條機(jī)器指令的操作碼翻譯成對(duì)應(yīng)的微程序的入口地址。49共八十四頁7、后繼微地址(dzh)的形成獲得(hud)入口地址后,CPU開始執(zhí)行微程序。當(dāng)執(zhí)行完一條微指令后,如何找到要執(zhí)行的下一條微指令?為此需要解決后繼微地址的形成問題,有三種方法。增量方式:用一個(gè)微程序計(jì)數(shù)器PC來產(chǎn)生下一條微指令的地址。在順序執(zhí)行時(shí),后繼微地址由現(xiàn)行微地址加上一個(gè)增量來產(chǎn)生(+1);非順序執(zhí)行時(shí),由轉(zhuǎn)移微指令產(chǎn)生轉(zhuǎn)移微地址。增量方式需設(shè)置兩類微指令50共八十四頁后繼(huj)微地址的形成轉(zhuǎn)移微指令的順序控制字段又可分為兩部分:轉(zhuǎn)移控制字段和轉(zhuǎn)移地址字段。若轉(zhuǎn)移條件滿

33、足(轉(zhuǎn)移控制字段決定)時(shí),就把轉(zhuǎn)移地址字段內(nèi)容作為下一個(gè)微地址;若轉(zhuǎn)移條件不滿足時(shí),則把微程序計(jì)數(shù)器PC的內(nèi)容作為下一個(gè)微地址。為了(wi le)降低成本,通??梢园盐⒌刂芳拇嫫鱉AR改為微程序計(jì)數(shù)器PC??紤]:能否把地址寄存器改造為程序計(jì)數(shù)器?增量方式優(yōu)點(diǎn):微地址產(chǎn)生電路簡單、編制微程序容易;缺點(diǎn):多路轉(zhuǎn)移功能較弱、不利于提高速度、也不夠靈活。51共八十四頁后繼(huj)微地址的形成斷定方式:斷定方式又稱為下址字段法,這種方式在微程序控制器中不設(shè)置微程序計(jì)數(shù)器PC,而是在微指令格式中設(shè)置一個(gè)下址字段。當(dāng)微程序不需要轉(zhuǎn)移時(shí),下址字段的內(nèi)容就是下一條微指令的微地址;當(dāng)需要轉(zhuǎn)移時(shí),就按照轉(zhuǎn)移控制字

34、段的條件測(cè)試結(jié)果修改下地址,形成轉(zhuǎn)移微地址,實(shí)現(xiàn)轉(zhuǎn)移。轉(zhuǎn)移控制位作用(zuyng):設(shè)機(jī)器指令的操作碼有2位,在一條微指令中,轉(zhuǎn)移控制字段有2位P1P0,微地址字段有4位MAR3、2、1、0,現(xiàn)規(guī)定: P1P0=00:順序控制,下址字段址值 = 下一條微指令的微地址 P1P0=01:用機(jī)器指令的操作碼修改MAR3和MAR2 P1P0=10:若是ADD指令,MAR1=1;若是SUB指令,MAR3=1 P1P0=11:用Z標(biāo)志修改MAR152共八十四頁后繼(huj)微地址的形成1個(gè)測(cè)試位能產(chǎn)生2個(gè)分支,2個(gè)位(gwi)測(cè)試位能產(chǎn)生4個(gè)分支,n個(gè)測(cè)試位能產(chǎn)生2n個(gè)分支。分支轉(zhuǎn)移是通過修改下址字段來實(shí)

35、現(xiàn)的。P1P0=01OPMAR3、MAR2P1P0=10ADD: MAR1=1SUB: MAR3=153共八十四頁后繼(huj)微地址的形成增量和斷定結(jié)合方式:是增量方式與斷定方式的結(jié)合,所以既要在微程序控制器中設(shè)置微程序計(jì)數(shù)器,又要在每條微指令中設(shè)置順序控制字段。順序控制字段又分為兩部分:轉(zhuǎn)移控制字段和轉(zhuǎn)移地址(dzh)字段。當(dāng)無轉(zhuǎn)移要求時(shí),則微程序計(jì)數(shù)器的內(nèi)容就是要執(zhí)行的下一條微指令的微地址;當(dāng)需要轉(zhuǎn)移、且轉(zhuǎn)移條件滿足時(shí),由轉(zhuǎn)移地址字段的內(nèi)容形成下一個(gè)微地址。這種方式有增量和斷定方式的共同優(yōu)點(diǎn),微程序設(shè)計(jì)靈活。54共八十四頁五、微程序設(shè)計(jì)(chn x sh j)技術(shù)微程序設(shè)計(jì)的關(guān)鍵是如何確

36、定微指令的結(jié)構(gòu)。設(shè)計(jì)微指令結(jié)構(gòu)應(yīng)當(dāng)追求(zhuqi)如下目標(biāo):有利于縮短微指令的字長有利于減小控制存儲(chǔ)器的容量有利于方便微指令的修改有利于提高微程序執(zhí)行的速度有利于加強(qiáng)微程序設(shè)計(jì)的靈活性55共八十四頁1、微指令的編碼方法微指令包含(bohn)操作控制字段和順序控制字段兩大部分。微指令的編碼方法就是操作控制字段(微命令字段)的編碼方法。 直接控制法(不譯碼法)直接控制法是指操作控制字段中的每一位就是一個(gè)微命令,直接對(duì)應(yīng)一種微操作。該位為1微命令有效、為0微命令無效。 這種方法結(jié)構(gòu)簡單,并行性強(qiáng),輸出信號(hào)(xnho)直接用于控制;缺點(diǎn)是微指令字太長,控制存儲(chǔ)器容量較大。 56共八十四頁微指令的編碼

37、方法 最短編碼法最短編碼法將所有微命令統(tǒng)一編碼,經(jīng)過譯碼后才能得到微命令,每條微指令只定義一個(gè)微命令。對(duì)操作控制字段而言,1位能定義2-1個(gè)微命令,2位能定義4-1個(gè)微命令, ,N位能定義2N-1個(gè)微命令(留1個(gè)編碼作為空操作)。 特點(diǎn):微程序設(shè)計(jì)簡單,但并行性差,微程序變長。直接控制法和最短編碼法兩種編碼方法處于兩個(gè)極端,缺點(diǎn)明顯,在實(shí)踐中很少單獨(dú)使用(shyng),常與其它方法配合使用(shyng).57共八十四頁微指令的編碼方法 字段編碼法字段編碼法是將操作控制字段分為若干個(gè)小段,在段內(nèi)采用最短編碼法,每次譯碼只輸出一個(gè)微命令(mng lng);在段間采用直接控制法。58共八十四頁微指令

38、的編碼方法在字段編碼法中,操作控制字段的劃分要遵循以下規(guī)則:互斥性微命令分在同一字段,相容性微命令分在不同段內(nèi)。有利于縮短微指令長度、提高并行性。應(yīng)與數(shù)據(jù)通路的結(jié)構(gòu)相適應(yīng)。各小段包含的信息位不能太多,否則增加譯碼難度和時(shí)間。每個(gè)小段要留出一個(gè)譯碼狀態(tài),表示不發(fā)出微命令。 如某小段3位,最多定義7個(gè)相斥微命令,000表示無操作。在實(shí)際編碼時(shí),根據(jù)需要可以把幾種方法結(jié)合使用,采用(ciyng)混合控制法,如把直接控制法和字段編碼法結(jié)合起來進(jìn)行編碼。59共八十四頁2、微指令的格式(g shi)微指令的編碼方式是決定微指令格式的主要因素。一般情況下,微指令格式大致分為兩類:水平型微指令和垂直型微指令。

39、 水平型微指令:一次能定義并執(zhí)行多個(gè)微命令的微指令。采用直接控制法、字段編碼法生成的微指令,多數(shù)屬于水平型微指令.水平型微指令并行操作能力強(qiáng)、執(zhí)行機(jī)器指令的速度快;但微程序設(shè)計(jì)(chn x sh j)復(fù)雜。用水平型微指令編寫的微程序,具有微指令字長而微程序短的特點(diǎn),面向控制邏輯描述。 垂直型微指令:一次只能定義并執(zhí)行一個(gè)微命令的微指令。采用最短編碼法生成的微指令就屬于垂直型微指令。垂直型微指令并行操作能力差、執(zhí)行機(jī)器指令的速度慢;但微程序設(shè)計(jì)簡單。用垂直型微指令編寫的微程序,具有微指令字短而微程序長的特點(diǎn),面向控制算法描述。 60共八十四頁3、微指令的執(zhí)行(zhxng)方式執(zhí)行微指令的過程與執(zhí)

40、行機(jī)器指令的過程類似。第一步從控制存儲(chǔ)器中取出微指令,第二步執(zhí)行微指令所規(guī)定的各個(gè)微操作。微指令的執(zhí)行方式(fngsh)可分為串行方式(fngsh)和并行方式(fngsh)。并行執(zhí)行方式:取微指令與執(zhí)行微指令是重疊進(jìn)行的,也就是說,在執(zhí)行一條微指令的同時(shí),預(yù)取下一條微指令。串行執(zhí)行方式:取微指令、執(zhí)行微指令完全按順序進(jìn)行,也就是說,上條微指令執(zhí)行完,才取下條微指令。速度快!61共八十四頁4、動(dòng)態(tài)(dngti)微程序設(shè)計(jì)通常情況下,當(dāng)微程序設(shè)計(jì)好之后,不允許改變也不便于改變,這樣的設(shè)計(jì)稱為靜態(tài)微程序設(shè)計(jì)。假如在一臺(tái)微程序控制的計(jì)算機(jī)中,能夠根據(jù)用戶(yngh)的要求改變微程序,那么這臺(tái)機(jī)器就具有

41、動(dòng)態(tài)微程序設(shè)計(jì)功能。動(dòng)態(tài)微程序設(shè)計(jì)需要可寫控制存儲(chǔ)器的支持,否則難以改變微程序的內(nèi)容。用于動(dòng)態(tài)微程序設(shè)計(jì)的控制存儲(chǔ)器稱為可寫控制存儲(chǔ)器(WCS)。62共八十四頁六、控制(kngzh)單元的設(shè)計(jì)控制單元,即微操作信號(hào)發(fā)生器,是控制器的核心,其設(shè)計(jì)綜合了指令操作碼、尋址方式、時(shí)序安排、狀態(tài)信號(hào)等多方面內(nèi)容??刂茊卧妮斎胄盘?hào)來源:機(jī)器指令操作碼各部件的狀態(tài)反饋信號(hào)時(shí)序信號(hào)控制單元輸出的微操作控制信號(hào)的去向包括:CPU的內(nèi)部控制信號(hào),如寄存器之間數(shù)據(jù)傳送的控制信號(hào)。CPU的外部控制信號(hào),如CPU與主存數(shù)據(jù)交換的控制信號(hào)、或CPU與I/O設(shè)備數(shù)據(jù)交換的控制信號(hào)等??刂破鞣秩N:組合邏輯型、存儲(chǔ)邏輯型、

42、組合邏輯與存儲(chǔ)邏輯結(jié)合型,其區(qū)別僅在于(ziy)控制單元的實(shí)現(xiàn)方法不同。63共八十四頁1、組合(zh)邏輯控制單元的設(shè)計(jì)設(shè)計(jì)思路:根據(jù)所有指令(zhlng)的流程圖,找出產(chǎn)生同一微操作信號(hào)的所有條件,與適當(dāng)?shù)墓?jié)拍電位和節(jié)拍脈沖進(jìn)行組合后,將得到的布爾表達(dá)式用門電路(或可編程器件)來實(shí)現(xiàn)。步驟設(shè)計(jì)如下:確定機(jī)器指令的微操作序列:指令周期中討論的、指令執(zhí)行的各個(gè)動(dòng)作,就是不同時(shí)間段、不同時(shí)間點(diǎn)的微操作,可以按時(shí)間順序排列成微操作序列。P204列出微操作命令的操作時(shí)間表:把所有機(jī)器指令的微操作按時(shí)間順序列成表格,既能確定同一指令的微操作與不同時(shí)間點(diǎn)的對(duì)應(yīng)關(guān)系,也能確定不同指令的微操作在相同時(shí)間點(diǎn)上的

43、對(duì)應(yīng)關(guān)系。 P210進(jìn)行微操作信號(hào)的綜合:微操作信號(hào)=機(jī)器周期節(jié)拍電位節(jié)拍脈沖操作碼運(yùn)行狀態(tài)根據(jù)邏輯表達(dá)式畫出邏輯圖:根據(jù)邏輯表達(dá)式,畫出對(duì)應(yīng)每一個(gè)微操作信號(hào)的邏輯電路圖,并用邏輯門電路(或可編程器件)來實(shí)現(xiàn)。64共八十四頁2、微程序控制(chngxkngzh)單元的設(shè)計(jì) p211微程序控制(chngxkngzh)器的操作控制信號(hào)由微指令產(chǎn)生。設(shè)計(jì)微程序控制(chngxkngzh)單元的主要任務(wù)是編寫每一條機(jī)器指令的微程序。確定微程序控制方式:根據(jù)設(shè)計(jì)要求,確定是采用水平微程序設(shè)計(jì)、還是垂直微程序設(shè)計(jì)?微指令是串行執(zhí)行、還是并行執(zhí)行?擬定微命令系統(tǒng):確定控制中有哪些微命令?用什么格式表示這些微

44、命令?包括字段劃分、編碼方式、初始微地址和后繼微地址的形成等。編制微程序:對(duì)微命令系統(tǒng)、微指令格式進(jìn)行核對(duì)審查、修改優(yōu)化后,便可以編制機(jī)器指令的微程序。 微程序代碼化:將修改完善的微程序轉(zhuǎn)換成二進(jìn)制代碼,即代真.寫入控制存儲(chǔ)器:將二進(jìn)制代碼按地址寫入控制存儲(chǔ)器。65共八十四頁七、設(shè)計(jì)(shj)舉例例1、某計(jì)算機(jī)的CPU內(nèi)部為雙總線結(jié)構(gòu),所有(suyu)數(shù)據(jù)傳送都通過ALU,ALU具有下列功能,CPU結(jié)構(gòu)如下圖所示。 F=A;F=B F=A+1;F=B+1 F=A-1;F=B-1寫出轉(zhuǎn)子指令(JSR)取指和執(zhí)行周期的微操作。 JSR指令占兩個(gè)字,第一個(gè)字是操作碼,第二個(gè)字是子程序的入口地址。返回

45、地址保存在堆棧中,堆棧指針始終指向棧頂。 在圖中,Y為暫存器, PC為程序計(jì)數(shù)器,MAR為地址寄存器,MDR為數(shù)據(jù)緩沖寄存器,IR為指令寄存器。66共八十四頁解:轉(zhuǎn)子指令的第一個(gè)字為操作碼、第二個(gè)字為子程序的入口地址(dzh)。 PCB,F(xiàn)=B,F(xiàn) MAR,Read;讀指令的第一個(gè)字 PCB,F(xiàn)=B+1,F(xiàn) PC;PC+1 MDRB,F(xiàn)=B,F(xiàn) IR;讀出指令 PCB,F(xiàn)=B,F(xiàn) MAR,Read;讀指令的第二個(gè)字 PCB,F(xiàn)=B+1,F(xiàn) PC;PC+1 MDRB,F(xiàn)=B,F(xiàn) Y;讀出入口地址并暫存于Y SPB,F(xiàn)=B-1,F(xiàn) SP,F(xiàn) MAR;修改棧指針 PCB,F(xiàn)=B,F(xiàn) MDR,Writ

46、e;保存返回地址 YA,F(xiàn)=A,F(xiàn) PC ;子程序首地址送PC END;微程序結(jié)束工作之一設(shè)計(jì)微操作序列67共八十四頁設(shè)計(jì)(shj)舉例例2、右圖為一微程序流程, 每個(gè)方框代表一條微指令,分別用字符AP表示其執(zhí)行的微操作,根據(jù)給定(i dn)的微程序流程設(shè)計(jì)微指令的順序控制字段,并為每條微指令分配一個(gè)地址。解:程序有兩個(gè)分支處, 第一處C有4個(gè)分支, 由機(jī)器指令操作碼的I1I0兩位決定后繼地址,分別指向4條不同的指令;在第二處E有2個(gè)分支, 根據(jù)運(yùn)算結(jié)果Z的值決定, 分別指向2條不同指令。68共八十四頁為此,順序控制字段中設(shè)置2位測(cè)試字段,分別對(duì)應(yīng)2處測(cè)試。又因?yàn)?yn wi)共有16條微指令

47、,下址字段需要4位。下址字段有一定的約束條件,一般要選擇測(cè)試條件所控制的那幾位為 0,目的是簡化地址的修改(xigi)邏輯。由于微指令C按機(jī)器指令碼I1I0實(shí)現(xiàn)4路分支,可將其下址的末兩位選擇為00。若C的下址選擇為0100,后繼的4個(gè)微地址可設(shè)置為0100、0101、0110、0111,末兩位就是I1I0的值。同理,E的下址可取為1010,當(dāng)用Z修改后,得到F、J的微地址1010、1011。 工作之二后繼地址分配0:A的地址1:A的下址0169共八十四頁后繼地址(dzh)分配余下的微指令地址沒有約束條件,可以任意分配。但一般按微程序流程從小到大,把控制存儲(chǔ)器中沒有分配的微地址分配給不同的微指

48、令,就得到(d do)全部微指令地址。 請(qǐng)注意區(qū)分微指令自己的微地址和它所指向的下一條微指令的微地址(下址)! 70共八十四頁 微地址(自己的地址)微指令操作控制字段順序控制字段二進(jìn)制十進(jìn)制微命令測(cè)試下址00000A00000100011B00001000102C01010000113E10101001004D00001101015H00100001106L00100101117P00100110008I00101110019M001110101010F001100101111J001101110012G000000110113K000000111014N001111111115O000000

49、微地址(dzh)分配表71共八十四頁設(shè)計(jì)(shj)舉例例3、某機(jī)有8條微指令I(lǐng)1I8,每條微指令所含的微命令控制信號(hào)(xnho)如下表所示。a j分別代表10種有不同性質(zhì)的微命令,設(shè)一條微指令的操作控制字段為8位, 請(qǐng)安排微命令的操作控制字段格式,并將全部微指令代碼化。微指令微命令信號(hào)abcdefghijI1I2I3I4I5I6I7I8b、i、j 不能在同一條微指令中,互斥;e、f、h互斥;a、b、c、d、e、g 可以出現(xiàn)在同一微指令中,兼容。注:8條微指令在不同時(shí)間段內(nèi)執(zhí)行,b、i、j不出現(xiàn)在同一時(shí)間段,所以互斥。72共八十四頁微操作命令(mng lng)設(shè)計(jì)解:有10個(gè)不同性質(zhì)的微命令,

50、但微指令的操作控制字段只有8位, 不能采用(ciyng)直接控制法;又因?yàn)槲⒅噶钪杏卸鄠€(gè)微命令a、b、c、d、e是兼容的, 要同時(shí)產(chǎn)生 ,所以也不能用最短編碼法。選用字段編碼和直接控制相結(jié)合的方法比較適合。將互斥性的微命令安排在同一小段,b、i、j互斥, e、f、h互斥,分別安排兩個(gè)小段中;其它剩余微命令相容 a、c、d、g, 作為直接控制微命令,于是就形成了如下的微指令控制字段格式。小段1小段2譯碼輸出微命令譯碼輸出微命令00無00無01b01e10i10f11j11h73共八十四頁微操作命令(mng lng)設(shè)計(jì)將8條微指令代碼化可以(ky)得到:I1: 1110 01 01a c d g

51、 b e I2: 1011 00 10a c d g f I3: 0000 01 11a c d g b h I4: 0100 00 00a c d g I5: 0101 10 01a c d g i e I6: 1000 11 11a c d g j h I7: 0110 00 11a c d g h I8: 1000 01 11a c d g b h工作之三微操作命令設(shè)計(jì) 小段1小段2譯碼微命令譯碼微命令000001b01e10i10f11j11h74共八十四頁八、流水(lishu)CPU計(jì)算機(jī)誕生到現(xiàn)在,人們追求(zhuqi)的目標(biāo)之一是高速度。目前并行處理技術(shù)已成為計(jì)算機(jī)發(fā)展的主流技術(shù)

52、之一,概括起來主要有三種形式:時(shí)間并行、空間并行、時(shí)間并行+空間并行.時(shí)間并行:它是指時(shí)間重疊,讓多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。 時(shí)間并行性概念可采用流水處理部件實(shí)現(xiàn)。這是一種非常經(jīng)濟(jì)又實(shí)用的并行技術(shù),能夠保證計(jì)算機(jī)具有較高的性能價(jià)格比。目前高性能微型機(jī)幾乎無一例外地使用了流水技術(shù)。75共八十四頁流水(lishu)CPU空間并行性:它是指資源重復(fù),以“數(shù)量取勝”為原則大幅度提高計(jì)算機(jī)的處理速度。大規(guī)模和超大規(guī)模集成電路的迅速發(fā)展(fzhn)為空間并行帶來了巨大的生機(jī),也成為目前實(shí)現(xiàn)并行處理的一個(gè)主要途徑。 時(shí)間并行+空間并行:它是指時(shí)間重疊和資源重復(fù)的綜合應(yīng)用,既采用時(shí)間并行又采用空間并行。例如, 奔騰CPU采用了超標(biāo)量流水技術(shù)(U、V 兩條流水線),在一個(gè)機(jī)器周期中同時(shí)執(zhí)行兩條指令,這種并行技術(shù)效果最好。76共八十四頁1、流水(lishu)計(jì)算機(jī)的組成右圖給出了現(xiàn)代計(jì)算機(jī)的系統(tǒng)組成原理示意圖。其中,CPU按流水線方式組織,通常由三大部分組成:指令部件、指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論