¿Qué es un procesador de riesgo? Microprocesadores con arquitectura RISC. Pros y contras de la arquitectura RISC

Partes anteriores:

Creación de la arquitectura RISC.

Como se ha mencionado varias veces, todos los procesadores x86, las soluciones de Motorola y la gran mayoría de los chips lanzados en la década de 1980 tenían arquitectura CISC (Complex Institution Set Computing). La combinación de todas las características ha llevado al hecho de que los chips no sólo se han vuelto complejos y costosos de producir, sino que también han alcanzado su techo de rendimiento. Para aumentar aún más el rendimiento, era necesario aumentar la cantidad de transistores, pero los estándares tecnológicos dominados no permitieron crear más. soluciones complejas. Intel encontró esto al lanzar la familia i486. Para mejorar el rendimiento, realizaron cambios en la arquitectura del procesador, agregando memoria caché, multiplicadores y canalizaciones. En resumen, las “piedras” número 486 recibieron algunos de los “chips” de la arquitectura RISC. Sin embargo, la empresa americana no tiene nada que ver con la creación de la plataforma RISC. La arquitectura debe su creación al ingeniero estadounidense David Patterson, quien dirigió el proyecto RISC de Berkeley de 1980 a 1984.

David Patterson - Padre de RISC

La idea inicial que más tarde se convirtió en un proyecto Berkeley RISC a gran escala fue estudiar el Motorola 68000. Durante las observaciones, resultó que los programas simplemente no utilizaban la gran mayoría de las instrucciones integradas en el procesador. Por ejemplo, el sistema Unix utilizó sólo el 30% de los comandos cuando se compiló. Por lo tanto, como parte del proyecto Berkeley RISC, se planeó crear un procesador que contuviera solo las instrucciones más necesarias.

Después de varios años de investigación y desarrollo, se lanzaron varias muestras de procesadores que dieron nombre a toda la arquitectura. La abreviatura RISC significa Computadora con conjunto de instrucciones restringido (reducido), que se traduce como "una computadora con un conjunto reducido de instrucciones". "Conjunto de instrucciones reducido" no significa que la cantidad de instrucciones sea menor que la cantidad de instrucciones en los cristales CISC. La diferencia es que cualquier instrucción de la plataforma RISC es simple y se ejecuta en un ciclo de reloj (al menos debería ejecutarse), mientras que una instrucción RISC podría tardar varias docenas de ciclos de reloj en ejecutarse. En este caso, la longitud del comando es fija. Por ejemplo, 32 bits. RISC también tiene muchos más registros. propósito general. Además, esta arquitectura se caracteriza por la canalización. Es su uso (junto con comandos simplificados) lo que le permite aumentar efectivamente frecuencia de reloj Procesadores RISC.

Equipo del proyecto RISC de Berkeley

Las primeras soluciones fueron RISC I y RISC II, una creación de Patterson y el proyecto RISC de Berkeley. El primero contenía más de 44.000 transistores y funcionaba a una frecuencia de 4 MHz. Al ejecutar programas pequeños, un procesador de este tipo era en promedio dos veces más rápido que el VAX 11/780 y aproximadamente cuatro veces más productivo que el Zilog Z8000 "de piedra". RISC II era diferente de su predecesor un gran número Instrucciones: 39 versus 32. Fue más rápido. Su ventaja sobre el procesador VAX alcanzó el 200% y el Motorola 68000 era aproximadamente cuatro veces más lento en algunos programas.

Cabe señalar que Berkeley RISC fue parte de un proyecto más grande llamado VLSI. Esto también incluyó el proyecto MIPS de la Universidad de Stanford, que comenzó en 1981.

Procesadores MIPS

El director del proyecto MIPS fue el científico de la Universidad de Stanford, John Hannessy. Al igual que con Berkeley RISC, el objetivo de la startup era investigar y crear un procesador que utilizara una canalización y un conjunto de instrucciones reducido. La arquitectura de las soluciones MIPS también preveía la presencia de bloques auxiliares en el cristal: por ejemplo, módulos para trabajar con memoria, una ALU (unidad aritmética lógica) de número entero y decodificadores de instrucciones. La diferencia entre el plan MIPS y Berkeley RISC fue el uso de un oleoducto extendido. La arquitectura RISC, en principio, implica el uso de una tubería, pero Hannessy fue más allá y propuso extender la tubería en el procesador tanto como sea posible, es decir, "dividir" aún más la ejecución de una operación. Este enfoque abrió un margen aún mayor para aumentar la frecuencia del reloj. Al mismo tiempo, alargar el proceso garantizó una paralelización más eficiente de la ejecución de comandos. En ese momento, la paralelización era una característica distintiva de la arquitectura RISC, ya que ningún procesador CISC implementó esta función hasta la llegada de los pipelines. Por ejemplo, en MIPS, al igual que en RISC, es posible que una instrucción no haya completado su ejecución cuando otra comenzó. En los procesadores CISC, para comenzar a ejecutar una instrucción era necesario que se completara el procesamiento de otra.

John Hannessy: creador de la arquitectura MIPS y ahora presidente de la Universidad de Stanford

En la especificación original Procesadores MIPS no se proporcionó soporte para operaciones tan elementales como la multiplicación y la división. Esto se hizo a propósito. Por lo tanto, los desarrolladores querían deshacerse de la necesidad de utilizar los llamados bloqueos de tuberías. El bloqueo en sí era una suspensión del transportador en los casos en que una operación en una determinada etapa del transportador no se podía completar en un ciclo de reloj. Sin embargo, las primeras implementaciones de la arquitectura MIPS funcionaban con bloqueos e incluso admitían operaciones de multiplicación y división. Pasó algún tiempo antes de que la idea original se implementara en los procesadores.

En 1984, Hannessy dejó la Universidad de Stanford y fundó la empresa MIPS Computer Systems, que comenzó a producir procesadores con la misma arquitectura. Un año después, se lanzó el primer producto de la compañía: el R2000 "piedra" de 32 bits. Se convirtió en el primer modelo RISC disponible comercialmente de la historia. En 1988 apareció el procesador de próxima generación llamado R3000. En comparación con el R2000, recibió soporte para multiprocesamiento y caché de instrucciones y datos. "Three Thousand" resultó ser un éxito comercial. El procesador se utilizó en sistemas de servidores y estaciones de trabajo de empresas como Silicon Graphics, DEC, Seiko Epson y muchas otras. Además, el R3000 se convirtió en el corazón de la consola de juegos Sony PlayStation.

Procesador MIPS R3000

Se necesitaron tres años para desarrollar la próxima generación de procesadores MIPS. El procesador R4000 se introdujo en 1991. Tenía una arquitectura de 64 bits, un coprocesador incorporado y funcionaba a una velocidad de reloj más alta que sus predecesores. Entonces, frecuencia mínima R4000 era de 100 MHz. Los cachés de instrucciones y datos eran de 8 KB cada uno. Dos años más tarde, se presentó una versión modificada del procesador con el índice R4400. El nuevo cristal tenía un caché duplicado y admitía un caché de segundo nivel más grande. Además, se han solucionado numerosos errores al trabajar en modo de 64 bits.

Sorprendentemente, a pesar del éxito comercial de sus procesadores, MIPS experimentó dificultades financieras y finalmente fue comprado por SGI y rebautizado como MIPS Technologies. Luego comenzaron a emitirse licencias para la producción de clones. empresas de terceros. Así, la empresa QED (Quantum Effects Devices) creó procesadores MIPS económicos que se utilizaron en los enrutadores Cisco. Y NEC participó en la producción del VR4300 "de piedra", que estaba "registrado" en la consola de juegos Nintendo 64.

