版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計說明書</b></p><p> 《計算機組成原理》算法實現(xiàn)(五)</p><p><b> 目 錄</b></p><p> 1 課程設計目的2</p><p> 2 課程設計內容與要求2</p><p> 2.1課程
2、設計的內容2</p><p> 2.2 課程設計的要求2</p><p><b> 3 實現(xiàn)方法2</b></p><p> 3.1 系統(tǒng)目標2</p><p> 3.2 主體設計4</p><p> 3.2.1 主窗體的設計4</p><p> 3
3、.2.2 定點整數(shù)真值還原窗體的設計6</p><p> 3.2.3 定點整數(shù)單符號位補碼加減法8</p><p> 3.2.4 定點整數(shù)的原碼乘法10</p><p> 3.2.5 浮點數(shù)的加減運算12</p><p><b> 4 設計小結13</b></p><p><
4、;b> 參考文獻13</b></p><p><b> 1 課程設計目的</b></p><p> 本課程設計是在學完本課程教學大綱規(guī)定的全部內容、完成所有實踐環(huán)節(jié)的基礎上,旨在深化學生學習的計算機組成原理課程基本知識,進一步領會計算機組成原理的一些算法,并進行具體實現(xiàn),提高分析問題、解決問題的綜合應用能力。</p><p
5、> 2 課程設計內容與要求</p><p> 2.1課程設計的內容</p><p> 計算機組成原理算法實現(xiàn)(五)</p><p> 2.2 課程設計的要求</p><p> 能夠實現(xiàn)機器數(shù)的真值還原(定點整數(shù))、定點整數(shù)的單符號位補碼加減運算、定點整數(shù)的原碼乘法運算和浮點數(shù)的加減運算。</p><p>
6、;<b> 3 實現(xiàn)方法</b></p><p><b> 3.1 系統(tǒng)目標</b></p><p> 本程序含有以下幾個功能模塊,分別能夠實現(xiàn)如設計內容所設計的功能。共有5個類,各類之間的關系如圖3-1所示:</p><p><b> 系統(tǒng)流程圖:</b></p><p&
7、gt;<b> 3.2 主體設計</b></p><p> 3.2.1 主窗體的設計</p><p> 程序菜單需要在輸入口令正確后方可使用,若口令輸入錯誤需給出重新輸入口令的提示,三次口令輸入錯誤則禁止使用。</p><p><b> 登陸算法的流程圖:</b></p><p> 3.2
8、.2 定點整數(shù)真值還原窗體的設計</p><p> 選擇主窗體中“機器數(shù)的真值還原(定點整數(shù))”時進入下圖所示的窗體。在上面的窗體中按“輸入”按扭時,將輸入焦點設置為最上面的一個文本框上。輸入一個機器數(shù)(如10001000)后,按“原->真值”、“反->真值”、“補->真值”或“移->真值”按扭中的任一個后,將在第二文本框中顯示對應操作的結果。選擇“返回”按扭時將關閉此窗體。</p
9、><p> 算法的原理:計算機中常用的數(shù)據(jù)表示格式有兩種,一是定點格式,二是浮點格式。</p><p> a)定點表示:約定機器中所有數(shù)據(jù)的小數(shù)點位置是固定的。由于約定在固定的位置,所以小數(shù)點就不再使用記號“.”來表示。 </p><p> b)浮點表示:定點數(shù)表示的數(shù)的范圍有限,為了擴展數(shù)的表示范圍,按照科學記數(shù)法表示數(shù)據(jù)的方式,任何一個二進制數(shù)N都可以表示成如
10、下的格式:</p><p><b> N=M*2e</b></p><p> M :尾數(shù),是一個純小數(shù),決定數(shù)據(jù)的表示精度</p><p> e :指數(shù),又稱為階碼,是一個整數(shù),決定數(shù)據(jù)的表示范圍</p><p> 一般書寫所表示的數(shù)據(jù)稱為真值,在計算機中為了表示符號位,通常把符號位和數(shù)字位一起編碼來表示相應的數(shù)
11、,形成了各種數(shù)據(jù)的存儲和表示方法,這些編碼稱為機器碼。常用的機器碼有原碼、反碼、補碼和移碼。</p><p> a)原碼:原碼的數(shù)值部分是該數(shù)的絕對值,最高位表示符號位,最高位為0是正數(shù),最高位為1是負數(shù)。</p><p> b )反碼:正數(shù)的反碼等于原碼,負數(shù)的反碼等于除符號位外其余二進制數(shù)碼0變成1,1變成0。</p><p> 正數(shù): [x]反 = [x
12、]原 = x </p><p> 負數(shù): 符號位不變,其余變反</p><p> c)補碼:正數(shù)的補碼等于原碼,負數(shù)的補碼等于反碼加1。</p><p> 正數(shù): [x]補= [x]原 </p><p> 負數(shù): [x]補= [x]反 +1</p><p&g
13、t; d)移碼:是符號位取反的補碼,一般用做浮點數(shù)的階碼,引入的目的是為了保證浮點數(shù)的機器碼為全0。 </p><p><b> 真值還原流程圖:</b></p><p> 3.2.3 定點整數(shù)單符號位補碼加減法</p><p> 進行定點整數(shù)單符號位補碼加減法的實現(xiàn)時都是在主窗體選擇對應的菜單項后進入對應窗體再進行具體操作。操作時首先
14、選擇“輸入”按扭輸入?yún)⑴c運算的數(shù)據(jù),然后再選操作按扭。</p><p><b> 算法的原理:</b></p><p> 任何兩數(shù)的補碼只和等于兩數(shù)只和的補碼</p><p> 補碼加法 [x]補 + [y]補 = [x+y]補 </p><p> 補碼減法 [x]補 - [y]補=[x]補 + [-y]
15、補</p><p> 當負數(shù)用補碼表示后,符號位作為數(shù)據(jù)的一部分一起參加運算,運算器不用考慮參加加法運算的操作數(shù)的正負以及結果的正負,任意數(shù)的加法就可以化作正數(shù)加法來作。</p><p> 溢出:在定點數(shù)機器中,數(shù)的大小超出了定點數(shù)能表示的范圍,叫溢出。</p><p> a)在定點小數(shù)機中數(shù)的表示范圍是-1<x<1,如果運算過程中出現(xiàn)了大于1或者
16、小于-1的情況。</p><p> b)在定點整數(shù)機(8位)中數(shù)的表示范圍是-128<x<127,如果運算過程中出現(xiàn)了大于127或者小于-128的情況。雙符號位法:將符號位擴展為2位,具體說就是對于正數(shù)兩個符號位是“00”,對于負數(shù)兩個符號位是“11”。兩個符號位都看作數(shù)碼一樣參加運算。兩個數(shù)相加后,其結果的符號位出現(xiàn)“01”或“10”兩種組合時,表示發(fā)生溢出。</p><p&g
17、t; ?、俜栁弧?1”,上溢出</p><p> ?、诜栁弧?0”,下溢出</p><p> ?、鄯栁弧?0”或者“11”,未溢出從[y]補求[-y]補的法則是:對[y]補“包括符號位求反且最末位加1”,即可得到[-y]補</p><p> 定點整數(shù)單符號位補碼加減法運算的流程圖:</p><p> 3.2.4 定點整數(shù)的原碼乘法&
18、lt;/p><p> 進行定點整數(shù)原碼乘法的實現(xiàn)時都是在主窗體選擇對應的菜單項后進入對應窗體再進行具體操作。操作時首先選擇“輸入”按扭輸入?yún)⑴c運算的數(shù)據(jù),然后再選操作按扭。</p><p> 算法的原理:在定點計算機中,兩個原碼表示的數(shù)相乘的運算規(guī)則是:乘積的符號位由兩數(shù)的符號位按異或運算得到,而乘積的數(shù)值部分則是兩個正數(shù)相乘之積。設n位被乘數(shù)和乘數(shù)用定點小數(shù)表示(定點整數(shù)也同樣適用) &
19、lt;/p><p> 被乘數(shù) [x]原=xf .xn-1…x1x0 </p><p> 乘數(shù) [y]原=yf .yn-1…y1y0 </p><p> 則乘積 [z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0) 式中,xf為被乘數(shù)符號,yf為乘數(shù)符號。 機器算法: 機器中一種方法是多次采用”加法-移位“的方法來完成,稱為串
20、行乘法器,它的硬件結構簡單,但是速度慢,目前廣泛使用的是流水式陣列乘法器,稱為并行乘法器。無符號數(shù)m乘以n會產(chǎn)生m*n個位積,出現(xiàn)m+n個列和,并行乘法器的關鍵是快速產(chǎn)生m*n個位積,對位積進行相加運算產(chǎn)生m+n個列和。</p><p> 第一步:位積的產(chǎn)生觀察乘法運算0*0=0,0*1=0,1*0=0,1*1=1 相當于:a∩b 。所以m*n個位積可以由m*n個與門并行產(chǎn)生。第二步:列和的產(chǎn)生:利用全加器&l
21、t;/p><p> 定點整數(shù)的原碼乘法算法的流程圖: </p><p> 3.2.5 浮點數(shù)的加減運算</p><p> 進行定點整數(shù)單符號位補碼加減法、定點整數(shù)原碼乘法、浮點加減法的實現(xiàn)時都是在主窗體選擇對應的菜單項后進入對應窗體再進行具體操作。操作時首先選擇“輸入”按扭輸入?yún)⑴c運算的數(shù)據(jù),然后再選操作按扭。</p><p> 算法的原
22、理:浮點數(shù)的加減法運算分為六個步驟:</p><p><b> a)0操作數(shù)檢查</b></p><p> 浮點加減運算過程比定點運算過程復雜。如果判知兩個操作數(shù)x或y中有一個數(shù)為0,即可得知運算結果而沒有必要再進行后續(xù)的一系列操作以節(jié)省運算時間。0操作數(shù)檢查步驟則用來完成這一功能。參加加法運算的數(shù)據(jù)都是非零,進入下一步。b)比較價碼大小并完成對階</p&g
23、t;<p> 為了便于直觀理解,假設兩數(shù)均以補碼表示,階碼采用雙符號位,尾數(shù)采用單符號位。 兩浮點數(shù)進行加減,首先要看兩數(shù)的階碼是否相同,若二數(shù)階碼不同,表示小數(shù)點位置沒有對齊,此時必須使二數(shù)階碼相同,這個過程叫作對階。對階操作規(guī)定使尾數(shù)右移,尾數(shù)右移后階碼作相應增加,因此對階時,總是使小階向大階看齊。</p><p> c)尾數(shù)進行加減運算</p><p> 對階結束
24、后,即可進行尾數(shù)的求和運算。不論加法運算還是減法運算,都按加法進行操作(減法利用補碼減法轉換成補碼的加法來做),其方法與定點加減法運算完全一樣。</p><p><b> d)結果規(guī)格化</b></p><p> ?、?采用雙符號位表示尾數(shù)時,如果兩符號位為01或10時,應將結果尾數(shù)右移一位,階碼加1(叫“右規(guī)”)。</p><p> ?、?
25、如果尾數(shù)最高數(shù)值位與符號位相同,應將尾數(shù)左移,階碼減1,直至數(shù)值位最高位與符號位相反(叫“左規(guī)”)。</p><p><b> e)舍入運算</b></p><p> 在對階向右規(guī)格化,尾數(shù)向右移位,這樣被右移的尾數(shù)的低位部分會被丟掉,從而造成一定誤差,要進行舍入處理。</p><p> 簡單的舍入方法有兩種:一種是“0舍1入”法,即如果
26、右移時被丟掉數(shù)位的最高位為0則舍去,為1則將尾數(shù)的末位做加加1運算。另一種是“恒置1”法,即只要數(shù)位被移掉,就在尾數(shù)的末尾恒置1。</p><p> f)判斷結果是否溢出</p><p> 階碼為00 011,階碼的符號位為00,根據(jù)補碼的雙符號檢測溢出的方法確定階碼不溢出。</p><p><b> 4 設計小結</b></p&g
27、t;<p> 通過這一周的課程設計讓我更加的了解的計算機組成原理的魅力。同時知道組成原理這門課程不單單只是簡單的書本上的知識,有更多的實踐知識。這是實驗我是用的C#語言來編寫的,過程當中碰到了很多問題,翻閱了一些書籍,同學之間相互討論,問題最終得到了解決。這次的課程設計也很好的將實踐和書本上學到的東西結合在了一起,讓我們更加融匯貫通,自己的能力也得到了提高。</p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計--計算機組成原理算法實現(xiàn)
- 計算機組成原理課程設計---模型機組成設計
- 計算機組成原理課程設計報告
- 計算機組成原理-課程設計報告
- 計算機組成原理課程設計報告
- 計算機組成原理課程設計日志
- 計算機組成原理課程設計報告
- 計算機組成原理課程設計報告
- 計算機組成原理課程設計 (2)
- 計算機組成原理課程設計報告
- 計算機組成原理課程設計論文
- 計算機組成原理-課程設計報告
- 計算機組成原理課程設計--基本模型計算機
- 計算機組成原理課程設計報告--簡單計算機
- 計算機組成原理課程設計--模型計算機設計
評論
0/150
提交評論