看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/48kT5ba.jpg https://i.imgur.com/C6RVzpW.jpg 想問第18題 交大給的答案是BC 這題要怎麼想呢?還是張凡課本的哪一部分有提到這題相關觀念 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.248.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1573364564.A.E8E.html
realmanKG: (a)跟(b)選項的差距就只有exception triggered後系統 11/10 14:46
realmanKG: 的應對是立刻回復或是暫且擱置,視架構不同對overflow 11/10 14:46
realmanKG: 的ISR應也有所不同,顯然不會是(a)中所述的「擺正位置 11/10 14:46
realmanKG: 」那麼簡單,更何況overflow應不是用”place properly 11/10 14:46
realmanKG: ”就能解決的例外情況;(c)的部分,我想應是saturatio 11/10 14:46
realmanKG: n operation,即是若是overflow則直接設為可表示範圍 11/10 14:46
realmanKG: 內之最大值,繼續讓程式執行 11/10 14:46
realmanKG: 一點個人想法,若有錯再請各位強者指正 11/10 14:46
b10007034: 樓上a的意思是啥?a的意思不就是執行完ith instr.然後 11/10 15:11
b10007034: 放回去而已嗎? 11/10 15:11
b10007034: 因為不確定ith instr.是否造成其他後果,所以通常都是 11/10 15:12
realmanKG: 喔喔喔喔靠腰我會錯意了抱歉XD,那(a)一定錯,overflo 11/10 15:13
realmanKG: w一定要跑exception handler 11/10 15:13
b10007034: 儲存當下的狀態(i-1之前的),然後回復到ith繼續執行 11/10 15:13
realmanKG: 感謝b大指正 11/10 15:13
b10007034: 交大老是喜歡用87的英文愚弄考生拉... 11/10 15:14
b10007034: 很明顯看得出來這不是原文書上那樣的文法跟語意 11/10 15:15
b10007034: 回原PO,張凡課本有提到exception的地方在processor那 11/10 15:17
gash55025502: 如果把overflow分成無號數跟有號數的overflow,無 11/10 17:09
gash55025502: 號數的可以忽略(c選項),但有號數的overflow就無法 11/10 17:09
gash55025502: 算出true result(a選項錯的地方),請問這樣的想法 11/10 17:09
gash55025502: 有錯嗎? 11/10 17:09
mistel: 不是 a錯的重點就在於他把正確結果放回去然後從i+1開始執 11/10 17:31
mistel: 行 但正確做法應該是把i i+1 i+2沖掉然後重新從第i個開始 11/10 17:31
mistel: 執行 11/10 17:31
mistel: (c)選項就像你說的 就是可能overflow會有有號數跟無號數 11/10 17:32
mistel: 所以是一個合理的推論 11/10 17:32
gash55025502: 原來如此 但想問一下如果是從第i個開始的話 不會又 11/10 17:57
gash55025502: 繼續overflow嗎?為何不是從第i+1個開始呢 11/10 17:57
mistel: 看是哪種例外視情況OS會把這個行程直接殺掉吧,但不管是 11/10 18:09
mistel: 哪種a選項應該都是錯的? 11/10 18:09
b10007034: 發生overflow是i-1 th instr.,處理完之後繼續從 11/10 18:10
b10007034: i th instr.開始執行 11/10 18:10
mistel: 應該沒有直接跳過3個指令從i+1執行的情況存在 因為要避免 11/10 18:10
mistel: 錯誤 11/10 18:10
b10007034: 講錯,如m大解釋 11/10 18:11