CISC vs
RISC Arquitectura de Computadoras Ing. Angel Plaza
Tipos de Procesadores En los últimos años se han distinguido dos grandes
tendencias en la construcción de procesadores. Se diferencian esencialmente en las características de
su repertorio de instrucciones. Procesadores CISC Complex Instruction Set Computer. Computadoras con un Conjunto de Instrucciones Complejos.
Procesadores RISC Reduced Instruction Set Computer. Computadoras con un conjunto de instrucciones reducidos.
Tipos de Procesadores Ambos tipos de micro Procesadores han incluido un
conjunto de unidades funcionales adicionales que los potencia: Unidad para el procesamiento aritmético en Punto
Flotante (FPU: Floating Point Unit). Unidad de istración de Memoria (MMU: Memory
Management Unit). Unidad de Carga y Almacenamiento (Load/Store). Funciones de control de memoria caché. Implementación de un conjunto de registros múltiples.
Tipos de Procesadores • La meta principal es incrementar el rendimiento del procesador. • Para esto se deben considerar tres áreas principales. • La arquitectura. • La tecnología de proceso. • El encapsulado.
La tecnología de proceso, se refiere a los materiales y técnicas utilizadas en la fabricación del circuito integrado. El encapsulado se refiere a cómo se integra un procesador con lo que lo rodea en un sistema funcional, que de alguna manera determina la velocidad total del sistema.
Lenguaje
Programación en Lenguaje de alto nivel.
Compilador
Programación
Lenguaje
Programa Ensamblador (Instrucciones de Maquina)
Máquina Hardware de Computadora
Computer CISC
Programación en Lenguaje de alto nivel.
Compilador
Programa Ensamblador (Instrucciones de Maquina)
Computer RISC Hardware de Computadora
Al principio, la memoria era costosa
Objetivo: Minimizar los programas (en memoria)
La microprogramación facilita la construcción de funciones más complejas
Lenguaje máquina más potente (y complejo) Los programas constan de menos instrucciones
Ocupan menos memoria ADEMÁS, se acorta la distancia con los lenguajes de alto nivel
Menos tiempo de a memoria Es más fácil construir compiladores
Breve descripción del procesador CISC • Cada instrucción de máquina es interpretada por un microprograma alojado en memoria de solo lectura. • Para ejecutar una instrucción son necesarios. varios ciclos de reloj. • Utiliza formatos de instrucción variables. • Facilitar la construcción de compiladores para lenguajes de alto nivel.
Los Procesadores CISC
Tienen un conjunto de instrucciones alto (entre 200 y 300); estas instrucciones son más complejas que las de RISC, con lo que la circuitería necesaria para decodificación y secuenciación también aumenta, y la velocidad del proceso disminuye.
Formato de instrucciones bastante variable (no hay tamaño fijo de instrucciones).
El diseño hace que el procesador tenga que realizar constantes s a memoria.
La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486, Pentium, etc.
Motorola 68000, 68010, 68020, 68030, 68040.
La microprogramación La microprogramación significa que cada instrucción de
máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. Permite la emulación de arquitecturas. Los procesadores se dotaron de poderosos conjuntos de
instrucciones. En la década de los sesenta, la microprogramación, por
sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores compatibles.
La microprogramación
Las
instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna.
Para esto se requieren de varios ciclos de reloj (al
menos uno por microinstrucción).
RISC Computadoras con un Conjunto de Instrucciones Complejas
Arquitectura de Computadoras Ing. Angel Plaza
Características de la arquitectura RISC (Reduced Instruction Set Computer) • Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. • Las operaciones aritméticas son entre registros. • Tendencia a tener un gran número de registros. • Utilización de compiladores optimizados. • Arquitectura RISC predomina en los procesadores de elevado rendimiento. • Uso intensivo de registros, disminuyendo los s a memoria. • Ejecución en conductos (Pipeline).
Características de la arquitectura RISC (Reduced Instruction Set Computer) • Arquitectura del tipo load-store (Carga y almacena) son las únicas que acceden a la memoria por datos. • Ejecución dentro de un ciclo de reloj (single-cycle).
Los Procesadores RISC Su juego de instrucciones es más reducido (menos de
128), y las instrucciones son más sencillas (con lo que se necesitarán más instrucciones para ejecutar un programa). El formato de instrucciones es fijo (o son pocos
formatos) con lo que el control de hardware es más sencillo y se facilita la puesta de las instrucciones en la memoria, lo que implica que los s a la memoria se aceleren. Por otra parte, estos s a memoria son menos
frecuentes ya que el procesador posee un mayor número de registros.
Los Procesadores RISC Estos procesadores son los que están presentes en las
estaciones de trabajo. Como ejemplos podemos citar a los procesadores: ALPHA de Digital Equipment, y UltraSPARC y MicroSPARC de Sun Microsystems. Debido a que se tiene un conjunto de instrucciones
simplificado, éstas se pueden implantar por hardware directamente en la U, lo cual elimina el microcódigo (microprogramación) y la necesidad de decodificar instrucciones complejas.
Características comunes de los Procesadores RISC
Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar). Sólo las instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC, tienen lugar sobre datos residentes en su gran conjunto de registros. Arquitectura de tres direcciones no destructiva. Los procesadores CISC destruyen la información que existe en alguno de los registros, como consecuencia de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por la cual el resultado de una operación sobrescribe uno de los registros que contenía a los operandos. Por el contrario, las instrucciones RISC, con tres direcciones, contienen los campos de los dos operandos y de su resultado. Tanto los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación.
Características comunes de los Procesadores RISC
Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las instrucciones simples reducen de manera muy significativa el esfuerzo para su decodificación, y favorecen su ejecución en pipelines. Las instrucciones de longitud fija, con formatos fijos, implican que los campos de códigos de operación (opcodes) y de los operandos están siempre codificados en las mismas posiciones, permitiendo el a los registros al mismo tiempo que se está decodificando el código de operación.
Características comunes de los Procesadores RISC Todas las instrucciones tienen una longitud equivalente a una
palabra y están alineadas en la memoria en palabras, ya que no pueden ser repartidas en pedazos que puedan estar en diferentes páginas. Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya
que requiere que el hardware sea dedicado a su interpretación dinámica. La programación en microcódigo no hace que el software sea
más rápido que el programado con un conjunto de instrucciones simples. Todas las funciones y el control, en los procesadores RISC, están
"cableados" (hardwired), para lograr una máxima velocidad y eficiencia.
Características comunes de los Procesadores RISC Ejecución en pipelined. Las instrucciones simples, de formato fijo y ciclo único permiten
que las diferentes etapas de los ciclos de ejecución (búsqueda o fetch, decodificación, ejecución, y escritura del resultado) para instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz. Ejecución en ciclos únicos (single-cycle). El resultado directo de los conjuntos de instrucciones que ofrecen
los procesadores RISC, es que cada instrucción puede ser ejecutada en un único ciclo de la U.
Pipeline (Segmentación Encausada) Secuencia normal de ejecución de instrucciones de la máquina de F. Newmann
Pipeline (Segmentación encauzada)
Pipeline (Segmentación Encausada) Lavado = 30 Minutos Secado= 45 minutos Planchado =30 minutos
105 m 315 m
150 m
Ciclos
ADD
SUB ST XOR AND
1
2
3
4
5
6
7
8
IF
DEC
EXE
MEM
W
IF
DEC
EXE
MEM
W
IF
DEC
EXE
MEM
W
IF
DEC
EXE
MEM
W
IF
DEC
EXE
MEM
9
W
10
Add
RegDst Branch MemRead MemtoReg Control ALUop MemWrite ALUSrc RegWrite
4 Instrucción (31-26)
PC
Leer dirección
Instrucción (25-21)
Leer Lect. registro 1 dato 1 Leer Lect. registro 2 dato 2
Instrucción (20-16)
Instrucción (31-0)
0 M U Instrucción X (15-11)
Escribir registro Escribir dato
1
Memoria de Instrucciones
Instrucción (15-0)
16
Signo extendido
Instrucción (5-0)
Desplz. izda. 2
ALU
0 M U X 1
Memoria de datos ALU 0 M U X 1
32
ALU control
Leer dirección Escribir dirección
Escribir dato
Lect. dato
0 M U X 1
La Power Mac G5 1. 2. 3. 4. 5. 6. 7. 8. 9.
Doble bus frontal bidireccional Controladora del sistema Gráficos PCI Express Memoria principal DDR2 a 533 MHz Ampliación PCI Express Doble Ethernet Gigabit SuperDrive compatible con discos de doble capa Almacenamiento Serial ATA E/S integradas
Costo razonable. Destino del equipamiento Software Compatibilidad hacia atrás Desarrollo de software Evolución dinámica del mercado y la tecnología
La filosofía CISC • El objetivo principal de la arquitectura CISC es completar una tarea en el menor número de líneas de código ensamblador posibles. Este objetivo es conseguido mediante la construcción de un microprocesador capaz de comprender y ejecutar una serie de operaciones complejas. • Para esta tarea en particular, un procesador CISC vendría preparado con una instrucción específica (la llamaremos "MULT"). • Cuando se ejecuta, esta instrucción lee los dos valores de memoria, multiplica los operandos en la unidad de ejecución, y después almacena el resultado en la posición de memoria adecuada. • De esta manera, la tarea completa de multiplicar dos números puede ser llevada a cabo con una única instrucción: MULT (2:3), (5:2)
Fundamentos y origen del RISC Los titulares que definen la arquitectura RISC, podría resumirse, con la suficiente flexibilidad, en varios puntos : 1. Reducción del numero de instrucciones ( ensamblador ). 2. Uso intensivo de registros, disminuyendo los s a memoria. 3. Simplificación de la U en aras de una mayor velocidad de proceso. 4. Empleo de memorias cache. 5. Utilización de "compiladores optimizados", generadores de código objeto adaptado a los requerimientos de la U
La filosofía RISC • Los procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar rápidamente. • Por este motivo suelen ser arquitecturas basadas en registros de propósito general que operan siempre sobre operandos que se encuentran almacenados en el procesador, cerca de la unidad de ejecución. • Para realizar la serie de pasos descritos en la filosofía CISC, un programador debería codificar la instrucción en 4 líneas de código ensamblador:
LOAD A, (2:3) LOAD B, (5:2) PROD A, B STORE (2:3), A
La filosofía RISC De esta forma, el comando "MULT" descrito más arriba podría ser dividido en tres comandos por separado: • "LOAD", que mueve datos del banco de memoria a un registro. • "PROD", que halla el producto de dos operandos situados en los registros. • "STORE", que mueve datos de un registro al banco de memoria. • A primera vista, puede parecer una manera mucho menos eficiente de completar la operación. Debido a que hay más líneas de código, hace falta más RAM para almacenar las instrucciones en ensamblador. El compilador debe realizar también más trabajo para convertir un lenguaje de alto nivel en código.
Características
CISC
RISC
Tamaño de la instrucción
Varios
Tamaño único, normalmente 32 bits
Registros
Pocos y a veces especializados
Muchos de uso general
Instrucciones
Complejas de multi-clock
Solo-reloj, solamente instrucción reducida
Carga y Almacenamiento
Se usa concepto memoria a memoria, la carga y almacenamiento se incorporaron en las instrucciones
Se usa concepto registre para registrar, la carga y almacenamiento son instrucciones independientes
Hardware y Software
Énfasis en el hardware
Énfasis en el software
Código
Tamaño pequeño de códigos, altos ciclos por segundo
Bajos ciclos por segundo. Tamaño grande o extenso de código
Transistores
Los transistores se usaron para las instrucciones complejas de almacenamiento
Se utilizaron más transistores en el registro de memoria
CISC
RISC
Características
IBM 730/168
VAX 11/780
INTEL 80486
SPARC
MIPS R4000
Año de desarrollo
1973
1978
1989
1987
1991
Número de Instrucciones
208
303
235
69
94
Tamaño de la instrucción (en bytes)
2-6
2-57
1-11
4
4
Modo de direccionamiento
4
22
11
1
1
Número de registros de uso general
16
16
8
40-520
32
Tamaño de la Memoria de Control (en kbytes)
420
480
246
-
-
Tamaño del cache (kbytes)
64
64
8
32
128
A mayor integración y mayor velocidad de los componentes, aparecen los RISC mas complejos. Al mismo tiempo, los arquitectos CISC utilizan tecnologías tradicionalmente asociadas a los RISC, tales como pipeline, alto número de registros de propósito general, etc. Aparecen microprocesadores de 64 bits superescalares, altamente segmentados, muchos registros de propósito general.
•
El desempeño de los computadores determina la clase de problemas que se pueden resolver.
•
Existen problemas tan complejos y de gran tamaño (cantidad de datos), que su solución podría tomar mucho tiempo (días, meses, años).
•
Algunas áreas con fuerte demanda por la computación de alto desempeño son: – Química molecular. – Astrofísica. – Genética. – La carrera espacial. – Computación gráfica.
– Geometría Computacional. – Bases de Datos Masivas (Data Warehouse). – Simulaciones. – Búsqueda Web, etc.
TALLER EN CLASE • REALIZAR UNA INFOGRAFIA DE LAS CARACTERISTICAS DE PROCESADORES CISC. • REALIZAR UNA INFOGRAFIA DE LAS CARACTERISTICAS DE PROCESADORES RISC. • REALIZAR UNA INFOGRAFIA DE LAS DIFERENCIAS DE CISC vs RISC.
Deber • Del archivo en PDF subido en Facebook: • hpca13-isa-power-struggles – –
(Power Struggles: Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures) (Análisis RISC vs CISC - Debate en ARM contemporáneo y arquitecturas x86)
• Realizar un resumen en PPT. – Determinar cuales son las características técnicas a comparar. – Que características favorecen a CISC. – Que características favorecen a RISC. – Es importante la explicación y entendimiento de los gráficos.