《計(jì)算機(jī)組成原理》課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(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)介

1、<p><b>  課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p>  《計(jì)算機(jī)組成原理》算法實(shí)現(xiàn)(五)</p><p><b>  目 錄</b></p><p>  1 課程設(shè)計(jì)目的2</p><p>  2 課程設(shè)計(jì)內(nèi)容與要求2</p><p>  2.1課程

2、設(shè)計(jì)的內(nèi)容2</p><p>  2.2 課程設(shè)計(jì)的要求2</p><p><b>  3 實(shí)現(xiàn)方法2</b></p><p>  3.1 系統(tǒng)目標(biāo)2</p><p>  3.2 主體設(shè)計(jì)4</p><p>  3.2.1 主窗體的設(shè)計(jì)4</p><p>  3

3、.2.2 定點(diǎn)整數(shù)真值還原窗體的設(shè)計(jì)6</p><p>  3.2.3 定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法8</p><p>  3.2.4 定點(diǎn)整數(shù)的原碼乘法10</p><p>  3.2.5 浮點(diǎn)數(shù)的加減運(yùn)算12</p><p><b>  4 設(shè)計(jì)小結(jié)13</b></p><p><

4、;b>  參考文獻(xiàn)13</b></p><p><b>  1 課程設(shè)計(jì)目的</b></p><p>  本課程設(shè)計(jì)是在學(xué)完本課程教學(xué)大綱規(guī)定的全部?jī)?nèi)容、完成所有實(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)用能力。</p><p

5、>  2 課程設(shè)計(jì)內(nèi)容與要求</p><p>  2.1課程設(shè)計(jì)的內(nèi)容</p><p>  計(jì)算機(jī)組成原理算法實(shí)現(xiàn)(五)</p><p>  2.2 課程設(shè)計(jì)的要求</p><p>  能夠?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ù)的加減運(yùn)算。</p><p>

6、;<b>  3 實(shí)現(xiàn)方法</b></p><p><b>  3.1 系統(tǒng)目標(biāo)</b></p><p>  本程序含有以下幾個(gè)功能模塊,分別能夠?qū)崿F(xiàn)如設(shè)計(jì)內(nèi)容所設(shè)計(jì)的功能。共有5個(gè)類,各類之間的關(guān)系如圖3-1所示:</p><p><b>  系統(tǒng)流程圖:</b></p><p&

7、gt;<b>  3.2 主體設(shè)計(jì)</b></p><p>  3.2.1 主窗體的設(shè)計(jì)</p><p>  程序菜單需要在輸入口令正確后方可使用,若口令輸入錯(cuò)誤需給出重新輸入口令的提示,三次口令輸入錯(cuò)誤則禁止使用。</p><p><b>  登陸算法的流程圖:</b></p><p>  3.2

8、.2 定點(diǎn)整數(shù)真值還原窗體的設(shè)計(jì)</p><p>  選擇主窗體中“機(jī)器數(shù)的真值還原(定點(diǎn)整數(shù))”時(shí)進(jìn)入下圖所示的窗體。在上面的窗體中按“輸入”按扭時(shí),將輸入焦點(diǎn)設(shè)置為最上面的一個(gè)文本框上。輸入一個(gè)機(jī)器數(shù)(如10001000)后,按“原->真值”、“反->真值”、“補(bǔ)->真值”或“移->真值”按扭中的任一個(gè)后,將在第二文本框中顯示對(duì)應(yīng)操作的結(jié)果。選擇“返回”按扭時(shí)將關(guān)閉此窗體。</p

9、><p>  算法的原理:計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種,一是定點(diǎn)格式,二是浮點(diǎn)格式。</p><p>  a)定點(diǎn)表示:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定的。由于約定在固定的位置,所以小數(shù)點(diǎn)就不再使用記號(hào)“.”來(lái)表示。 </p><p>  b)浮點(diǎn)表示:定點(diǎn)數(shù)表示的數(shù)的范圍有限,為了擴(kuò)展數(shù)的表示范圍,按照科學(xué)記數(shù)法表示數(shù)據(jù)的方式,任何一個(gè)二進(jìn)制數(shù)N都可以表示成如

10、下的格式:</p><p><b>  N=M*2e</b></p><p>  M :尾數(shù),是一個(gè)純小數(shù),決定數(shù)據(jù)的表示精度</p><p>  e :指數(shù),又稱為階碼,是一個(gè)整數(shù),決定數(shù)據(jù)的表示范圍</p><p>  一般書(shū)寫(xiě)所表示的數(shù)據(jù)稱為真值,在計(jì)算機(jī)中為了表示符號(hào)位,通常把符號(hào)位和數(shù)字位一起編碼來(lái)表示相應(yīng)的數(shù)

