Minimal Instruction Set Computer
   HOME

TheInfoList



OR:

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
opcode In computing, an opcode (abbreviated from operation code, also known as instruction machine code, instruction code, instruction syllable, instruction parcel or opstring) is the portion of a machine language instruction that specifies the operat ...
s, together forming an
instruction set 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 ' ...
. Such sets are commonly
stack-based Stack-oriented programming, is a programming paradigm which relies on a stack machine model for passing parameters. Stack-oriented languages operate on one or more stacks, each of which may serve a different purpose. Programming constructs i ...
rather than register-based to reduce the size of operand specifiers. Such a
stack machine In computer science, computer engineering and programming language implementations, a stack machine is a computer processor or a virtual machine in which the primary interaction is moving short-lived temporary values to and from a push down st ...
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 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 No instruction set computing (NISC) is a computing architecture and compiler technology for designing highly efficient custom processors and hardware accelerators by allowing a compiler to have low-level control of hardware resources. Overview N ...
. * A MISC CPU cannot have one instruction as that is a one instruction set computer. * 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, it is more likely to be viewed as being a complex instruction set computer (CISC) or
reduced instruction set computer 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 ...
(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 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 ...
subsystem, that excludes it from being a MISC. * The only addressing mode considered acceptable for a MISC CPU to have is load/store, the same as for
reduced instruction set computer 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 ...
(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 pipelines, branch prediction,
out-of-order execution In computer engineering, out-of-order execution (or more formally dynamic execution) is a paradigm used in most high-performance central processing units to make use of instruction cycles that would otherwise be wasted. In this paradigm, a proce ...
, 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 Carbon nanotube computers are a class of experimental computing processors constructed from carbon nanotube field-effect transistors, instead of from conventional silicon-based field-effect transistors. __NOTOC__ In a carbon nanotube field-effe ...
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. * Manchester Baby (University of Manchester, England) made its first successful run of a stored program on June 21, 1948. * Electronic Delay Storage Automatic Calculator (EDSAC, University of Cambridge, England) was the first practical stored-program electronic computer (May 1949) * Manchester Mark 1 ( Victoria University of Manchester, England) Developed from the Baby (June 1949) * Commonwealth Scientific and Industrial Research Automatic Computer ( CSIRAC,
Council for Scientific and Industrial Research The Council for Scientific and Industrial Research (CSIR) is South Africa's central and premier scientific research and development organisation. It was established by an act of parliament in 1945 and is situated on its own campus in the cit ...
) Australia (November 1949) * Electronic Discrete Variable Automatic Computer ( EDVAC, Ballistic Research Laboratory, Computing Laboratory at Aberdeen Proving Ground 1951) * Ordnance Discrete Variable Automatic Computer ( ORDVAC, University of Illinois at Urbana–Champaign) at Aberdeen Proving Ground, Maryland (completed November 1951) * IAS machine at Princeton University (January 1952) * MANIAC I at Los Alamos Scientific Laboratory (March 1952) *
MESM MESM (Ukrainian: MEOM, Мала Електронна Обчислювальна Машина; Russian: МЭСМ, Малая Электронно-Счетная Машина; 'Small Electronic Calculating Machine') was the first universally programm ...
performed its first test run in Kiev on November 6, 1950 * Illinois Automatic Computer ( ILLIAC) at the University of Illinois, (September 1952)


Early stored-program computers

* The
IBM SSEC The IBM Selective Sequence Electronic Calculator (SSEC) was an electromechanical computer built by IBM. Its design was started in late 1944 and it operated from January 1948 to August 1952. It had many of the features of a stored-program computer, ...
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, by the Victoria University of Manchester, 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. * The Electronic Numerical Integrator and Computer ( ENIAC) was modified to run as a primitive read-only stored-program computer (using the Function Tables for program read-only memory (ROM) and was demonstrated as such on September 16, 1948, running a program by
Adele Goldstine Adele Goldstine (; December 21, 1920 – November 1964) was an American mathematician and computer programmer. She wrote the manual for the first electronic digital computer, ENIAC. Through her work programming the computer, she was also an inst ...
for von Neumann. * The Binary Automatic Computer ( BINAC) ran some test programs in February, March, and April 1949, although was not completed until September 1949. * The Manchester Mark 1 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 (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, 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 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 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''. MISC architectures have much in common with some features of some programming languages such as
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
's use of the stack, and the
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
. Both are weak in providing full ''instruction-level parallelism''.


Notable CPUs

Probably the most commercially successful MISC was the original INMOS transputer architecture that had no
floating-point unit In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
. However, many
8-bit In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
s, for embedded computer applications, qualify as MISC. Each
STEREO Stereophonic sound, or more commonly stereo, is a method of sound reproduction that recreates a multi-directional, 3-dimensional audible perspective. This is usually achieved by using two independent audio channels through a configuration ...
spacecraft includes two P24 MISC CPUs and two CPU24 MISC CPUs.


See also

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


References


External links


Forth MISC chip designsseaForth-24
– the next to latest multi-core processor MISC design from
Charles H. Moore Charles Havice Moore II (born 9 September 1938), better known as Chuck Moore, is an American computer engineer and programmer, best known for inventing the Forth programming language in 1968. He cofounded FORTH, Inc., with Elizabeth Rather in ...

Green Arrays
- the latest multi-core processor MISC design from
Charles H. Moore Charles Havice Moore II (born 9 September 1938), better known as Chuck Moore, is an American computer engineer and programmer, best known for inventing the Forth programming language in 1968. He cofounded FORTH, Inc., with Elizabeth Rather in ...
{{Processor technologies Instruction processing Central processing unit