Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: Race in MSCP (ra/rx) driver



On Wednesday, August 26, 2020 at 12:56 PM, Johnny Billquist wrote:
> A very small nitpick, but anyway...
> 
> On 2020-08-26 21:13, Mark Pizzolato - Info Comm wrote:
> 
> > Covering that case is absolutely a good idea, but in practice, real
> > hardware had microprocessors implementing the nuts and bolts of both
> > the CPU interactions and the rest of the job of the MSCP device.
> > These microprocessors essentially always were slower than the
> > processor they were connected to, with a good number of microprocessor
> > instructions just to fetch and interpret the info in the command that
> > needs to be processed, so even if data access had no mechanical delays
> > the interpretive overhead could never be very close to 0.
> 
> Not entirely true. Many controllers were designed long after the processors
> they were connected to, and made use of way more modern hardware that
> was much faster. Not to mention that some of them even had multiple
> processors to deal with interfacing to the main CPU, and dealing with the
> actual external device.

They might be faster on a per instruction basis, BUT none would be so fast 
that they could receive a command, probe some arbitrary amount of memory 
and produce useful results (usually back in memory) before the system CPU
started executing the next instruction.

> The DELUA ethernet controller, for example, have a 68000 processor on it.
> Definitely faster than most PDP-11s it might have been attached to.
> Possibly faster than some of the VAXen as well.
> 
> The TMSCP controller for the Unibus have an 80186. Similar story there.
> 
> The UDA-50 MSCP controller is build out of AMD 2901 bitslices, and I would
> suspect it was pretty fast compared to most CPUs it was attached to as well...
> The list can be made longer...

All true, but none could possible perform all the necessary steps to 
interpret->process->saveresults->interrupt BEFORE the system CPU started to 
interpret the next instruction.

- Mark


Home | Main Index | Thread Index | Old Index