Anda di halaman 1dari 38

Facultad de Ingeniera de

Sistemas e Informtica

COMPUTADORES DE REPERTORIO
REDUCIDO DE INSTRUCCIONES
Semestre 2013 - I

Asignatura: Procesadores I
Docente: Alejandro Reategui Pezo

Los Principales Avances en Computadoras (1)


El concepto de familia:
- IBM System/360 1964
- DEC PDP-8
Separa la arquitectura de la
implementacin.
Unidad de control microprogramada:
- Ideada por Wilkes 1951
- Producido por IBM S/360 1964
Memoria cach:
- IBM S/360 modelo 85 1969

Los Principales Avances en Computadoras (2)


Memoria de seal slida
- (Consulte las notas de memoria)
Microprocesadores
- Intel 4004 1971
Canalizacin
- Presenta paralelismo en busca de ejecutar
el ciclo
Mltiples procesadores

El Siguiente Paso - RISC


Conjunto de instrucciones de ordenadores
reducido.
Las principales caractersticas:
- Un gran nmero de registros de uso
general.
- El uso de la tecnologa de compiladores
para optimizar el uso de registros.
- Un repertorio de instrucciones limitado y
sencillo.
- Un nfasis en la optimizacin de la
segmentacin de instrucciones.

Comparacin de Procesadores

Motivo Principal Para CISC


Costos de software superan con creces los
costos de hardware.
Lenguajes de alto nivel cada vez ms
complejos.
Salto semntico.
Lleva a:
- Grandes conjuntos de instrucciones.
- Ms modos de direccionamiento.
- Implementaciones de hardware de los
estados HLL.
por ejemplo CASE (switch) en VAX

Intencin del CISC


Facilitar el trabajo del escritor de
compiladores.
Mejorar la eficiencia de la ejecucin, en
secuencias complejas de operaciones
pueden implementarse en microcdigo.
Dar soporte a HLL aun ms complejos y
sofisticados.

Caractersticas de Ejecucin
Operaciones realizadas.
Operandos usados.
Secuenciamiento de ejecucin.
Se han hecho estudios sobre la base de los
programas escritos en HLL.
Estudios dinmicos se miden durante la
ejecucin del programa.

Operaciones
Asignaciones.
Movimiento de datos.
Sentencias condicionales (IF, LOOP).
Control de secuencia.
Procedimiento de llamada de retorno es
que lleva mucho tiempo.
Algunos conducen instruccin HLL para
muchas operaciones de cdigo mquina.

Frecuencia dinmica relativa ponderada de


operaciones en HLL [PATT82a]

Operandos
Principalmente variables locales escalares.
Optimizacin debe concentrarse en el
acceso a las variables locales.

Llamadas a procedimientos
Consumen ms tiempo.
Depende del nmero de parmetros
pasados.
Depende del nivel de anidamiento.
La mayora de los programas no hacen un
montn de llamadas seguido por un montn
de declaraciones.
La mayora de las variables son locales
(confrntese localidad de referencia).

Operaciones
Asignaciones.
Movimiento de datos.
Sentencias condicionales (IF, LOOP).
Control de secuencia.
Procedimiento de llamada de retorno es
que lleva mucho tiempo.
Algunos conducen instruccin HLL para
muchas operaciones de cdigo mquina.

Consecuencias
Mejor soporte se da mediante la
optimizacin ms utilizada y funciones que
ms tiempo consumen.
Un gran nmero de registros
- Operando referencias.
El cuidado diseo de las instrucciones
Poder predecir etc.
Simplificado (reducido) del conjunto de
instrucciones.

Amplio Banco de Registros


Solucin Software
- Requiere compilador para asignar
registros.
- Asignar registros a las variables que usen
ms en un tiempo determinado.
Requiere uso de sofisticados algoritmos de
anlisis de programas.
Solucin Hardware
- Usar ms registros.
- De manera que ms variables puedan
mantenerse en registros

Registros para las variables locales


Guardar las variables locales escalares en
los registros.
Reduce el acceso a la memoria.
Cada procedimiento (funcin) llama a la
situacin de cambios.
Deben pasarse los parmetros.
Los resultados deben ser devueltos.
Variables de los programas de la llamada
deben ser restaurado.

Registros de Ventanas
Slo unos pocos parmetros.
Rango limitado de fondo de escala.
Utilice varios pequeos conjuntos de
registros.
Pide cambiar a un conjunto diferente de
registros.
Devoluciones volver a un conjunto de
registro previamente utilizadas.

Registros de Ventanas (2)


Tres reas dentro de un conjunto de
registros
- Registros Parmetros.
- Registros Locales.
- Registros Temporales.
- Registros temporales de un conjunto se
superponen registros de parmetros de la
siguiente.
- Esto permite el paso de parmetros sin
mover los datos.