11、,形成了各種數(shù)據(jù)的存儲(chǔ)和表示方法,這些編碼稱為機(jī)器碼。常用的機(jī)器碼有原碼、反碼、補(bǔ)碼和移碼。</p><p>  a)原碼:原碼的數(shù)值部分是該數(shù)的絕對(duì)值,最高位表示符號(hào)位,最高位為0是正數(shù),最高位為1是負(fù)數(shù)。</p><p>  b )反碼:正數(shù)的反碼等于原碼,負(fù)數(shù)的反碼等于除符號(hào)位外其余二進(jìn)制數(shù)碼0變成1,1變成0。</p><p>  正數(shù): [x]反 = [x

12、]原 = x </p><p>  負(fù)數(shù): 符號(hào)位不變,其余變反</p><p>  c)補(bǔ)碼:正數(shù)的補(bǔ)碼等于原碼,負(fù)數(shù)的補(bǔ)碼等于反碼加1。</p><p>  正數(shù): [x]補(bǔ)= [x]原 </p><p>  負(fù)數(shù): [x]補(bǔ)= [x]反 +1</p><p&g

13、t;  d)移碼:是符號(hào)位取反的補(bǔ)碼,一般用做浮點(diǎn)數(shù)的階碼,引入的目的是為了保證浮點(diǎn)數(shù)的機(jī)器碼為全0。 </p><p><b>  真值還原流程圖:</b></p><p>  3.2.3 定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法</p><p>  進(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í)首先

14、選擇“輸入”按扭輸入?yún)⑴c運(yùn)算的數(shù)據(jù),然后再選操作按扭。</p><p><b>  算法的原理:</b></p><p>  任何兩數(shù)的補(bǔ)碼只和等于兩數(shù)只和的補(bǔ)碼</p><p>  補(bǔ)碼加法 [x]補(bǔ) + [y]補(bǔ) = [x+y]補(bǔ) </p><p>  補(bǔ)碼減法 [x]補(bǔ) - [y]補(bǔ)=[x]補(bǔ) + [-y]

15、補(bǔ)</p><p>  當(dāng)負(fù)數(shù)用補(bǔ)碼表示后,符號(hào)位作為數(shù)據(jù)的一部分一起參加運(yùn)算,運(yùn)算器不用考慮參加加法運(yùn)算的操作數(shù)的正負(fù)以及結(jié)果的正負(fù),任意數(shù)的加法就可以化作正數(shù)加法來(lái)作。</p><p>  溢出:在定點(diǎn)數(shù)機(jī)器中,數(shù)的大小超出了定點(diǎn)數(shù)能表示的范圍,叫溢出。</p><p>  a)在定點(diǎn)小數(shù)機(jī)中數(shù)的表示范圍是-1<x<1,如果運(yùn)算過(guò)程中出現(xiàn)了大于1或者

16、小于-1的情況。</p><p>  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í),表示發(fā)生溢出。</p><p&g

17、t; ?、俜?hào)位“01”,上溢出</p><p> ?、诜?hào)位“10”,下溢出</p><p> ?、鄯?hào)位“00”或者“11”,未溢出從[y]補(bǔ)求[-y]補(bǔ)的法則是:對(duì)[y]補(bǔ)“包括符號(hào)位求反且最末位加1”,即可得到[-y]補(bǔ)</p><p>  定點(diǎn)整數(shù)單符號(hào)位補(bǔ)碼加減法運(yùn)算的流程圖:</p><p>  3.2.4 定點(diǎn)整數(shù)的原碼乘法&

18、lt;/p><p>  進(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ù),然后再選操作按扭。</p><p>  算法的原理:在定點(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ù)也同樣適用) &

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ù)符號(hào),yf為乘數(shù)符號(hào)。 機(jī)器算法: 機(jī)器中一種方法是多次采用”加法-移位“的方法來(lái)完成,稱為串

20、行乘法器,它的硬件結(jié)構(gòu)簡(jiǎn)單,但是速度慢,目前廣泛使用的是流水式陣列乘法器,稱為并行乘法器。無(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è)列和。</p><p>  第一步:位積的產(chǎn)生觀察乘法運(yùn)算0*0=0,0*1=0,1*0=0,1*1=1 相當(dāng)于:a∩b 。所以m*n個(gè)位積可以由m*n個(gè)與門(mén)并行產(chǎn)生。第二步:列和的產(chǎn)生:利用全加器&l

