計(jì)算機(jī)組成原理課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩14頁(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、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p><b>  1.題目:</b></p><p>  基本模型機(jī)的設(shè)計(jì)——不帶進(jìn)位與或運(yùn)算指令的實(shí)現(xiàn)</p><p>  2.設(shè)計(jì)的目的及設(shè)計(jì)原理</p><p><b>  2.1設(shè)計(jì)的目的</b></

2、p><p>  運(yùn)用所學(xué)的知識(shí),通過(guò)使用軟件HKCPT掌握各個(gè)單元模塊的工作原理將其組成完整的系統(tǒng),并了解程序編譯、加載的過(guò)程,以及通過(guò)微單步、單拍調(diào)試?yán)斫饽P蜋C(jī)中的數(shù)據(jù)流向。本實(shí)驗(yàn)主要是設(shè)計(jì)不帶進(jìn)位與或運(yùn)算指令的實(shí)現(xiàn),將匯編語(yǔ)言程序設(shè)計(jì),數(shù)字邏輯與或運(yùn)算原理以及計(jì)算機(jī)組成原理3方面的知識(shí)結(jié)合到一起利用此軟件平臺(tái)實(shí)現(xiàn)連續(xù)幾個(gè)數(shù)的不帶進(jìn)位的與或運(yùn)算,從而了解邏輯運(yùn)算運(yùn)算單元的運(yùn)行過(guò)程。</p><p

3、><b>  2.2設(shè)計(jì)的原理</b></p><p>  2.2.1計(jì)算機(jī)中CPU是核心,它是通過(guò)指令和微指令的執(zhí)行來(lái)工作的。指令</p><p>  是計(jì)算機(jī)要完成的某一項(xiàng)功能。它對(duì)應(yīng)到執(zhí)行的過(guò)程中是一段微程序。一</p><p>  段微程序含多條為指令,而一條微指令又含多個(gè)微命令。一個(gè)微命令驅(qū)動(dòng)</p><p&

4、gt;  某個(gè)硬件部件執(zhí)行某種操作。通過(guò)這樣一個(gè)關(guān)系,從而達(dá)到由計(jì)算機(jī)指令</p><p>  來(lái)驅(qū)動(dòng)計(jì)算機(jī)各個(gè)硬部件的協(xié)調(diào)工作以實(shí)現(xiàn)一條指令的執(zhí)行。</p><p>  2.2.2在各個(gè)模塊中,各模塊的控制的控制信號(hào)都是手動(dòng)模擬產(chǎn)生的。而在真</p><p>  正的實(shí)驗(yàn)系統(tǒng)中,模型機(jī)的運(yùn)行是在微程序的控制下,實(shí)現(xiàn)特定指令的功能。在本實(shí)驗(yàn)平臺(tái)中,模型機(jī)從內(nèi)存中取出

5、、解釋、執(zhí)行機(jī)器指令都將由微指令和之相配合的時(shí)序來(lái)完成,即一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。</p><p>  3.模型機(jī)的邏輯框圖</p><p>  其中運(yùn)算器由2片74L181構(gòu)成8位字長(zhǎng)的ALU單元。2片74LS374作為2個(gè)數(shù)據(jù)鎖存器(DR1、DR2),8芯插座ALU-IN作為數(shù)據(jù)輸入端,可通過(guò)短8芯扁平電纜,把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。數(shù)據(jù)輸入鎖存器DR1的EDR1為低電平,并且

6、D1CK有上升沿時(shí),那來(lái)自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器DR1。同樣使EDR2為低電平、D2CK有上升沿時(shí)把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器DR2。</p><p>  4.指令系統(tǒng)及其指令格式</p><p><b>  4.1指令系統(tǒng)</b></p><p>  此次實(shí)驗(yàn)涉及的指令有以下幾種:</p><p>  MOV A

7、,RI 將寄存器RI中的數(shù)據(jù)傳遞到累加器A中</p><p>  MOV RI,A 將累加器A中的數(shù)據(jù)傳遞到寄存器RI中</p><p>  MOV A, #data 將立即數(shù)傳遞到通用寄存器A中</p><p>  ORL A,#data 邏輯或指令</p><p>  ANL A,#data 邏輯與指令</p><

8、p>  STA addr 將寄存器中內(nèi)容寫入存儲(chǔ)器中</p><p>  HALT 停機(jī)指令</p><p><b>  指令系統(tǒng)如下表:</b></p><p><b>  4.2指令格式</b></p><p>  一般指令由操作碼和操作碼組成,如下所示:</p

