[理工] 108交大 計組

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

Links booklink

Contact Us: admin [ a t ] ucptt.com