El procesador NEC VR4300 se utilizó en consola nintendo 64

En 1994 apareció el procesador R8000. Se convirtió en la primera solución MIPS con arquitectura superescalar, lo que implica ejecución paralela comandos, siempre que la ejecución de un comando no dependa del resultado de otro. Por ejemplo, el R8000 podría procesar hasta cuatro instrucciones por ciclo de reloj.

En enero de 1996, MIPS presentó su procesador de próxima generación llamado R10000. El "Diez Mil" utilizaba la misma arquitectura superescalar que el R8000 y, de hecho, era una versión modificada de su predecesor. El procesador también tenía un caché de instrucciones y datos de 32 KB cada uno y operaba a una frecuencia de 175 MHz o 195 MHz. En 1997 apareció incluso una versión del chip con una frecuencia de 250 MHz. Pero incluso a 195 MHz, el R10000 era uno de los procesadores más rápidos de su época.

Procesador R10000 fabricado por Toshiba

Desafortunadamente, después del lanzamiento del R10000, SGI abandonó la arquitectura MIPS. Todos los cristales posteriores se basaron en el núcleo "diez milésimo" y no tenían ningún diferencias fundamentales. Por ejemplo, el procesador R12000, presentado en 1998, recibió una etapa adicional en proceso y un manejo mejorado de las colas de instrucciones. Su velocidad de reloj era de 270 MHz, 300 MHz o 360 MHz. Después del R12000, se lanzaron dos generaciones más de procesadores MIPS: R14000 y R16000. Recibieron soporte para buses de sistema más rápidos, mayores frecuencias y mayor memoria caché. Por ejemplo, el R16000 podía funcionar a 700 MHz y admitía 64 KB de caché de instrucciones y datos.

Después de esto, MIPS comenzó a vender licencias para las arquitecturas MIPS32 y MIPS64 de 32 y 64 bits.

Procesadores SPARC

Sun Microsystems también decidió desarrollar una arquitectura: SPARC (Scalable Processor ARChitecture). Así, los ingenieros se inspiraron en el proyecto RISC de Berkeley. Y el propio David Patterson participó incluso en el proyecto como consultor. Sin embargo, el resultado fue que SPARC se parecía más a una arquitectura MIPS. Por ejemplo, el conjunto de instrucciones de la plataforma también carecía de instrucciones de multiplicación y división. Una característica de la arquitectura SPARC fue el uso de una ventana de registro, con la ayuda de la cual se modificó ligeramente el proceso de llamada de funciones en los programas. Normalmente, al llamar a un programa, el procesador recordaba su estado (es decir, recordaba el estado de algunos registros de propósito general y especial), procedía a ejecutar la función y luego regresaba a su estado original antes de llamar a la función. Y en los procesadores SPARC, cuando se llamaba a una función, los datos necesarios se escribían al final de la ventana de registro y la ventana de registro se movía alrededor del archivo para que los datos terminaran al principio de la ventana. Este enfoque, en teoría, proporcionó una mayor velocidad.

Procesador SPARC V7 fabricado por Fujitsu

La primera versión de la arquitectura se llamó SPARC V7. El procesador del mismo nombre basado en él se fabricó hasta 1992. Luego apareció la próxima generación de arquitectura: SPARC V8. Ella no ha sufrido ningún cambio drástico. Diferencias clave fue la suma de operaciones de multiplicación y división, así como un mejor rendimiento de la aritmética de punto flotante. Al igual que SPARC V7, SPARC V8 siguió teniendo una arquitectura de 32 bits, en la que se basó el procesador microSPARC. Pertenecía al segmento Low-End y se utilizaba en pequeñas estaciones de trabajo y sistemas integrados. Por empresas Instrumentos de Texas y Fujitsu también lanzó clones mejorados. El procesador SuperSPARC se convirtió en una solución más productiva.

La creación de la próxima generación de arquitectura llamada SPARC V9 ya está en proceso toda la organización Comité de Arquitectura SPARC, que, además de la propia Sun, incluía empresas como Texas Instruments, Fujitsu, Philips y muchas otras. La plataforma se amplió a 64 bits y era superescalar con un proceso de 9 etapas. SPARC V9 proporcionó el uso de un caché de primer nivel, dividido en instrucciones y datos con una capacidad de 16 KB cada uno, así como un segundo nivel con una capacidad de 512-4096 KB. La implementación de la arquitectura fue el procesador UltraSPARC con una frecuencia de 143-200 MHz.

Procesador UltraSPARC II

UltraSPARC no fue el único procesador con la arquitectura SPARC V9. En 1997, se introdujo UltraSPARC II.

Procesadores ARM

La historia de los ahora populares procesadores ARM, o más bien de la propia arquitectura ARM, comienza con Acorn Computers y su computadora BBC Micro. Usó la "piedra" MOS Technology 6502, pero su rendimiento no fue suficiente para crear la computadora de escritorio de próxima generación. Por diversas razones, otros procesadores disponibles tampoco cumplían con los requisitos de Acorn, por lo que la empresa comenzó a pensar en crear su propio chip. despues de estudiar varias arquitecturas, Los ingenieros de Acorn tomaron como base procesadores RISC y el mismo cristal MOS Technology 6502.

BBC Microcomputadora

El procesador MOS, por ejemplo, tomó prestada su arquitectura de acceso a la memoria y su conjunto de instrucciones. Cada instrucción se complementó con un código de condición especial de cuatro bits. Dependiendo del valor del código (verdadero o falso), la instrucción podría ejecutarse o no. Esto permitió reducir la cantidad de transiciones al realizar operaciones que afectaron negativamente el rendimiento de la arquitectura de la tubería. Los desarrolladores también incluyeron en la revisión inicial de la arquitectura equipos que realizaron varias operaciones básicas. En resumen, nos desviamos un poco de las reglas RISC. Sin embargo, esto finalmente sólo mejoró el rendimiento del procesador.

La arquitectura se completó en 1985 con la creación del procesador ARM. Las primeras versiones comerciales aparecieron en 1986 y se denominaron ARM2. En comparación con los procesadores CISC, ARM2 era muy simple: contenía sólo 30.000 transistores. Al mismo tiempo, consumía muy poca energía y al mismo tiempo era bastante productivo. Un poco más tarde aparecieron los procesadores ARM, a los que se les añadió 4 KB de memoria caché, lo que aumentó aún más el rendimiento de los cristales.

procesador ARM2

A finales de la década de 1980, Acorn ya no desarrollaba la arquitectura ARM sola: Apple se unió a ella. En este sentido, la división que se ocupaba directamente de los procesadores ARM se transformó en una empresa independiente: Advanced RISC Machines. El primer producto de la nueva empresa fue núcleo del procesador Procesador ARM6 y ARM610, que se utilizó en una de las primeras PDA del mundo, Apple Newton.

Sin embargo, los procesadores ARM ya no podían competir con las soluciones CISC en términos de rendimiento y los procesadores con arquitectura MIPS dominaron el segmento RISC. Luego ARM tomó un camino diferente. La compañía comenzó a posicionar ARM6 como un núcleo integrado que cualquier fabricante externo Podría usarse en mis procesadores por poco dinero. Esta política ha dado sus frutos y Núcleo ARM se hizo muy popular y la propia empresa tuvo éxito comercial.

