Be careful there. The PDP-11/20 doesn?t have MMU
either. And the
software indeed manipulates 16 bit addresses. But the I/O bus (Unibus)
has 18 bit addresses. The bus interface supplies 0 for the upper 2 bits
if the lower 16 are less than 0160000, and two bits of 1 if the lower
16 are 0160000 or higher (i.e., the PDP11 I/O page space).
The smae applies to the 11/05 and 11/10. And the 11/35, 11/40, 11/45, etc
(where hte MMU ias actually an option). And I asusme the 11/04.
So on Unibus at least, there is no such thing as a 16 bit peripheral;
all are 18 bit by definition.
It's sim,ialr of Qbus, but IIRC there is an I/O page signal on the bus
(produced by the arbiter, I think, anyway, it's the PCU card tht sources
it) which is asserted when the address is in the approprtiate range. So
the I/O cards don't ahve to decode the top few address lines.
One major difference between Unibus and Qbus concerns DMA (or NPR as DEC
called it). Qbuscan have 22 address lines, a peripheral doing DMA has to
generate the full 22 bit address. Unibus has 18 address lines. The Unibus
machine that allow 22 bit addressing (11/44, 11/70, etc) have their
memory o na private bus, on the Unibus. A DMA peripheral generates an 18
bit address which is then translated to a 22 bit address by a simple MMU
called the 'Unibus Map' which is part of the processor on such machines.
-tony