Difference between revisions of "KA11 CPU"

From Computer History Wiki
Jump to: navigation, search
(Start content)
 
(Add more)
Line 3: Line 3:
 
It was the only PDP-11 CPU which was not [[micro-program]]ed (since the cheap [[ROM]]s which make micro-programming cost-effective in smaller machines were not available at the time it was designed).
 
It was the only PDP-11 CPU which was not [[micro-program]]ed (since the cheap [[ROM]]s which make micro-programming cost-effective in smaller machines were not available at the time it was designed).
  
Instead, it uses a [[state machine]] to control the operation of the CPU; there are 5 major states:
+
==Internal structure==
 +
 
 +
The KA11 is basically divided into four main sections:
 +
 
 +
* Bus Interface
 +
* Data Paths
 +
* Registers
 +
* Control
 +
 
 +
The first and last communicate with the machine's main bus, the [[UNIBUS]].
 +
 
 +
There is a 16x16 register file, of which half are used to hold the machine's [[PDP-11 architecture|general registers]]; two of the others are used for internal temporary registers (Temp and Source). A number of other internal registers (e.g. the Bus Address Register) are implemented separately, so they are always available.
 +
 
 +
===State machine===
 +
 
 +
As noted above, the KA11 does not have microcode; instead, it uses a [[state machine]] to control the operation of the CPU. There are 5 major states:
  
 
* Fetch - obtain and decode the instruction;
 
* Fetch - obtain and decode the instruction;
Line 12: Line 27:
  
 
Not all instructions pass through all 5 states, although all do pass through 'Fetch'.
 
Not all instructions pass through all 5 states, although all do pass through 'Fetch'.
 +
 +
==Implementation==
 +
 +
The KA11 was implemented as a set of [[DEC card form factor|extended length]] [[FLIP CHIP]]s; most of the circuuitry was on quad-height ones, but there were some duals, and a few singles.
 +
 +
They all plugged into a custom [[backplane]], formed from three 4-slot backplane sections wired together into one monolithic unit.
 +
 +
The KA11 board set comprises:
 +
 +
{| class="wikitable"
 +
! Board !! Function
 +
|-
 +
| colspan="2" style="text-align:center;" | Single
 +
|-
 +
| M823 || Codes Data
 +
|-
 +
| M825 || Power Failure and Control
 +
|-
 +
| colspan="2" style="text-align:center;" | Dual
 +
|-
 +
| M224 (two instances) || Data Paths (8 bits; 2 latches, adder)
 +
|-
 +
| M225 || Registers (16 bits x 16)
 +
|-
 +
| M821 || Register Control
 +
|-
 +
| M822 || Flag Control
 +
|-
 +
| M824 || Priority
 +
|-
 +
| colspan="2" style="text-align:center;" | Quad
 +
|-
 +
| M724 || Bus and Console Control
 +
|-
 +
| M725 || Bus Interface and IR
 +
|-
 +
| M726 || IR Decode
 +
|-
 +
| M727 || State Control
 +
|-
 +
| M728 || Timing and States
 +
|-
 +
| M820 || Data Path Control
 +
|}
 +
 +
{{PDP-11}}

Revision as of 04:58, 20 August 2016

The KA11 is the CPU of the PDP-11/20, the first PDP-11.

It was the only PDP-11 CPU which was not micro-programed (since the cheap ROMs which make micro-programming cost-effective in smaller machines were not available at the time it was designed).

Internal structure

The KA11 is basically divided into four main sections:

  • Bus Interface
  • Data Paths
  • Registers
  • Control

The first and last communicate with the machine's main bus, the UNIBUS.

There is a 16x16 register file, of which half are used to hold the machine's general registers; two of the others are used for internal temporary registers (Temp and Source). A number of other internal registers (e.g. the Bus Address Register) are implemented separately, so they are always available.

State machine

As noted above, the KA11 does not have microcode; instead, it uses a state machine to control the operation of the CPU. There are 5 major states:

  • Fetch - obtain and decode the instruction;
  • Source - decode the source field of a double-operand instruction, fetch the data, and store it in a temporary;
  • Destination - decode the destination field, and obtain the data;
  • Execute - use the data obtained in previous states to perform the requested operation, including writing data back to the desination;
  • Service - perform special operations such as interrupts, traps, etc.

Not all instructions pass through all 5 states, although all do pass through 'Fetch'.

Implementation

The KA11 was implemented as a set of extended length FLIP CHIPs; most of the circuuitry was on quad-height ones, but there were some duals, and a few singles.

They all plugged into a custom backplane, formed from three 4-slot backplane sections wired together into one monolithic unit.

The KA11 board set comprises:

Board Function
Single
M823 Codes Data
M825 Power Failure and Control
Dual
M224 (two instances) Data Paths (8 bits; 2 latches, adder)
M225 Registers (16 bits x 16)
M821 Register Control
M822 Flag Control
M824 Priority
Quad
M724 Bus and Console Control
M725 Bus Interface and IR
M726 IR Decode
M727 State Control
M728 Timing and States
M820 Data Path Control