Diode matrix
Adiode matrixis a two-dimensional grid of wires: each "intersection" wherein one-row crosses over another has either adiodeconnecting them, or the wires are isolated from each other.
It is one of the popular techniques for implementing aread-only memory.A diode matrix is used as thecontrol storeormicroprogramin many early computers. A logically equivalenttransistor matrixis still used as the control store or microprogram or 'decode ROM' in many modern microprocessors.
A single row of the diode matrix (or transistor matrix) is activated at any one instant. Charge flows through each diode connected to that row. That activates the column corresponding to each row. The only activated control signals during that instant were those whose corresponding column wire was connected with a diode to that row.
History
[edit]A diode matrix ROM was used in many computers in the 1960s and 70s, as well as electronic deskcalculatorsandkeyboard matrix circuitsforcomputer terminals.A keyboard matrix circuit has a very similar grid of diodes, but is used differently.[1]
Themicrosequencerof many early computers, perhaps starting with theWhirlwind I,simply activated each row of the diode matrix in sequence, and after the last row was activated, started over again with the first row.
The technique ofmicroprogrammingas first described byMaurice Wilkesin terms of a second diode matrix added to a diode matrix control store.[2]Later computers used a variety of alternative implementations of the control store, but eventually returned to a diode matrix or transistor matrix. A person would microprogram the control store on such early computers by manually attaching diodes to selected intersections of thewordlines andbitlines. In schematic diagrams, the word lines are usually horizontal, and the bit lines are usually vertical.
The control store on someminicomputerswas one or moreprogrammable logic arraychips. The "blank" PLA from the chip manufacturer came with a diode matrix or transistor matrix with a diode (or transistor) at every intersection. A person would microprogram the control store on these computers by destroying the unwanted connections at selected intersections.
Some modern microprocessors andASICsuse a diode matrix or transistor matrix control store. Typically a blank grid is designed with a diode (or transistor) at every intersection, and then a mask is prepared that leaves out the unwanted connections at selected intersections. Whenreverse engineering integrated circuitsthat include such a mask-programmed decode ROM, one of the key steps is to take photographs of that ROM with enough resolution to separate each intersection site and enough color depth to distinguish between the "connected" and "not connected" intersections.[3][4]
Since the control store is in the critical path of computer execution, a fast control store is an important part of a fast computer. For a while the control store was many times faster than program memory, allowing a long, complicated sequence of steps through the control store per instruction fetch, leading to what is now calledcomplex instruction set computing.Later techniques for fast instruction cache sped that cache up to the point that the control store was only a few times faster than the instruction cache, leading to fewer and eventually only one step through the control store per instruction fetch inreduced instruction set computing.[2]
See also
[edit]References
[edit]- ^Watson, William J. (1959).TEAM — A Transistorized Electron Adding Machine(PDF)(MSc). Oklahoma State University. 452878.
- ^abSmotherman, Mark (2022) [1999]."A Brief History of Microprogramming".
- ^visual6502.org
- ^Skorobogato, Sergei P. (2001)."Copy Protection in Modern Microcontrollers".Cambridge University.
External links
[edit]- Photo of DEC M792 Diode Matrixused as boot ROM forPDP-11computer
- Photo of Telefunken diode matrixin the collection ofComputer History Museum