[Simh] DMA to IO space

Mark Pizzolato Mark at infocomm.com
Thu Sep 6 21:00:05 EDT 2018


On Thursday, September 6, 2018 at 5:31 PM, Bob Supnik wrote:
> It's not a quirk, it's a design feature.
> 
> The PDP11 simulator didn't start out as a generalized, all-singing, all-dancing
> emulation of all possible PDP11 models; it started as a J11 and PDP-11/73
> simulator - one processor type, one system, Qbus only. In the same way, the
> VAX didn't start out as a generalized emulation of all possible VAX models; it
> started as a CVAX and MV3900 simulator - one processor type, one system,
> Qbus only. These simulator targets were chosen because I managed both chip
> projects and had all the design documents, including microcode, for chips and
> systems.
> 
> Both the PDP11 and the VAX got extended for entirely legitimate reasons
> - to run a broader range of software. Getting to early versions of Unix meant
> supporting the PDP-11/45. Getting to early versions of VMS and BSD meant
> supporting the VAX-11/780. In both cases, the peculiarities of the Unibus
> versus the Qbus were not considered. The Unibus was treated as an 18b
> version of the Qbus.
> 
> As the simulators have been generalized, detailed divergences from how the
> hardware worked - particularly model by model variances - have surfaced
> repeatedly, and the simulators have been refactored accordingly. For example,
> the discovery that the VAXstation code in Ultrix violated the SRM but
> nonetheless worked on a MicroVAX II required major surgery on the handling
> of unaligned references. Unibus DMA to the IO page is just another example of
> model-specific differences that must now be accommodated in order to run
> more code.
> 
> Except for models that have been written with complete design
> documentation in hand, simulation of a model always has limits to its fidelity.
> Within the PDP11 family, I'll vouch for the J11. Many of the other models are
> just sketches (think 11/60), really. Within the VAX family, I'll vouch for the
> CVAX/MV3900 and the 11/780. The others are adaptations from one of those
> two bases and may be incomplete or incorrect on details.
> 
> Mark has a good understanding of what needs to be done. In theory, the same
> modifications need to be retrofitted to the 11/780 and other Unibus VAX
> models, as well as to the KS10, although I don't think they have the internal
> register shielding problem that the PDP-11 does.

I'm going to leave that as a theory until a use case actually comes along that 
wants to do this.  None of the few examples of devices that want to do NPR
to the I/O Page have related software that runs on any VAX OS.

When Tim added the initial NPR I/O page support some 5 years ago, that was 
limited to the PDP11.  A refinement example has come along now, but not a
peep on the VAX Unibus side of things.

I looked at it and it's not just cut and paste, so without a test case I'd rather
implement something that actually works rather than might work.

- Mark


More information about the Simh mailing list