On Mon, Feb 19, 2018 at 5:02 PM, geneb via cctalk <cctalk@classiccmp.org> wrote:
> On Mon, 19 Feb 2018, Charles Anthony wrote: > > >> >>> >>> The emulator is running on a Intel Nuc, not a PI. Also, I was one of a >> group that wrote the emulator, I can't take credit for the whole thing. >> > > I could have sworn someone said it was a Raspberry Pi. My apologies! No problem. The emulator will run on the Pi, but *horribly* slowly. Analysis indicates a very high cache miss rate, which is an ARM killer. Reorganizing data structures would probably help a lot. GCC has a code reordering feature which would probably also help. I haven't been able to locate any cache optimization tools other than valgrind, which makes the code run more slowly than I am prepared to deal with. I keep thinking that it might be possible to do a sampling approach -- periodically capture the instruction counter and the addresses in the cache and try to build up a map of memory access patterns; use that as a guide to reordering. -- Charles