CISC y RISC
Resumen:
CISC
Instrucciones más complejas
Instrucciones más grandes
Ciclos de reloj más extensos
Dificol. De modificar
Tiempo de ejecución mayor
Más lento
RISC
Instrucciones más simples
Instrucciones más pequeñas
Ciclos de reloj reducidos
Podrían realizarse cambios
Tiempo de ejecución más rápido
CISC:
La arquitectura cisc se caracteriza por tener un repertorio de instrucciones complejas
Muchas instrucciones potentes para lograr una implementación mas directa con
lenguaje de alto nivel
La ejecución de estas instrucciones puede ser bastante compleja
Considera que la compilación de programas de alto nivel requiere muchas menos
instrucciones de maquina y con tiempos mas cortos
En la practica lograr elevadas velocidades de ejecución se torna difícil, requiere chips
con superficie elevada de silicio, y el repertorio de instrucciones dificultan la
generación de códigos óptimos por parte de los compiladores
Criterios para definir una arquitectura CISC
Cantidad de instrucciones en lenguaje de maquina (tan grande como sea posible)
Cantidad de modos de direccionamiento (tan grande como sea posible)
Cantidad de formatos de instrucción (tan grande como sea posible)
Muchas instrucciones requieren mas de un ciclo para su ejecución
Varios tipos de instrucciones tienen acceso a memoria
Existencia de registros de propósito especifico
Control microprogramado
Instrucciones de maquina de un relativo alto nivel (cercano al alto nivel de las
sentencias de los lenguajes de alto nivel)
Las instrucciones compuestas son decodificadas internamente y ejecutadas con una
serie de microinstrucciones almacenadas en una ROM interna
La microprogramación es una característica importante y esencial de casi todas las
arquitecturas CISC. Significa que cada instrucción de maquina es interpretada por un
microprograma localizado en una memoria
RISC
La arquitectura RISC se caracteriza por tener un repertorio de instrucciones simples
Se necesitan muchas mas instrucciones para realizar la misma tarea que una
instrucción CISC
A pesar de la cantidad necesaria, son muy convenientes para una ejecución en un
cauce segmentado, logrando velocidades elevadas de ejecución
Su repertorio es utilizado convenientemente por compiladores optimizadores
Ventaja relacionada con la tecnología de fabricación VLSI (very long scale integration)
ya que necesitan menos áreas para control y procesamiento de secuencia de
instrucciones (mayor espacio para registros y cache)
Reducción de acceso a datos e instrucciones por fuera del chip logran mejores
prestaciones
Unidad de control cableada debido a la sencillez de la arquitectura e implementación
de operaciones por hardware
Criterios para definir una RISC
Analizar el objeto sobre el cual se desarrollarán las aplicaciones a fin de determinar
cuales son las operaciones más frecuentes
Optimizar los caminos que deben recorrer los datos para ejecutar las operaciones o
instrucciones (anteriores) tan rápido como sea posible
Incluir otras instrucciones solo si forman parte de los caminos optimizados
previamente y si son de relativa frecuencia, y si su inclusión no hace mas lenta la
ejecución de las instrucciones más frecuentes
Aplicar una estrategia similar a los otros recursos del procesador. Incluir un recurso
solo si esta justificado por su frecuencia de uso y su inclusión no enlentece a los otros
recursos utilizados
Tratar de trasladar lo mas que se puede la complejidad en tiempos de ejecución al
momento de compilación, recargando el software de compilación y liberando al
hardware de ejecución
Características comunes en una arquitectura RISC
Muchas de las instrucciones se ejecutan en un solo ciclo de maquina
Conjunto de instrucciones de cargar/almacenar (LOAD/STORE). Es decir, se accede a
memoria exclusivamente mediante instrucciones LOAD y STORE. El resto de las
instrucciones realiza sus operaciones entre registros
Decodificación de instrucciones hardwired (en oposición a la técnica de
microprograma)
Existen relativamente pocas instrucciones y modos de direccionamientos
Todas las instrucciones deberían tener la misma longitud para facilitar la tarea de
decodificación y homogeneizar los tiempos de carga de las mismas
La complejidad se ha desplazado hacia los compiladores optimizados
Existe un alto grado de pipeline en los caminos de los datos para obtener mucha
concurrencia
Gran cantidad de registros (windowed o no windowed)
Muchos niveles de jerarquías de memoria
Conjunto de instrucciones diseñado para determinada clase de aplicaciones
Soporte de lenguajes de alto nivel (esto ultimo debido a que como hay pocas
instrucciones sobraría lugar en el chip para colocar elementos que ayuden a lenguajes
de alto nivel, como manejo de listas, stack, etc)
Comparación
CISC
Énfasis en la velocidad del hardware
Incluye instrucciones complejas multirreloj
Instrucciones complejas (más de 1000)
Instrucciones que trabajan de memoria a memoria
Carga y almacenamiento incorporados en la misma instrucción
El tamaño del código es pequeño
Muchos ciclos de reloj por segundo
Pocos registros para almacenar los resultados
Alto costo de producción
RISC
Énfasis en el software (sencillez y rapidez en el pipeline)
Instrucciones con reloj simple
Instrucciones sencillas (menos de 100)
Instrucciones que trabajan de registro a registro
La carga y el almacenamiento son instrucciones independientes
El tamaño del código es muy grande
Pocos ciclos de reloj por segundo
Muchos registros para almacenar resultados
Bajo costo de producción
Conclusiones
En la actualidad se han visto las ventajas de ambas arquitecturas y por tal motivo la
convergencia RISC-CISC es cada vez mas vista en los nuevos procesadores.
Los procesadores CISC incluyen nuevas técnicas de pipeline para acelerar el numero de
instrucciones por segundo. Los procesadores RISC incluyen cada vez mas instrucciones
para acelerar aun mas los programas en Hardware
Actualmente la mayoría 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. Algunos ejemplos de ellos
son: Motorola 6800, Zilog Z80 y toda la familia Intel x86
Actualmente CISC va de la mano con procesadores de la familia Intel x86 o AMD x86-64
RISC actualmente ha evolucionado a la arquitectura ARM (advanced risc machine)
CISC debido a su complejidad, es altamente usado en ordenadores de escritorio
ARM debido a su bajo nivel de componentes, sencillez de su set de instrucciones y bajo
consumo es ideal en dispositivos móviles
Apple computers está trabajando para implementar ARM en su nueva línea de
computadoras, abandonando la familia de procesadores Intel