HOME

TheInfoList



OR:

Minimal instruction set computer (MISC) is a
central processing unit A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU per ...
(CPU) architecture, usually in the form of a
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
, with a very small number of basic operations and corresponding opcodes, together forming an instruction set. Such sets are commonly stack-based rather than register-based to reduce the size of
operand In mathematics, an operand is the object of a mathematical operation, i.e., it is the object or quantity that is operated on. Example The following arithmetic expression shows an example of operators and operands: :3 + 6 = 9 In the above exam ...
specifiers. Such a stack machine architecture is inherently simpler since all instructions operate on the top-most stack entries. One result of the stack architecture is an overall smaller instruction set, allowing a smaller and faster instruction decode unit with overall faster operation of individual instructions.


Characteristics and design philosophy

Separate from the stack definition of a MISC architecture, is the MISC architecture being defined by the number of instructions supported. * Typically a minimal instruction set computer is viewed as having 32 or fewer instructions, where NOP, RESET, and
CPUID In the x86 architecture, the CPUID instruction (identified by a CPUID opcode) is a processor supplementary instruction (its name derived from CPU IDentification) allowing software to discover details of the processor. It was introduced by Intel ...
type instructions are usually not counted by consensus due to their fundamental nature. * 32 instructions is viewed as the highest allowable number of instructions for a MISC, though 16 or 8 instructions are closer to what is meant by "Minimal Instructions". * A MISC CPU cannot have zero instructions as that is a zero instruction set computer. * A MISC CPU cannot have one instruction as that is a
one instruction set computer A one-instruction set computer (OISC), sometimes called an ultimate reduced instruction set computer (URISC), is an abstract machine that uses only one instructionobviating the need for a machine language opcode. With a judicious choice for the si ...
. * The implemented CPU instructions should by default not support a wide set of inputs, so this typically means an 8-bit or 16-bit CPU. * If a CPU has an
NX bit The NX bit (no-execute) is a technology used in CPUs to segregate areas of memory for use by either storage of processor instructions or for storage of data, a feature normally only found in Harvard architecture processors. However, the NX bit i ...
, it is more likely to be viewed as being a
complex instruction set computer 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 o ...
(CISC) or reduced instruction set computer (RISC). * MISC chips typically lack hardware memory protection of any kind, unless there is an application specific reason to have the feature. * If a CPU has a microcode subsystem, that excludes it from being a MISC. * The only
addressing mode Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions i ...
considered acceptable for a MISC CPU to have is load/store, the same as for reduced instruction set computer (RISC) CPUs. * MISC CPUs can typically have between 64 KB to 4 GB of accessible addressable memory—but most MISC designs are under 1 megabyte. Also, the instruction pipelines of MISC as a rule tend to be very simple.
Instruction pipeline In computer engineering, instruction pipelining or ILP is a technique for implementing instruction-level parallelism within a single processor. Pipelining attempts to keep every part of the processor busy with some instruction by dividing inco ...
s,
branch prediction In computer architecture, a branch predictor is a digital circuit that tries to guess which way a branch (e.g., an if–then–else structure) will go before this is known definitively. The purpose of the branch predictor is to improve the flow ...
, out-of-order execution,
register renaming In computer architecture, register renaming is a technique that abstracts logical registers from physical registers. Every logical register has a set of physical registers associated with it. When a machine language instruction refers to a partic ...
, and
speculative execution Speculative execution is an optimization technique where a computer system performs some task that may not be needed. Work is done before it is known whether it is actually needed, so as to prevent a delay that would have to be incurred by doing ...
broadly exclude a CPU from being classified as a MISC architecture. While 1-bit CPUs are otherwise obsolete (and were not MISCs nor OISCs), the first carbon nanotube computer is a 1-bit
one-instruction set computer A one-instruction set computer (OISC), sometimes called an ultimate reduced instruction set computer (URISC), is an abstract machine that uses only one instructionobviating the need for a machine language opcode. With a judicious choice for the si ...
, and has only 178 transistors, and thus likely the lowest-complexity (or next-lowest) CPU produced so far (by
transistor count The transistor count is the number of transistors in an electronic device (typically on a single substrate or "chip"). It is the most common measure of integrated circuit complexity (although the majority of transistors in modern microprocessors ...
).


History

Some of the first digital computers implemented with instruction sets were by modern definition minimal instruction set computers. Among these various computers, only ILLIAC and ORDVAC had compatible instruction sets. *
Manchester Baby The Manchester Baby, also called the Small-Scale Experimental Machine (SSEM), was the first electronic stored-program computer. It was built at the University of Manchester by Frederic C. Williams, Tom Kilburn, and Geoff Tootill, and ran its ...
(University of Manchester, England) made its first successful run of a stored program on June 21, 1948. *
Electronic Delay Storage Automatic Calculator The Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. Inspired by John von Neumann's seminal '' First Draft of a Report on the EDVAC'', the machine was constructed by Maurice Wilkes and his team at the Univers ...
(EDSAC,
University of Cambridge The University of Cambridge is a public collegiate research university in Cambridge, England. Founded in 1209 and granted a royal charter by Henry III in 1231, Cambridge is the world's third oldest surviving university and one of its most pr ...
, England) was the first practical stored-program electronic computer (May 1949) *
Manchester Mark 1 The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester, England from the Manchester Baby (operational in June 1948). Work began in August 1948, and the first version was oper ...
(
Victoria University of Manchester The Victoria University of Manchester, usually referred to as simply the University of Manchester, was a university in Manchester, England. It was founded in 1851 as Owens College. In 1880, the college joined the federal Victoria University. Afte ...
, England) Developed from the Baby (June 1949) * Commonwealth Scientific and Industrial Research Automatic Computer (
CSIRAC CSIRAC (; ''Commonwealth Scientific and Industrial Research Automatic Computer''), originally known as CSIR Mk 1, was Australia's first digital computer, and the fifth stored program computer in the world. It is the oldest surviving first-gener ...
, Council for Scientific and Industrial Research) Australia (November 1949) * Electronic Discrete Variable Automatic Computer ( EDVAC,
Ballistic Research Laboratory The Ballistic Research Laboratory (BRL) was a leading U.S. Army research establishment situated at Aberdeen Proving Ground, Maryland that specialized in ballistics ( interior, exterior, and terminal) as well as vulnerability and lethality analys ...
, Computing Laboratory at
Aberdeen Proving Ground Aberdeen Proving Ground (APG) (sometimes erroneously called Aberdeen Proving ''Grounds'') is a U.S. Army facility located adjacent to Aberdeen, Harford County, Maryland, United States. More than 7,500 civilians and 5,000 military personnel work a ...
1951) * Ordnance Discrete Variable Automatic Computer (
ORDVAC The ORDVAC (''Ordnance Discrete Variable Automatic Computer)'', is an early computer built by the University of Illinois for the Ballistic Research Laboratory at Aberdeen Proving Ground. A successor to the ENIAC (along with EDVAC built earlier). ...
,
University of Illinois at Urbana–Champaign The University of Illinois Urbana-Champaign (U of I, Illinois, University of Illinois, or UIUC) is a public land-grant research university in Illinois in the twin cities of Champaign and Urbana. It is the flagship institution of the Univer ...
) at Aberdeen Proving Ground, Maryland (completed November 1951) *
IAS machine The IAS machine was the first electronic computer built at the Institute for Advanced Study (IAS) in Princeton, New Jersey. It is sometimes called the von Neumann machine, since the paper describing its design was edited by John von Neumann, a ...
at
Princeton University Princeton University is a private research university in Princeton, New Jersey. Founded in 1746 in Elizabeth as the College of New Jersey, Princeton is the fourth-oldest institution of higher education in the United States and one of the ...
(January 1952) *
MANIAC I __NOTOC__ The MANIAC I (''Mathematical Analyzer Numerical Integrator and Automatic Computer Model I'') was an early computer built under the direction of Nicholas Metropolis at the Los Alamos Scientific Laboratory. It was based on the von Neuma ...
at Los Alamos Scientific Laboratory (March 1952) * MESM performed its first test run in Kiev on November 6, 1950 * Illinois Automatic Computer (
ILLIAC ILLIAC (Illinois Automatic Computer) was a series of supercomputers built at a variety of locations, some at the University of Illinois at Urbana–Champaign. In all, five computers were built in this series between 1951 and 1974. Some more modern ...
) at the
University of Illinois The University of Illinois Urbana-Champaign (U of I, Illinois, University of Illinois, or UIUC) is a public land-grant research university in Illinois in the twin cities of Champaign and Urbana. It is the flagship institution of the Univer ...
, (September 1952)


Early stored-program computers

* The IBM SSEC had the ability to treat instructions as data, and was publicly demonstrated on January 27, 1948. This ability was claimed in a US patent issued April 28, 1953. However, it was partly electromechanical, not fully electronic. In practice, instructions were read from paper tape due to its limited memory. * The
Manchester Baby The Manchester Baby, also called the Small-Scale Experimental Machine (SSEM), was the first electronic stored-program computer. It was built at the University of Manchester by Frederic C. Williams, Tom Kilburn, and Geoff Tootill, and ran its ...
, by the
Victoria University of Manchester The Victoria University of Manchester, usually referred to as simply the University of Manchester, was a university in Manchester, England. It was founded in 1851 as Owens College. In 1880, the college joined the federal Victoria University. Afte ...
, was the first fully electronic computer to run a stored program. It ran a factoring program for 52 minutes on June 21, 1948, after running a simple division program and a program to show that two numbers were
relatively prime In mathematics, two integers and are coprime, relatively prime or mutually prime if the only positive integer that is a divisor of both of them is 1. Consequently, any prime number that divides does not divide , and vice versa. This is equivale ...
. * The Electronic Numerical Integrator and Computer (
ENIAC ENIAC (; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ENIAC had all of them in one pac ...
) was modified to run as a primitive read-only stored-program computer (using the Function Tables for program
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 sof ...
(ROM) and was demonstrated as such on September 16, 1948, running a program by Adele Goldstine for von Neumann. * The Binary Automatic Computer (
BINAC BINAC (Binary Automatic Computer) was an early electronic computer designed for Northrop Aircraft Company by the Eckert–Mauchly Computer Corporation (EMCC) in 1949. Eckert and Mauchly, though they had started the design of EDVAC at the Unive ...
) ran some test programs in February, March, and April 1949, although was not completed until September 1949. * The
Manchester Mark 1 The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester, England from the Manchester Baby (operational in June 1948). Work began in August 1948, and the first version was oper ...
developed from the Baby project. An intermediate version of the Mark 1 was available to run programs in April 1949, but was not completed until October 1949. * The
Electronic Delay Storage Automatic Calculator The Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. Inspired by John von Neumann's seminal '' First Draft of a Report on the EDVAC'', the machine was constructed by Maurice Wilkes and his team at the Univers ...
(EDSAC) ran its first program on May 6, 1949. * The Electronic Discrete Variable Automatic Computer ( EDVAC) was delivered in August 1949, but it had problems that kept it from being put into regular operation until 1951. * The Commonwealth Scientific and Industrial Research Automatic Computer (
CSIRAC CSIRAC (; ''Commonwealth Scientific and Industrial Research Automatic Computer''), originally known as CSIR Mk 1, was Australia's first digital computer, and the fifth stored program computer in the world. It is the oldest surviving first-gener ...
, formerly CSIR Mk I) ran its first program in November 1949. * The Standards Eastern Automatic Computer ( SEAC) was demonstrated in April 1950. * The
Pilot ACE The Pilot ACE (Automatic Computing Engine) was one of the first computers built in the United Kingdom. Built at the National Physical Laboratory (NPL) in the early 1950s, it was also one of the earliest general-purpose, stored-program computers ...
ran its first program on May 10, 1950 and was demonstrated in December 1950. * The Standards Western Automatic Computer ( SWAC) was completed in July 1950. * The
Whirlwind A whirlwind is a weather phenomenon in which a vortex of wind (a vertically oriented rotating column of air) forms due to instabilities and turbulence created by heating and flow (current) gradients. Whirlwinds occur all over the world and i ...
was completed in December 1950 and was in actual use in April 1951. * The first ERA Atlas (later the commercial ERA 1101/UNIVAC 1101) was installed in December 1950.


Design weaknesses

The disadvantage of a MISC is that instructions tend to have more sequential dependencies, reducing overall ''
instruction-level parallelism Instruction-level parallelism (ILP) is the parallel or simultaneous execution of a sequence of instructions in a computer program. More specifically ILP refers to the average number of instructions run per step of this parallel execution. Disc ...
''. MISC architectures have much in common with some features of some
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s such as Forth's use of the stack, and the Java virtual machine. Both are weak in providing full ''instruction-level parallelism''.


Notable CPUs

Probably the most commercially successful MISC was the original INMOS
transputer The transputer is a series of pioneering microprocessors from the 1980s, intended for parallel computing. To support this, each transputer had its own integrated memory and serial communication links to exchange data with other transputers. T ...
architecture that had no floating-point unit. However, many 8-bit microcontrollers, for embedded computer applications, qualify as MISC. Each STEREO spacecraft includes two P24 MISC CPUs and two CPU24 MISC CPUs.


See also

*
Complex instruction set computer 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 o ...
* Reduced instruction set computer


References


External links


Forth MISC chip designsseaForth-24
– the next to latest
multi-core processor A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
MISC design from Charles H. Moore
Green Arrays
- the latest
multi-core processor A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
MISC design from Charles H. Moore {{Processor technologies Instruction processing Central processing unit