Floating device address space

From Computer History Wiki
Jump to: navigation, search

The floating device address space is a block of address space in the I/O page of the UNIBUS (and later the QBUS) used to hold the control registers of peripherals. Originally, each specific peripheral was assigned a fixed address for its registers; once the number of different device types became large, circa 1975, this was no longer feasible (or scalable), and the 'floating' approach was adopted instead.

In this, a block of address space (on the UNIBUS, from 0760010 to 0763776) is allocated for 'floating' devices. Within that block, devices are assigned in a fixed order, with all the devices of any type in a contiguous group. There is an empty minimum-sized group for each type of which there are no devices of that type present, and a gap between each group of devices (to mark the end of each group). (Each actual group must start on an address of the required modulus; e.g. if there is one DJ11 and one DH11, the DJ11 would be at 0760010, the 'end of DJ11s gap' would be at 0760020, the DH11 could not be at 0760030, but would have to be at 0760040.)

Floating devices, in assignment order:

Rank Device Size
(modulus)
Comment
1 DJ11 010
2 DH11 020
3 DQ11 010
4 DU11 010
5 DUP11 010
6 LK11 010
7A DMC11 010
7B DMR11 010
8 DZ11 010
9 KMC11 010
10 LPP11 010
11 VMV21 010
12 VMV31 020
13 DWR70 010
14 RL11 010 Only extra
15 LPA11 020 Only extra
16 KW11-C 010
17 Reserved 010
18 RX11 010 Only extra
19 DR11-W 010
20 DR11-B 010 After second
21 DMP11 010
22 DPV11 010
23 ISB11 010
23 DMV11 020

See also