9、><p>  此實(shí)驗(yàn)所涉及指令的格式如下:</p><p>  MOV指令采用雙字節(jié)指令,其格式如下:</p><p>  MOV指令采用單字節(jié)指令,其格式如下:</p><p>  MOV指令采用單字節(jié)指令,其格式如下:</p><p>  ORL邏輯或指令采用單字節(jié)指令,其格式如下: </p><p

10、>  ANL邏輯與指令采用單字節(jié)指令,其格式如下: </p><p>  STA取數(shù)據(jù)指令,其格式如下:</p><p>  停機(jī)指令(HALT),其格式如下:</p><p>  5.微程序的設(shè)計(jì)及其實(shí)現(xiàn)的方法</p><p>  5.1 微程序入口地址的形成</p><p>  在本實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)是采用的

11、24位微指令,若微指令采用全水平不編碼純控制場(chǎng)的格式,那么至多可有24個(gè)微操作控制信號(hào),可由微代碼直接實(shí)現(xiàn)。若采用多組編碼譯碼,那么24位的微代碼通過(guò)二進(jìn)制譯碼可實(shí)現(xiàn)2n個(gè)互斥的微操作控制信號(hào)。由于模型機(jī)指令系統(tǒng)規(guī)模較小,功能也不太復(fù)雜,所以采用全水平不編碼純控制場(chǎng)的微指令格式。在模型機(jī)中,用指令操作碼的高4位作為核心擴(kuò)展成8位的微程序入口地址MD0-MD7。這種方法稱為“按操作碼散轉(zhuǎn)”(如下表所示)。</p><p

12、><b>  按操作碼散轉(zhuǎn)</b></p><p>  此次實(shí)驗(yàn)程序中的微程序指令如下表:</p><p>  5.2微指令格式的設(shè)計(jì)</p><p>  一條微指令的一般格式是如下圖:</p><p>  5.3后續(xù)微地址的產(chǎn)生方法</p><p>  由于本系統(tǒng)中指令系統(tǒng)規(guī)模不大,功能較

13、簡(jiǎn)單,微指令采用全水平、不編碼的方式,每一個(gè)微操作控制信號(hào)由一位微代碼來(lái)表示,24位微代碼至少可表示24個(gè)不同的微操作控制信號(hào)。用增量方式來(lái)控制微代碼的運(yùn)行順序,每一條指令的微程序連續(xù)存放在微指令存儲(chǔ)器連續(xù)的單元中。在本系統(tǒng)內(nèi),MLD為置微地址的控制信號(hào),MCK為工作脈沖。當(dāng)MLD=0、MCK有上沿時(shí),把MD0~MD7的值作為微程序的地址,打入微地址寄存器。當(dāng)MLD=1、MCK有上升沿時(shí),微地址計(jì)數(shù)器自動(dòng)加1。</p>&

14、lt;p><b>  6.時(shí)序安排</b></p><p>  由于模型機(jī)已經(jīng)確定了指令系統(tǒng),微指令采用全水平不編碼純控制場(chǎng)的格式,微程序的入口地址采用操作碼散轉(zhuǎn)方式,微地址采用計(jì)數(shù)增量方式,所以可確定模型機(jī)中時(shí)序單元中所產(chǎn)生的每一拍的作用。為了更好地觀察實(shí)驗(yàn)的各個(gè)中間過(guò)程中各寄存器的值,由監(jiān)控單元產(chǎn)生一個(gè)PLS-O的信號(hào)來(lái)控制時(shí)序產(chǎn)生。PLS-O信號(hào)經(jīng)過(guò)時(shí)序單元的處理產(chǎn)生了4個(gè)脈沖信

15、號(hào)。4個(gè)脈沖信號(hào)組成一個(gè)微周期,為不同的寄存器提供工作脈沖。</p><p>  PLS1: 微地址寄存器的工作脈沖,用來(lái)設(shè)置微程序的首地址及微地址加1。</p><p>  PLS2: PC計(jì)數(shù)器的工作脈沖,根據(jù)微指令的控制實(shí)現(xiàn)PC計(jì)數(shù)器加1和重置PC計(jì)數(shù)器(如跳轉(zhuǎn)指令)等功能。</p><p>  PLS3: 把24位微指令打入3片微指令鎖存器</p>

