L脫GICA DE TRANSFERENCIA DE REGISTROS

INTRODUCCI脫N

Los registros de computadora est谩n representados por letras may煤sculas (en ocasiones seguidas de n煤meros), para denotar la funci贸n del registro. Por ejemplo, el registro que contiene una direcci贸n para la unidad de memoria, por lo general se llama un registro de direccionamiento de memoria y se designan las letras MAR (memory address register). Otros nombres para registros son : PC (contador de programa)  IR (registro de instrucci贸n) Rl (registro de procesador)

INDICE

5.1 INTRODUCCION 

5.2 TRANSFERECIA ENTRE REGISTROS 

5.3MICROOPERACIONES ARITMETICAS Y LOGICAS


CONCEPTO

Es un conjunto de expresiones y afirmaciones con una notaci贸n simb贸lica para especificar las interconexiones necesarias entre los distintos componentes de un sistema digital.

Se seleccionan registros como los componentes primitivos de un sistema digital en vez de las compuertas y los flip-flop como en la l贸gica secuencial

De esta forma es  posible describir de forma precisa y concisa el flujo de informaci贸n y las tareas de procesamiento entre los datos acumulados entre registros 

       El conjunto de registros en un sistema y sus funciones.

       La informaci贸n en c贸digo binario almacenado en los registros.

       Las operaciones realizadas a partir de la informaci贸n almacenada en los registros.

       Las funciones de control que inician la secuencia de operaciones.

Estos cuatro componentes forman la base del m茅todo de l贸gica de transferencia entre registros


OBJETIVOS

  El lenguaje de transferencia entre registros constituye un conjunto de expresiones y afirmaciones con una notaci贸n simb贸lica para especificar las interconexiones necesarias entre los distintos componentes de un sistema digital. Presenta las herramientas necesarias para describir el sistema , as铆 como la secuencia de micro operaciones que se realizan en el mismo, entendi茅ndose por micro operaci贸n una operaci贸n elemental que se puede efectuar en forma paralelo durante un per铆odo de pulso de reloj. 

       Como resultado de una micro operaci贸n el dato previamente almacenado en un registro puede alterarse o ser almacenado en otro registro, etc.

       LOS REGISTROS SON UN MEDIO DE AYUDA A LAS OPERACIONES REALIZADAS POR LA UNIDAD DE CONTROL, LA UNIDAD ARITM脡TICA Y L脫GICA. QUE PERMITEN ALMACENAR INFORMACI脫N, TEMPORALMENTE, PARA FACILITAR LA MANIPULACI脫N DE LOS DATOS POR PARTE DE LA CPU.


5.2 TRANSFERECIA ENTRE REGISTROS 

       La transferencia de datos de un registro a otro es justamente almacenar en un registro los datos de otro registro. Para esto es necesario que la salida del registro que posee los datos (registro origen) est茅 conectada a la entrada del registro en el que vamos a almacenar la informaci贸n (registro destino). Al aplicar un pulso de reloj, el registro destino toma los datos provenientes del registro origen.

       La transferencia de un registro a otro se indica como:

       A        B

       que quiere decir guardar en el registro A el contenido del registro B. (A es el registro destino y B el registro origen).

Si queremos realizar la transferencia de un registro origen a un registro destino, por ejemplo desde el registro origen A al registro destino B ( B            A ), tenemos el siguiente circuito.

En la figura se muestra como se conectan las salidas de los flip-flops del registro A (origen) a las entradas de los flip-flops del registro B (destino). De esta forma, al aplicar un pulso en la entrada de reloj del registro B este tomar谩 los datos disponibles en su entrada y los almacenar谩. La  transferencia de datos se efectuar谩 cuando la se帽al de control SC sea igual a 1. Esto para que la operaci贸n se realice en un momento determinado por el circuito que genera las se帽ales de control.(circuito de secuencia de control).El diagrama de tiempo muestra los cambios de las diferentes se帽ales y el momento en el que el registro almacena la nueva informaci贸n.

TRANSFERENCIA DE VARIOS A 1 REGISTRO

Si queremos transferir datos de varios registros origen a un registro destino debemos seleccionar de cual de los registros se va a tomar la informaci贸n. Para ello asociaremos una se帽al de control SC a cada posible transferencia. Tendremos tantas se帽ales de control como transferencias se puedan realizar. Solamente la se帽al de control asociada a la transferencia que se quiere realizar valdr谩 1, permitiendo enrutar la salida del registro correspondiente hacia la entrada del registro destino. Las dem谩s se帽ales de control valdr谩n 0. SOLO UNA SE脩AL DE CONTROL  PUEDE VALER 1 EN UN MOMENTO DETERMINADO. Al bajar un pulso de reloj el registro destino almacenar谩 la informaci贸n del registro seleccionado.


TRANSFERENCIA DE VARIOS REGISTROS A VARIOS REGISTROS

Si queremos transferir datos de varios registros origen a varios registros destino debemos agregar un set de compuertas ANDs que combina la se帽al de control SC con las salidas del registro origen, por cada transferencia que queremos realizar,  y un set de compuertas ORs a la entrada de cada registro destino.

Por ejemplo en el circuito que se muestra a continuaci贸n, si queremos realizar la transferencia de 3 registros origen a 2 registros destino, tendemos seis posibles transferencias:


TRANSFERENCIA ENTRE REGISTROS CON  ESTRUCTURA DE BUSES

