Views: 6,857,357 Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 04-19-24 11:26 AM
Guest:

0 users reading Speed improvements for ARM build? | 1 bot

Main - Development - Speed improvements for ARM build? Hide post layouts | New reply


uclydde
Posted on 12-26-20 11:10 PM Link | #3027
I noticed that 0.9.1 includes a build for ARM (on linux).

I'm wondering, since the DS itself is also an ARM device, if there's some kind of speed increase for the ARM linux build, compared to the x86 builds. Surely there is less translation overhead if the source and target ISA's are the same, no?

Generic aka RSDuck
Posted on 12-26-20 11:36 PM (rev. 2 of 12-26-20 11:37 PM) Link | #3028
The linux ARM build is for modern 64-bit ARM processors (aarch64) which isn't compatible to the classical ARM instruction set the DS uses. You're right that a JIT translating from 32-bit ARM to 32-bit ARM like the one desmume has (which is pretty undeveloped) has to do less work while getting good code (though the overhead of emulating two processors at once, the different memory layout and the remaining hw of course remains).

That said aarch64 still has more in common with 32-bit ARM than say x64 so the translation process is more straightforward while giving a better quality translation. Also for my Switch port I'm working on several aarch64 specific optimisations which I intend to try to bring upstream eventually.

____________________
Take me to your heart / never let me go!

"clearly you need to mow more lawns and buy a better pc" - Hydr8gon

uclydde
Posted on 12-26-20 11:47 PM Link | #3029
Thanks for the informative response, as well as your work on this!

How difficult do you think it would be to get a build working for Apple's new ARM macs? Hopefully not too bad since x86 mac is supported, and ARM linux is supported. I recently got one of the new mac minis. If necessary, I could help test/debug a build. I'm comfortable with programming in C, but not yet comfortable with emulation development.

Generic aka RSDuck
Posted on 12-26-20 11:59 PM Link | #3030
WaluigiWare64 who already did the x64 mac port has already done some work in this direction. The x64 build works through rosetta btw and it even runs games at fullspeed. The problem for us with mac support in general is just that nobody of us has either an x64 or arm mac. Macos is also just a stupid platform to develope for.

____________________
Take me to your heart / never let me go!

"clearly you need to mow more lawns and buy a better pc" - Hydr8gon

Rayyan
Posted on 12-27-20 09:18 AM Link | #3032

Yep, as Generic aka RSDuck said, I am working on support for the new ARM64 Macs. We have made some progress and we are currently working on the JIT.

____________________

How to write an emulator
1. throw code to be emulated somewhere
2. make memory system that allows accessing that code
3. emulate CPU
4. have fun implementing all the other hardware
-- Arisotura, Tuesday 5th January 2021, 22:00:17


Main - Development - Speed improvements for ARM build? Hide post layouts | New reply

Page rendered in 0.040 seconds. (2048KB of memory used)
MySQL - queries: 27, rows: 84/84, time: 0.022 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.