Diode matrix

Last updated

A diode matrix is a two-dimensional grid of wires: each "intersection" wherein one-row crosses over another has either a diode connecting them, or the wires are isolated from each other.

Contents

It is one of the most popular techniques[ citation needed ] for implementing a read-only memory. A diode matrix is used as the control store or microprogram 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 calculators and keyboard matrix circuits for computer terminals. A keyboard matrix circuit has a very similar grid of diodes, but is used differently. [1]

The microsequencer of many early computers, perhaps starting with the Whirlwind 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 of microprogramming as first described by Maurice Wilkes in 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 the word lines and bit lines. In schematic diagrams, the word lines are usually horizontal, and the bit lines are usually vertical.

The control store on some minicomputers 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 ASICs 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. [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 called complex 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 in reduced instruction set computing. [2]

See also

Related Research Articles

<span class="mw-page-title-main">Central processing unit</span> Central computer component which executes instructions

A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions in the program. This contrasts with external components such as main memory and I/O circuitry, and specialized processors such as graphics processing units (GPUs).

The control unit (CU) is a component of a computer's central processing unit (CPU) that directs the operation of the processor. A CU typically uses a binary decoder to convert coded instructions into timing and control signals that direct the operation of the other units.

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 Storage (ROS); one whose contents are alterable is known as a Writable Control Store (WCS).

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 layer of hardware-level instructions that implement higher-level machine code instructions or internal finite-state machine sequencing in many digital processing elements. Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle.

<span class="mw-page-title-main">StrongARM</span> Family of computer microprocessors

The StrongARM is a family of computer microprocessors developed by Digital Equipment Corporation and manufactured in the late 1990s which implemented the ARM v4 instruction set architecture. It was later acquired by Intel in 1997 from DEC's own Digital Semiconductor division as part of a settlement of a lawsuit between the two companies over plagiarism. Intel then continued to manufacture it before replacing it with the StrongARM-derived ARM-based follow-up architecture called XScale in the early 2000s.

<span class="mw-page-title-main">Static random-access memory</span> Type of computer memory

Static random-access memory is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed.

<span class="mw-page-title-main">Intel 4004</span> 4-bit microprocessor

The Intel 4004 is a 4-bit central processing unit (CPU) released by Intel Corporation in 1971. Sold for US$60, it was the first commercially produced microprocessor, and the first in a long line of Intel CPUs.

<span class="mw-page-title-main">Microarchitecture</span> Component of computer engineering

In computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as µarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular processor. A given ISA may be implemented with different microarchitectures; implementations may vary due to different goals of a given design or due to shifts in technology.

<span class="mw-page-title-main">POWER4</span> 2001 family of microprocessors by IBM

The POWER4 is a microprocessor developed by International Business Machines (IBM) that implemented the 64-bit PowerPC and PowerPC AS instruction set architectures. Released in 2001, the POWER4 succeeded the POWER3 and RS64 microprocessors, enabling RS/6000 and eServer iSeries models of AS/400 computer servers to run on the same processor, as a step toward converging the two lines. The POWER4 was a multicore microprocessor, with two cores on a single die, the first non-embedded microprocessor to do so. POWER4 Chip was first commercially available multiprocessor chip. The original POWER4 had a clock speed of 1.1 and 1.3 GHz, while an enhanced version, the POWER4+, reached a clock speed of 1.9 GHz. The PowerPC 970 is a derivative of the POWER4.

<span class="mw-page-title-main">CVAX</span>

The CVAX is a microprocessor chipset developed and fabricated by Digital Equipment Corporation (DEC) that implemented the VAX instruction set architecture (ISA). The chipset consisted of the CVAX 78034 CPU, CFPA floating-point accelerator, CVAX clock chip, and the associated support chips, the CVAX System Support Chip (CSSC), CVAX Memory Controller (CMCTL), and CVAX Q-Bus Interface Chip (CQBIC).

The R8000 is a microprocessor chipset developed by MIPS Technologies, Inc. (MTI), Toshiba, and Weitek. It was the first implementation of the MIPS IV instruction set architecture. The R8000 is also known as the TFP, for Tremendous Floating-Point, its name during development.

<span class="mw-page-title-main">Multiplexed display</span> Electronic display devices where the entire display is not driven at once

Multiplexed displays are electronic display devices where the entire display is not driven at one time.

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 connect 64 keys—sufficient for a full five octaves of range. By scanning these crossings, a keyboard controller can determine which keys are currently pressed.

<span class="mw-page-title-main">Read-only memory</span> Electronic memory that cannot be changed

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 software that is rarely changed during the life of the system, also known as firmware. Software applications for programmable devices can be distributed as plug-in cartridges containing ROM.

<span class="mw-page-title-main">Alpha 21264</span>

The Alpha 21264 is a Digital Equipment Corporation RISC microprocessor launched on 19 October 1998. The 21264 implemented the Alpha instruction set architecture (ISA).

<span class="mw-page-title-main">PA-8000</span>

The PA-8000 (PCX-U), code-named Onyx, is a microprocessor developed and fabricated by Hewlett-Packard (HP) that implemented the PA-RISC 2.0 instruction set architecture (ISA). It was a completely new design with no circuitry derived from previous PA-RISC microprocessors. The PA-8000 was introduced on 2 November 1995 when shipments began to members of the Precision RISC Organization (PRO). It was used exclusively by PRO members and was not sold on the merchant market. All follow-on PA-8x00 processors are based on the basic PA-8000 processor core.

<span class="mw-page-title-main">TurboSPARC</span>

The TurboSPARC is a microprocessor that implements the SPARC V8 instruction set architecture (ISA) developed by Fujitsu Microelectronics, Inc. (FMI), the United States subsidiary of the Japanese multinational information technology equipment and services company Fujitsu Limited located in San Jose, California. It was a low-end microprocessor primarily developed as an upgrade for the Sun Microsystems microSPARC-II-based SPARCstation 5 workstation. It was introduced on 30 September 1996, with a 170 MHz version priced at US$499 in quantities of 1,000. The TurboSPARC was mostly succeeded in the low-end SPARC market by the UltraSPARC IIi in late 1997, but remained available.

This glossary of computer hardware terms is a list of definitions of terms and concepts related to computer hardware, i.e. the physical and structural components of computers, architectural issues, and peripheral devices.

К1839 is a microprocessor chipset developed between 1984 and 1989 at the Angstrem Research Institute by the same team that developed the 1801BMx series of CPUs. It was the first Soviet, and later the first Russian 32-bit microprocessor system. From a programmer's point of view, it was a complete replica of the VAX 11/750 Comet and included floating-point arithmetic, unlike the MicroVAX microprocessors produced by DEC. The chipset included a processor, a coprocessor for integer and floating-point arithmetic, a memory controller and a bus adapter. It was fabricated in a 3 µm process. The Electronika-32 computer and a VAX-PC board were built based on this chipset, as well as the aerospace on-board digital computer SB3541. The 1839 chipset is still in production, and is used in the control systems of the GLONASS-M satellites.

References

  1. Watson, William J. (1959). TEAM — A Transistorized Electron Adding Machine (PDF) (MSc). Oklahoma State University. 452878.
  2. 1 2 Smotherman, Mark (2022) [1999]. "A Brief History of Microprogramming".
  3. visual6502.org
  4. Skorobogato, Sergei P. (2001). "Copy Protection in Modern Microcontrollers". Cambridge University.