16、;<p>  PLS4: 把當(dāng)前總線上的數(shù)據(jù)打入微指令選通的寄存器</p><p><b>  7.指令執(zhí)行流程</b></p><p>  在每個(gè)系統(tǒng)中,一條指令從內(nèi)存取出到執(zhí)行完畢,需要若干個(gè)機(jī)器周期,任何指令中都必須有一個(gè)機(jī)器周期作為“取指令周期”,稱為公操作周期。而一條指令共需幾個(gè)機(jī)器周期取決于指令在機(jī)器內(nèi)實(shí)現(xiàn)的復(fù)雜程度。</p>

17、<p>  對(duì)于微程序控制的計(jì)算機(jī),在設(shè)計(jì)指令執(zhí)行流程時(shí),要保證每條微指令所含的微操作的必要性和合理性,還應(yīng)知道總線的IAB,IDB,OAB,ODB僅是傳輸信息的通路,沒有寄存信息的功能,而且必須保證總線傳輸信息時(shí)信息的唯一性。</p><p>  以下描述取微指令執(zhí)行周期:</p><p>  在模型機(jī)處于停機(jī)狀態(tài)時(shí),模型機(jī)的微地址寄存器被清零,微指令鎖存器輸出無(wú)效。在處于停機(jī)

18、狀態(tài)時(shí),脈沖PLS1對(duì)微地址寄存器(74LS161)無(wú)效,微地址寄存器保持為零。脈沖PLS2對(duì)PC計(jì)數(shù)器無(wú)效,同時(shí)PLS2把HALT=1打入啟停單元中的運(yùn)行狀態(tài)寄存器(74LS74)中,把模型機(jī)置為運(yùn)行狀態(tài),使微程序鎖存器輸出有效。PLS3把微程序儲(chǔ)存器00H單元中的內(nèi)容打入指令寄存器中。</p><p>  在模型機(jī)處于運(yùn)行狀態(tài)時(shí),脈沖PLS1將微地址寄存器(74LS161)加一,脈沖PLS2將PC計(jì)數(shù)器加1,

19、PLS3把微程序存儲(chǔ)器中的微指令打入微指令鎖存器并且輸出。PLS4把當(dāng)前總線上的數(shù)據(jù)打入當(dāng)前微指令所選通的寄存器。</p><p>  對(duì)于此次實(shí)驗(yàn)每條指令的執(zhí)行流程如下:</p><p>  8. 源程序,程序的指令代碼及微程序</p><p><b>  8.1源程序</b></p><p>  MOV A,#44

20、</p><p>  ORL A,#25</p><p><b>  MOV R0,A</b></p><p><b>  MOV A,R0</b></p><p>  ANL A,#56</p><p><b>  MOV R1,A</b>

21、;</p><p><b>  STA 10</b></p><p><b>  HALT</b></p><p>  該程序的功能是計(jì)算先將16進(jìn)制數(shù)44與25進(jìn)行邏輯或運(yùn)算,結(jié)果放入R0;再將結(jié)果與56進(jìn)行邏輯與運(yùn)算,結(jié)果放入R1。并且A的值放入addr。</p><p>  8.2程序的指

22、令代碼</p><p><b>  8.3微程序</b></p><p>  MOV A,#44 : 0000[4D],[FF],[FF] 取指指令 </p><p>  0017[DD],[FB],[FF] Dbus→A </p><p>  ORL A,#25: 0018[4D],[FF],[F

23、F] 取指指令 </p><p>  0033[FF],[FC],[FE] A→Dbus→DR1</p><p>  0034[DD],[FF],[7E] RAM→Dbus→DR2</p><p>  0035[FF],[FB],[BE] ALU→A</p><p>  MOV R0,A : 0036[4D],[FE],[F

24、F] 取指指令</p><p>  0013[FF],[BD],[FF] A→Dbus→RI</p><p>  MOV A,R0 : 0014[4D],[FF],[FF] 取指指令</p><p>  000F[FF],[7B],[FF] RI→Dbus→A</p><p>  ANL A,#56: 0010[4D]

25、,[FF],[FF] 取指指令</p><p>  0037[FF][FC][FB] A→Dbus→DR1</p><p>  0038[DD][FF][7B] RAM→Dbus→DR2</p><p>  0039[FF][FB][BB] ALU→A</p><p>  MOV R1,A : 003A[4D][FF][

26、FF] 取指指令</p><p>  0013[FF][BD][FF] A→Dbus→RI</p><p>  STA 10 : 0014[4D][FF][FF] 取指指令</p><p>  0023[D5][FF][FF] Dbus→IR2</p><p>  0024[BB][FD][FF] IR2→D