Junto con DEC, se desarrolló una arquitectura para soluciones ARM más potentes llamada StrongARM, que era una arquitectura escalar clásica con un proceso de 5 etapas. La arquitectura tenía unidades de administración de memoria y admitía cachés de instrucciones y datos de 16 KB cada uno.

El primer procesador basado en StrongARM, el SA-110, se presentó en febrero de 1996. Funcionó a velocidades de reloj de 100 MHz, 160 MHz o 200 MHz. "Rock" se utilizó en el Apple MessagePad 2000, así como en los sistemas Acorn Computer Risc PC y Eidos Optima. A lo largo de 1996, el SA-110 siguió siendo el procesador móvil más potente.

Apple MessagePad 2000 utilizó el procesador SA-110

En 1997, los derechos de la arquitectura StrongARM se vendieron a Intel, que comenzó a desarrollar la próxima generación de la plataforma. Se introdujo en el año 2000, pero la arquitectura (o más bien la implementación de la arquitectura) tenía un nombre diferente: Xscale. La plataforma ha recibido muchos cambios. Por ejemplo, la longitud del transportador se aumentó a 8 etapas. El tamaño de la caché tanto para instrucciones como para datos ha aumentado a 32 KB. XScale se ha utilizado en dispositivos como RIM Blackberry, Dell Axim, teléfonos móviles Motorola A780 y otros dispositivos.

procesadores powerpc

Para ser absolutamente precisos, la primera empresa que empezó a desarrollar la arquitectura RISC fue IBM. En 1974 se inició el desarrollo del procesador IBM 801, que sentó las primeras bases de esta plataforma. Y el proyecto Berkeley RISC finalmente dio forma a la arquitectura.

A principios de los años 80, algunos procesadores de IBM para sistemas integrados utilizaban la arquitectura 801. También se “registró” un procesador basado en ella. computadora ibm 9370.

En 1985, IBM comenzó a desarrollar la próxima generación de arquitectura RISC. El proyecto se llamó Proyecto América. El desarrollo del procesador y su conjunto de instrucciones finalizó en 1990. El cristal en sí se llamaba POWER1 y se utilizaba en servidores y estaciones de trabajo de IBM. Tenía un nivel de rendimiento bastante alto, pero tenía un diseño de múltiples chips y constaba de 11 chips diferentes. En 1992, IBM presentó una versión económica del procesador POWER1, que encajaba en un solo chip.

ENERGÍA del procesador1. Incluso, más bien, el chipset.

En 1993 se introdujo la segunda generación de la arquitectura POWER2. Se le añadió un bloque adicional de operaciones aritmético-lógicas y cálculos de punto flotante. También se amplió el conjunto de comandos: por ejemplo, se agregó la operación de calcular la raíz cuadrada de un número a nivel de hardware. La velocidad del reloj del procesador variaba de 55 MHz a 71 MHz, y el caché de datos e instrucciones era de 256 KB y 32 KB, respectivamente. Al igual que su predecesor, el nuevo procesador tenía un diseño de varios chips. Pero en mayo de 1994 también se lanzó una versión de un solo chip.

Sin embargo, incluso antes del lanzamiento de POWER2, ​​​​IBM, junto con Apple y Motorola, formaron la alianza AIM y acordaron crear una arquitectura mejorada basada en POWER. Las tres empresas se beneficiaron al recibir uno de los procesadores RISC más rápidos del mercado. La arquitectura desarrollada conjuntamente se denominó PowerPC. Además del conjunto de funciones principales de la plataforma POWER, agregó soporte para operación en modo dual (big-endian y little-endian), nuevas instrucciones de punto flotante y compatibilidad con versiones anteriores con operación en modo de 32 bits para la versión de 64 bits. versión de la arquitectura.

Procesador PowerPC de primera generación

A diferencia de otras arquitecturas RISC, que ocupaban nichos de mercado reducidos, PowerPC se posicionó como una plataforma competidora de x86. Su objetivo principal eran las computadoras personales. Entonces, un procesador basado en PowerPC es bastante por mucho tiempo utilizado en computadoras Macintosh de Apple- hasta 2006.

La arquitectura compitió a la par con x86 hasta 2001, pero después no pudo seguir el ritmo de los procesadores Intel y AMD. A pesar de esto, en las consolas de juegos Sony PlayStation 3 y Microsoft Xbox 360 se utilizaron procesadores basados ​​​​en PowerPC.

Las consolas Sony PlayStation 3 y Microsoft Xbox 360 funcionan con un procesador PowerPC

En los años 90, IBM logró lanzar la tercera generación de procesadores llamados POWER3, que, de hecho, se convirtió en una implementación de la arquitectura PowerPC de 64 bits. El chip fue creado pensando en su uso en servidores y estaciones de trabajo, pero al final su aplicación principal fue sistemas ibm RS/6000.

Procesadores DEC Alpha

La arquitectura DEC VAX estaba irremediablemente obsoleta y, a principios de los años 90, la empresa empezó a pensar en desarrollar su propia plataforma RISC. Se convirtió en Alpha, lanzado en 1994. El primer procesador fue el Alpha 21064, con nombre en código EV4. Es un chip superescalar de 64 bits con una arquitectura canalizada. Es decir, tenía un diseño RISC clásico. El procesador DEC se distinguió por el buen funcionamiento de todas sus unidades. Así, con la misma frecuencia que otras “piedras”, el EV4 mostró un mayor rendimiento. El bus externo del procesador era de 128 bits. Tenía 16 KB de caché de datos e instrucciones y fue fabricado con tecnología CMOS-4. La velocidad del reloj del EV4 era de 150 MHz o 200 MHz. Un poco más tarde apareció una modificación llamada 21064A, que podía funcionar a velocidades de hasta 300 MHz, lo que le dio al cristal el título de procesador más rápido de esa época. Las principales aplicaciones de EV4 fueron servidores y estaciones de trabajo.

Procesador alfa 21064

El Alpha 21064A siguió siendo el modelo superior de DEC hasta que se lanzó la próxima generación de procesadores, el 21164 (EV5). Tenía dos unidades enteras y dos unidades de punto flotante. EV5 ya tenía tres niveles de memoria caché: dos estaban ubicados directamente en el procesador y el tercero era externo. La caché L1 se dividió en dos partes: una caché de datos y una caché de instrucciones de 8 KB cada una. El volumen del caché de segundo nivel fue de 96 KB. La velocidad del reloj del procesador varió de 266 MHz a 333 MHz. Alpha 21164 asumió el liderazgo de Alpha 21064A y fue el procesador más rápido antes del lanzamiento de Pentium Pro. Sin embargo, la respuesta de DEC no se hizo esperar: la compañía lanzó un procesador Alpha 21164A más potente que funciona a velocidades de reloj más altas (hasta 666 MHz). El procesador se utilizó en estaciones de trabajo y servidores de empresas como Digital, Network Appliance y Cray Research.

Procesador alfa 21264

