Registros Internos

Registros Internos Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direcciona

Views 113 Downloads 2 File size 413KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Registros Internos Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas. El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que se usan con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits. Registros en los PIC Los registros de los microcontroladores PIC se encuentran en un espacio especial de la memoria de datos, el SFR (Special Function Registers). En los dispositivos PIC16F87X estos registros son de 8 bits, la mayoría de lectura y escritura. Se puede acceder a dichos bits de manera individual, o bien a todo el registro a la vez. Determinados pares de registros tienen funciones especiales para las cuales se pueden considerar unidos en un único registro de 16 bits, aunque físicamente siguen estando separados. El registro STATUS El registro de estado (STATUS) es uno de los más importantes y empleados en el microcontrolador. Proporciona información acerca del resultado de operaciones aritméticas, operaciones lógicas y causa de reinicios, además de permitir la selección del banco de memoria de datos. Registros de Trabajo y Relación con la ALU La unidad aritmética lógica o unidad aritmético-lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos. Un registro de trabajo es un archivo que contiene el registro detallado de los detalles de ejecución de un trabajo. Se recopilan los mensajes de sistema del contenedor por lotes y de

salida de los ejecutables del trabajo. Al revisar los registros de trabajo, puede ver el ciclo de vida de un trabajo por lotes, incluyendo la salida de las propias aplicaciones por lotes. Un registro de trabajo está compuesto de los tres tipos siguientes de información: 1. xJCL - Un registro de trabajo contiene una copia del xJCL utilizado para ejecutar el trabajo, incluyendo los valores de sustitución de xJCL. 2. Mensajes del sistema: un conjunto de mensajes del sistema que comunica los sucesos principales del ciclo de vida correspondientes al trabajo. Los sucesos del sistema siguientes se graban en las anotaciones de trabajo:  Inicio y final de un trabajo  Inicio y final de un paso  Inicio y el final de un punto de comprobación  Abrir, cerrar y punto de comprobación de una corriente de datos por lotes  Invocación / resultados del algoritmo de punto de comprobación  Invocación / resultados del algoritmo de resultados 3. Mensajes de la aplicación: conjunto de mensajes escritos en la salida estándar o la salida de errores estándar por parte de un programa de paso de trabajo. Las anotaciones de trabajo se pueden consultar a través de la consola de gestión de trabajos. Como la información se ha añadido de forma dinámica al registro de trabajo mientras que éste estaba en ejecución, puede ver la información más reciente seleccionando Renovar en la vista del registro de trabajos. Los registros de trabajo se pueden ver sólo si el planificador propietario está activo. Además, si el punto final que ejecuta el trabajo no está disponible, el resultado es un registro de trabajo parcial.

Registros De Propósito Específico Los registros de propósito especifico permiten llevar un récord de estado del procesador en todo momento. Los mas importantes son el contador de programa (PC), el registro de banderas, y el apuntador de pila (SP). El contador de programa es un registro que siempre apunta a la dirección en memoria de programa que se esta ejecutando y su valor es incrementado en 1 en cada ciclo,

excepto cuando una instrucción de salto es ejecutada. En resumen, el PC determina el flujo de ejecución de las instrucciones almacenadas en la memoria de programa. El registro de de estado de banderas, como su nombre lo sugiere, guarda el estado de las diferentes banderas que son modificadas por eventos específicos como operaciones aritmético-lógicas, interrupciones y "overflow" de registros, entre otras. Las banderas mas importantes son la bandera de signo (SF), la bandera de cero (ZF), la bandera de acarreo (CF) y la bandera de interrupción (IF). El apuntador de pila guarda la dirección de memoria mas reciente usada por la pila. La pila es un espacio reservado en memoria usado para guardar el estado del procesador cuando se llaman subrutinas o cuando el programa agota los registros de propósito general.

Pila o Stack Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir») . Esta estructura se aplica en multitud de supuestos en el área de informática debido a su simplicidad y capacidad de dar respuesta a numerosos procesos. Para el manejo de los datos cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al anterior (apilado con anterioridad), que pasa a ser el último, el nuevo TOS. Las pilas suelen emplearse en los siguientes contextos:   

Evaluación de expresiones en notación postfija (notación polaca inversa). Reconocedores sintácticos de lenguajes independientes del contexto Implementación de recursividad.

En un sistema operativo cada proceso tiene un espacio de memoria (pila) para almacenar valores y llamadas a funciones. Una pila acotada es una pila limitada a un tamaño máximo impuesto en su especificación. Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar equivaldría a retirarlo.

Registro de Estado Se conoce como registro de estado a los registros de memoria en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada y que podrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, en el registro de estado queda constancia de si el resultado fue cero, positivo o negativo, o si se sobrepasó la capacidad de representación. Cada modelo de procesador tiene sus propios registros de estados, pero los más comunes son: Z = Zero flag: El resultado es cero. N = Negative flag: El resultado es negativo.

V = Overflow flag: El resultado supera el número de bits que puede manejar la ALU. P = Parity flag: Paridad del número de 1 en los datos. I = Interrupt flag: Se ha producido una interrupción. C = Carry flag: Acarreo de la operación realizada.

Registro INDF Es el registro para direccionamiento indirecto de datos, a pesar de no ser un registro disponible físicamente (esto lo dice la hoja de datos); utiliza el contenido del registro FSR, para seleccionar indirectamente la memoria de datos o RAM. Si la dirección a la que apunta el FSR se copia en INDF, una instrucción aplicada a INDF, determinará lo que se debe hacer con el registro al que apunta.

Registro TMR0