指令擴(kuò)展設(shè)計(jì)-計(jì)算機(jī)組成原理課程設(shè)計(jì).doc_第1頁(yè)
指令擴(kuò)展設(shè)計(jì)-計(jì)算機(jī)組成原理課程設(shè)計(jì).doc_第2頁(yè)
指令擴(kuò)展設(shè)計(jì)-計(jì)算機(jī)組成原理課程設(shè)計(jì).doc_第3頁(yè)
指令擴(kuò)展設(shè)計(jì)-計(jì)算機(jī)組成原理課程設(shè)計(jì).doc_第4頁(yè)
指令擴(kuò)展設(shè)計(jì)-計(jì)算機(jī)組成原理課程設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

計(jì)算機(jī)科學(xué)學(xué)院課程設(shè)計(jì)報(bào)告課程 計(jì)算機(jī)組成原理 題目 的實(shí)現(xiàn)(指令擴(kuò)展) 年級(jí) 2009級(jí) 專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)號(hào) 學(xué)生 多啦小鵬 任課教師 2012年 2月 28日12課程設(shè)計(jì)題目的求值(指令擴(kuò)展)驗(yàn)收時(shí)間2012年2月27日驗(yàn)收地點(diǎn)指導(dǎo)教師小組成員具體分工備注無(wú)分工課題總體設(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ò)展指令即單個(gè)或多條微命令組成的微程序,并寫(xiě)出相應(yīng)的測(cè)試指令的匯編程序,調(diào)試并優(yōu)化擴(kuò)展指令,到最終完成優(yōu)化后的擴(kuò)展指令。課題設(shè)計(jì)目的和原理實(shí)驗(yàn)?zāi)康模?通過(guò)對(duì)本次的課程設(shè)計(jì),進(jìn)一步熟練掌握計(jì)算機(jī)各功能部件的內(nèi)部構(gòu)造和相互之間的聯(lián)系(部件配置、相互連接和作用)、各功能部件的性能參數(shù)的相互匹配、機(jī)器指令級(jí)的各種功能和特性。實(shí)驗(yàn)原理: 機(jī)器指令由微指令組成,而一條微指令由微命令和下地址兩個(gè)字段組成。通過(guò)重寫(xiě)ROM芯片,擴(kuò)展新的指令。不同的控制信號(hào)的組合可以達(dá)到相應(yīng)的功能,從而實(shí)現(xiàn)擴(kuò)展新指令。課題設(shè)計(jì)方案1、課題設(shè)計(jì)方案1.1、基礎(chǔ)知識(shí)和熟悉平臺(tái) 首先、熟悉平臺(tái),了解設(shè)計(jì)指令的平臺(tái)操作和各個(gè)部分模塊功能,如圖:微命令寫(xiě)入到ROM中模塊:測(cè)試查看當(dāng)前微指令地址等各寄存器的值: 擴(kuò)展指令,學(xué)習(xí)指令的格式,類型,尋址方式為后面實(shí)踐動(dòng)手打下理論基礎(chǔ),教學(xué)機(jī)器指令格式如圖:操作碼DRSRI/O端口地址/相對(duì)偏移量立即數(shù)/直接內(nèi)存地址/變址偏移量根據(jù)不同的標(biāo)準(zhǔn),16位機(jī)的指令可劃分為不同的指令:指令長(zhǎng)度區(qū)分,有單字指令和雙字指令,也允許定義和使用三字指令。 操作數(shù)的個(gè)數(shù),有雙操作數(shù)指令、單操作數(shù)指令和無(wú)操作數(shù)指令。尋址方式區(qū)分,寄存器尋址、寄存器間接尋址、立即數(shù)尋址、直接尋址、變址尋址、相對(duì)尋址等尋址方式。課題設(shè)計(jì)方案微指令是由微命令和下地址兩個(gè)字段組成的,所以要進(jìn)一步了解微命令。微命令控制信號(hào)等各個(gè)部件的聯(lián)系。要知道了各個(gè)控制位的功能。了解和學(xué)習(xí)基礎(chǔ)知識(shí),又熟悉了仿真軟件的使用,可以進(jìn)行下一步找出問(wèn)題,設(shè)計(jì)指令解決問(wèn)題。1.2、問(wèn)題設(shè)計(jì)與分析 問(wèn)題提出實(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ì)過(guò)程 指令常用類型(只寫(xiě)出部分類型)平臺(tái)種類操作數(shù)長(zhǎng)度指令格式指令舉例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,兩個(gè)操作數(shù),OP DR,DATA。將 1.2中的文字說(shuō)明轉(zhuǎn)換為表格形式,說(shuō)明數(shù)據(jù)流向和操作。如下圖:編號(hào)數(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ì)說(shuō)明 參數(shù)設(shè)置:文件名稱為:zpzp.asm 設(shè)置指令名稱,類型,入口地址。 文件(zpzp.asm)內(nèi)容: zp 01001010 41 說(shuō)明:zp為擴(kuò)展指令名稱,入口地址,指令類型 微命令詳細(xì)說(shuō)明: 對(duì)寄存器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)部總線信息來(lái)源來(lái)自開(kāi)關(guān)說(shuō)明:將R5即PC值放入到R15中用于當(dāng)執(zhí)行完該擴(kuò)展指令時(shí),恢復(fù)PC的值,即R5的值。微址:5a類別內(nèi)容說(shuō)明微址5a當(dāng)前地址下址5e下一條指令的地址CI300011條件轉(zhuǎn)移執(zhí)行SCC300100程序執(zhí)行方式0MRW0100無(wú)讀寫(xiě)操作0I200100數(shù)據(jù)來(lái)源于A寄存器SaI860011累加器:F-B;Y輸出SbI530000數(shù)據(jù)進(jìn)行R+SB口0101指定寄存器R5A口1111指定寄存器R150SST0001接收標(biāo)志位輸出得值SSHSCI0000加0,通用寄存器邏輯移位DC20000寄存器接受信息不用DC10000內(nèi)部總線信息來(lái)源來(lái)自開(kāi)關(guān)說(shuō)明:判斷跳轉(zhuǎn)并且將R5中的值恢復(fù),即將R15中的值放入到R5中,PC值得到恢復(fù)。課題測(cè)試方案2、課題測(cè)試方案2.1、設(shè)計(jì)測(cè)試方案 設(shè)計(jì)編寫(xiě)一段匯編程序,在此程序中包含這個(gè)擴(kuò)展指令,為了達(dá)到測(cè)試的效果,設(shè)計(jì)的測(cè)試程序要按照以下幾點(diǎn)原則設(shè)計(jì):1、測(cè)試指令的格式,操作數(shù)的類型。2、把數(shù)據(jù)放到不同的寄存器中測(cè)試,是否用了DR、SR字段。3、測(cè)試不同的數(shù)據(jù)放到相同的寄存器中,查看結(jié)果。注意:測(cè)試時(shí)要注意當(dāng)前指令地址,涉及到的寄存器的值,在跳轉(zhuǎn)時(shí)也要注意標(biāo)志寄存器中的值的變化。2.2、編寫(xiě)程序及實(shí)例 測(cè)試文件名稱:zp.asm 參數(shù)文件zpzp.asm(已經(jīng)給出)。1、 測(cè)試指令格式:操作數(shù)zp R1,3hzp R1zp R1,R2預(yù)期結(jié)果編譯通過(guò)錯(cuò)誤錯(cuò)誤2、 測(cè)試不同寄存器操作數(shù)zp R1,3hzp R4,3hzp R7,3h預(yù)期結(jié)果R1值:0fhR4值:0fhR7值:0fh3、 測(cè)試不同數(shù)據(jù) 數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預(yù)期結(jié)果R1值:07hR1值:0fhR1值:1fh測(cè)試程序代碼:zp.asmorg 2000h /起始地址從2000開(kāi)始mvrd r1,2h /將R1賦上初始值z(mì)p r1,3h /測(cè)試zp擴(kuò)展指令ret /程序結(jié)束end這里只是給出了一個(gè)例子,根據(jù)上面的列表要給出多個(gè)測(cè)試程序。例:mvrd r2,2h /將R2賦上初始值z(mì)p r2,3h /測(cè)試zp擴(kuò)展指令參數(shù)設(shè)置:zpzp.asmzp 01001010 41說(shuō)明:測(cè)試時(shí)要注意此指令在運(yùn)算過(guò)程中使用了寄存器R11,R14,R15,所以測(cè)試或使用時(shí)要避開(kāi)這些寄存器,這些算是zp擴(kuò)展指令的保留寄存器,所以不可以使用,但是指令中包含將這些指令中的值放入到堆棧并且恢復(fù),所以不需要再在此指令前后進(jìn)行壓棧和出棧的操作。課題測(cè)試方案2.3、測(cè)試指令過(guò)程 1、打開(kāi)實(shí)驗(yàn)仿真軟件,導(dǎo)入SSC gal文件,參數(shù)設(shè)置,設(shè)置為zpzp.asm。 2、導(dǎo)入已經(jīng)編寫(xiě)好的ROMS文件。ROM1ROM7和MAPROM文件。 3.將編寫(xiě)的匯編程序zp.asm導(dǎo)入進(jìn)行測(cè)試(zp.asm和zpzp.asm要在同一個(gè)目錄下面即同一個(gè)文件夾)。2.4、優(yōu)化擴(kuò)展指令 指令設(shè)計(jì)滿足高效率低資源正確地運(yùn)算結(jié)果。 1、減少寄存器的使用,尤其是中間寄存器,使用寄存器的優(yōu)點(diǎn)是效率高,但是寄存器的數(shù)量是有限的幾個(gè),為了節(jié)省寄存器的使用,可以把某些數(shù)值壓入堆棧,但是耗時(shí)相對(duì)高,這是要根據(jù)指令的性能要求,選擇不同的方式,而且要嘗試Q寄存器的使用,總之,綜合考慮達(dá)到最優(yōu)。 2、算法設(shè)計(jì)上要根據(jù)平臺(tái)特點(diǎn),設(shè)計(jì)出優(yōu)化的算法,減少微指令的條數(shù),減少周期,從而提高效率。 錯(cuò)誤及結(jié)果分析3、錯(cuò)誤及結(jié)果分析3.1、實(shí)驗(yàn)結(jié)果分析 測(cè)試最終結(jié)果:操作數(shù)zp R1,3hzp R1zp R1,R2預(yù)期結(jié)果編譯通過(guò)錯(cuò)誤錯(cuò)誤測(cè)試結(jié)果編譯通過(guò)錯(cuò)誤錯(cuò)誤操作數(shù)zp R1,3hzp R4,3hzp R7,3h預(yù)期結(jié)果R1值:0fhR4值:0fhR7值:0fh測(cè)試結(jié)果與預(yù)期一致與預(yù)期一致與預(yù)期一致數(shù)據(jù)zp R1,2hzp R1,3hzp R1,4h預(yù)期結(jié)果R1值:07hR1值:0fhR1值:1fh測(cè)試結(jié)果與預(yù)期一致與預(yù)期一致與預(yù)期一致 通過(guò)以上測(cè)試結(jié)果可以看出擴(kuò)展指令zp是可以正確運(yùn)算得到結(jié)果的。當(dāng)然在測(cè)試過(guò)程中出現(xiàn)了一些問(wèn)題,經(jīng)過(guò)修改和重新設(shè)計(jì),達(dá)到了最終的正確結(jié)果。3.2、設(shè)計(jì)和測(cè)試過(guò)程中的錯(cuò)誤匯總及解決辦法 1、開(kāi)始設(shè)計(jì)時(shí)沒(méi)有考慮寄存器的使用和恢復(fù)寄存器的原始值。 為了指令的方便使用,在指令內(nèi)寫(xiě)定要壓入堆棧的寄存器的數(shù)值并在要結(jié)束指令前,恢復(fù)中間寄存器的數(shù)值。這樣在周期上增加了,但是方便了用戶的使用。 2、在循環(huán)時(shí)使用了跳轉(zhuǎn),但是當(dāng)指令結(jié)束后,無(wú)法正確地跳轉(zhuǎn)到下一條指令從而進(jìn)入死循環(huán)。解決辦法,就是在進(jìn)入此指令并要在跳轉(zhuǎn)之前將R5寄存器的數(shù)值即PC值保存下,指令結(jié)束時(shí)恢復(fù)R5的數(shù)值,即可正常運(yùn)行到下一條指令。在這里 PC的值有兩種保存,1、放入一個(gè)寄存器中;2、壓入堆棧??紤]到寄存器有富余,為了提高效率,使用了寄存器保存。 3、參數(shù)文件和測(cè)試文件編輯正確,出現(xiàn)下面情況:解決辦法:1、 參數(shù)文件和匯編文件同目錄若擴(kuò)展了指令,需要設(shè)置該文件名才能正確編譯。保證此文件盒待編譯的匯編文件在同一個(gè)目錄下。2、 重新導(dǎo)入?yún)R編文件錯(cuò)誤及結(jié)果分析3.3、總結(jié)問(wèn)題解決方法和注意事項(xiàng)1、當(dāng)在向ROM中錄入微指令時(shí),要注意及時(shí)點(diǎn)擊”update”按鈕,才能將指令寫(xiě)入ROM文件(仿真芯片),當(dāng)錄入完成時(shí),這時(shí)候并沒(méi)有將指令保存,需要點(diǎn)擊”生成新文件”,即得到一個(gè)ROMS文件夾,此時(shí)就完成了指令的編寫(xiě),不要匆忙關(guān)閉仿真軟件,否則要重新編寫(xiě)。2、在循環(huán)時(shí)用跳轉(zhuǎn)實(shí)現(xiàn),循環(huán)條件的控制無(wú)非是用四個(gè)標(biāo)志寄存器的值來(lái)實(shí)現(xiàn),但是最好只使用其中的一個(gè)標(biāo)志位,就是說(shuō)在一個(gè)指令中只使用一個(gè)標(biāo)志位來(lái)判斷是否跳轉(zhuǎn)。例如jrnz是判斷Z標(biāo)志寄存器。3、還有重要的是Sa和Sb的設(shè)定。Sb和Sa是源操作數(shù)的標(biāo)志,有兩個(gè)來(lái)源,當(dāng)Sa設(shè)置0的時(shí)候,Sa代表微指令里的A口,寫(xiě)入ROM中,指定寄存器。當(dāng)Sa設(shè)置1的時(shí)候,Sa的數(shù)據(jù)來(lái)源是程序中的標(biāo)示的SR字段。Sb的設(shè)置同上,只是當(dāng)Sb設(shè)置為0時(shí),Sa對(duì)應(yīng)B口,當(dāng)Sb設(shè)置為1的時(shí)候,對(duì)應(yīng)的數(shù)據(jù)來(lái)源是DR字段。課題設(shè)計(jì)心得心得體會(huì):通過(guò)本次的計(jì)算機(jī)組成原理的課程設(shè)計(jì),完成了指令的擴(kuò)展,但是從中學(xué)到了和鞏固了原有的很多知識(shí)。但是當(dāng)初剛開(kāi)始著手做的時(shí)候,自己卻無(wú)從下手,剛拿到TEC-2000仿真軟件的時(shí)候,根本無(wú)法使用和各模塊功能作用,但是在復(fù)習(xí)了平臺(tái)的原理和指令,掌握了原理,再看仿真平臺(tái),就很清楚各個(gè)模塊的功能,例如ROM文件也就是真正對(duì)應(yīng)存儲(chǔ)指令的存儲(chǔ)器。要設(shè)計(jì)指令,首先要學(xué)習(xí)指令的類型,格式等知識(shí);其次再根據(jù)問(wèn)題設(shè)計(jì)算法,選擇指令類型和格式,設(shè)計(jì)出指令;最后測(cè)試指令,遇到問(wèn)題,找到解決辦法,還有重要的是指令正確執(zhí)行,可以得到正確結(jié)果后,還有一點(diǎn)很重要的是指令的優(yōu)化。這些都是以前課本上學(xué)習(xí)的知識(shí),只有真正運(yùn)用到實(shí)踐中是,才能不斷加深對(duì)其的理解。通過(guò)兩周的學(xué)習(xí)和實(shí)踐,理解了微程序控制器的設(shè)計(jì)思想。通過(guò)上面的總結(jié)課看出,遇到問(wèn)題,設(shè)計(jì)方法,優(yōu)化方法。此次課程設(shè)計(jì)不僅僅很好地使我學(xué)習(xí)了計(jì)組的指令等方面的知識(shí),而且很好地鍛煉了我的思維,遇到問(wèn)題解決問(wèn)題的能力。在此次課設(shè)中,遇到問(wèn)題,通過(guò)和同學(xué)交流,學(xué)到了更多的知識(shí)和經(jīng)驗(yàn)。希望在今后的學(xué)習(xí)中,自己仍可以勤于動(dòng)手,將所需知識(shí)很好地運(yùn)用到實(shí)踐當(dāng)中,使自己的學(xué)習(xí)能力進(jìn)一步提高。計(jì) 算 機(jī) 科 學(xué) 學(xué) 院本科課程設(shè)計(jì)量化評(píng)分標(biāo)準(zhǔn) (計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)類) 學(xué)生姓名: 指導(dǎo)教師: 年級(jí)和專業(yè): 09級(jí)計(jì)算機(jī)科學(xué)與技術(shù) 指標(biāo)最高分評(píng)分要素評(píng)分方案設(shè)計(jì)20課題明確;總體功能描述及總體電路框圖清楚;課題分工明確,分功能概述及電路接線圖清晰;測(cè)試方案合理可行,理論結(jié)果正確。調(diào)試20平臺(tái)使用熟練;電路信號(hào)控制正確;測(cè)試數(shù)據(jù)設(shè)置得當(dāng);仿真熟練,結(jié)果完整。驗(yàn)收20經(jīng)過(guò)自行調(diào)試之后,確認(rèn)一切準(zhǔn)備就續(xù)即可請(qǐng)求老師給予驗(yàn)收。一次驗(yàn)收通過(guò)最高可給20分,

溫馨提示

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