計算機組成原理課程設計a,計算機組成原理課程設計報告.doc

a7f4a3f590493a1e451dd952a488fd7c.gif 計算機組成原理課程設計報告.doc

(13頁)

427df29c605fca86b9a8124f1f5671cd.gif

本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!

9.90 積分

計算機組成原理課程設計報告實驗項目:1、設計一個具有帶進位加法和立即數尋址方式的模型機2、設計一個具有帶進位加法和條件跳轉的模型機專 業: 計算機科學與技術 班 級: 09級37-3班 學 號: ——————姓 名: 合 作: 指導教師: 實驗時間: 2011-6-15 ~~ 6-17 實驗一:設計一個具有帶進位加法和立即數尋址方式的模型機1、問題描述本題目設計的是一臺具有輸入、輸出、帶進位加法、儲存和跳轉功能的模型計算機,并寫出工作程序和測試數據驗證所設計的指令系統。2、設計目標在設計完本程序后,所設計模型機能夠完成從一個外設輸入一個數到指定的寄存器中,另外輸入立即數并將其存入另一個、寄存器中,兩數進行進位相加并將結果保存到第一個寄存器,輸出結果,并顯示。另外,實現無條件跳轉至開始。3、指令格式助記符號機器指令碼功 能IN0000 0000Input -> R0ADC Imm1110 0000 XXXX XXXXR0+Imm+CY -> R0STA addr0010 0000 XXXX XXXXR0 -> [addr]OUT addr0011 0000 XXXX XXXX[addr] -> LEDJMP addr0100 0000 XXXX XXXX[addr] -> PC4、設計微指令(1)定義指令碼,及定義一個下地址為08H指令指令編碼微地址IN0000 000008ADC0001 000009STA0010 000010OUT0011 000011JMP0100 000012 (2)設計微指令編碼表微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000100100008000000000001000000000001090000000111101101100000110300000000101100000000010004000000011010001000000101051001000110011010000000010A00000001111011011000011006000000001110000000000111070000001010000010000000010B0000000111101101100011010D0000000011100000000011100E0000000010010000000011110F0000001100000010000000010C00000001111011011001000010000000001101000110000001(3)微程序流程圖(4)由編碼得到微程序根據以上編寫的微程序,以及微指令代碼化的方法得到的微程序代碼為:$M00018001$M0101ED82$M0200C048$M08001001$M0901ED83$M0300B004$M0401A205$M05919A01$M0A01ED86$M0600E007$M07028201$M0B01ED8D$M0D00E00E$M0E00900F$M0F030201$M0C01ED90$M1000D181(5)寫工作程序$P0000$P0110$P0222$P0320$P0401$P0530$P0601$P0740$P0800(6)建立聯機操作文件為了從PC機下載工作程序和微程序,需要建立聯機操作文件,該文件是普通的文本文件,擴展名為TXT,可用記事本來建立的,要求:a、 測試用的工作程序排在文件的前面,每個內存地址及代碼占一行;b、 微指令代碼排在文件的后面,每個微地址及微指令代碼占一行;(7)按照實驗電路圖連接實驗線路實驗采用復雜模型機系統連線圖,電路圖如下:(8)運行(a)系統與PC機聯機實驗系統安裝有一個標準的DB型9針RS-232C串口插座,使用配套的串行通信電纜分別插在實驗系統及PC機的串口,即可實現系統與PC機的聯機操作。(b)下載工作程序和微程序使用唐都軟件將工作程序和微程序下載到實驗箱的內存和控制存儲器中。其中,自帶電 線的實驗箱用NCMP53軟件,啟動軟件后使用F4[裝載]進行下載;外接電源線的實驗箱用CMPP軟件,啟動軟件后在菜單中選擇[轉儲]/[裝載]進行下載。(c)運行實驗原理圖,及數據流程圖如下:(9)調試以及調試過程(把寫好的程序下載到唐都實驗箱,打開軟件復雜模型機的原理圖,按步驟點擊單步運行,查看運行的指令和微指令的過程)調試發現問題:a、 剛開始時點擊時,機器不運行。b、 DR1與DR2相加結果不正確。c、 從R0到內存STA存數指令的存數操作有誤,R0-B打開的同時把AR的LDAR也打開了,造成指向內存單元改變。也就造成輸出時的數據不正確和。d、 修改上一條錯誤后,誤把R0數據存在01單元,覆蓋了原來的指令,當跳轉指令跳轉回到原來程序的開頭時,執行第二次就發生了錯誤。所以針對以上問題,都一一地找到相應的錯誤之處和解決方法:a1、連線有錯誤,檢查后發現錯誤之處,并改正b2、改變s3到s0 ,改為1001(帶進位加法)c3、由于疏忽造成,修改對應的LDAR開關編碼d4、修改$P程序,存到沒用的內存上述問題解決之后,程序便可運行出結果。(10)運行結果在上圖中會執行INPUT到R0,然后從內存中取出一個數放到DR2中,R0內的數放到DR1中,DR1+DR2+cy放到R0中,再將R0內的數顯示到LED上。實驗二:設計一個具有帶進位加法和條件跳轉的模型機1、問題描述本題目設計的是一臺具有輸入、輸出、數據傳送、帶進位加法、條件跳轉,停機功能的模型計算機,并寫出工作程序和測試數據驗證所設計的指令系統。2、指令格式助記符號指令格式功 能MOVrs,rdXXXX Rs RdRs->RdADCrs,rdXXXX Rs RdRs+Rd+CY -> R0BZCD00 00 00 00 D當cy=1或z=1時,D->PC否則,順序執行。INrdXXXX 01 RdSW->rdOUTrdXXXX 10 RdRd -> LEDHALTXXXX 0000停機3、設計微指令(1)定義一個下地址為20H指令指令編碼微地址IN0011 000023MOV0010 000022ADC0001 000021BZCD0000 000020OUT0100 000024HALT0101 000025(2)設計微指令微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000110000020000000011000000011000001110000000111101101100000110300000000110100011000000121000000011010010000000100040000000110110010000001010510010001100110100000000122000000011001001000000001230000000000010000000000012400000001000000100000000125000000011000000000100101(3)畫出微程序流程圖(4) 微程序代碼根據以上編寫的微程序,以及微指令代碼化的方法得到的微程序代碼為:$M00018001$M0101ED82$M0200C060$M200180C1$M1101ED83$M0300D181$M2101A404$M0401B205$M05919A01$M22019201$M23001001$M24030201$M25018025(5)設計工作程序代碼,以測試微程序$P0035$P0124$P0235$P0314$P0444$P0500$P0607$P0750(6)按照實驗一建立聯機文檔并按照書本《計算機組成原理課程設計》的附錄2(系統連線參考圖)進行連線。(7)運行與調試把程序下載但唐都實驗箱進行運行和調試。通過調試發現的問題:A、 不知道R1、R2、R0三個寄存器的關系(請教老師解決)。B、 運行第一條指令后便停滯,不再執行下面的操作。C、 解決a后,從輸入模塊輸入到R1或R2都不能實現。D、 條件跳轉指令后,執行非設計程序,程序跑飛了。通過前面的幾次實驗,已經獲得部分解決方法的經驗B1、檢查連線未能發現問題,估計可能是哪里接觸不良,故而棄之,換實驗箱,重新調試,發現可以運行的。C2、自己未能找出錯誤所在,請教老師,指出連線上,我們仍采用的是原來電路圖,因而沒有把R1、R2寄存器連到電路中。D3、未設置好跳轉的方向,最后使其跳轉到停機指令,使其處于停機狀態。(8)運行結果 程序會先從SW讀一個數放到R1中,然后將R1內的數轉移到R0中,然后將R0內的數放到DR1,R1中的數放到DR2,然后DR1+DR2+cy放到R0中,然后將R1內的數顯示到LED上,下一步就進入了停機的死循環。實驗總結與心得體會經過兩三天的課程設計,給我個人的感覺有進步、好玩。為何如此說呢?對于我個人來講,我是比較喜歡實驗課的,因為一來實驗課比理論課有意思一點,二來,通過現象和操作更容易理解理論的內容。更何況,實踐是檢驗真理的唯一標準,只有通過實踐才能更好的理解和記憶我們的理論知識。通過此次課程設計,我更深入的了解到了計算機工作的過程和原理,特別是在指令的執行。雖然原來在理論課上講解過,但是單單從字面上我一直沒有完全搞明白,而實驗卻讓人頓悟。而課程設計又給我們提供了一個良好的學習機會,我們可以和老師或者同學盡情地交流,發表自己的觀點,在相互交流討論合作中,相互促進,共同進步,提高了學習的效率和學習的激情。- 13 - 關?鍵?詞: 設計 組成 報告 課程 原理 計算機

