
En electrónica e informática , una computadora con conjunto reducido de instrucciones ( RISC , pronunciado "risk") es una arquitectura de computadora diseñada para simplificar las instrucciones individuales que se le dan a la computadora para realizar tareas. En comparación con las instrucciones dadas a una computadora con conjunto complejo de instrucciones (CISC), una computadora RISC puede requerir más código máquina para realizar una tarea porque las instrucciones individuales realizan operaciones más simples. El objetivo es compensar la necesidad de procesar más instrucciones aumentando la velocidad de cada una de ellas, en particular mediante la implementación de una tubería de instrucciones , lo cual puede ser más sencillo de lograr con instrucciones más simples. [ 1 ]
El concepto operativo clave de la computadora RISC es que cada instrucción realiza una sola función (por ejemplo, copiar un valor de la memoria a un registro). La computadora RISC generalmente tiene muchos (16 o 32) registros de alta velocidad y propósito general con una arquitectura de carga-almacenamiento en la que las instrucciones que realizan operaciones aritméticas y comprobaciones operan solo en los registros, y las instrucciones que acceden a datos en la memoria principal de la computadora solo cargan datos de la memoria a los registros o almacenan datos de los registros en la memoria. El diseño de la CPU permite a las computadoras RISC pocos y sencillos modos de direccionamiento [ 2 ] y tiempos de instrucción predecibles que simplifican el diseño del sistema en su conjunto.
El desarrollo conceptual de la arquitectura de computadoras RISC comenzó con el proyecto IBM 801 a finales de la década de 1970, pero no se implementó de inmediato. Diseñadores en California retomaron los conceptos del 801 en dos proyectos fundamentales: Stanford MIPS y Berkeley RISC . Estos se comercializaron en la década de 1980 como los sistemas MIPS y SPARC . IBM finalmente produjo diseños RISC basados en trabajos posteriores sobre el concepto 801: la arquitectura IBM POWER , PowerPC y Power ISA . A medida que los proyectos maduraron, muchos diseños similares, producidos a mediados y finales de la década de 1980 y principios de la de 1990, como ARM , PA-RISC y Alpha , crearon unidades centrales de procesamiento que aumentaron la utilidad comercial de la estación de trabajo Unix y de los procesadores integrados en impresoras láser , enrutadores y productos similares. Los procesadores RISC se utilizan en supercomputadoras , como la Fugaku . [ 3 ]
Las diversas arquitecturas de procesadores RISC incluyen el procesador ARC , el DEC Alpha, el AMD Am29000 , la arquitectura ARM, el Atmel AVR , Blackfin , Intel i860 , Intel i960 , LoongArch , Motorola 88000 , la arquitectura MIPS, PA-RISC, Power ISA, RISC-V , SuperH y SPARC.
Historia y desarrollo
Varios sistemas, que datan de la década de 1960, han sido reconocidos como la primera arquitectura RISC, en parte debido a su uso del enfoque de carga y almacenamiento . [ 4 ] El término RISC fue acuñado por David Patterson del proyecto RISC de Berkeley , aunque conceptos algo similares habían aparecido con anterioridad. [ 5 ]
El CDC 6600, diseñado por Seymour Cray en 1964, utilizaba una arquitectura de carga y almacenamiento con solo dos modos de direccionamiento (registro+registro y registro+constante inmediata) y 74 códigos de operación, con un ciclo de reloj básico 10 veces más rápido que el tiempo de acceso a la memoria. [ 6 ] En parte debido a la arquitectura de carga y almacenamiento optimizada del CDC 6600, Jack Dongarra afirma que puede considerarse un precursor de los sistemas RISC modernos, aunque fue necesario superar varias barreras técnicas para el desarrollo de un sistema RISC moderno. [ 7 ]
IBM 801
Michael J. Flynn considera que el primer sistema RISC fue el diseño IBM 801 , [ 2 ] iniciado en 1975 por John Cocke y completado en 1980. El 801 surgió de un esfuerzo por construir un procesador de alta velocidad de 24 bits para usarlo como base para una central telefónica digital . Para alcanzar su objetivo de conmutar 1 millón de llamadas por hora (300 por segundo), calcularon que la CPU requería un rendimiento del orden de 12 millones de instrucciones por segundo (MIPS), [ 8 ] en comparación con su máquina central más rápida de la época, la 370/168 , que funcionaba a 3,5 MIPS. [ 9 ]
El diseño se basó en un estudio de la extensa colección de estadísticas de IBM, recopiladas de sus clientes. Esto demostró que el código en entornos de alto rendimiento hacía un uso intensivo de los registros del procesador y que, a menudo, estos se agotaban. Esto sugería que la adición de registros mejoraría el rendimiento. Además, observaron que los compiladores generalmente ignoraban la gran mayoría de las instrucciones disponibles, especialmente los modos de direccionamiento ortogonal. En su lugar, seleccionaban la versión más rápida de cada instrucción y luego construían pequeñas rutinas utilizándola. Esto sugería que la mayoría de las instrucciones podían eliminarse sin afectar el código resultante. Estas dos conclusiones funcionaron en conjunto: la eliminación de instrucciones permitiría que los códigos de operación de las instrucciones fueran más cortos, liberando bits en la palabra de instrucción que luego podrían usarse para seleccionar entre un conjunto más amplio de registros. [ 8 ]
El programa de conmutación telefónica se canceló en 1975, pero para entonces el equipo ya había demostrado que el mismo diseño ofrecería mejoras de rendimiento significativas al ejecutar prácticamente cualquier código. En simulaciones, demostraron que un compilador optimizado para usar registros en lugar de operar directamente en la memoria ejecutaría el código aproximadamente tres veces más rápido que los diseños tradicionales. Sorprendentemente, el mismo código se ejecutaría aproximadamente un 50 % más rápido incluso en las máquinas existentes gracias al uso mejorado de los registros. En la práctica, su compilador experimental PL/8, una versión ligeramente reducida de PL/I , producía consistentemente código que se ejecutaba mucho más rápido en sus mainframes existentes. [ 8 ]
En 1981 se produjo una versión de 32 bits del 801 en formato de chip único, denominada IBM ROMP , acrónimo de «Research OPD [Office Products Division] Micro Processor». [ 10 ] Esta CPU fue diseñada para tareas «mini» y se utilizó en interfaces de periféricos y controladores de canal en ordenadores IBM posteriores. También se empleó como CPU en el IBM RT PC de 1986, que resultó ser un fracaso comercial. [ 11 ] Aunque el 801 no tuvo una amplia difusión en su formato original, inspiró numerosos proyectos de investigación, incluidos algunos en IBM que, con el tiempo, darían lugar a la arquitectura IBM POWER . [ 12 ] [ 13 ]
Berkeley RISC y Stanford MIPS
A finales de la década de 1970, el 801 ya era muy conocido en la industria. Esto coincidió con nuevas técnicas de fabricación que permitieron la comercialización de chips más complejos. El Zilog Z80 de 1976 tenía 8000 transistores, mientras que el Motorola 68000 (68k) de 1979 tenía 68 000. Estos nuevos diseños generalmente utilizaban su mayor complejidad para ampliar el conjunto de instrucciones y hacerlo más ortogonal. La mayoría, como el 68k, utilizaban microcódigo para ello, leyendo las instrucciones y reimplementándolas como una secuencia de instrucciones internas más simples. En el 68k, se utilizaba un tercio de los transistores para esta microcodificación . [ 14 ]
En 1979, David Patterson fue enviado a un año sabático de la Universidad de California, Berkeley, para ayudar al equipo de DEC en la costa oeste a mejorar el microcódigo VAX. Patterson quedó impresionado por la complejidad del proceso de codificación y concluyó que era insostenible. [ 15 ] Inicialmente escribió un artículo sobre formas de mejorar la microcodificación, pero luego cambió de opinión y decidió que el problema radicaba en el microcódigo mismo. Con financiación del Programa VLSI de DARPA , Patterson inició el proyecto RISC de Berkeley . Este programa, prácticamente desconocido hoy en día, propició numerosos avances en el diseño, la fabricación e incluso los gráficos por computadora de chips. Al analizar diversos programas de su variante BSD Unix , el equipo de Berkeley descubrió, al igual que IBM, que la mayoría de los programas no aprovechaban la gran variedad de instrucciones del 68k. [ 16 ]
El trabajo inicial de Patterson señaló un problema importante con el enfoque tradicional de "más es mejor"; incluso aquellas instrucciones que eran críticas para el rendimiento general se retrasaban por su recorrido a través del microcódigo. Si se eliminaba el microcódigo, los programas se ejecutarían más rápido. Y dado que el microcódigo finalmente tomaba una instrucción compleja y la dividía en pasos, no había razón para que el compilador no pudiera hacer esto en su lugar. Estos estudios sugirieron que, incluso sin otros cambios, se podría hacer un chip con 1/3 menos de transistores que se ejecutaría más rápido. [ 16 ] En el artículo original de RISC-I señalaron: [ 17 ]
Omitir este nivel adicional de interpretación parece mejorar el rendimiento a la vez que reduce el tamaño del chip. [ 17 ]
También se descubrió que, en las implementaciones microcodificadas de ciertas arquitecturas, las operaciones complejas tendían a ser más lentas que una secuencia de operaciones más simples que realizaban la misma tarea. Esto se debía en parte a que muchos diseños se realizaban con prisas, con poco tiempo para optimizar o ajustar cada instrucción; solo se optimizaban las más utilizadas, y una secuencia de esas instrucciones podía ser más rápida que una instrucción menos optimizada que realizaba una operación equivalente. Un ejemplo tristemente célebre fue la instrucción del VAXINDEX . [ 18 ]
El trabajo de Berkeley también reveló varios puntos adicionales. Entre ellos, se observó que los programas dedicaban una cantidad significativa de tiempo a realizar llamadas y retornos de subrutinas , y parecía haber potencial para mejorar el rendimiento general acelerando estas llamadas. Esto llevó al diseño de Berkeley a seleccionar un método conocido como ventanas de registro , que puede mejorar significativamente el rendimiento de las subrutinas, aunque a costa de cierta complejidad. [ 17 ] También observaron que la mayoría de las instrucciones matemáticas eran asignaciones simples; solo 1/3 de ellas realizaban realmente una operación como suma o resta. Pero cuando estas operaciones ocurrían, tendían a ser lentas. Esto llevó a un mayor énfasis en la unidad de datos aritméticos subyacente, en contraste con diseños anteriores donde la mayor parte del chip estaba dedicada al control y al microcódigo. [ 16 ]
El Berkeley RISC resultante se basó en obtener rendimiento mediante el uso de segmentación y el uso agresivo de ventanas de registro. [ 18 ] [ 17 ] En una CPU tradicional, se tiene un número pequeño de registros, y un programa puede usar cualquier registro en cualquier momento. En una CPU con ventanas de registro, hay un gran número de registros, por ejemplo, 128, pero los programas solo pueden usar un pequeño número de ellos, por ejemplo, ocho, en cualquier momento. Un programa que se limita a sí mismo a ocho registros por procedimiento puede hacer llamadas a procedimientos muy rápidas : la llamada simplemente mueve la ventana "hacia abajo" en ocho, al conjunto de ocho registros utilizados por ese procedimiento, y el retorno mueve la ventana de vuelta. [ 19 ] El proyecto Berkeley RISC entregó el procesador RISC-I en 1982. Con solo 44.420 transistores (en comparación con un promedio de aproximadamente 100.000 en los diseños CISC más nuevos de la época), RISC-I tenía solo 32 instrucciones y, sin embargo, superó por completo a cualquier otro diseño de un solo chip, con un rendimiento estimado superior al del VAX. [ 17 ] Posteriormente, en 1983, lanzaron el RISC-II de 40.760 transistores y 39 instrucciones, que era más de tres veces más rápido que el RISC-I. [ 17 ]
A medida que el proyecto RISC comenzaba a darse a conocer en Silicon Valley , un proyecto similar se inició en la Universidad de Stanford en 1981. Este proyecto MIPS surgió de un curso de posgrado impartido por John L. Hennessy , produjo un sistema funcional en 1983 y podía ejecutar programas sencillos en 1984. [ 20 ] El enfoque MIPS enfatizaba un ciclo de reloj agresivo y el uso de la segmentación, asegurando que pudiera ejecutarse de la forma más "completa" posible. [ 20 ] Al sistema MIPS le siguió el MIPS-X, y en 1984 Hennessy y sus colegas fundaron MIPS Computer Systems para producir el diseño comercialmente. [ 20 ] [ 21 ] La iniciativa dio como resultado una nueva arquitectura que también se denominó MIPS y el microprocesador R2000 en 1985. [ 21 ]
La filosofía general del concepto RISC fue ampliamente comprendida en la segunda mitad de la década de 1980 y llevó a los diseñadores del MIPS-X a expresarla de esta manera en 1987:
El objetivo de cualquier formato de instrucción debe ser: 1. decodificación simple, 2. decodificación simple y 3. decodificación simple. Cualquier intento de mejorar la densidad del código a expensas del rendimiento de la CPU debe ser ridiculizado en cada oportunidad. [ 22 ]
La competencia entre los enfoques RISC y CISC convencionales también fue objeto de análisis teórico a principios de la década de 1980, lo que condujo, por ejemplo, a la ley de hierro del rendimiento del procesador .

