MIPS , acrónimo de Microprocessor without Interlocked Pipeline Stages , fue un proyecto de investigación realizado por John L. Hennessy en la Universidad de Stanford entre 1981 y 1984. MIPS investigó un tipo de arquitectura de conjunto de instrucciones (ISA) ahora llamada computadora de conjunto de instrucciones reducidas (RISC), su implementación como un microprocesador con tecnología de semiconductores de integración a muy gran escala (VLSI) y la explotación efectiva de arquitecturas RISC con compiladores optimizadores . MIPS, junto con IBM 801 y Berkeley RISC , fueron los tres proyectos de investigación que fueron pioneros y popularizaron la tecnología RISC a mediados de la década de 1980. En reconocimiento al impacto que tuvo MIPS en la informática, Hennessey recibió la Medalla IEEE John von Neumann en 2000 del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) (compartida con David A. Patterson ), el Premio Eckert-Mauchly en 2001 de la Asociación para Maquinaria Computacional , el Premio Seymour Cray de Ingeniería Informática en 2001 de la IEEE Computer Society y, nuevamente con David Patterson, el Premio Turing en 2017 de la ACM.
El proyecto se inició en 1981 en respuesta a informes de proyectos similares en IBM (el 801 ) y la Universidad de California, Berkeley (el RISC ). MIPS fue conducido por Hennessy y sus estudiantes de posgrado hasta su conclusión en 1984. Hennessey fundó MIPS Computer Systems en el mismo año para comercializar la tecnología desarrollada por el proyecto. En 1985, MIPS Computer Systems anunció un nuevo ISA, también llamado MIPS , y su primera implementación, el microprocesador R2000 . El ISA comercial MIPS y sus implementaciones pasaron a ser ampliamente utilizados, apareciendo en computadoras integradas, computadoras personales, estaciones de trabajo, servidores y supercomputadoras. A partir de mayo de 2017, el ISA comercial MIPS es propiedad de Imagination Technologies y se usa principalmente en computadoras integradas. A fines de la década de 1980, Hennessy llevó a cabo un proyecto de seguimiento llamado MIPS-X en Stanford.
La ISA MIPS se basaba en una palabra de 32 bits. Admitía direccionamiento de 32 bits y estaba direccionada por palabra. Era una arquitectura de carga/almacenamiento : todas las referencias a la memoria utilizaban instrucciones de carga y almacenamiento que copiaban datos entre la memoria principal y 32 registros de propósito general (GPR). Todas las demás instrucciones, como la aritmética de números enteros, operaban en los GPR. Poseía un conjunto de instrucciones básico que consistía en instrucciones para el flujo de control , aritmética de números enteros y operaciones lógicas. Para minimizar los atascos en la secuencia de comandos, todas las instrucciones excepto las de carga y almacenamiento debían ejecutarse en un ciclo de reloj . No había instrucciones para la multiplicación o división de números enteros ni operaciones para números de punto flotante . La arquitectura exponía todos los peligros causados por la secuencia de comandos de cinco etapas con ranuras de retardo . El compilador programaba las instrucciones para evitar peligros que resultaran en cálculos incorrectos y, al mismo tiempo, garantizar que el código generado minimizara el tiempo de ejecución. Las instrucciones MIPS tienen una longitud de 16 o 32 bits. La decisión de exponer todos los riesgos estuvo motivada por el deseo de maximizar el rendimiento al minimizar las rutas críticas, que los circuitos de enclavamiento alargaban. Las instrucciones se empaquetaron en palabras de instrucción de 32 bits (ya que MIPS está direccionado por palabras). Una palabra de instrucción de 32 bits podía contener dos operaciones de 16 bits. Estas se incluyeron para reducir el tamaño del código de máquina. El microprocesador MIPS se implementó en lógica NMOS .