中断也不是白来的
运行下面这段程序,填写它打印出来的结果。 DEV = 1000 IRQ = 50 def by_poll(n): return n * DEV def by_irq(n): return n * IRQ def by_
开始练习 →
自己写:模拟一次轮询
设备第 5 拍才好。数出轮询要问几次、一共花了几拍(每问一次算一拍)。
开始练习 →
中断次数多到什么程度就不划算
从 1 次开始往上找,中断的总开销第一次超过「干等一次」的那个次数。
开始练习 →
中断处理的第一步
中断来了之后,CPU 做的第一件事是【0】。
开始练习 →
为什么处理中断时要关中断
处理一个中断的过程中,通常会先把中断关掉。这是为了【0】。
开始练习 →
中断处理程序为什么要短
中断处理程序要尽量短,因为【0】。
开始练习 →
一次中断的五个步骤
运行下面这段程序,填写它打印出来的结果。 STEPS = ["存现场", "查向量表", "跑处理程序", "通知设备", "恢复现场"]
开始练习 →
中断开销都花在哪
运行下面这段程序,填写它打印出来的结果。 COST = {"存现场": 15, "查向量表": 5, "跑处理程序": 10, "通知设备":
开始练习 →
自己写:中断处理的五步
把五步走一遍,返回「执行了几步 / 现场存了几个寄存器 / 恢复后是否一致」。
开始练习 →
⚠️ 现场没存全会怎样
存现场时漏了一个寄存器,而处理程序正好改了它。⚠️ 程序不会报错——把恢复后的值和原值都打出来。
开始练习 →