En 1996, se introdujo la próxima generación de procesadores DEC: Alpha 21264 (EV6). El chip ha recibido varios cambios importantes respecto a modelos anteriores. Por ejemplo, admitía la ejecución desordenada de instrucciones, lo que implicaba una reorganización completa del núcleo. Los bloques de enteros y de carga/almacenamiento se combinaron en un único módulo Ebox, y los bloques de punto flotante se asignaron en un módulo Fbox. Además de los propios bloques, estas unidades también contenían archivos de registro. La estructura de la memoria caché volvió a ser de dos niveles: reemplazó la organización de la caché de tres niveles en el Alpha 21164. La caché de primer nivel mantuvo la división en memoria para instrucciones y datos. El volumen de cada parte fue de 64 KB. En cuanto al caché de segundo nivel, su volumen podría oscilar entre 1 MB y 16 MB. Además, el procesador recibió soporte para predicción de ramas. Con el tiempo, se lanzaron cada vez más versiones nuevas de los procesadores Alpha 21264, en las que, en primer lugar, se aumentó la frecuencia del reloj. La última modificación fue el Alpha 21264E, que funcionaba a una frecuencia de 1250 MHz.

Lamentablemente, la línea de procesadores Alpha 21264 se convirtió en el último DEC "independiente" de la historia. A principios de 1998, DEC se declaró en quiebra y fue adquirida por Compaq.

Arquitectura Intel P5

Los procesadores con arquitectura RISC han ocupado en su mayor parte su nicho especializado, pero en sistemas de escritorio De todos modos, se siguieron utilizando cristales con arquitectura x86. Su desarrollo continuó, aunque con algunos cambios.

A pesar de que Intel entró en el mercado de procesadores RISC con sus soluciones i860 e i960, la empresa todavía dependía en gran medida de los chips x86. La siguiente generación de "piedras" fue el conocido Pentium basado en la arquitectura P5, lanzado en 1993.

Se ha trabajado mucho. Primero, P5 se volvió superescalar. La arquitectura funcionaba mediante dos canalizaciones, cada una de las cuales podía realizar dos operaciones por ciclo de reloj. En segundo lugar, el bus de datos pasó a ser de 64 bits, lo que permitió transferir el doble de datos por ciclo. En tercer lugar, la caché de datos e instrucciones se dividió en dos bloques separados de 8 KB cada uno. Además, se agregó una unidad de predicción de ramas al procesador y el módulo de punto flotante se volvió más productivo.

Los primeros procesadores Pentium funcionaban a 60 MHz o 66 MHz. Al mismo tiempo, su funcionamiento requería un voltaje de 5 V, por lo que se calentaban mucho. También se hicieron famosos los primeros “tocones”. Funcionamiento defectuoso unidad de coma flotante, que en algunos casos producía resultados incorrectos al dividir números. Por lo tanto, Intel pronto lanzó procesadores con la arquitectura P54C corregida.

UPC Intel Pentium

P54C se convirtió en una especie de trabajo sobre errores. La producción de nuevos procesadores se transfirió a una tecnología de proceso de 0,6 micrones. Los propios cristales ahora funcionaban a un voltaje de 3,3 V, lo que resolvió el problema de sobrecalentamiento. En cuanto a los cambios a nivel arquitectónico, se agregó un multiplicador de uno y medio al P54C; a partir de ahora, los procesadores operaron a una frecuencia más alta que autobús del sistema. La velocidad del procesador era de 75 MHz, 90 MHz o 100 MHz. Los P54C también se instalaron en conectores Socket 5 o Socket 7, a diferencia del P5, que solo admitía el Socket 4. La arquitectura del P54C recibió otra actualización en 1995, cuando se transfirió a una tecnología de proceso de 350 nm. Esto hizo posible reducir nuevamente el consumo de energía de los cristales, así como aumentar su frecuencia de reloj a 200 MHz.

Este es un dispositivo que es uno o más circuitos integrados grandes (LSI) que realizan las funciones de un procesador de computadora. Un dispositivo informático clásico consta de una unidad aritmética (AU), una unidad de control (CU) y una unidad de almacenamiento (SRAM). y un dispositivo de entrada/salida (E/S).

Hay procesadores de varias arquitecturas.

CISC(ing. Computación de conjunto de instrucciones complejas) es un concepto de diseño de procesador que se caracteriza por el siguiente conjunto de propiedades:

· un gran número comandos de diferente formato y longitud;

· introducción de un gran número de modos de direccionamiento diferentes;

· tiene codificación de instrucciones compleja.

Un procesador CISC tiene que lidiar con instrucciones más complejas de longitud desigual. Una única instrucción CISC se puede ejecutar más rápido, pero procesar varias instrucciones CISC en paralelo es más difícil.

Facilitar la depuración de programas en ensamblador implica saturar la unidad del microprocesador con nodos. Para mejorar el rendimiento, se debe aumentar la frecuencia del reloj y el grado de integración, lo que requiere una tecnología mejorada y, como resultado, una producción más cara.

Ventajas de la arquitectura CISC

  1. Los conjuntos de instrucciones compactos reducen el tamaño del programa y reducen la cantidad de accesos a la memoria.
  2. Los conjuntos de instrucciones incluyen soporte para construcciones de programación de alto nivel.

Desventajas de la arquitectura CISC

  1. Flujo irregular de comandos.
  2. Alto costo de hardware.
  3. Dificultades con los cálculos paralelizantes.

RISC(Computación con conjunto de instrucciones reducido). Procesador con un conjunto de instrucciones reducido. El sistema de mando está simplificado. Todos los comandos tienen el mismo formato con codificación simple. Se accede a la memoria mediante comandos de carga y escritura; los comandos restantes son del tipo registro-registro. El comando que ingresa a la CPU ya está dividido en campos y no requiere descifrado adicional.

Parte del cristal se libera para dar cabida a componentes adicionales. El grado de integración es menor que en la variante arquitectónica anterior, por lo que se permiten velocidades de reloj más bajas para un alto rendimiento. El comando satura menos la RAM, la CPU es más barata. Compatibilidad de software las arquitecturas especificadas no tienen. Depurar programas RISC es más difícil. Esta tecnología se puede implementar en software compatible con la tecnología CISC (por ejemplo, tecnología superescalar).

Debido a que las instrucciones RISC son simples, se necesitan menos puertas lógicas para ejecutarlas, lo que en última instancia reduce el costo del procesador. Pero mayoría El software actual está escrito y compilado específicamente para procesadores CISC de Intel. Para utilizar la arquitectura RISC, los programas actuales deben recompilarse y, en ocasiones, reescribirse.

Ventajas de la arquitectura RISC

1.reducir la irregularidad del flujo de comando

2. enriquecimiento con paralelismo espacial

Desventajas de la arquitectura RISC

MISC(Computadora con equipo de instrucciones multipropósito). La base del elemento consta de dos partes, que se fabrican en carcasas separadas o combinadas. La parte principal es una CPU RISC, ampliable conectando la segunda parte: la ROM de control de microprogramas. El sistema adquiere propiedades CISC. Comandos básicos se ejecuta en una CPU RISC y las instrucciones de expansión se convierten en una dirección de firmware. La CPU RISC ejecuta todas las instrucciones en un ciclo de reloj y la segunda parte es equivalente a una CPU con un conjunto de instrucciones complejo. La presencia de ROM elimina la desventaja de RISC, que es que cuando se compila a partir de un lenguaje de alto nivel, el microcódigo se genera a partir de una biblioteca de funciones estándar, lo que ocupa mucho espacio en la RAM. Dado que el firmware ya ha sido descifrado y está abierto al programador, no se requiere tiempo de recuperación de la RAM para descifrarlo.

