2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩96頁(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、第七章 微序列控制單元設(shè)計(jì),7.1 微序列控制器設(shè)計(jì)基礎(chǔ)7.2 非常簡(jiǎn)單微序列控制器的設(shè)計(jì)和實(shí)現(xiàn)7.3 相對(duì)簡(jiǎn)單微序列控制器的設(shè)計(jì)和實(shí)現(xiàn)7.4 減少微指令數(shù)7.5 微程序控制和硬布線控制的比較7.6 實(shí)例:一個(gè)(大部分是)微代碼的CPU 奔騰微處理器,微序列控制器:把控制信號(hào)存儲(chǔ)在一個(gè)查找表ROM,即微代碼存儲(chǔ)器中。按照正確的次序訪問ROM中的內(nèi)容,查找表ROM就可以以適當(dāng)?shù)捻樞虬l(fā)出控制信號(hào),從而實(shí)現(xiàn)處

2、理器指令集中的指令。,幾個(gè)基本概念1. 微操作控制信號(hào): 如:PCLOAD、ACINC2. 微操作:由微操作控制信號(hào)控制實(shí)現(xiàn)的最基本操作。一個(gè)微操作是在一組微操作控制信號(hào)的控制下實(shí)現(xiàn)的。 如:AR←PC ARLOAD、PCBUS3. 微指令:控制完成一組微操作的二進(jìn)制編碼字。4. 微程序或微代碼:一系列微指令的有序集合。 每一條機(jī)器指令對(duì)應(yīng)著一段微程序,通過(guò)解釋執(zhí)行這段微程序,完成指令

3、規(guī)定的操作功能。,,機(jī)器指令A(yù)DD(在主存中),,一段微程序(在控制存儲(chǔ)器ROM中),,FETCH1(0) 100000000 微指令FETCH2(1) 001010000 微指令FETCH3(2) 010001000 微指令A(yù)DD1(8) 000001000 微指令A(yù)DD2(9) 000000100 微指令,7.1.1 微序列控制器的操作1.典型微序列控制器的組成 ◆ 寄存器存儲(chǔ)的值與C

4、PU狀態(tài)圖中的一個(gè)狀態(tài)相對(duì) 應(yīng),且當(dāng)作地址輸入到微代碼存儲(chǔ)器中。 ◆ 存儲(chǔ)器的輸出是一條微指令,即那個(gè)地址對(duì)應(yīng)的 存儲(chǔ)單元內(nèi)容。所有微指令集中組成CPU的微代 碼或微程序。 ◆ 下址產(chǎn)生模塊產(chǎn)生所有可能的下一地址或下址, 然后從中選擇一個(gè)正確的下址送入寄存器中。,7.1 微序列控制器設(shè)計(jì)基礎(chǔ),,,典型微序列控制器的組成,2.微指令的組成 微指令由幾個(gè)域組成,其bi

5、t位可分為兩組。 ◆ 微操作(微序列控制器的微序列部分) 或者輸入到組合邏輯以生成CPU 的控制信號(hào),或者直接產(chǎn)生控制信號(hào)。 ◆ 下一個(gè)地址(微序列控制器的序列控制部分) 用來(lái)產(chǎn)生存儲(chǔ)到寄存器中的下一個(gè)地址, 這些位連同指令的操作碼和標(biāo)志值一起輸入 到組合邏輯以產(chǎn)生下一條微指令的地址。,3. 微程序控制器的工作過(guò)

6、程,① 啟動(dòng)取指令微程序 (PC)→MAR,讀出機(jī)器指令→IR,PC增量② 根據(jù)IR中的操作碼,通過(guò)微地址形成電路產(chǎn)生該指令 的微程序的起始微地址,并送入μMAR中。 ③ μMAR中的微地址經(jīng)譯碼、驅(qū)動(dòng),從被選的控存單元 中取出一條微指令。④ 微指令的操作控制字段經(jīng)譯碼或直接產(chǎn)生一組微操作 控制信號(hào)并送往有關(guān)的功能部件,控制其完成所規(guī)定 的微操作。,⑤ 微指令的地址控制字段及有關(guān)狀態(tài)條件送往

