prindle@NADC.ARPA (07/02/84)
Whoops, I neglected to mention, along with inter-byte time, that revolutions must be optimized to get the most speed out of the drive; that is, in between blocks read from the disk, the DOS must not do so much processing that the next block to read has gone past the head and the disk must turn almost an entire extra revolution to access the desired block. 4MINUT.IMG seems to read/ write exactly 2 blocks per revolution. Frank
anthro@ut-ngp.UUCP (Michael Fischer) (07/21/84)
<> I agree in general that the serial bus is not as fast as it should be, but not by the factor indicated. 4min.img handles about 725 cps. I'm not certain, but I think that it works by setting up the block read and write, and then lets the reading drive handshake the writing drive. This would be about the right speed, since the 64's internal rom routines are capable, even with the screen off, of reading about 850 cps, and the range of variation in 64s is great enough to settle on some 750 or so (atn sequences take a long time...a normal (not 4min.img, I dunno) ATN byte is 1ms all by itself. The reason for the slowness in the 64 rom routines is bad design. The bit handshake routines are written as subroutines, which effectively doubles the amount of time that each bit operation will take. The actual data bit handshake is inline, but the control is not. What this does is create windows some 24 us wide, and to accomodate the variable 64s, worst case must be assumed by the sender. These 24 us here and there add up, and lower the effective possible speed by some 15%. Then there is an enormous amount of time between bytes, some 100-200 us typical. In a IEEE-488/serial interface I wrote, I had time to handshake the IEEE-488 byte free on the gap between bytes. ARG. If the routines were tidied up, and the speed constant (VIC cycle stealing complicates this) I estimate that the 64 could handle some 1200-1300 cps. As is it can easily handle 710 (the speed of my interface) for generic 64 and 780 for a 'tuned' 64. It is interesting to note that LOADING is slower than SAVING. The respective speeds are 850 and 930. The serial disk only goes about 450 cps, and is the real weak link in the bus, since any 64 can better that speed by 250 cps. Mike Fischer anthro@utngp