




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
計算機科學學院課程設計報告課程 計算機組成原理 題目 的實現(xiàn)(指令擴展) 年級 2009級 專業(yè) 計算機科學與技術 學號 學生 多啦小鵬 任課教師 2012年 2月 28日12課程設計題目的求值(指令擴展)驗收時間2012年2月27日驗收地點指導教師小組成員具體分工備注無分工課題總體設計思想概述基于TH-UNION教學機的機器指令指令設計,在現(xiàn)有的TEC-2000教學機系統(tǒng)上,擴展已有指令之外的指令,并在系統(tǒng)監(jiān)控程序中擴展相應的匯編指令,熟悉掌握指令格式、指令操作碼、指令功能。明白其內(nèi)部原理,清楚機器指令和微命令的關系,設計出合理的擴展指令即單個或多條微命令組成的微程序,并寫出相應的測試指令的匯編程序,調(diào)試并優(yōu)化擴展指令,到最終完成優(yōu)化后的擴展指令。課題設計目的和原理實驗目的: 通過對本次的課程設計,進一步熟練掌握計算機各功能部件的內(nèi)部構(gòu)造和相互之間的聯(lián)系(部件配置、相互連接和作用)、各功能部件的性能參數(shù)的相互匹配、機器指令級的各種功能和特性。實驗原理: 機器指令由微指令組成,而一條微指令由微命令和下地址兩個字段組成。通過重寫ROM芯片,擴展新的指令。不同的控制信號的組合可以達到相應的功能,從而實現(xiàn)擴展新指令。課題設計方案1、課題設計方案1.1、基礎知識和熟悉平臺 首先、熟悉平臺,了解設計指令的平臺操作和各個部分模塊功能,如圖:微命令寫入到ROM中模塊:測試查看當前微指令地址等各寄存器的值: 擴展指令,學習指令的格式,類型,尋址方式為后面實踐動手打下理論基礎,教學機器指令格式如圖:操作碼DRSRI/O端口地址/相對偏移量立即數(shù)/直接內(nèi)存地址/變址偏移量根據(jù)不同的標準,16位機的指令可劃分為不同的指令:指令長度區(qū)分,有單字指令和雙字指令,也允許定義和使用三字指令。 操作數(shù)的個數(shù),有雙操作數(shù)指令、單操作數(shù)指令和無操作數(shù)指令。尋址方式區(qū)分,寄存器尋址、寄存器間接尋址、立即數(shù)尋址、直接尋址、變址尋址、相對尋址等尋址方式。課題設計方案微指令是由微命令和下地址兩個字段組成的,所以要進一步了解微命令。微命令控制信號等各個部件的聯(lián)系。要知道了各個控制位的功能。了解和學習基礎知識,又熟悉了仿真軟件的使用,可以進行下一步找出問題,設計指令解決問題。1.2、問題設計與分析 問題提出實現(xiàn)的求值,即=2+2+2+2實現(xiàn)文字描述:把1放到DR和R11中,n值(即SR中的數(shù)值)放到寄存器R14中,R14控制循環(huán)次數(shù),進入擴展的指令時要保存R5即PC值到R15寄存器,當指令結(jié)束時用于恢復PC值。將R11中的值乘以2,循環(huán)一次,結(jié)果加上DR中的值放入到DR中。 1.3、指令設計過程 指令常用類型(只寫出部分類型)平臺種類操作數(shù)長度指令格式指令舉例TEC200016位121OP DR,SROP DR,SROP DR,SRadd R0,R1ldrr R2,R3strr R4,R52311OP DR,0000dec R04122OP DR,ADDROP DR,DATAOP ADDR,SRldra R0,1000hmvrd R1,2000hstra 3000h,R2我們選用指令類型41,兩個操作數(shù),OP DR,DATA。將 1.2中的文字說明轉(zhuǎn)換為表格形式,說明數(shù)據(jù)流向和操作。如下圖:編號數(shù)據(jù)即操作1DATA 放入到DR中2DATA放入到R11中3DATA放入到R144DR減去R11結(jié)果到R15將DR值加1,即置16R11減去R14結(jié)果到R17R11加上1結(jié)果到R118將R5值放入到R15中9將R14自減110判斷是否跳轉(zhuǎn)且恢復R511將R11中的數(shù)左移1位12將R11加到DR中課題設計方案 1.4、指令詳細說明 參數(shù)設置:文件名稱為:zpzp.asm 設置指令名稱,類型,入口地址。 文件(zpzp.asm)內(nèi)容: zp 01001010 41 說明:zp為擴展指令名稱,入口地址,指令類型 微命令詳細說明: 對寄存器R11,R14,R15值放入到堆棧中,再恢復數(shù)據(jù)。地址功能下址地址功能下址4apush 010010115epopR11 010011005fR15 1c011000004cpush0100110160pop011000014dR140100111061push0100111162pop01100011核心微命令:地址功能下址501D mvrd0101000151DR-SR0101001052R11-SR0101001153R14-SR0101010054sub DR-R110101010155inc DR+10101011056sub R11-R140101011157inc R11+10101100058R15-R50101100159dec jrnz 且 R5B;Y輸出SbI530000數(shù)據(jù)進行R+SB口1111指定寄存器R15A口0101指定寄存器R50SST0001接收標志位輸出得值SSHSCI0000加0,通用寄存器邏輯移位DC20000寄存器接受信息不用DC10000內(nèi)部總線信息來源來自開關說明:將R5即PC值放入到R15中用于當執(zhí)行完該擴展指令時,恢復PC的值,即R5的值。微址:5a類別內(nèi)容說明微址5a當前地址下址5e下一條指令的地址CI300011條件轉(zhuǎn)移執(zhí)行SCC300100程序執(zhí)行方式0MRW0100無讀寫操作0I200100數(shù)據(jù)來源于A寄存器SaI860011累加器:F-B;Y輸出SbI530000數(shù)據(jù)進行R+SB口0101指定寄存器R5A口1111指定寄存器R150SST0001接收標志位輸出得值SSHSCI0000加0,通用寄存器邏輯移位DC20000寄存器接受信息不用DC10000內(nèi)部總線信息來源來自開關說明:判斷跳轉(zhuǎn)并且將R5中的值恢復,即將R15中的值放入到R5中,PC值得到恢復。課題測試方案2、課題測試方案2.1、設計測試方案 設計編寫一段匯編程序,在此程序中包含這個擴展指令,為了達到測試的效果,設計的測試程序要按照以下幾點原則設計:1、測試指令的格式,操作數(shù)的類型。2、把數(shù)據(jù)放到不同的寄存器中測試,是否用了DR、SR字段。3、測試不同的數(shù)據(jù)放到相同的寄存器中,查看結(jié)果。注意:測試時要注意當前指令地址,涉及到的寄存器的值,在跳轉(zhuǎn)時也要注意標志寄存器中的值的變化。2.2、編寫程序及實例 測試文件名稱:zp.asm 參數(shù)文件zpzp.asm(已經(jīng)給出)。1、 測試指令格式:操作數(shù)zp R1,3hzp R1zp R1,R2預期結(jié)果編譯通過錯誤錯誤2、 測試不同寄存器操作數(shù)zp R1,3hzp R4,3hzp R7,3h預期結(jié)果R1值:0fhR4值:0fhR7值:0fh3、 測試不同數(shù)據(jù) 數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預期結(jié)果R1值:07hR1值:0fhR1值:1fh測試程序代碼:zp.asmorg 2000h /起始地址從2000開始mvrd r1,2h /將R1賦上初始值zp r1,3h /測試zp擴展指令ret /程序結(jié)束end這里只是給出了一個例子,根據(jù)上面的列表要給出多個測試程序。例:mvrd r2,2h /將R2賦上初始值zp r2,3h /測試zp擴展指令參數(shù)設置:zpzp.asmzp 01001010 41說明:測試時要注意此指令在運算過程中使用了寄存器R11,R14,R15,所以測試或使用時要避開這些寄存器,這些算是zp擴展指令的保留寄存器,所以不可以使用,但是指令中包含將這些指令中的值放入到堆棧并且恢復,所以不需要再在此指令前后進行壓棧和出棧的操作。課題測試方案2.3、測試指令過程 1、打開實驗仿真軟件,導入SSC gal文件,參數(shù)設置,設置為zpzp.asm。 2、導入已經(jīng)編寫好的ROMS文件。ROM1ROM7和MAPROM文件。 3.將編寫的匯編程序zp.asm導入進行測試(zp.asm和zpzp.asm要在同一個目錄下面即同一個文件夾)。2.4、優(yōu)化擴展指令 指令設計滿足高效率低資源正確地運算結(jié)果。 1、減少寄存器的使用,尤其是中間寄存器,使用寄存器的優(yōu)點是效率高,但是寄存器的數(shù)量是有限的幾個,為了節(jié)省寄存器的使用,可以把某些數(shù)值壓入堆棧,但是耗時相對高,這是要根據(jù)指令的性能要求,選擇不同的方式,而且要嘗試Q寄存器的使用,總之,綜合考慮達到最優(yōu)。 2、算法設計上要根據(jù)平臺特點,設計出優(yōu)化的算法,減少微指令的條數(shù),減少周期,從而提高效率。 錯誤及結(jié)果分析3、錯誤及結(jié)果分析3.1、實驗結(jié)果分析 測試最終結(jié)果:操作數(shù)zp R1,3hzp R1zp R1,R2預期結(jié)果編譯通過錯誤錯誤測試結(jié)果編譯通過錯誤錯誤操作數(shù)zp R1,3hzp R4,3hzp R7,3h預期結(jié)果R1值:0fhR4值:0fhR7值:0fh測試結(jié)果與預期一致與預期一致與預期一致數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預期結(jié)果R1值:07hR1值:0fhR1值:1fh測試結(jié)果與預期一致與預期一致與預期一致 通過以上測試結(jié)果可以看出擴展指令zp是可以正確運算得到結(jié)果的。當然在測試過程中出現(xiàn)了一些問題,經(jīng)過修改和重新設計,達到了最終的正確結(jié)果。3.2、設計和測試過程中的錯誤匯總及解決辦法 1、開始設計時沒有考慮寄存器的使用和恢復寄存器的原始值。 為了指令的方便使用,在指令內(nèi)寫定要壓入堆棧的寄存器的數(shù)值并在要結(jié)束指令前,恢復中間寄存器的數(shù)值。這樣在周期上增加了,但是方便了用戶的使用。 2、在循環(huán)時使用了跳轉(zhuǎn),但是當指令結(jié)束后,無法正確地跳轉(zhuǎn)到下一條指令從而進入死循環(huán)。解決辦法,就是在進入此指令并要在跳轉(zhuǎn)之前將R5寄存器的數(shù)值即PC值保存下,指令結(jié)束時恢復R5的數(shù)值,即可正常運行到下一條指令。在這里 PC的值有兩種保存,1、放入一個寄存器中;2、壓入堆棧??紤]到寄存器有富余,為了提高效率,使用了寄存器保存。 3、參數(shù)文件和測試文件編輯正確,出現(xiàn)下面情況:解決辦法:1、 參數(shù)文件和匯編文件同目錄若擴展了指令,需要設置該文件名才能正確編譯。保證此文件盒待編譯的匯編文件在同一個目錄下。2、 重新導入?yún)R編文件錯誤及結(jié)果分析3.3、總結(jié)問題解決方法和注意事項1、當在向ROM中錄入微指令時,要注意及時點擊”update”按鈕,才能將指令寫入ROM文件(仿真芯片),當錄入完成時,這時候并沒有將指令保存,需要點擊”生成新文件”,即得到一個ROMS文件夾,此時就完成了指令的編寫,不要匆忙關閉仿真軟件,否則要重新編寫。2、在循環(huán)時用跳轉(zhuǎn)實現(xiàn),循環(huán)條件的控制無非是用四個標志寄存器的值來實現(xiàn),但是最好只使用其中的一個標志位,就是說在一個指令中只使用一個標志位來判斷是否跳轉(zhuǎn)。例如jrnz是判斷Z標志寄存器。3、還有重要的是Sa和Sb的設定。Sb和Sa是源操作數(shù)的標志,有兩個來源,當Sa設置0的時候,Sa代表微指令里的A口,寫入ROM中,指定寄存器。當Sa設置1的時候,Sa的數(shù)據(jù)來源是程序中的標示的SR字段。Sb的設置同上,只是當Sb設置為0時,Sa對應B口,當Sb設置為1的時候,對應的數(shù)據(jù)來源是DR字段。課題設計心得心得體會:通過本次的計算機組成原理的課程設計,完成了指令的擴展,但是從中學到了和鞏固了原有的很多知識。但是當初剛開始著手做的時候,自己卻無從下手,剛拿到TEC-2000仿真軟件的時候,根本無法使用和各模塊功能作用,但是在復習了平臺的原理和指令,掌握了原理,再看仿真平臺,就很清楚各個模塊的功能,例如ROM文件也就是真正對應存儲指令的存儲器。要設計指令,首先要學習指令的類型,格式等知識;其次再根據(jù)問題設計算法,選擇指令類型和格式,設計出指令;最后測試指令,遇到問題,找到解決辦法,還有重要的是指令正確執(zhí)行,可以得到正確結(jié)果后,還有一點很重要的是指令的優(yōu)化。這些都是以前課本上學習的知識,只有真正運用到實踐中是,才能不斷加深對其的理解。通過兩周的學習和實踐,理解了微程序控制器的設計思想。通過上面的總結(jié)課看出,遇到問題,設計方法,優(yōu)化方法。此次課程設計不僅僅很好地使我學習了計組的指令等方面的知識,而且很好地鍛煉了我的思維,遇到問題解決問題的能力。在此次課設中,遇到問題,通過和同學交流,學到了更多的知識和經(jīng)驗。希望在今后的學習中,自己仍可以勤于動手,將所需知識很好地運用到實踐當中,使自己的學習能力進一步提高。計 算 機 科 學 學 院本科課程設計量化評分標準 (計算機系統(tǒng)結(jié)構(gòu)類) 學生姓名: 指導教師: 年級和專業(yè): 09級計算機科學與技術 指標最高分評分要素評分方案設計20課題明確;總體功能描述及總體電路框圖清楚;課題分工明確,分功能概述及電路接線圖清晰;測試方案合理可行,理論結(jié)果正確。調(diào)試20平臺使用熟練;電路信號控制正確;測試數(shù)據(jù)設置得當;仿真熟練,結(jié)果完整。驗收20經(jīng)過自行調(diào)試之后,確認一切準備就續(xù)即可請求老師給予驗收。一次驗收通過最高可給20分,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 去電腦店兼職報告范文
- 2025年度智能穿戴設備維修與用戶體驗提升合同
- 2025年度藝術品拍賣授權(quán)書模板
- 二零二五年度酒店宴會退訂及違約處理合同樣本
- 二零二五年度醫(yī)療耗材租賃與維護服務合同
- 二零二五年度著作權(quán)集體管理組織會員著作權(quán)許可合同
- 酒店保安知識培訓課件
- 2025遼寧鞍山市臺安綠潔創(chuàng)能生態(tài)科技有限公司招聘6人筆試參考題庫附帶答案詳解
- 焊接知識培訓課件
- 江畔朝陽 職引未來-大學生職業(yè)生涯規(guī)劃知到智慧樹章節(jié)測試課后答案2024年秋黑龍江科技大學
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標準內(nèi)容解讀
- 五年(2020-2024)高考地理真題分類匯編(全國)專題03地球上的大氣+原卷版
- 工資調(diào)級制度模版(3篇)
- 語文新課標“整本書閱讀”深度解讀及案例
- 2024至2030年中國毛絨玩具數(shù)據(jù)監(jiān)測研究報告
- 數(shù)字媒體藝術概論學習通超星期末考試答案章節(jié)答案2024年
- 現(xiàn)代家政導論-課件 5.1.1認識家政服務業(yè)
- 床旁血液凈化治療的原理及應用
- 八年級上學期語文12月月考試卷
- 2024年遼寧省大連市檢驗檢測認證技術服務中心招聘12人歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 醫(yī)療護理查對制度課件
評論
0/150
提交評論