Michael Black wrote: > "Hon Tseng" (pcuser45@yahoo.com) writes: > > Commodore 1541 disk drive is always slow. Atari 1050 disk drive is always > > fast. IBM disk drive is always Ultra-fast. How fast is Apple 140k disk > > drive? Does it speed faster than Atari 1050? > > > One reason the Commodore (and at least some Atari) drives are slow > is that they are connected to the computers via a serial port. > > The IBM and the Apple (plus plenty of other computers) have > the disk controller connected via a parallel connection, so > they tend to be faster. As others have noted, this is not correct. Both the Apple II and IBM PC have a serial data connection to the drive. They use separate signals to control the drive, e.g. the Apple II has four outputs to control the stepper motor, a write enable output, write protect sense input, two drive select outputs, etc. The main reason for the differences in drive performance are the speed at which the serial connection is able to transfer data, and latency due to extra processing inside the drive or computer. I'm not particularly familiar with the Commodore drive, other than knowing it contains its own CPU which does the low-level disk accesses. The Apple II 5.25" drive transfers data to and from the computer at approximately 250kbps (4 microseconds per bit). This is raw disk data (mostly 6-and-2 encoded GCR), which is encoded and decoded in software on the Apple II. A single 256 byte sector requires about 2730 bits of raw data on the disk, just for the data itself. Allowing for the sector header, gaps, checksum, etc., we'll say about 3000 bits in total. It takes about 12 milliseconds to read or write the entire sector of raw data. A typical implementation does the encoding or decoding phase separately for each sector, and by the time this is finished, the next sector has already passed the disk head. This means that it is not possible to read adjacent sectors on the same pass of the head, and a minimum of two revolutions are required to read an entire track. Assuming the disk is spinning at 300 rpm (is that right?), it does 5 revolutions per second (200 ms per revolution) and it will take at least two revolutions (400 ms) to read 16 x 256 = 4 KB of data. Ignoring the overhead required to move the head to the next track and to wait for a sector header, the end result is a maximum data transfer rate in the order of 10 KB per second (or an effective processed data rate of 80000 bits per second). It is possible to read the disk somewhat faster by reading an entire track of raw data into memory and decoding it in one pass, with the decoding overlapping the movement of the drive head. For comparison, the Apple 3.5 Drive uses bit cells which are only 2 microseconds wide, for a raw transfer rate of 500kbps. On an Apple IIgs or Mac, this drive can easily achieve transfer rates which are twice that of the 5.25" drive. The UniDisk 3.5 uses the same drive mechanism, but it contains a microprocessor which is responsible for doing the GCR encode/decode, and has an intelligent packet-based protocol to exchange data with the computer, which operates at the same speed as the 5.25" drive (4 microseconds per bit, but the data encoding is somewhat more efficient because there are 7 data bits per byte instead of 6). The end result is that a UniDisk 3.5 transfers data at about the same rate as a 5.25" drive. -- David Empson dempson@actrix.gen.nz