Re: [hatari-devel] Microwire register value on Falcon |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
On 04/02/2012 00:19, Eero Tamminen wrote:
How many interrupts there are typically in use at any given moment?
At least hbl, vbl, timer c and often timer b in games / demos ; also ikbd, but you won't type fast enough to notice it :)
Are there some interrupts that happen relatively rarely? Maybe it would help if the interrupts would be ordered according to to how frequently they typically occur, or which ones go together?
The way the interrupt queue works, there's already one active interrupt, which is the one that will happen first. Until this interrupt happens, the loop doesn't depend on the array's size. Once this interrupt happens, a new interrupt is chosen from the array.
Here the order doesn't matter, because any interrupt in the array can be a candidate, you have to scan the whole array anyway. So, the choice only depends on the size of the array. The more type of interrupts we add, the slower it will be when we need to choose a new active interrupt.
So basically, not much we can do, apart from keeping the array as small as possible. For frequent interrupt, it's important to have a dedicated handler, but for less common interrupt, we can have a single handler that will "multiplex" to the correct code (eg : send microwire to dma or falcon)
Nicolas
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |