0% encontró este documento útil (0 votos)
4 vistas34 páginas

Comparativa de Procesadores CISC y RISC

El documento aborda los avances en procesadores, destacando conceptos como CISC y RISC, la importancia de la memoria caché, y técnicas como el pipelining y el uso de múltiples procesadores. Se comparan las características y ventajas de los procesadores CISC y RISC, así como la optimización de registros y el impacto de las llamadas a procedimientos en el rendimiento. También se discuten las implicaciones de diseño y la controversia sobre la comparación entre ambos enfoques en la arquitectura de computadoras.

Cargado por

lanyosa
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas34 páginas

Comparativa de Procesadores CISC y RISC

El documento aborda los avances en procesadores, destacando conceptos como CISC y RISC, la importancia de la memoria caché, y técnicas como el pipelining y el uso de múltiples procesadores. Se comparan las características y ventajas de los procesadores CISC y RISC, así como la optimización de registros y el impacto de las llamadas a procedimientos en el rendimiento. También se discuten las implicaciones de diseño y la controversia sobre la comparación entre ambos enfoques en la arquitectura de computadoras.

Cargado por

lanyosa
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Procesadores

CISC-RISC
Grandes avances en equipos(a)

• El concepto de familia o nucleo


—Separa la arquitectura de la aplicación

• Unidad de control => Microprogrammed


—Idea de Wilkes 1951
—Producido por IBM S/360 1964

• Memoria caché
—IBM S/360 modelo 85 1969
Grandes avances en equipos(b)
• RAM Estado Sólido
—Dispositivo solo electrónico (no partes
mecánicas)

• Pipelining
—Presenta paralelismo en ejecutar ciclo fetch

• Posibilidad de Múltiples procesadores


Comparación de procesadores
Procesadores CISC
• Los costes de software superan con
mucho los costes de hardware
• Incrementa la complejidad del lenguaje de
alto nivel.
• Diferencia Semántica
• Conduce a:
—Grandes conjuntos de instrucciones
—Más modos de direccionamiento
—Las implementaciones Hardware con
declaraciones HLL
– Por ejemplo, el caso (switch) de VAX
Ventajas de CISC

• Facilidad de escribir los compiladores

• Mejoran la eficacia de ejecución


—Operaciones complejas en el microcódigo

• Soporte más complejo al usar HLLs


Características de Ejecución

• Las operaciones realizadas


• Operandos utilizado
• Ejecución secuencia
• Los estudios se han basan en los
programas escritos en HLLs
• Estudios dinámicos se miden durante la
ejecución del programa
Operaciones

• Asignaciones
—Movimiento de datos
• Instrucciones condicionales (IF, LOOP)
—Control de Secuencia
• Las Llamadas-Retorno de procedimientos
demora mucho tiempo
• Algunas instrucciones HLL producen
muchas operaciones de código máquina
Dinámica relativa frecuencia ponderada de HLL
operaciones [PATT82a]
Ponderado Ponderado
Presencia dinámica Machine-Instruction Memory-Reference

Pascal C Pascal C Pascal C

ASIGN 45% 38% 13% 13% 14% 15%


AR
BUCLE 5% 3% 42% 32% 33% 26%

LLAMA 15% 12% 31% 33% 44% 45%


DA
SI 29% 43% 11% 21% 7% 13%

GOTO - 3% - - - -

OTROS 6% 1% 3% 1% 2% 1%
Operandos
• Principalmente variables escalares.
• Optimización debería concentrarse en el
acceso a las variables locales

Pascal C Promedio

Constante de tipo 16% 23% 20%


entero

Variable escalar. 58% 53% 55%

Matriz/Estructura 26% 24% 25%


Llamadas a Procedimiento
• Consumen mucho tiempo
• Depende del número de parámetros
pasados
• Depende del nivel de anidamiento
• La mayoría de los programas no hacen un
gran numero de llamadas seguidas de un
gran numero de retornos
• La mayoría de las variables son locales
• (c. f. localidad de referencia)
Consecuencias
• El mejor Soporte es optimizar las ordenes
mas utilizadas y las que consumen más
tiempo

• Gran número de registros


—Operandos referenciados

• Diseño cuidadoso de pipelines


—Predicción de saltos, etc.

• Conjunto de instrucciones reducido


Gran Archivo de registro
• Solución de software
—Requiere compilador asigne registros
—Asignar en función de las variables más
utilizadas en un momento dado
—Exige sofisticados análisis de programa
• Solución de Hardware
—Tiene más registros
—Por lo tanto, más variables, estaran en los
registros
Registros para las variables locales

• Almacenar los registros de variables


escalares.
• Reducir accesos a memoria
• Cada procedimiento (función) llamada
cambia la localidad
• Los parámetros deben pasarse
• Los resultados deben ser devueltos
• Las variables de los programas deben ser
restablecidas
Registro Windows

• Sólo unos pocos parámetros


