作者gash55025502 (白影弓)
看板Grad-ProbAsk
标题[理工] 108交大 计组
时间Sun Nov 10 13:42:42 2019
https://i.imgur.com/48kT5ba.jpg
https://i.imgur.com/C6RVzpW.jpg
想问第18题 交大给的答案是BC
这题要怎麽想呢?还是张凡课本的哪一部分有提到这题相关观念
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.117.248.1 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1573364564.A.E8E.html
1F:推 realmanKG: (a)跟(b)选项的差距就只有exception triggered後系统 11/10 14:46
2F:→ realmanKG: 的应对是立刻回复或是暂且搁置,视架构不同对overflow 11/10 14:46
3F:→ realmanKG: 的ISR应也有所不同,显然不会是(a)中所述的「摆正位置 11/10 14:46
4F:→ realmanKG: 」那麽简单,更何况overflow应不是用”place properly 11/10 14:46
5F:→ realmanKG: ”就能解决的例外情况;(c)的部分,我想应是saturatio 11/10 14:46
6F:→ realmanKG: n operation,即是若是overflow则直接设为可表示范围 11/10 14:46
7F:→ realmanKG: 内之最大值,继续让程式执行 11/10 14:46
8F:→ realmanKG: 一点个人想法,若有错再请各位强者指正 11/10 14:46
9F:推 b10007034: 楼上a的意思是啥?a的意思不就是执行完ith instr.然後 11/10 15:11
10F:→ b10007034: 放回去而已吗? 11/10 15:11
11F:→ b10007034: 因为不确定ith instr.是否造成其他後果,所以通常都是 11/10 15:12
12F:→ realmanKG: 喔喔喔喔靠腰我会错意了抱歉XD,那(a)一定错,overflo 11/10 15:13
13F:→ realmanKG: w一定要跑exception handler 11/10 15:13
14F:→ b10007034: 储存当下的状态(i-1之前的),然後回复到ith继续执行 11/10 15:13
15F:→ realmanKG: 感谢b大指正 11/10 15:13
16F:→ b10007034: 交大老是喜欢用87的英文愚弄考生拉... 11/10 15:14
17F:→ b10007034: 很明显看得出来这不是原文书上那样的文法跟语意 11/10 15:15
18F:→ b10007034: 回原PO,张凡课本有提到exception的地方在processor那 11/10 15:17
19F:→ gash55025502: 如果把overflow分成无号数跟有号数的overflow,无 11/10 17:09
20F:→ gash55025502: 号数的可以忽略(c选项),但有号数的overflow就无法 11/10 17:09
21F:→ gash55025502: 算出true result(a选项错的地方),请问这样的想法 11/10 17:09
22F:→ gash55025502: 有错吗? 11/10 17:09
23F:推 mistel: 不是 a错的重点就在於他把正确结果放回去然後从i+1开始执 11/10 17:31
24F:→ mistel: 行 但正确做法应该是把i i+1 i+2冲掉然後重新从第i个开始 11/10 17:31
25F:→ mistel: 执行 11/10 17:31
26F:→ mistel: (c)选项就像你说的 就是可能overflow会有有号数跟无号数 11/10 17:32
27F:→ mistel: 所以是一个合理的推论 11/10 17:32
28F:→ gash55025502: 原来如此 但想问一下如果是从第i个开始的话 不会又 11/10 17:57
29F:→ gash55025502: 继续overflow吗?为何不是从第i+1个开始呢 11/10 17:57
30F:推 mistel: 看是哪种例外视情况OS会把这个行程直接杀掉吧,但不管是 11/10 18:09
31F:→ mistel: 哪种a选项应该都是错的? 11/10 18:09
32F:推 b10007034: 发生overflow是i-1 th instr.,处理完之後继续从 11/10 18:10
33F:→ b10007034: i th instr.开始执行 11/10 18:10
34F:→ mistel: 应该没有直接跳过3个指令从i+1执行的情况存在 因为要避免 11/10 18:10
35F:→ mistel: 错误 11/10 18:10
36F:→ b10007034: 讲错,如m大解释 11/10 18:11