Desde 2010, una nueva arquitectura de conjunto de instrucciones (ISA) de estándar abierto , Berkeley RISC-V , ha estado en desarrollo en la Universidad de California, Berkeley, con fines de investigación y como una alternativa gratuita a las ISA propietarias. A partir de 2014, la versión 2 de la ISA de espacio de usuario está fija. [ 23 ] La ISA está diseñada para ser extensible desde un núcleo básico suficiente para un pequeño procesador embebido hasta su uso en supercomputadoras y computación en la nube con extensiones y coprocesadores estándar y definidos por el diseñador del chip. Se ha probado en el diseño de silicio con el SoC ROCKET , que también está disponible como un generador de procesadores de código abierto en el lenguaje CHISEL.
ruptura comercial
A principios de la década de 1980, el concepto RISC estaba rodeado de importantes incertidumbres. Una de ellas se refería al uso de la memoria; una sola instrucción de un procesador tradicional como el Motorola 68k podía escribirse como media docena de instrucciones RISC más sencillas. En teoría, esto podría ralentizar el sistema, ya que dedicaría más tiempo a buscar instrucciones en la memoria. Sin embargo, a mediados de la década de 1980, los conceptos habían madurado lo suficiente como para considerarse comercialmente viables. [ 11 ] [ 20 ]
En el mercado de minicomputadoras , empresas como Celerity Computing , Pyramid Technology y Ridge Computers comenzaron a ofrecer sistemas diseñados según principios RISC o similares a RISC a principios de la década de 1980. [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] Pocos de estos diseños comenzaron utilizando microprocesadores RISC .

