《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第1頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第2頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第3頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第4頁(yè)
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程設(shè)計(jì)說(shuō)明書(shū)計(jì)算機(jī)組成原理算法實(shí)現(xiàn)(五)專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生夏晶晶班級(jí)M計(jì)算機(jī)101學(xué)號(hào)指導(dǎo)教師花小朋完成日期2013年6月21日專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)目 錄1 課程設(shè)計(jì)目的本課程設(shè)計(jì)是在學(xué)完本課程教學(xué)大綱規(guī)定的全部容、完成所有實(shí)踐環(huán)節(jié)的基礎(chǔ)上,旨在深化學(xué)生學(xué)習(xí)的計(jì)算機(jī)組成原理課程基本知識(shí),進(jìn)一步領(lǐng)會(huì)計(jì)算機(jī)組成原理的一些算法,并進(jìn)行具體實(shí)現(xiàn),提高分析問(wèn)題、解決問(wèn)題的綜合應(yīng)用能力。2 課程設(shè)計(jì)容與要求2.1課程設(shè)計(jì)的容計(jì)算機(jī)組成原理算法實(shí)現(xiàn)(五)2.2 課程設(shè)計(jì)的要求能夠?qū)崿F(xiàn)機(jī)器數(shù)的真值還原(定點(diǎn)整數(shù))、定點(diǎn)整數(shù)的單符號(hào)位補(bǔ)碼加減運(yùn)算、定點(diǎn)整數(shù)的原碼乘法運(yùn)算和浮點(diǎn)數(shù)的加

2、減運(yùn)算。3 實(shí)現(xiàn)方法3.1 系統(tǒng)目標(biāo) 本程序含有以下幾個(gè)功能模塊,分別能夠?qū)崿F(xiàn)如設(shè)計(jì)容所設(shè)計(jì)的功能。共有5個(gè)類(lèi),各類(lèi)之間的關(guān)系如圖3-1所示:計(jì)算機(jī)組成原理算法實(shí)現(xiàn)(五)輸入口令機(jī)器數(shù)的真值還原定點(diǎn)整數(shù)的單符號(hào)位補(bǔ)碼加減運(yùn)算定點(diǎn)整數(shù)的原碼乘法浮點(diǎn)數(shù)的加減運(yùn)算輸入一個(gè)帶符號(hào)的二進(jìn)制數(shù)原碼顯示反碼顯示補(bǔ)碼顯示移碼顯示返回依次輸入兩個(gè)單符號(hào)二進(jìn)制數(shù)加法結(jié)果顯示依次輸入兩個(gè)單符號(hào)二進(jìn)制數(shù)乘法結(jié)果顯示依次輸入兩個(gè)數(shù)的階碼和尾數(shù)加法介碼顯示加法尾數(shù)顯示減法介碼顯示減法尾數(shù)顯示返回返回返回系統(tǒng)流程圖:開(kāi) 始判斷口令是否正確選擇界面機(jī)器數(shù)的真值還原(定點(diǎn)整數(shù))定點(diǎn)整數(shù)的單符號(hào)位補(bǔ)碼加減運(yùn)算定點(diǎn)整數(shù)的原碼碼乘法

3、浮點(diǎn)數(shù)加減法重新輸入<=3次是否正確3.2 主體設(shè)計(jì)3.2.1 主窗體的設(shè)計(jì) 程序菜單需要在輸入口令正確后方可使用,若口令輸入錯(cuò)誤需給出重新輸入口令的提示,三次口令輸入錯(cuò)誤則禁止使用。登陸算法的流程圖:3.2.2 定點(diǎn)整數(shù)真值還原窗體的設(shè)計(jì) 選擇主窗體中“機(jī)器數(shù)的真值還原(定點(diǎn)整數(shù))”時(shí)進(jìn)入下圖所示的窗體。在上面的窗體中按“輸入”按扭時(shí),將輸入焦點(diǎn)設(shè)置為最上面的一個(gè)文本框上。輸入一個(gè)機(jī)器數(shù)(如)后,按“原->真值”、“反->真值”、“補(bǔ)->真值”或“移->真值”按扭中的任一個(gè)后,將在第二文本框中顯示對(duì)應(yīng)操作的結(jié)果。選擇“返回”按扭時(shí)將關(guān)閉此窗體。算法的原理:計(jì)算機(jī)

