[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 trashing memory cycles...



bieling@terra.es wrote:
On 7 mar, 09:53, "Alex Freed" <a...@mirrow.com> wrote:

I think one thing is missing here. On some instructions some cycles
may be needed sometimes and not needed at other times. It should
still work but not tag ALL of the "borrowable" cycles.

-Alex.


In the case of conditional branches, I don't see how to predict if
it's going to be taken as the processor flags are unknown from the
outside. In the case of page crossings, it's also difficult if at all
possible to predict.
What other cases do you see ?

Every two cycle opcode gives you one free cycle, and every RTS gives
you 3, and pushes and pulls gives you 2. There are a lot of instances
of these in any program... lots of memory cycles that could be used
for... what ? hehehe

You might want to do some frequency analysis on traces to
see just what percentage of memory cycles you are reclaiming.

Of course, the result will always be statistical in nature and
particular lengthy instruction sequences may deviate wildly from
the norm (which makes using them somewhat antithetical to a
machine with otherwise deterministic timing).

-michael

NadaNet networking for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it's seriously underused."