Difference between revisions of "M782 Interrupt Control"
m (Better cat) |
m (→External links: +Coverage in early handbook) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[Image: | + | [[Image:M782InterruptControl.jpg|250px|thumb|right|M782, A revision etch]] |
− | The '''M782 Interrupt Control''' (later versions M7820 and M7821) is a [[Digital Equipment Corporation|DEC]] [[FLIP CHIP]] which implements the '[[interrupt]] control' function for the [[UNIBUS]]. It contains two separate interrupt [[circuit]] blocks; they can be wired to produce separate interrupts, or either can be used to provide the device with [[Direct Memory Access|DMA]] capability. | + | The '''M782 Interrupt Control''' (later versions '''M7820''' and '''M7821''') is a [[Digital Equipment Corporation|DEC]] [[FLIP CHIP]] which implements the '[[interrupt]] control' function for the [[UNIBUS]]. It contains two separate interrupt [[circuit]] blocks; they can be wired to produce separate interrupts, or either can be used to provide the device with [[Direct Memory Access|DMA]] capability. |
− | It was used, usually along with an [[M105 Address Selector]], in early [[PDP-11]] [[device controller]]s which plugged into an [[Small Peripheral Controller|SPC]] slot. It was also used in a number of early devices which were built out of a custom [[backplane]] and a large number of FLIP CHIPs, such as the [[RK11|RK11-C]]. Some later devices which no longer used a large number of small Flip Chips (such as the [[TM11|TMB11]]) also used it. | + | It was used, usually along with an [[M105 Address Selector]], in early [[PDP-11]] [[device controller]]s which plugged into an [[Small Peripheral Controller|SPC]] slot. It was also used in a number of early devices which were built out of a custom [[backplane]] and a large number of FLIP CHIPs, such as the [[RK11-C disk controller|RK11-C]]. Some later devices which no longer used a large number of small Flip Chips (such as the [[TM11 magtape controller|TMB11]]) also used it. |
+ | |||
+ | ==Revisions== | ||
+ | |||
+ | [[Image:M7820InterruptControl.jpg|250px|thumb|right|M7820, C revision etch]] | ||
+ | |||
+ | This board, unlike the M105, appeared in a plethora of different versions; not just the M782 (above), M7820 (right) and M7821 (below), but also different [[printed circuit board|etch]] revisions of each, many of which differ very significantly from each other. (The number appears to have been changed for functionality/configuration changes; below). | ||
+ | |||
+ | Although some of the changes are due to functionality changes, it appears that many of them were attempts to get rid of [[race]] issues in the [[bus grant|grant]]-passing [[arbiter|arbitration]] circuity, which is often quite different between the versions. The import of the changes is not always completely clear, but the D version of the M7821, the last, contains a number of [[delay line]]s not present on the earlier models; this is significant because when the [[meta-stability]] issue at the heart of race problems was finally fully understood, it became clear that delays were the only 'solution'. | ||
+ | |||
+ | The M782 seems to have appeared in revisions A though E (it is not known if there was an un-lettered initial version, but that does not seem to have been DEC practise at the time), although examples of the C and D are not extant (it is not known if they actually went into production). The M7820 appears to have had A-C, with only the C extant. The M7821 appears in A-D revisions, with the A not extant: the early one, marked 'M7821B' (below); the C (image [[:Image:M7821RevC.jpg|here]]), which is rare; and the D (bottom). | ||
==Jumpers== | ==Jumpers== | ||
− | [[Image:M7821InterruptControl.jpg|250px|thumb|left|M7821 | + | [[Image:M7821InterruptControl.jpg|250px|thumb|left|M7821, B revision etch]] |
The boards contained a number of [[jumper]]s which could be used to set confguration options. | The boards contained a number of [[jumper]]s which could be used to set confguration options. | ||
Line 17: | Line 27: | ||
('''''Note:''''' The 1972 Edition of the 'Digital Logic Handbook' shows a jumper on address bit 2; however neither the prints, nor actual boards, agree with this.) | ('''''Note:''''' The 1972 Edition of the 'Digital Logic Handbook' shows a jumper on address bit 2; however neither the prints, nor actual boards, agree with this.) | ||
− | The M7821 adds a jumper on address bit 2 (04); that bit can be controlled by either the device's electronics, or the jumper. (The sense of the vector jumpers is inverted between the M7821 and the two previous versions.) | + | The M7821 adds a jumper on address bit 2 (04); that bit can be controlled by either the device's electronics, or the jumper. (The sense of the vector jumpers is also inverted between the M7821 and the two previous versions; they are 'in' for '1', and 'out' for '0', on the M7821.) |
===Operation=== | ===Operation=== | ||
− | The M7821 has a number of operational improvements over the M7820. | + | [[Image:M7821RevD.jpg|250px|thumb|right|M7821, D revision etch]] |
+ | |||
+ | The M7821 has a number of operational improvements over the M7820. (''Note'': Not all the non-vector jumpers are on all etch revisions.) | ||
It will decline interrupt [[bus grant|grants]] when there is a DMA request pending, reducing the DMA latency. Not all PDP-11 [[Central Processing Unit|CPUs]] can handle this properly; a jumper (un-numbered; it is up near the handle) disables this behaviour when it is removed. | It will decline interrupt [[bus grant|grants]] when there is a DMA request pending, reducing the DMA latency. Not all PDP-11 [[Central Processing Unit|CPUs]] can handle this properly; a jumper (un-numbered; it is up near the handle) disables this behaviour when it is removed. | ||
Line 27: | Line 39: | ||
The A interrupt block can allow a device to do multiple DMA cycles with a single bus grant, when pin J2 is left high; [[ground]]ing pin J2 signals that the DMA cycles are finished. | The A interrupt block can allow a device to do multiple DMA cycles with a single bus grant, when pin J2 is left high; [[ground]]ing pin J2 signals that the DMA cycles are finished. | ||
− | + | ==Images== | |
+ | |||
+ | * [[:File:M7821.jpg|Another B-revision M7821]] | ||
+ | |||
+ | ==See also== | ||
+ | |||
+ | * [[Bus Arbitration on the Unibus and QBUS]] - Goes into detail on the grant-passing race issue, and why a delay is the only 'solution' | ||
+ | |||
+ | ==External links== | ||
+ | |||
+ | * [http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP11_PeripheralsHbk_1972.pdf pdp11 peripherals and interfacing handbook (1972 edition)] - the M7820 is covered on pp. 215-221 (pp. 225-231 of the PDF); the M7821 is covered on pp. 222-223 (pp. 232-233 of the PDF) | ||
+ | * [http://so-much-stuff.com/pdp8/flipchip/modules.htm FlipChip Modules] - Images and engineering drawings for FLIP CHIP modules | ||
+ | ** [http://svn.so-much-stuff.com/svn/trunk/Eagle/projects/DEC/Mxxx/M782/ M782] | ||
+ | ** [http://svn.so-much-stuff.com/svn/trunk/Eagle/projects/DEC/Mxxx/M7820/ M7820] | ||
+ | ** [http://svn.so-much-stuff.com/svn/trunk/Eagle/projects/DEC/Mxxx/M7821/ M7821] | ||
− | + | [[Category: UNIBUS]] | |
+ | [[Category: DEC Boards]] | ||
+ | [[Category: DEC Documentation Errors]] |
Latest revision as of 03:04, 28 November 2023
The M782 Interrupt Control (later versions M7820 and M7821) is a DEC FLIP CHIP which implements the 'interrupt control' function for the UNIBUS. It contains two separate interrupt circuit blocks; they can be wired to produce separate interrupts, or either can be used to provide the device with DMA capability.
It was used, usually along with an M105 Address Selector, in early PDP-11 device controllers which plugged into an SPC slot. It was also used in a number of early devices which were built out of a custom backplane and a large number of FLIP CHIPs, such as the RK11-C. Some later devices which no longer used a large number of small Flip Chips (such as the TMB11) also used it.
Revisions
This board, unlike the M105, appeared in a plethora of different versions; not just the M782 (above), M7820 (right) and M7821 (below), but also different etch revisions of each, many of which differ very significantly from each other. (The number appears to have been changed for functionality/configuration changes; below).
Although some of the changes are due to functionality changes, it appears that many of them were attempts to get rid of race issues in the grant-passing arbitration circuity, which is often quite different between the versions. The import of the changes is not always completely clear, but the D version of the M7821, the last, contains a number of delay lines not present on the earlier models; this is significant because when the meta-stability issue at the heart of race problems was finally fully understood, it became clear that delays were the only 'solution'.
The M782 seems to have appeared in revisions A though E (it is not known if there was an un-lettered initial version, but that does not seem to have been DEC practise at the time), although examples of the C and D are not extant (it is not known if they actually went into production). The M7820 appears to have had A-C, with only the C extant. The M7821 appears in A-D revisions, with the A not extant: the early one, marked 'M7821B' (below); the C (image here), which is rare; and the D (bottom).
Jumpers
The boards contained a number of jumpers which could be used to set confguration options.
Vectors
One set of jumpers controls the interrupt vector. The M782 can set vector address bits 3-7 (i.e. vectors from 0 through 0374); bit 2 (04) is controlled by the device's circuitry. The M7820 adds bit 8 (0400; i.e. vectors of the form 0xx0 and 0xx4).
(Note: The 1972 Edition of the 'Digital Logic Handbook' shows a jumper on address bit 2; however neither the prints, nor actual boards, agree with this.)
The M7821 adds a jumper on address bit 2 (04); that bit can be controlled by either the device's electronics, or the jumper. (The sense of the vector jumpers is also inverted between the M7821 and the two previous versions; they are 'in' for '1', and 'out' for '0', on the M7821.)
Operation
The M7821 has a number of operational improvements over the M7820. (Note: Not all the non-vector jumpers are on all etch revisions.)
It will decline interrupt grants when there is a DMA request pending, reducing the DMA latency. Not all PDP-11 CPUs can handle this properly; a jumper (un-numbered; it is up near the handle) disables this behaviour when it is removed.
The A interrupt block can allow a device to do multiple DMA cycles with a single bus grant, when pin J2 is left high; grounding pin J2 signals that the DMA cycles are finished.
Images
See also
- Bus Arbitration on the Unibus and QBUS - Goes into detail on the grant-passing race issue, and why a delay is the only 'solution'
External links
- pdp11 peripherals and interfacing handbook (1972 edition) - the M7820 is covered on pp. 215-221 (pp. 225-231 of the PDF); the M7821 is covered on pp. 222-223 (pp. 232-233 of the PDF)
- FlipChip Modules - Images and engineering drawings for FLIP CHIP modules