2019-03-24 08:18发布
shower.xu 发表于 2017-11-17 10:25 一个读写动作,一个只读,一般不需要考虑互斥。
huixianfxt 发表于 2017-11-17 10:39 如果赋值操作不止一个指令周期呢?会不会在没有赋值完成的情况下被打断进入下面那个中断(当然是支持抢占 ...
最多设置5个标签!
如果赋值操作不止一个指令周期呢?会不会在没有赋值完成的情况下被打断进入下面那个中断(当然是支持抢占优先级的,且下面那抢占优先级高),从而读出来错误的值呢?另外如果是一个指令周期的话,在执行赋值操作时被另一中断打断,那么CPU应该会执行完赋值操作然后再跳到另一个中断是吗?
没有绝对的安全,你要做的,是把不稳定性尽量降低。如果存在抢占优先级。你就要尽量把低优先级的中断里的代码尽量简化,执行最关键的部分,减少其执行时间,这样,被抢的概率就降低。
那是中断优先级的事,而且即使赋值分成两条指令,比如先保存常数到Acc,然后再放到寄存器,中断程序也会对A寄存器做入栈出栈操作的。如果硬件不做,你就自己做。
一周热门 更多>