home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / pdp11 / doc / csr.vector.paper < prev    next >
Text File  |  1994-07-27  |  34KB  |  932 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                           CSR AND VECTOR ADDRESS SELECTION
  10.  
  11.  
  12.  
  13.           Presented to the Los Angeles Area RSX DECUS LUG on 10-Jan-84 by:
  14.  
  15.  
  16.                                    Alan E. Frisbie
  17.                                  Flying Disk Systems
  18.  
  19.  
  20.  
  21.              Originally presented at the Spring '83 DECUS Symposium by:
  22.  
  23.  
  24.                                   Atlant G. Schmidt
  25.                                  Principal Engineer
  26.                                   PDP11 Engineering
  27.                             Digital Equipment Corporation
  28.  
  29.  
  30.  
  31.  
  32.         SYNOPSIS:
  33.  
  34.              Devices are assigned addresses on Digital's I/O busses based on
  35.         an orderly scheme.  If the user follows this scheme, an operating
  36.         system can automatically determine what I/O devices are connected to
  37.         any given bus.  If the user violates this addressing scheme, peculiar
  38.         results can occur (e.g., "Where's this 37th DMP11 that it's
  39.         complaining about?").
  40.  
  41.              The discussion that follows is equally valid for the UNIBUS or
  42.         LSI-Bus (Q-Bus), and for PDP11's or VAX's.
  43.  
  44.  
  45.         HISTORY AND REASONING
  46.  
  47.              When the PDP11 architecture was developed, a 4 kilo-word region
  48.         of the physical-address-space was allocated to contain all the I/O
  49.         registers.  This was called the I/O PAGE.  Even at that time, it was                                        ___ ____
  50.         realized that this was a limited amount of space, thus making these
  51.         addresses valuable.
  52.  
  53.              A similar situation existed at the other end of memory.  Only
  54.         64. interrupt vectors existed between 000000(8) an 000377(8).  Even
  55.         though the vector region was later expanded to 128. vectors
  56.         (000000(8) to 000777(8)), this remained prime real-estate.
  57.  
  58.              Communications was the sticking point.  A system could contain
  59.         no communications devices, or it could contain a great many.  It was
  60.  
  61.  
  62.         CSR and Vector address selection                             Page   2
  63.  
  64.  
  65.  
  66.         also impossible to predice the mix of devices which might be
  67.         attached.  It would clearly be impossible to reserve enough fixed I/O
  68.         page and interrupt vector addresses to satisfy everyone's needs all
  69.         of the time.
  70.  
  71.              Therefore, space was reserved only for very common devices.
  72.         These devices were assigned FIXED CSR ADDRESSES, generally in the                                    _____ ___ _________
  73.         upper part of the I/O page.  If anything answers at that fixed CSR
  74.         address, it is assumed to be a device of the type that is assigned
  75.         that fixed address.  If nothing answers, that type of device is
  76.         assumed to be non-existent on this bus.  Many of these devices were
  77.         also assigned FIXED INTERRUPT-VECTOR ADDRESSES in the lower part of                      _____ ________________ _________
  78.         the interrupt-vector space.
  79.  
  80.              Meanwhile, a large region near the bottom of the I/O page was
  81.         reserved as the space to hold all those unpredictable communications
  82.         devices, as well as overflow from the fixed devices.  This region of
  83.         addresses was named the FLOATING ADDRESS SPACE.  A similar region of                                ________ _______ _____
  84.         the vector space was reserved for FLOATING INTERRUPT VECTORS.                                          ________ _________ _______
  85.  
  86.              Due to the limited number of interrupt vectors available, many
  87.         devices which have fixed CSR addresses must still employ a floating
  88.         interrupt vector address.
  89.  
  90.  
  91.         OPERATION
  92.  
  93.              Within the floating address space, it is impossible to tell what
  94.         type of device we are addressing simply by considering its address.
  95.         After all, didn't we just say the devices can float around anywhere
  96.         in that space?  Not quite.
  97.  
  98.              Devices addressed within the floating address space must be
  99.         placed in a SPECIFIC ORDER.  All the DJ11's must come first, followed
  100.         by all the DH11's, followed by all the DQ11's, etc.
  101.  
  102.              "Fine", you say, "but how do I know when the DJ's stop and the
  103.         DH's start?
  104.  
  105.              Firstly, the first DJ11 msut be addressed at the very bottom of
  106.         the floating address space (760010(8)).  That is our reference point.
  107.         The offset of 10 octal from the start of the I/O page is for memory
  108.         sizing and to guarantee non-existant memory (NXM) errors from DMA
  109.         devices (to avoid having them accidentally write all over your I/O
  110.         page).
  111.  
  112.              Secondly, all the DJ11's must be addressed contiguously.  There
  113.         can be no gaps between the end of one DJ's register block and the
  114.         start of the next DJ's.  This holds true for all additional devices
  115.         in the floating address space.  Exception:  This assumes modulo 10(8)
  116.         address blocks.  Example of the exception:  If a device only has 3
  117.         registers, there will be a gap of 1 word before the start of the next
  118.         device of that class.
  119.  
  120.  
  121.         CSR and Vector address selection                             Page   3
  122.  
  123.  
  124.  
  125.              Finally, at the end of the DJ11 block, there must be a 1-word
  126.         gap in the address space (i.e., instead of another DJ11, there is an
  127.         unused location).  This lets the software know that it's time to stop
  128.         counting DJ's and time to start counting DH's.  Enough additional
  129.         words must also be left unused to bring you to the first valid
  130.         address for the next group of devices.  For example, DH's must start
  131.         on a 20(8) boundary.  If the DJ gap ends up at 760020(8), the words
  132.         between 760022(8) and 760036(8) (inclusive) are also left unused.
  133.         The first DH11 is then placed at 760040(8).
  134.  
  135.              This gap must follow each device group EVEN IF THERE WERE NO
  136.         EXISTENT DEVICES IN THAT GROUP.  Translation:  Even if you have no
  137.         DJ11's, you must leave the DJ gap so that the software can know that
  138.         it should advance to the DH group.
  139.  
  140.  
  141.         FLOATING ADDRESS GROUP ORDER
  142.  
  143.              Listed below is the address assignment order for floating device
  144.         groups.  This called the PRIORITY RANKING FOR FLOATING ADDRESSES.                                 ________ _______ ___ ________ _________
  145.         This list is added to from time to time.
  146.  
  147.             DJ11
  148.             DH11
  149.             DQ11
  150.             DU11
  151.             DUP11
  152.             LK11
  153.             DMC11
  154.             DZ11
  155.             KMC11
  156.             LPP11
  157.             VMV21
  158.             VMV31
  159.             DWR70
  160.             RL11
  161.             LPA11-K
  162.             KW11-C
  163.             <Reserved>
  164.             RX211
  165.             DR11-W
  166.             DR11-B*
  167.             DMP11
  168.             DPV11
  169.             ISB11
  170.             DMV11
  171.             DEUNA
  172.             UDA50
  173.             DMF32
  174.             KMS11
  175.             VS100
  176.  
  177.         *Please read the note carefully
  178.  
  179.  
  180.         CSR and Vector address selection                             Page   4
  181.  
  182.  
  183.  
  184.              Note that the first controller of some of these devices is
  185.         assigned a fixed address.  Only the 2nd through Nth controllers go to
  186.         the floating address space.  The DR11-B is a special case:  The first
  187.         DR11-B occupies a fixed CSR address and fixed vector.  The second
  188.         DR11-B occupies a fixed CSR address but floating vector.  Subsequent
  189.         DR11-B's float both their CSR address and vector.
  190.  
  191.  
  192.         FLOATING VECTORS
  193.  
  194.              While more devices are assigned to the floating vector space,
  195.         this represents an easier problem for some operating systems to
  196.         handle.  These operating systems locate a device in the floating
  197.         address space (and thus know its type).  They then force an interrupt
  198.         from the device and note which location it vectored through.  RSTS/E
  199.         is an example of such a system.  You only need to be sure that
  200.         vectors are uniquely assigned (no devices share the same vector).
  201.  
  202.              Other operating systems calculate floating vectors similarly to
  203.         floating addresses and expect that their calculations will be born
  204.         out.  For these systems, you must take care and assign vectors in the
  205.         right order.  No gaps are needed, since the vectors aren't used to
  206.         distinguish groups of devices.
  207.  
  208.  
  209.         FLOATING VECTOR GROUP ORDER
  210.  
  211.              Listed below is the assignment order for floating vectors.  This
  212.         is called the PRIORITY RANKING FOR FLOATING VECTORS.  This list is                      ________ _______ ___ ________ _______
  213.         added to from time to time.  Please read an entire column from top to
  214.         bottom before advancing to the next column.
  215.  
  216.             DC11 or TU58               DQ11                 LPA11-K
  217.             KL11, DL11-A, -B           KW11-W               IP11, IP300
  218.             DP11                       DU11                 KW11-C
  219.             DM11-A                     DUP11                RX11, RX211
  220.             DN11                       DV11                 DR11-W
  221.             DM11-B                     LK11                 DR11-B*
  222.             DH Modem Ctl               DWUN                 DMP11
  223.             DR11-A                     DMC11                DPV11
  224.             DR11-C                     DMR11                ML11
  225.             PR611                      DZ11, DZS11          ISB11
  226.             PP611                      DZ32                 DMV11
  227.             LPD11                      KMC11                DEUNA
  228.             DT07                       LPP11                UDA50
  229.             DX11                       VMV21                DMF32
  230.             DL11-C, -D, -E             VMV31                KMS11
  231.             DJ11                       VTV01                PCL11-B
  232.             DH11                       DWR70                VS100
  233.             GT40, VSV11                RL11
  234.             LPS11                      TS11, TU80
  235.  
  236.         * Please read the note under 'FLOATING ADDRESS GROUP ORDER'
  237.  
  238.  
  239.         CSR and Vector address selection                             Page   5
  240.  
  241.  
  242.  
  243.         EXCEPTIONS AND SUMMARY
  244.  
  245.              The CSR and vector address assignment method described in this
  246.         document is the standard method used by Digital Equipment Corporation
  247.         and is expected by the auto-sizing algorithms in DEC's software.  If
  248.         you are ready, willing, and able (!) to over-ride the auto-sizing
  249.         algorithms, you may choose a different addressing method.
  250.  
  251.              Perhaps you have a development system with oodles of hardware on
  252.         it.  It demands a certain addressing scheme.  Meanwhile, your
  253.         production machines may have little or none of this special hardware.
  254.         It would be convenient to assign I/O at the same addresses in all of
  255.         your machines (thus simplifying documentation, etc.).  In this case,
  256.         it probably makes sense to choose to over-ride the system's
  257.         auto-sizing.  By way of example, how many DZ11's have you seen
  258.         addressed at 760100(8), regardless of what else is on the system?
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.          
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                               UNIBUS ADDRESS SPACE -- I
  272.  
  273.  
  274.  
  275.  
  276.  
  277.                  +--------------------+
  278.         777776   |                    |
  279.                  +--                --+
  280.                  |        I/O         |
  281.                  +--                --+
  282.                  |                    |
  283.                 ~~~                  ~~~
  284.                                                4  K W   ( 8 K B )
  285.                 ~~~                  ~~~
  286.                  |       Space        |
  287.                  +--                --+
  288.         760000   |                    |
  289.                  +--------------------+
  290.         757776   |                    |
  291.                  +--                --+
  292.                  |      Memory        |
  293.                  +--                --+
  294.                  |                    |
  295.                 ~~~                  ~~~
  296.                                                1 2 4  K W   ( 2 4 8 K B )
  297.                 ~~~                  ~~~
  298.                  |                    |
  299.                  +--                --+
  300.                  |       Space        |
  301.                  +--                --+
  302.         000000   |                    |
  303.                  +--------------------+
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.                              UNIBUS ADDRESS SPACE -- II
  311.  
  312.  
  313.  
  314.  
  315.  
  316.                 ~~~                  ~~~
  317.                  |                    |
  318.                  +--                --+
  319.                  |    P r o g r a m   |
  320.                  +--                --+
  321.                  |      S p a c e     |
  322.                  +--                --+
  323.         001000   |                    |
  324.                  +--------------------+
  325.         000776   |                    |
  326.                  +--                --+
  327.                  |    V e c t o r     |
  328.                  +--                --+
  329.                  |                    |
  330.                 ~~~                  ~~~
  331.                 ~~~                  ~~~
  332.                  |       Space        |
  333.                  +--                --+
  334.         000000   |                    |
  335.                  +--------------------+
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.                                  RESERVED LOCATIONS
  343.  
  344.  
  345.  
  346.  
  347.  
  348.                 ~~~                  ~~~
  349.                  |                    |
  350.                  +--                --+
  351.                  |                    |
  352.                  +--                --+
  353.         760010   |                    |   <-------   Start of Floating
  354.                  +--------------------+              Address Space
  355.                  |  . . . . . . . . . |   <------+
  356.                  +--   . . . . . .  --+          |
  357.                  |  . . . . . . . . . |          |    Reserved to DEC
  358.                  +--   . . . . . .  --+          |---   to guarantee
  359.                  |  . . . . . . . . . |          |         N X M
  360.                  +--   . . . . . .  --+          |
  361.         760000   |  . . . . . . . . . |   <-------
  362.                  +--------------------+
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.                                     Vectors -- I
  370.  
  371.  
  372.  
  373.         A Vector:
  374.  
  375.                       For PDP11's
  376.  
  377.                  +--------------------+
  378.         000302   |       P S W        |
  379.                  +--                --+
  380.         000300   |        P C         |
  381.                  +--------------------+
  382.  
  383.  
  384.  
  385.  
  386.                        For VAX's
  387.  
  388.                  +--------------------+
  389.         000302   |      Hi   P C      |
  390.                  +--                --+
  391.         000300   |   Low PC + Info    |
  392.                  +--------------------+
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.                                     Vectors -- II
  400.  
  401.  
  402.  
  403.         Typical Assignment:
  404.  
  405.                 ~~~                  ~~~
  406.                  |__                __|
  407.         000330   |____________________|
  408.                  |__   D J 2 (T) :  __|
  409.                  |____________________|
  410.                  |__   D J 2 (R) :  __|
  411.         000320   |____________________|
  412.                  |__   D J 1 (T) :  __|
  413.                  |____________________|
  414.                  |__   D J 1 (R) :  __|
  415.         000310   |____________________|
  416.                  |__   D J 0 (T) :  __|
  417.                  |____________________|
  418.                  |__   D J 0 (R) :  __|
  419.         000300   |____________________|
  420.                  |__                __|
  421.                  |                    |
  422.                 ~~~                  ~~~
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.                                NATURAL BOUNDARIES - I
  430.  
  431.  
  432.  
  433.         1 Word Boundaries -- Hypothetical device 'XX"
  434.  
  435.                 ~~~                  ~~~
  436.                  |                    |
  437.                  +--                --+
  438.         760030   |                    |
  439.                  +--------------------+
  440.                  |       X X 7 :      |
  441.                  +--------------------+
  442.                  |       X X 6 :      |
  443.                  +--------------------+
  444.                  |       X X 5 :      |
  445.                  +--------------------+
  446.         760020   |       X X 4 :      |
  447.                  +--------------------+
  448.                  |       X X 3 :      |
  449.                  +--------------------+
  450.                  |       X X 2 :      |
  451.                  +--------------------+
  452.                  |       X X 1 :      |
  453.                  +--------------------+
  454.         760010   |       X X 0 :      |
  455.                  +--------------------+
  456.                  |  . . . . . . . . . |
  457.                  +--   . . . . . .  --+
  458.                  |  . . . . . . . . . |
  459.                  +--   . . . . . .  --+
  460.                  |  . . . . . . . . . |
  461.                  +--   . . . . . .  --+
  462.         760000   |  . . . . . . . . . |
  463.                  +--------------------+
  464.  
  465.  
  466.         Note: This is not a valid configuration for auto-configuration.
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.                                NATURAL BOUNDARIES - II
  474.  
  475.  
  476.  
  477.         2 Word Boundaries -- DN11 Auto-dialer
  478.  
  479.                 ~~~                  ~~~
  480.                  |                    |
  481.                  +--                --+
  482.         760030   |                    |
  483.                  +--------------------+
  484.                  |                    |
  485.                  +--     D N 3 :    --+
  486.                  |                    |
  487.                  +--------------------+
  488.                  |                    |
  489.                  +--     D N 2 :    --+
  490.         760020   |                    |
  491.                  +--------------------+
  492.                  |                    |
  493.                  +--     D N 1 :    --+
  494.                  |                    |
  495.                  +--------------------+
  496.                  |                    |
  497.                  +--     D N 0 :    --+
  498.         760010   |                    |
  499.                  +--------------------+
  500.                  |  . . . . . . . . . |
  501.                  +--   . . . . . .  --+
  502.                  |  . . . . . . . . . |
  503.                  +--   . . . . . .  --+
  504.                  |  . . . . . . . . . |
  505.                  +--   . . . . . .  --+
  506.         760000   |  . . . . . . . . . |
  507.                  +--------------------+
  508.  
  509.  
  510.         Note: This is not a valid configuration for auto-configuration.
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.                               NATURAL BOUNDARIES - III
  518.  
  519.  
  520.  
  521.         4 Word Boundaries -- DZ11 Multiplexer
  522.  
  523.                 ~~~                  ~~~
  524.                  |                    |
  525.                  +--                --+
  526.         760030   |                    |
  527.                  +--------------------+
  528.                  |                    |
  529.                  +--                --+
  530.                  |                    |
  531.                  +--     D Z 1 :    --+
  532.                  |                    |
  533.                  +--                --+
  534.         760020   |                    |
  535.                  +--------------------+
  536.                  |                    |
  537.                  +--                --+
  538.                  |                    |
  539.                  +--     D Z 0 :    --+
  540.                  |                    |
  541.                  +--                --+
  542.         760010   |                    |
  543.                  +--------------------+
  544.                  |  . . . . . . . . . |
  545.                  +--   . . . . . .  --+
  546.                  |  . . . . . . . . . |
  547.                  +--   . . . . . .  --+
  548.                  |  . . . . . . . . . |
  549.                  +--   . . . . . .  --+
  550.         760000   |  . . . . . . . . . |
  551.                  +--------------------+
  552.  
  553.  
  554.         Note: This is not a valid configuration for auto-configuration.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.                               NATURAL BOUNDARIES -- IV
  562.  
  563.  
  564.  
  565.         8 Word Boundaries -- DH11 Multiplexer
  566.  
  567.                 ~~~                  ~~~
  568.                  |__                __|
  569.         760060   |____________________|
  570.                  |__                __|
  571.                  |__                __|
  572.                  |__                __|
  573.         760050   |__     D H 1 :    __|
  574.                  |__                __|
  575.                  |__                __|
  576.                  |__                __|
  577.         760040   |____________________|
  578.                  |__                __|
  579.                  |__                __|
  580.                  |__                __|
  581.         760030   |__     D H 0 :    __|
  582.                  |__                __|
  583.                  |__                __|
  584.                  |__                __|
  585.         760020   |____________________|
  586.                  |__                __|
  587.                  |__                __|
  588.                  |__                __|
  589.         760010   |____________________|
  590.                  |__ . . . . . . .  __|
  591.                  |__  . . . . . .   __|
  592.                  |__ . . . . . . .  __|
  593.         760000   |____________________|
  594.  
  595.  
  596.         N o t e   c h a n g e   o f   s c a l e ! !        _ _ _ _   _ _ _ _ _ _   _ _   _ _ _ _ _ _ _
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                                NATURAL BOUNDARIES -- V
  604.  
  605.  
  606.  
  607.                                 Misconfiguring a DH11
  608.  
  609.                       Okay                 Bad                Okay                      ____                 ___                ____
  610.  
  611.                 ~~~           ~~~   ~~~           ~~~   ~~~           ~~~
  612.                  |_           _|     |_           _|     |_           _|
  613.         760060   |_           _|     |_           _|     |_____________|
  614.                  |_           _|     |_           _|     |_ Silo Stat _|
  615.                  |_           _|     |_           _|     |_   Break   _|
  616.                  |_           _|     |_           _|     |_   B A R   _|
  617.         760050   |_           _|     |_____________|     |_  Byte Ct  _|
  618.                  |_           _|     |_  Cur Adr  _|     |_  Cur Adr  _|
  619.                  |_           _|     |_   L P R   _|     |_   L P R   _|
  620.                  |_           _|     |_ Rcvd Char _|     |_ Rcvd Char _|
  621.         760040   |_____________|     |____S_C_R____|     |____S_C_R____|                                          _ _ _               _ _ _
  622.                  |_ Silo Stat _|     |_ Silo Stat _|     |_           _|
  623.                  |_   Break   _|     |_   Break   _|     |_           _|
  624.                  |_   B A R   _|     |_   B A R   _|     |_           _|
  625.         760030   |_  Byte Ct  _|     |___Byte_Ct___|     |_           _|                                         ____ __
  626.                  |_  Cur Adr  _|     |_           _|     |_           _|
  627.                  |_   L P R   _|     |_           _|     |_           _|
  628.                  |_ Rcvd Char _|     |_           _|     |_           _|
  629.         760020   |____S_C_R____|     |_____________|     |_____________|                      _ _ _
  630.                  |_           _|     |_           _|     |_           _|
  631.                  |_           _|     |_           _|     |_           _|
  632.                  |_           _|     |_           _|     |_           _|
  633.         760010   |_____________|     |_____________|     |_____________|
  634.                  |_ . . . . . _|     |_ . . . . . _|     |_ . . . . . _|
  635.                  |_  . . . .  _|     |_  . . . .  _|     |_  . . . .  _|
  636.                  |_ . . . . . _|     |_ . . . . . _|     |_ . . . . . _|
  637.         760000   |_____________|     |_____________|     |_____________|
  638.  
  639.  
  640.         Even though the addressing jumpers allow you to set the DH11
  641.         to smaller boundaries, logic within the DH11 requires that it
  642.         be set to an address lying on an octaword boundary.
  643.  
  644.         Failure to do so causes the register groups to 'leapfrog' to
  645.         funny addresses.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.                                       GAPS -- I
  653.  
  654.  
  655.  
  656.         2 DJ11's and at least one DH11
  657.  
  658.                 ~~~                  ~~~
  659.                  |__                __|
  660.                  |__                __|
  661.         760060   |____________________|
  662.                  |__                __|
  663.                  |__                __|
  664.                  |__                __|
  665.         760050   |__     D H 0 :    __|
  666.                  |__                __|
  667.                  |__                __|
  668.                  |__                __|
  669.         760040   |____________________| <-- Next possible
  670.                  |__ / / / / / / /  __|     DH address
  671.                  |__  / / / / / /   __|
  672.                  |____________________|
  673.         760030   |____________________| <-- DJ Gap
  674.                  |__                __|
  675.                  |__     D J 1 :    __|
  676.                  |__                __|
  677.         760020   |____________________|
  678.                  |__                __|
  679.                  |__     D J 0 :    __|
  680.                  |__                __|
  681.         760010   |____________________|
  682.                  |__ . . . . . . .  __|
  683.                  |__  . . . . . .   __|
  684.                  |__ . . . . . . .  __|
  685.         760000   |____________________|
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.                                      GAPS -- II
  693.  
  694.  
  695.  
  696.         3 DJ11's and at least one DH11
  697.  
  698.                 ~~~                  ~~~
  699.                  |__                __|
  700.                  |__                __|
  701.         760100   |____________________|
  702.                  |__                __|
  703.                  |__                __|
  704.                  |__                __|
  705.         760070   |__     D H 0 :    __|
  706.                  |__                __|
  707.                  |__                __|
  708.                  |__                __|
  709.         760060   |____________________| <-- Next possible
  710.                  |__                __|     DH address
  711.                  |__  / / / / / /   __|
  712.                  |__  / / / / / /   __|
  713.         760050   |__                __|
  714.                  |__  / / / / / /   __|
  715.                  |__  / / / / / /   __|
  716.                  |____________________|
  717.         760040   |____________________| <-- DJ Gap
  718.                  |__                __|
  719.                  |__     D J 2 :    __|
  720.                  |__                __|
  721.         760030   |____________________|
  722.                  |__                __|
  723.                  |__     D J 1 :    __|
  724.                  |__                __|
  725.         760020   |____________________|
  726.                  |__                __|
  727.                  |__     D J 0 :    __|
  728.                  |__                __|
  729.         760010   |____________________|
  730.                  |__ . . . . . . .  __|
  731.                  |__  . . . . . .   __|
  732.                  |__ . . . . . . .  __|
  733.         760000   |____________________|
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.                                      GAPS -- III
  741.  
  742.  
  743.  
  744.         No DJ11's and at least two DH11's
  745.  
  746.                 ~~~                  ~~~
  747.                  |__                __|
  748.                  |__                __|
  749.         760060   |____________________|
  750.                  |__                __|
  751.                  |__                __|
  752.                  |__                __|
  753.         760050   |__     D H 1 :    __|
  754.                  |__                __|
  755.                  |__                __|
  756.                  |__                __|
  757.         760040   |____________________|
  758.                  |__                __|
  759.                  |__                __|
  760.                  |__                __|
  761.         760030   |__     D H 1 :    __|
  762.                  |__                __|
  763.                  |__                __|
  764.                  |__                __|
  765.         760020   |____________________| <-- Next possible
  766.                  |__   / / / / / /  __|     DH address
  767.                  |__  / / / / / /   __|
  768.                  |____________________|
  769.         760010   |____________________| <-- DJ Gap
  770.                  |__ . . . . . . .  __|
  771.                  |__  . . . . . .   __|
  772.                  |__ . . . . . . .  __|
  773.         760000   |____________________|
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                      GAPS -- IV
  781.  
  782.  
  783.  
  784.         3 DJ11's, no DH11's and at least one DQ11
  785.  
  786.                 ~~~                  ~~~
  787.                  |__                __|
  788.                  |__                __|
  789.         760100   |____________________|
  790.                  |__                __|
  791.                  |__    D Q 0 :     __|
  792.                  |__                __|
  793.         760070   |____________________| <-- Next possible
  794.                  |__  / / / / / /   __|     DQ address
  795.                  |__  / / / / / /   __|
  796.                  |____________________|
  797.         760060   |____________________| <-- Next possible
  798.                  |__                __|     DH address -- 
  799.                  |__  / / / / / /   __|     DH Gap
  800.                  |__  / / / / / /   __|
  801.         760050   |__                __|
  802.                  |__  / / / / / /   __|
  803.                  |__  / / / / / /   __|
  804.                  |____________________|
  805.         760040   |____________________| <-- DJ Gap
  806.                  |__                __|
  807.                  |__     D J 2 :    __|
  808.                  |__                __|
  809.         760030   |____________________|
  810.                  |__                __|
  811.                  |__     D J 1 :    __|
  812.                  |__                __|
  813.         760020   |____________________|
  814.                  |__                __|
  815.                  |__     D J 0 :    __|
  816.                  |__                __|
  817.         760010   |____________________|
  818.                  |__ . . . . . . .  __|
  819.                  |__  . . . . . .   __|
  820.                  |__ . . . . . . .  __|
  821.         760000   |____________________|
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.                                       GAPS -- V
  829.  
  830.  
  831.  
  832.         Why your first DZ11 is at 760100
  833.         (No DJ's, DH's, DQ's, DU's, DUP's, LK's, or DMC's)
  834.  
  835.                 ~~~                  ~~~
  836.         760110   |____________________|
  837.                  |                    |
  838.                  |      D Z 0 :       |
  839.                  |                    |
  840.         760100   |____________________| <-- Next possible
  841.                  |__   / / / / / /  __|     DZ address
  842.                  |__  / / / / / /   __|
  843.                  |____________________|
  844.         760070   |____________________| <-- Next possible
  845.                  |__   / / / / / /  __|     DMC address --
  846.                  |__  / / / / / /   __|     DMC Gap
  847.                  |____________________|
  848.         760060   |____________________| <-- Next possible
  849.                  |__   / / / / / /  __|     LK address --
  850.                  |__  / / / / / /   __|     LK Gap
  851.                  |____________________|
  852.         760050   |____________________| <-- Next possible
  853.                  |__   / / / / / /  __|     DUP address --
  854.                  |__  / / / / / /   __|     DUP Gap
  855.                  |____________________|
  856.         760040   |____________________| <-- Next possible
  857.                  |__   / / / / / /  __|     DU address --
  858.                  |__  / / / / / /   __|     DU Gap
  859.                  |____________________|
  860.         760030   |____________________| <-- Next possible
  861.                  |__   / / / / / /  __|     DQ address --
  862.                  |__  / / / / / /   __|     DQ Gap
  863.                  |____________________|
  864.         760020   |____________________| <-- Next possible
  865.                  |__   / / / / / /  __|     DH address --
  866.                  |__  / / / / / /   __|     DH Gap
  867.                  |____________________|
  868.         760010   |____________________| <-- Next possible
  869.                  |__ . . . . . . .  __|     DJ address --
  870.                  |__  . . . . . .   __|     DJ Gap
  871.                  |__ . . . . . . .  __|
  872.         760000   |____________________|
  873.  
  874.  
  875.                     USING VMS SYSGEN TO CONFIGURE A PDP-11 SYSTEM
  876.  
  877.              One of the most useful tools available to the PDP-11
  878.         configuration person is the VAX/VMS SYSGEN utility.  SYSGEN has all
  879.         of the autoconfiguration rules built into it for all Floating Unibus                                                             ________
  880.         devices, both VAX and PDP-11.  It also knows about any of the
  881.         fixed-CSR and vector devices that can be put on a VAX Unibus.  Thus,
  882.         SYSGEN knows about the RK611 (RK07) and RL11 (RL02), but not the
  883.         RK05.
  884.  
  885.              The best part is that to get a listing of CSR's and vectors, you
  886.         need not be a privileged VMS user -- any random user can do it.  Full
  887.         information is in the VMS Utilities manual, but the following example
  888.         is all you really need:
  889.  
  890.  
  891.         $ run sys$system:sysgen
  892.  
  893.         SYSGEN>  help configure
  894.  
  895.         CONFIGURE
  896.  
  897.           Prompts by "DEVICE>" and accepts UNIBUS device names.  Output is
  898.           the set of CSR and vector addresses that AUTOCONFIGURE will use.
  899.  
  900.           Form of input:
  901.  
  902.                       device[[,n],p]    (Default n = 1, p = 0)
  903.  
  904.                   where n is the number of devices on the UNIBUS being
  905.                   configured and p is the optional number of devices
  906.                   on all previous UNIBUS in a mulitple UNIBUS system.
  907.                   Note that p does not affect the addresses generated,
  908.                   only the device names.
  909.  
  910.           Additional information available:
  911.  
  912.           Qualifiers
  913.           /INPUT = <file-spec>  (D=SYS$INPUT)
  914.           /OUTPUT = <file-spec> (D=SYS$OUTPUT)        /NORESET
  915.  
  916.         SYSGEN>  configure
  917.  
  918.         DEVICE> rl11
  919.         DEVICE> dh11
  920.         DEVICE> tu58
  921.         DEVICE> dmc11,2
  922.         DEVICE> dz11
  923.         DEVICE> ^Z
  924.  
  925.         Device: TU58    Name: DDA   CSR: 776500   Vector: 300*  Support: yes 
  926.         Device: DH11    Name: YHA   CSR: 760020*  Vector: 310*  Support: no 
  927.         Device: DMC11   Name: XMA   CSR: 760110*  Vector: 320*  Support: yes 
  928.         Device: DMC11   Name: XMB   CSR: 760120*  Vector: 330*  Support: yes 
  929.         Device: DZ11    Name: TTA   CSR: 760140*  Vector: 340*  Support: yes 
  930.         SYSGEN>  ^Z
  931.         $
  932.