4d91c43bfc72ca913299809b07b4968f.gif ?天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272545.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272545.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272545.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MongoDB學習筆記三:查詢

MongoDB中使用find來進行查詢。查詢就是返回一個集合中文檔的子集,子集合的范圍從0個文檔到整個集合。find的第一個參數決定了要返回哪些文檔,其形式也是一個文檔,說明要執行的查詢細節。空的查詢文檔{}會匹配集合的全部內容。要是不指定查詢…

計算機基礎 課程簡介,課程簡介及計算機基礎知識課件.ppt

文檔介紹:C語言程序設計主講教師:王偉****************qtc.課程簡介:課程類別:專業計劃學時:644學時/周16周課程學分:4課程學****結束后要求達到的要求掌握C語言的基礎知識能在TurboC和VC的環境中設計程序實現解決小規模問題上課要求:不遲到、不早退,有事和身體原因…

困擾程序員的30種軟件開發問題,你是否時曾相識?

我相信許多web開發人員和軟件工程師在編程中都會遇到困難,而事后回想起來,還會覺得很好笑。1、我不知道該刪掉還是重寫回歸曾經寫的源代碼,總有一種想要重新返工的沖動,邏輯性差,冗余代碼多,讓人難以理解。…

SQl 作業方面(轉)

企業管理器 --管理 --SQL Server代理 --右鍵作業 --新建作業 --"常規"項中輸入作業名稱 --"步驟"項 --新建 --"步驟名"中輸入步驟名 --"類型"中選擇"Transact-SQL 腳本(TSQL)" --"數據庫"選擇執行命令的數據庫 --…

