Вы находитесь на странице: 1из 6

TRANSFERENCIA DE REGISTROS Y MICRO-OPERACIONES

1.1 Lenguaje de transferencia de registros


Un sistema digital es una interconexin de mdulos de hardware digital que
realizan una tarea especfica de procesamiento de informacin. Los sistemas
digitales varan en tamao y complejidad desde unos cuantos circuitos
integrados hasta un complejo de computadoras digitales interconectadas e
interactivas. El diseo de sistemas digitales utiliza de manera invariable un
enfoque modular. Los mdulos se construyen a partir de componentes digitales
como registros, decodificadores, elementos aritmticos y lgica de control. Los
diferentes mdulos estn interconectados con los datos y las trayectorias de
control comunes para formar un sistema de computadora digital.
Los mdulos digitales se definen mejor por los registros que contienen y las
operaciones que realizan sobre los datos que almacenan. Las operaciones que
se ejecutan sobre los datos almacenados en los registros se llaman
microoperaciones. Una microoperacin es una operacin bsica realizada sobre
la informacin almacenada en uno o mas registros. El resultado de la operacin
puede sustituir la informacin binaria anterior de un registro o puede
transferirse a otro. Algunos ejemplos de microoperaciones son desplazar,
contar, borrar y cargar. Algunos de los componentes digitales que se
presentaron son registros que sirven para realizar microoperaciones. Por
ejemplo, un contador con carga paralela puede realizar las microoperaciones
de incremento y carga; un registro de desplazamiento bidireccional puede
realizar las microoperaciones de desplazamiento a la derecha y a la izquierda.
La organizacin interna del hardware de una computadora digital se define
mejor al especificar:
1. El conjunto de registros que contiene y sus funciones.
2. La secuencia de microoperaciones que se realizan sobre la informacin
binaria almacenada en los registros.
3. El control que inicia la secuencia de microoperaciones.
Es posible especificar la secuencia de microoperaciones en una computadora,
al explicar cada operacin en palabras, pero este procedimiento por lo general
representa una extensa explicacin descriptiva. Es ms conveniente adoptar
una simbologa conveniente para describir la secuencia de transferencias entre
registros y las diferentes microoperaciones aritmticas y lgicas asociadas con
las transferencias. El uso de smbolos en lugar de una explicacin narrativa
proporciona una manera organizada y concisa para en listar las secuencias de
microoperaciones en los registros y las funciones de control que las inician.

La notacin simblica que se utiliza para describir las transferencias de


microoperaciones entre registros se llama lenguaje de transferencia de
registros. El trmino "transferencia de registros" implica la disponibilidad de
circuitos lgicos de hardware que puedan efectuar una microoperacin definida
y transferir el resultado de la operacin al mismo o a otro registro. La palabra
"lenguaje" se toma prestada de los programadores, quienes aplican este
trmino a los lenguajes de programacin. Un lenguaje de programacin es un
procedimiento para escribir smbolos con el fin de especificar cierto proceso
computacional. De igual manera, un lenguaje natural, como el ingls, es un
sistema para escribir smbolos y combinarlos en palabras y enunciados para la
comunicacin entre personas. Un lenguaje de transferencia de registros es un
sistema para expresar en forma simblica, las secuencias de microoperaciones
entre los registros de un mdulo digital. Es una herramienta conveniente para
describir la organizacin interna de las computadoras digitales de una manera
precisa y concisa. Tambin puede usarse para facilitar el proceso de disear
sistemas digitales.
El lenguaje de transferencia de registros que se adopta aqu se considera lo
ms sencillo posible, para que no sea difcil de memorizar. En seguida
definiremos los smbolos para diferentes tipos de microoperaciones y al mismo
tiempo describiremos el hardware asociado con el que se pueden llevar a cabo
las microoperaciones planteadas. La denominacin simblica que se presenta
en este captulo se optimizar en captulos posteriores para especificar las
transferencias de registros, las microoperaciones y las funciones de control que
describen la organizacin interna del hardware de las computadoras digitales.
Se puede aprender con facilidad otra simbologa una vez que se familiariza uno
con este lenguaje, porque la mayora de las diferencias entre los lenguajes de
transferencia de registros, consisten en variaciones de los detalles ms que en
el propsito general.
1.2 Transferencia entre registros
Los registros de computadora estn representados por letras maysculas (en
ocasiones seguidas de nmeros), para denotar la funcin del registro. Por
ejemplo, el registro que contiene una direccin para la unidad de memoria, por
lo general se llama un registro de direccionamiento de memoria y se designan
las letras MAR por sus siglas en ingls (memory address register). Otros
nombres para registros son PC (contador de programa), IR (registro de
instruccin) y Rl (registro de procesador). Los flip-flops individuales en un
registro de n bits estn numerados en una secuencia de O hasta n 1,
comenzando desde O en la posicin de la extrema derecha y aumentando los
nmeros hacia la izquierda. La figura 4-1 muestra la representacin de
registros en forma de diagrama de bloque. La manera ms comn de
representar un registro es mediante una caja rectangular con el nombre del
registro dentro. Los bits individuales pueden distinguirse como en el ejemplo