4、中常用的數(shù)據(jù)表示格式有兩種,一是定點(diǎn)格式,二是浮點(diǎn)格式。a)定點(diǎn)表示:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定的。由于約定在固定的位置,所以小數(shù)點(diǎn)就不再使用記號(hào)“.”來(lái)表示。 b)浮點(diǎn)表示:定點(diǎn)數(shù)表示的數(shù)的圍有限,為了擴(kuò)展數(shù)的表示圍,按照科學(xué)記數(shù)法表示數(shù)據(jù)的方式,任何一個(gè)二進(jìn)制數(shù)N都可以表示成如下的格式:NM*2eM :尾數(shù),是一個(gè)純小數(shù),決定數(shù)據(jù)的表示精度e :指數(shù),又稱(chēng)為階碼,是一個(gè)整數(shù),決定數(shù)據(jù)的表示圍 一般書(shū)寫(xiě)所表示的數(shù)據(jù)稱(chēng)為真值,在計(jì)算機(jī)中為了表示符號(hào)位,通常把符號(hào)位和數(shù)字位一起編碼來(lái)表示相應(yīng)的數(shù),形成了各種數(shù)據(jù)的存儲(chǔ)和表示方法,這些編碼稱(chēng)為機(jī)器碼。常用的機(jī)器碼有原碼、反碼、補(bǔ)碼和移碼。

5、a)原碼:原碼的數(shù)值部分是該數(shù)的絕對(duì)值,最高位表示符號(hào)位,最高位為0是正數(shù),最高位為1是負(fù)數(shù)。b )反碼:正數(shù)的反碼等于原碼,負(fù)數(shù)的反碼等于除符號(hào)位外其余二進(jìn)制數(shù)碼0變成1,1變成0。正數(shù): x反 = x原 = x 負(fù)數(shù): 符號(hào)位不變,其余變反c)補(bǔ)碼:正數(shù)的補(bǔ)碼等于原碼,負(fù)數(shù)的補(bǔ)碼等于反碼加1。正數(shù): x補(bǔ)= x原 負(fù)數(shù): x補(bǔ)= x反 +1d)移碼:是符號(hào)位取反的補(bǔ)碼,一般用做浮點(diǎn)數(shù)的階碼,引入的目的是為了保證浮點(diǎn)數(shù)的機(jī)器碼為全0。 真值還原流程圖: 開(kāi) 始選擇要表示的形式原 碼0轉(zhuǎn)變?yōu)?0,1轉(zhuǎn)變?yōu)?,數(shù)值位不變顯示輸出1開(kāi)頭:1轉(zhuǎn)變?yōu)?,數(shù)值位各位取反顯示輸出反 碼0開(kāi)頭:0轉(zhuǎn)變?yōu)?0

6、,數(shù)值位不變顯示輸出補(bǔ) 碼0開(kāi)頭:0轉(zhuǎn)變?yōu)?0,數(shù)值位不變顯示輸出1開(kāi)頭:1轉(zhuǎn)變?yōu)?,數(shù)值位各位取反,末位加1,顯示輸出移 碼0開(kāi)頭:0轉(zhuǎn)變?yōu)?,數(shù)值位各位,末位+1顯示輸出1開(kāi)頭:1轉(zhuǎn)變?yōu)?0,數(shù)值位不變顯示輸出返 回鍵盤(pán)輸入一個(gè)二進(jìn)制數(shù)3.2.3 定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法進(jìn)行定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法的實(shí)現(xiàn)時(shí)都是在主窗體選擇對(duì)應(yīng)的菜單項(xiàng)后進(jìn)入對(duì)應(yīng)窗體再進(jìn)行具體操作。操作時(shí)首先選擇“輸入”按扭輸入?yún)⑴c運(yùn)算的數(shù)據(jù),然后再選操作按扭。算法的原理:任何兩數(shù)的補(bǔ)碼只和等于兩數(shù)只和的補(bǔ)碼補(bǔ)碼加法 x補(bǔ) + y補(bǔ) = x+y補(bǔ) 補(bǔ)碼減法 x補(bǔ) - y補(bǔ)x補(bǔ) + -y補(bǔ) 當(dāng)負(fù)數(shù)用補(bǔ)碼表示后,符號(hào)位作為數(shù)

