HOME

TheInfoList



OR:

A diode matrix is a two-dimensional grid of wires: each "intersection" wherein one-row crosses over another has either a
diode A diode is a two-terminal electronic component that conducts current primarily in one direction (asymmetric conductance); it has low (ideally zero) resistance in one direction, and high (ideally infinite) resistance in the other. A diod ...
connecting them, or the wires are isolated from each other. It is one of the most popular techniques for implementing a
read-only memory Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing soft ...
. A diode matrix is used as the
control store A control store is the part of a CPU's control unit that stores the CPU's microprogram. It is usually accessed by a microsequencer. A control store implementation whose contents are unalterable is known as a Read Only Memory (ROM) or Read Only Sto ...
or
microprogram In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a laye ...
in many early computers. A logically equivalent transistor matrix is 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

A diode matrix ROM was used in many computers in the 1960s and 70s, as well as electronic desk
calculator An electronic calculator is typically a portable electronic device used to perform calculations, ranging from basic arithmetic to complex mathematics. The first solid-state electronic calculator was created in the early 1960s. Pocket-sized ...
s and
keyboard matrix circuit A keyboard matrix circuit is a design used in most electronic musical keyboards and computer keyboards in which the key switches are connected by a grid of wires, similar to a diode matrix. For example, 16 wires arranged in 8 rows and 8 columns can ...
s for computer terminals. A keyboard matrix circuit has a very similar grid of diodes, but is used differently. The
microsequencer In computer architecture and engineering, a sequencer or microsequencer generates the addresses used to step through the microprogram of a control store. It is used as a part of the control unit of a CPU or as a stand-alone generator for address ...
of many early computers, perhaps starting with the
Whirlwind I Whirlwind I was a Cold War-era vacuum tube computer developed by the MIT Servomechanisms Laboratory for the U.S. Navy. Operational in 1951, it was among the first digital electronic computers that operated in real-time for output, and the first ...
, 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 of
microprogramming In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a laye ...
as first described by
Maurice Wilkes Sir Maurice Vincent Wilkes (26 June 1913 – 29 November 2010) was a British computer scientist who designed and helped build the Electronic Delay Storage Automatic Calculator (EDSAC), one of the earliest stored program computers, and who in ...
in terms of a second diode matrix added to a diode matrix control store. 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 the
word A word is a basic element of language that carries an objective or practical meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consen ...
lines and
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented ...
lines. In schematic diagrams, the word lines are usually horizontal, and the bit lines are usually vertical. The control store on some
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
s was one or more programmable logic array chips. 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 and
ASIC An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
s use 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. When reverse engineering integrated circuits that 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. 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 called
complex instruction set computing A complex instruction set computer (CISC ) is a computer architecture in which single instructions can execute several low-level operations (such as a load from memory, an arithmetic operation, and a memory store) or are capable of multi-step ...
. 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 in
reduced instruction set computing In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
.


See also

*
Diode logic Diode logic (DL), or diode-resistor logic (DRL), is the construction of Boolean logic gates from diodes. Diode logic was used extensively in the construction of early computers, where semiconductor diodes could replace bulky and costly active v ...


References

{{Reflist


External links


Photo of DEC M792 Diode Matrix
used as boot ROM for
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold ...
computer
Photo of Telefunken diode matrix
in the collection of Computer History Museum Electronic circuits Non-volatile memory