歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

計算機(jī)組成習(xí)題答案(清華大學(xué)出版社)

  • 資源ID:9108486       資源大小:1.26MB        全文頁數(shù):76頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

計算機(jī)組成習(xí)題答案(清華大學(xué)出版社)

第 1 章 習(xí) 題 答 案 5 若有兩個基準(zhǔn)測試程序 P1 和 P2 在機(jī)器 M1 和 M2 上運(yùn)行 假定 M1 和 M2 的價格分別是 5000 元和 8000 元 下表給出了 P1 和 P2 在 M1 和 M2 上所花的時間和指令條數(shù) M1 M2程序 指令條數(shù) 執(zhí)行時間 ms 指令條數(shù) 執(zhí)行時間 ms P1 200 106 10000 150 106 5000 P2 300 103 3 420 103 6 請回答下列問題 1 對于 P1 哪臺機(jī)器的速度快 快多少 對于 P2 呢 2 在 M1 上執(zhí)行 P1 和 P2 的速度分別是多少 MIPS 在 M2 上的執(zhí)行速度又各是多少 從執(zhí)行速 度來看 對于 P2 哪臺機(jī)器的速度快 快多少 3 假定 M1 和 M2 的時鐘頻率各是 800MHz 和 1 2GHz 則在 M1 和 M2 上執(zhí)行 P1 時的平均時鐘 周期數(shù) CPI 各是多少 4 如果某個用戶需要大量使用程序 P1 并且該用戶主要關(guān)心系統(tǒng)的響應(yīng)時間而不是吞吐率 那 么 該用戶需要大批購進(jìn)機(jī)器時 應(yīng)該選擇 M1 還是 M2 為什么 提示 從性價比上考慮 5 如果另一個用戶也需要購進(jìn)大批機(jī)器 但該用戶使用 P1 和 P2 一樣多 主要關(guān)心的也是響應(yīng)時 間 那么 應(yīng)該選擇 M1 還是 M2 為什么 參考答案 1 對于 P1 M2 比 M1 快一倍 對于 P2 M1 比 M2 快一倍 2 對于 M1 P1 的速度為 200M 10 20MIPS P2 為 300k 0 003 100MIPS 對于 M2 P1 的速度為 150M 5 30MIPS P2 為 420k 0 006 70MIPS 從執(zhí)行速度來看 對于 P2 因?yàn)?100 70 1 43 倍 所以 M1 比 M2 快 0 43 倍 3 在 M1 上執(zhí)行 P1 時的平均時鐘周期數(shù) CPI 為 10 800M 200 10 6 40 在 M2 上執(zhí)行 P1 時的平均時鐘周期數(shù) CPI 為 5 1 2G 150 10 6 40 4 考慮運(yùn)行 P1 時 M1 和 M2 的性價比 因?yàn)樵撚脩糁饕P(guān)心系統(tǒng)的響應(yīng)時間 所以性價比中的性 能應(yīng)考慮執(zhí)行時間 其性能為執(zhí)行時間的倒數(shù) 故性價比 R 為 R 1 執(zhí)行時間 價格 R 越大說明性價比越高 也即 執(zhí)行時間 價格 的值越小 則性價比越高 因?yàn)?10 5000 5 8000 所以 M2 的性價比高 應(yīng)選擇 M2 5 P1 和 P2 需要同等考慮 性能有多種方式 執(zhí)行時間總和 算術(shù)平均 幾何平均 若用算術(shù)平均方式 則 因?yàn)?10 0 003 2 5000 5 0 006 2 8000 所以 M2 的性價比高 應(yīng)選擇 M2 若用幾何平均方式 則 因?yàn)?sqrt 10 0 003 5000 sqrt 5 0 006 8000 所以 M1 的性價比高 應(yīng)選擇 M1 6 若機(jī)器 M1 和 M2 具有相同的指令集 其時鐘頻率分別為 1GHz 和 1 5GHz 在指令集中有五種不同 類型的指令 A E 下表給出了在 M1 和 M2 上每類指令的平均時鐘周期數(shù) CPI 機(jī)器 A B C D E M1 1 2 2 3 4 M2 2 2 4 5 6 請回答下列問題 1 M1 和 M2 的峰值 MIPS 各是多少 2 假定某程序 P 的指令序列中 五類指令具有完全相同的指令條數(shù) 則程序 P 在 M1 和 M2 上運(yùn) 行時 哪臺機(jī)器更快 快多少 在 M1 和 M2 上執(zhí)行程序 P 時的平均時鐘周期數(shù) CPI 各是多少 參考答案 1 M1 上可以選擇一段都是 A 類指令組成的程序 其峰值 MIPS 為 1000MIPS M2 上可以選擇一段 A 和 B 類指令組成的程序 其峰值 MIPS 為 1500 2 750MIPS 2 5 類指令具有完全相同的指令條數(shù) 所以各占 20 在 M1 和 M2 上執(zhí)行程序 P 時的平均時鐘周期數(shù) CPI 分別為 M1 20 1 2 2 3 4 0 2 12 2 4 M2 20 2 2 4 5 6 0 2 19 3 8 假設(shè)程序 P 的指令條數(shù)為 N 則在 M1 和 M2 上的執(zhí)行時間分別為 M1 2 4 N 1 1G 2 4N ns M2 3 8 N 1 1 5G 2 53 N ns M1 執(zhí)行 P 的速度更快 每條指令平均快 0 13ns 也即 M1 比 M2 快 0 13 2 53 100 5 思考 如果說程序 P 在 M1 上執(zhí)行比 M2 上快 3 8 2 4 3 8 100 36 8 那么 這個結(jié)論顯然 是錯誤的 請問錯在什么地方 7 假設(shè)同一套指令集用不同的方法設(shè)計了兩種機(jī)器 M1 和 M2 機(jī)器 M1 的時鐘周期為 0 8ns 機(jī)器 M2 的時鐘周期為 1 2ns 某個程序 P 在機(jī)器 M1 上運(yùn)行時的 CPI 為 4 在 M2 上的 CPI 為 2 對于程序 P 來說 哪臺機(jī)器的執(zhí)行速度更快 快多少 參考答案 假設(shè)程序 P 的指令條數(shù)為 N 則在 M1 和 M2 上的執(zhí)行時間分別為 M1 4 N 0 8 3 2N ns M2 2 N 1 2 2 4 N ns 所以 M2 執(zhí)行 P 的速度更快 每條指令平均快 0 8ns 比 M1 快 0 8 3 2 100 25 8 假設(shè)某機(jī)器 M 的時鐘頻率為 4GHz 用戶程序 P 在 M 上的指令條數(shù)為 8 109 其 CPI 為 1 25 則 P 在 M 上的執(zhí)行時間是多少 若在機(jī)器 M 上從程序 P 開始啟動到執(zhí)行結(jié)束所需的時間是 4 秒 則 P 占 用的 CPU 時間的百分比是多少 參考答案 程序 P 在 M 上的執(zhí)行時間為 1 25 8 109 1 4G 2 5 s 從啟動 P 執(zhí)行開始到執(zhí)行結(jié)束的總時間 為 4 秒 其中 2 5 秒是 P 在 CPU 上真正的執(zhí)行時間 其他時間可能執(zhí)行操作系統(tǒng)程序或其他用戶程序 程序 P 占用的 CPU 時間的百分比為 2 5 4 62 5 9 假定某編譯器對某段高級語言程序編譯生成兩種不同的指令序列 S1 和 S2 在時鐘頻率為 500MHz 的 機(jī)器 M 上運(yùn)行 目標(biāo)指令序列中用到的指令類型有 A B C 和 D 四類 四類指令在 M 上的 CPI 和 兩個指令序列所用的各類指令條數(shù)如下表所示 A B C D 各指令的 CPI 1 2 3 4 S1 的指令條數(shù) 5 2 2 1 S2 的指令條數(shù) 1 1 1 5 請問 S1 和 S2 各有多少條指令 CPI 各為多少 所含的時鐘周期數(shù)各為多少 執(zhí)行時間各為多少 參考答案 S1 有 10 條指令 CPI 為 5 1 2 2 2 3 1 4 10 1 9 所含的時鐘周期數(shù)為 10 1 9 19 執(zhí)行時 間為 19 500M 38ns S2 有 8 條指令 CPI 為 1 1 1 2 1 3 5 4 8 3 25 所含的時鐘周期數(shù)為 8 3 25 26 執(zhí)行時 間為 26 500M 52ns 注 從上述結(jié)果來看 對于同一個高級語言源程序 在同一臺機(jī)器上所生成的目標(biāo)程序不同 其 執(zhí)行時間可能不同 而且 并不是指令條數(shù)少的目標(biāo)程序執(zhí)行時間就一定少 10 假定機(jī)器 M 的時鐘頻率為 1 2GHz 某程序 P 在機(jī)器 M 上的執(zhí)行時間為 12 秒鐘 對 P 優(yōu)化時 將 其所有的乘 4 指令都換成了一條左移 2 位的指令 得到優(yōu)化后的程序 P 已知在 M 上乘法指令的 CPI 為 5 左移指令的 CPI 為 2 P 的執(zhí)行時間是 P 執(zhí)行時間的 1 2 倍 則 P 中有多少條乘法指令被 替換成了左移指令被執(zhí)行 參考答案 顯然 P 的執(zhí)行時間為 10 秒 因此 P 比 P 多花了 2 秒鐘 因此 執(zhí)行時被換成左移指令的乘 法指令的條數(shù)為 1 2G 2 5 2 800M 第 二 章 習(xí) 題 答 案 3 實(shí)現(xiàn)下列各數(shù)的轉(zhuǎn)換 1 25 8125 10 2 8 16 2 101101 011 2 10 8 16 8421 3 0101 1001 0110 0011 8421 10 2 16 4 4E C 16 10 2 參考答案 1 25 8125 10 1 1001 1101 2 31 64 8 19 D 16 2 101101 011 2 45 375 10 55 3 8 2D 6 16 0100 0101 0011 0111 0101 8421 3 0101 1001 0110 0011 8421 596 3 10 1001010100 01001100110011 2 254 4CCC 16 4 4E C 16 78 75 10 0100 1110 11 2 4 假定機(jī)器數(shù)為 8 位 1 位符號 7 位數(shù)值 寫出下列各二進(jìn)制數(shù)的原碼和補(bǔ)碼表示 0 1001 0 1001 1 0 1 0 0 010100 0 010100 0 0 參考答案 原碼 補(bǔ)碼 0 1001 0 1001000 0 1001000 0 1001 1 1001000 1 0111000 1 0 溢出 溢出 1 0 溢出 1 0000000 0 010100 0 0101000 0 0101000 0 010100 1 0101000 1 1011000 0 0 0000000 0 0000000 0 1 0000000 0 0000000 5 假定機(jī)器數(shù)為 8 位 1 位符號 7 位數(shù)值 寫出下列各二進(jìn)制數(shù)的補(bǔ)碼和移碼表示 1001 1001 1 1 10100 10100 0 0 參考答案 移碼 補(bǔ)碼 1001 10001001 00001001 1001 01110111 11110111 1 10000001 00000001 1 011111111 11111111 10100 10010100 00010100 10100 01101100 11101100 0 10000000 00000000 0 10000000 00000000 6 已知 x 補(bǔ) 求 x 1 x 補(bǔ) 1 1100111 2 x 補(bǔ) 10000000 3 x 補(bǔ) 0 1010010 4 x 補(bǔ) 11010011 參考答案 1 x 補(bǔ) 1 1100111 x 0 0011001B 2 x 補(bǔ) 10000000 x 10000000B 128 3 x 補(bǔ) 0 1010010 x 0 101001B 4 x 補(bǔ) 11010011 x 101101B 45 7 假定一臺 32 位字長的機(jī)器中帶符號整數(shù)用補(bǔ)碼表示 浮點(diǎn)數(shù)用 IEEE 754 標(biāo)準(zhǔn)表示 寄存器 R1 和 R2 的內(nèi)容分別為 R1 0000108BH R2 8080108BH 不同指令對寄存器進(jìn)行不同的操作 因而 不同指令執(zhí)行時寄存器內(nèi)容對應(yīng)的真值不同 假定執(zhí)行下列運(yùn)算指令時 操作數(shù)為寄存器 R1 和 R2 的內(nèi)容 則 R1 和 R2 中操作數(shù)的真值分別為多少 1 無符號數(shù)加法指令 2 帶符號整數(shù)乘法指令 3 單精度浮點(diǎn)數(shù)減法指令 參考答案 R1 0000108BH 0000 0000 0000 0000 0001 0000 1000 1011b R2 8080108BH 1000 0000 1000 0000 0001 0000 1000 1011b 1 對于無符號數(shù)加法指令 R1 和 R2 中是操作數(shù)的無符號數(shù)表示 因此 其真值分別為 R1 108BH R2 8080108BH 2 對于帶符號整數(shù)乘法指令 R1 和 R2 中是操作數(shù)的帶符號整數(shù)補(bǔ)碼表示 由最高位可知 R1 為正數(shù) R2 為負(fù)數(shù) R1 的真值為 108BH R2 的真值為 0111 1111 0111 1111 1110 1111 0111 0100b 1b 7F7FEF75H 3 對于單精度浮點(diǎn)數(shù)減法指令 R1 和 R2 中是操作數(shù)的 IEEE754 單精度浮點(diǎn)數(shù)表示 在 IEEE 754 標(biāo)準(zhǔn)中 單精度浮點(diǎn)數(shù)的位數(shù)為 32 位 其中包含 1 位符號位 8 位階碼 23 位尾數(shù) 由 R1 中的內(nèi)容可知 其符號位為 0 表示其為正數(shù) 階碼為 0000 0000 尾數(shù)部分為 000 0000 0001 0000 1000 1011 故其為非規(guī)格化浮點(diǎn)數(shù) 指數(shù)為 126 尾數(shù)中沒有隱藏的 1 用十六進(jìn)制 表示尾數(shù)為 0 002116H 故 R1 表示的真值為 0 002116H 10 126 由 R2 中的內(nèi)容可知 其符號位為 1 表示其為負(fù)數(shù) 階碼為 0000 0001 尾數(shù)部分為 000 0000 0001 0000 1000 1011 故其為規(guī)格化浮點(diǎn)數(shù) 指數(shù)為 1 127 126 尾數(shù)中有隱藏的 1 用十六 進(jìn)制表示尾數(shù)為 1 002116H 故 R2 表示的真值為 1 002116H 10 126 8 假定機(jī)器 M 的字長為 32 位 用補(bǔ)碼表示帶符號整數(shù) 下表第一列給出了在機(jī)器 M 上執(zhí)行的 C 語言 程序中的關(guān)系表達(dá)式 請參照已有的表欄內(nèi)容完成表中后三欄內(nèi)容的填寫 關(guān)系表達(dá)式 運(yùn)算類型 結(jié)果 說明 0 0U 1 0 1 2147483647 1 2147483647U 2147483647 1 2147483647 int 2147483648U 1 2 unsigned 1 2 無符號整數(shù) 有符號整數(shù) 無符號整數(shù) 有符號整數(shù) 無符號整數(shù) 有符號整數(shù) 有符號整數(shù) 無符號整數(shù) 1 1 0 1 0 1 1 1 00 0B 00 0B 11 1B 1 00 0B 0 011 1B 231 1 100 0B 231 011 1B 231 1 100 0B 231 11 1B 1 11 10B 2 11 1B 232 1 11 10B 232 2 9 以下是一個 C 語言程序 用來計算一個數(shù)組 a 中每個元素的和 當(dāng)參數(shù) len 為 0 時 返回值應(yīng)該是 0 但是在機(jī)器上執(zhí)行時 卻發(fā)生了存儲器訪問異常 請問這是什么原因造成的 并說明程序應(yīng)該 如何修改 1 float sum elements float a unsigned len 2 3 int i 4 float result 0 5 6 for i 0 i len 1 i 7 result a i 8 return result 9 參考答案 參數(shù) len 的類型是 unsigned 所以 當(dāng) len 0 時 執(zhí)行 len 1 的結(jié)果為 11 1 是最大可表示的無符 號數(shù) 因而 任何無符號數(shù)都比它小 使得循環(huán)體被不斷執(zhí)行 引起數(shù)組元素的訪問越界 發(fā)生存 儲器訪問異常 只要將 len 聲明為 int 型 或循環(huán)的測試條件改為 i len 10 設(shè)某浮點(diǎn)數(shù)格式為 其中 移碼的偏置常數(shù)為 16 補(bǔ)碼采用一位符號位 基數(shù)為 4 1 用這種格式表示下列十進(jìn)制數(shù) 1 7 0 12 19 1 8 2 寫出該格式浮點(diǎn)數(shù)的表示范圍 并與 12 位定點(diǎn)補(bǔ)碼整數(shù)表示范圍比較 參考答案 假定采用 0 舍 1 入法進(jìn)行舍入 1 1 7 1 1011001B 0 011011B 41 故階碼為 1 16 17 10001B 尾數(shù)為 0 011011 的補(bǔ)碼 即 0 011011 所以 1 7 表示為 0 10001 011011 0 12 0 000111101B 0 011111B 4 1 故階碼為 1 16 15 01111B 尾數(shù)為 0 011111 的補(bǔ)碼 即 1 100001 所以 0 12 表示為 1 01111 100001 數(shù)符 S1 階碼 S1 尾數(shù) S15 位移碼 S1 6 位補(bǔ)碼 S1 1 位 S1 19 10011B 0 010011B 43 故階碼為 3 16 19 10011B 尾數(shù)為 0 010011 所以 19 表 示為 0 10011 010011 1 8 0 125 0 001B 0 100000 4 1 階碼為 1 16 15 01111B 尾數(shù)為 0 100000 的補(bǔ)碼 即 1 100000 所以 1 8 表示為 1 01111 100000 2 該格式浮點(diǎn)數(shù)表示的范圍如下 正數(shù)最大值 0 111111B 411111 即 0 333 4 15 2 30 10 9 正數(shù)最小值 0 000001B 400000 即 0 001 4 16 2 34 10 10 負(fù)數(shù)最大值 0 000001B 400000 即 0 001 4 16 負(fù)數(shù)最小值 1 000000B 411111 即 1 000 4 15 因此 該格式浮點(diǎn)數(shù)的數(shù)量級在 10 10 10 9 之間 12 位定點(diǎn)補(bǔ)碼整數(shù)的表示范圍為 2 11 2 11 1 即 2048 2047 由此可見 定點(diǎn)數(shù)和浮點(diǎn)數(shù)的表示范圍相差非常大 11 下列幾種情況所能表示的數(shù)的范圍是什么 1 16 位無符號整數(shù) 2 16 位原碼定點(diǎn)小數(shù) 3 16 位補(bǔ)碼定點(diǎn)小數(shù) 4 16 位補(bǔ)碼定點(diǎn)整數(shù) 5 下述格式的浮點(diǎn)數(shù) 基數(shù)為 2 移碼的偏置常數(shù)為 128 參考答案 1 無符號整數(shù) 0 2 16 1 2 原碼定點(diǎn)小數(shù) 1 2 15 1 2 15 3 補(bǔ)碼定點(diǎn)小數(shù) 1 1 2 15 4 補(bǔ)碼定點(diǎn)整數(shù) 32768 32767 5 浮點(diǎn)數(shù) 負(fù)數(shù) 1 2 7 2 127 2 7 2 128 正數(shù) 2 135 1 2 7 2 127 12 以 IEEE 754 單精度浮點(diǎn)數(shù)格式表示下列十進(jìn)制數(shù) 1 75 19 1 8 258 參考答案 1 75 1 11B 1 11B 20 故階碼為 0 127 01111111B 數(shù)符為 0 尾數(shù)為 1 110 0 小數(shù)點(diǎn)前為 隱藏位 所以 1 7 表示為 0 01111111 110 0000 0000 0000 0000 0000 用十六進(jìn)制表示為 3FE00000H 19 10011B 1 0011B 24 故階碼為 4 127 10000011B 數(shù)符為 0 尾數(shù)為 1 00110 0 所以 19 表示為 0 10000011 001 1000 0000 0000 0000 0000 用十六進(jìn)制表示為 41980000H 1 8 0 125 0 001B 1 0 2 3 階碼為 3 127 01111100B 數(shù)符為 1 尾數(shù)為 1 0 0 所 數(shù)符 S1 階碼 S1 尾數(shù) S11 位 S1 8 位移碼 S1 7 位原碼 S1 以 1 8 表示為 1 01111100 000 0000 0000 0000 0000 0000 用十六進(jìn)制表示為 BE000000H 258 100000010B 1 0000001B 28 故階碼為 8 127 10000111B 數(shù)符為 0 尾數(shù)為 1 0000001 所以 258 表示為 0 10000111 000 0001 0000 0000 0000 0000 用十六進(jìn)制表示為 43810000H 13 設(shè)一個變量的值為 4098 要求分別用 32 位補(bǔ)碼整數(shù)和 IEEE 754 單精度浮點(diǎn)格式表示該變量 結(jié)果 用十六進(jìn)制表示 并說明哪段二進(jìn)制序列在兩種表示中完全相同 為什么會相同 參考答案 4098 1 0000 0000 0010B 1 0000 0000 001 212 32 位 2 補(bǔ)碼形式為 0000 0000 0000 0000 0001 0000 0000 0010 00001002H IEEE754 單精度格式為 0 10001011 0000 0000 0010 0000 0000 000 45801000H 粗體部分為除隱藏位外的有效數(shù)字 因此 在兩種表示中是相同的序列 14 設(shè)一個變量的值為 2147483647 要求分別用 32 位補(bǔ)碼整數(shù)和 IEEE754 單精度浮點(diǎn)格式表示該變量 結(jié)果用十六進(jìn)制表示 并說明哪種表示其值完全精確 哪種表示的是近似值 參考答案 2147483647 111 1111 1111 1111 1111 1111 1111 1111B 1 11 1111 1111 1111 1111 1111 1111 1111 230 32 位 2 補(bǔ)碼形式為 1000 0000 0000 0000 0000 0000 0000 0001 80000001H IEEE 754 單精度格式為 1 10011101 1111 1111 1111 1111 1111 111 CEFFFFFFH 32 位 2 補(bǔ)碼形式能表示精確的值 而浮點(diǎn)數(shù)表示的是近似值 低位被截斷 15 下表給出了有關(guān) IEEE 754 浮點(diǎn)格式表示中一些重要數(shù)據(jù)的取值 表中已經(jīng)有最大規(guī)格化數(shù)的相應(yīng)內(nèi) 容 要求填入其他浮點(diǎn)數(shù)的相應(yīng)內(nèi)容 注 表中 a 代表一個在 1 到 10 之間的正純小數(shù) 單精度 雙精度 項(xiàng)目 階碼 尾數(shù) 以 2 的冪次表示 的值 以 10 的冪次 表示的值 以 2 的冪次表 示的值 以 10 的冪 次表示的值 0 1 最大規(guī)格化數(shù) 最小規(guī)格化數(shù) 最大非規(guī)格化數(shù) 最小非規(guī)格化數(shù) NaN 00000000 01111111 11111110 00000001 00000000 00000000 11111111 11111111 0 00 0 00 1 11 0 00 1 11 0 01 0 00 非全 0 0 1 2 2 23 2127 1 0 2 126 1 2 23 2 126 2 23 2 126 2 149 0 1 a 1038 a 10 38 a 10 38 a 10 44 0 1 2 2 52 21023 1 0 2 1022 1 2 52 2 1022 2 52 2 1022 0 1 a 10308 a 10 308 a 10 308 a 10 16 已知下列字符編碼 A 100 0001 a 110 0001 0 011 0000 求 E e f 7 G Z 5 的 7 位 ACSII 碼和第一位前加入奇校驗(yàn)位后的 8 位編碼 參考答案 E 的 ASCII 碼為 A E A 100 0001 100 100 0101 奇校驗(yàn)位 P 0 第一位前加入奇校驗(yàn) 位后的 8 位編碼是 0 100 0101 e 的 ASCII 碼為 a e a 110 0001 100 110 0101 奇校驗(yàn)位 P 1 第一位前加入奇校驗(yàn) 位后的 8 位編碼是 1 110 0101 f 的 ASCII 碼為 a f a 110 0001 101 110 0110 奇校驗(yàn)位 P 1 第一位前 加入奇校驗(yàn)位 后的 8 位編碼是 1 110 0110 7 的 ASCII 碼為 0 7 0 011 0000 111 011 0111 奇校驗(yàn)位 P 0 第一位前加入奇校驗(yàn)位 后的 8 位編碼是 0 011 0111 G 的 ASCII 碼為 A G A 100 0001 0110 100 0111 奇校驗(yàn)位 P 1 第一位前加入奇校 驗(yàn)位后的 8 位編碼是 1 100 0111 Z 的 ASCII 碼為 A Z A 100 0001 11001 101 1010 奇校驗(yàn)位 P 1 第一位前加入奇校 驗(yàn)位后的 8 位編碼是 1 101 1010 5 的 ASCII 碼為 0 5 0 011 0000 101 011 0101 奇校驗(yàn)位 P 1 第一位前加入奇校驗(yàn)位 后的 8 位編碼是 1 011 0101 17 假定在一個程序中定義了變量 x y 和 i 其中 x 和 y 是 float 型變量 用 IEEE754 單精度浮點(diǎn)數(shù)表 示 i 是 16 位 short 型變量 用補(bǔ)碼表示 程序執(zhí)行到某一時刻 x 0 125 y 7 5 i 100 它們 都被寫到了主存 按字節(jié)編址 其地址分別是 100 108 和 112 請分別畫出在大端機(jī)器和小端機(jī) 器上變量 x y 和 i 在內(nèi)存的存放位置 參考答案 0 125 0 001B 1 0 2 3 x 在機(jī)器內(nèi)部的機(jī)器數(shù)為 1 01111100 00 0 BE00 0000H 7 5 111 1B 1 111 22 y 在機(jī)器內(nèi)部的機(jī)器數(shù)為 0 10000001 11100 0 40F0 0000H 100 64 32 4 1100100B i 在機(jī)器內(nèi)部表示的機(jī)器數(shù)為 0000 0000 0110 0100 0064H 大端機(jī) 小端機(jī) 地址 內(nèi)容 內(nèi)容 100 BEH 00H 101 00H 00H 102 00H 00H 103 00H BEH 108 40H 00H 109 F0H 00H 110 00H F0H 111 00H 40H 112 00H 64H 113 64H 00H 18 假定某計算機(jī)的總線采用奇校驗(yàn) 每 8 位數(shù)據(jù)有一位校驗(yàn)位 若在 32 位數(shù)據(jù)線上傳輸?shù)男畔⑹?8F 3C AB 96H 則對應(yīng)的 4 個校驗(yàn)位應(yīng)為什么 若接受方收到的數(shù)據(jù)信息和校驗(yàn)位分別為 87 3C AB 96H 和 0101B 則說明發(fā)生了什么情況 并給出驗(yàn)證過程 參考答案 傳輸信息 8F 3C AB 96H 展開為 1000 1111 0011 1100 1010 1011 1001 0110 每 8 位有一個奇校驗(yàn)位 因此 總線上發(fā)送方送出的 4 個校驗(yàn)位應(yīng)該分別為 0 1 0 1 接受方的數(shù)據(jù)信息為 87 3C AB 96H 展開后為 1000 0111 0011 1100 1010 1011 1001 0110 接收到的 校驗(yàn)位分別為 0 1 0 1 在接受方進(jìn)行校驗(yàn)判斷如下 根據(jù)接收到的數(shù)據(jù)信息計算出 4 個奇校驗(yàn)位分別為 1 1 0 1 將該 4 位校驗(yàn)位分別和接收到的 4 位校驗(yàn)位進(jìn)行異或 得到 1 0 0 0 說明數(shù)據(jù)信息的第一個字節(jié)發(fā)生傳輸錯誤 對照傳輸前 后 的數(shù)據(jù)信息 第一字節(jié) 8FH 變成了 87H 說明確實(shí)發(fā)生了傳輸錯誤 驗(yàn)證正確 19 寫出 16 位數(shù)據(jù)的 SEC 碼 假定數(shù)據(jù)為 0101 0001 0100 0110 說明 SEC 碼如何正確檢測數(shù)據(jù)位 5 的 錯誤 參考答案 對于 16 位數(shù)據(jù) 可以如下插入校驗(yàn)位 M16 M15 M14 M13 M12 P5 M11 M10 M9 M8 M7 M6 M5 P4 M4 M3 M2 P3 M1 P2 P1 其中 Mi 是原信息數(shù)據(jù) Pi 是加入的校驗(yàn)位 對于各個校驗(yàn)位的值可以如下計算 P1 M1 M 2 M 3 M 4 M 5 M 7 M 9 M 11 M 12 M 14 M 16 1 P2 M1 M 3 M 4 M 6 M 7 M 10 M 11 M 13 M 14 1 P3 M2 M 3 M 4 M 8 M 9 M 10 M 11 M 15 M 16 0 P4 M5 M 6 M 7 M 8 M 9 M 10 M 11 0 P5 M12 M 13 M 14 M 15 M 16 0 所以此時 P5 P4 P3 P2 P1 00011 第五位數(shù)據(jù)出錯時 數(shù)據(jù)字變?yōu)?0101 0001 0101 0110 P 5 P4 P3 P2 P1 01010 故障字 00011 01010 01001 說明碼字第 9 位出錯 即 M5 出錯 20 假設(shè)要傳送的數(shù)據(jù)信息為 100011 若約定的生成多項(xiàng)式為 G x x3 1 則校驗(yàn)碼為多少 假定 在接收端接收到的數(shù)據(jù)信息為 100010 說明如何正確檢測其錯誤 寫出檢測過程 參考答案 原數(shù)據(jù)信息為 100011 對應(yīng)的報文多項(xiàng)式為 M x x5 x 1 生成多項(xiàng)式的位數(shù)為 4 位 所以在 原數(shù)據(jù)信息后面添加 3 個 0 變?yōu)?M x x3M x x8 x4 x3 用 M x 去模 2 除 G x 得到的余數(shù) 為 111 所以得到 CRC 碼為 100011 111 檢測時 用接收到的 CRC 碼去模 2 除生成多項(xiàng)式 1001 若得到的余數(shù)為 0 則表明正確 否則說 明傳輸時發(fā)生了錯誤 此題中接收到的 CRC 碼為 100010 111 即數(shù)據(jù) 100010 加檢驗(yàn)位 111 顯然 用 100010 111 模 2 除 1001 得到余數(shù)為 001 不為 0 說明傳輸時發(fā)生錯誤 第 3 章 習(xí) 題 答 案 2 4 高級語言中的運(yùn)算和機(jī)器語言 即指令 中的運(yùn)算是什么關(guān)系 假定某一個高級語言源程序 P 中 有乘 除運(yùn)算 但機(jī)器 M 中不提供乘 除運(yùn)算指令 則程序 P 能否在機(jī)器 M 上運(yùn)行 為什么 參考答案 略 3 考慮以下 C 語言程序代碼 int func1 unsigned word return int word 24 int func2 unsigned word return int word 24 假設(shè)在一個 32 位機(jī)器上執(zhí)行這些函數(shù) 該機(jī)器使用二進(jìn)制補(bǔ)碼表示帶符號整數(shù) 無符號數(shù)采用邏輯 移位 帶符號整數(shù)采用算術(shù)移位 請?zhí)顚懴卤?并說明函數(shù) func1 和 func2 的功能 W func1 w func2 w 機(jī)器數(shù) 值 機(jī)器數(shù) 值 機(jī)器數(shù) 值 0000 007FH 127 0000 007FH 127 0000 007FH 127 0000 0080H 128 0000 0080H 128 FFFF FF80H 128 0000 00FFH 255 0000 00FFH 255 FFFF FFFFH 1 0000 0100H 256 0000 0000H 0 0000 0000H 0 函數(shù) func1 的功能是把無符號數(shù)高 24 位清零 左移 24 位再邏輯右移 24 位 結(jié)果一定是正的有符 號數(shù) 而函數(shù) func2 的功能是把無符號數(shù)的高 24 位都變成和第 25 位一樣 因?yàn)樽笠?24 位后進(jìn)行算術(shù)右 移 高 24 位補(bǔ)符號位 即第 25 位 4 填寫下表 注意對比無符號數(shù)和帶符號整數(shù)的乘法結(jié)果 以及截斷操作前 后的結(jié)果 x y x y 截斷前 x y 截斷后 模式 機(jī)器數(shù) 值 機(jī)器數(shù) 值 機(jī)器數(shù) 值 機(jī)器數(shù) 值 無符號數(shù) 110 6 010 2 001100 12 100 4 二進(jìn)制補(bǔ)碼 110 2 010 2 111100 4 100 4 無符號數(shù) 001 1 111 7 000111 7 111 7 二進(jìn)制補(bǔ)碼 001 1 111 1 111111 1 111 1 無符號數(shù) 111 7 111 7 110001 49 001 1 二進(jìn)制補(bǔ)碼 111 1 111 1 000001 1 001 1 5 以下是兩段 C 語言代碼 函數(shù) arith 是直接用 C 語言寫的 而 optarith 是對 arith 函數(shù)以某個確 定的 M 和 N 編譯生成的機(jī)器代碼反編譯生成的 根據(jù) optarith 可以推斷函數(shù) arith 中 M 和 N 的值各是多少 define M define N int arith int x int y int result 0 result x M y N return result int optarith int x int y int t x x 4 x t if y 2 return x y 參考答案 可以看出 x M 和 int t x x 4 x t 三句對應(yīng) 這些語句實(shí)現(xiàn)了 x 乘 15 的功能 左移 4 位相當(dāng)于乘以 16 然后再減 1 因此 M 等于 15 y N 與 if y 2 兩句對應(yīng) 功能主要由第二句 y 右移 2 位 實(shí)現(xiàn) 它實(shí)現(xiàn)了 y 除以 4 的功能 因此 N 是 4 而第一句 if y 2 1 而 1 4 0 兩者不等 調(diào)整后 1 3 2 2 2 0 兩者相等 思考 能否把 if y 0 y 3 改成 if y 0 y 2 不能 因?yàn)?y 4 時不正確 6 設(shè) A4 A1 和 B4 B1 分別是四位加法器的兩組輸入 C 0 為低位來的進(jìn)位 當(dāng)加法器分別采用串行進(jìn)位 和先行進(jìn)位時 寫出四個進(jìn)位 C4 C1 的邏輯表達(dá)式 參考答案 串行進(jìn)位 C1 X1C0 Y1C0 X1 Y1 C2 X2C1 Y2C1 X2 Y2 C3 X3C2 Y3C2 X3 Y3 C4 X4C3 Y4C3 X4 Y4 并行進(jìn)位 C1 X1Y1 X1 Y1 C0 C2 X2Y2 X2 Y2 X1Y1 X2 Y2 X1 Y1 C0 C3 X3Y3 X3 Y3 X2Y2 X3 Y3 X2 Y2 X1Y1 X3 Y3 X2 Y2 X1 Y1 C0 C4 X4Y4 X4 Y4 X3Y3 X4 Y4 X3 Y3 X2Y2 X4 Y4 X3 Y3 X2 Y2 X1Y1 X4 Y4 X3 Y3 X2 Y2 X1 Y1 C0 7 用 SN74181 和 SN74182 器件設(shè)計一個 16 位先行進(jìn)位補(bǔ)碼加 減運(yùn)算器 畫出運(yùn)算器的邏輯框圖 并 給出零標(biāo)志 進(jìn)位標(biāo)志 溢出標(biāo)志 符號標(biāo)志的生成電路 參考答案 圖略 邏輯框圖參見教材中的圖 3 15 和圖 3 16 將兩個圖結(jié)合起來即可 也即只要將圖 3 15 中的 B 輸入端 的每一位 Bi 取反 得到 Bi 和原碼 Bi 一起送到一個二路選擇器 由進(jìn)位 C0 作為選擇控制信號 當(dāng) C0 為 1 時做減法 此時 選擇將 Bi 作為 SN74181 的 B 輸入端 否則 當(dāng) C0 為 1 時 做加法 零標(biāo)志 ZF 進(jìn)位標(biāo)志 CF 溢出標(biāo)志 OF 符號標(biāo)志 SF 的邏輯電路根據(jù)以下邏輯表達(dá)式畫出即可 ZF F15 F14 F13 F12 F11 F10 F9 F8 F7 F6 F5 F4 F3 F2 F1 F0 CF C16 OF C0 A 15B15F15 A15B15F15 C 0 A 15B15F15 A15B15F15 SF F15 8 用 SN74181 和 SN74182 器件設(shè)計一個 32 位的 ALU 要求采用兩級先行進(jìn)位結(jié)構(gòu) 1 寫出所需的 SN74181 和 SN74182 芯片數(shù) 2 畫出 32 位 ALU 的邏輯結(jié)構(gòu)圖 參考答案 圖略 將如圖 3 15 所示的兩個 16 位 ALU 級聯(lián)起來即可 級聯(lián)時 低 16 位 ALU 的高位進(jìn)位 C16 作為 高 16 位 ALU 的低位進(jìn)位 C0 因此 只要用 8 片 SN74181 和 2 片 SN74182 9 已知 x 10 y 6 采用 6 位機(jī)器數(shù)表示 請按如下要求計算 并把結(jié)果還原成真值 1 求 x y 補(bǔ) x y 補(bǔ) 2 用原碼一位乘法計算 x y 原 3 用 MBA 基 4 布斯 乘法計算 x y 補(bǔ) 4 用不恢復(fù)余數(shù)法計算 x y 原 的商和余數(shù) 5 用不恢復(fù)余數(shù)法計算 x y 補(bǔ) 的商和余數(shù) 參考答案 10 補(bǔ) 001010 6 補(bǔ) 111010 6 補(bǔ) 000110 10 原 001010 6 原 100110 1 10 6 補(bǔ) 10 補(bǔ) 6 補(bǔ) 001010 111010 000100 4 10 6 補(bǔ) 10 補(bǔ) 6 補(bǔ) 001010 000110 010000 16 2 先采用無符號數(shù)乘法計算 001010 000110 的乘積 原碼一位乘法過程 前面兩個 0 省略 如 下 C P Y 說明 0 0 0 0 0 0 1 1 0 P0 0 0 0 0 0 y4 0 0 0 0 0 0 0 C P 和 Y 同時右移一位 0 0 0 0 0 0 0 1 1 得 P1 1 0 1 0 y3 1 X 0 1 0 1 0 C P 和 Y 同時右移一位 0 0 1 0 1 0 0 0 1 得 P2 1 0 1 0 y2 1 X 0 1 1 1 1 0 0 0 0 C P 和 Y 同時右移一位 0 0 1 1 1 1 0 0 0 得 P3 0 0 0 0 y1 0 0 0 0 1 1 1 C P 和 Y 同時右移一位 0 0 0 1 1 1 1 0 0 得 P4 若兩個 6 位數(shù)相乘的話 則還要右移兩次 得 000000 111100 符號位為 0 1 1 因此 X Y 原 1000 0011 1100 即 X Y 11 1100B 60 3 10 補(bǔ) 110110 布斯乘法過程如下 P Y y 1 說明 0 0 0 0 0 0 1 1 1 0 1 0 0 設(shè) y 1 0 P 0 補(bǔ) 0 y0 y 1 00 P Y 直接右移一位 0 0 0 0 0 0 0 1 1 1 0 1 0 得 P 1 補(bǔ) 1 1 0 1 1 0 y1 y0 10 X 補(bǔ) 1 1 0 1 1 0 P Y 同時右移一位 1 1 1 0 1 1 0 0 1 1 1 0 1 得 P 2 補(bǔ) 0 0 1 0 1 0 y2 y1 01 X 補(bǔ) 0 0 0 1 0 1 P Y 同時右移一位 0 0 0 0 1 0 1 0 0 1 1 1 0 得 P 3 補(bǔ) 1 1 0 1 1 0 1 0 0 1 1 1 0 y3 y2 10 X 補(bǔ) 1 1 1 0 0 0 P Y 同時右移一位 1 1 1 1 0 0 0 1 0 0 1 1 1 得 P 4 補(bǔ) 0 0 0 0 0 0 0 1 0 0 1 1 1 y4 y3 11 0 1 1 1 1 0 0 P Y 同時右移一位 1 1 1 1 1 0 0 0 1 0 0 1 1 得 P 5 補(bǔ) 0 0 0 0 0 0 0 0 1 0 0 1 1 y5 y4 11 0 1 1 1 1 1 0 P Y 同時右移一位 1 1 1 1 1 1 0 0 0 1 0 0 1 得 P 6 補(bǔ) 因此 X Y 補(bǔ) 1111 1100 0100 即 X Y 11 1100B 60 4 因?yàn)槌ㄓ嬎闶?2n 位數(shù)除 n 位數(shù) 所以 6 原 0110 10 原 0000 1010 6 補(bǔ) 1010 商的符號位 0 1 1 運(yùn)算過程 前面兩個 0 省略 如下 余數(shù)寄存器 R 余數(shù) 商寄存器 Q 說 明 0 0 0 0 1 0 1 0 開始 R0 X 1 0 1 0 R1 X Y 1 0 1 0 1 0 1 0 0 R1 0 則 q 4 0 沒有溢出 0 1 0 1 0 1 0 0 2R1 R 和 Q 同時左移 空出一位商 0 1 1 0 R2 2R1 Y 1 0 1 1 0 1 0 0 0 R2 0 則 q 3 0 0 1 1 0 1 0 0 0 2R2 R 和 Q 同時左移 空出一位商 0 1 1 0 R3 2R2 Y 1 1 0 0 1 0 0 0 0 R3 0 則 q 2 0 1 0 0 1 0 0 0 0 2R3 R 和 Q 同時左移 空出一位商 0 1 1 0 R3 2R2 Y 1 1 1 1 0 0 0 0 0 R4 0 則 q 0 1 商的數(shù)值部分為 00001 所以 X Y 原 00001 最高位為符號位 余數(shù)為 0100 5 將 10 和 6 分別表示成補(bǔ)碼形式為 10 補(bǔ) 0 1010 6 補(bǔ) 1 1010 計算過程如下 先對被除數(shù)進(jìn)行符號擴(kuò)展 10 補(bǔ) 00000 01010 6 補(bǔ) 0 0110 余數(shù)寄存器 R 余數(shù) 商寄存器 Q 說 明 0 0 0 0 0 0 1 0 1 0 開始 R0 X 1 1 0 1 0 R1 X Y 1 1 0 1 0 0 1 0 1 0 R1 與 Y 同號 則 q5 1 1 0 1 0 0 1 0 1 0 1 2R1 R 和 Q 同時左移 空出一位上商 1 0 0 1 1 0 R2 2R1 Y 1 1 0 1 0 1 0 1 0 1 R2 與 Y 同號 則 q4 1 1 0 1 0 1 0 1 0 1 1 2R2 R 和 Q 同時左移 空出一位上商 1 0 0 1 1 0 R3 2R2 Y 1 1 0 1 1 0 1 0 1 1 R3 與 Y 同號 則 q3 1 1 0 1 1 0 1 0 1 1 1 2R3 R 和 Q 同時左移 空出一位上商 1 0 0 1 1 0 R4 2R3 Y 1 1 1 0 0 1 0 1 1 1 R4 與 Y 同號 則 q 2 1 1 1 0 0 1 0 1 1 1 1 2R4 R 和 Q 同時左移 空出一位上商 0 0 0 1 1 0 R5 2R4 Y 1 1 1 1 1 0 1 1 1 1 R5 與 Y 同號 則 q1 1 1 1 1 1 0 1 1 1 1 1 2R5 R 和 Q 同時左移 空出一位上商 1 0 0 1 1 0 R6 2R5 Y 0 0 1 0 0 1 1 1 1 0 R6 與 Y 異號 則 q 0 0 Q 左移 空出一位上 商 1 0 0 0 0 0 1 商為負(fù)數(shù) 末位加 1 余數(shù)不需要修正 0 0 1 0 0 1 1 1 1 1 所以 X Y 補(bǔ) 11111 余數(shù)為 00100 即 X Y 0001B 1 余數(shù)為 0100B 4 將各數(shù)代入公式 除數(shù) 商 余數(shù) 被除數(shù) 進(jìn)行驗(yàn)證 得 6 1 4 10 10 若一次加法需要 1ns 一次移位需要 0 5ns 請分別計算用一位乘法 兩位乘法 基于 CRA 的陣列 乘法 基于 CSA 的陣列乘法四種方式計算兩個 8 位無符號二進(jìn)制數(shù)乘積時所需的時間 參考答案 一位乘法 8 次右移 8 次加法 共計 12ns 二位乘法 4 次右移 4 次加法 共計 6ns 基于 CRA 的陣列乘法 每一級部分積不僅依賴于上一級部分積 還依賴于上一級最終的進(jìn)位 而 每一級進(jìn)位又是串行進(jìn)行的 所以最長的路徑總共經(jīng)過了 8 2 8 1 22 次全加器 共計約 22ns 基于 CSA 的陣列乘法 本級進(jìn)位和本級和同時傳送到下一級 同級部分積之間不相互依賴 只進(jìn)行 O N 次加法運(yùn)算 因此 共計約 8ns 11 在 IEEE 754 浮點(diǎn)數(shù)運(yùn)算中 當(dāng)結(jié)果的尾數(shù)出現(xiàn)什么形式時需要進(jìn)行左規(guī) 什么形式時需要進(jìn)行右 規(guī) 如何進(jìn)行左規(guī) 如何進(jìn)行右規(guī) 參考答案 1 對于結(jié)果為 1x xx x 的情況 需要進(jìn)行右規(guī) 右規(guī)時 尾數(shù)右移一位 階碼加 1 右規(guī)操作 可以表示為 M b M b 2 1 E b Eb 1 右規(guī)時注意以下兩點(diǎn) a 尾數(shù)右移時 最高位 1 被移到小數(shù)點(diǎn)前一位作為隱藏位 最后一位移出時 要考慮舍入 b 階碼加 1 時 直接在末位加 1 2 對于結(jié)果為 0 00 01x x 的情況 需要進(jìn)行左規(guī) 左規(guī)時 數(shù)值位逐次左移 階碼逐次減 1 直到將第一位 1 移到小數(shù)點(diǎn)左邊 假定 k 為結(jié)果中 和左邊第一個 1 之間連續(xù) 0 的個數(shù) 則左規(guī)操作可以表示為 M b M b 2k E b Eb k 左規(guī)時注意以下兩點(diǎn) a 尾數(shù)左移時數(shù)值部分最左 k 個 0 被移出 因此 相對來說 小數(shù)點(diǎn)右移了 k 位 因?yàn)檫M(jìn)行尾數(shù)相 加時 默認(rèn)小數(shù)點(diǎn)位置在第一個數(shù)值位 即 隱藏位 之后 所以小數(shù)點(diǎn)右移 k 位后被移到了第 一位 1 后面 這個 1 就是隱藏位 b 執(zhí)行 Eb Eb k 時 每次都在末位減 1 一共減 k 次 12 在 IEEE 754 浮點(diǎn)數(shù)運(yùn)算中 如何判斷浮點(diǎn)運(yùn)算的結(jié)果是否溢出 參考答案 浮點(diǎn)運(yùn)算結(jié)果是否溢出 并不以尾數(shù)溢出來判斷 而主要看階碼是否溢出 尾數(shù)溢出時 可通過右 規(guī)操作進(jìn)行糾正 階碼上溢時 說明結(jié)果的數(shù)值太大 無法表示 階碼下溢時 說明結(jié)果數(shù)值太小 可以把結(jié)果近似為 0 在進(jìn)行對階 規(guī)格化 舍入和浮點(diǎn)數(shù)的乘 除運(yùn)算等過程中 都需要對階碼進(jìn)行加 減運(yùn)算 可能會 發(fā)生階碼上溢或階碼下溢 因此 必須對階碼進(jìn)行溢出判斷 有關(guān)對階碼進(jìn)行溢出判斷的方法可參見教材中相關(guān)章節(jié) 13 假設(shè)浮點(diǎn)數(shù)格式為 階碼是 4 位移碼 偏置常數(shù)為 8 尾數(shù)是 6 位補(bǔ)碼 采用雙符號位 用浮點(diǎn)運(yùn) 算規(guī)則分別計算在不采用任何附加位和采用 2 位附加位 保護(hù)位 舍入位 兩種情況下的值 假 定對階和右規(guī)時采用就近舍入到偶數(shù)方式 1 15 16 2 7 2 16 25 2 15 16 2 7 2 16 25 3 15 16 2 5 2 16 27 4 15 16 2 5 2 16 27 參考答案 假定采用隱藏位 X 15 16 27 0 111100B 27 1 111000 2 26 Y1 2 16 25 0 001000B 25 1 000000 2 22 Y2 2 16 25 0 001000B 25 1 000000 2 22 K 15 16 25 0 111100B 25 1 111000 2 24 J1 2 16 27 0 001000B 27 1 000000 2 24 J2 2 16 27 0 001000B 27 1 000000 2 24 根據(jù)題目所給的各種位數(shù) 可以得到在機(jī)器中表示為 X 浮 00 1110 1 111000 Y1 浮 00 1010 1 000000 Y2 浮 11 1010 1 000000 K 浮 00 1100 1 111000 J1 浮 00 1100 1 000000 J2 浮 11 1100 1 000000 所以 E x 1110 M x 00 1 111000 E y1 1010 M y 00 1 000000 E y2 1010 M y 11 1 000000 Ek 1100 M K 00 1 111000 E J1 1100 M J1 00 1 000000 E J2 1100 M J2 11 1 000000 尾數(shù) M 中小數(shù)點(diǎn)前面有三位 前兩位為數(shù)符 表示雙符號 第三位加了括號 是隱藏位 1 沒有附加位時的計算 1 X Y1 E 補(bǔ) E x 移 E y1 移 補(bǔ) mod 2n 1110 0110 0100 E 4 根據(jù)對階規(guī)則可知需要對 y1 進(jìn)行對階 結(jié)果為 E y1 E x 1110 M y 1 000 000100 尾數(shù)相加 M b Mx My1 001 111000 000 000100 001 111100 兩位符號相等 數(shù)值部分最高 位為 1 不需要進(jìn)行規(guī)格化 所以最后結(jié)果為 E 1110 M 00 1 111100 即 31 32 2 7 2 X Y2 E 補(bǔ) E x 移 E y2 移 補(bǔ) mod 2n 1110 0110 0100 E 4 根據(jù)對階規(guī)則可知需要對 y2 進(jìn)行對階 結(jié)果為 E y2 E x 1110 M y2 111 111100 尾數(shù)相加 M b Mx My2 001 111000 111 111100 001 110100 兩位符號相等 數(shù)值部分最高 為 1 不需要進(jìn)行規(guī)格化 所以最后結(jié)果為 E 1110 M 00 1 110100 即 29 32 2 7 3 K J1 E 補(bǔ) E K 移 E J1 移 補(bǔ) mod 2n 1100 0100 0000 E 0 根據(jù)對階規(guī)則可知不需要進(jìn)行對階 尾數(shù)相加 M b MK MJ1 001 111000 001 000000 010 111000 兩位符號不等 說明尾數(shù)溢 出 需要進(jìn)行右規(guī) 最后結(jié)果為 E 1101 M 00 1 011100 即 23 32 2 6 4 K J2 E 補(bǔ) E K 移 E J2 移 補(bǔ) mod 2n 1100 0100 0000 E 0 根據(jù)對階規(guī)則可知不需要進(jìn)行對階 尾數(shù)相加 M b MK MJ2 00 1 111000 111 000000 000 111000 兩位符號相等 數(shù)值部分最 高位為 0 需要進(jìn)行左規(guī) 所以最后結(jié)果為 E 1011 M 00 1 110000 即 7 8 2 4 如果有兩位附加位精度上會有提高 在對階的時候要注意小數(shù)點(diǎn)后就不是 6 位 而是 8 位 最 后兩位為保護(hù)位和舍入位 但是由于本題 6 位尾數(shù)已經(jīng)足夠 再加 2 位附加位 其結(jié)果是一樣 的 14 采用 IEEE 754 單精度浮點(diǎn)數(shù)格式計算下列表達(dá)式的值 1 0 75 65 25 2 0 75 65 25 參考答案 x 0 75 0 110 0B 1 10 0 2 2 1 y 65 25 1000001 01000 0B 1 00000101 0 2 26 用 IEEE 754 標(biāo)準(zhǔn)單精度格式表示為 x 浮 0 01111110 10 0 y 浮 1 10000101 000001010 0 所以 E x 01111110 M x 0 1 1 0 E y 10000101 M y 1 1 000001010 0 尾數(shù) Mx 和 My 中小數(shù)點(diǎn)前面有兩位 第一位為數(shù)符 第二位加了括號 是隱藏位 1 以下是計算機(jī)中進(jìn)行浮點(diǎn)數(shù)加減運(yùn)算的過程 假定保留 2 位附加位 保護(hù)位和舍入位 1 0 75 65 25 對階 E 補(bǔ) E x 移 E y 移 補(bǔ) mod 2n 0111 1110 0111 1011 1111 1001 E 7 根據(jù)對階規(guī)則可知需要對 x 進(jìn)行對階 結(jié)果為 E x E y 10000101 M x 00 000000110 000 x 的尾數(shù) Mx 右移 7 位 符號不變 數(shù)值高位補(bǔ) 0 隱藏位右移到小數(shù)點(diǎn)后面 最后移出的 2 位

注意事項(xiàng)

本文(計算機(jī)組成習(xí)題答案(清華大學(xué)出版社))為本站會員(xgs****56)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!