Page 1 of 1

Hotshot II gives extra performance...

Posted: Sun Dec 16, 2018 11:34 am
by riq
A while ago a did some performance tests on my PCjrs and noticed that one PCjr was a tiny bit faster than the others. Being new to the PCjr world, I never imagined that a daughter-board could be installed under the floppy drive. And I knew I didn't have a NEC20.
Today I decided to fix a few issues in my floppy drive and discovered there was a Hotshot II daughter-board. What's funny is that I was using this machine with jrIDE, so the extra 512Kb RAM offered by hotshot II was kind of duplicated.

In any case, if you are writing a cycle-exact program, take into account that Hotshot II will accelerate the performance by a tiny bit for code executed in RAM above 128Kb.

How fast it is? Here are the results... PCjr A is the one using Hotshot II, PCjr B the one without it.
https://docs.google.com/spreadsheets/d/ ... edit#gid=0


Image

Re: Hotshot II gives extra performance...

Posted: Sun Dec 16, 2018 12:17 pm
by Brutman
Curious, but I'm also confused.

The long running instructions like MUL and DIV are about exactly the same, which is good - the CPU is running at the same frequency then. But other instructions are running 4% faster, including register swaps. If the Hotshot was keeping the instruction pipeline more full that would make sense, but the memory subsystem really doesn't change just because the memory is on the hotshot.

Sidecar memory usually has a DRAM refresh controller for each sidecar. The Hotshot II is using DRAM but I don't see an obvious DRAM controller on it, just some PALs. I'm going to bet the difference is in the way DRAM refresh is being done.

It could be something else inserting an extra wait state one in 25 times, but I can't imagine what that would be. Especially for the XCHG instruction, where memory is just used to fetch the instruction.

Re: Hotshot II gives extra performance...

Posted: Sun Dec 16, 2018 9:14 pm
by riq
I cannot explain what's happening, but what you mentioned about not inserting an extra wait state sounds plausible.