27、bus; A→Dbus→RAM</p><p>  HALT : 0025[4D][FF][FF] 取指指令</p><p>  0003F[FF][DF][FF] 停機(jī)</p><p>  9.使用軟件HKCPT的聯(lián)機(jī)方式的實(shí)現(xiàn)過(guò)程</p><p>  9.1主要指令的時(shí)序圖</p><p>

28、;  44與25進(jìn)行邏輯或運(yùn)算的時(shí)序圖:</p><p>  上次運(yùn)算結(jié)果與56進(jìn)行邏輯與運(yùn)算的的時(shí)序圖:</p><p>  將最終結(jié)果保存到RAM地址的時(shí)序圖:</p><p>  9.2累加器A、寄存器、存儲(chǔ)器的數(shù)據(jù)變化以及數(shù)據(jù)流程</p><p>  第一步:數(shù)據(jù)流程:A->DBUS->DR1</p><

29、;p>  各寄存器數(shù)據(jù)變化如下表:</p><p>  第二步:數(shù)據(jù)流程:RAM->DBUS->DR2</p><p>  各寄存器數(shù)據(jù)變化如下表:</p><p>  第三步:數(shù)據(jù)流程:A->DBUS->DR1</p><p>  各寄存器數(shù)據(jù)變化如下表:</p><p>  第四步:停

30、機(jī) 無(wú)數(shù)據(jù)流程變化。</p><p><b>  10.課程設(shè)計(jì)總結(jié)</b></p><p>  在此次計(jì)算機(jī)組成原理的課程設(shè)計(jì)實(shí)驗(yàn)中,我是利用所學(xué)的計(jì)算機(jī)組成原理、匯編語(yǔ)言以及數(shù)字邏輯運(yùn)算的知識(shí)在HKCPT軟件平臺(tái)上設(shè)計(jì)幾個(gè)數(shù)的邏輯與或運(yùn)算。在一開始設(shè)計(jì)代碼時(shí)到?jīng)]有遇到多大的問(wèn)題。但是在編譯完代碼運(yùn)行后進(jìn)行指令以及微指令分析時(shí),仍然有許多地方?jīng)]弄清楚。比如一條指令

31、對(duì)應(yīng)的多個(gè)微指令,每條微指令又起到的作用以及每條指令的流程周期變化等等。我此次</p><p>  設(shè)計(jì)的這個(gè)實(shí)驗(yàn)由于本身很簡(jiǎn)單,因此我也沒有設(shè)計(jì)很復(fù)雜的代碼,當(dāng)然也是因?yàn)閾?dān)心后面進(jìn)行指令分析等細(xì)節(jié)問(wèn)題處理時(shí)很難下手。不過(guò)它依然很明了的反映了不帶進(jìn)位的邏輯與或的運(yùn)算特點(diǎn)。</p><p>  通過(guò)此次實(shí)驗(yàn),首先,我更一步熟悉了指令、微指令等等相關(guān)的一些基本知識(shí)以及與此次實(shí)驗(yàn)所連接到的其它科

32、目的一些知識(shí);其次,我體會(huì)到這次課程設(shè)計(jì)實(shí)驗(yàn)是不同與我們之前所做的一些小實(shí)驗(yàn),它是前面這些小實(shí)驗(yàn)結(jié)合在一起的綜合運(yùn)用;再次,這次實(shí)驗(yàn)進(jìn)一步加深了我對(duì)此實(shí)驗(yàn)平臺(tái)的理解和運(yùn)用,同時(shí)也使我了解到了它的漏洞和缺點(diǎn);然后,此次實(shí)驗(yàn)告訴我,要善于運(yùn)用所學(xué)的知識(shí)運(yùn)用到實(shí)際操作中,加強(qiáng)自己動(dòng)手動(dòng)腦的能力,加強(qiáng)獨(dú)立思考分析的能力并以此檢驗(yàn)所學(xué)知識(shí)的牢固、扎實(shí);最后,此次實(shí)驗(yàn)提醒我,知識(shí)的缺乏和漏洞以及運(yùn)用知識(shí)實(shí)現(xiàn)真正需求的問(wèn)題總是存在的,因此,我必需在以

溫馨提示

  • 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)論