(b). La numeracin de bits en un registro de 16 bits puede sealarse en la parte


superior de la caja, como se muestra en el ejemplo (c). Un registro de 16 bits
se divide en 2 partes en el ejemplo (d). Los bits del O al 7 reciben el smbolo L
(byte bajo) y los bits del 8 al 15 reciben el smbolo H (byte alto). El nombre del
registro de 16 bits es PC. El smbolo PC (0-7) o Pc (L) denomina el byte de
orden menor y PC (8-15) o PC (H) designa al byte de orden mayor.
La transferencia de informacin de un registro a otro se representa en forma
simblica mediante un operador de sustitucin. El enunciado:
R2 < Rl
denota una transferencia del contenido del registro Rl al registro R2. Designa la
sustitucin del contenido de R2 por el contenido de Rl. Por definicin, el
contenido del registro fuente Rl no cambia despus de la transferencia.
Un enunciado que especifica una transferencia de registro implica que estn
disponibles circuitos de la salida del registro fuente a la entrada del registro
destino y que el registro destino tiene capacidad de carga paralela.
Normalmente, deseamos que la transferencia ocurra slo bajo una condicin de
control predeterminada. Esto puede mostrarse mediante un enunciado si,
entonces Qf-then)
Si (P = 1) entonces (R2 < Rl)
donde P es una seal de control que se genera en la seccin de control. En
ocasiones es conveniente separar las variables de control de la operacin de
transferencia de registros al especificar una funcin de control. Una funcin de
control es una variable booleana, que es igual a O o a 1. La funcin de control
se incluye en el enunciado como sigue:
P: R2~-Rl
La condicin de control se termina con un signo de dos puntos. Representa la
necesidad de que la operacin de transferencia sea ejecutada slo por el
hardware si P = 1.
Cada enunciado escrito en notacin de transferencia de registros implica una
estructura de hardware para realizar la transferencia. Se muestra el diagrama
de bloque de la transferencia de Rl a R2. Las n salidas del registro Rl estn
conectadas a las n entradas del registro R2. La letra n se usar para indicar
cualquier cantidad de bits para el registro. Se sustituir por un nmero real
cuando se conozca el tamao del registro. El registro R2 tiene una entrada de
carga que activa la variable de control P. Se considera que la variable de
control est sincronizada con el mismo reloj que se aplica al registro. Como se
muestra en el diagrama de temporizacin, P se activa en la seccin de control
mediante el flanco ascendente de un pulso de reloj en el tiempo t. La siguiente

transicin positiva del reloj en el tiempo t + 1 encuentra activa la entrada de


