Buscando aumentar la velocidad del procesamiento se descubri en base a
experimentos que, con una determinada arquitectura de base, la ejecucin de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser ms eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnologa de encapsulado. Debido a que se tiene un conjunto de instrucciones simplificado, stas se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcdigo y la necesidad de decodificar instrucciones complejas. En investigaciones hechas a mediados de la dcada de los setentas, con respecto a la frecuencia de utilizacin de una instruccin en un CISC y al tiempo para su ejecucin, se observ lo siguiente: - Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de ejecucin de un programa. - Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuencias complejas predeterminadas, pero requieren tiempos de ejecucin ms cortos. Las caractersticas esenciales de una arquitectura RISC pueden resumirse como sigue: Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann. Las instrucciones, aunque con otras caractersticas, siguen divididas en tres grupos: a) Transferencia. b) Operaciones. c) Control de flujo. Reduccin del conjunto de instrucciones a instrucciones bsicas simples, con la que pueden implantarse todas las operaciones complejas. Arquitectura del tipo load-store (carga y almacena). Las nicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor nmero de acceso a memoria. Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseo del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganizacin de la ejecucin de instrucciones por medio de un compilador. Pipeline (ejecucin simultnea de varias instrucciones). Posibilidad de reducir el nmero de ciclos de mquina necesarios para la ejecucin de la instruccin, ya que esta tcnica permite que una instruccin puede empezar a ejecutarse antes de que haya terminado la anterior. El hecho de que la estructura simple de un procesador RISC conduzca a una notable reduccin de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales: Unidad para el procesamiento aritmtico de punto flotante. Unidad de administracin de memoria. Funciones de control de memoria cache. Implantacin de un conjunto de registros mltiples. La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseo ms cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicacin de las ms recientes tecnologas de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generacin en generacin son mucho mayores que en los CISC. Por otra parte, es necesario considerar tambin que: La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en tecnologas CMOS. Mdulos SRAM (Memoria de acceso aleatorio esttica) para memorias cache con tiempos de acceso menores a los 15 ns. Tecnologas de encapsulado que permiten realizar ms de 120 terminales. Esto ha hecho cambiar, en la segunda mitad de la dcada de los ochentas, esencialmente las condiciones tcnicas para arquitecturas RISC. La siguiente tabla esquematiza algunas de las principales caractersticas de las arquitecturas RISC Y CISC. PRINCIPIOS DE DISEO DE LAS MAQUINAS RISC Resulta un tanto ingenuo querer abarcar completamente los principios de diseo de las mquinas RISC, sin embargo, se intentar presentar de una manera general la filosofa bsica de diseo de estas mquinas, teniendo en cuenta que dicha filosofa puede presentar variantes. Es muy importante conocer estos principios bsicos, pues de stos se desprenden algunas caractersticas importantes de los sistemas basados en microprocesadores RISC.
En el diseo de una mquina RISC se tienen cinco pasos: 1. Analizar las aplicaciones para encontrar las operaciones clave. 2. Disear un bus de datos que sea ptimo para las operaciones clave. 3. Disear instrucciones que realicen las operaciones clave utilizando el bus de datos. 4. Agregar nuevas instrucciones slo si no hacen ms lenta a la mquina. 5. Repetir este proceso para otros recursos. El primer punto se refiere a que el diseador deber encontrar qu es lo que hacen en realidad los programas que se pretenden ejecutar. Ya sea que los programas a ejecutar sean del tipo algortmicos tradicionales, o estn dirigidos a robtica o al diseo asistido por computadora. La parte medular de cualquier sistema es la que contiene los registros, el ALU y los 'buses' que los conectan. Se debe optimar este circuito para el lenguaje o aplicacin en cuestin. El tiempo requerido, (denominado tiempo del ciclo del bus de datos) para extraer los operandos de sus registros, mover los datos a travs del ALU y almacenar el resultado de nuevo en un registro, deber hacerse en el tiempo ms corto posible. El siguiente punto a cubrir es disear instrucciones de mquina que hagan un buen uso del bus de datos. Por lo general se necesitan solo unas cuantas instrucciones y modos de direccionamiento; slo se deben colocar instrucciones adicionales si sern usadas con frecuencia y no reducen el desempeo de las ms importantes. Siempre que aparezca una nueva y atractiva caracterstica, deber analizarse y ver la forma en que se afecta al ciclo de bus. Si se incrementa el tiempo del ciclo, probablemente no vale la pena tenerla. Por ltimo, el proceso anterior debe repetirse para otros recursos dentro del sistema, tales como memoria cache, administracin de memoria, coprocesadores de punto flotante, etctera. Una vez planteadas las caractersticas principales de la arquitectura RISC as como la filosofa de su diseo, podramos extender el anlisis y estudio de cada una de las caractersticas importantes de las arquitecturas RISC y las implicaciones que estas tienen. PAPEL DE LOS COMPILADORES EN UN SISTEMA RISC El compilador juega un papel clave para un sistema RISC equilibrado. Todas las operaciones complejas se trasladan al microprocesador por medio de conexiones fijas en el circuito integrado para agilizar las instrucciones bsicas ms importantes. De esta manera, el compilador asume la funcin de un mediador inteligente entre el programa de aplicacin y el microprocesador. Es decir, se hace un gran esfuerzo para mantener al hardware tan simple como sea posible, an a costa de hacer al compilador considerablemente ms complicado. Esta estrategia se encuentra en clara contra posicin con las mquinas CISC que tienen modos de direccionamiento muy complicados. En la prctica, la existencia en algunos modos de direccionamiento complicados en los microprocesadores CISC, hacen que tanto el compilador como l microprograma sean muy complicados. No obstante, las mquinas CISC no tienen caractersticas complicadas como carga, almacenamiento y salto que consumen mucho tiempo, las cuales en efecto aumentan la complejidad del compilador. Para suministrar datos al microprocesador de tal forma que siempre est trabajando en forma eficiente, se aplican diferentes tcnicas de optimizacin en distintos niveles jerrquicos del software. Los diseadores de RISC en la empresa MIP y en Hewlett Packard trabajan segn la regla siguiente: Una instruccin ingresa en forma fija en el circuito integrado del procesador (es decir, se alambra fsicamente en el procesador) si se ha demostrado que la capacidad total del sistema se incrementa en por lo menos un 1%. En cambio, los procesadores CISC, han sido desarrollados por equipos especializados de las empresas productoras de semiconductores y con frecuencia el desarrollo de compiladores se sigue por separado. Por consiguiente, los diseadores de los compiladores se encuentran con una interfaz hacia el procesador ya definido y no pueden influir sobre la distribucin ptima de las funciones entre el procesador y compilador. Las empresas de software que desarrollan compiladores y programas de aplicacin, tienden por razones de rentabilidad, a utilizar diferentes procesadores como usuarios de su software en lugar de realizar una optimizacin completa, y aprovechar as las respectivas caractersticas de cada uno. Lo cual tambin genera otros factores negativos de eficiencia. Esta limitacin de las posibilidades de optimizacin del sistema, que viene dada a menudo por una obligada compatibilidad, se super con los modernos desarrollos RISC. Caractersticas Del RISC:
En pocas palabras esto significa que para cualquier nivel de desempeo dado, un chip RISC tpicamente tendr menos transistores dedicados a la lgica principal. Esto permite a los diseadores una flexibilidad considerable; as pueden, por ejemplo:
Incrementar el tamao del conjunto de registros. Mayor velocidad en la ejecucin de instrucciones. Implementar medidas para aumentar el paralelismo interno. Aadir cachs enormes. Aadir otras funcionalidades, como E/S y relojes para minicontroladores. Construir los chips en lneas de produccin antiguas que de otra manera no seran utilizables. No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energa o de tamao limitado.
Las caractersticas que generalmente son encontradas en los diseos RISC son:
Codificacin uniforme de instrucciones, lo que permite una de codificacin ms rpida. Un conjunto de registros homogneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y as simplificar el diseo del compilador. Modos de direccionamiento simple con modos ms complejos reemplazados por secuencias de instrucciones aritmticas simples. Los tipos de datos soportados en el hardware no se encuentran en una mquina RISC. Los diseos RISC tambin prefieren utilizar como caracterstica un modelo de memoria Harvard, donde los conjuntos de instrucciones y los conjuntos de datos estn conceptualmente separados.
VENTAJAS DE RISC
La CPU trabaja ms rpido al utilizar menos ciclos de reloj para ejecutar instrucciones. Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia de CISC, RISC conserva despus de realizar sus operaciones en memoria los dos operandos y su resultado, reduciendo la ejecucin de nuevas operaciones. Cada instruccin puede ser ejecutada en un solo ciclo del CPU.
APLICACIONES DE LOS PROCESADORES RISC Las arquitecturas CISC utilizadas desde hace 15 aos han permitido desarrollar un gran nmero de productos de software. Ello representa una considerable inversin y asegura a estas familias de procesadores un mercado creciente. Sin embargo, simultneamente aumentan las aplicaciones en las cuales la capacidad de procesamiento que se pueda obtener del sistema es ms importante que la compatibilidad con el hardware y el software anteriores, lo cual no solo es vlido en los subsistemas de alta capacidad en el campo de los sistemas llamados "embedded", en los que siempre dominaron las soluciones especiales de alta capacidad de procesamiento sino tambin para las estaciones de trabajo ("workstations"). Esta clase de equipos se han introducido poco a poco en oficinas, en la medicina y en bancos, debido a los cada vez ms voluminosos y complejos paquetes de software que con sus crecientes requerimientos de reproduccin visual, que antes se encontraban solo en el campo tcnico de la investigacin y desarrollo. En este tipo de equipos, el software de aplicacin, se ejecuta bajo el sistema operativo UNIX, el cual es escrito en lenguaje C, por lo que las arquitecturas RISC actuales estn adaptadas y optimizadas para este lenguaje de alto nivel. Por ello, todos los productores de estaciones de trabajo de renombre, han pasado en pocos aos, de los procesadores CISC a los RISC, lo cual se refleja en el fuerte incremento anual del nmero de procesadores RISC, (los procesadores RISC de 32 bits han visto crecer su mercado hasta en un 150% anual). En pocos aos, el RISC conquistar de 25 al 30% del mercado de los 32 bits, pese al aparentemente abrumador volumen de software basado en procesadores con el estndar CISC que se ha comercializado en todo el mundo. La arquitectura MIPS-RISC ha encontrado, en el sector de estaciones de trabajo, la mayor aceptacin. Los procesadores MIPS son fabricados y comercializados por cinco empresas productoras de semiconductores, entre las que figuran NEC y Siemens. Los procesadores de los cinco proveedores son compatibles en cuanto a las terminales, las funciones y los bits.
Arquitectura CISC
En la arquitectura computacional, CISC (complex instruction set computer) es un modelo de arquitectura de computadora.
Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposicin a la arquitectura RISC.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.
Los CISC pertenecen a la primera corriente de construccin de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la mayora de las computadoras personales actuales.
IMPLEMENTACIN DEL SET DE INSTRUCCIONES
No es necesario explicar que mediante este esquema de decisin acerca de cules deben ser las instrucciones a implementar en una arquitectura, se produce una explosin en el nmero de estas. Para cada operatoria a realizar, para cada tipo de dato pertinente a la operacin y para cada uno de las formas de direccionamiento existente en dicha arquitectura probablemente sera necesario implementar una instruccin.
Es as que esta explosin en el nmero de instrucciones a implementar en un procesador CISC da origen a una nueva decisin:
Ejecucin Directa: Cada una de las instrucciones necesarias se implementa directamente, mediante transistores, dentro del procesador. Es decir, cada instruccin que pueda ejecutar dicho procesador tendr un conjunto de componentes que se dedican exclusivamente a dicha instruccin. Microprogramacin: Se incorpora en el procesador un nivel de procesamiento adicional. Se entiende que cada una de las instrucciones de un procesador es un pequeo programa codiciado en un lenguaje interno a la mquina.
El elevado nmero de componentes que requera la implementacin de un mecanismo de ejecucin directa de cada una de las instrucciones de la Arquitectura de un procesador, haca difcilmente posible la implementacin de este modelo. Por otro lado, la microprogramacin de instrucciones parece lo ms adecuado, entre otras razones, por la economa que representa en trminos de espacio fsico: ya no es necesario incorporar en hardware todos los componentes que requerira una instruccin codiciada; resulta mucho ms simple almacenar microprogramas asociados a cada instruccin de la mquina, adems de un pequeo motor capaz de ejecutar estos microprogramas dentro del procesador Por supuesto, este enfoque condujo a otros problemas.