AMIGA alive

AMIGA alive

Friday, February 5, 2021

68000 vs. 68010 CPU performance

The 68010 is a fully compatible drop-in replacement for the 68000, with a few extra features and slightly better performance.

In case you always wondered how much of a speed gain the 68010 would be over the 68000 here are the hard facts as given by classic Amiga benchmarking tool SysInfo:

MC68000 at 7.09 Mhz: 528 Dhrystones

MC68010 at 7.09 MHz: 547 Dhrystones

Tested on Amiga 500 rev. 6a, 512KB ChipRAM

3 comments:

  1. I'd say this benchmark sells the CPU short. It has a loop mode w/ 6-byte cache that accelerates certain 2-operation loops up to 50% faster than the 68000. That's not a loop that happens in every app, but it shines at times. Wiki lists some of the changes:

    - The MOVE from SR instruction is now privileged (it may only be executed in supervisor mode). This means that the 68010 meets Popek and Goldberg virtualization requirements. Because the 68000 offers an unprivileged MOVE from SR, it does not meet them.
    - The MOVE from CCR instruction was added to partially compensate for the removal of the user-mode MOVE from SR.
    - It can recover from bus faults, allowing it to implement virtual memory.
    - The exception stack frame is different.
    - It introduced a 22-bit Vector Base Register (VBR) that holds A[31:10] of the 1 KiB-aligned base address for the exception vector table. The 68000 vector table was always based at address zero.

    One particular benefit for Amiga users is the fact that the design of the 68010 allows one to interrupt and properly exit WHDLoad games and apps, back to the Workbench, whereas this can't be done with the 68000 (at least typically).

    ReplyDelete
    Replies
    1. Hi! Thanks for the info. :-) Sure, actually it's not selling the 68010 at all, just two naked numbers. ;-) Would be interesting to see if someone can come up with a nicely optimized program where it makes a noticeable difference. Maybe you're aware of one? Cheers!

      Delete
    2. I bet anything doing MUL/DIV would benefit?

      Delete