Ventanas de registros solapadas

Organizacin de las Ventanas Solapadas Como un


Buffer Circular.

Operacin de Buffer Circular


Cuando se realiza una llamada, un puntero
ventana actual se mueve para mostrar la
ventana de registro activo.
Si todas las ventanas estn en uso, se
genera una interrupcin y el ms antiguo de
ventana (la parte posterior que se encuentra
ms en la llamada de anidamiento) se
guarda en la memoria.
El puntero de ventana salvada identifica la
ventana guardada en memoria ms
recientemente.

Variables globales
El compilador asigne posiciones en la
memoria.
Ineficiente para las variables de acceso
frecuente.
Disponer de un conjunto de registros para
variables globales.

Amplio Banco de Registros vs Cach

Referencia a un dato escalar - Banco de registros


basado en ventanas

Referencia a un dato escalar - Cach

Optimizacin de Registros Basada en el


Compilador
Supongamos de un pequeo nmero de registros (16 a
32).
Optimizacin del uso es responsabilidad del compilador.
Programas HLL no tienen referencias explcitas a los
registros
- por lo general - pensar en C registro enteros.
Asignar registro simblico o virtual a cada variable
candidato.

Mapa (ilimitado) registros simblicos a los registros reales.


Registros simblicos que no se superponen pueden
compartir registros reales.
Si te quedas sin verdadero registra parte de la memoria
Uso de las variables.

Coloreado de Grafos
Dado un grafo de nodos y los bordes.
Asignar un color a cada nodo.

Nodos adyacentes tienen colores diferentes.


Use el nmero mnimo de colores.
Los nodos son registros simblicos.

Dos registros que estn en vivo en el mismo


fragmento de programa estn unidas por un
borde.
Probar para colorear el grfico con colores n,
donde n es el nmero de registros reales.
Los nodos que no pueden ser de color se colocan
en memoria.

La Tcnica de Coloreado de Grafos

Por qu CISC (1)?


Simplificacin del compilador?
- Disputado .
- Instrucciones mquinas complejas ms difciles
de explotar.
- Optimizacin ms difcil.
Programas ms pequeos?
- Programa ocupa menos memoria.
- La memoria es ahora barato
- Es posible que no ocupan menos bits, basta con
mirar ms corta en forma simblica.
- Ms instrucciones requieren ms cdigos de
operacin mas largos.
- Referencias de registro requieren menos bits.

Por qu CISC (2)?


Programas ms rpidos?
- El sesgo hacia el uso de simples
instrucciones.
- Una unidad de control ms compleja.
- Control del microprograma tiende hacerse
ms grande.
- Aumenta el tiempo de ejecucin de las
instrucciones simples.
No est nada claro que CISC es la solucin
apropiada.

Caractersticas RISC

Una instruccin por ciclo.


Registrar para registrar las
operaciones.
Pocos y sencillos modos de
direccionamiento.
Pocos formatos, instrucciones simples.

Diseo Cableado (no microcdigo).


Formato de instruccin fija.
Ms tiempo de compilacin / esfuerzo

RISC vs CISC

No es clara.
Muchos diseos piden prestados de
ambas filosofas.
Por ejemplo PowerPC y Pentium II

Segmentacin de Cauce en RISC


La mayora de las instrucciones son del tipo
registro a registro.
Dos fases de ejecucin
- I: Instruccin buscar
- E: Ejecutar. ALU operacin con registros de
entrada y de salida
Para cargar y almacenar
- I: Instruccin buscar
- E: Ejecutar Calcular la direccin de memoria
- D: Memoria. Registro en la memoria o en la
memoria para registrar la operacin

Efectos de Segmentacin

Optimizacin de Segmentacin

Salto retardado.

No tiene lugar hasta despus de que se


ejecute la siguiente instruccin.
Esta instruccin siguiente es el
retardado.

Salto Normal y Retardado

Uso del Salto Retardado

Controversia entre RISC y CISC


Cuantitativa
- Comparar el tamao de los programas y su velocidad de
ejecucin.

Cualitativa
- Revisin de asuntos tales como soporte de lenguajes de
alto nivel y uso ptimo de los recursos VLSI.
Problemas
- No hay una pareja de RISC y CISC que son directamente
comparables.
- No existe un conjunto de programas de prueba definitivo.
- Es difcil separar los efectos del hardware de los efectos
debidos a la habilidad en el diseo del compilador.
- La mayor parte de los anlisis comparativos con RISC se
han hecho con mquinas de juguete, en vez de con
productos comerciales.
- La mayora de dispositivos comerciales son una mezcla.

Anda mungkin juga menyukai