7、微地址 形成電路,產(chǎn)生下條微指令的地址,再去讀取并執(zhí) 行下條微指令。如此循環(huán),直到一條機(jī)器指令的微 程序全部執(zhí)行完畢。⑥ 一條指令的微程序執(zhí)行結(jié)束,再啟動(dòng)取指令微指令或微程序,讀取下條機(jī)器指令。根據(jù)該指令碼形成起始微地址,又轉(zhuǎn)入執(zhí)行它的一段微程序。,程序、指令、微程序、微指令、微操作控制信號(hào)、微操作的關(guān)系,4.下址的產(chǎn)生 四種常用方法: ◆ 當(dāng)前地址加1:微代碼存儲(chǔ)器中的下一地址,

8、 即當(dāng)前地址加1。 微代碼程序在微代碼存儲(chǔ)器中順序存放。 (提高可讀性、微程序易于調(diào)試),◆ 絕對(duì)地址:由微代碼存儲(chǔ)器提供?!?映射邏輯 每個(gè)微序列控制器必須能夠訪問正確的執(zhí) 行周期,這功能可用映射邏輯來(lái)實(shí)現(xiàn)。 (1)已讀取指令的操作碼輸入到一個(gè)映射硬件, 此硬件將該操作碼轉(zhuǎn)換或映射成該指令執(zhí)行 周期的第一條微指令所在的地址; (2

9、)把這一地址裝載到寄存器,微序列控制器就 能轉(zhuǎn)入到正確的執(zhí)行過(guò)程。,在取指令周期的末端使用一次?!?微子程序 子程序入口地址:由微代碼存儲(chǔ)器給出絕對(duì)地址。 返回地址(當(dāng)前地址加1):存儲(chǔ)在微子程序寄存器 或硬件堆棧中,此地址 用從微子程序中返回。,,7.1.2 微指令的格式1.典型的微指令格式,◆ 選

10、擇域:指明下一條微指令地址的來(lái)源◆ 地址域:指明一個(gè)絕對(duì)地址◆ 微操作域:一個(gè)或多個(gè),2.微操作的三種編碼方法 ◆ 水平微代碼,微指令太長(zhǎng),大部分微操作位不是有效的。,列出CPU所要執(zhí)行的每一個(gè)微操作 將微指令微操作域中的一位分配給每個(gè)微操作,例如:一個(gè)CPU需要執(zhí)行50個(gè)微操作, 它的每一條微指令的微操作域?qū)⒄加?0位。,◆ 垂直微代碼 所有微操作組合成組,組中的每個(gè)微操作 被分配一個(gè)唯

11、一的編碼值。 例如:16個(gè)微操作 —— 四位二進(jìn)制來(lái)編碼 微指令位數(shù)少,但需要譯碼器。◆ 控制信號(hào)的直接生成 微代碼將微操作組合在一起,不同的是,它 把控制信號(hào)值直接存儲(chǔ)在微指令中。 代碼的可讀性差,調(diào)試?yán)щy。,7.2 非常簡(jiǎn)單微序列控制器的設(shè)計(jì)和實(shí)現(xiàn),采用微序列控制器重新設(shè)計(jì)第六章所討論的非常簡(jiǎn)單CPU。 指令集、有限狀態(tài)機(jī)、數(shù)據(jù)通路和ALU單元都是相同的,CPU內(nèi)部的數(shù)據(jù)流也沒有

12、變化,只有控制信號(hào)的產(chǎn)生方法有所改變。,步驟:1.確定基本結(jié)構(gòu) 下地址來(lái)源 微代碼存儲(chǔ)器的地址寬度2.編寫微程序 順序控制部分:地址域、選擇域 操作控制部分:微操作域3.產(chǎn)生微操作控制信號(hào),,7.2.1 基本布局1.非常簡(jiǎn)單微序列控制器的基本結(jié)構(gòu),2. 只用到兩種可能的下址方式,為什么可以這樣做?考慮第六章所示的該CPU的狀態(tài)圖。 ◆ 取指令周期的最后一個(gè)狀態(tài)FETCH3可

13、以轉(zhuǎn)到 四個(gè)執(zhí)行周期中的一個(gè),這必須通過(guò)映射輸 入來(lái)實(shí)現(xiàn)?!?剩余的每一狀態(tài)都必須轉(zhuǎn)到一個(gè)具體的次態(tài), 可以通過(guò)絕對(duì)跳轉(zhuǎn)來(lái)實(shí)現(xiàn)。,操作碼映射 絕對(duì)跳轉(zhuǎn),必須確定CPU的幾件事情:從微代碼存儲(chǔ)器輸出的絕對(duì)地址寬度有幾位? ◆ CPU的狀態(tài)圖中共有九種狀態(tài),每種狀態(tài)代表 一條微指令,從中選擇的話最少需要4位絕對(duì) 地址。既然映射硬件也生成同樣寬度的地址, 那么輸出的地址就是4位寬度。◆ 多路選擇器

14、輸出到寄存器的輸入、以及寄存器 輸出到微代碼存儲(chǔ)器的輸入,也都是4位寬度。,7.2.2 生成正確序列并設(shè)計(jì)映射邏輯 設(shè)計(jì)控制有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換的微代碼。1.給有限狀態(tài)機(jī)的每種狀態(tài)分配一個(gè)微代碼地址 著重考慮:每一執(zhí)行周期的第一個(gè)狀態(tài)的地址分配 (它決定了實(shí)現(xiàn)映射功能的邏輯) (1) 映射函數(shù)與映射邏輯 ◆ 映射函數(shù):1IR[1..0]0

15、 狀態(tài)ADD1、AND1、JMP1和INC1 → 1000、1010、1100和1110 (即8,10,12和14),,◆ 映射邏輯,,(2) 非常簡(jiǎn)單微序列控制器的狀態(tài)地址表,2. 生成正確的微代碼序列 為了無(wú)條件轉(zhuǎn)移到一種具體的狀態(tài),微序列 控制器通過(guò)地址域和選擇域來(lái)提供狀態(tài)的地址。 例

16、如: FETCH1 → FETCH2 0號(hào)單元:SEL=0 ADDR=0001,0號(hào)單元對(duì)應(yīng)于狀態(tài)FETCH1SEL=0使微序列控制器從地址域得到它的下一地址把地址域置為0001,使它轉(zhuǎn)到狀態(tài)FETCH2所對(duì)應(yīng) 的單元。,,除了FETCH3,狀態(tài)圖中的每一種狀態(tài)都可以這么設(shè)置。 FETCH3必須映射到正確的執(zhí)行周期,所以要求SEL=1,表示采用映射地址。,,,7.2.3 用水平微

17、代碼生成微操作1.非常簡(jiǎn)單CPU的微操作及它們的助記符,1 -- 微操作發(fā)生0 -- 不發(fā)生,,2.非常簡(jiǎn)單微序列控制器初步的水平微代碼,3.非常簡(jiǎn)單微序列控制器優(yōu)化后的水平微代碼 優(yōu)化微代碼: ◆ 在所有的狀態(tài)中,ARDR和IRDR的值是相同的。 用一個(gè)輸出AIDR來(lái)驅(qū)動(dòng)這兩個(gè)微操作。 ◆ AIDR組合了兩個(gè)微操作AR←DR[5..0]和 IR←DR[7..6],,,4.產(chǎn)生所需

