La computadora con conjunto mínimo de instrucciones ( MISC ) es una arquitectura de unidad central de procesamiento (CPU), generalmente en forma de microprocesador , con un número muy pequeño de operaciones básicas y códigos de operación correspondientes , que forman juntos un conjunto de instrucciones . Estos conjuntos suelen estar basados en pilas en lugar de en registros para reducir el tamaño de los especificadores de operandos .
Esta arquitectura de máquina de pila es intrínsecamente más simple, ya que todas las instrucciones operan en las entradas de pila más altas.
Un resultado de la arquitectura de pila es un conjunto de instrucciones más pequeño en general, lo que permite una unidad de decodificación de instrucciones más pequeña y más rápida con una operación general más rápida de las instrucciones individuales.
Características y filosofía de diseño
Aparte de la definición de pila de una arquitectura MISC, la arquitectura MISC se define por el número de instrucciones admitidas.
- Por lo general, se considera que una computadora con un conjunto mínimo de instrucciones tiene 32 instrucciones o menos, [1] [2] [3] [4] donde las instrucciones de tipo NOP, RESET y CPUID generalmente no se cuentan por consenso debido a su naturaleza fundamental.
- 32 instrucciones se considera el número más alto permitido de instrucciones para un MISC, aunque 16 u 8 instrucciones se acercan más a lo que se entiende por "Instrucciones mínimas".
- Una CPU MISC no puede tener instrucciones cero, ya que es una computadora con un conjunto de instrucciones cero .
- Una CPU MISC no puede tener una instrucción, ya que es una computadora con un conjunto de instrucciones . [5]
- Las instrucciones de la CPU implementadas no deberían admitir de forma predeterminada un amplio conjunto de entradas, por lo que normalmente esto significa una CPU de 8 o 16 bits.
- Si una CPU tiene un bit NX , es más probable que se vea como una computadora con un conjunto de instrucciones complejo (CISC) o una computadora con un conjunto de instrucciones reducido (RISC).
- Los chips MISC generalmente carecen de protección de memoria de hardware de ningún tipo, a menos que exista una razón específica de aplicación para tener la función.
- Si una CPU tiene un subsistema de microcódigo , eso la excluye de ser un MISC.
- El único modo de direccionamiento que se considera aceptable para una CPU MISC es cargar / almacenar , al igual que para las CPU de computadora con conjunto de instrucciones reducido (RISC).
- Normalmente, las CPU MISC pueden tener entre 64 KB y 4 GB de memoria direccionable accesible, pero la mayoría de los diseños MISC tienen menos de 1 megabyte.
Además, las canalizaciones de instrucciones de MISC, como regla, tienden a ser muy simples. Las canalizaciones de instrucciones , la predicción de ramas , la ejecución fuera de orden , el cambio de nombre de registros y la ejecución especulativa excluyen ampliamente a una CPU de ser clasificada como una arquitectura MISC.
Si bien las CPU de 1 bit son obsoletas (y no eran MISC ni OISC), la primera computadora con nanotubos de carbono es una computadora con un conjunto de instrucciones de 1 bit y solo tiene 178 transistores y, por lo tanto, es probable que sea la de menor complejidad (o la siguiente). más baja) CPU producida hasta ahora (por recuento de transistores ).
Historia
Algunas de las primeras computadoras digitales implementadas con conjuntos de instrucciones fueron, por definición moderna, computadoras con un conjunto mínimo de instrucciones.
Entre estas diversas computadoras, solo ILLIAC y ORDVAC tenían conjuntos de instrucciones compatibles.
- Manchester Baby (Universidad de Manchester, Inglaterra) realizó su primera ejecución exitosa de un programa almacenado el 21 de junio de 1948.
- Electronic Delay Storage Automatic Calculator (EDSAC, Universidad de Cambridge , Inglaterra) fue la primera computadora electrónica práctica con programa almacenado (mayo de 1949)
- Manchester Mark 1 ( Universidad Victoria de Manchester , Inglaterra) Desarrollado desde el bebé (junio de 1949)
- Computadora automática de investigación científica e industrial de la Commonwealth ( CSIRAC , Consejo de Investigación Científica e Industrial ) Australia (noviembre de 1949)
- Computadora Automática Electrónica Variable Discreta ( EDVAC , Laboratorio de Investigación Balística, Laboratorio de Computación en Aberdeen Proving Ground 1951)
- Ordnance Discrete Variable Automatic Computer ( ORDVAC , Universidad de Illinois en Urbana-Champaign ) en Aberdeen Proving Ground, Maryland (completado en noviembre de 1951) [6]
- Máquina IAS en la Universidad de Princeton (enero de 1952)
- MANIAC I en el Laboratorio Científico de Los Alamos (marzo de 1952)
- MESM realizó su primera prueba de funcionamiento en Kiev el 6 de noviembre de 1950.
- Illinois Automatic Computer ( ILLIAC ) en la Universidad de Illinois , (septiembre de 1952)
Primeras computadoras con programas almacenados
- El IBM SSEC tenía la capacidad de tratar las instrucciones como datos, y se demostró públicamente el 27 de enero de 1948. Esta capacidad se reclamó en una patente estadounidense emitida el 28 de abril de 1953. [7] Sin embargo, era en parte electromecánica, no completamente electrónica. En la práctica, las instrucciones se leen en cinta de papel debido a su memoria limitada. [8]
- El Manchester Baby , de la Universidad Victoria de Manchester , fue la primera computadora completamente electrónica que ejecutó un programa almacenado. Ejecutó un programa de factorización durante 52 minutos el 21 de junio de 1948, después de ejecutar un programa de división simple y un programa para mostrar que dos números eran relativamente primos .
- El Integrador Numérico Electrónico y Computadora ( ENIAC ) se modificó para ejecutarse como una computadora primitiva de programa almacenado de solo lectura (usando las Tablas de funciones para la memoria de solo lectura del programa (ROM) y se demostró como tal el 16 de septiembre de 1948, ejecutando programa de Adele Goldstine para von Neumann.
- La computadora automática binaria ( BINAC ) ejecutó algunos programas de prueba en febrero, marzo y abril de 1949, aunque no se completó hasta septiembre de 1949.
- El Manchester Mark 1 se desarrolló a partir del proyecto Baby. Una versión intermedia del Mark 1 estaba disponible para ejecutar programas en abril de 1949, pero no se completó hasta octubre de 1949.
- La Calculadora Automática de Almacenamiento con Retraso Electrónico (EDSAC) ejecutó su primer programa el 6 de mayo de 1949.
- La Computadora Automática Electrónica Variable Discreta ( EDVAC ) fue entregada en agosto de 1949, pero tuvo problemas que impidieron su puesta en funcionamiento regular hasta 1951.
- La Computadora Automática de Investigación Científica e Industrial de la Commonwealth ( CSIRAC , anteriormente CSIR Mk I) ejecutó su primer programa en noviembre de 1949.
- La computadora automática estándar del este ( SEAC ) se demostró en abril de 1950.
- El Pilot ACE ejecutó su primer programa el 10 de mayo de 1950 y se demostró en diciembre de 1950.
- El ordenador automático estándar occidental ( SWAC ) se completó en julio de 1950.
- El Whirlwind se completó en diciembre de 1950 y estaba en uso real en abril de 1951.
- El primer ERA Atlas (más tarde el comercial ERA 1101 / UNIVAC 1101) se instaló en diciembre de 1950.
Diseño de debilidades
La desventaja de un MISC es que las instrucciones tienden a tener más dependencias secuenciales, lo que reduce el paralelismo general a nivel de instrucción .
Las arquitecturas MISC tienen mucho en común con algunas características de algunos lenguajes de programación , como el uso de la pila por parte de Forth y la máquina virtual Java . Ambos son débiles para proporcionar un paralelismo completo a nivel de instrucción .
CPU notables
Probablemente el MISC de mayor éxito comercial fue la arquitectura de transputadora INMOS original que no tenía unidad de punto flotante . Sin embargo, muchos microcontroladores de 8 bits , para aplicaciones informáticas integradas, califican como MISC.
Cada nave espacial STEREO incluye dos CPU MISC P24 y dos CPU MISC CPU24. [9] [10]
Ver también
- Equipo conjunto de instrucciones complejas
- Grupo reducido de instrucciones para computadoras
Referencias
- ^ Ting, Chen-hanson; Moore, Charles H. (1995). "MuP21: un procesador MISC de alto rendimiento" . UltraTechnology . Offete Enterprises, Inc.
- ^ Patente de EE. UU . 5481743A , Baxter, Michael A., "Arquitectura de computadora con conjunto mínimo de instrucciones y método de emisión de instrucciones múltiples", publicada el 02 de enero de 1996, publicada el 02 de enero de 1996, asignada a Apple Inc.
- ^ Baxter, Michael A. (1993). "Arquitectura de computadora con conjunto de instrucciones mínimas y método de emisión de instrucciones múltiples" . Google .
- ^ Halverson, Richard, Jr .; Lew, Arte (1995). "Una computadora con un conjunto de instrucciones mínimas basado en FPGA" . CiteSeerX . La Universidad Estatal de Pensilvania. pag. 23.
- ^ Kong, JH; Ang, L.-M .; Seng, KP "Procesador AES de conjunto de instrucciones mínimas utilizando la arquitectura de Harvard". 2010. doi : 10.1109 / ICCSIT.2010.5564522
- ^ Robertson, James E. (1955). Técnicas de diseño de Illiac: número de informe UIUCDCS-R-1955-146 (Informe). Urbana – Champaign , Illinois: Laboratorio de Computación Digital, Universidad de Illinois en Urbana – Champaign.
- ^ Patente de Estados Unidos 2636672 , Hamilton, Francis E .; Hughes, Ernest S. Jr. y Rowley, Russell A. et al., "Selective Sequence Electronic Calculator", expedida el 28 de abril de 1953, asignada a IBM
- ^ Grosch, Herbert RJ (1991). Computadora: pedazos de una vida . Libros del Tercer Milenio. ISBN 978-0-8873-3085-8.
- ^ Mewaldt, RA; Cohen, CMS; Cook, WR; Cummings, AC; et al. El telescopio de baja energía (LET) y la electrónica central SEP para la misión STEREO (PDF) (Informe).
- ^ Russell, CT (2008). La Misión STEREO (Informe).
enlaces externos
- Cuatro diseños de chips MISC
- seaForth-24 : el próximo diseño MISC de procesador multinúcleo más reciente de Charles H. Moore
- Green Arrays : el último diseño MISC de procesador multinúcleo de Charles H. Moore