Re: [hatari-devel] Microwire register value on Falcon

[ Thread Index | Date Index | More 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)


Mail converted by MHonArc 2.6.19+