18、的控制信號(hào),AR←PC;AR←DR[5..0]PC←PC+1;PC←DR[5..0]DR←MIR←DR[7..6]AC←AC+DR;AC←AC∧DR;AC←AC+1,7.2.4 用垂直微代碼生成微操作 一、從垂直微代碼中生成微操作的一般情況 在垂直微代碼中,所有的微操作被分組到不 同的域中,使得任何狀態(tài)一個(gè)域中最多只有一種 微操作是有效的,然后域中的每個(gè)微操作被賦予 一

19、個(gè)唯一的域值。 例如:8種不同的微操作 —— 3位二進(jìn)制 (從000到111之間的任何一個(gè)值),微操作域位從微代碼存儲(chǔ)器輸出到一個(gè)譯碼器,譯碼器的輸出就是在水平微代碼中直接產(chǎn)生的微操作。,,二、為非常簡(jiǎn)單CPU設(shè)計(jì)垂直微代碼 任務(wù):給各種微操作分配不同的域 1. 指導(dǎo)性原則 (1) 對(duì)于同一狀態(tài)下發(fā)生的兩個(gè)不同的微操作, 將它們分配到不同的域中

20、。每個(gè)域在一個(gè) 周期中只能輸出唯一一個(gè)微操作的值,如 果兩個(gè)微操作要同時(shí)出現(xiàn),則它們不可能 在同一個(gè)域中。 (2) 必要的話在每個(gè)域中包括一個(gè)NOP操作,(3) 分配剩下的微操作以便充分地利用微操作的 域位。 (4) 把修改相同的寄存器的微操作組合在同一個(gè) 域中。2. 步驟 (1) 將微操作分組

21、 ◆ DRM和PCIN都在FETCH2狀態(tài)下發(fā)生,那么 這兩種微操作必須被分配到不同的域中。 則該CPU的微操作至少需要兩個(gè)域,把它,標(biāo)記為M1和M2。 包括NOP操作在內(nèi)每個(gè)域的微操作如下: M1 M2 NOP

22、 NOP DRM PCIN ( FETCH2: DR←M,PC←PC+1)◆ PCIN和PCDR都能修改PC值,所以我們現(xiàn)在把PCDR 也加到M2中。,◆ 把剩下的微操作任意分配給這兩個(gè)域,但要注意 把那些改變同一個(gè)寄存器值的微操作放到同一個(gè)域中。◆ 產(chǎn)生如下的分配,M1 M2

23、 NOP NOP DRM PCIN ACIN PCDR PLUS ARPC AND AIDR,(

24、2) 每個(gè)域有五種微操作,因此每個(gè)域需要3位。(3) 對(duì)這種分配進(jìn)行一些調(diào)整,減少總的位數(shù)。 ◆ AIDR:M2→M1 M2的微操作數(shù)從5變到4,而M1的從5變 到6。這時(shí),M1仍需要3位,但是M2現(xiàn)在只 需要2位,微代碼的寬度就減少了1位。 ◆ ARPC和PCDR :M2→M1 M1:8種微操作,需要3位 M2:兩種微操作,需要1位

25、 總共4位(最少),,,三、生成該CPU的最終微代碼,四、增加硬件把這些位值轉(zhuǎn)換為所代表的微操作,M1:把這個(gè)域輸入到一個(gè)3-8譯碼器中 例如:輸出2 → 微操作ARPC M2:只有1位,不需要用譯碼器,直接驅(qū)動(dòng)PCIN。,,,實(shí)踐視角:毫微指令 毫微存儲(chǔ)器與毫微指令,用毫微存儲(chǔ)器可以減少微序列控制器中存儲(chǔ)器的總的大小。 如果10種不同的微指令有完全相同的微操作,那么所有這些微指令可以指向毫微存儲(chǔ)