7、據(jù)的一部分一起參加運(yùn)算,運(yùn)算器不用考慮參加加法運(yùn)算的操作數(shù)的正負(fù)以及結(jié)果的正負(fù),任意數(shù)的加法就可以化作正數(shù)加法來(lái)作。 溢出:在定點(diǎn)數(shù)機(jī)器中,數(shù)的大小超出了定點(diǎn)數(shù)能表示的圍,叫溢出。a)在定點(diǎn)小數(shù)機(jī)中數(shù)的表示圍是-1<x<1,如果運(yùn)算過(guò)程中出現(xiàn)了大于1或者小于1的情況。b)在定點(diǎn)整數(shù)機(jī)(8位)中數(shù)的表示圍是-128<x<127,如果運(yùn)算過(guò)程中出現(xiàn)了大于127或者小于128的情況。雙符號(hào)位法:將符號(hào)位擴(kuò)展為2位,具體說(shuō)就是對(duì)于正數(shù)兩個(gè)符號(hào)位是“00”,對(duì)于負(fù)數(shù)兩個(gè)符號(hào)位是“11”。兩個(gè)符號(hào)位都看作數(shù)碼一樣參加運(yùn)算。兩個(gè)數(shù)相加后,其結(jié)果的符號(hào)位出現(xiàn)“01”或“10”兩種組合時(shí)

8、,表示發(fā)生溢出。符號(hào)位“01”,上溢出符號(hào)位“10”,下溢出符號(hào)位“00”或者“11”,未溢出從補(bǔ)求補(bǔ)的法則是:對(duì)補(bǔ)“包括符號(hào)位求反且最末位加1”,即可得到補(bǔ)定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法運(yùn)算的流程圖:3.2.4 定點(diǎn)整數(shù)的原碼乘法進(jìn)行定點(diǎn)整數(shù)原碼乘法的實(shí)現(xiàn)時(shí)都是在主窗體選擇對(duì)應(yīng)的菜單項(xiàng)后進(jìn)入對(duì)應(yīng)窗體再進(jìn)行具體操作。操作時(shí)首先選擇“輸入”按扭輸入?yún)⑴c運(yùn)算的數(shù)據(jù),然后再選操作按扭。算法的原理:在定點(diǎn)計(jì)算機(jī)中,兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:乘積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得到,而乘積的數(shù)值部分則是兩個(gè)正數(shù)相乘之積。設(shè)n位被乘數(shù)和乘數(shù)用定點(diǎn)小數(shù)表示(定點(diǎn)整數(shù)也同樣適用) 被乘數(shù) 原f .n110

9、 乘數(shù) 原f .n110 則乘積 原(ff)(0.n110)(0.n110) 式中,f為被乘數(shù)符號(hào),f為乘數(shù)符號(hào)。 機(jī)器算法: 機(jī)器中一種方法是多次采用”加法移位“的方法來(lái)完成,稱(chēng)為串行乘法器,它的硬件結(jié)構(gòu)簡(jiǎn)單,但是速度慢,目前廣泛使用的是流水式陣列乘法器,稱(chēng)為并行乘法器。無(wú)符號(hào)數(shù)m乘以n會(huì)產(chǎn)生m*n個(gè)位積,出現(xiàn)m+n個(gè)列和,并行乘法器的關(guān)鍵是快速產(chǎn)生m*n個(gè)位積,對(duì)位積進(jìn)行相加運(yùn)算產(chǎn)生m+n個(gè)列和。第一步:位積的產(chǎn)生觀(guān)察乘法運(yùn)算0*00,0*10,1*00,1*11 相當(dāng)于:ab 。所以m*n個(gè)位積可以由m*n個(gè)與門(mén)并行產(chǎn)生。第二步:列和的產(chǎn)生:利用全加器定點(diǎn)整數(shù)的原碼乘法算法的流程圖: 3