Los diseños comerciales de RISC comenzaron a surgir a mediados de la década de 1980. El IBM RT PC se presentó en enero de 1986, y el Acorn ARM1 se presentó como parte de un sistema de evaluación en julio de 1986, [ 29 ] después de su fabricación inicial en abril de 1985. [ 30 ] El MIPS R2000 se presentó en mayo de 1986, [ 31 ] seguido poco después por el PA-RISC de Hewlett-Packard en algunas de sus computadoras. [ 32 ] Mientras tanto, el esfuerzo de Berkeley se había vuelto tan conocido que finalmente se convirtió en el nombre de todo el concepto. En 1987, Sun Microsystems comenzó a enviar sistemas con el procesador SPARC , basado directamente en el sistema Berkeley RISC-II. [ 11 ] [ 33 ] El Comité de Innovaciones en Computación y Comunicaciones del gobierno de EE. UU. atribuye la aceptación de la viabilidad del concepto RISC al éxito del sistema SPARC. [ 11 ]
Una ventaja de RISC para la industria fueron los precios mucho más bajos que el Intel 80386 , del que solo disponía ; [ 34 ] para 1989 había muchas CPU RISC disponibles, y la competencia redujo su precio a 10 dólares por MIPS en grandes cantidades. El rendimiento de la CPU RISC de IBM, disponible solo en el RT PC , era menos competitivo que el de otras, [ 35 ] pero el éxito de SPARC reavivó el interés dentro de IBM, que lanzó nuevos sistemas RISC en 1990 y, para 1995, los procesadores RISC eran la base de una industria de servidores de 15 mil millones de dólares. [ 11 ]
Patterson fue consultor de Intel durante la década de 1980. A pesar de dominar el mercado de microprocesadores con el CISC 80386 y sus sucesores, el consenso de que RISC era el futuro de la industria influyó en los ingenieros de esa compañía, quienes trabajaron para mejorar el rendimiento de sus procesadores para igualar a RISC. [ 34 ] IBM eligió un enfoque similar de mejorar CISC tanto como fuera posible con los mainframes de IBM , [ 36 ] mientras introducía nuevas computadoras basadas en RISC que competían directamente con sus sistemas CISC de gama media existentes . [ 37 ] El paso de Sun a SPARC se basó en su decisión de, en lugar de depender de mejoras a CISC, hacer la transición a RISC lo más rápido posible. [ 36 ] Los ingenieros de DEC que diseñaron DECstation con MIPS R2000 y no con el VAX de su propia compañía lo hicieron porque, escribieron, el primero ofrecía "al menos una ventaja de rendimiento de dos a uno" por el costo. [ 38 ] [ 36 ] A finales de la década de 1980, los nuevos diseños RISC superaban fácilmente a todos los diseños CISC por un amplio margen. [ 36 ]
Para 1992, Sun, DEC, HP e IBM eran las principales empresas comerciales de RISC. [ 39 ] Otros proveedores comenzaron sus propios esfuerzos en RISC. Entre las arquitecturas disponibles se encontraban DEC Alpha , AMD Am29000 , Intel i860 e i960 , Motorola 88000 , IBM POWER y, un poco más tarde, IBM/Apple/Motorola PowerPC . Muchas de estas han desaparecido desde entonces debido a que a menudo no ofrecían ninguna ventaja competitiva sobre otras de la misma época. Las que quedan se utilizan a menudo solo en nichos de mercado o como parte de otros sistemas; de los diseños de estos proveedores tradicionales, solo SPARC y la Power ISA derivada de PowerPC tienen un mercado restante significativo.
La arquitectura ARM ha sido la ISA RISC más adoptada, inicialmente concebida para ofrecer computación de escritorio de alto rendimiento, a bajo costo y en un paquete térmico restringido, como en el Acorn Archimedes , mientras figuraba en las tablas de la Liga de Supercomputadoras , su implementación inicial, de menor potencia y refrigeración, pronto se adaptó a aplicaciones embebidas, como el procesamiento de imágenes rasterizadas de impresoras láser. [ 40 ] Acorn, en asociación con Apple Inc. y VLSI, creó ARM Ltd. en 1990, para compartir costos de I+D y encontrar nuevos mercados para la ISA, que en asociación con TI, GEC, Sharp, Nokia, Oracle y Digital desarrollaría diseños RISC embebidos y de bajo consumo, y se dirigiría a esos segmentos de mercado, que en ese momento eran de nicho. Con el auge de la computación móvil, automotriz, de transmisión y de dispositivos inteligentes, ARM se convirtió en la ISA más utilizada, y la compañía estima que casi la mitad de todas las CPU enviadas en la historia han sido ARM. [ 41 ]
Características y filosofía de diseño
La confusión en torno a la definición de RISC, derivada de la formulación del término, junto con la tendencia a categorizar de manera oportunista arquitecturas de procesadores con relativamente pocas instrucciones (o grupos de instrucciones) como arquitecturas RISC, llevó a intentos de definir RISC como una filosofía de diseño. Un intento de hacerlo se expresó de la siguiente manera:
Un procesador RISC tiene un conjunto de instrucciones diseñado para una ejecución eficiente por parte de un procesador segmentado y para la generación de código por parte de un compilador optimizador.
— Michael Slater, Microprocessor Report [ 42 ]
filosofía del conjunto de instrucciones
Un error común al interpretar la frase "computadora con conjunto de instrucciones reducido" es que las instrucciones simplemente se eliminan, lo que resulta en un conjunto de instrucciones más pequeño. [ 43 ] De hecho, con el paso de los años, los conjuntos de instrucciones RISC han aumentado de tamaño, y hoy en día muchos de ellos tienen un conjunto de instrucciones mayor que muchas CPU CISC. [ 44 ] [ 45 ] Algunos procesadores RISC, como el PowerPC, tienen conjuntos de instrucciones tan grandes como el IBM System/370 CISC , por ejemplo; por el contrario, el DEC PDP-8 —claramente una CPU CISC porque muchas de sus instrucciones implican múltiples accesos a memoria— tiene solo 8 instrucciones básicas y algunas instrucciones extendidas. [ 46 ] El término "reducido" en esa frase pretendía describir el hecho de que la cantidad de trabajo que realiza cualquier instrucción individual se reduce —como máximo un solo ciclo de memoria de datos— en comparación con las "instrucciones complejas" de las CPU CISC que pueden requerir docenas de ciclos de memoria de datos para ejecutar una sola instrucción. [ 47 ]
En ocasiones, se prefiere el término arquitectura de carga y almacenamiento .
Otra forma de abordar el debate RISC/CISC es considerar qué información está expuesta al compilador. En un procesador CISC, el hardware puede usar internamente registros y bits de bandera para implementar una instrucción compleja STRING MOVE, pero oculta esos detalles al compilador. Las operaciones internas de un procesador RISC están "expuestas al compilador", lo que da lugar al acrónimo inverso "Relegar lo interesante al compilador". [ 48 ] [ 49 ]
Formato de instrucciones
La mayoría de las arquitecturas RISC tienen instrucciones de longitud fija y una codificación simple, lo que simplifica considerablemente la lógica de búsqueda, decodificación y emisión. Este es uno de los principales objetivos del enfoque RISC. [ 17 ]
Parte de esto solo es posible gracias al cambio contemporáneo a formatos de 32 bits. Por ejemplo, en un programa típico, más del 30 % de todas las constantes numéricas son 0 o 1, el 95 % caben en un byte y el 99 % en un valor de 16 bits. [ 50 ] Cuando las computadoras se basaban en palabras de 8 o 16 bits, era difícil tener un valor inmediato combinado con el código de operación en una sola palabra de memoria, aunque ciertas instrucciones como incremento y decremento lo hacían implícitamente al usar un código de operación diferente. En cambio, una máquina de 32 bits tiene espacio suficiente para codificar un valor inmediato, y al hacerlo se evita la necesidad de realizar una segunda lectura de memoria para obtener el valor. Por eso muchos procesadores RISC permiten que una constante de 12 o 13 bits se codifique directamente en la palabra de instrucción. [ 17 ]
Suponiendo un área constante de 13 bits, como en los diseños MIPS y RISC, hay otros 19 bits disponibles para la codificación de instrucciones. Esto deja espacio suficiente para indicar tanto el código de operación como uno o dos registros. Las operaciones de registro a registro, principalmente matemáticas y lógicas, requieren suficientes bits para codificar los dos o tres registros que se utilizan. La mayoría de los procesadores utilizan el formato de tres operandos A = B + C, en cuyo caso se necesitan tres números de registro. Si el procesador tiene 32 registros, cada uno requiere un número de 5 bits, para un total de 15 bits. Si uno de estos registros se reemplaza por un valor inmediato, aún hay espacio para codificar los dos registros restantes y el código de operación. Las instrucciones comunes que se encuentran en los sistemas de múltiples palabras, como INCy DEC, que reducen la cantidad de palabras que se deben leer antes de realizar la instrucción, son innecesarias en RISC, ya que se pueden realizar con un solo registro y el valor inmediato 1. [ 17 ]
El formato RISC-I original sigue siendo un ejemplo canónico del concepto. Utiliza 7 bits para el código de operación y un indicador de 1 bit para códigos condicionales, los siguientes 5 bits para el registro de destino y los siguientes cinco para el primer operando. Esto deja 14 bits, el primero de los cuales indica si los siguientes 13 contienen un valor inmediato o utiliza solo cinco de ellos para indicar un registro para el segundo operando. [ 17 ] Un ejemplo más complejo es la codificación MIPS, que utiliza solo 6 bits para el código de operación, seguidos de dos registros de 5 bits. Los 16 bits restantes podrían utilizarse de dos maneras: uno como un valor inmediato de 16 bits, o como un valor de desplazamiento de 5 bits (utilizado solo en operaciones de desplazamiento, de lo contrario cero) y los 6 bits restantes como una extensión del código de operación. En el caso de operaciones aritméticas de registro a registro, el código de operación era 0 y los últimos 6 bits contenían el código real; aquellos que utilizaban un valor inmediato utilizaban el campo de código de operación normal al principio. [ 51 ]
Una desventaja de las instrucciones de 32 bits es la menor densidad de código, una característica más perjudicial en la informática embebida que en los mercados de estaciones de trabajo y servidores para los que se diseñaron originalmente las arquitecturas RISC. Para abordar este problema, varias arquitecturas, como SuperH (1992), ARM Thumb (1994), [ 52 ] MIPS16e (2004), Power Variable Length Encoding ISA (2006), RISC-V y Adapteva Epiphany , cuentan con un conjunto de instrucciones comprimido opcional, corto y con menos características . Generalmente, estas instrucciones exponen un menor número de registros y menos bits para valores inmediatos, y a menudo utilizan un formato de dos operandos para eliminar un número de registro de las instrucciones. Un formato de dos operandos en un sistema con 16 registros requiere 8 bits para los números de registro, dejando otros 8 para un código de operación u otros usos. SH5 también sigue este patrón, aunque ha evolucionado en la dirección opuesta, añadiendo instrucciones de 32 bits más largas a una codificación original de 16 bits.
utilización del hardware
El aspecto más característico de RISC es la ejecución de al menos una instrucción por ciclo . [ 35 ] La operación de ciclo único se describe como "la ejecución rápida de funciones simples que dominan el flujo de instrucciones de una computadora", buscando así ofrecer un rendimiento promedio cercano a una instrucción por ciclo para cualquier flujo de instrucciones único. [ 53 ]
Otras características de las arquitecturas RISC incluyen:
- Se dedican muchos menos transistores a la lógica central, lo que originalmente permitió a los diseñadores aumentar el tamaño del conjunto de registros e incrementar el paralelismo interno.
- Formato de instrucción uniforme, que utiliza una sola palabra con el código de operación en las mismas posiciones de bits para una decodificación más sencilla.
- Todos los registros de propósito general pueden usarse indistintamente como origen/destino en todas las instrucciones, lo que simplifica el diseño del compilador ( los registros de punto flotante a menudo se mantienen separados).
- Modos de direccionamiento simples con direccionamiento complejo realizado mediante secuencias de instrucciones.
- Pocos tipos de datos en el hardware (por ejemplo, no hay cadena de bytes ni decimal codificado en binario [BCD]).
Los diseños RISC también suelen incorporar un modelo de memoria Harvard , donde el flujo de instrucciones y el flujo de datos están conceptualmente separados; esto significa que modificar la memoria donde se almacena el código podría no tener ningún efecto en las instrucciones ejecutadas por el procesador (debido a que la CPU tiene una caché de instrucciones y de datos separada ), al menos hasta que se emita una instrucción de sincronización especial; los procesadores CISC que tienen cachés de instrucciones y de datos separadas generalmente las mantienen sincronizadas automáticamente, para garantizar la compatibilidad con procesadores más antiguos.
Muchos de los primeros diseños RISC también compartían la característica de tener una ranura de retardo de bifurcación , un espacio de instrucciones inmediatamente posterior a un salto o bifurcación. La instrucción en este espacio se ejecuta, independientemente de si se realiza o no la bifurcación (es decir, el efecto de la bifurcación se retrasa). Esta instrucción mantiene ocupada la ALU de la CPU durante el tiempo adicional que normalmente se necesita para realizar una bifurcación. Hoy en día, la ranura de retardo de bifurcación se considera un efecto secundario indeseado de una estrategia particular para implementar algunos diseños RISC, y los diseños RISC modernos generalmente la eliminan (como PowerPC y las versiones más recientes de SPARC y MIPS).
Algunos aspectos atribuidos a los primeros diseños con la etiqueta RISC alrededor de 1975 incluyen la observación de que los compiladores de la época, con limitaciones de memoria, a menudo no podían aprovechar las características destinadas a facilitar la codificación en lenguaje ensamblador manual , y que los modos de direccionamiento complejos requerían muchos ciclos debido a los accesos a memoria adicionales necesarios. Se argumentó que dichas funciones se realizarían mejor mediante secuencias de instrucciones más simples si esto permitiera implementaciones lo suficientemente pequeñas como para dejar espacio para muchos registros, reduciendo así el número de accesos a memoria lentos. En estos diseños simples, la mayoría de las instrucciones tienen una longitud uniforme y una estructura similar, las operaciones aritméticas se limitan a los registros de la CPU y solo las instrucciones de carga y almacenamiento independientes acceden a la memoria. Estas propiedades permiten un mejor equilibrio de las etapas de la tubería que antes, lo que hace que las tuberías RISC sean significativamente más eficientes y permite frecuencias de reloj más altas .
Otro impulso para el desarrollo de RISC y otros diseños provino de mediciones prácticas en programas reales. Andrew Tanenbaum resumió muchas de estas mediciones, demostrando que los procesadores a menudo tenían valores inmediatos sobredimensionados. Por ejemplo, demostró que el 98% de todas las constantes en un programa cabrían en 13 bits , pero muchos diseños de CPU dedicaban 16 o 32 bits para almacenarlas. Esto sugiere que, para reducir el número de accesos a memoria, una máquina de longitud fija podría almacenar constantes en los bits no utilizados de la propia palabra de instrucción, de modo que estuvieran disponibles inmediatamente cuando la CPU las necesitara (de forma similar al direccionamiento inmediato en un diseño convencional). Esto requería códigos de operación pequeños para dejar espacio para una constante de tamaño razonable en una palabra de instrucción de 32 bits.
Dado que muchos programas del mundo real pasan la mayor parte del tiempo ejecutando operaciones simples, algunos investigadores decidieron centrarse en hacer que esas operaciones fueran lo más rápidas posible. La frecuencia de reloj de una CPU está limitada por el tiempo que tarda en ejecutarse la suboperación más lenta de cualquier instrucción; disminuir ese tiempo de ciclo a menudo acelera la ejecución de otras instrucciones. [ 54 ] El enfoque en las "instrucciones reducidas" llevó a que la máquina resultante se denominara "computadora de conjunto de instrucciones reducido" (RISC). El objetivo era hacer que las instrucciones fueran tan simples que pudieran segmentarse fácilmente , para lograr un rendimiento de un solo reloj a altas frecuencias . Esto contrastaba con los diseños CISC, cuyas "operaciones aritméticas cruciales y transferencias de registros" se consideraban difíciles de segmentar. [ 55 ]
Posteriormente, se observó que una de las características más significativas de los procesadores RISC era que la memoria externa solo era accesible mediante instrucciones de carga o almacenamiento . Todas las demás instrucciones se limitaban a los registros internos. Esto simplificó muchos aspectos del diseño del procesador: permitió que las instrucciones tuvieran una longitud fija, simplificó las arquitecturas de segmentación y aisló la lógica para gestionar el retardo en la finalización de un acceso a memoria (fallo de caché, etc.) en solo dos instrucciones. Esto llevó a que los diseños RISC se denominaran arquitecturas de carga-almacenamiento . [ 56 ]
Comparación con otras arquitecturas
Algunas CPU se han diseñado específicamente para tener un conjunto muy pequeño de instrucciones , pero estos diseños son muy diferentes de los diseños RISC clásicos, por lo que se les ha dado otros nombres, como ordenador con conjunto mínimo de instrucciones (MISC) o arquitectura activada por transporte (TTA).
Las arquitecturas RISC tradicionalmente han tenido poco éxito en los mercados de PC de escritorio y servidores de consumo, donde las plataformas basadas en x86 siguen siendo la arquitectura de procesador dominante. Sin embargo, esto puede cambiar, ya que se están desarrollando procesadores basados en ARM para sistemas de mayor rendimiento. [ 57 ] Fabricantes como Cavium , AMD y Qualcomm han lanzado procesadores de servidor basados en la arquitectura ARM. [ 58 ] [ 59 ] ARM se asoció además con Cray en 2017 para producir una supercomputadora basada en ARM. [ 60 ] En el escritorio, Microsoft anunció que planeaba admitir la versión para PC de Windows 10 en dispositivos basados en Qualcomm Snapdragon en 2017 como parte de su asociación con Qualcomm. Estos dispositivos admitirán aplicaciones de Windows compiladas para x86 de 32 bits a través de un emulador de procesador x86 que traduce el código x86 de 32 bits a código ARM64 . [ 61 ] [ 62 ] Apple anunció que hará la transición de sus computadoras de escritorio y portátiles Mac de procesadores Intel a SoC basados en ARM64 desarrollados internamente llamados Apple silicon ; las primeras computadoras de este tipo, que utilizan el procesador Apple M1 , se lanzaron en noviembre de 2020. [ 63 ] Las Mac con Apple silicon pueden ejecutar binarios x86-64 con Rosetta 2 , un traductor de x86-64 a ARM64. [ 64 ]
Fuera del ámbito de los ordenadores de sobremesa, la arquitectura ARM RISC se utiliza ampliamente en teléfonos inteligentes, tabletas y diversos dispositivos integrados. Si bien los primeros diseños RISC diferían significativamente de los diseños CISC contemporáneos, para el año 2000 las CPU de mayor rendimiento de la línea RISC eran prácticamente indistinguibles de las CPU de mayor rendimiento de la línea CISC. [ 65 ] [ 66 ] [ 67 ]
Uso de arquitecturas RISC
Las arquitecturas RISC se utilizan actualmente en una amplia gama de plataformas, desde teléfonos inteligentes y tabletas hasta algunas de las supercomputadoras más rápidas del mundo , como LineShine , El Capitan y Frontier , las tres más rápidas de la lista TOP500 a junio de 2026. . [ 68 ]
Sistemas de gama baja y móviles
A principios del siglo XXI, la mayoría de los sistemas móviles y de gama baja se basaban en arquitecturas RISC. [ 69 ] Algunos ejemplos son:
- La arquitectura ARM domina el mercado de sistemas embebidos de bajo consumo y bajo coste (normalmente de 200 a 1800 MHz en 2014). Se utiliza en diversos sistemas, como la mayoría de los basados en Android , el iPhone , iPod Touch , iPad , Apple Watch y Apple TV de Apple , Palm , Microsoft Windows Phone (antes Windows Mobile /Windows CE), dispositivos RIM , Nintendo Game Boy Advance , DS , 3DS y Switch , Raspberry Pi , etc.
- El procesador PowerPC de IBM se utilizó en las consolas de videojuegos GameCube , Wii , PlayStation 3 , Xbox 360 y Wii U.
- La línea MIPS (que en su momento se utilizó en muchos ordenadores SGI ) se empleó en las consolas de videojuegos PlayStation , PlayStation 2 , Nintendo 64 , PlayStation Portable y en routers domésticos como la serie Linksys WRT54G .
- La SuperH de Hitachi , originalmente muy utilizada en las consolas 32X , Saturn y Dreamcast , ahora es desarrollada y vendida por Renesas como la SH4 .
- El Atmel AVR se utiliza en una variedad de productos que van desde los controladores portátiles de Xbox y la plataforma de microcontroladores de código abierto Arduino hasta los automóviles BMW .
- RISC-V , la versión actual del conjunto de instrucciones RISC estándar abierto de Berkeley , cuenta con espacios de direcciones de 32 o 64 bits , un pequeño conjunto de instrucciones de enteros del núcleo y un conjunto de instrucciones experimental "comprimido" para mayor densidad de código, diseñado para extensiones estándar y de propósito especial.
Ordenadores de sobremesa y portátiles
- La arquitectura PowerPC de IBM se utilizó en los ordenadores Macintosh de Apple desde 1994, cuando comenzaron a cambiar de los procesadores de la familia Motorola 68000 , hasta 2005, cuando hicieron la transición a los procesadores Intel x86 . [ 70 ]
- Algunos Chromebooks utilizan plataformas basadas en ARM desde 2012. [ 71 ]
- Apple utiliza procesadores de diseño propio basados en la arquitectura ARM para su línea de ordenadores de sobremesa y portátiles desde su transición desde los procesadores Intel , [ 72 ] y los primeros ordenadores de este tipo se lanzaron en noviembre de 2020. [ 63 ]
- Microsoft utiliza procesadores basados en ARM de Qualcomm [ 73 ] para su línea Surface . HP Inc y Lenovo han lanzado PC con Windows con un Qualcomm Snapdragon basado en ARM .
Estaciones de trabajo, servidores y supercomputadoras
- MIPS , de Silicon Graphics (dejó de fabricar sistemas basados en MIPS en 2006).
- SPARC , de Oracle (anteriormente Sun Microsystems ), y Fujitsu .
- La arquitectura IBM POWER , PowerPC y Power ISA de IBM se utilizaron y se siguen utilizando en muchos de los superordenadores, servidores de gama media y estaciones de trabajo de IBM.
- El procesador PA-RISC de Hewlett-Packard , también conocido como HP-PA (cuya producción se interrumpió a finales de 2008).
- Alpha , utilizado en ordenadores de placa única , estaciones de trabajo, servidores y superordenadores de Digital Equipment Corporation , luego de Compaq y finalmente de Hewlett-Packard (HP) (descontinuado a partir de 2007).
- RISC-V , la quinta arquitectura RISC de Berkeley, con espacios de direcciones de 64 o 128 bits , y un núcleo de enteros ampliado con operaciones de punto flotante, atómicas y vectoriales , diseñado para ser extendido con instrucciones para redes, E/S y procesamiento de datos. Una especificación para un diseño superescalar de 64 bits, "Rocket", está disponible para su descarga. Está implementado en el procesador de la Iniciativa Europea de Procesadores (EEPI ).
- La arquitectura ARM es la que utilizan actualmente los proveedores de servicios en la nube para sus servidores. Un ejemplo es el procesador AWS Graviton, utilizado para diversos servicios en la plataforma AWS. [ 74 ] ARM también se utilizó en el chip Fujitsu A64FX para crear Fugaku, la supercomputadora más rápida del mundo en 2020.
Código abierto, estándar o uso
Las arquitecturas RISC se han popularizado en procesadores de código abierto y microprocesadores flexibles debido a su relativa sencillez de implementación, lo que las hace adecuadas para implementaciones y prototipado en FPGA , por ejemplo. Algunos ejemplos son:
- OpenRISC , un conjunto de instrucciones abierto y una microarquitectura presentados por primera vez en el año 2000.
- Arquitectura Open MIPS : durante parte de 2019, las especificaciones eran de uso gratuito y sin regalías para los desarrolladores MIPS registrados. [ 75 ]
- En 2005, Sun publicó la documentación y las especificaciones de OpenSPARC Ultra Sparc bajo la licencia GPLv2.
- Libre-SOC , un SoC de código abierto basado en la arquitectura Power ISA con extensiones para vídeo y gráficos 3D.
- RISC-V , en 2010, la versión 5 de Berkeley RISC, la especificación, la cadena de herramientas y la marca se pusieron a disposición, de forma gratuita, para fines no comerciales. [ 76 ]
- En 2015, SuperH - J Core inició un proyecto para ofrecer implementaciones en salas limpias de la arquitectura RISC ISA Hitachi SuperH, cuya patente había expirado.
- ARM DesignStart, en 2018, ARM, en asociación con el proveedor de FPGA Xilinx, comenzó a ofrecer acceso gratuito a parte de la propiedad intelectual de ARM, incluidas las especificaciones de FPGA para algunos núcleos de CPU más antiguos. [ 77 ]
Premios
En 2022, Steve Furber , John L. Hennessy , David A. Patterson y Sophie M. Wilson recibieron el Premio Charles Stark Draper de la Academia Nacional de Ingeniería de los Estados Unidos por sus contribuciones a la invención, el desarrollo y la implementación de chips de computadora con conjunto de instrucciones reducido (RISC). [ 78 ] [ 79 ]
Véase también
Referencias
- ↑ Chen, Crystal; Novick, Greg; Shimano, Kirk. "Pipelining" . Arquitectura RISC .
- 1 2 Flynn, Michael J. (1995). Arquitectura de computadoras: diseño de procesadores paralelos y en pipeline . Jones & Bartlett Learning. págs. 54–56 . ISBN 0867202041.
- ↑ "La supercomputadora Fugaku de Japón obtiene el título de la más rápida del mundo" . RIKEN . Consultado el 24 de junio de 2020 .
- ↑ Fisher, Joseph A.; Faraboschi , Paolo; Young, Cliff (2005). Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools . Elsevier. p. 55. ISBN 1558607668.
- ↑ Reilly, Edwin D. (2003). Hitos en informática y tecnología de la información . Greenwood Publishing. pp. 50. ISBN 1-57356-521-0.
- ↑ Grishman, Ralph (1974). Programación en lenguaje ensamblador para las series Control Data 6000 y Cyber 70. Algorithmics Press. pág. 12. OCLC 425963232 .
- ↑ Dongarra, Jack J.; et al. (1987). Álgebra lineal numérica en computadoras de alto rendimiento . pp. 6. ISBN 0-89871-428-1.
- 1 2 3 Cocke, John; Markstein, Victoria (enero de 1990). "La evolución de la tecnología RISC en IBM" (PDF) . IBM Journal of Research and Development . 34 (1): 4– 11. doi : 10.1147/rd.341.0004 .
- ↑ Resumen del sistema IBM System/370 (Informe técnico). IBM. Enero de 1987.
- ↑ Šilc, Jurij; Robič, Borut; Ungerer, Theo (1999). Arquitectura de procesador: del flujo de datos al superescalar y más allá . Saltador. págs.33 . ISBN 3-540-64798-8.
- 1 2 3 4 5 Financiando una revolución: Apoyo gubernamental a la investigación informática por el Comité de Innovaciones en Computación y Comunicaciones 1999 ISBN 0-309-06278-0página 239
- ↑ Nurmi, Jari (2007). Diseño de procesadores: computación en chip para ASIC y FPGA . Springer. pp. 40–43 . ISBN 978-1-4020-5529-4.
- ↑ Hill, Mark Donald; Jouppi, Norman Paul ; Sohi, Gurindar (1999). Lecturas sobre arquitectura de computadoras . Gulf Professional. págs. 252–254 . ISBN 1-55860-539-8.
- ↑ Starnes, Thomas (mayo de 1983). "Filosofía de diseño detrás del MC68000 de Motorola" . Byte . pág. Foto 1.
- ↑ Patterson, David (30 de mayo de 2018). "Historia arriesgada" . AM SIGARCH .
- 1 2 3 "Ejemplo: Berkeley RISC II" . Archivado del original el 13 de junio de 2022.
- 1 2 3 4 5 6 7 8 9 10 Patterson, David A.; Sequin, Carlo H. (1981). RISC I: Un ordenador VLSI con conjunto reducido de instrucciones . 8.º simposio anual sobre arquitectura de ordenadores. Minneapolis, MN, EE. UU. pp. 443–457 . doi : 10.1145/285930.285981 . Como PDF
- 1 2 Patterson, DA ; Ditzel, DR (1980). "El caso de la computadora con conjunto de instrucciones reducido". ACM SIGARCH Computer Architecture News . 8 (6): 25– 33. CiteSeerX 10.1.1.68.9623 . doi : 10.1145/641914.641917 . S2CID 12034303 .
- ↑ Sequin, Carlo; Patterson, David (julio de 1982). Diseño e implementación de RISC I (PDF) . Curso avanzado sobre arquitectura VLSI. Universidad de Bristol. CSD-82-106.
- 1 2 3 4 Chow, Paul (1989). El microprocesador RISC MIPS-X . Springer. págs. xix– xx. ISBN 0-7923-9045-8.
- 1 2 Nurmi 2007 , págs. 52–53
- ↑ Weaver, Vincent; McKee, Sally. Problemas de densidad de código para nuevas arquitecturas (PDF) . ICCD 2009.
- ↑ Waterman, Andrew; Lee, Yunsup; Patterson, David A.; Asanovi, Krste. "Manual del conjunto de instrucciones RISC-V, Volumen I: ISA de nivel de usuario base versión 2.0" . Universidad de California, Berkeley. Informe técnico EECS-2014-54 . Consultado el 1 de marzo de 2022 .
- ↑ Colwell, Robert P.; Hitchcock III, Charles Y.; Jensen, E. Douglas; Sprunt, HM Brinkley; Kollar, Charles P. (septiembre de 1985). "Conjuntos de instrucciones y más allá: computadoras, complejidad y controversia" (PDF) . Computer . IEEE. págs. 8–19 .
- ↑ Aletan, Samuel O. (1 de abril de 1992). "Una visión general de la arquitectura RISC" . Actas del Simposio ACM/SIGAPP de 1992 sobre computación aplicada: desafíos tecnológicos de la década de 1990. SAC '92. Kansas City, Missouri: Association for Computing Machinery . págs. 11–20 . doi : 10.1145/143559.143570 .
- ↑ Markoff, John (noviembre de 1984). "Nuevos chips: chips RISC" . Byte . Vol. 9, n.º 12. McGraw-Hill. págs. 191–206 .
- ^ Boursin de l'Arc, Philippe. "Historia de la informática y de Internet" . boursinp.free.fr .
- ↑ Manuel, Tom (3 de septiembre de 1987). "Inside Technology — The Frantic Search for More Speed" (PDF) . Electronics . McGraw-Hill. pp. 59–62 .
- ↑ "Acorn Computers anuncia la disponibilidad de un sistema de evaluación para su computadora de un solo chip y conjunto reducido de instrucciones de 32 bits: The Arm" (PDF) (Comunicado de prensa). Acorn Computers Limited. 7 de julio de 1986. Consultado el 29 de junio de 2025 .
- ↑ Garnsey, Elizabeth; Lorenzoni, Gianni; Ferriani, Simone (marzo de 2008). "Especiación a través de la creación de empresas derivadas: la historia de Acorn-ARM" (PDF) . Research Policy . 37 (2): 210–224 . doi : 10.1016/j.respol.2007.11.006 . S2CID 73520408. Consultado el 2 de junio de 2011.
[...] el primer silicio se puso en marcha el 26 de abril de 1985
. - ↑ Connolly, James (12 de mayo de 1986). "MIPS Computer Systems se lanza al mercado OEM con productos basados en RISC" . Computerworld . pág. 34. Consultado el 29 de junio de 2025 .
- ↑ Fotland, David A.; Shelton, John F.; Bryg, William R.; La Fetra, Ross V.; Boschma, Simin I.; Yeh, Allan S.; Jacobs, Edward M. (marzo de 1987). "Diseño de hardware de las primeras computadoras HP Precision Architecture" . Hewlett-Packard Journal . 38 (3): 6. Recuperado el 6 de octubre de 2020 .
- ↑ Tucker, Allen B. (2004). Manual de informática . Taylor & Francis. págs. 100-106 . ISBN 1-58488-360-X.
- 1 2 Crawford, John; Hill, Gene; Leukhardt, Jill; Prak, Jan Willem; Slager, Jim. "Panel de historia oral sobre el diseño y desarrollo del microprocesador Intel 386" (PDF) (Entrevista). Entrevistado por Jim Jarrett. Mountain View, California: Museo de Historia de la Computación . Recuperado el 15 de mayo de 2025 .
- 1 2 Marshall, Trevor; Tazelaar, Jane Morrill (febrero de 1989). "Vale la pena el RISC" . BYTE . págs. 245–249 . Recuperado el 8 de octubre de 2024 .
- 1 2 3 4 Bell, Gordon ; Strecker, WD ¿Qué hemos aprendido del PDP-11? - ¿Qué hemos aprendido de VAX y Alpha? (PDF) (Informe) . Recuperado el 26 de junio de 2025 .
- ↑ "La línea de estaciones de trabajo renacida de IBM exorcizará el fantasma de RT, dicen los usuarios" . InfoWorld . Vol. 12, n.° 8. 19 de febrero de 1990. págs. 1, 101. Consultado el 28 de junio de 2025 .
- ↑ Furlong, Thomas C.; Nielsen, Michael JK; Wilhelm, Neil C. (Primavera de 1990). "Desarrollo de la DECstation 3100" (PDF) . Digital Technical Journal . 2 (2). Digital Equipment Corporation.
- ↑ Fisher, Susan E. (9 de noviembre de 1992). "Es hora del espectáculo para RISC; DEC presentará los sistemas Alpha, mientras Sun y HP esperan entre bastidores" . PC Week . Vol. 9, n.º 45. Recuperado el 29 de septiembre de 2025 – vía Gale.
- ↑ "Olivetti compra tarjeta RISC" . Acorn User . Agosto de 1988. pág. 7. Consultado el 24 de mayo de 2021 .
- ↑ Bradshaw, Tim (23 de agosto de 2023). "Arm busca crecer más allá de los teléfonos inteligentes" . www.ft.com . Consultado el 23 de junio de 2024 .
- ↑ Slater, Michael (junio de 1990). "¿Qué es RISC?" . IEEE Micro . pp. 96– 95 . Consultado el 20 de marzo de 2023 .
- ↑ Esponda, Margarita; Rojas, Ra'úl (septiembre de 1991). "Sección 2: La confusión en torno al concepto RISC" . El concepto RISC: un estudio de las implementaciones . Universidad Libre de Berlín. B-91-12.
- ↑ Stokes, Jon "Hannibal". "RISC vs. CISC: la era post-RISC" . Ars Technica .
- ↑ Borrett, Lloyd (junio de 1991). "RISC versus CISC" . Australian Personal Computer .
- ↑ Jones, Douglas W. "Preguntas frecuentes sobre el DEC PDP-8 de Doug Jones" . Colección PDP-8, Departamento de Ciencias de la Computación de la Universidad de Iowa .
- ↑ Dandamudi, Sivarama P. (2005). «Cap. 3: Principios RISC». Guía de procesadores RISC para programadores e ingenieros . Springer. págs. 39-44 . doi : 10.1007/0-387-27446-4_3 . ISBN 978-0-387-21017-9
El objetivo principal no era reducir el número de instrucciones, sino la complejidad
. - ↑ Walls, Colin (18 de abril de 2016). "CISC y RISC" .
- ↑ Fisher, Joseph A.; Faraboschi, Paolo; Young, Cliff (2005). Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools . Elsevier. p. 57. ISBN 9781558607668.
- ↑ Alexander, W. Gregg; Wortman, David (noviembre de 1975). "Características estáticas y dinámicas de los programas XPL". IEEE Computer . 8 (11): 41– 48. Bibcode : 1975Compr...8k..41A . doi : 10.1109/CM.1975.218804 . S2CID 39685209 .
- ↑ Soares, João; Rocha, Ricardo. "Codificación de instrucciones MIPS" (PDF) .
- ↑ Personal de Embedded (24 de septiembre de 2003). "Conjunto de instrucciones ARM Thumb" . Embedded.com . Consultado el 23 de junio de 2024 .
- ↑ Colwell, Robert P.; Hitchcock III, Charles Y.; Jensen, E. Douglas; Sprunt, HM Brinkley; Kollar, Charles P. (septiembre de 1985). "Conjuntos de instrucciones y más allá: computadoras, complejidad y controversia" . Computer . 18 (9). The Institute of Electrical and Electronics Engineers, Inc.: 8–19 . Bibcode : 1985Compr..18i...8C . doi : 10.1109/MC.1985.1663000 . S2CID 7306378. Recuperado el 25 de marzo de 2023 .
- ↑ "Microprocesadores desde la perspectiva del programador" por Andrew Schulman, 1990
- ↑ Sweetman, Dominic (1987). "La estación de trabajo RISC" . Actas de la conferencia celebrada en Computer Graphics 87, Londres, octubre de 1987. Publicaciones en línea. págs. 83–91 . ISBN 0-86353-092-3Consultado el 26 de marzo de 2024 .
- ↑ Dowd, Kevin; Loukides, Michael K. (1993). High Performance Computing . O'Reilly. ISBN 1565920325.
- ↑ Vincent, James (9 de marzo de 2017). "Microsoft presenta nuevos diseños de servidores ARM, amenazando el dominio de Intel" . The Verge . Consultado el 12 de mayo de 2017 .
- ↑ Russell, John (31 de mayo de 2016). "Cavium presenta sus planes para ThunderX2 e informa que la adopción de ARM está creciendo" . HPC Wire . Consultado el 8 de marzo de 2017 .
- ↑ El primer procesador de AMD basado en ARM, el Opteron A1100, finalmente está aquí , ExtremeTech, 14 de enero de 2016 , consultado el 14 de agosto de 2016.
- ↑ Feldman, Michael (18 de enero de 2017). "Cray entregará una supercomputadora con procesador ARM a un consorcio del Reino Unido" . Top500.org . Consultado el 12 de mayo de 2017 .
- ↑ "Microsoft está llevando las aplicaciones de escritorio de Windows a los procesadores ARM móviles" . The Verge . 8 de diciembre de 2016. Consultado el 8 de diciembre de 2016 .
- ↑ "Cómo funciona la emulación x86 en ARM" . Microsoft Docs . 23 de octubre de 2023. Consultado el 27 de octubre de 2023 .
- 1 2 "Presentamos la próxima generación de Mac" (Comunicado de prensa). Apple Inc. 10 de noviembre de 2020.
- ↑ "macOS Big Sur ya está aquí" (Comunicado de prensa). Apple Inc. 12 de noviembre de 2020.
- ↑ Carter, Nicholas P. (2002). Esquema de arquitectura de computadoras de Schaum . McGraw Hill Professional. pág. 96. ISBN 0-07-136207-X.
- ↑ Jones, Douglas L. (2000). "Microprocesadores CISC, RISC y DSP" (PDF) . Archivado del original (PDF) el 7 de septiembre de 2008. Recuperado el 17 de diciembre de 2008 .
- ↑ Singh, Amit. "Historia de los sistemas operativos de Apple" . Archivado del original el 3 de abril de 2020.
La línea entre RISC y CISC se ha vuelto más difusa con el paso de los años.
- ↑ "Top 500 La Lista: Junio 2026" . TOP 500. Consultado el 10 de julio de 2026 .
- ^ Dandamudi 2005 , págs. 121-123
- ↑ Bennett, Amy (2005). "Apple cambia de PowerPC a Intel" . Computerworld . Archivado del original el 13 de noviembre de 2020. Recuperado el 24 de agosto de 2020 .
- ↑ Vaughan-Nichols, Steven J. "Análisis: El Chromebook Samsung con procesador ARM" . ZDNet . Consultado el 28 de abril de 2021 .
- ↑ DeAngelis, Marc (22 de junio de 2020). "Apple comienza esta semana su transición de dos años a ARM" . Engadget . Consultado el 24 de agosto de 2020.
Apple ha anunciado oficialmente que pasará de usar procesadores Intel a sus propios chips ARM de la serie A en sus ordenadores Mac.
- ↑ Smith, Chris (16 de septiembre de 2020). "Microsoft lanzará una nueva Surface basada en ARM este otoño" . Boy Genius Report . Consultado el 20 de marzo de 2023 .
- ↑ "Procesador ARM - Procesador AWS Graviton - AWS" . Amazon Web Services, Inc. Consultado el 9 de enero de 2024 .
- ↑ "Wave Computing cierra el programa abierto MIPS con efecto inmediato" . AB Open . 15 de noviembre de 2019. Consultado el 23 de junio de 2024 .
- ↑ "Directrices de marca – RISC-V International" . Consultado el 23 de junio de 2024 .
- ↑ "Arm amplía las posibilidades de diseño con procesadores Cortex-M gratuitos para FPGA de Xilinx" . Sala de prensa de Arm . Consultado el 23 de junio de 2024 .
- ↑ "Ganadores del Premio Charles Stark Draper de Ingeniería" . nae.edu .
- ↑ "Premio Charles Stark Draper de Ingeniería" . nae.edu .
Enlaces externos
- "RISC vs. CISC" . Arquitectura RISC . Universidad de Stanford. 2000.
- "¿Qué es RISC?" Arquitectura RISC . Universidad de Stanford. 2000.
- Savard, John JG "No del todo RISC" . Computadoras .
- Mashey, John R. (5 de septiembre de 2000). "Otra publicación más del antiguo artículo sobre RISC [ sin cambios respecto a la última vez ] " . Grupo de noticias : comp.arch . Usenet: 8p20b0$dhh$3@murrow.corp.sgi.com .
Enésima republicación de CISC vs RISC (o qué es RISC, en realidad).
- Clases de computadoras
- Arquitecturas de conjuntos de instrucciones