Difference between revisions of "Floating device vectors"
(To go with floating addrs) |
(probable explanation for base units) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 56: | Line 56: | ||
| 20 || [[KW11-W]] || 010 | | 20 || [[KW11-W]] || 010 | ||
|- | |- | ||
− | | 21 || [[DU11]] || 010 | + | | 21 || [[DU11 synchronous serial line interface|DU11]] || 010 |
|- | |- | ||
| 22 || [[DUP11 synchronous serial line interface|DUP11]] || 010 | | 22 || [[DUP11 synchronous serial line interface|DUP11]] || 010 | ||
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 14: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]