




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)科學(xué)學(xué)院課程設(shè)計(jì)報(bào)告課程 計(jì)算機(jī)組成原理 題目 的實(shí)現(xiàn)(指令擴(kuò)展) 年級 2009級 專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)號 學(xué)生 多啦小鵬 任課教師 2012年 2月 28日12課程設(shè)計(jì)題目的求值(指令擴(kuò)展)驗(yàn)收時(shí)間2012年2月27日驗(yàn)收地點(diǎn)指導(dǎo)教師小組成員具體分工備注無分工課題總體設(shè)計(jì)思想概述基于TH-UNION教學(xué)機(jī)的機(jī)器指令指令設(shè)計(jì),在現(xiàn)有的TEC-2000教學(xué)機(jī)系統(tǒng)上,擴(kuò)展已有指令之外的指令,并在系統(tǒng)監(jiān)控程序中擴(kuò)展相應(yīng)的匯編指令,熟悉掌握指令格式、指令操作碼、指令功能。明白其內(nèi)部原理,清楚機(jī)器指令和微命令的關(guān)系,設(shè)計(jì)出合理的擴(kuò)展指令即單個或多條微命令組成的微程序,并寫出相應(yīng)的測試指令的匯編程序,調(diào)試并優(yōu)化擴(kuò)展指令,到最終完成優(yōu)化后的擴(kuò)展指令。課題設(shè)計(jì)目的和原理實(shí)驗(yàn)?zāi)康模?通過對本次的課程設(shè)計(jì),進(jìn)一步熟練掌握計(jì)算機(jī)各功能部件的內(nèi)部構(gòu)造和相互之間的聯(lián)系(部件配置、相互連接和作用)、各功能部件的性能參數(shù)的相互匹配、機(jī)器指令級的各種功能和特性。實(shí)驗(yàn)原理: 機(jī)器指令由微指令組成,而一條微指令由微命令和下地址兩個字段組成。通過重寫ROM芯片,擴(kuò)展新的指令。不同的控制信號的組合可以達(dá)到相應(yīng)的功能,從而實(shí)現(xiàn)擴(kuò)展新指令。課題設(shè)計(jì)方案1、課題設(shè)計(jì)方案1.1、基礎(chǔ)知識和熟悉平臺 首先、熟悉平臺,了解設(shè)計(jì)指令的平臺操作和各個部分模塊功能,如圖:微命令寫入到ROM中模塊:測試查看當(dāng)前微指令地址等各寄存器的值: 擴(kuò)展指令,學(xué)習(xí)指令的格式,類型,尋址方式為后面實(shí)踐動手打下理論基礎(chǔ),教學(xué)機(jī)器指令格式如圖:操作碼DRSRI/O端口地址/相對偏移量立即數(shù)/直接內(nèi)存地址/變址偏移量根據(jù)不同的標(biāo)準(zhǔn),16位機(jī)的指令可劃分為不同的指令:指令長度區(qū)分,有單字指令和雙字指令,也允許定義和使用三字指令。 操作數(shù)的個數(shù),有雙操作數(shù)指令、單操作數(shù)指令和無操作數(shù)指令。尋址方式區(qū)分,寄存器尋址、寄存器間接尋址、立即數(shù)尋址、直接尋址、變址尋址、相對尋址等尋址方式。課題設(shè)計(jì)方案微指令是由微命令和下地址兩個字段組成的,所以要進(jìn)一步了解微命令。微命令控制信號等各個部件的聯(lián)系。要知道了各個控制位的功能。了解和學(xué)習(xí)基礎(chǔ)知識,又熟悉了仿真軟件的使用,可以進(jìn)行下一步找出問題,設(shè)計(jì)指令解決問題。1.2、問題設(shè)計(jì)與分析 問題提出實(shí)現(xiàn)的求值,即=2+2+2+2實(shí)現(xiàn)文字描述:把1放到DR和R11中,n值(即SR中的數(shù)值)放到寄存器R14中,R14控制循環(huán)次數(shù),進(jìn)入擴(kuò)展的指令時(shí)要保存R5即PC值到R15寄存器,當(dāng)指令結(jié)束時(shí)用于恢復(fù)PC值。將R11中的值乘以2,循環(huán)一次,結(jié)果加上DR中的值放入到DR中。 1.3、指令設(shè)計(jì)過程 指令常用類型(只寫出部分類型)平臺種類操作數(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)且恢復(fù)R511將R11中的數(shù)左移1位12將R11加到DR中課題設(shè)計(jì)方案 1.4、指令詳細(xì)說明 參數(shù)設(shè)置:文件名稱為:zpzp.asm 設(shè)置指令名稱,類型,入口地址。 文件(zpzp.asm)內(nèi)容: zp 01001010 41 說明:zp為擴(kuò)展指令名稱,入口地址,指令類型 微命令詳細(xì)說明: 對寄存器R11,R14,R15值放入到堆棧中,再恢復(fù)數(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ù)進(jìn)行R+SB口1111指定寄存器R15A口0101指定寄存器R50SST0001接收標(biāo)志位輸出得值SSHSCI0000加0,通用寄存器邏輯移位DC20000寄存器接受信息不用DC10000內(nèi)部總線信息來源來自開關(guān)說明:將R5即PC值放入到R15中用于當(dāng)執(zhí)行完該擴(kuò)展指令時(shí),恢復(fù)PC的值,即R5的值。微址:5a類別內(nèi)容說明微址5a當(dāng)前地址下址5e下一條指令的地址CI300011條件轉(zhuǎn)移執(zhí)行SCC300100程序執(zhí)行方式0MRW0100無讀寫操作0I200100數(shù)據(jù)來源于A寄存器SaI860011累加器:F-B;Y輸出SbI530000數(shù)據(jù)進(jìn)行R+SB口0101指定寄存器R5A口1111指定寄存器R150SST0001接收標(biāo)志位輸出得值SSHSCI0000加0,通用寄存器邏輯移位DC20000寄存器接受信息不用DC10000內(nèi)部總線信息來源來自開關(guān)說明:判斷跳轉(zhuǎn)并且將R5中的值恢復(fù),即將R15中的值放入到R5中,PC值得到恢復(fù)。課題測試方案2、課題測試方案2.1、設(shè)計(jì)測試方案 設(shè)計(jì)編寫一段匯編程序,在此程序中包含這個擴(kuò)展指令,為了達(dá)到測試的效果,設(shè)計(jì)的測試程序要按照以下幾點(diǎn)原則設(shè)計(jì):1、測試指令的格式,操作數(shù)的類型。2、把數(shù)據(jù)放到不同的寄存器中測試,是否用了DR、SR字段。3、測試不同的數(shù)據(jù)放到相同的寄存器中,查看結(jié)果。注意:測試時(shí)要注意當(dāng)前指令地址,涉及到的寄存器的值,在跳轉(zhuǎn)時(shí)也要注意標(biāo)志寄存器中的值的變化。2.2、編寫程序及實(shí)例 測試文件名稱:zp.asm 參數(shù)文件zpzp.asm(已經(jīng)給出)。1、 測試指令格式:操作數(shù)zp R1,3hzp R1zp R1,R2預(yù)期結(jié)果編譯通過錯誤錯誤2、 測試不同寄存器操作數(shù)zp R1,3hzp R4,3hzp R7,3h預(yù)期結(jié)果R1值:0fhR4值:0fhR7值:0fh3、 測試不同數(shù)據(jù) 數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預(yù)期結(jié)果R1值:07hR1值:0fhR1值:1fh測試程序代碼:zp.asmorg 2000h /起始地址從2000開始mvrd r1,2h /將R1賦上初始值zp r1,3h /測試zp擴(kuò)展指令ret /程序結(jié)束end這里只是給出了一個例子,根據(jù)上面的列表要給出多個測試程序。例:mvrd r2,2h /將R2賦上初始值zp r2,3h /測試zp擴(kuò)展指令參數(shù)設(shè)置:zpzp.asmzp 01001010 41說明:測試時(shí)要注意此指令在運(yùn)算過程中使用了寄存器R11,R14,R15,所以測試或使用時(shí)要避開這些寄存器,這些算是zp擴(kuò)展指令的保留寄存器,所以不可以使用,但是指令中包含將這些指令中的值放入到堆棧并且恢復(fù),所以不需要再在此指令前后進(jìn)行壓棧和出棧的操作。課題測試方案2.3、測試指令過程 1、打開實(shí)驗(yàn)仿真軟件,導(dǎo)入SSC gal文件,參數(shù)設(shè)置,設(shè)置為zpzp.asm。 2、導(dǎo)入已經(jīng)編寫好的ROMS文件。ROM1ROM7和MAPROM文件。 3.將編寫的匯編程序zp.asm導(dǎo)入進(jìn)行測試(zp.asm和zpzp.asm要在同一個目錄下面即同一個文件夾)。2.4、優(yōu)化擴(kuò)展指令 指令設(shè)計(jì)滿足高效率低資源正確地運(yùn)算結(jié)果。 1、減少寄存器的使用,尤其是中間寄存器,使用寄存器的優(yōu)點(diǎn)是效率高,但是寄存器的數(shù)量是有限的幾個,為了節(jié)省寄存器的使用,可以把某些數(shù)值壓入堆棧,但是耗時(shí)相對高,這是要根據(jù)指令的性能要求,選擇不同的方式,而且要嘗試Q寄存器的使用,總之,綜合考慮達(dá)到最優(yōu)。 2、算法設(shè)計(jì)上要根據(jù)平臺特點(diǎn),設(shè)計(jì)出優(yōu)化的算法,減少微指令的條數(shù),減少周期,從而提高效率。 錯誤及結(jié)果分析3、錯誤及結(jié)果分析3.1、實(shí)驗(yàn)結(jié)果分析 測試最終結(jié)果:操作數(shù)zp R1,3hzp R1zp R1,R2預(yù)期結(jié)果編譯通過錯誤錯誤測試結(jié)果編譯通過錯誤錯誤操作數(shù)zp R1,3hzp R4,3hzp R7,3h預(yù)期結(jié)果R1值:0fhR4值:0fhR7值:0fh測試結(jié)果與預(yù)期一致與預(yù)期一致與預(yù)期一致數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預(yù)期結(jié)果R1值:07hR1值:0fhR1值:1fh測試結(jié)果與預(yù)期一致與預(yù)期一致與預(yù)期一致 通過以上測試結(jié)果可以看出擴(kuò)展指令zp是可以正確運(yùn)算得到結(jié)果的。當(dāng)然在測試過程中出現(xiàn)了一些問題,經(jīng)過修改和重新設(shè)計(jì),達(dá)到了最終的正確結(jié)果。3.2、設(shè)計(jì)和測試過程中的錯誤匯總及解決辦法 1、開始設(shè)計(jì)時(shí)沒有考慮寄存器的使用和恢復(fù)寄存器的原始值。 為了指令的方便使用,在指令內(nèi)寫定要壓入堆棧的寄存器的數(shù)值并在要結(jié)束指令前,恢復(fù)中間寄存器的數(shù)值。這樣在周期上增加了,但是方便了用戶的使用。 2、在循環(huán)時(shí)使用了跳轉(zhuǎn),但是當(dāng)指令結(jié)束后,無法正確地跳轉(zhuǎn)到下一條指令從而進(jìn)入死循環(huán)。解決辦法,就是在進(jìn)入此指令并要在跳轉(zhuǎn)之前將R5寄存器的數(shù)值即PC值保存下,指令結(jié)束時(shí)恢復(fù)R5的數(shù)值,即可正常運(yùn)行到下一條指令。在這里 PC的值有兩種保存,1、放入一個寄存器中;2、壓入堆棧??紤]到寄存器有富余,為了提高效率,使用了寄存器保存。 3、參數(shù)文件和測試文件編輯正確,出現(xiàn)下面情況:解決辦法:1、 參數(shù)文件和匯編文件同目錄若擴(kuò)展了指令,需要設(shè)置該文件名才能正確編譯。保證此文件盒待編譯的匯編文件在同一個目錄下。2、 重新導(dǎo)入?yún)R編文件錯誤及結(jié)果分析3.3、總結(jié)問題解決方法和注意事項(xiàng)1、當(dāng)在向ROM中錄入微指令時(shí),要注意及時(shí)點(diǎn)擊”update”按鈕,才能將指令寫入ROM文件(仿真芯片),當(dāng)錄入完成時(shí),這時(shí)候并沒有將指令保存,需要點(diǎn)擊”生成新文件”,即得到一個ROMS文件夾,此時(shí)就完成了指令的編寫,不要匆忙關(guān)閉仿真軟件,否則要重新編寫。2、在循環(huán)時(shí)用跳轉(zhuǎn)實(shí)現(xiàn),循環(huán)條件的控制無非是用四個標(biāo)志寄存器的值來實(shí)現(xiàn),但是最好只使用其中的一個標(biāo)志位,就是說在一個指令中只使用一個標(biāo)志位來判斷是否跳轉(zhuǎn)。例如jrnz是判斷Z標(biāo)志寄存器。3、還有重要的是Sa和Sb的設(shè)定。Sb和Sa是源操作數(shù)的標(biāo)志,有兩個來源,當(dāng)Sa設(shè)置0的時(shí)候,Sa代表微指令里的A口,寫入ROM中,指定寄存器。當(dāng)Sa設(shè)置1的時(shí)候,Sa的數(shù)據(jù)來源是程序中的標(biāo)示的SR字段。Sb的設(shè)置同上,只是當(dāng)Sb設(shè)置為0時(shí),Sa對應(yīng)B口,當(dāng)Sb設(shè)置為1的時(shí)候,對應(yīng)的數(shù)據(jù)來源是DR字段。課題設(shè)計(jì)心得心得體會:通過本次的計(jì)算機(jī)組成原理的課程設(shè)計(jì),完成了指令的擴(kuò)展,但是從中學(xué)到了和鞏固了原有的很多知識。但是當(dāng)初剛開始著手做的時(shí)候,自己卻無從下手,剛拿到TEC-2000仿真軟件的時(shí)候,根本無法使用和各模塊功能作用,但是在復(fù)習(xí)了平臺的原理和指令,掌握了原理,再看仿真平臺,就很清楚各個模塊的功能,例如ROM文件也就是真正對應(yīng)存儲指令的存儲器。要設(shè)計(jì)指令,首先要學(xué)習(xí)指令的類型,格式等知識;其次再根據(jù)問題設(shè)計(jì)算法,選擇指令類型和格式,設(shè)計(jì)出指令;最后測試指令,遇到問題,找到解決辦法,還有重要的是指令正確執(zhí)行,可以得到正確結(jié)果后,還有一點(diǎn)很重要的是指令的優(yōu)化。這些都是以前課本上學(xué)習(xí)的知識,只有真正運(yùn)用到實(shí)踐中是,才能不斷加深對其的理解。通過兩周的學(xué)習(xí)和實(shí)踐,理解了微程序控制器的設(shè)計(jì)思想。通過上面的總結(jié)課看出,遇到問題,設(shè)計(jì)方法,優(yōu)化方法。此次課程設(shè)計(jì)不僅僅很好地使我學(xué)習(xí)了計(jì)組的指令等方面的知識,而且很好地鍛煉了我的思維,遇到問題解決問題的能力。在此次課設(shè)中,遇到問題,通過和同學(xué)交流,學(xué)到了更多的知識和經(jīng)驗(yàn)。希望在今后的學(xué)習(xí)中,自己仍可以勤于動手,將所需知識很好地運(yùn)用到實(shí)踐當(dāng)中,使自己的學(xué)習(xí)能力進(jìn)一步提高。計(jì) 算 機(jī) 科 學(xué) 學(xué) 院本科課程設(shè)計(jì)量化評分標(biāo)準(zhǔn) (計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)類) 學(xué)生姓名: 指導(dǎo)教師: 年級和專業(yè): 09級計(jì)算機(jī)科學(xué)與技術(shù) 指標(biāo)最高分評分要素評分方案設(shè)計(jì)20課題明確;總體功能描述及總體電路框圖清楚;課題分工明確,分功能概述及電路接線圖清晰;測試方案合理可行,理論結(jié)果正確。調(diào)試20平臺使用熟練;電路信號控制正確;測試數(shù)據(jù)設(shè)置得當(dāng);仿真熟練,結(jié)果完整。驗(yàn)收20經(jīng)過自行調(diào)試之后,確認(rèn)一切準(zhǔn)備就續(xù)即可請求老師給予驗(yàn)收。一次驗(yàn)收通過最高可給20分,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應(yīng)鏈透明度教育區(qū)塊鏈技術(shù)的核心應(yīng)用
- 醫(yī)療設(shè)備維修流程的優(yōu)化與實(shí)施
- 辦公自動化在醫(yī)療物資管理中的應(yīng)用研究
- 以客戶為中心構(gòu)建基于區(qū)塊鏈的供應(yīng)金融服務(wù)體驗(yàn)
- 醫(yī)療科技發(fā)展下的倫理決策新挑戰(zhàn)
- 小升初工程畫圖教案課件
- 東營吊車出租合同范例
- 中班幼兒教育心得體會模版
- 保險(xiǎn)計(jì)劃服務(wù)合同范例
- 樂昌勞動合同范例
- 2025屆貴州省遵義第四中學(xué)高考全國統(tǒng)考預(yù)測密卷英語試卷含解析
- 2025年北京市豐臺區(qū)九年級初三一模物理試卷(含答案)
- 中醫(yī)內(nèi)科學(xué)胸痹課件
- 2025廣西廣投臨港工業(yè)有限公司社會招聘45人筆試參考題庫附帶答案詳解
- 銅川易源電力實(shí)業(yè)有限責(zé)任公司招聘筆試真題2024
- 廚房清潔勞動課件
- 2025-2030中國橋塞行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 土地旋耕合同協(xié)議書范本
- 山西省太原市2025年高三年級模擬考試(二)歷史試題及答案
- 湖北省武漢市2025屆高中畢業(yè)生四月調(diào)研考試數(shù)學(xué)試卷及答案(武漢四調(diào))
- 2025年四川省自然資源投資集團(tuán)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論