Minimal instruction set computer

Last updated

Minimal instruction set computer (MISC) is a central processing unit (CPU) architecture, usually in the form of a microprocessor, 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 specifiers.

Contents

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.

Also, the instruction pipelines of MISC as a rule tend to be very simple. Instruction pipelines, branch prediction, out-of-order execution, register renaming, and speculative execution 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, and has only 178 transistors, and thus likely the lowest-complexity (or next-lowest) CPU produced so far (by transistor count).

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.

Early stored-program computers

Design weaknesses

The disadvantage of a MISC is that instructions tend to have more sequential dependencies, reducing overall instruction-level parallelism .

MISC architectures have much in common with some features of some programming languages such as Forth's use of the stack, and the Java virtual machine. Both are weak in providing full instruction-level parallelism. However, one could employ macro-op fusion as a means of executing common instruction phrases as individual steps (e.g., ADD,FETCH to perform a single indexed memory read).

Notable CPUs

Probably the most commercially successful MISC was the original INMOS transputer 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. [8] [9] [10] [11]

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 or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry, and specialized coprocessors such as graphics processing units (GPUs).

<span class="mw-page-title-main">EDSAC</span> 1940s–1950s British computer

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 University of Cambridge Mathematical Laboratory in England. EDSAC was the second electronic digital stored-program computer to go into regular service.

<span class="mw-page-title-main">History of computing hardware</span> From early calculation aids to modern day computers

The history of computing hardware covers the developments from early simple devices to aid calculation to modern day computers.

<span class="mw-page-title-main">Intel 8080</span> 8-bit microprocessor

The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility. The initial specified clock rate or frequency limit was 2 MHz, with common instructions using 4, 5, 7, 10, or 11 cycles. As a result, the processor is able to execute several hundred thousand instructions per second. Two faster variants, the 8080A-1 and 8080A-2, became available later with clock frequency limits of 3.125 MHz and 2.63 MHz respectively. The 8080 needs two support chips to function in most applications: the i8224 clock generator/driver and the i8228 bus controller. It is implemented in N-type metal–oxide–semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads thus demanding a +12 V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V.

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 that implement higher-level machine code instructions or control internal finite-state machine sequencing in many digital processing components. While microcode is utilized in general-purpose CPUs in contemporary desktops, it also functions as a fallback path for scenarios that the faster hardwired control unit is unable to manage.

In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation.

<span class="mw-page-title-main">Intel 8008</span> 8-bit microprocessor

The Intel 8008 is an early byte-oriented microprocessor designed by Computer Terminal Corporation (CTC), implemented and manufactured by Intel, and introduced in April 1972. It is an 8-bit CPU with an external 14-bit address bus that could address 16 KB of memory. Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation (CTC) to implement an instruction set of their design for their Datapoint 2200 programmable terminal. As the chip was delayed and did not meet CTC's performance goals, the 2200 ended up using CTC's own TTL-based CPU instead. An agreement permitted Intel to market the chip to other customers after Seiko expressed an interest in using it for a calculator.

<span class="mw-page-title-main">EDVAC</span> Early computer

EDVAC was one of the earliest electronic computers. It was built by Moore School of Electrical Engineering, Pennsylvania. Along with ORDVAC, it was a successor to the ENIAC. Unlike ENIAC, it was binary rather than decimal, and was designed to be a stored-program computer.

<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.

A stored-program computer is a computer that stores program instructions in electronically or optically accessible memory. This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.

<span class="mw-page-title-main">IAS machine</span> First electronic computer to be built at the Institute for Advanced Study

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 mathematics professor at both Princeton University and IAS. The computer was built from late 1945 until 1951 under his direction. The general organization is called von Neumann architecture, even though it was both conceived and implemented by others. The computer is in the collection of the Smithsonian National Museum of American History but is not currently on display.

<span class="mw-page-title-main">ORDVAC</span> Ordnance Discrete Variable Automatic Computer

The ORDVAC, is an early computer built by the University of Illinois for the Ballistic Research Laboratory at Aberdeen Proving Ground. A successor to the ENIAC. It was based on the IAS architecture developed by John von Neumann, which came to be known as the von Neumann architecture. The ORDVAC was the first computer to have a compiler. ORDVAC passed its acceptance tests on March 6, 1952, at Aberdeen Proving Ground in Maryland. Its purpose was to perform ballistic trajectory calculations for the US Military. In 1992, the Ballistic Research Laboratory became a part of the U.S. Army Research Laboratory.

