6
REGISTROS

automatas (registro)

Embed Size (px)

Citation preview

Page 1: automatas (registro)

REGISTROS

Page 2: automatas (registro)

REGISTROS

o Concepto

Actividad de una variable: se expresa en términos de proposiciones o bloques básicos.

Se dice que una variable está “activa” desde la proposición en la que se le asigna un valor hasta la última proposición en la que es utilizada antes de que se le vuelva a asignar un valor.

Page 3: automatas (registro)

Los registros son los elementos más valiosos y escasos en la fase de generación de código, puesto que el CPU solamente puede procesar datos que se encuentren en registros.

Además, las instrucciones que implican operandos en registros son más cortas y rápidas que las de operandos en memoria.

Existen registros acumuladores, puntero de instrucción, de pila, etc.

Page 4: automatas (registro)

El uso de registros se divide generalmente en dos subproblemas :

1) Durante la asignación de registros, se selecciona el conjunto de variables y/o constantes que residirán en los registros en un momento del programa.

2) Durante una fase posterior a la anterior, se escoje el registro específico en el que residirá una variable.

Page 5: automatas (registro)

Es muy difícil encontrar una asignación óptima de registros a variables.

Matemáticamente, el problema es NP-completo. Este problema se complica todavía más debido a restricciones de hardware, de sistema operativo o ambos. Puede ser que el conjunto de instrucciones de la máquina no sea ortogonal.

Algunas máquinas además requieren para ciertas operaciones el uso de un conjunto de registros para algunos operandos y resultados.

Page 6: automatas (registro)

Asignación de registros:

Intentar conservar los valores más utilizados durante un lazo en registros.

Reservar un número fijo de registros para este tipo de valores.