On 1/31/2006 at 2:56 PM mbbrutman-cctalk at
brutman.com wrote:
While discussing this beast, the topic of putting a
CD-ROM on it came up.
(I
would never do such a thing except for giggles.) The
topic of the CD-ROM
led
to a throughput question - could this old monster even
do it? As in, is
the
ISA bus up to reading from the CD-ROM at a reasonable
speed?
It doesn't matter--all IDE CD-ROMs are very generously buffered. I've run
CD-ROMs (albeit SCSI) on 8-bit 4.77MHz XTs.
Forget the CD-ROM and let's just pretend it's
an I/O device on the bus,
like a fast hard disk. Given a PC AT running at 6Mhz, what can reasonably
be
expected for bus throughput? (Obviously this depends
on the loop and the
instructions used.) I would have guess 500K or so per second, but now I'm
second
guessing myself and I'll actually have to write a
small benchmark to try
it.
Depends on the handshaking, etc. used. Clearly, if you have to read status
before reading data, the throughput is going to be half of what you can do
if you can read status alone. IIRC, doing nothing but I/O reads, the
16-bit throughput on a 286 bus is about 4 MB/sec.
When writing to a hard disk, would this machine have
used a tight
processor
loop, or would it have used DMA? Under what
circumstances would it use
DMA to transfer data to a hard disk?
PC-XTs used DMA, but most MFM AT controllers used PIO. Given that the
controller also buffers data, it makes sense to get a sector read and then
just use an INSW to get the data. Faster than DMA. I do recall a few
bus-mastering 16 bit controllers, however.
And one last question .. Unlike the PC and XT, the AT
BIOS handles hard
drives. It didn't blink when I removed the crusty WD based controller and
replaced it with a no-name WinBond based controller. Does the new IDE
controller
really look that much like the old controller that the
BIOS can't tell?
Pretty much. The IDE understands more commands, such as IDENTIFY, but the
basic command set's pretty much a superset of the old MFM controllers--and
for that matter, the ESDI controllers (which do have an IDENTIFY command,
so they look even more like IDE). And remember that your disk calls on a
286 will still go through the BIOS extension ROM on the WinBond. So it
doesn't matter.
--Chuck