conjunto de comandos reducido) tomó forma a finales de los años 1970 y principios de los 1980, cuando se necesitaban nuevas ideas para mejorar el rendimiento del procesador. Los hallazgos de varios grupos de investigadores se resumieron en la llamada regla "80/20": el 80% del tiempo de ejecución del programa se dedica a ejecutar el 20% de los comandos que componen el sistema de comando. Es decir, solo una quinta parte de todos los comandos desempeñan el papel principal en la determinación del rendimiento del procesador, mientras que el resto de los comandos son bastante raros y su tiempo de ejecución tiene un impacto significativo en actuación el procesador no renderiza. En base a esto, se decidió construir un procesador en el que un pequeño grupo seleccionado de comandos se ejecutaría lo más rápido posible debido a su implementación de hardware, y los comandos restantes se eliminarían por completo del sistema de comandos o se implementarían a nivel de firmware. .

La ideología resultante arquitecturas RISC se basó en lo siguiente principios:

  • el conjunto de instrucciones se ha reducido a 70-100 instrucciones (en lugar de varios cientos de los microprocesadores CISC);
  • la mayoría de los comandos se ejecutan en 1 ciclo de reloj, y solo unos pocos, en varias o incluso varias docenas de ciclos de reloj;
  • todos los comandos de procesamiento de datos operan solo en el contenido de los registros del procesador, y para acceder a la RAM más lenta, solo se proporcionan instrucciones del tipo "cargar en el registro" y "escribir en la memoria";
  • los comandos tienen un formato simple y claramente definido;
  • Las instrucciones que se utilizan con poca frecuencia, así como los comandos que no se ajustan al formato aceptado, se excluyen del conjunto de comandos;
  • la composición del sistema de instrucciones debe ser conveniente para el uso de compiladores optimizadores de lenguajes de alto nivel.

Este enfoque hizo posible reducir el volumen de hardware del procesador al reducir la unidad de control aproximadamente 10 veces, aumentando significativamente frecuencia de reloj rendimiento del procesador y reducir su generación de calor.

A pesar de su nombre, la base de la arquitectura RISC es que todo el procesamiento se concentra únicamente en los registros internos del microprocesador.

Dado que todo el procesamiento se realiza en registros, no hay necesidad de una gran cantidad de modos de direccionamiento de operandos, y en el sistema de comando es posible usar comandos de tres direcciones, que son los más eficientes desde el punto de vista de la organización de la computación. proceso y al mismo tiempo no tienen su principal inconveniente: longitud larga equipos. El formato de comando simple es fácil de decodificar en la etapa apropiada del proceso. Recuerde que la longitud de un comando en la arquitectura CISC IA-32 varía de 1 a 15 bytes, y la presencia, el formato y el propósito de muchos campos de comando son ambiguos y están determinados por la estructura de otros campos.

Naturalmente, este enfoque requería el uso de una gran memoria de registros en el microprocesador (hasta 128 registros). Y para garantizar el funcionamiento coordinado de canalizaciones internas rápidas y una RAM relativamente lenta, los microprocesadores RISC proporcionan una memoria caché de gran capacidad.

Disponibilidad gran cantidad Los registros proporcionan una buena base para optimizar los compiladores que hacen un uso eficiente de todas las canalizaciones de microprocesadores.

El formato de comando simple y el enfoque en el procesamiento de registros permitieron una implementación sencilla en procesadores RISC. principio de procesamiento del transportador información.

Esta organización proporcionó un aumento significativo en el rendimiento de los microprocesadores RISC en comparación con los microprocesadores de arquitectura CISC. Esto ha llevado al predominio de este tipo de diputados en aquellas zonas donde actuación fue un factor fundamental, por ejemplo, en los servidores. Al mismo tiempo, no encontraron su lugar en el mercado informático más desarrollado: el mercado de las computadoras personales. Hay varias razones para esto:

  • el alto costo de los procesadores RISC y los sistemas basados ​​​​en ellos: inicialmente estos procesadores estaban dirigidos a estaciones de trabajo y servidores potentes, por lo que los desarrolladores utilizaron soluciones que eran demasiado caras para las computadoras personales; Incluso las versiones especiales y “baratas” de las computadoras RISC cuestan mucho más que las PC comparables basadas en Procesadores Intel debido a los bajos volúmenes de producción;
  • falta de desarrollos extensos en el campo del software: tradicional Sistema operativo para las computadoras personales estaba DOS, al que luego se unieron las versiones de 16 bits de WINdows, para las cuales se escribieron una gran cantidad de programas populares y familiares. Varias plataformas RISC normalmente usaban versiones incompatibles de Unix, para las cuales había significativamente menos programas, principalmente científicos y técnicos (para estaciones de trabajo) o aplicaciones de red(para servidores);
  • Los procesadores RISC, por su naturaleza fundamental, tienen conjuntos de instrucciones incompatibles con x86, por lo que la única forma de ejecutar código x86 era la emulación, lo que reducía el rendimiento entre decenas y cientos de por ciento, lo que anulaba las ventajas de velocidad de los procesadores RISC;
  • Falta de interés en penetrar en este mercado entre los propios fabricantes de sistemas RISC: muchas empresas “serias” como DEC o Sun creían que no había necesidad de reducir el coste de sus estaciones RISC, porque los usuarios seguirían eligiendo sus sistemas debido a ventajas técnicas obvias. .

El desarrollo de la arquitectura de microprocesadores RISC avanzó en varias direcciones. Al aumentar las capacidades tecnológicas de la producción de microprocesadores, se han relajado los requisitos de composición y formatos de los comandos utilizados. Actualmente, sus sistemas de mando se han ampliado del 70-100 original al 100-120. También ha aumentado el número de formatos de comando utilizados. Sin embargo, el principio básico de la arquitectura RISC permanece sin cambios: el procesamiento de datos se realiza únicamente sobre el contenido de los registros internos del MP sin acceder a la RAM.

En lugar del requisito de ejecutar un comando en un ciclo, se utiliza el requisito de obtener el siguiente resultado en el siguiente ciclo de trabajo, es decir, en realidad es fijo. principio de canalización datos.

Para procesar los datos, los microprocesadores recibieron no uno, sino varios transportadores con sus propios actuadores.

Los microprocesadores RISC más conocidos en la actualidad son la familia de MP SPARC de Sun Microsystems, el Alpha 21x64 de Digital Equipment y el Rx000 de MIPS Computer Systems. En los últimos años, los microprocesadores RISC de la familia PowerPC se han introducido activamente en diversos equipos. Entre las empresas que producen microprocesadores RISC también se encuentran Intel y Hewlett Packard.

Un proyecto conjunto entre Apple, Motorola e IBM, el microprocesador PowerPC (Performance Optimization With Enhanced RISC), se centró en crear un procesador y una plataforma RISC económicos pero potentes. Antes de la llegada de la arquitectura NetBurst de Intel, los procesadores PowerPC casi siempre superaban a los chips Intel en rendimiento de punto flotante en decenas de por ciento, mientras consumían mucha menos energía. Por diversas razones, en la etapa final de este proyecto entre los desarrolladores solo quedó IBM.

Consideremos la organización del funcionamiento de un microprocesador RISC usando el ejemplo del Power4 MP de la empresa.

Plan

Arquitecturas de conjuntos de instrucciones reducidos

1. Características de la arquitectura RISC.

2. Registros en procesadores RISC.

3. Microprocesador R10000.

La tecnología de programación moderna se centra en lenguajes de alto nivel (HLL), tarea principal que - para facilitar el proceso de escritura de programas. Más del 90% de todo el proceso de programación se realiza en Java. Desafortunadamente, las operaciones específicas de un programa informático difieren de las operaciones implementadas por comandos de máquina. Este problema se llama brecha semántica y conduce a una implementación insuficientemente efectiva de los programas.

