HOME

TheInfoList



OR:

A control store is the part of a CPU's
control unit 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 op ...
that stores the CPU's
microprogram In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. It consists of a set of hardware-level instructions ...
. It is usually accessed by a microsequencer. A control store implementation whose contents are unalterable is known as 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 s ...
(ROM) or Read Only Storage (ROS); one whose contents are alterable is known as a Writable Control Store (WCS).


Implementation


Early use

Early control stores were implemented as a diode-array accessed via address decoders, a form of read-only memory. This tradition dates back to the ''program timing matrix'' on the MIT Whirlwind, first described in 1947. Modern VLSI processors instead use matrices of
field-effect transistor The field-effect transistor (FET) is a type of transistor that uses an electric field to control the current through a semiconductor. It comes in two types: junction FET (JFET) and metal-oxide-semiconductor FET (MOSFET). FETs have three termi ...
s to build the
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
and/or PLA structures used to control the processor as well as its internal sequencer in a
microcode In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. It consists of a set of hardware-level instructions ...
d implementation.
IBM System/360 The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
used a variety of techniques: CCROS (Card Capacitor Read-Only Storage) on the Model 30,
TROS TROS, originally an acronym for Televisie Radio Omroep Stichting ("Television Radio Broadcasting Foundation"), was a Dutch television and radio organisation part of the Dutch public broadcasting system. This broadcasting association was partic ...
(Transformer Read-Only Storage) on the Model 40, and BCROS (Balanced Capacitor Read-Only Storage) on Models 50, 65 and 67.


Writable stores

