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.[ citation needed ]

Example CPUs

Tube-based processors

Some of the first tube-based digital computers implemented with instruction sets are by modern definition minimal instruction set computers. All are serial computers except for Whirlwind.

Integrated circuit processors

Probably the most commercially successful MISC was the original Inmos transputer architecture that has no floating-point unit. It has sixteen primary and sixteen secondary instructions.

The Signetics 8X300 is an 8-bit microprocessor introduced in 1976. It has eight instructions.

Each STEREO spacecraft includes two P24 MISC CPUs and two CPU24 soft processors. [5] [6] [7] [8]

Design weaknesses

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

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

See also

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. 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. Archived from the original (PDF) on 2020-10-11.
  6. Russell, C.T., ed. (2008). The STEREO Mission. Springer. ISBN   978-0-387-09649-0.
  7. Ting, C-H; Cook, W.R. (2001). P24 MISC Microprocessor User's Manual (Technical report). eMAST Technology. STEREO-CIT-005.A.
  8. CPU24 Microprocessor User's Manual (Technical report). NASA. October 2003. Version 5 Actel for Stereo HET.