燕山大學計算機專業研究生怎么樣,求助大家!重慶郵電大學計算機專業的研究生值得一讀嗎?...

求助大家!重慶郵電大學計算機專業的研究生值得一讀嗎? 魅力前線 yanshandaxue2008-4-22 1 / 13 aiyabukaoyan2008-4-22 16:28求助大家!重慶郵電大學計算機專業的研究生值得一讀嗎? 云南大學 yanshandaxue2008-4-22 1 / 13 每天一點…

有哪些新手程序員不知道的小技巧?

1.重構是程序員的主力技能。2.工作日志能提升腦容量。3.先用profiler調查,才有臉談優化。4.注釋貴精不貴多。杜絕大姨媽般的“例注”。漫山遍野的碎碎念注釋,實際就是背景噪音。5.普通程序員google超級程序員。6.單元測試總是合算的。7.不要先寫框架再寫…

Bezier曲線

1. 學習網址 http://give.zju.edu.cn/cgcourse/new/book/8.2.htm轉載于:https://www.cnblogs.com/icmzn/p/5082154.html

絕地求生登錄計算機需要授權,絕地求生國服第三方授權登錄異常解決方法 絕地求生國服授權登錄錯誤怎么辦...

近日,Steam第三方授權登錄發生異常,導致所有需要Steam賬號綁定登錄的網站都出現登錄錯誤,下面就為大家帶來絕地求生國服第三方授權登錄異常解決方法。絕地求生國服第三方授權登錄異常解決方法老兵登機活動綁定公告親愛的老兵們:今…