Si utilizamos el esquema anterior para realizar las transferencias entre registros, a medida que incrementemos el numero de registros y de transferencias posibles, el circuito se hace muy costoso por el incremento de las compuertas.
Existe un m茅todo alternativo , generalmente mas econ贸mico que el de utilizar una estructura de "buses". La transferencia de datos entre registros utilizando la estructura de buses es un proceso que se realiza en dos pasos.

El primer paso es utilizar las se帽ales de control para enrutar el dato hacia la salida del bus. Esta operaci贸n difiere de la transferencia ya que el bus no almacena los datos. El dato permanecer谩 en la salida del bus mientras la se帽al de control permanezca en 1.

Es importante resaltar esta distinci贸n, EL BUS NO ALMACENA INFORMACION. De hecho el bus est谩 compuesto b谩sicamente por el set de compuertas OR  las cuales no almacenan informaci贸n y su salida depende del valor de las entradas en ese momento.
El segundo paso es el de almacenar la salida del bus en el registro destino, lo que se realiza aplicando un pulso de reloj , controlado por una se帽al de control. En ese momento es que la se帽al de control que manten铆a el dato en el bus pasa a ser nuevamente 0.

Para realizar el mismo tipo de transferencia que en el circuito anterior, pero con estructura de buses tenemos el siguiente diagrama



5.3MICROOPERACIONES ARITMETICAS Y LOGICAS

       Microoperaciones l贸gicas

       Microoperaciones de corrimiento

       Las microoperaciones aritm茅ticas b谩sicas son suma, resta, incremento, decremento y corrimiento.

       Transferencia de registros

       Los registros de computadora est谩n representados por letras may煤sculas (en ocaciones seguidas de n煤meros), para denotar la funci贸n del registro. Por ejemplo:
MAR (Memory address register) : registro que contiene una direcci贸n para la unidad de memoria

       PC : contador de programa

       IR : registro de instrucci贸n

       R1 : registro de procesador

       Los flip-flops individuales en un registro de n bits est谩n numerados en una secuencia de 0 hasta n-1, comenzando desde 0 en la posici贸n de la extrema derecha y aumentando los n煤meros hacia la izquierda. La manera m谩s com煤n de representar un registro es mediante una caja rectangular con el nombre del registro dentro.

       En ocasiones es conveniente separar las variables de control de la operaci贸n de transferencia de registros al especificar una funci贸n de control. Una funci贸n de control es una variable booleana, que es igual a 0 o a 1. La funci贸n de control se incluye en el enunciado como sigue: P : R2 <- R1. La condici贸n de control se termina con un signo de dos puntos. Una funci贸n de control es una variable booleana, que es igual a 0 a 1. La condici贸n de control se termina con un signo de dos puntos. La operaci贸n de transferencia se ejecuta por el hardware s贸lo si P=1.
Se usan par茅ntesis para se帽alar una parte de un registro al especificar el rango de los bits o al otorgar un nombre simb贸lico a una parte de un registro. Se usan coman para separar dos o m谩s operaciones que se ejecutan al mismo tiempo.

       Las microoperaciones l贸gicas especifican operaciones binarias para arreglos de bits almacenados en registros. Estas operaciones consideran cada bit de registro en forma separada y los tratan como variables binarias.


MICROOPERACIONES DE CORRIMIENTO

Corrimiento l贸gico : es aquel que transfiere un 0 por la entrada serial.
Corrimiento circular : hace circular los bits del registro por los dos extremos sin p茅rdida de informaci贸n. Esto se consigue al conectar la salida serial del registro de corrimiento a su entrada serial.

Corrimiento aritm茅tico : recorre un n煤mero binario con signo a la derecha o a la izquierda. Un corrimiento aritm茅tico a la izquierda multiplica un n煤mero binario con signo por 2

       Un corrimiento aritm茅tico a la derecha divide el n煤mero entre 2. El bit del extremo izquierdo contine el bit de signo y los bits restantes contienen el n煤mero. El bit de signo es 0 para los n煤meros positivos y 1 para los negativos. Los n煤meros negativos est谩n en su forma complemento a 2.


 LENGUAJE DE CORRIMIENTO

       El dise帽o de sistemas digitales utiliza de manera invariable un enfoque modular. Los m贸dulos se construyen a partir de componentes digitales como registros, decodificadores, elementos aritm茅ticos y l贸gica de control. Los diferentes m贸dulos est谩n interconectados con los datos y las trayectorias de control comunes para formar un sistema de computadora digital

       El control que inicia la secuencia de micro operaciones. La notaci贸n simb贸lica que se utiliza para describir las transferencias de micro operaciones entre registros se llama lenguaje de transferencia de registros. Es una herramienta conveniente para describir la organizaci贸n interna de las computadoras digitales de una manera precisa y concisa. Tambi茅n puede usarse para facilitar el procesos de dise帽ar sistemas digitales.

MICROOPERACIONES TIPOS

       Transferencia interna: operaciones de transferencia entre registros internos del procesador.

       Transferencia interna con transformaci贸n: operaciones aritm茅ticas o l贸gicas utilizando registros internos del procesador.

       Transferencia externa: operaciones de transferencia entre registros internos del procesador y registros externos al procesador o m贸dulos externos al procesador (como el bus del sistema o la memoria principal).


 CONCLUSIONES 

SALUDOS.



Comentarios

Entradas m谩s populares de este blog

COMPUERTAS L脫GICAS

REGISTROS Y UNIDAD DE MEMORIA

Ciclo y decodificaci贸n de ejecuci贸n de instrucciones Parte 3