10、.2.5 浮點(diǎn)數(shù)的加減運(yùn)算進(jìn)行定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法、定點(diǎn)整數(shù)原碼乘法、浮點(diǎn)加減法的實(shí)現(xiàn)時(shí)都是在主窗體選擇對(duì)應(yīng)的菜單項(xiàng)后進(jìn)入對(duì)應(yīng)窗體再進(jìn)行具體操作。操作時(shí)首先選擇“輸入”按扭輸入?yún)⑴c運(yùn)算的數(shù)據(jù),然后再選操作按扭。算法的原理:浮點(diǎn)數(shù)的加減法運(yùn)算分為六個(gè)步驟:a)0操作數(shù)檢查浮點(diǎn)加減運(yùn)算過(guò)程比定點(diǎn)運(yùn)算過(guò)程復(fù)雜。如果判知兩個(gè)操作數(shù)或中有一個(gè)數(shù)為0,即可得知運(yùn)算結(jié)果而沒(méi)有必要再進(jìn)行后續(xù)的一系列操作以節(jié)省運(yùn)算時(shí)間。0操作數(shù)檢查步驟則用來(lái)完成這一功能。參加加法運(yùn)算的數(shù)據(jù)都是非零,進(jìn)入下一步。b)比較價(jià)碼大小并完成對(duì)階 為了便于直觀(guān)理解,假設(shè)兩數(shù)均以補(bǔ)碼表示,階碼采用雙符號(hào)位,尾數(shù)采用單符號(hào)位。 兩浮點(diǎn)

11、數(shù)進(jìn)行加減,首先要看兩數(shù)的階碼是否相同,若二數(shù)階碼不同,表示小數(shù)點(diǎn)位置沒(méi)有對(duì)齊,此時(shí)必須使二數(shù)階碼相同,這個(gè)過(guò)程叫作對(duì)階。對(duì)階操作規(guī)定使尾數(shù)右移,尾數(shù)右移后階碼作相應(yīng)增加,因此對(duì)階時(shí),總是使小階向大階看齊。c)尾數(shù)進(jìn)行加減運(yùn)算 對(duì)階結(jié)束后,即可進(jìn)行尾數(shù)的求和運(yùn)算。不論加法運(yùn)算還是減法運(yùn)算,都按加法進(jìn)行操作(減法利用補(bǔ)碼減法轉(zhuǎn)換成補(bǔ)碼的加法來(lái)做),其方法與定點(diǎn)加減法運(yùn)算完全一樣。d)結(jié)果規(guī)格化 采用雙符號(hào)位表示尾數(shù)時(shí),如果兩符號(hào)位為01或10時(shí),應(yīng)將結(jié)果尾數(shù)右移一位,階碼加1(叫“右規(guī)”)。 如果尾數(shù)最高數(shù)值位與符號(hào)位相同,應(yīng)將尾數(shù)左移,階碼減,直至數(shù)值位最高位與符號(hào)位相反(叫“左規(guī)”)。e)舍入運(yùn)算 在對(duì)階向右規(guī)格化,尾數(shù)向右移位,這樣被右移的尾數(shù)的低位部分會(huì)被丟掉,從而造成一定誤差,要進(jìn)行舍入處理。 簡(jiǎn)單的舍入方法有兩種:一種是“0舍1入”法,即如果右移時(shí)被丟掉數(shù)位的最高位為0則舍去,為1則將尾數(shù)的末位做加加1運(yùn)算。另一種是“恒置1”法,即只要數(shù)位被移掉,就在尾數(shù)的末尾恒置1。f)判斷結(jié)果是否溢出 階碼為00 011,階碼的符號(hào)位為00,根據(jù)補(bǔ)碼的雙符號(hào)檢測(cè)溢出的方法確定階碼不溢出。4 設(shè)計(jì)小結(jié)通過(guò)這一周的課程設(shè)計(jì)讓我更加的了解的計(jì)算機(jī)組成原理的魅力。同時(shí)知道組成原理這門(mén)課程不單單只是簡(jiǎn)單的書(shū)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論