Some computers are built using "writable microcode" — rather than storing the microcode in ROM or hard-wired logic, the microcode is stored in a RAM called a ''writable control store'' or ''WCS''. Such a computer is sometimes called a ''Writable Instruction Set Computer'' or ''WISC''. Many of these machines were experimental laboratory prototypes, such as the WISC CPU/16 and the RTX 32P. The original
System/360 The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
models have read-only control store, but later System/360,
System/370 The IBM System/370 (S/370) is a range of IBM mainframe computers announced as the successors to the IBM System/360, System/360 family on June 30, 1970. The series mostly maintains backward compatibility with the S/360, allowing an easy migrati ...
and successor models load part or all of their microprograms from floppy disks or other DASD into a writable control store consisting of ultra-high speed
random-access Random access (also called direct access) is the ability to access an arbitrary element of a sequence in equal time or any datum from a population of Address space, addressable elements roughly as easily and efficiently as any other, no matter h ...
read–write memory. The System/370 architecture includes a facility called Initial-Microprogram Load (IML or IMPL) that can be invoked from the console, as part of Power On Reset (POR) or from another processor in a tightly coupled
multiprocessor Multiprocessing (MP) is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. The ...
complex. This permitted IBM to easily repair microprogramming defects in the field. Even when the majority of the control store is stored in ROM, computer vendors would often sell writable control store as an option, allowing the customers to customize the machine's microprogram. Other vendors, e.g., IBM, use the WCS to run microcode for emulator features and hardware diagnostics. Other commercial machines that use writable microcode include the Burroughs Small Systems (1970s and 1980s), the Xerox processors in their Lisp machines and
Xerox Star The Xerox Star workstation, officially named Xerox Star 8010 Information System, is the first commercial personal computer to incorporate technologies that have since become standard in personal computers, including a bitmapped display, a window- ...
workstations, the DEC
VAX VAX (an acronym for virtual address extension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
8800 ("Nautilus") family, and the
Symbolics Symbolics, Inc., is a privately held American computer software maker that acquired the assets of the former manufacturing company of the identical name and continues to sell and maintain the Open Genera Lisp (programming language), Lisp sy ...
L- and G-machines (1980s). Some DEC
PDP-10 Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
machines store their microcode in SRAM chips (about 80 bits wide x 2 Kwords), which is typically loaded on power-on through some other front-end CPU. Many more machines offer user-programmable writable control stores as an option (including the
HP 2100 The HP 2100 is a series of 16-bit minicomputers that were produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s. Tens of thousands of machines in the series were sold over its 25-year lifetime, making HP the fourth-largest minicomp ...
, DEC PDP-11/60 and Varian Data Machines V-70 series
minicomputer A minicomputer, or colloquially mini, is a type of general-purpose computer mostly developed from the mid-1960s, built significantly smaller and sold at a much lower price than mainframe computers . By 21st century-standards however, a mini is ...
s). The Mentec M11 and Mentec M1 store its microcode in SRAM chips, loaded on power-on through another CPU. The Data General Eclipse MV/8000 ("Eagle") has a SRAM writable control store, loaded on power-on through another CPU. WCS offers several advantages including the ease of patching the microprogram and, for certain hardware generations, faster access than ROMs could provide. User-programmable WCS allow the user to optimize the machine for specific purposes. However, it also had the disadvantage of making it harder to debug programs, and making it possible for malicious users to negatively affect the system and data. Some CPU designs compile the instruction set to a writable
RAM Ram, ram, or RAM most commonly refers to: * A male sheep * Random-access memory, computer memory * Ram Trucks, US, since 2009 ** List of vehicles named Dodge Ram, trucks and vans ** Ram Pickup, produced by Ram Trucks Ram, ram, or RAM may also ref ...
or FLASH inside the CPU (such as the Rekursiv processor and the Imsys Cjip), or an FPGA (
reconfigurable computing Reconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with flexible hardware platforms like FPGA, field-programmable gate arrays (FPGAs). The princip ...
). Several Intel CPUs in the
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
architecture family have writable microcode, starting with the
Pentium Pro The Pentium Pro is a sixth-generation x86 microprocessor developed and manufactured by Intel and introduced on November 1, 1995. It implements the P6 (microarchitecture), P6 microarchitecture (sometimes termed i686), and was the first x86 Intel C ...
in 1995. (2 pages) This has allowed bugs in the
Intel Core 2 Intel Core 2 is a processor family encompassing a range of Intel's mainstream 64-bit x86-64 single-, dual-, and quad-core microprocessors based on the Core microarchitecture. The single- and dual-core models are single- die, whereas the quad-co ...
microcode and Intel
Xeon Xeon (; ) is a brand of x86 microprocessors designed, manufactured, and marketed by Intel, targeted at the non-consumer workstation, server, and embedded markets. It was introduced in June 1998. Xeon processors are based on the same archite ...
microcode to be fixed in software, rather than requiring the entire chip to be replaced. Such fixes can be installed by Linux,
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
, Microsoft Windows, or the motherboard BIOS.


Timing, latching and avoiding a race condition

The control store usually has a register on its outputs. The outputs that go back into the sequencer to determine the next address have to go through some sort of register to prevent the creation of a
race condition A race condition or race hazard is the condition of an electronics, software, or other system where the system's substantive behavior is dependent on the sequence or timing of other uncontrollable events, leading to unexpected or inconsistent ...
. Don Lancaster
"TV Typewriter Cookbook"
p. 62. (
TV Typewriter The TV Typewriter is a video terminal that could display two pages of 16 lines of 32 upper case characters on a standard television set. The design, by Don Lancaster, appeared on the cover of ''Radio-Electronics'' magazine in September 1973. The ...
)
In most designs all of the other bits also go through a register. This is because the machine will work faster if the execution of the next microinstruction is delayed by one cycle. This register is known as a pipeline register. Very often the execution of the next microinstruction is dependent on the result of the current microinstruction, which will not be stable until the end of the current microcycle. It can be seen that either way, all of the outputs of the control store go into one big register. Historically it used to be possible to buy EPROMs with these register bits on the same chip. The
clock signal In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') is an electronic logic signal (voltage or current) which oscillates between a high and a low state at a constant frequency and ...
determining the
clock rate Clock rate or clock speed in computing typically refers to the frequency at which the clock generator of a processor can generate pulses used to synchronize the operations of its components. It is used as an indicator of the processor's s ...
, which is the cycle time of the system, primarily clocks this register.


References


Further reading

* (132 pages) * (79 pages) * {{DEFAULTSORT:Control Store Instruction processing Firmware