Subject: Re: MSCP SCSI controller speed
From: 9000 VAX <vax9000 at gmail.com>
Date: Tue, 08 Nov 2005 10:14:14 -0500
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
On 11/8/05, Tim Shoppa <tshoppa at wmata.com> wrote:
From a
post I made to the PDP-11 newsgroups in the previous
millenium:
...
Here are the peak data rates measured for read and write 64
blocks-at-a-time:
Read Write
---------- ----------
Andromeda SCDC 2.298 MB/s 1.131 MB/s
CMD CQD440 2.397 MB/s 1.525 MB/s
CMD CQD220 1.418 MB/s 0.882 MB/s
CMD CQD220A 2.088 MB/s 1.409 MB/s
DEC RQZX1 1.379 MB/s 1.097 MB/s
Viking QDT 0.846 MB/s 0.704 MB/s
DEC RQDX3 0.164 MB/s 0.161 MB/s
Thank you. After analyzing the Qbus activity diagram I conclude that
my controller won't be fast. There are several reasons.
1. The overhead of 53C90A chip is significant. I may try 53C94/96 later.
2. The ISA DMA is slow for the getpkt(), putpkt(), getdesc() and
putdesc() functions. 80188XL won't be faster.
3. The 80386-16 is slow in executing the MSCP code written in C.
80188XL won't be faster.
To improve 1, I need a faster SCSI chip, or need to integrate it into
the CPLD. To improve 2, I need a small cache to speed up the DMA, or
need a faster microprocessor. To improve 3, I need a faster
microprocessor, and I may need to rewrite the code in assembly
language.
So the conclusion is, with the corrent design, the controller won't be
fast. I am reluctant to rewrite it in assembly language because I
don't want to divert too much away from the SIMH code. I may improve
the code to speed it up a little bit, maybe to 400kB/s. I am happy
that it can beat RQDX3.
vax, 9000
Considering the major Qbus SCSI controllers do not have near the speed of a
slow 386 cpu, speed is not the issue. I'd have to look but I think none used
anything faster than maybe a 10mhz 68000.
While the 53C90 does have large overhead it's also not quite the bottleneck.
I would look first at the code. First place I'd peek at is to see what the
code overhead is. Also Qbus transfers can be block mode DMA for best speed
but watch the length as memory says 4words per block were a maximum to avoid
bus timout errors. ISA does not have this problem but it's fairly slow for
8bit moves (1meg Byte/S).
As to beating a RQDX thats easy consider that the MFM drives are 5mbits/S
range(.625k bytes/S burst) rate and slow seeking combined with no local
caching more than a sector or two. Also the CPU was a T-11 at a mere 7.5mhz.
I've considered hacking a SCSI controller for Qbus once. The approach
on paper was a PCI PC system board with a Adaptec2900 series controller
with a parallel adaptor to Qbus. That was focused on building as little
hardware as possible becuase the real task was software. The item
worked out were software as in PC level code that didn't require a
bootable OS (rom resident would be a winner). However the Qbus side
was sorted down to a M7941 parallel line unit (PIO) or M7950 (DMA) with
a driver based on one of the removable non-MSCP cartridge disks (RK, RL
or RM). I quit after realizing that I didn't have a 290x SCSI board
nor wished to program PCs. That and someone gave me a CMD SCSI adaptor. ;)
Allison