26、器的同一個(gè)單元。 例如:一個(gè)有128條微指令和32個(gè)不同微操作的微序列控制器。 ◆ 水平微代碼的微序列控制器 128*32=4,096 位存儲(chǔ)器,假設(shè):這128條微指令中只有16種不同的微操作組合, 在一個(gè)16*32的毫微存儲(chǔ)器中存儲(chǔ)這16種模式。每條 微指令需要一個(gè)4位的域來(lái)指向毫微存儲(chǔ)器中的一個(gè) 正確的模式。 ◆ 毫微存儲(chǔ)器

27、 16*32=512位 ◆ 微代碼存儲(chǔ)器 額外的128*4=512位的指針 共512位+512位 = 1,024位,7.2.5 從微代碼直接產(chǎn)生控制信號(hào)1. 直接輸出控制信號(hào) 微序列控制器為每個(gè)控制信號(hào)保留一位,以 代替水平微代碼設(shè)計(jì)中的微操作和垂直微代碼 設(shè)計(jì)中的M1和M2。 對(duì)微代碼存儲(chǔ)器的每

28、個(gè)字來(lái)說(shuō),如果信號(hào) 有效,則相應(yīng)的控制位置1,否則置0。,例如: FETCH2:DR←M和PC←PC+1 ◆ DR←M,◆ PC←PC+1:使PCINC信號(hào)有效◆ 微指令的其他信號(hào)置0,使READ信號(hào)有效 以便從存儲(chǔ)器里輸出數(shù)據(jù) 使MEMBUS信號(hào)有效 使此數(shù)據(jù)輸入到內(nèi)部系統(tǒng)總線上 使DRLOAD信號(hào)有效 以便把數(shù)據(jù)從總線上裝載到DR中,,2. 非常簡(jiǎn)單微序列控制器直接產(chǎn)

29、生控制信號(hào)的微代碼,,3. 優(yōu)化直接生成控制信號(hào)的微操作 DRLOAD、MEMBUS和READ信號(hào)總有相同的值,把 這些信號(hào)組合起來(lái)。用1位(DMR)驅(qū)動(dòng)這3個(gè)信號(hào)。,直接產(chǎn)生控制信號(hào)與前兩種方法相比: 優(yōu)點(diǎn):不需要額外的硬件將微代碼存儲(chǔ)器的輸出轉(zhuǎn) 換成控制信號(hào)缺點(diǎn):可讀性差,難于調(diào)試。,7.3.1 修改狀態(tài)圖 考慮:條件跳轉(zhuǎn)的取指令周期末尾 ◆ 設(shè)計(jì)兩種新的狀態(tài):JM

30、PZ1和JPNZ1 ◆ 使FETCH3映射到這兩個(gè)狀態(tài)上 ◆ 這兩種狀態(tài)再依據(jù)Z的值轉(zhuǎn)移到正確的流程上,7.3 相對(duì)簡(jiǎn)單微序列控制器的設(shè)計(jì)和實(shí)現(xiàn),設(shè)計(jì)一個(gè)用于相對(duì)簡(jiǎn)單CPU的微序列控制單元。類似非常簡(jiǎn)單CPU,這一設(shè)計(jì)用到的指令集、數(shù)據(jù)通 道、以及ALU都與硬布線控制設(shè)計(jì)中的相同。,,7.3.2 設(shè)計(jì)順序硬件和微代碼 1.增加完成條件分支的能力 新增加的兩個(gè)狀態(tài)JMP

31、Z1和JPNZ1能根據(jù)Z的值 正確轉(zhuǎn)移到兩個(gè)下一地址之一:,條件滿足: 轉(zhuǎn)移到ADDR域所指的地址 條件不滿足 : 轉(zhuǎn)移到微代碼存儲(chǔ)器的下一地址 (當(dāng)前地址加1),2.微序列控制器的基本結(jié)構(gòu) 有三種可能的下一地址。 用一個(gè)兩輸入控制端的多路選擇器作出選擇。,,4,,組合邏輯 電路,3.相對(duì)簡(jiǎn)單微序列控制器的狀態(tài)分配 ◆ 映射函數(shù)