Al intentar cerrar la brecha semántica entre los lenguajes de alto nivel (HLL) y las operaciones implementadas por comandos de máquina, los desarrolladores de VM amplían el sistema de comandos, completándolo con comandos que implementan operadores HLL complejos a nivel de hardware, introducen tipos adicionales de direccionamiento, etc. La arquitectura de las computadoras donde se implementan estas herramientas se suele llamar arquitecturas con un conjunto de instrucciones extendido (completo) (CISC- Computadora con conjunto de instrucciones complejas).

Los sistemas con arquitectura CISC tienen una serie de desventajas. Esto nos obligó a analizar más detenidamente los programas obtenidos tras la compilación a partir de un programa de ordenador. Se llevaron a cabo una serie de estudios, como resultado de los cuales se descubrieron patrones interesantes:

1) la implementación de comandos complejos equivalentes a los operadores de computadoras nucleares requiere un aumento en la capacidad de la ROM de control en la unidad de control del microprograma;

2) en un programa compilado, los operadores de RAM se implementan en forma de procedimientos (subrutinas), por lo que las operaciones de llamar a un procedimiento y regresar de él representan del 15 al 45% de la carga computacional;

3) casi la mitad de las operaciones durante los cálculos son operaciones de asignación, que se reducen a transferir datos entre registros, celdas de memoria o registros y memoria.

4) la gran mayoría de los comandos (más del 90-95%) que componen el programa forman un subconjunto relativamente compacto del sistema de comando de la máquina (20%);

5) se puede implementar eficazmente un conjunto relativamente pequeño de instrucciones en hardware de modo que cada operación se realice en un ciclo de reloj (menos a menudo dos).

Análisis detallado Los resultados de la investigación llevaron a una revisión seria de las soluciones arquitectónicas tradicionales, lo que resultó en el surgimiento arquitecturas de conjunto de instrucciones reducido(RISC - Computadora con conjunto de instrucciones reducido).

Los principales esfuerzos en la arquitectura RISC están dirigidos a construir el canal de comando más eficiente. Esto se puede implementar con relativa facilidad para la etapa de muestreo. Sólo es necesario que todos los equipos tengan longitud estándar, igual al ancho del bus de datos que conecta la CPU y la memoria. Unificar el tiempo de ejecución de varias instrucciones es una tarea mucho más difícil, ya que junto con las instrucciones de registro también hay instrucciones que acceden a la memoria.


Además de longitudes de comando iguales, es importante tener relativamente subsistema de decodificación simple Y gestión: un dispositivo de control complejo (CD) introducirá retrasos adicionales en la generación de señales de control. Una forma obvia de simplificar significativamente el sistema de control es reducir la cantidad de tareas realizadas. equipos, formatos de comando y datos, y también tipos de direccionamiento.

La razón principal que impide que todas las etapas de un ciclo de instrucción se reduzcan a un solo período de reloj es la posible necesidad de acceso a la memoria para recuperar operandos y/o escribir resultados. Se debe reducir al máximo el número de instrucciones que acceden a la memoria. Por lo tanto, es aconsejable acceder a la memoria únicamente mediante los comandos "Leer" y "Escribir" y realizar todas las operaciones excepto "Leer" y "Escribir" del mismo tipo: "registro-registro".

Para simplificar la ejecución de la mayoría de las instrucciones y llevarlas al tipo registro-registro, es necesario proporcionar a la CPU una cantidad significativa de registros de uso general. Gran número Los registros en el archivo de registros de la CPU permiten el almacenamiento temporal de resultados intermedios utilizados como operandos en operaciones posteriores y conducen a una reducción en el número de accesos a la memoria, acelerando la ejecución de las operaciones.

Los procesadores RISC se basan en tres principios:

1) minimizar la duración del ciclo;

2) finalización de la ejecución del comando en cada ciclo de reloj;

3) minimizar la cantidad de comandos mediante una compilación eficiente.

Características del procesador RISC:

1. El sistema de mando incluye relativamente pequeño número operaciones simples (no más de 128).

2. La mayoría de los comandos se ejecutan en un ciclo (al menos el 75% de los comandos);

3. Todos los comandos tienen una longitud estándar de una palabra y un formato fijo (el número de formatos de comando no es más de 4). Esto le permite recuperar una instrucción de la memoria en un acceso y luego descifrar el código de operación en un ciclo de reloj.

4. La decodificación de comandos se implementa en hardware.

5. Se utiliza un número limitado de métodos de direccionamiento (no más de 4).

6. El sistema de comando proporciona comandos para trabajar con la memoria, copiar y procesar.

7. Los comandos de procesamiento están separados de los comandos de acceso a la memoria. Al ejecutar instrucciones operativas, los argumentos deben ubicarse en la memoria de registro y el resultado también se coloca en registrar memoria(comandos de registro a registro (comandos R)).

8. Acceso a la memoria únicamente mediante los comandos “Lectura” y “Escritura”;

9. Todos los comandos, con la excepción de "Lectura" y "Escritura", utilizan transferencias entre registros dentro del procesador;

10. Archivo de procesador relativamente grande de registros de propósito general.

11. Dispositivo de control con lógica “dura”;

Como ya se señaló, el conjunto de instrucciones de los procesadores RISC es significativamente más pequeño que el conjunto de instrucciones de una computadora con arquitectura tradicional.

Todo equipos operativos(para RISC I) son de tipo R de 3 direcciones; cuando se ejecutan, se establece un valor determinado en un registro de código de condición especial. Estos comandos tienen el formato que se muestra en la Fig. 4.1, a.

Sea la longitud del comando 32 bits, entonces:

COp – código de operación – 7 bits;

S 1 – registro fuente – 5 bits;

S 2 – registro fuente – 13 bits;

Rd – registro de destino – 5 bits;

F 1 y F 2 – indicadores de características – 1 bit cada uno.

La arquitectura RISC es una computadora con un conjunto de instrucciones reducido. Es un tipo de arquitectura de microprocesador que utiliza un conjunto pequeño y optimizado de instrucciones, a diferencia de los tipos de arquitecturas anteriores con un conjunto extendido de datos algorítmicos. El término RISC fue acuñado por David Patterson del proyecto RISC de Berkeley.

Definición

Una computadora con conjunto de instrucciones es un dispositivo cuya arquitectura de conjunto de instrucciones (ISA) tiene un conjunto de atributos que le permite tener ciclos por instrucción (CPI) más bajos que una computadora con conjunto de instrucciones complejas (CISC). El concepto general de RISC es el concepto de una computadora que contiene un pequeño conjunto de datos simples y algoritmos generales, pero no un conjunto ampliado de secuencias complejas y especializadas. Otra característica común de RISC es la arquitectura de carga/almacenamiento, donde sólo se accede a la memoria mediante instrucciones específicas.

Historia y desarrollo

Los primeros proyectos RISC provinieron de IBM, Stanford y UC-Berkeley en los años 70 y 80. Siglo XX. IBM 801, Stanford MIPS y Berkeley RISC I y II se desarrollaron con una filosofía similar, que pasó a conocerse como RISC. Algunas características de diseño eran comunes a la mayoría de los procesadores RISC:


