Download ARQUITECTURAS RISC/CISC

Document related concepts
no text concepts found
Transcript
CELERON PPGA370, PENTIUM III
FCPGA, CYRIX III
ARQUITECTURAS DE COMPUTADORAS
• ARQ. VON NEUMANN: Ejecución secuencial de las
instrucciones de un programa
• AVANCES EN LAS ARQ. ACTUALES:
– SEGMENTACIÓN DE INSTRUCCIONES (pipelining): Las inst.
comparten el mismo hardware pero se encuentra en distintas
fases de ejecución
– EJECUCIÓN SUPERESCALAR: varias inst. se ejecutan
simultáneamente utilizando distintos elementos de hardware
– PALABRAS DE INSTRUCCIÓN MUY LARGAS (VLIW, very
long instruction word): cada palabra especifica varias
instrucciones (de menor tamaño) que se ejecutan en forma
simultanea
ARQUITECTURAS
ARQUITECTURAS RISC/CISC
CISCSec. µprogramado
RISCSec. Cableado
ARQUITECTURAS RISC/CISC
• CISC (Complex Instruction Set Computer) repertorio
muy amplio de instrucciones muy complejas y potentes.
El diseño de esta arq. Está marcado por la tecnología
existente en los años 60.
• RISC (Reduced Instruction Set Computer) repertorio de
instrucciones lo más reducido posible con un alto
porcentaje que se completan en un ciclo de reloj
– El hecho de tener actualmente mecanismos rápidos
de acceso a memoria, buses de alta velocidad y
compiladores especializados en estas arquitecturas,
hace que los ordenadores RISC obtengan mejores
rendimientos.
– Cualquier tarea necesita más instrucciones en RISC
que en CISC, ya que en RISC las instrucciones son
más elementales.
La brecha semántica
Lenguaje de MUY ALTO NIVEL: PROCESARORES DE TEXTO,
PLANILLAS DE CALCULO, etc
LENGUAJE DE ALTO NIVEL
Assembler ensamblador
COMPILADOR
INTERPRETE
LENGUAJE DE MÁQUINA
COMPILADOR
programa que toma como entrada
un texto escrito en un lenguaje,
llamado fuente y da como salida
otro texto en un lenguaje,
denominado objeto.
INTÉRPRETE: Analiza el programa fuente y lo ejecuta
directamente, sin generar ningún código equivalente
CISC Y RISC
• Los avances en la tecnología electrónica, redujo la
diferencia en la velocidad de procesamiento de los
microprocesadores con las velocidades de las
memorias, lo que repercutió en el desarrollo de los
microprocesadores.
• Posiblemente en breve los microprocesadores RISC
sustituirán a los CISC. Pero los microprocesadores
CISC tienen un mercado de software muy difundido,
esto limitará la sustitución en lo inmediato.• En los términos complejo y reducido, se deben tomar
como referencia las instrucciones y también la
complejidad del hardware del procesador.
CISC Y RISC
• La comparación entre CISC y RISC no es algo
simple, ya que no es sólo una cuestión de
diferencias en el conjunto de instrucciones,
puesto que es fundamental resaltar el mejor uso
y aprovechamiento de los recursos del silicio, es
decir, menor tiempo de diseño y empleo de
menor número de transistores, lo que redunda
en menor número de errores de diseño y menor
tiempo de ejecución para instrucciones
individuales.
CISC Y RISC
• Con tecnologías de semiconductores
comparables e igual frecuencia de reloj,
un procesador RISC típico necesita un
tiempo de procesamiento dos a cuatro
veces mayor que la de un CISC, pero su
estructura de hardware es tan simple, que
se puede realizar en una fracción de la
superficie ocupada por el circuito
integrado de un procesador CISC.
RISC (Reduced instruction set computer)
• En los 70, las mejoras tecnológicas permitieron tener
velocidades en la memoria principal similares a la memoria
de control, lo que hizo posible trabajar con instrucciones
simples (que se completan en un ciclo de reloj) y por tanto
acelerar considerablemente la ejecución de instrucciones (al
terminar la ejecución de todas las microinstrucciones se
empieza con la ejecución de la siguiente instrucción).
• La arquitectura (RISC), se caracteriza por poseer un juego de
instrucciones lo más reducido posible con un porcentaje alto
de ellas que se completan en un ciclo de reloj. Alguna
instrucción compleja, necesitará más de un ciclo de reloj,
pero la mayor parte de ellas se realizan a partir de
operaciones fundamentales. Es una constatación estadística
que la potencia práctica de un ordenador reside en un
repertorio pequeño de instrucciones, con lo cual si se reduce
dicho repertorio se sigue conservando la potencia del
ordenador, y disminuye la complejidad del diseño y el costo
INICIALMENTE CISC
• La tendencia de los programadores hacia los
lenguajes de alto nivel (HLL), hizo tender a
repertorios de instrucciones más ricos con
instrucciones más complejas  (para disminuir
la brecha semántica)
• Esta tendencia buscaba simplificar los
compiladores y mejorar las prestaciones
• los programas cada vez más grandes y
complejos demandan mayor velocidad en el
procesamiento de información, lo que implica la
búsqueda de procesadores más rápidos y
eficientes.
CLAVES FILOSOFICAS RISC
(Miles J. Murdocca)
1.
2.
3.
4.
Búsqueda anticipada de instrucciones  tener en la
CPU una cola de instrucc. antes que se las necesite 
disminuye el tiempo necesario para la búsqueda de la
instrucción
Con ↓ de costo de mem. y ↑ velocidad en la búsqueda
de las instrucc. no se justifica CISC  todas las
secuencias de instrucc. deberían pertenecer a RISC
(para = problema, Inst. CISC = 1/3 RISC)
Diseñar inst. RISC para arquitectura segmentada
No se justifica integración de inst. CISC pudiendo
descomponerse en secuencias de inst. RISC mas
simples.
LOS PROCESADORES CISC
• Capacidad para ejecutar un gran número
de instrucciones en lenguaje de máquina,
mas de cien
• La microprogramación es una
característica importante y esencial de
casi todas las arquítecturas CISC
• Dificultad para implementar el paralelismo
entre instrucciones
LOS PROCESADORES RISC
•
Características comunes a todos los procesadores RISC,:
•
Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar). Sólo las
instrucciones Load/Store acceden a memoria; Ello simplifica el direccionamiento y acorta
los tiempos de los ciclos de la CPU,
Arquitectura no destructiva de tres direcciones. 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 contra, las instrucciones RISC, con tres direcciones, contienen los campos de los dos
operandos y de su resultado. Por lo tanto, los operandos origen como el destino, son
mantenidos en los registros tras haber sido completada la operación. Esta arquitectura "no
destructiva" permite reutilizar los operandos optimizando la concurrencia.
Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las
instrucciones simples reducen de manera muy significativa el esfuerzo para su
descodificación, y favorecen su ejecución en pipelines. Todas las instrucciones tienen una
longitud equivalente a una palabra y están almacenadas en forma secuencial.
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", para lograr una máxima velocidad y eficiencia.
Ejecución en conductos (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,
descodificación, ejecución, y escritura del resultado o result write-back) para instrucciones
múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz.
Ejecución en ciclos únicos: cada instrucción puede ser ejecutada en un único ciclo de la
CPU.
•
•
•
•
•
Características de las RISC que la distinguen de la CISC
Miles H. Murdocca
1.
2.
3.
4.
5.
Todas las inst. son de long. fija = 1 palabra
Todas las inst. ejecutan inst. simples, en una
estructura segmentada se realizan en 1 ciclo de reloj.
Las operac. complejas son convertidas por el
compilador en inst. simples
Todos los operandos están contenidos en registros
antes de iniciar las operaciones
Los modos de direccionamiento son los mas simples
Existe gran cantidad de registros de uso general  las
operaciones aritméticas utilizan las variables
temporarias que están en los registros en lugar de
tenerlas en una pila en MC
RISC y CISC
• Pueden combinarse las ventajas RISC y CISC
en una máquina
• Los µprocesadores Intel-Pentium son CISC de
alto rendimiento 
– Usan un traductor de hardware que sustituye cada
instrucc. CISC por una secuencia de operaciones
RISC
– Desarrollo de las operaciones simples con gran
rapidez
• Utilización de los beneficios y métodos de
aceleración aplicables a los conjuntos de
instrucciones RISC los procesadores CISC
RISC y CISC
• "Desde el 486, los procesadores Intel
tienen tecnología RISC incorporada. El
486 posee un núcleo RISC rodeado por
una compleja arquitectura CISC".
.Las diferencias son cada vez más borrosas entre las
arquitecturas CISC y RISC. Las CPU's combinan
elementos de ambas y no son fáciles de encasillar. Por
ejemplo, el Pentium Pro traduce las largas
instrucciones CISC de la arquitectura x86 a micro
operaciones sencillas de longitud fija que se ejecutan
en un núcleo de estilo RISC.
MAINFRAMES
DECADA DEL 70
DECADA DEL 60
PRINCIPIOS DE LOS 80
Mainframe z10 de IBM