USE平臺構件屬性無法顯示的一種解決辦法

國開行USE平臺,構件屬性無法完整顯示,是因為ADSafe(凈網大師)的攔截。關閉掉凈網大師就OK了。轉載于:https://www.cnblogs.com/helloIT/articles/5082188.html

SQL Server索引怎么用

什么是索引拿漢語字典的目錄頁(索引)打比方:正如漢語字典中的漢字按頁存放一樣,SQL Server中的數據記錄也是按頁存放的,每頁容量一般為4K 。為了加快查找的速度,漢語字(詞)典一般都有…

EF 實現自定義數據庫字符串

1、EF模板生成繼承DbContext的類文件重新建一個部分類文件避免每次生成實體都會覆蓋掉。2、重新構造調用數據庫連接字符串的函數VS模板生成示例:public Test_DBEntities(): base("nameTest_DBEntities"){} 重寫函數public Test_DBEntities(string conn…

函數及自定義函數

SQL Server中的函數(字符串函數,日期函數,數學函數,系統函數) 字符串函數(用于控制返回給用戶的字符串) 1.charindex 尋找一個指定的字符串在另一個字符串中的起始位置 select charindex (JB…

鏈表定義、鏈表的插入、鏈表的刪除、鏈表的查找

鏈表的定義 鏈表是一種常見的重要的數據結構。它是動態地進行存儲分配的一種結構。它可以根據需要開辟內存單元。鏈表有一個“頭指針”變量,以head表示,它存放一個地址。該地址指向一個元素。鏈表中每一個元素稱為“結點”,每個結點都應包括兩…

原神服務器維護后抽獎池會更新嗎,原神:武器池改動,玩家的訴求再次得到反饋!PS端將與官服互通!...

大伙直播都看了嗎?反正我看完了。現在滿腦子都是大偉哥的嗯典。這好嗎?這不好。但是沒有關系,內容還是有的。首先,劇情上的雷神確立了,就是這位大姐。(好像有什么鋒利的東西懸在了我的頭頂,不過這上面&…

EF性能優化(一)

1、EF SQL監控工具目前采用SQLServer 自帶的SQL Server Profiler來監控執行的sql,或者采用第三方插件MiniProfiler,具體用法可以網上查一下。2、EF使用SQlQuery 直接寫sqlEF效率低于ADO.NET是因為LINQ-TO-SQL的過程消耗了時間。而使用SqlQuery則可以直接…

解決Genymotion下載設備失敗的方法(Connection Timeout)

一直下載不下來,報錯。 解決辦法: 打開 C:\Users\用戶名\AppData\Local\Genymobile目錄 打開genymotion.log文件,在里面最下面幾行,找到如下日志 [Debug] Downloading file "http://files2.genymotion.com/dists/4.4.4/ova/…

尋仙服務器要維護多久,尋仙手游幾天開一個區

摘要尋仙手游最新開服時間表IOS和安卓,尋仙手游什么時候新增開服,開服時間公告。我們將于8月17日(周四)凌晨5:00-9:00對全服進行停機更新,請您提前保存游戲進程,安全下線。聽到很多小伙伴都在討論尋仙手游幾天開一個區&#xff0c…

Linux常用初級指令介紹

touch 文件名 ------可創建一個文件(白色的字體)rm * -rf -------刪除當前路徑下的全部文件Ctrlc :----強行終止當前程序Ctrld -----退出終端Ctrls ----暫停當前程序,然后按下任意鍵恢復運行Ctrlz ----將當前程序放在后臺運行,回…

如何寫出安全的API接口

通過園友們的討論,以及我自己查了些資料,然后對接口安全做一個相對完善的總結,承諾給大家寫個demo,今天一并放出。對于安全也是相對的,下面我來根據安全級別分析1.完全開放的接口有沒有這樣的接口,誰都可以…

Linux系統文件編程(1)

打開文件 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);open----返回的是文件描述符是整形數(文件描述符在形式上是一個非負整數。實際上,它是一個索引值,指向內核為每一個進程所維…