<span class="mw-page-title-main">ILLIAC I</span> Vacuum tube computer built in 1952 by the University of Illinois

The ILLIAC I, a pioneering computer in the ILLIAC series of computers built in 1952 by the University of Illinois, was the first computer built and owned entirely by a United States educational institution.

<span class="mw-page-title-main">Von Neumann architecture</span> Computer architecture where code and data share a common bus

The von Neumann architecture—also known as the von Neumann model or Princeton architecture—is a computer architecture based on a 1945 description by John von Neumann, and by others, in the First Draft of a Report on the EDVAC. The document describes a design architecture for an electronic digital computer with these components:

<span class="mw-page-title-main">Manchester Baby</span> First electronic stored-program computer, 1948

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 first program on 21 June 1948.

<span class="mw-page-title-main">David Wheeler (computer scientist)</span> British computer scientist (1927–2004)

David John Wheeler FRS was a computer scientist and professor of computer science at the University of Cambridge.

ILLIAC 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 projects also use the name.

<span class="mw-page-title-main">Computer</span> Automatic general-purpose device for performing arithmetic or logical operations

A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These programs enable computers to perform a wide range of tasks. A computer system is a nominally complete computer that includes the hardware, operating system, and peripheral equipment needed and used for full operation. This term may also refer to a group of computers that are linked and function together, such as a computer network or computer cluster.

<span class="mw-page-title-main">History of general-purpose CPUs</span> History of processors used in general purpose computers

The history of general-purpose CPUs is a continuation of the earlier history of computing hardware.

<span class="mw-page-title-main">Texas Instruments TMS1000</span>

The TMS1000 is a family of microcontrollers introduced by Texas Instruments in 1974.

References

  1. Ting, Chen-hanson; Moore, Charles H. (1995). "MuP21: A High Performance MISC Processor". UltraTechnology. Offete Enterprises.
  2. USpatent 5481743A,Baxter, Michael A.,"Minimal instruction set computer architecture and multiple instruction issue method",published 1996-01-02,issued 1996-01-02, assigned to Apple
  3. Halverson, Richard Jr.; Lew, Art (1995). An FPGA-Based Minimal Instruction Set Computer (Technical report). Information and Computer Sciences Department, University of Hawai. p. 23. ICS-TR-94-28.
  4. Kong, J.H.; Ang, L.-M.; Seng, K.P. (2010). "Minimal Instruction Set AES Processor using Harvard Architecture". 2010 3rd International Conference on Computer Science and Information Technology. pp. 65–69. doi:10.1109/ICCSIT.2010.5564522. ISBN   978-1-4244-5540-9.
  5. Robertson, James E. (1955). Illiac Design Techniques: report number UIUCDCS-R-1955-146 (Report). Urbana–Champaign, Illinois: Digital Computer Laboratory, University of Illinois at Urbana–Champaign.
  6. USpatent 2636672,Hamilton, Francis E.; Hughes, Ernest S. Jr.& Rowley, Russell A.et al.,"Selective Sequence Electronic Calculator",issued 1953-04-28, assigned to IBM
  7. Grosch, Herbert R.J. (1991). Computer: Bit Slices From a Life. Third Millenium Books. ISBN   978-0-8873-3085-8.
  8. Mewaldt, R. A.; Cohen, C. M. S.; Cook, W. R.; Cummings, A. C.; et al. "3.5.2 The Minimal Instruction Set Computer (MISC)". The Low-Energy Telescope (LET) and SEP Central Electronics for the STEREO Mission (PDF) (Report). p. 20.
  9. Russell, C.T., ed. (2008). The STEREO Mission. Springer. ISBN   978-0-387-09649-0.
  10. Ting, C-H; Cook, W.R. (2001). P24 MISC Microprocessor User's Manual (Technical report). eMAST Technology. STEREO-CIT-005.A.
  11. CPU24 Microprocessor User's Manual (Technical report). NASA. October 2003. Version 5 Actel for Stereo HET.