Difference between revisions of "RK11-C disk controller"

From Computer History Wiki
Jump to: navigation, search
m (Module Utilization charts: typo)
m (External links: Vonada's Maxim #12 at work on an RK11-C)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''RK11-C''' is the earliest version of the [[RK11 disk controller]]. (Nothing is known of the -A and -B, if they ever existed as products.)
+
[[Image:DBRK11C.jpg|350px|thumb|right|RK11-C disk controller, Double Buffered version]]
  
Like many of the earlier large peripheral controllers for the [[PDP-11]], it was a large custom [[wire-wrap]]ped [[backplane]] which bolted into the front of a 19 inch rack, such as an [[H960]]; into it plugged about 40 small M-Series [[FLIP CHIP]]s.
+
The '''RK11-C''' is the earliest known version of the [[RK11 disk controller]]. (Nothing is known of the -A and -B, if they ever existed as products, although see [[RK11 disk controller#Early RK11 version|here]] for more about the RK11-C's predecessor). It is mostly [[program compatible]] with the replacement [[RK11 disk controller#RK11-D|RK11-D]].
  
The backplane is wired for connection to a standard [[DEC indicator panel]], but no inlay for such has even been sighted, although the RK11-C Engineering Drawings allow one to work out exactly what such an inlay would have looked like. It does however appear than an [[RK11 disk controller#Early RK11 version|earlier version]] did have such an indicator panel.
+
Although the drive interface is slightly different between the RK11-C and RK11-D, the RK11-C can handle both the earlier [[RK02/03 disk drive]]s, and the later [[RK05 disk drive|RK05s]] (the latter primarily intended for use with the RK11-D - see below).
 +
 
 +
Like many of the earlier large [[device controller]]s for the [[PDP-11]], it was a large custom [[wire-wrap]]ped [[backplane]] which bolted into the front or back of a 19 inch rack, such as an [[H960 rack|H950]]; into it plugged about 40 small M-Series [[FLIP CHIP]]s.
 +
 
 +
The backplane is wired for connection to a standard [[DEC indicator panel]], but no inlay for such has even been sighted, although the RK11-C Engineering Drawings allow one to work out exactly what such an inlay would have looked like. It does however appear than the hypothesized earlier version (above) did have such an indicator panel.
 +
 
 +
==Drive buses and RK05 compatibility==
 +
 
 +
The RK11-C has two different drive buses, each which can handle up to four drives. (The buses are not independent - most lines are shared between the two; so only one can be active at a time.) The only lines not in common are the 'drive select' lines (A-D on bus 1 - slot 12 on the backplane, and E-F, H, J on bus 2 - slot 10). Each select line is assigned to one drive; to select that drive, the corresponding line is asserted.
 +
 
 +
RK11-D's use a different, but upwardly compatible drive select mechanism, and RK05's can detect whether they are connected to an RK11-C or RK11-D, and respond appropriately.
  
 
==Double Buffered RK11-C==
 
==Double Buffered RK11-C==
  
[[Image:RK11-C-DB_DataPaths.jpg|295px|right|thumb|RK11-C-DB data paths]]
+
[[Image:RK11-C-DB_DataPaths.jpg|295px|right|thumb|RK11-C-DB data paths (from the last page of the engineering drawings)]]
  
There is also a rare variant of the RK11-C, the 'Double Buffer' RK11-C. It adds two 16-bit buffer registers (ABUF and BBUF), which are chained in an <!-- bi-directional --> alternate data path between the UNIBUS and RKDB buffer register.
+
There is also a rare variant of the RK11-C, the 'Double Buffer' RK11-C. It adds two 16-bit buffer registers (ABUF and BBUF), which are chained in an alternate data path to the RKDB buffer register from the two sources that can feed it (the UNIBUS and the DSB - Data Serial Buffer<!-- DEC docs also give 'Disk SB' expansion -->, where data to/from the disk is serialized).
  
The motivation is not explicitly known (no documentation other than the engineering drawings is now extant), but it likely prevented under-run <!-- /over-run --> errors when there was considerable competing UNIBUS [[DMA]] traffic.
+
The motivation is not explicitly known (no documentation other than the engineering drawings is now extant), but it likely prevented under-run/over-run errors when there was considerable competing UNIBUS [[Direct Memory Access|DMA]] traffic.
  
 
===Engineering drawings===
 
===Engineering drawings===
Line 22: Line 32:
  
 
* 24 - DSB/Bus -> ABuf Controls
 
* 24 - DSB/Bus -> ABuf Controls
* 25 - ABuf/BBug Reg
+
* 25 - ABuf/BBuf Reg
 
* 26 - Interbuffer Transfer Control
 
* 26 - Interbuffer Transfer Control
 
* 27 - Buffer Control
 
* 27 - Buffer Control
Line 56: Line 66:
 
| M002 || 1 || 3 || 15 Loads
 
| M002 || 1 || 3 || 15 Loads
 
|-
 
|-
| M105 || 1 || 1 || Address selector
+
| M105 || 1 || 1 || [[M105 Address Selector|Address selector]]
 
|-
 
|-
 
| M111 || 2 || 5 || Inverter
 
| M111 || 2 || 5 || Inverter
Line 114: Line 124:
 
| M623 || 3 || 3 || Bus driver
 
| M623 || 3 || 3 || Bus driver
 
|-
 
|-
| M782 || 1 || 1 || Interrupt control
+
| M782 || 1 || 1 || [[M782 Interrupt Control|Interrupt control]]
 
|-
 
|-
 
| M784 || 3 || 3 || UNIBUS receivers
 
| M784 || 3 || 3 || UNIBUS receivers
Line 129: Line 139:
 
* M795 - Word Count and Current Memory Address
 
* M795 - Word Count and Current Memory Address
  
==Module Utilization charts==
+
==Module Utilization chart==
  
The following tables give the FLIP CHIP locations in the backplanes for the RK11-C, and the Double-Buffered RK11-C.
+
The following table gives the FLIP CHIP locations in the backplane for the RK11-C and the Double-Buffered RK11-C (added FLIP CHIPs for the latter are in ''italics''). The Flip Chip module utilization chart is as follows (* = Connector):
 
 
===RK11-C Module Utilization Chart===
 
 
 
The Flip Chip module utilization chart for the RK11-C is as follows (* = Connector):
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! Slot !! A !! B !! C !! D
 
! Slot !! A !! B !! C !! D
 
|-
 
|-
| 1 || colspan="2" style="text-align:center;" | UNIBUS in
+
| 1 || colspan="2" style="text-align:center;" | UNIBUS in || ''M606'' || ''M113''
 
|-
 
|-
| 2 || colspan="2" style="text-align:center;" | UNIBUS out
+
| 2 || colspan="2" style="text-align:center;" | UNIBUS out || ''M115'' || ''M002''
 
|-
 
|-
| 3
+
| 3 || ''M149'' || ''M149'' || ''M208'' || ''M208''
 
|-
 
|-
| 4
+
| 4 || ''M111'' || ''M002'' || ''M205'' || ''M113''
 
|-
 
|-
| 5 || M105 || M784
+
| 5 || M105 || M784 || ''M208'' || ''M208''
 
|-
 
|-
| 6 || M782 || M79
+
| 6 || M782 || M796 || ''M304'' || ''M304''
 
|-
 
|-
| 7 || colspan="2" style="text-align:center;" | M795
+
| 7 || colspan="2" style="text-align:center;" | M795 || ''M606'' || ''M112''
 
|-
 
|-
| 8 || M784 || M784
+
| 8 || M784 || M784 || ''M112'' || ''M111''
 
|-
 
|-
| 9 || || || M623 || M307
+
| 9 || ''M117'' || ''M111'' || M623 || M307
 
|-
 
|-
 
| 10 || colspan="2" style="text-align:center;" | Disk bus 2* || M623 || M307
 
| 10 || colspan="2" style="text-align:center;" | Disk bus 2* || M623 || M307
 
|-
 
|-
| 11 ||  || || M623 || M307
+
| 11 ||  || ''M113'' || M623 || M307
 
|-
 
|-
 
| 12 || colspan="2" style="text-align:center;" | Disk bus 1* || M207 || M163
 
| 12 || colspan="2" style="text-align:center;" | Disk bus 1* || M207 || M163
Line 205: Line 211:
 
|}
 
|}
  
W130 = Maintenance board
+
W130 = Maintenance board (optional)
 
<br>
 
<br>
 
6775 = Cable to indicator panel
 
6775 = Cable to indicator panel
  
===Double Buffered RK11-C Module Utilization Chart===
+
In the ordinary RK11-C, slots C08 and D08 hold pass-through connectors, which allow [[KM11-A Maintenance Set]]s to be plugged in and used from the outside of the rack holding the RK11-C. A pair of [[Flexprint cable]]s connect them to the 'usual' KM11 locations, in slots A30 and B30.
 
 
The Flip Chip module utilization chart for the Double Buffered RK11-C is as follows (* = Connector):
 
 
 
{| class="wikitable"
 
! Slot !! A !! B !! C !! D
 
|-
 
| 1 || colspan="2" style="text-align:center;" | UNIBUS in || M606 || M113
 
|-
 
| 2 || colspan="2" style="text-align:center;" | UNIBUS out || M115 || M002
 
|-
 
| 3 || M149 || M149 || M208 || M208
 
|-
 
| 4 || M111 || M002 || M205 || M113
 
|-
 
| 5 || M105 || M784 || M208 || M208
 
|-
 
| 6 || M782 || M796 || M304 || M304
 
|-
 
| 7 || colspan="2" style="text-align:center;" | M795 || M606 || M112
 
|-
 
| 8 || M784 || M784 || M112 || M111
 
|-
 
| 9 || M117 || M111 || M623 || M307
 
|-
 
| 10 || colspan="2" style="text-align:center;" | Disk bus 2* || M623 || M307
 
|-
 
| 11 ||  || M113 || M623 || M307
 
|-
 
| 12 || colspan="2" style="text-align:center;" | Disk bus 1* || M207 || M163
 
|-
 
| 13 || M798 || G736 || G740 || M405
 
|-
 
| 14 || M149 || M149 || M116 || M161
 
|-
 
| 15 || M149 || M149 || M304 || M119
 
|-
 
| 16 || M149 || M149 || M113 || M113
 
|-
 
| 17 || M239 || M238 || M216 || M141
 
|-
 
| 18 || M239 || M214 || M115 || M115
 
|-
 
| 19 || M214 || M214 || M121 || M112
 
|-
 
| 20 || M208 || M208 || M111 || M111
 
|-
 
| 21 || M203 || M203 || M112 || M112
 
|-
 
| 22 || M149 || M149 || M205 || M117
 
|-
 
| 23 || M149 || M149 || M203 || M203
 
|-
 
| 24 || M121 || M002 || M116 || M115
 
|-
 
| 25 || M216 || M797 || M611 || M617
 
|-
 
| 26 || M141 || M119 || M113 || M304
 
|-
 
| 27 || M304 || M112 || M112 || M113
 
|-
 
| 28 || M236 || M121 || M216 || M216
 
|-
 
| 29 || M205 || || M117 || M117
 
|-
 
| 30 || colspan="2" style="text-align:center;" | W130* || M113 || M113
 
|-
 
| 31 || colspan="2" style="text-align:center;" | 6775* || M113 || M205
 
|-
 
| 32 || colspan="2" style="text-align:center;" | 6775* || M116 || M216
 
|}
 
 
 
W130 = Maintenance board (optional)
 
<br>
 
6775 = Cable to indicator panel
 
  
==Documentation==
+
==External links==
  
* [http://toresbe.dreamhosters.com/redirect.php?res=bitsavers&doc=dec/unibus/RK11-C_manual1971.pdf RK11-C manual, 1971]
+
* [http://www.bitsavers.org/pdf/dec/unibus/RK11-C_manual1971.pdf RK11-C moving head disk drive controller manual] (DEC-11-HRKA-D)
* [http://toresbe.dreamhosters.com/redirect.php?res=bitsavers&doc=dec/unibus/RK11-C_schemFeb1971.pdf RK11-C schematics, February 1971]
+
* [http://www.bitsavers.org/pdf/dec/unibus/RK11-C_schemFeb1971.pdf RK11-C moving head disk drive controller engineering drawings]
 +
* [http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/dload/RK11-C-DB_EngrDrws_Dec72.pdf RK11-C-DB Double Buffer Disk Control Engineering Drawings]
 +
* [https://fritzm.github.io/unix-v6-trouble-1.html PDP-11/45: V6 Unix Troubleshooting, Part I] [https://fritzm.github.io/unix-v6-trouble-2.html Part II] - a wonderful, lengthy and painful example of [[Vonada's Engineering Maxims|Vonada's Maxim #12]] at work on an RK11-C
  
[[Category:UNIBUS Storage Controllers]]
+
[[Category: UNIBUS Storage Controllers]]

Latest revision as of 13:44, 26 March 2023

RK11-C disk controller, Double Buffered version

The RK11-C is the earliest known version of the RK11 disk controller. (Nothing is known of the -A and -B, if they ever existed as products, although see here for more about the RK11-C's predecessor). It is mostly program compatible with the replacement RK11-D.

Although the drive interface is slightly different between the RK11-C and RK11-D, the RK11-C can handle both the earlier RK02/03 disk drives, and the later RK05s (the latter primarily intended for use with the RK11-D - see below).

Like many of the earlier large device controllers for the PDP-11, it was a large custom wire-wrapped backplane which bolted into the front or back of a 19 inch rack, such as an H950; into it plugged about 40 small M-Series FLIP CHIPs.

The backplane is wired for connection to a standard DEC indicator panel, but no inlay for such has even been sighted, although the RK11-C Engineering Drawings allow one to work out exactly what such an inlay would have looked like. It does however appear than the hypothesized earlier version (above) did have such an indicator panel.

Drive buses and RK05 compatibility

The RK11-C has two different drive buses, each which can handle up to four drives. (The buses are not independent - most lines are shared between the two; so only one can be active at a time.) The only lines not in common are the 'drive select' lines (A-D on bus 1 - slot 12 on the backplane, and E-F, H, J on bus 2 - slot 10). Each select line is assigned to one drive; to select that drive, the corresponding line is asserted.

RK11-D's use a different, but upwardly compatible drive select mechanism, and RK05's can detect whether they are connected to an RK11-C or RK11-D, and respond appropriately.

Double Buffered RK11-C

RK11-C-DB data paths (from the last page of the engineering drawings)

There is also a rare variant of the RK11-C, the 'Double Buffer' RK11-C. It adds two 16-bit buffer registers (ABUF and BBUF), which are chained in an alternate data path to the RKDB buffer register from the two sources that can feed it (the UNIBUS and the DSB - Data Serial Buffer, where data to/from the disk is serialized).

The motivation is not explicitly known (no documentation other than the engineering drawings is now extant), but it likely prevented under-run/over-run errors when there was considerable competing UNIBUS DMA traffic.

Engineering drawings

The engineering drawings for the Double Buffer RK11-C are very similar to those of the standard RK11-C. The differences are listed below.

(The engineering drawings available online for the original RK11-C have slightly different numbering for some pages, due to a change involving page 18, 'Disk Cable and Termination'. The Double Buffer set includes that page, but numbered it 21. The re-numbering of that first drawing from 18 to 21 caused the prints numbered from 19 to 21 in the original RK11-C set to be numbered one lower in the Double Buffer set; e.g. 'RKDB Data Paths' was 21 in the original RK11-C set, and is 20 in the Double Buffer set, and 'Bus "D" Drvrs and Rcvrs' changed from 19 to 18.)

New prints:

  • 24 - DSB/Bus -> ABuf Controls
  • 25 - ABuf/BBuf Reg
  • 26 - Interbuffer Transfer Control
  • 27 - Buffer Control

Major changes:

  • 10 - RKDB and Control
  • 11B - Reg Sel, NPR & Int Control

Minor changes:

  • 13 - Adder Control (Adder Control #2 flop set input logic)
  • 15 - RKBA - RKWC - RKMR (logic lower left corner)
  • 16 - Errors (logic center driving DLT flop)
  • 17 - Cable Drivers (hand-written gate lower left)
  • 20 - RKDB Data Paths (replace 'BUS D' with 'BBUF' on all data bits)

Module count table

The following table gives a listing of the FLIP CHIPs used in the RK11-C and the Double-Buffered RK11-C. (Drawn from module utilization drawings, confirmed in module count charts.)

Single height boards:

Type RK11-C Double-Buffered Function
G736 1 1 Jumper
G740 1 1 Disk selection
M002 1 3 15 Loads
M105 1 1 Address selector
M111 2 5 Inverter
M112 5 7 NOR gate
M113 7 10 10 x 2-Input NAND gates
M115 3 4 8 x 3-Input NAND gates
M116 3 3 6 x 4-Input NOR gates
M117 3 4 6 x 4-Input NAND gates
M119 2 2 3 x 8-Input NAND gates
M121 3 3 AND/NOR gates
M141 2 2 NAND/NOR gates
M149 10 12 9 x 2-NAND wired OR matrix
M161 1 1 Binary to octal/decimal decoder
M163 1 1 Dual binary to decimal decoder
M203 4 4 8 x SR flip-flops
M205 3 4 5 x 'D' flip-flops
M207 1 1 J-K Flip-flops (3-3 configuration)
M208 2 6 8-bit buffer shift register
M214 3 3 6-bit register
M216 5 5 6 x flip-flops
M236 1 1 12-bit binary up/down counter
M238 1 1 Synchronous 4-bit up/down counter
M239 2 2 3 x 4-bit up/down counter/register
M304 3 5 One shot delay
M307 3 3 Integrating one shot
M405 1 1 Crystal clock
M606 0 2 Pulse generator
M611 1 1 High speed power inverter
M617 1 1 6 x 4-input NAND buffers
M623 3 3 Bus driver
M782 1 1 Interrupt control
M784 3 3 UNIBUS receivers
M796 1 1 UNIBUS master control
M797 1 1 Register select
M798 1 1 UNIBUS drivers

Double height boards:

  • M795 - Word Count and Current Memory Address

Module Utilization chart

The following table gives the FLIP CHIP locations in the backplane for the RK11-C and the Double-Buffered RK11-C (added FLIP CHIPs for the latter are in italics). The Flip Chip module utilization chart is as follows (* = Connector):

Slot A B C D
1 UNIBUS in M606 M113
2 UNIBUS out M115 M002
3 M149 M149 M208 M208
4 M111 M002 M205 M113
5 M105 M784 M208 M208
6 M782 M796 M304 M304
7 M795 M606 M112
8 M784 M784 M112 M111
9 M117 M111 M623 M307
10 Disk bus 2* M623 M307
11 M113 M623 M307
12 Disk bus 1* M207 M163
13 M798 G736 G740 M405
14 M149 M149 M116 M161
15 M149 M149 M304 M119
16 M149 M149 M113 M113
17 M239 M238 M216 M141
18 M239 M214 M115 M115
19 M214 M214 M121 M112
20 M208 M208 M111 M111
21 M203 M203 M112 M112
22 M149 M149 M205 M117
23 M149 M149 M203 M203
24 M121 M002 M116 M115
25 M216 M797 M611 M617
26 M141 M119 M113 M304
27 M304 M112 M112 M113
28 M236 M121 M216 M216
29 M205 M117 M117
30 W130* M113 M113
31 6775* M113 M205
32 6775* M116 M216

W130 = Maintenance board (optional)
6775 = Cable to indicator panel

In the ordinary RK11-C, slots C08 and D08 hold pass-through connectors, which allow KM11-A Maintenance Sets to be plugged in and used from the outside of the rack holding the RK11-C. A pair of Flexprint cables connect them to the 'usual' KM11 locations, in slots A30 and B30.

External links