計算機組成原理2014-第十五講_第1頁
計算機組成原理2014-第十五講_第2頁
計算機組成原理2014-第十五講_第3頁
計算機組成原理2014-第十五講_第4頁
計算機組成原理2014-第十五講_第5頁
免費預覽已結(jié)束,剩余30頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

計算機組成原理舒燕君計算機科學與技術學院第十五講5.6DMA方式一、DMA方式的特點1.DMA和程序中斷兩種方式的數(shù)據(jù)通路CPU主存ACC中斷接口DMA接口I/O設備中斷方式數(shù)據(jù)傳送通路輸入指令輸出指令DMA方式數(shù)據(jù)傳送通路二、DMA接口的功能和組成1.DMA接口功能(1)向CPU申請

DMA傳送(2)處理總線控制權的轉(zhuǎn)交(3)管理系統(tǒng)總線、控制數(shù)據(jù)傳送(4)確定數(shù)據(jù)傳送的首地址和長度(5)DMA傳送結(jié)束時,給出操作完成信號修正傳送過程中的數(shù)據(jù)地址和長度5.6DMA接口主存CPU2.DMA接口組成DMA控制邏輯

中斷機構設備HLDAARWCDARHRQ中斷請求數(shù)據(jù)線地址線+1+1溢出信號DREQDACKBR5.6三、DMA的工作過程1.DMA傳送過程預處理、數(shù)據(jù)傳送、后處理(1)預處理通過幾條輸入輸出指令預置如下信息通知DMA控制邏輯傳送方向(入/出)設備地址DMA的DAR主存地址DMA的AR傳送字數(shù)DMA的WC5.6BR設備DMA控制邏輯中斷機構ARWCDARDMA接口主存CPU+1+1(3)數(shù)據(jù)傳送過程(輸入)DREQ②HRQ③HLDA④地址線⑤DACK⑥①數(shù)據(jù)線⑦溢出信號中斷請求ARWC+1+15.6BRBRBRBRBR(5)后處理校驗送入主存的數(shù)是否正確是否繼續(xù)用DMA測試傳送過程是否正確,錯則轉(zhuǎn)診斷程序由中斷服務程序完成5.63.DMA方式與程序中斷方式的比較(1)數(shù)據(jù)傳送(2)響應時間(3)處理異常情況(4)中斷請求(5)優(yōu)先級中斷方式DMA方式程序硬件指令執(zhí)行結(jié)束存取周期結(jié)束能不能低高傳送數(shù)據(jù)后處理5.6第6章計算機的運算方法6.1無符號數(shù)和有符號數(shù)6.3定點運算6.2數(shù)的定點表示和浮點表示6.4浮點四則運算6.5算術邏輯單元6.1無符號數(shù)和有符號數(shù)一、無符號數(shù)寄存器的位數(shù)反映無符號數(shù)的表示范圍8位0~25516位0~65535帶符號的數(shù)符號數(shù)字化的數(shù)+0.10110

1011小數(shù)點的位置+11000

1100小數(shù)點的位置–

11001

1100小數(shù)點的位置–0.10111

1011小數(shù)點的位置真值機器數(shù)1.機器數(shù)與真值二、有符號數(shù)6.12.原碼表示法帶符號的絕對值表示(1)定義整數(shù)x

為真值n

為整數(shù)的位數(shù)如x=[x]原

=0,1110[x]原

=24+1110=1,1110x=

1110[x]原=0,x2n

x

≥02n

x0≥

x

>2n用逗號將符號位和數(shù)值部分隔開6.1小數(shù)x

為真值如x=+0.1101[x]原

=0.1101x=0.1101[x]原

=1(0.1101)=1.1101x1>

x

≥0[x]原=1–x0≥

x

>1x=0.1000000[x]原

=1(0.1000000)=1.1000000x=

+0.1000000[x]原

=0.1000000用小數(shù)點將符號位和數(shù)值部分隔開用小數(shù)點將符號位和數(shù)值部分隔開6.1(2)舉例例6.1已知[x]原=1.0011求x解:例6.2已知[x]原=1,1100求x解:x=1

[x]原=1

1.0011=0.0011x=24

[x]原=100001,1100=1100–

–0.00111100由定義得由定義得6.1例6.4

求x=0的原碼解:設x=+

0.0000例6.3已知[x]原=0.1101求x解:∴

x

=+0.1101同理,對于整數(shù)[+0

]原=0,0000[+

0.0000]原=0.0000x=

0.0000[

0.0000]原=1.0000[0

]原=1,0000∴[+

0]原

[

0]原

根據(jù)定義∵[x]原=0.11016.1原碼的特點:簡單、直觀但是用原碼作加法時,會出現(xiàn)如下問題:能否只作加法?

找到一個與負數(shù)等價的正數(shù)來代替這個負數(shù)就可使減加加法正正加加法正負加法負正加法負負減減加

要求

數(shù)1數(shù)2

實際操作結(jié)果符號正可正可負可正可負負6.1-123(1)補的概念時鐘逆時針-363順時針+96153.補碼表示法可見3可用+9代替記作3≡+9(mod12)同理4≡+8(mod12)5≡+7(mod12)

時鐘以

12為模減法加法6.1稱+9是3以12為模的補數(shù)結(jié)論一個負數(shù)加上“?!奔吹迷撠摂?shù)的補數(shù)一個正數(shù)和一個負數(shù)互為補數(shù)時它們絕對值之和即為模數(shù)計數(shù)器(模16)–101110110000+010110111000010110000?可見1011可用+0101代替同理0110.1001自然去掉6.1記作1011(mod24)≡+0101(mod23)≡+101(mod2)≡+1.0111+