32、和映射邏輯 狀態(tài)圖有39種狀態(tài),要一個(gè)6位的地址。 映射函數(shù):IR[3..0]00,,相對(duì)簡(jiǎn)單微序列控制器的狀態(tài)分配,,4.下址的產(chǎn)生 狀態(tài)JMPZ1和JPNZ1各自都用到兩個(gè)下址之一。 分兩步實(shí)現(xiàn): (1) 用一個(gè)多路選擇器選擇所期望的條件 ◆ Z和Z’可能在JMPZ1和JPNZ1狀態(tài)下用到, 也可以把一個(gè)硬布線的1作為無(wú)條件跳轉(zhuǎn)的

33、 輸入,多路選擇器選擇其中的一個(gè)值作為條 件值輸出。,,條件值,◆ 微代碼存儲(chǔ)器提供條件選擇信號(hào)用來(lái)決定使 用哪個(gè)條件,(2) 用組合邏輯將這些條件值,連同微序列控制器提供的 一種分支類型,轉(zhuǎn)換成恰當(dāng)?shù)倪x擇信號(hào)以選擇下一地 址的正確源。 ◆ 給定分支類型 分支類型的形式: IF (condition) THEN Next Address

34、= SOURCE1 ELSE Next Address = SOURCE2 或者是 REGARDLESS OF condition Next Address = SOURCE,◆ 確定準(zhǔn)確的分支類型 映射和無(wú)條件轉(zhuǎn)移的處理很容易,有條件的跳轉(zhuǎn) 就取決于微代碼的布局。 JMPZ1和JPNZ1會(huì)轉(zhuǎn)移到兩個(gè)地

35、址之一: 一個(gè)分支地址、當(dāng)前地址加1 一種分支類型: IF (condition) THEN Next Address = ADDR ELSE Next Address = Current Address + 1,,,◆ 根據(jù)分支類型和條件值,為下址多路選擇器設(shè)計(jì) 出產(chǎn)生選擇信號(hào)的邏輯。 表中列出了期望的值,它導(dǎo)致:

36、 S1=BT,S0=BT’∧(條件值),,5.實(shí)現(xiàn)微代碼的順序部分,7.3.3 用水平微代碼完成設(shè)計(jì) 一、形成微操作表 考察每種狀態(tài),列出微操作。 把22種微操作合并為微代碼的幾個(gè)域, 然后為這些域賦值。,,相對(duì)簡(jiǎn)單微序列控制器的微操作,,二、生成CPU的控制信號(hào),,,三、相對(duì)簡(jiǎn)單CPU的部分控制信號(hào)值,介紹兩種利用冗余來(lái)減少控制單元所需的微指令數(shù)的方法。,7.4

37、減少微指令數(shù),1. 用微子程序把重復(fù)的微操作合并成一個(gè)微指令塊, 這個(gè)微指令塊可供兩個(gè)或更多個(gè)執(zhí)行周期訪問。2. 用微代碼的跳轉(zhuǎn)來(lái)訪問可供兩個(gè)或多個(gè)周期共享 的微指令。,7.4.1 微子程序 微子程序 : 微碼中供多個(gè)周期執(zhí)行的一組動(dòng)作序列。 優(yōu)點(diǎn):減少微代碼所需的存儲(chǔ)單元數(shù)量 缺點(diǎn):微序列控制器的硬件必須增強(qiáng)以實(shí)現(xiàn)微子 程序的調(diào)用和返回 為了說(shuō)明微子程序是怎樣工作

38、的,我們修改 相對(duì)簡(jiǎn)單CPU的設(shè)計(jì)。 1. 把一些狀態(tài)用微子程序?qū)崿F(xiàn),考慮:狀態(tài)LDAC1、LDAC2、LDAC3分別和狀態(tài)STAC1、 STAC2、STAC3執(zhí)行相同的微操作 (從存儲(chǔ)器獲得一個(gè)16位的地址,并把它存入AR中),LDAC1、 STAC1: DR←M,PC←PC+1,AR←AR+1 LDAC2 、STAC2: TR←DR,DR←M,PC←PC+1 LDAC3、

