Difference between revisions of "Floating device vectors"
m (Avoid redir) |
(probable explanation for base units) |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 86: | Line 86: | ||
| 34 || [[RL11 disk controller|RL11]] || 04 || Extra units | | 34 || [[RL11 disk controller|RL11]] || 04 || Extra units | ||
|- | |- | ||
| − | | 35 || [[RX211 floppy disk controller|RX211]] || 04 | + | | 35 || [[RX211 floppy disk controller|RX211]] || 04 || Missing from PDP-11 Architecture Handbook |
|- | |- | ||
| 36 || [[TS11]] || 04 || Extra units | | 36 || [[TS11]] || 04 || Extra units | ||
| Line 101: | Line 101: | ||
|- | |- | ||
| 42 || [[DR11-B parallel interface|DR11-B]] || 04 || Extra units | | 42 || [[DR11-B parallel interface|DR11-B]] || 04 || Extra units | ||
| + | |- | ||
| + | | 43 || DMP11 || 04 | ||
| + | |- | ||
| + | | 44 || DPV11 || 04 | ||
| + | |- | ||
| + | | 45 || ML11 || 02 || [[MASSBUS]] device | ||
| + | |- | ||
| + | | 46 || ISB11 || 04 | ||
| + | |- | ||
| + | | 47 || [[DMV11 Synchronous Controller|DMV11]] || 04 | ||
| + | |- | ||
| + | | 48 || [[Digital Ethernet UNIBUS Network Adapter|DEUNA]] || 02 | ||
| + | |- | ||
| + | | 49 || [[UDA50 Disk Controller|UDA50]] || 02 || Extra units | ||
| + | |- | ||
| + | | 50 || [[DMF32 Multi-Function Communications Interface|DMF32]] || 020 | ||
| + | |- | ||
| + | | 51 || KMS11 || 06 | ||
| + | |- | ||
| + | | 52 || PCL11-B || 04 | ||
| + | |- | ||
| + | | 53 || [[VS100]] || 02 | ||
| + | |- | ||
| + | | 54 || [[TU81 magtape drive|TU81]] || 02 || Extra units | ||
|} | |} | ||
| + | |||
| + | It will be noticed that the types with an 'extra unit annotation are all [[mass storage]] devices, generally [[disk]]s. This probably means that the 'base' unit is assigned a fixed vector, so that [[bootstrap]]s do not have to contain the lengthy algorithm to deal with floating vectors in order to boot from them. | ||
==See also== | ==See also== | ||
* [[Floating device address space]] | * [[Floating device address space]] | ||
| + | |||
| + | ==Further reading== | ||
| + | |||
| + | * ''PDP-11 Architecture Handbook'' (not online); 'Floating Vectors', in Appendix A | ||
| + | |||
| + | ==External links== | ||
| + | |||
| + | * [http://www.bitsavers.org/pdf/dec/handbooks/EB-20443-20_Peripherals_Handbook_1981.pdf peripherals handbook (1981-82)] - Appendix D, 'Floating Vectors' (pp. 492-493 of the PDF] | ||
[[Category: UNIBUS]] | [[Category: UNIBUS]] | ||
[[Category: QBUS]] | [[Category: QBUS]] | ||
Latest revision as of 13:43, 8 February 2023
Floating device vectors are a block of interrupt vectors in low main memory on the UNIBUS (and later the QBUS). Originally, each specific peripheral was assigned a fixed address for its vector(s); 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 vectors (from 0300 to 0776) 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. If a device type which has only one vector (4 bytes) has an odd number of devices, and is followed by a device type with pairs (or more) of vectors, which generally are aligned on a 010 boundary, there will have to be an unused vector between them.
The floating devices, in assignment order, are:
| Rank | Device | Size | Comment |
|---|---|---|---|
| 1 | DC11 | 010 | |
| 1 | TU58 | 010 | No config for systems with DC11 + TU58 |
| 2 | KL11 | 010 | Extra units |
| 2 | DL11-A/DL11-B | 010 | Extra units |
| 3 | DP11 | 010 | |
| 4 | DM11-A | 010 | |
| 5 | DN11 | 04 | |
| 6 | DM11-BB | 04 | |
| 7 | DH11 modem control | 04 | |
| 8 | DR11-A | 010 | |
| 9 | DR11-C | 010 | |
| 10A | PA611 | 04 | Reader |
| 10B | PA611 | 04 | Punch |
| 11 | LPD11 | 010 | |
| 12 | DT11 | 010 | |
| 13 | DX11 | 010 | |
| 14 | DL11-C/DL11-D/DL11-E | 010 | |
| 15 | DJ11 | 010 | |
| 16 | DH11 | 010 | |
| 17 | GT40 | 020 | |
| 17 | LSV11 | 020 | |
| 18 | LPS11 | 030 | |
| 19 | DQ11 | 010 | |
| 20 | KW11-W | 010 | |
| 21 | DU11 | 010 | |
| 22 | DUP11 | 010 | |
| 23 | DV11 | 014 | Also modem control |
| 24 | LK11 | 010 | |
| 25 | DWUN | 010 | |
| 26A | DMC11 | 010 | |
| 26B | DMR11 | 010 | |
| 27 | DZ11 | 010 | |
| 28 | KMC11 | 010 | |
| 29 | LPP11 | 010 | |
| 30 | VMV21 | 010 | |
| 31 | VMV31 | 020 | |
| 32 | VTV01 | 020 | |
| 33 | DWR70 | 020 | |
| 34 | RL11 | 04 | Extra units |
| 35 | RX211 | 04 | Missing from PDP-11 Architecture Handbook |
| 36 | TS11 | 04 | Extra units |
| 37 | LPA11 | 010 | |
| 38 | IP11 | 04 | |
| 39 | KW11-C | 010 | |
| 40 | RX11 | 04 | Extra units |
| 41 | DR11-W | 04 | |
| 42 | DR11-B | 04 | Extra units |
| 43 | DMP11 | 04 | |
| 44 | DPV11 | 04 | |
| 45 | ML11 | 02 | MASSBUS device |
| 46 | ISB11 | 04 | |
| 47 | DMV11 | 04 | |
| 48 | DEUNA | 02 | |
| 49 | UDA50 | 02 | Extra units |
| 50 | DMF32 | 020 | |
| 51 | KMS11 | 06 | |
| 52 | PCL11-B | 04 | |
| 53 | VS100 | 02 | |
| 54 | TU81 | 02 | Extra units |
It will be noticed that the types with an 'extra unit annotation are all mass storage devices, generally disks. This probably means that the 'base' unit is assigned a fixed vector, so that bootstraps do not have to contain the lengthy algorithm to deal with floating vectors in order to boot from them.
See also
Further reading
- PDP-11 Architecture Handbook (not online); 'Floating Vectors', in Appendix A
External links
- peripherals handbook (1981-82) - Appendix D, 'Floating Vectors' (pp. 492-493 of the PDF]