0101(mod24)≡1011(mod24)(2)正數(shù)的補數(shù)即為其本身+10000+10000兩個互為補數(shù)的數(shù)+0101+10101≡分別加上模結(jié)果仍互為補數(shù)∴+0101≡+0101+010124+1–10111,0101用逗號將符號位和數(shù)值部分隔開丟掉10110,1,??1011(mod24)可見?+01010101010110110101+(mod24+1)6.1100000=(3)補碼定義整數(shù)x

為真值n

為整數(shù)的位數(shù)[x]補=0,x2n

x

≥02n+1+x0

x

≥2n(mod2n+1)如x=[x]補=27+1+(1011000)=[x]補=0,1010x=10110001,0101000用逗號將符號位和數(shù)值部分隔開6.11011000100000000小數(shù)x

為真值x=+0.1110[x]補=x1>

x

≥02+

x

0>

x

≥1(mod2)如[x]補=0.1110x=0.11000001.0100000[x]補=2

+

(0.1100000)=用小數(shù)點將符號位和數(shù)值部分隔開6.10.110000010.0000000(4)求補碼的快捷方式=100000=1,011010101+1=1,0110又[x]原=1,1010則[x]補=24=11111+11010=1111110101010當真值為負時,補碼可用原碼除符號位外每位取反,末位加1求得6.1+1設x=1010時(5)舉例解:x=+0.0001解:由定義得x=[x]補–2=1.0001–10.0000[x]原=1.1111例6.6已知[x]補=1.0001求x[x]補

[x]原

?由定義得6.1例6.5已知[x]補=0.0001求x∴x=0.1111

–=0.1111

–例6.7解:x=[x]補–24+1

=1,1110–100000[x]原=1,0010當真值為負時,原碼可用補碼除符號位外每位取反,末位加1求得[x]補

[x]原

?∴x=0010=0010求x已知[x]補=1,1110由定義得6.1真值0,10001101,01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示練習求下列真值的補碼[1]補=2+x=10.00001.0000=1.0000[+0]補=[0]補由小數(shù)補碼定義=1000110[x]補[x]原6.1x=+70x=0.1110x=0.0000x=70x=0.1110x=0.0000x=1.0000=1000110[x]補=x

1>

x

≥02+

x0>

x

≥1(mod2)4.反碼表示法(1)定義整數(shù)[x]反=0,x2n>x≥0(2n+1–1)+x0≥x>2n(mod2n+1

1)如x=[x]反=0,1101=1,0010x=1101[x]反=(24+11)1101=111111101用逗號將符號位和數(shù)值部分隔開x

為真值n

為整數(shù)的位數(shù)6.1小數(shù)x

=+0.1101[x]反=

0.1101x=0.1010[x]反=(22-4)

0.1010=1.1111

0.1010=1.0101如[x]反=x1>x≥0(2–2-n)+x0≥x>1(mod22-n)用小數(shù)點將符號位和數(shù)值部分隔開x

為真值6.1n為小數(shù)的位數(shù)(2)舉例例6.10

求0的反碼設x=+

0.0000[+0.0000]反=0.0000解:同理,對于整數(shù)[+0]反=0,0000例6.9已知[x]反=1,1110求x例6.8已知[x]反=0,1110求x解:由定義得x=+1110解:6.1=1,111011111=0001由定義得x=[x]反(24+11)x=

0.0000[

0.0000]反=1.1111[0]反=1,1111∴[+0]反≠[0]反

三種機器數(shù)的小結(jié)

對于正數(shù),原碼=補碼=反碼

對于負數(shù),符號位為1,其數(shù)值部分原碼除符號位外每位取反末位加1

補碼原碼除符號位外每位取反反碼最高位為符號位,書寫上用“,”(整數(shù))或“.”(小數(shù))將數(shù)值部分和符號位隔開6.1例6.11000000000000000100000010…011111111000000010000001111111011111111011111111…128129-0-1-128-127-127-126二進制代碼無符號數(shù)對應的真值原碼對應的真值補碼對應的真值反碼對應的真值012127…253254255…-125-126-127…-3-2-1…-2-1-0…+0+1+2+127…+0+1+2+127…+0+1+2+127…6.1+0設機器數(shù)字長為8位(其中1位為符號位)對于整數(shù),當其分別代表無符號數(shù)、原碼、補碼和反碼時,對應的真值范圍各為多少?例6.12解:已知[y]補求[y]補<Ⅰ>[y]補=0.y1

y2

yn…y

=0.

y1y2

yn…y=0.y1

y2

yn…[y]補=1.y1

y2

yn+2-n…<Ⅱ>[y]補=1.y1

y2

yn…[y]原

=1.y1y2

yn+2-n…

y

=(0.y1y2

yn

+2-n)…

y

=0.y1y2

yn+2-n…[y]補

=0.y1

y2

yn+2-n…設[y]補=y0.y1y2

yn…6.1每位取反,即得[y]補[y]補連同符號位在內(nèi),末位加1每位取反,即得[y]補[y]補連同符號位在內(nèi),末位加15.移碼表示法補碼表示很難直接判斷其真值大小如十進制x=+21x=–21x=

+31x=–31x+25+100000+10000010101+10000011111+100000大大錯錯大大正確正確0,101011,010110,111111,00001

10101

11111=110101=001011=111111=000001二進制補碼6.1(1)移碼定義x

為真值,n

為整數(shù)的位數(shù)移碼在數(shù)軸上的表示[x]移碼2n+1–12n2n

–1–2n00真值如x=10100[x]移=25+10100用逗號將符號位和數(shù)值部分隔開x=–10100[x]移

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論