carga y las entradas de datos de R2 se cargan a su vez en el registro en
paralelo. P puede regresar a O en el tiempo t + 1; de otra manera, la
transferencia ocurrir con cada transicin de pulso de reloj mientras P
permanece activa.
Debe notarse que el reloj no se incluye como una variable en los enunciados de
transferencia de registros. Se considera que todas las transferencias ocurren
durante una transicin de flanco de reloj. Aunque la condicin de control P se
activa inmediatamente despus del tiempo t, la transferencia real no ocurre
hasta que se activa el registro mediante la siguiente transicin positiva del reloj
en el tiempo t + 1.
Los smbolos bsicos de la notacin de transferencia de registros se listan en la
tabla 4-1. Los registros estn representados por letras maysculas y los
nmeros pueden estar despus de las letras. Se usan parntesis para sealar
una parte de un registro al especificar el rango de los bits o al otorgar un
nombre simblico a una parte de un registro. La flecha significa una
transferencia de informacin y su direccin. Se usa una coma para separar dos
o ms operaciones que se ejecutan al mismo tiempo. El enunciado representa
una operacin que intercambia el contenido de dos registros durante un pulso
de reloj comn, siempre y cuando T = 1. Esta operacin simultnea siempre es
posible con registros que tienen flip-flops activados con flancos.
1.3 Microoperaciones aritmticas
Una microoperacin es una operacin elemental efectuada con los datos
almacenados en los registros. Las microoperaciones que se encuentran con
mayor frecuencia en las computadoras digitales se clasifican en cuatro
categoras
1. Microoperaciones de transferencia de registros que transfieren
informacin
binaria de un registro a otro.
2. Microoperaciones aritmticas que ejecutan operaciones aritmticas sobre
datos numricos almacenados en los registros.
3. Microoperaciones lgicas que ejecutan operaciones de manipulacin de bits
sobre datos no numricos almacenados en registros.
4. Microoperaciones de corrimiento que ejecutan operaciones de corrimiento
sobre los datos almacenados en los registros.
La microoperacin de transferencia de registros se analiz en la seccin
Este tipo de microoperacin no cambia el contenido de la informacin cuando
la informacin binaria pasa del registro fuente al registro destino. Los otros tres

tipos de microoperaciones cambian el contenido de la informacin durante la


transferencia. En esta seccin presentamos un conjunto de microoperaciones
aritmticas. En las dos siguientes secciones presentamos las microoperaciones
lgicas y de corrimiento.
Las microoperaciones aritmticas bsicas son suma, resta, incremento,
decremento y corrimiento. Los corrimientos aritmticos se explican ms tarde
junto con las microoperaciones de corrimiento. La microoperacin aritmtica
definida por el enunciado
R3 Rl + R2
especifica una microoperacin de suma. Declara que el contenido del registro
Rl se suma al contenido del registro R2 y que la suma se transfiere al registro
R3. Para implantar este enunciado con hardware necesitamos tres registros y el
componente digital que ejecuta la operacin de suma. Las otras
microoperaciones aritmticas bsicas se listan. La resta se lleva a cabo con
mayor frecuencia, mediante la complementacin y la suma. En lugar de usar el
operador menos, podemos especificar la resta mediante el siguiente
enunciado:
R3 Rl + R2 + 1
R2 es el smbolo para el complemento a 1 de R2. Sumar 1 al complemento a 1,
produce el complemento a 2. Sumar el contenido de Rl al complemento a 2 de
R2, es equivalente a Rl -R2.
Las microoperaciones de incremento y decremento se representan mediante
las operaciones ms-uno y menos-uno, respectivamente. Estas
microoperaciones se implantan con un circuito combinacinal o con un
contador binario descendente.
Las operaciones aritmticas de multiplicar y dividir. Estas dos son operaciones
aritmticas vlidas, pero no se incluyen en el conjunto bsico de
microoperaciones. El nico lugar donde estas operaciones pueden considerarse
como microoperaciones es en un sistema digital, donde se ejecutan mediante
un circuito combinatorio.
En tal caso, las seales que realizan estas operaciones se propagan por las
compuertas y el resultado de la operacin se puede transferir a un registro
destino mediante un pulso de reloj, tan pronto como la seal de salida se
propaga por el circuito combinatorio. En la mayora de las computadoras, la
operacin de multiplicacin se efecta con una secuencia de microoperaciones
de suma y de corrimiento. La divisin se ejecuta con una secuencia de
microoperaciones de resta y de corrimiento. Para especificar el hardware en un

caso as, se necesita una lista de enunciados que utilicen las microoperaciones
bsicas de suma, resta y corrimiento.

Вам также может понравиться