Who needs hardware emulation? ;-)

Informal forum to keep you all informed on development progress

Moderators: aemulor, admin

Post Reply
admin
Site Admin
Posts: 381
Joined: Wed Oct 23, 2002 11:25 pm
Location: Cambridge, England
Contact:

Who needs hardware emulation? ;-)

Post by admin » Wed Jan 15, 2003 1:10 am

Been a bit quiet for a while, partly because I've been experimenting with the idea that I mentioned just before Christmas...

The latest build of Aemulor uses a radically different approach to running 26-bit code, allowing most instructions to run natively; it only emulates the instructions whose behaviour differs in 26- and 32-bit modes.

Well, I've now got some results that I think are more representative of this approach's speed, compared to the early C prototype that I was working with before Christmas; and it's fast:

Rendering Apple4 in ArtWorks under Aemulor, running only 26-bit code:

Guildford Show (1 Nov): 20 seconds
Midlands Show (1 Dec): 11 seconds
Latest (14 Jan): 3.0 seconds

Using the 32-bit rendering modules that - thanks to Martin Wuerthner - are now freely available with AWViewer:

Latest (14 Jan): 2.0 seconds

So, I'm going to need a new benchmark soon ;-)

These timings are all done at 1024 x 768 x 16 million, with the apple centred at a magnification of 100%.

Dropping to 256 colours (that's all my RiscPC can do at this screen resolution), I get the following:

202MHz SA RiscPC 1.3 seconds
Latest on Iyonix 1.7 seconds

so I've still got a bit of work to do before worst case apps like ArtWorks[1] will run at StrongARM speed, but we're definitely heading in the right direction. And I'd be very interested to know how this compares with ARMTwister's performance, because I believe that it too will have to emulate in software those instructions that give different behaviour in 26- and 32-bit modes (eg. MOVS PC,R14 and BL), and the speed difference between ARMTwister and Aemulor is now perhaps not as great as everybody imagined.

At the moment I can't promise that the first release of Aemulor will include this engine; it will depend upon how many apps it is able to run compared with the previous version - at this stage we feel it's important to get as many apps running as possible, and then concentrate upon speeding up the emulation.

But I'm so impressed with the extra speed performance that I'll try to get it ready as soon as possible.


Adrian

1. By 'worst case' I mean that it doesn't use the OS at all for its rendering code, so all of the code has to run under Aemulor. Most desktop apps use the OS for their redraw code and therefore run faster, because Aemulor can just ask RISC OS 5 to do the work (at the full native speed of the Iyonix).

The Doctor
Posts: 4
Joined: Tue Nov 19, 2002 8:53 pm
Location: Essex
Contact:

Post by The Doctor » Thu Jan 16, 2003 9:00 am

Hi,
Can I ask, how you actually run your Artworks Apple test?
Do you use the Artworks viewer or the actual Artworks application itself?

Using the AWViewer 1.59b (10 Dec 2002) BETA, it takes about 4.5 seconds to draw the ArtWorks Apple that I have on my 287mhz StrongArm machine.

Either way, the performance you're getting is /very/ impressive.
Cheers!

User avatar
harmsy
Posts: 1
Joined: Sun Nov 03, 2002 8:10 pm
Location: Cambridge, England
Contact:

Who needs hardware emulation?

Post by harmsy » Thu Jan 16, 2003 5:42 pm

Gosh! This is all very impressive. I had my first play with the Iyonix at BETT last weekend, and tested Impression running through Aemulor (I don't know which version Cumana have?) and found it to be "satisfactory". :shock:

The kinds of speed-ups that you've mentioned today would make its performance "very good". :wink:

Excellent work. Good luck with the project. I guess if you can emulate most things to be faster than a StrongARM RiscPC, you've got yourself a winner.

APH :lol:
Andrew Harmsworth, Cambridge
www.gcse.com owner & author. :lol:

admin
Site Admin
Posts: 381
Joined: Wed Oct 23, 2002 11:25 pm
Location: Cambridge, England
Contact:

Post by admin » Sat Jan 18, 2003 12:23 am

> Can I ask, how you actually run your Artworks Apple test?
> Do you use the Artworks viewer or the actual Artworks application itself?

Using ArtWorks, display the Apple4 file at 100% magnification, centred in the window, with the window adjusted to maximum but sized so that the toolbar doesn't overlap the main window - and hence the Apple is redrawn in one go, rather than being split into two rectangles.

Then open a full-screen window (eg. a new text file in Edit) on top of the ArtWorks window and then hit the 'back' button of this window. Start timing when you hit the back button, and stop when the redraw has finished.

On my 202MHz SA RiscPC this takes 1.3 seconds in 1024 x 768 x 256 colours. And, BTW, Aemulor got another teeny bit faster since my last post :wink:

> Using the AWViewer 1.59b (10 Dec 2002) BETA, it takes about 4.5
> seconds to draw the ArtWorks Apple that I have on my 287mhz
> StrongArm machine.

That's because AWViewer is rendering at max quality - fully anti-aliased - whereas ArtWorks will use the default quality level saved in the file itself. If you give the same file to ArtWorks it will render faster, unless you crank up the quality in which case it's the same speed as AWViewer.

> Gosh! This is all very impressive. I had my first play with the Iyonix...

Isn't it a lovely machine? My only gripe about it is that someone needs to write some code that goes beep every 5 minutes to remind me that I've left it switched on - it's just so quiet! :D

> at BETT last weekend, and tested Impression running through Aemulor
> (I don't know which version Cumana have?) and found it to be
> "satisfactory".

You wouldn't say that if you could use the latest version! :wink:
I'm afraid that Cumana's request came just a little too early, and I hadn't got the latest code ready and stable. Now, whenever I use the version you saw, it just feels sluggish to me and I wouldn't go back to using it!

As an aside I've just composed an article for Foundation RISC User explaining how Aemulor works, and I wrote it using Impression on the IYONIX with the latest build of Aemulor and it just feels sooo much slicker than the early versions.

> The kinds of speed-ups that you've mentioned today would make its
> performance "very good".

We're certainly getting there, and I'm happy because StrongED is now very slick :D

Adrian

admin
Site Admin
Posts: 381
Joined: Wed Oct 23, 2002 11:25 pm
Location: Cambridge, England
Contact:

Re: Who needs hardware emulation? ;-)

Post by admin » Sat Feb 14, 2004 6:24 pm

adrianl wrote: These timings are all done at 1024 x 768 x 16 million, with the apple centred at a magnification of 100%.

Dropping to 256 colours (that's all my RiscPC can do at this screen resolution), I get the following:

202MHz SA RiscPC 1.3 seconds
Latest on Iyonix 1.7 seconds

so I've still got a bit of work to do
Just realised that the latest code now achieves 1.3 seconds with the 32-bit modules, matching the RiscPC. Small performance tweaks here and there over the past few months.

That's just Aemulor (Lite), of course... not the enhancements added for Pro.

Post Reply