Aunque varias computadoras de las décadas de 1960 y 1970 fueron precursoras de RISC, el concepto moderno se remonta a la década de 1980. En particular, dos proyectos en Stanford y la Universidad de California están ampliando esta idea conceptual. El MIPS de Stanford se convertiría en un modelo de éxito comercial, mientras que la Universidad de Berkeley dio nombre al concepto completo, comercializado como SPARC. Otro éxito de esta era fueron los esfuerzos de IBM, que finalmente llevaron a Power Architecture. A medida que estas tendencias se desarrollaron a finales de los años 1980, y especialmente a principios de los años 1990, muchos proyectos similares, que representa una fuerza importante en el mercado de estaciones de trabajo Unix, así como procesadores integrados en impresoras láser, enrutadores y productos similares.

Pros y contras de la arquitectura RISC

La forma más sencilla de examinar las fortalezas y vulnerabilidades de la arquitectura RISC es contrastarla con su predecesora, la arquitectura CISC. El objetivo principal de la arquitectura CISC es completar una tarea en menos líneas de montaje. Esto se logra mediante la creación de hardware de procesamiento que pueda comprender y realizar una variedad de operaciones. Para esto tarea específica El procesador CISC viene con una instrucción específica (MULT). Cuando se ejecuta, esta instrucción carga dos valores en registros separados, multiplica los operandos en el módulo de ejecución y luego almacena el producto en el registro apropiado. Por lo tanto, toda la tarea de multiplicar dos números se puede completar con una sola instrucción: MULT 2: 3, 5: 2. Las arquitecturas CISC y RISC son las soluciones arquitectónicas anteriores y posteriores.

MULT es lo que se conoce como una "instrucción compleja". El comando opera directamente en los bancos de memoria de la computadora y no requiere que el programador llame explícitamente a ninguna función de carga o guardado. Es muy similar a un comando en un lenguaje de nivel superior. Por ejemplo, si suponemos que a representa el valor 2:3, y b representa el valor 5:2, entonces este comando es idéntico a la expresión C a = a * b.

Una de las principales ventajas de este sistema es que el compilador tiene que hacer un mínimo de trabajo para traducir la formulación del lenguaje de alto nivel a un ensamblador. Debido a que la longitud del código es relativamente corta, se requiere muy poca RAM para almacenar instrucciones. Al comparar arquitecturas de procesador CISC y RISC, el énfasis está en implementar instrucciones complejas directamente en el hardware.

Enfoque RISC

Los procesadores RISC utilizan sólo instrucciones elementales que se ejecutan en un ciclo de reloj. Por lo tanto, la instrucción MULT descrita anteriormente se puede dividir en tres instrucciones separadas: LOAD, que mueve datos del banco de memoria al registro PROD, que encuentra el producto de dos operandos ubicados dentro de los registros, y STORE, que mueve datos del registro. a los bancos de memoria. Para realizar la serie exacta de pasos descritos en el enfoque CISC, un programador necesitaría codificar cuatro líneas de ensamblaje:

CARGA A, 2:3.
CARGA B, 5:2.
PROD A, B.
TIENDA 2:3, A.

Inicialmente puede parecer mucho menos de manera eficiente la operación se completa porque hay más líneas de código y se requiere más RAM para almacenar instrucciones de nivel ensamblador. El compilador también tiene que trabajar más para convertir la formulación del lenguaje de alto nivel en código de esta forma.

Comparación de CISC y RISC

A continuación se muestra una comparación de las arquitecturas CISC y RISC:

  • Centrarse en el hardware.
  • Incluye horas de instrucciones complejas.
  • No tallas grandes Código, ciclos altos por segundo.
  • Transistores utilizados para almacenar instrucciones complejas.
  • Énfasis en el software.
  • Instrucciones condensadas que no requieren mucho tiempo.
  • Ciclos bajos por segundo, tamaños de código grandes.
  • Gasta más transistores en registros de memoria.

La estrategia RISC aporta algunos beneficios muy importantes. Dado que cada instrucción requiere solo un ciclo de reloj para ejecutarse, todo el programa se ejecutará en aproximadamente la misma cantidad de tiempo que una instrucción MULT de varios cilindros. Estas "instrucciones abreviadas" RISC requieren menos transistores en el espacio del hardware que las instrucciones complejas, lo que deja mas espacio para registros generales. Dado que todas las instrucciones se ejecutan al mismo tiempo (por ejemplo, un ciclo de reloj), es posible la canalización.

Características del proceso

Separar las instrucciones LOAD y STORE en realidad reduce la cantidad de trabajo que tiene que hacer la computadora. Después de ejecutar una instrucción MULT de estilo CISC, el procesador borra automáticamente los registros. Si es necesario utilizar uno de los operandos para otro cálculo, el procesador debe recargar los datos del banco de memoria en el registro. En RISC, el operando permanecerá en el registro hasta que se cargue otro valor en él.

El enfoque CISC intenta minimizar la cantidad de instrucciones para cada programa sacrificando la cantidad de ciclos por instrucción. RISC, por otro lado, reduce el número de ciclos al proporcionar instrucciones para cada programa.

Dificultades de implementación comercial.

A pesar de las ventajas del procesamiento basado en RISC, pasaron décadas antes de que los chips RISK estuvieran disponibles comercialmente. Esto se debió en gran medida a la falta de soporte de software.

Aunque la línea Power Macintosh de Apple, que utiliza chips basados ​​en RISC y Windows NT, es compatible con RISC, Windows 3.1 y Windows 95 fueron diseñados teniendo en mente procesadores CISC. Muchas empresas no estaban dispuestas a correr riesgos con la tecnología emergente RISC. Sin interés comercial Los desarrolladores de procesadores no pudieron producir chips RISC en el tiempo suficiente. grandes volúmenes para que su precio sea competitivo.

Otro obstáculo importante fue la presencia de Intel. Incluso cuando sus chips CISC se volvieron cada vez más voluminosos y difíciles de diseñar, Intel tenía los recursos para desarrollar procesadores potentes. Aunque los chips RISC pueden haber superado los esfuerzos de Intel en ciertas áreas, las diferencias no fueron lo suficientemente grandes como para convencer a los compradores de cambiar de tecnología.

Ventaja general de RISC

Hoy en día, Intel x86 es el único chip que conserva la arquitectura CISC. Esto se debe principalmente a los avances en otras áreas de la tecnología informática. El precio de la RAM ha bajado drásticamente. En 1977, 1 MB de DRAM costaba alrededor de 5.000 dólares. En 1994, la misma cantidad de memoria costaba sólo 6 dólares (ajustados a la inflación). La tecnología de compilación también se volvió más sofisticada, por lo que el uso de RAM RISC y el énfasis en el software se volvieron ideales.

Filosofía del conjunto de instrucciones

Un malentendido de la definición de RIESGO es la idea de que se eliminan procedimientos, lo que da como resultado un conjunto reducido de algoritmos. Las rutinas RISC han aumentado de tamaño a lo largo de los años y muchas ahora tienen un conjunto de funciones más amplio que la CPU CISC.

El término "conjunto de rutinas reducido" se refiere al hecho de que la cantidad de trabajo realizado por cada instrucción se reduce (no más de un ciclo de memoria) en comparación con las rutinas CISC complejas que requieren docenas de ciclos para ejecutar una sola instrucción. La arquitectura RISC generalmente tiene algoritmos de procesamiento de datos y entrada/salida separados.

Formato de instrucción

