Re: [hatari-devel] Movem and cycles

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi Toni,

Yes, I know div/mul algo are not known on 68020/68030.
I was just thinking about a general improvement of the cycles counting with memory access.

I think that memory access are not taken into account in 68030 mode (or wrongly taken into acount).

I mean actually, hatari reads a movem.l (a6)+,d0-a4 in 16 cycles instead of about 120 cycles.
I would love to see my falcon reading all this memory in 16 cycles.
I think the memory access is not taken into account for MOVEM.

I know there's still a lot of work to do to reach a better accurate 68030, but here, I was speaking of trying to reach a closer level of accuracy (we start from far with movem ;)

Regards
Laurent






Le 04/02/2017 à 17:41, Toni Wilen a écrit :
Hi

for now, only 68030 in CE will count cycles for instructions with non
fixed cycles count.

Toni, do you think it would be possible to extend gencpu and to define
"using_simple_cycles = 1" for cpu id 20 and 22, maybe 32 too ? (as it's
the case for id 12 and 68000 in prefetch mode).

It could give some extra accuracy when CE mode is not needed for movem,
bit shift, muls/divs

Just adding "using_simple_cycles = 1;" is not enough at the moment
because in that case gencpu checks for "using_prefetch" and not for
"using_prefetch_020", but maybe adding this would be not to invasive ?
I don't think it helps. MOVEM depends on memory access speed, it is not
CPU core's problem to time it ("memory cycle exact mode" should do that,
which only counts external memory access cycles, CPU internal cycles are
instant), shift cycle usage is static in 68020+ (it has barrel shifter).
And finally, no one knows how mul or div work in 68020+.








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/