VOGONS


First post, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie

1. has anyone benchmarked the performance difference between 0wait and 1wait?
2. 0wait seems only possible for 286-16 and lower, as 20mhz would require 50ns dram, right?
3. which is faster overall, 16mhz with 0wait or 20mhz with 1wait?

Reply 1 of 7, by bjwil1991

User metadata
Rank l33t
Rank
l33t

It depends on the board and who manufactured the board. When IBM released the XT 286, it ran on 0-wait state memory, which the AT 286 had a 1-wait state. The 0-wait state means the processor doesn't have a delay. Source: https://en.wikipedia.org/wiki/Zero_wait_state

For wait-state, or 1-wait state, the CPU has a delay. Source: https://en.wikipedia.org/wiki/Wait_state

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 2 of 7, by MMaximus

User metadata
Rank Oldbie
Rank
Oldbie

I've done very basic benchmarking of my 286-20 system a while ago. Some screenshots can be found here

Basically you don't need crazy fast 50ns RAM if the board supports memory interleave. Somehow my 286-20 system works at 0 wait states with a mix of 100ns and 80ns RAM. I believe I have 4-way memory interleave enabled.

Here are screenshots of the "QUICKSET" C&T NEAT chipset setup utility for 386SX NEAT. It shows the RAM requirements depending on the number of wait states desired for this particular 386sx board. I assume the requirements for a 286 would be similar?

TixilFdl.jpg

WfjhzCDl.jpg

kNmXim0l.jpg

Last edited by MMaximus on 2019-04-30, 09:20. Edited 3 times in total.

Hard Disk Sounds

Reply 3 of 7, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
bjwil1991 wrote:

It depends on the board and who manufactured the board. When IBM released the XT 286, it ran on 0-wait state memory, which the AT 286 had a 1-wait state. The 0-wait state means the processor doesn't have a delay. Source: https://en.wikipedia.org/wiki/Zero_wait_state

For wait-state, or 1-wait state, the CPU has a delay. Source: https://en.wikipedia.org/wiki/Wait_state

i don't believe this. on most 386dx-40 boards, average ram speed is ~20mb/s when bios is set to 0wait, while the theoretical bandwidth is 160mb/s. this means each ram access taking about 8 clocks average.
so its not real for a 286 cpu to complete a ram access in just 1 clock. 0wait only refers to the process between chipset and dram is done in 1 clock.

Reply 4 of 7, by badmojo

User metadata
Rank l33t
Rank
l33t

It makes a difference to my 16MHz machine, can I quote myself? Here goes:

I've also been messing around with slow-down utilities and not being 100% happy with the results. This machine has a turbo function which under-clocks the CPU to 8MHz, and that in theory is the right speed for California Games, Double Dragon, etc. But it was still noticeably too fast. The solution was to add a wait state via the BIOS; now with the turbo off, SI reports that I'm bang on the speed of an 8MHz machine (where previously I was 1.5 points higher), and the afore mentioned games play as expected.

Life? Don't talk to me about life.

Reply 6 of 7, by alvaro84

User metadata
Rank Member
Rank
Member

According to my experience a 16MHz 286 at 0WS has a similar performance to a 20MHz one at 1WS. And I have 20MHz /0WS boards running on bog standard 70-80ns SIPPs and SIMMs. They may be interleaved, I really don't know.

Shame on us, doomed from the start
May God have mercy on our dirty little hearts

Reply 7 of 7, by Deunan

User metadata
Rank l33t
Rank
l33t
noshutdown wrote:

i don't believe this. on most 386dx-40 boards, average ram speed is ~20mb/s when bios is set to 0wait, while the theoretical bandwidth is 160mb/s.

Actually it's "only" 80MiB/s. Bus clock is 40MHz and the BU (bus unit inside the CPU) needs 2 cycles to complete a 0-waitstate transaction. A DX CPU can transfer 4 bytes from aligned addresses. So best case scenario is 40MHz/2*4B = 80MiB/s, which can be only ever done with REP MOVSD.