La mayoría de las arquitecturas RISC tienen instrucciones de longitud fija (normalmente 32 bits) y codificación simple, lo que facilita mucho la búsqueda, decodificación y salida de lógica. Una de las desventajas de las instrucciones de 32 bits es la reducción de la densidad del código, lo que resulta desfavorable para la informática integrada en estaciones de trabajo y servidores. Las arquitecturas RISC fueron diseñadas originalmente para servicio. Para solucionar este problema, varias arquitecturas, como ARM, Power ISA, MIPS, RISC-V y Adipteva Epiphany, tienen un formato de instrucción abreviado opcional o una función de compresión de instrucciones. SH5 también sigue este patrón, aunque ha evolucionado en la dirección opuesta, añadiendo instrucciones multimedia más largas a la codificación original de 16 bits.

Uso del equipo

Para cualquiera nivel dado rendimiento general Un chip RISC normalmente tiene muchos menos transistores dedicados a la lógica central que originalmente permitió a los diseñadores aumentar el tamaño del registro y el paralelismo interno.

Otras características que se encuentran comúnmente en las arquitecturas RISC:

  • El rendimiento promedio del procesador se acerca a una instrucción por ciclo.
  • Formato de instrucción uniforme: utiliza una palabra con el código de operación en las mismas posiciones para facilitar la decodificación.
  • Todos los registros de propósito general se pueden utilizar como origen/destino en todas las instrucciones, lo que simplifica el diseño del compilador (los registros de punto flotante a menudo se mantienen por separado).
  • Modos simples con direccionamiento complejo, ejecutados mediante secuencias de comandos.
  • Múltiples tipos de datos en hardware (por ejemplo, cadena de bytes o BCD).

Los diseños RISC también introducen el modelo de memoria de Harvard, donde las instrucciones y los datos están conceptualmente separados. Esto significa que cambiar la memoria en la que se almacena el código puede no afectar las instrucciones ejecutadas por el procesador (ya que la CPU tiene una caché de instrucciones y datos separada) hasta que se emita una instrucción de sincronización especial. Por otro lado, permite acceder a las cachés simultáneamente, lo que muchas veces mejora el rendimiento.

Características de la arquitectura RISC

En la etapa inicial de desarrollo de la industria informática, la programación se llevaba a cabo en o código máquina, lo que fomentó el uso de instrucciones potentes y fáciles de usar. Por eso, los diseñadores de CPU intentaron diseñar algoritmos que pudieran realizar la mayor cantidad de trabajo posible. Con la llegada de los lenguajes de nivel superior, los arquitectos comenzaron a crear instrucciones específicas para implementar directamente ciertos mecanismos centrales. El segundo objetivo general era proporcionar todos los modos de direccionamiento posibles para cada algoritmo, conocido como ortogonalidad, para facilitar la implementación del compilador.

La actitud en ese momento era que el diseño hardware era más maduro que el diseño del compilador, por lo que en sí mismo también es una razón para implementar partes de la funcionalidad en hardware o microcódigo, y no solo en el compilador con memoria limitada (o en su código generado). Después de la llegada de RISC, este enfoque pasó a ser conocido como computación de conjuntos de instrucciones complejas o CISC.

Los procesadores también tenían relativamente pocos registros por varias razones:


Aplicación práctica

Las arquitecturas de procesador RISC se utilizan ahora en una amplia gama de plataformas, desde teléfonos inteligentes y tabletas hasta algunas de las supercomputadoras más poderosas del mundo, como la computadora Top 500 K de 2011.

A principios del siglo XXI, la mayoría de los sistemas móviles y de bajo perfil se basaban en la arquitectura RISC. Ejemplos:

  • domina el mercado de sistemas integrados de bajo consumo y bajo coste (200-1800 MHz en 2014). Se utiliza en la mayoría de los sistemas Android, Apple iPhone y iPad, Microsoft Windows Phone (anteriormente Ventanas móviles), dispositivos RIM (topic.risc.architecture), Nintendo Game Boy Advance, DS/3DS y Switch.
  • La línea MIPS (en un momento utilizada en muchas computadoras SGI) y ahora en las consolas de juegos PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.architecture), PlayStation Portable y puertas de enlace residenciales como Linksys WRT54G.
  • Hitachi SuperH, utilizado en Sega Super 32X, Saturn y Dreamcast (viewtopic.php.risc.architecture), ahora es desarrollado y vendido por Renesas como SH4.
  • Atmel AVR se utiliza en varios líneas de productos: Desde controladores portátiles de Xbox hasta automóviles BMW.
  • RISC-V (vbulletin.risc.architecture), el quinto ISA RISC de código abierto de Berkeley, con un espacio de direcciones de 32 bits, un núcleo de conjunto de instrucciones de enteros pequeños, un ISA "comprimido" experimental para densidad de código y diseñado para estándares y extensiones personalizadas.
  • Estaciones de trabajo, servidores y supercomputadoras.
  • MIPS (powered.by.smf.risc.architecture), Silicon Graphics (dejó de crear sistemas basados ​​en MIPS en 2006).
  • SPARC, Oracle (anteriormente Sun Microsystems) y Fujitsu (phorum.risc.architecture).
  • IBM Power Architecture, utilizada en la mayoría de las supercomputadoras, servidores de gama media y estaciones terminales de IBM.
  • Hewlett-Packard PA-RISC (phpbb.risc.architecture), también conocido como HP-PA (descontinuado a finales de 2008).
  • Alpha, utilizado en estaciones de trabajo, servidores y supercomputadoras de Digital Equipment Corporation, Compaq y HP (descontinuado en 2007).
  • RISC-V (powered.by.phpbb.risc.architecture), el quinto RISC ISA de Berkeley, de código abierto, con espacios de direcciones de 64 o 128 bits y un núcleo completo ampliado con punto flotante, atomización y procesamiento vectorial, y diseñado para extensiones con instrucciones para redes, entrada-salida, procesamiento de datos. El diseño superescalar de 64 bits de Rocket está disponible para descargar.

Comparación con otras arquitecturas

Algunos procesadores se diseñaron específicamente con un conjunto de instrucciones muy pequeño, pero estos diseños difieren significativamente de las arquitecturas RISC tradicionales, por lo que se les proporcionaron datos diferentes, como el conjunto mínimo de instrucciones (MISC) o la arquitectura iniciada por transporte (TTA).

Las arquitecturas RISC tradicionalmente han tenido poco éxito en los mercados de servidores de escritorio y básicos, donde las plataformas basadas en x86 siguen siendo la arquitectura de procesador dominante. Sin embargo, esto puede cambiar a medida que se desarrollen procesadores basados ​​en la arquitectura ARM para sistemas de mayor rendimiento. Fabricantes como Cavium, AMD y Qualcomm han lanzado dispositivos basados ​​en la arquitectura ARM. ARM también colaboró ​​con Cray en 2017 para crear una supercomputadora basada en la arquitectura ARM. El líder de la industria informática Microsoft anunció que, como parte de una asociación con Qualcomm, planea apoyar Versiones para PC de Windows 10 en dispositivos basados ​​en Snapdragon de Qualcomm. Estos dispositivos admitirán software Win32 basado en x86 mediante un emulador de procesador x86.

Sin embargo, además del ámbito de mesa arquitectura brazo RISC se usa ampliamente en teléfonos inteligentes, tabletas y muchas formas de dispositivos integrados. Además, Intel Pentium Pro (P6) utiliza un núcleo de procesador RISC interno para sus procesadores.

Si bien los diseños iniciales de la arquitectura del procesador RISC diferían significativamente de los diseños innovadores de CISC, en el año 2000 los procesadores de gama más alta de la línea RISC eran casi indistinguibles de los procesadores de gama más alta de la línea CISC.




Arriba