Benchmark » Benchmark Tool Development Log » GfxBench2D for AmigaOS Version 2.8

GfxBench2D for AmigaOS Version 2.8

I hadn't expected to release another update so soon, but GfxBench2D version 2.6 had one puzzling problem: the altivec based copy routines actually caused a significant drop in performance on G4 AmigaOne-XEs (A1-XEs). What made this puzzling, was that the altivec copy routines improved performance on G4 Pegasos II machines. Both of these machines use MPC74xx CPUs, so what could be causing this strange behaviour? This was a bit of a mystery.

Today, that mystery is mystery no more.Section 7.3 of the MPC7450 Reference Manual states:

AltiVec loads and stores—The 60x bus protocol does not support a 16-byte bus transaction. Therefore, cache-inhibited AltiVec loads, stores, and write-through stores take an alignment exception. Note that AltiVec loads and stores that are not quad word–aligned also take an alignment exception in MPX bus mode. If either of these conditions is encountered, a re-write of the alignment exception routines in software is required.

As it turns out, the A1-XE uses the 60x protocol, whereas the Pegasos II uses MPX bus mode. Hence, the altivec copy routines worked perfectly on the Pegasos II, but triggered an huge stream of alignment exceptions. AmigaOS' exception handler ensured that the data being copied still got delivered, but the overhead resulted in much poorer performance. Thanks goes to Jörg Strohmayer, for figuring out what was going wrong.

Version 2.8 works around this problem by disabling the altivec routines for all old AmigaOnes (i.e., the A1-XE/SE and the Micro-AmigaOne).

Benchmark » Benchmark Tool Development Log » GfxBench2D for AmigaOS Version 2.8

Post your comment


  • @Derfs

    Not yet. Actually, it is possible to filter by motherboard, CPU, and graphics card (specific models only), but I haven't managed to find the time to finish off the GUI.

    It is on the to-do list.

    Posted by Hans, 03/07/2012 4:50pm (12 years ago)

  • Is it possible to filter the results page, for example to see just the newer results?

    Posted by Derfs, 03/07/2012 5:17am (12 years ago)

  • I hear you. Got the impression that you wanted to update your baseline database to more recent configurations though.

    Posted by Spectre660, 21/06/2012 5:31pm (12 years ago)

  • @Spectre660

    I want GfxBench2D to remain just a benchmark tool. Telling users when to upgrade is beyond its scope.


    Posted by Hans, 19/06/2012 5:00pm (12 years ago)

  • I see some recent Sam 460ex results show that some machines are still using driver version 0.15 . Might be a good idea to have the benchmark prompt them to get the upgraded driver from ACube .

    Posted by Spectre660, 19/06/2012 8:38am (12 years ago)

RSS feed for comments on this page | RSS feed for all comments

Benchmark » Benchmark Tool Development Log » GfxBench2D for AmigaOS Version 2.8