• Rango limitado de los niveles de la
llamada
• Uso multiple de varios conjuntos
pequeños de registros
• Las llamadas cambian a un conjunto
diferente de registros
• Cuando retorna se restablece el conjunto
de registros usado
Registros Windows (2)
• Tres áreas dentro de un conjunto de
registro
—Registros de Parámetros
—Registros locales
—Registros Temporales
—Registro temporales de un grupo coincide con
los registros de la siguiente
—Esto permite pasar parámetros sin mover
datos
Superposición Registro Windows
Diagrama circular de búfer
Funcionamiento del búfer circular
• Cuando se realiza una llamada, un
puntero de la ventana actual se mueve
para mostrar la ventana activa
actualmente registro
• Si todas las ventanas están en uso, se
generará una interrupción y el más
antiguo (el que esté situado más atrás en
la llamada anidada) se guarda en la
memoria
• Guarda un puntero de la ventana indica
que el siguiente guardadas de windows
deberá restituir a
Las variables globales
• Asignado por el compilador en la memoria
—Accede con frecuencia ineficaces para
variables
• Tienen un conjunto de registros para las
variables globales
V Registros de caché
Gran Archivo de registro Caché

Todos los escalares Usados recientemente locales escalares

Las variables individuales Bloques de memoria

Asignado por el compilador las variables globales Recientemente utilizado variables globales

Guardar/Restaurar según el procedimiento nivel de Guardar/Restaurar caché basado en algoritmo de


anidamiento sustitución

Direccionamiento Registro Direccionamiento de la memoria


Hace referencia a un escalar.
Ventana Archivo de registro
Hace referencia a un escalar - Caché
Compilador Optimización Registro
• Asumir pequeño número de registros (16-32)
• Optimiza la utilización de compilador
• HLL programas no tienen referencias
explícitas a los registros
—Por lo general, pensar en C - register int
• Asignar registro simbólico o virtual a cada
uno de los candidatos variable
• Mapa (ilimitado) simbólico real de los
registros registros
• Registros simbólico que no se solape real
puede compartir registros
• Si ejecuta un verdadero uso algunas variables
registros memoria
¿Por qué CISC? (1)
• Simplificación del Compilador?
—Preferido...
—Instrucciones complejas de máquina más difícil
de explotar
—Optimización más dificultosa
• Más pequeños programas?
—Programa ocupa menos memoria, pero...
—Ahora es barato Memoria
—No podrá ocupar menos bits, basta con mirar
más cortos de forma simbólica
– Más instrucciones requieren más códigos de
operación
– Referencias del Registro requieren menos bits
¿Por qué CISC? (2)

• Programas más rápidos?


—Tendencia hacia el uso de sencillas
instrucciones
—Unidad de control más complejas
—Mas grande almacenamiento del control del
microprograma
—Por lo tanto, simples instrucciones tardan
mucho tiempo en ejecutarse

• No está nada claro que CISC es la solución


apropiada
Características RISC
• Una instrucción por ciclo
• Operaciones de registro a registro
• Unos pocos, sencillos modos de
direccionamiento
• Pocos, formatos simples instrucciones
• Diseño con cable (sin microcódigo)
• Instrucciones formato fijo
• Más tiempo de compilación/esfuerzo
CISC vs RISC
• No hay una frontera clara

• Muchos diseños tomados de ambas


filosofías;

• Por ejemplo: PowerPC y Pentium II


Pipeline en RISC
• La mayoría de las instrucciones son de
registro a registro
• Dos fases de ejecución
—I: la instrucción Fetch
—E: Ejecutar
– ALU con registro de entrada y salida
• Para cargar y almacenar
—I: la instrucción Fetch
—E: Ejecutar
– Calcular dirección de memoria
—D: Memoria
– Registrar en la memoria o memoria de
funcionamiento registro
Efectos del pipeline
Optimización del pipeline

• Rama retardada

—No tendrá efecto hasta después de la


ejecución de las siguientes instrucciones

—La siguiente instrucción es la demora ranura


Rama Normal y Retraso
Address Normal Branch Delayed Branch Optimized
Delayed Branch

100 LOAD X, rA LOAD X, rA LOAD X, rA

101 ADD 1, rA ADD 1, rA JUMP 105

102 JUMP 105 JUMP 106 ADD 1, rA

103 ADD rA, rB NOOP ADD rA, rB

104 SUB rC, rB ADD rA, rB SUB rC, rB

105 STORE rA, Z SUB rC, rB STORE rA, Z

106 STORE rA, Z


Uso de
Secuencia
Retardada
Polémica
• Cuantitativos
— Comparar tamaños y velocidades de ejecución
programas
• Cualitativos
— Examinar los problemas de uso de lenguaje de alto nivel
apoyo y uso de estado actual VLSI
• Problemas
— No hay parejas elementos RISC y CISC que sean
directamente comparables
— No existe un conjunto definitivo de programas de
prueba
— Difícil separar efectos de hardware en el compilador
— La mayoría de las comparaciones son en “maquinas de
juguete" en lugar de las máquinas de producción
— Muchos dispostivos comerciales son una mixtura.

También podría gustarte