39、STAC3: AR←DR,TR,◆ 修改最初的設(shè)計(jì),把這些狀態(tài)用一個(gè)微子程序?qū)崿F(xiàn)。 增加兩個(gè)啞狀態(tài):LDAC0和STAC0,當(dāng)LDAC或STAC指令譯碼時(shí),F(xiàn)ETCH3映射到這兩 個(gè)狀態(tài)中的一個(gè)。 兩個(gè)啞狀態(tài)不執(zhí)行微操作,只是去調(diào)用微子程 序。 當(dāng)完成時(shí),微子程序返回到下一地址。 (包含LDAC4或STAC4的地址),,◆ 用微子程序修改LDAC和STAC指令的執(zhí)行周期,,◆ 相對(duì)簡(jiǎn)單CPU修改后的

40、狀態(tài)分配,SUB1、SUB2、SUB3分 別與LDAC1(STAC1)、LDAC2(STAC2)、LDAC3(STAC3)執(zhí)行同樣的微操作。,2. 修改微序列控制器 微子程序的地址由微代碼存儲(chǔ)器的地址域ADDR 輸出提供。 微序列控制器必須將返回地址存儲(chǔ)起來(lái),一旦 微子程序結(jié)束,它才能繼續(xù)執(zhí)行。 進(jìn)行如下修改: ◆ 增加一個(gè)微子程序寄存器以保存返回地址

41、 (當(dāng)前地址加1),,,4,◆ 修改下一地址生成硬件,把微子程序寄存器包括 進(jìn)去,作為產(chǎn)生下一地址的一個(gè)可能的源。◆ 修改下一地址多路選擇器的選擇邏輯,使之能夠 考慮可能的返回地址。這個(gè)邏輯也必須產(chǎn)生一個(gè)控 制微子程序寄存器的裝載信號(hào)。 ◆ 必須擴(kuò)充分支轉(zhuǎn)移類型的列表,使之包括微子程 序調(diào)用和返回的類型?!?必須修改微代碼,使之能夠正確的訪問微子程序。,,修改后的微序列控制器硬件,3 .

42、修改分支轉(zhuǎn)移類型 修改后有四種分支轉(zhuǎn)移類型:,條件轉(zhuǎn)移 無(wú)條件映射 微子程序調(diào)用 微子程序返回,◆ 把BT擴(kuò)充為兩位,以便于在四種類型中進(jìn)行選擇。,,相對(duì)簡(jiǎn)單微序列控制器修改后的分支類型,,◆ 產(chǎn)生下一地址多路選擇器的控制信號(hào)S1和S0以及微 子程序寄存器的裝載信號(hào)L: S1=BT0 S2=BT1∨(BT0’∧條件值) L=B

43、T1∧BT0’,,4. 修改執(zhí)行周期微代碼 相對(duì)簡(jiǎn)單微序列控制器修改后的微指令,0,0,0,0,0,0,7.4.2 微代碼跳轉(zhuǎn) 1. 修改狀態(tài)圖 無(wú)條件轉(zhuǎn)移和條件轉(zhuǎn)移指令有幾個(gè)狀態(tài)執(zhí)行 同樣的微操作。 修改狀態(tài)圖使這些指令可以直接訪問相同的 狀態(tài)。一個(gè)狀態(tài)集將執(zhí)行跳轉(zhuǎn),而另一個(gè)狀態(tài)集 將處理不發(fā)生跳轉(zhuǎn)的條件轉(zhuǎn)移,于是這些周期將 會(huì)轉(zhuǎn)移

