黃勇
摘 要:微程序設(shè)計技術(shù)是現(xiàn)代SISC指令系統(tǒng)設(shè)計的主要技術(shù)。介紹了計算機組成課程中微程序設(shè)計的關(guān)鍵環(huán)節(jié),并討論了微程序設(shè)計技術(shù)在計算機組成課程教學(xué)中的重要作用。
關(guān)鍵詞:微程序設(shè)計;計算機組成;教學(xué)
《計算機組成原理》課程是計算機類本科專業(yè)的核心專業(yè)基礎(chǔ)課程。它的先導(dǎo)課程有數(shù)字電子技術(shù)、匯編語言程序設(shè)計,后續(xù)課程有操作系統(tǒng)、微機原理與接口技術(shù)、計算機體系結(jié)構(gòu)等課程。在一系列軟硬件課程中起著承上啟下的作用,是所有后續(xù)硬件專業(yè)課的基礎(chǔ)和支撐。在各硬件及軟件的課程中,該課程處于核心重點地位。本課程的教學(xué)目標(biāo)是使學(xué)生掌握計算機五大功能部件的功能、基本組成、工作原理、設(shè)計方法及邏輯實現(xiàn)等有關(guān)的知識和技術(shù),最終建立完整、清晰的計算機整機概念,并使學(xué)生具備對計算機系統(tǒng)整機和部件進行分析和設(shè)計的初步能力。
建立完整、清晰的計算機整機概念,是計算機組成原理學(xué)習(xí)的重要目標(biāo)。整機目標(biāo)的建立是讓學(xué)生知道計算機各部件在計算機中扮演的角色、各部件是如何協(xié)調(diào)工作的,各部件協(xié)調(diào)工作的目標(biāo)是在控制器的統(tǒng)一指揮下執(zhí)行指令。這些目標(biāo)的實現(xiàn)需要通過微程序設(shè)計的學(xué)習(xí)和實踐。學(xué)生只有真正掌握微程序設(shè)計技術(shù),并掌握指令設(shè)計和調(diào)試的全過程,才能建立計算機整機概念。因此在教學(xué)中,微程序設(shè)計是計算機組成原理教學(xué)的重點和難點,特別在實驗教學(xué)中,更要加強微程序設(shè)計部分的實驗。
1 微程序設(shè)計的關(guān)鍵步驟
微程序設(shè)計的目的是實現(xiàn)機器的指令系統(tǒng),屬于硬件設(shè)計范疇。具體分為設(shè)計指令、確定指令的微程序流程、確定各微指令的地址、微指令代碼化、指令調(diào)試等五個主要步驟。
1.1設(shè)計指令
對于計算機組成教學(xué)來說,設(shè)計指令就是設(shè)計模型機的指令系統(tǒng)。對此需要首先讓學(xué)生深入熟悉模型機的數(shù)據(jù)通路圖以及模型機的部件結(jié)構(gòu),知道在此硬件平臺下,能設(shè)計哪些指令。比如說,如果模型機的運算器不支持乘除運算,則就不能設(shè)計乘除指令。在這個環(huán)節(jié)上要強調(diào)指令的執(zhí)行是由對應(yīng)的硬件去完成的,一臺計算機指令系統(tǒng)越復(fù)雜,硬件就越復(fù)雜。還有,要把指令系統(tǒng)設(shè)計章節(jié)的理論貫穿到這里,讓學(xué)生知道指令系統(tǒng)設(shè)計這一章在計算機組成課程中的作用。有的學(xué)生不理解計算機組成為什么學(xué)習(xí)指令系統(tǒng)的設(shè)計,事實上,指令系統(tǒng)的設(shè)計是計算機硬件設(shè)計的依據(jù)。在這里還有一點需要注意的,模型機的指令設(shè)計要設(shè)計輸入輸出指令、運算類指令、傳送類指令及程序控制類指令等,尋址方式要涉及基本的尋址方式,這樣,學(xué)生對指令的理解將更加深刻。
1.2 確定指令的微程序流程圖
程序設(shè)計需要給出程序流程圖,程序流程圖的確定是程序設(shè)計中關(guān)鍵步驟,同樣,指令的設(shè)計也需要給出微程序流程圖。微程序流程圖用來說明為了完成指令定義的功能,計算機應(yīng)該做哪些操作。這一步是微程序設(shè)計最基本也是最關(guān)鍵的環(huán)節(jié)。微程序流程圖的確定需要知道指令執(zhí)行的全過程,特別對于尋址方式的理解有很好的作用。在教學(xué)中,這一環(huán)節(jié)一定要講清楚,作為重點來講。以幾個有代表性的指令詳細(xì)分析,比如ADD [addr]指令,JMP addr指令等。
1.3 確定各微指令的地址
微程序流程的確定也就確定了為了實現(xiàn)這個指令功能,應(yīng)該需要執(zhí)行哪些微指令。下面應(yīng)該確定各微指令在控制存儲器的地址。在這里首先要把微指令地址確定的理論講明白。包括起始微地址和后繼微地址的確定方法。在此還需要結(jié)合模型機的控制存儲器的空間使用情況來進行確定。這個環(huán)節(jié)中的講解難點是采用一級功能轉(zhuǎn)移確定起始微地址,可以用一個模型采用啟發(fā)式方法讓學(xué)生理解這個方法的要點,直接給出這個方法,學(xué)生很不容易理解為什么將指令編碼作為起始微地址的一部分。
1.4 微指令代碼化
微指令代碼化就是將各微指令轉(zhuǎn)化成二進制編碼,涉及微指令的功能、微指令格式及模型機數(shù)據(jù)通路圖,這是一個綜合的過程,也微程序設(shè)計的一個重難點。首先要把模型機的微指令格式及模型機數(shù)據(jù)通路圖各控制點的功能講明白,然后以二到三個微指令為重點分析代碼化的過程。最后讓學(xué)生來自己代碼化幾條微指令。在這里代碼化的方法是重點,不需要對每條微指令代碼化。
1.5 指令調(diào)試
把微指令代碼化后的各微指令存入到模型機的控制存儲器,也就完成了指令設(shè)計的主要過程。剩下的就是調(diào)試每個指令是不是達到設(shè)計要求。調(diào)試就是用已經(jīng)設(shè)計好的指令編寫一段簡單的程序,這個程序要包括所有的指令,然后在模型機上運行這段程序,看看這程序上的每個指令的執(zhí)行過程是否和設(shè)計的一樣。在這里,有一套能夠反映指令執(zhí)行過程的實驗設(shè)備和軟件是關(guān)鍵。有的計算機組成原理實驗設(shè)備能夠很好的展現(xiàn)模型機的數(shù)據(jù)通路圖,還能動態(tài)的顯示每條微指令執(zhí)行時數(shù)據(jù)的流動過程及各控制點的反映,并顯示執(zhí)行的是哪條微指令。觀察指令的執(zhí)行過程是微程序設(shè)計的關(guān)鍵環(huán)節(jié),也是學(xué)生建立計算機整機概念的關(guān)鍵環(huán)節(jié)。
2.微程序設(shè)計技術(shù)在計算機組成課程教學(xué)中的作用
2.1 能夠深化對指令系統(tǒng)及指令設(shè)計的理解
計算機的指令是怎么來的,為什么不同的計算機指令系統(tǒng)不一樣,這樣的問題總是困擾著學(xué)生,以及指令設(shè)計中的一些理論與方法如何理解和運用等等。通過微程序設(shè)計,學(xué)生熟悉了計算機指令設(shè)計的全過程,從而能很好的理解計算機的指令系統(tǒng)及指令系統(tǒng)設(shè)計的理論與方法。
2.2 能夠深化對計算機硬件組成及功能的理解
在微程序設(shè)計中需要全面熟悉計算機的硬件組成,如運算器是什么樣的運算器,能進行哪些運算,是什么總線結(jié)構(gòu);如存儲器的容量,訪問存儲器的地址寄存器的寬度,數(shù)據(jù)寄存器的寬度,還有PC寄存器,計算機硬件的總線結(jié)構(gòu)連接等等。在微程序設(shè)計中,是對計算機組成的一個全面熟悉,還可以熟悉各部件的聯(lián)系,是一個從全局掌握計算機各部件組成及聯(lián)系的一個很好的途徑。
2.3能夠深化對計算機執(zhí)行程序過程的理解
在微程序設(shè)計的最后是指令的調(diào)試。指令調(diào)試的過程就是全面地觀察一個程序執(zhí)行的全過程。從取指令開始到執(zhí)行指令,然后又細(xì)化到每個指令對應(yīng)的微指令的運行,再進一步細(xì)化到每個微指令對應(yīng)的數(shù)據(jù)流,涉及的寄存器,以及各控制點的操作。通過這樣的觀察,已經(jīng)能夠全面地理解了計算機執(zhí)行程序的所有細(xì)節(jié),是對計算機執(zhí)行程序過程理解的一個升華。
2.4是建立計算機整機概念的必由之路
建立計算機整機概念是計算機組成原理教學(xué)的重要目標(biāo)。在微程序設(shè)計的調(diào)試階段,通過對測試程序執(zhí)行的觀察,學(xué)生知道了一個程序的執(zhí)行全過程、一個指令的執(zhí)行全過程、一個微指令的執(zhí)行全過程,理解了在計算機指令執(zhí)行過程中各個部件的協(xié)調(diào)工作關(guān)系以及每個部件在指令執(zhí)行中的作用,不再孤立地去看待每個部件,理解了計算機硬件就是為指令的正確執(zhí)行,它們是一個整體,協(xié)調(diào)工作,完成各指令的功能,這樣也就建立了計算機整機概念。
3 結(jié)束語
計算機組成原理課程是計算機類專業(yè)重要的專業(yè)基礎(chǔ)課程,該課程教學(xué)效果將會直接影響后續(xù)專業(yè)課程的學(xué)習(xí)。計算機組成原理的學(xué)習(xí)一直是專業(yè)教學(xué)的難點,其知識點多、概念多、原理多,學(xué)生很難真正去理解和掌握。微程序設(shè)計技術(shù)是計算機組成中非常重要的知識點,它的學(xué)習(xí)對于學(xué)生對計算機組成的理解具有重要的作用,教師在教學(xué)中應(yīng)充分把握好微程序設(shè)計的理論教學(xué)和實驗教學(xué),這對學(xué)生掌握計算機組成的相關(guān)知識具有極為重要的作用。
[參考文獻]
[1]趙秀娟,詹春,郎長勝,等.基于微程序控制模型機的設(shè)計與實現(xiàn)[J].江西科技師范大學(xué)學(xué)報,2017,(6):89-93
[2] 袁春風(fēng),楊若瑜,王帥,等.計算機組成與其他課程之間的關(guān)聯(lián)內(nèi)容分析[J].計算機教育,2015,17(9):35-39.
(作者單位:安徽科技學(xué)院計算機系,安徽 蚌埠 233000)