ISA bus throughput

Michael B. Brutman mbbrutman-cctalk at brutman.com
Tue Jan 31 19:46:46 CST 2006


Good, I'm learning a bit here ..

The superIO controller card I stuck in there did not look like it had a 
BIOS ROM extension, so I'm assuming that the chipset emulated whatever 
the hard disk interface was on the AT, and that the built-in BIOS on the 
AT is still driving everything just as though it was the original 
controller.  It's hard to believe it is this simple, but I'm not going 
to argue.  I never considered IDE elegant until now ..

Chuck - you mentioned that the superio controller card would have a BIOS 
extension.  Are you certain?  One card that I tried definitely did, as 
it had the intelligence to handle larger drives.  The particular card 
that I used does not have any options for setting a BIOS ROM address, 
doesn't put a splash message up at boot time, and doesn't have anything 
that looks like an EPROM on it.  (Even though it looks quite elderly.) 
Eric Korpela's note indicates that it behaves more like my description 
above ...

Another part of the equation is the CPU.  If it's doing the I/O doing a 
tight loop, it has to be fetching instructions from memory for the 
instruction loop as well as doing the I/O to the bus.

I was thinking that if each instruction takes a few cycles that even the 
tightest of loops would waste a lot of cycles, but I found a gem in the 
286 user's guide - REP.  Apparently you can use REP INx and REP OUTx 
instructions to generate a tight loop that doesn't require subsequent 
instruction fetches until the loop ends.  So that would allow a 286 to 
push the bus much harder than an 8088/8086 class machine would.  (The 
8088/8086 would have to keep fetching instructions, which would suck.)


Mike




More information about the cctech mailing list