4 ms·
The worst case interrupt latency on the original 68000 is pretty terrible? The instructions take ages and the interrupt handling mechanism adds additional delay
by tom_ 2y ago
The worst case interrupt latency on the original 68000 is pretty terrible? The instructions take ages and the interrupt handling mechanism adds additional delays.
I'm sure the 68020 was better.
- snvzz 2y ago>The worst case interrupt latency on the original 68000 is pretty terrible? It has a fixed cost of 44 cycles. Is this somehow bad? I would call it extremely tight. edit: 44 cycles... after the previous instruction finishes. Some instructions (infamously slow division, and many-reg movem) can be slow. Worst case is what matters for realtime, but it is still under 400 cycles.
- cmrdporcupine 2y agoIn home computers and video games? Holy crap ... compare that to the 6502. Maximum 13 cycles, including the execution of the instruction that initiated it, and the return from the interrupt... And yes, obviously that's easy when you only have 3 registers ... But this has a serious real world effect for things like video games.
- snvzz 2y ago>But this has a serious real world effect for things like video games. At 1MHz, sure.
- cmrdporcupine 2y agoWell, sure ... and also plaid a part in making an 8mhz Atari ST feel more sluggish than a 1mhz C64 in some things. Obviously in throughput, a different story
- snvzz 2y agoAtari ST (68k at 8MHz) had other issues that made it sluggish. It is no Amiga. In most scenarios, most interrupts aren't going to interrupt divisions, as most instructions aren't over 16 cycles[0], thus most interrupts will not be much longer than 44 cycles. In microseconds, a non-issue for a microcomputer. Realtime programmers of the time had predictable behavior, and could simply avoid using the specially long instructions (movem and div) altogether if they needed to bound latency below the upper limit. Performance isn't as important as meeting hard deadlines. 0. https://wiki.neogeodev.org/index.php?title=68k_instructions_timings https://wiki.neogeodev.org/index.php?title=68k_instructions_...