21、t;/p><p>  定點(diǎn)整數(shù)的原碼乘法算法的流程圖: </p><p>  3.2.5 浮點(diǎn)數(shù)的加減運(yùn)算</p><p>  進(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ù),然后再選操作按扭。</p><p>  算法的原

22、理:浮點(diǎn)數(shù)的加減法運(yùn)算分為六個(gè)步驟:</p><p><b>  a)0操作數(shù)檢查</b></p><p>  浮點(diǎn)加減運(yùn)算過(guò)程比定點(diǎn)運(yùn)算過(guò)程復(fù)雜。如果判知兩個(gè)操作數(shù)x或y中有一個(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ì)階</p&g

23、t;<p>  為了便于直觀理解,假設(shè)兩數(shù)均以補(bǔ)碼表示,階碼采用雙符號(hào)位,尾數(shù)采用單符號(hào)位。 兩浮點(diǎn)數(shù)進(jìn)行加減,首先要看兩數(shù)的階碼是否相同,若二數(shù)階碼不同,表示小數(shù)點(diǎn)位置沒(méi)有對(duì)齊,此時(shí)必須使二數(shù)階碼相同,這個(gè)過(guò)程叫作對(duì)階。對(duì)階操作規(guī)定使尾數(shù)右移,尾數(shù)右移后階碼作相應(yīng)增加,因此對(duì)階時(shí),總是使小階向大階看齊。</p><p>  c)尾數(shù)進(jìn)行加減運(yùn)算</p><p>  對(duì)階結(jié)束

24、后,即可進(jìn)行尾數(shù)的求和運(yùn)算。不論加法運(yùn)算還是減法運(yùn)算,都按加法進(jìn)行操作(減法利用補(bǔ)碼減法轉(zhuǎn)換成補(bǔ)碼的加法來(lái)做),其方法與定點(diǎn)加減法運(yùn)算完全一樣。</p><p><b>  d)結(jié)果規(guī)格化</b></p><p> ?、?采用雙符號(hào)位表示尾數(shù)時(shí),如果兩符號(hào)位為01或10時(shí),應(yīng)將結(jié)果尾數(shù)右移一位,階碼加1(叫“右規(guī)”)。</p><p>  ②

25、如果尾數(shù)最高數(shù)值位與符號(hào)位相同,應(yīng)將尾數(shù)左移,階碼減1,直至數(shù)值位最高位與符號(hào)位相反(叫“左規(guī)”)。</p><p><b>  e)舍入運(yùn)算</b></p><p>  在對(duì)階向右規(guī)格化,尾數(shù)向右移位,這樣被右移的尾數(shù)的低位部分會(huì)被丟掉,從而造成一定誤差,要進(jìn)行舍入處理。</p><p>  簡(jiǎn)單的舍入方法有兩種:一種是“0舍1入”法,即如果

26、右移時(shí)被丟掉數(shù)位的最高位為0則舍去,為1則將尾數(shù)的末位做加加1運(yùn)算。另一種是“恒置1”法,即只要數(shù)位被移掉,就在尾數(shù)的末尾恒置1。</p><p>  f)判斷結(jié)果是否溢出</p><p>  階碼為00 011,階碼的符號(hào)位為00,根據(jù)補(bǔ)碼的雙符號(hào)檢測(cè)溢出的方法確定階碼不溢出。</p><p><b>  4 設(shè)計(jì)小結(jié)</b></p&g

27、t;<p>  通過(guò)這一周的課程設(shè)計(jì)讓我更加的了解的計(jì)算機(jī)組成原理的魅力。同時(shí)知道組成原理這門(mén)課程不單單只是簡(jiǎn)單的書(shū)本上的知識(shí),有更多的實(shí)踐知識(shí)。這是實(shí)驗(yàn)我是用的C#語(yǔ)言來(lái)編寫(xiě)的,過(guò)程當(dāng)中碰到了很多問(wèn)題,翻閱了一些書(shū)籍,同學(xué)之間相互討論,問(wèn)題最終得到了解決。這次的課程設(shè)計(jì)也很好的將實(shí)踐和書(shū)本上學(xué)到的東西結(jié)合在了一起,讓我們更加融匯貫通,自己的能力也得到了提高。</p><p><b>  

溫馨提示

  • 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ù)僅提供信息存儲(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)論