44、到正確的狀態(tài)。,JUMP1: DR←M,AR←AR+1JUMP2: TR←DR,DR←MJUMP3: PC←DR,TR,JMPZ:當(dāng)Z=1時(shí):JMPZY1: DR←M, AR←AR+1JMPZY2: TR←DR,DR←MJMPZY3: PC←DR,TR當(dāng)Z=0時(shí):JMPZN1: PC←PC+1JMPZN2: PC←PC+1,JPNZ指令的狀態(tài):當(dāng)Z=0時(shí):

45、JPNZY1: DR←M, AR←AR+1JPNZY2: TR←DR,DR←MJPNZY3: PC←DR,TR 當(dāng)Z=1時(shí): JPNZN1: PC←PC+1JPNZN2: PC←PC+1,,JUMP、JMPZ和JPNZ指令修改后的狀態(tài)圖,,2. 相對(duì)簡(jiǎn)單微序列控制器進(jìn)一步修改后的微代碼,7.5.1 指令集的復(fù)雜性 1. 隨著指令條數(shù)的增加,產(chǎn)生控制信

46、號(hào)的硬件復(fù) 雜性也隨之增加。 例如:越來(lái)越多的指令會(huì)導(dǎo)致越來(lái)越多的發(fā)出 累加器裝載信號(hào)的微操作,于是就增加 了產(chǎn)生這一控制信號(hào)需要的邏輯。 ◆ 對(duì)硬布線控制來(lái)說(shuō)有更多狀態(tài)要發(fā)出這些微 操作,會(huì)導(dǎo)致用來(lái)生成寄存器裝載、加1以,7.5 微程序控制和硬布線控制的比較,清除信號(hào)所需的組

47、合邏輯的增加?!?對(duì)水平型的微序列控制器來(lái)說(shuō)每個(gè)微操作對(duì)應(yīng)一位 微代碼。使同一個(gè)微操作更加頻繁地發(fā)出,這不會(huì) 改變產(chǎn)生實(shí)際控制信號(hào)的組合邏輯的復(fù)雜性,因?yàn)?對(duì)每個(gè)狀態(tài)來(lái)說(shuō)只需檢查同一位。然而,擁有更多 的導(dǎo)致同一個(gè)寄存器裝載的不同微操作,將會(huì)增加 邏輯的復(fù)雜性,因?yàn)闀?huì)有更多的微代碼位需要檢查。,◆ 垂直型微序列控制器控制邏輯的復(fù)雜性也會(huì)增加。 使同一寄存器裝載的數(shù)目增多的微操作,導(dǎo)致的是 組合起

48、來(lái)以產(chǎn)生裝載信號(hào)的微代碼位數(shù)的增加。微 操作的個(gè)數(shù)越多,需要的譯碼器的個(gè)數(shù)或位數(shù)就越 多,因?yàn)樽g碼器要把這些微操作域轉(zhuǎn)變成相應(yīng)的微 操作?!?對(duì)于直接生成控制信號(hào)的微序列控制器來(lái)說(shuō)增加的 微操作并不需要增加硬件。不管多少微操作要生成 該信號(hào),每個(gè)控制信號(hào)只對(duì)應(yīng)微代碼中的一位。,7.5.2 修改的容易度 修改的容易度:指CPU設(shè)計(jì)的可擴(kuò)展性 ◆ 硬布線控制單元需要修改硬件來(lái)擴(kuò)充CPU

49、 ◆ 微代碼控制單元常常只需改變微程序 修改微代碼比重新設(shè)計(jì)硬件要容易的多。7.5.3 時(shí)鐘速度 硬布線CPU運(yùn)行的速度通常比微代碼控制CPU的要快。,Intel公司的奔騰微處理器(大部分)使用的是微代碼控制。1. 內(nèi)部組成,7.6 實(shí)例:一個(gè)(大部分是)微代碼的CPU 奔騰微處理器,,2. 內(nèi)部存儲(chǔ)器,8個(gè)整數(shù)寄存器 8個(gè)獨(dú)用于浮點(diǎn)操作的額外寄存器 一個(gè)32K

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論