Circuitos Logicos 1

Está en la página 1de 31

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental de
La Fuerza Armada Nacional Bolivariana
Núcleo Guárico- Sede Tucupido
Ingeniería de Sistemas - Sección D5-1

REGISTROS CONTADORES Y UNIDAD DE MEMORIA.


LOGICA DE TRANSFERENCIA DE REGISTRO

Profesora: Integrantes:
Johanmy Brito Arvelaiz, Eduardo C.I: 19.709.183
Castillo, Luis C.I: 18.611.756
Álvarez, María Victoria C.I. 19.702.150

Enero, 2013
Índice:

Contenido Pág.

Introducción………………………………………………………………………3
Registro de Desplazamiento………………………………………………………4
Contadores asíncronos y síncronos……………………………………………….5
Secuencia de tiempo………………………………………………………………9
Unidad de memoria. Memoria de Acceso Aleatorio……………………………..12
Transferencia entre Registros…………………………………………………….14
Micro operaciones aritméticas, lógicas y de desplazamiento…………………… 17
Proposiciones condicionales de control………………………………………….22
Datos binarios de punto fijo……………………………………………………...23
Sobrecapacidad……………………………………………………………….…..24
Desplazamientos aritméticos……………………………………………………. 25
Datos decimales, Datos de punto flotante y Datos no numéricos…………….….26
Conclusión………………………………………………………………………..30
Bibliografía……………………………………………………………………….31

2
Introducción

Se pueden definir los registros como un circuito digital con dos funciones
básicas: almacenamiento de datos y movimiento de datos.  La capacidad de
almacenamiento de un registro le convierte en un dispositivo de memoria. Un registro
está formado por un grupo de biestables o flip-flops con una entrada de reloj común.
Los registros se utilizan frecuentemente para almacenar y desplazar datos binarios
Otro tipo simple de circuito secuencial son los contadores que normalmente se
construyen mediante dos o más biestables. Los contadores son circuitos que cambian
de estado en una secuencia prescrita según su señal de sincronismo.

Con estas definiciones se puede apreciar que los circuitos flip-flops y los
registros llevan a cabo una secuencia de tiempo para los procesos que se ejecutan, y
esto a su vez tiene una relación muy importante con la memoria y el proceso de
almacenamiento y transferencia de datos desde y hacia la misma. El siguiente trabajo
de investigación se encarga de realizar una síntesis acerca de los puntos más
importantes sobre el tema de los registros y contadores y la manera como se relaciona
con la unidad de memoria: los registros de desplazamiento, contadores asincrónicos
y sincrónicos, secuencias de tiempo y memoria de acceso aleatorio. Además la
transferencia de registros, microoperaciones aritméticas, lógicas y de desplazamiento,
proposiciones condicionales de control, entre otros puntos de importancia en los
sistemas secuenciales.

3
1. Registro de Desplazamiento

Los registros de desplazamiento son circuitos secuenciales sencillos,


compuestos por un conjunto de biestables que se conectan en serie, y una circuitería
adicional que controla los modos de cargar y acceder a los datos que almacenan. Su
principal función, en el seno de sistemas más complejos, es servir de almacenamiento
temporal de un conjunto de bits sobre los que se está realizando una tarea de
procesamiento. Existen cuatro combinaciones básicas que definen el tipo de registro
de desplazamiento:

1. entrada serie / salida serie


2. entrada serie / salida paralelo (ej: 74LS164)
3. entrada paralelo / salida serie (ej: 74LS165)
4. entrada paralelo / salida paralelo

Hay circuitos integrados específicos de cada uno de esos tipos, y otros que
mediante unas señales de control pueden cambiar su funcionamiento de un modo a
otro (Ej: 74LS195) o realizar los desplazamientos hacia la derecha o hacia la
izquierda (Ej: 74LS194). Las dos operaciones básicas que realiza un registro de
desplazamiento es la carga/almacenamiento de los datos y el desplazamiento de estos
a lo largo de los biestables que lo componen; la obtención de los datos correctos a la
salida del dispositivo depende de una cuidadosa sincronización de las señales de
control, de entrada y de salida.

Registro de desplazamiento con entrada serie / salida serie: sólo la entrada


del primer flip-flop y la salida del último son accesibles externamente. Se emplean
como líneas de retardo digitales y en tareas de sincronización.

4
Registro de desplazamiento con entrada serie / salida paralelo: son
accesibles las salidas de todos los flip-flops, pero sólo la entrada del primero. Este
tipo y el anterior se emplean para convertir datos serie en paralelo y viceversa, por
ejemplo para conexiones serie como el RS232.

Registro de desplazamiento con entrada paralelo / salida serie: son


accesibles las entradas de todos los flip-flops, pero sólo la salida del último.
Normalmente también existe una entrada serie, que sólo altera el contenido del primer
flip-flop, pudiendo funcionar como los del grupo anterior.

Registro de desplazamiento con entrada paralelo / salida paralelo: tanto las


entradas como las salidas son accesibles. Se usan para cálculos aritméticos.

2. Contadores asíncronos y síncronos

** Contadores asíncronos: En los contadores asíncronos la señal de reloj no se


aplica simultáneamente a todas las entradas de reloj de los biestables de los que está
compuesto, sino que algunas de las salidas Q de unos biestables sirven para actuar
sobre la señal de reloj de otros biestables. Esto hace que sean circuitos más sencillos
que los síncronos a costa de la velocidad y de que pueden presentar fenómenos
aleatorios.

5
En la siguiente figura podemos observar la conexión de cuatro FF tipo J-K
para formar un contador asíncrono de 4 BITS, comúnmente conocido como Contador
de Rizo de 4 BITS.

El funcionamiento de este circuito se basa en cuatro puntos importantes:

1. A Los pulsos de reloj sólo son aplicados a la entrada CP (Clock, reloj) del
primer Flip-Flop. Teniendo en cuenta que es un FF tipo "J-K", y que estas dos
entradas se encuentran en un nivel alto (Conectadas a V+), el FF realizará la
función de complemento o "Toggle", conmutando sus salidas con cada pulso
de la señal de reloj.

2. La salida del primer FF (Primer BIT) actúa como pulso de reloj para el
siguiente FF (Segundo BIT), y así sucesivamente hasta llegar al cuarto FF. De
esta manera se logra que un FF sólo pueda cambiar de estado cuando el
anterior le proporcione la transición correcta a su entrada.

3. Las salidas de los FF representan el número binario de 4 BITS, Obteniendo


del primer FF el LSB (Dígito menos significativo), y del último el MSB
(Dígito más significativo). Al comenzar la cuenta, teóricamente las salidas de
los FF deben estar en cero, esto nos da e número 0000, esto puede lograrse
con las entradas de "Restablecer" (RESET), las cuáles no son mostradas en el
diagrama.

6
4. Una vez que ha llegado el quinceavo pulso de entrada, el contador se
encontrará en la cuenta máxima para 4 BITS, es decir 1111, al llegar el
siguiente pulso, el contador volverá a la posición original de 0000, Esto
supone un ciclo completo del contador y se conoce como el "reciclado" de la
cuenta.

Este diseño de contador, es conocido como "Contador Asíncrono", debido a que


los cambios de estado en los FF son asíncronos con respecto a la señal de reloj, es
decir, no ocurren al mismo tiempo que cambia la señal de reloj. El único que obedece
directamente a los cambios de la señal de reloj es el primer FF.

 Cambio del primer FF = Señal de reloj


 Cambio del segundo FF = Primer FF + Señal de reloj
 Cambio del tercer FF = Segundo FF + Primer FF + Señal de reloj
 Cambio del cuarto FF = Tercer FF + Segundo FF + Primer FF + Señal de
reloj.

Esta configuración nos permite observar que se produce un retraso en la


propagación de la señal desde la entrada a la salida. Este tipo de contadores tiene un
límite en la frecuencia de reloj aplicada a su entrada, aunque los retrasos en los FF
modernos son muy pequeños (entre los 10 y los 40 nano-segundos), si se aplica a la
entrada una frecuencia muy alta, el contador no puede funcionar de manera correcta.

** Contador Síncrono: Como se vio en los contadores asíncronos, los contadores de


rizo no pueden ser utilizados para llevar cuentas precisas, cuando necesitamos la
mayor precisión posible, se deben utilizar los Contadores Síncronos o "Paralelos".

A diferencia de su contraparte el contador de rizo, el contador síncrono o


"Paralelo" lleva una conexión un tanto diferentes sobre los FF, esto puede aumentar
su complejidad, pero es la única manera de obtener el menor retraso posible para
operar de manera confiable y alcanzar mayores velocidades de conteo.

7
En los contadores paralelos, todos los FF cambian al mismo tiempo, lo que
reduce la propagación a un solo valor (el tiempo que tarda en cambiar de estado un
solo FF). La siguiente figura ilustra el circuito de un contador síncrono (Paralelo):

Al comparar el circuito síncrono y el asíncrono, podremos observar diferencias muy


marcadas:
1. En este circuito, todas las entradas de reloj (CP) están conectadas a un mismo
punto, logrando así que la señal de reloj sea la misma para todos los FF del
contador.
2. Únicamente el primer BIT (FF) tiene sus entradas "J-K" conectadas a V+, y
por consiguiente, será el único que se complemente (Toggle) libremente, los
demás dependen de una combinación en las salidas para poder
complementarse.

3. Es primordial el uso de otro tipo de circuitos digitales además de los FF, en


este caso, un par de compuertas AND, una de dos entradas y una de tres
entradas.

8
3. Secuencia de tiempo
La secuencia de las operaciones en un sistema digital se produce en la unidad
de control. La unidad de control que supervisa las operaciones en un sistema digital
consistirá normalmente en señales de tiempo que determinan la secuencia de tiempo
en la cual se ejecutan las operaciones. Las secuencias de tiempo en la unidad de
control pueden generarse fácilmente por medio de contadores o registros de
desplazamiento.

** Generación de un tiempo de palabra: la unidad de control en un computador en


serie debe generar una señal de tiempo de palabra que permanezca por un número de
pulsos iguales al número de bits en los registros de desplazamiento. La señal de
tiempo de palabra puede ser generada por medio de un contador que cuenta el número
requerido de pulsos.

Asúmase que una señal de tiempo de palabra que va a ser generada debe
permanecer por un periodo de ocho pulsos. Inicialmente un contador de 3 bits se
borra a 0. Una señal de comienzo pondrá a cero el flip-flop Q. la salida de este flip-
flop suministra el control de tiempo de palabra y también habilita el contador.
Después de una cuenta de ocho pulsos, el flip-flop se pone a cero y Q va a 0. El
diagrama de tiempo de la siguiente figura demuestra la operación del circuito:

Figura: generación de un control de tiempo de palabra para operaciones en serie.

9
La señal de comienzo se sincroniza con el reloj y permanece por un periodo
de un pulso de reloj. Después de que Q se ponga a 1, el contador comienza a contar
los pulsos de reloj. Cuando el contador alcanza la cuenta de 7 (binario 111), enviara
una señal de parada a la entrada de puesta a cero del flip-flop. La señal de parada se
convierte en 1 después de la transición por flanco negativo del pulso 7. El siguiente
pulso de reloj cambia el contador al estado 000 y también borra a Q. ahora el
contador se habilita y el tiempo de palabra permanece en 0.

** Señales de tiempo: en un modo paralelo de operación, un solo pulso de reloj


puede especificar el tiempo durante el cual puede ejecutar la operación. La unidad de
control en un sistema digital que operan en el modo en paralelo debe generar señales
de tiempo que permanecen por un solo periodo de pulso, pero estas señales de tiempo
deben distinguirse entre sí. Las señales de tiempo que controlan la secuencia de
operaciones en un sistema digital pueden ser generadas con un registro de
desplazamiento o un contador con un decodificador. Un contador de anillo es un
registro de desplazamiento circular con solo un flip-flop que se pone a uno en tiempo
particular y todos los demás se ponen a cero. El solo bit se desplaza de un flip-flop a
otro para producir la secuencia de señales de tiempo. La siguiente figura muestra un
registro de desplazamiento de 4 bits conectados a un contador de anillo:

Figura: Diagrama del Circuito

10
** Contador Johnson: un contador de anillo de k -bits circula un solo bit por los flip-
flops para suministrar k estados distinguibles. El número de estados pueden doblarse
si el registro de desplazamiento se conecta como un contador de anillo de final
conmutado (switch-tail ring counter). Un contador de anillo de final conmutado es un
registro de desplazamiento circular con la salida complementada del último flip-flop
conectado a la entrada del primer flip-flop.

La conexión circular se hace de la salida complementada del flip-flop del


extremo derecho a la entrada del flip-flop del extremo izquierdo. El registro desplaza
su contenido una vez a la derecha con cada pulso de reloj y al mismo tiempo, el valor
complementado del flip-flop E se transfiere al flip-flop A. Comenzando de un estado
de borrado, el contador de anillo de final conmutado pasa por una secuencia de ocho
estados

En general un contador de anillo de final conmutado de k bits pasara a través


de una secuencia de 2k estados. Comenzando en 0, cada operación de desplazamiento
inyecta unos por la izquierda hasta que el registro se llene de solo unos. En las
secuencias siguientes, se inyectan ceros por la izquierda hasta que el registro se llene
con 0.

Un contador Johnson es un contador de anillo de final conmutado de k bits con


2k compuertas decodificadoras para suministrar salidas para 2k de tiempo. Las
compuertas decodificadoras no se muestran en la tabla pero se especifican en su
última columna. Las ocho compuertas AND listadas en la tabla, una vez conectadas al
circuito, complementaran la construcción del contador Johnson. Como cada
compuerta se habilita durante una secuencia de estado particular, las salidas de las
compuertas generaran ocho secuencias de tiempo en cadencia.

11
4. Unidad de memoria. Memoria de Acceso Aleatorio
Una unidad de memoria es un conjunto de celdas de almacenamiento junto
con los circuitos asociados que se necesitan para meter y sacar la información del
almacenamiento. La memoria almacena información binaria en grupos de bits que se
denominan palabras. Una palabra en la memoria es una entidad de bits que se
introducen o sacan del almacenamiento como una unidad. Una palabra de memoria es
un grupo de números 1 y 0 que puede representar un número, un código de
instrucción, uno o más caracteres alfanuméricos o cualquier otra información en
código binario. Un grupo de ocho bits se denomina byte. La mayor parte de las
memorias de las computadoras utilizan palabras cuyo número de bits es un múltiplo
de 8, por lo tanto, una palabra de 16 bits contiene dos bytes, y una palabra de 32 bits
está formada de cuatro bytes.

La estructura interna de una unidad de memoria esta especificada por el


número de palabras que contiene y la cantidad de bits en cada palabra. Unas líneas
especiales de entrada, llamadas líneas de direccionamiento, seleccionan una palabra
partículas. A cada palabra en la memoria se le asigna un número de identificación,
llamado una dirección, que comienza en cero y continúa con 1, 2, 3, hasta 2 k – 1
donde k es la cantidad de líneas de dirección. Se selecciona una palabra específica en
la memoria, al aplicar la dirección binaria de k bits a las líneas de dirección.

Un decodificador dentro de la memoria acepta esta dirección y abre las


trayectorias necesarias para seleccionar los bits de la palabra especificada. Las
memorias de las computadoras pueden tener desde 1024 palabras, lo cual requiere
una dirección de 10 bits, hasta 232 palabras, donde se necesitan 32 bits de
direccionamiento. Se acostumbra denominar la cantidad de palabras (o bytes) de una
memoria con una letra K (kilo), M (mega) o G (giga). K es igual a 2 10, M es igual a
220 y G es igual a 230; por lo tanto 64 K es igual a 2 16, 2M es igual a 221 y 4G es igual a
232.

12
** Memoria de Acceso Aleatorio: en la memoria de acceso aleatorio (RAM), las
celdas de la memoria pueden accesarse para la transferencia de información en
cualquier posición aleatoria deseada. Esto es, el proceso de ubicar una palabra en la
memoria es igual y requiere la misma cantidad de tiempo, sin importar la ubicación
física de las celdas en la memoria: de ahí el nombre de “acceso aleatorio”.

La comunicación entre una memoria y su ambiente se logra mediante líneas


de entrada y salida de datos, líneas de selección de dirección y líneas de control que
especifican la dirección de la transferencia. Un diagrama de bloque de una unidad
RAM se muestra en la siguiente figura:

Figura: Diagrama de bloque de memoria de acceso aleatorio (RAM)

Las n líneas de entrada de datos proporcionan la información que se va a


almacenar en la memoria, y las n líneas de datos de salida proporcionan la
información que sale de la memoria. Las k líneas de direccionamiento proporcionan
un número binario de k bits que especifica una palabra particular elegida entre las 2k
palabras disponibles dentro de la memoria. Las dos entradas de control especifican la
dirección de transferencia que se desea. Las dos operaciones que puede ejecutar una
memoria de acceso aleatorio son la lectura y escritura. La señal de escritura especifica
una operación de transferencia de entrada. Y la señal de lectura especifica una
operación de transferencia de salida. Al aceptar una de estas señales de control, los
circuitos internos de la memoria proporcional la función deseada

13
5. Transferencia entre Registros.
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 de llama
un registro de direccionamiento de memoria y se designan las letras MAR por sus
siglas en inglés (memory address register).  Otros nombres para registros son PC
(contador de programa), IR (registro de instrucción) y Rl (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 siguiente figura muestra la representación de
registros en forma de diagrama de bloque.

Figura: Diagrama de bloque de un Registro.

La manera más común 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 numeración de bits en un registro de 16 bits
puede señalarse 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 0 al 7 reciben el
símbolo L (byte bajo) y los bits del 8 al 15 reciben el símbolo H (byte alto). El
nombre del registro de 16 bits es PC. El símbolo 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.

14
La transferencia de información de un registro a otro se representa en forma
simbólica mediante un operador de sustitución. El enunciado:

R2 ← R1

denota una transferencia del contenido del registro Rl al registro R2. Designa la
sustitución del contenido de R2 por el contenido de Rl. Por definición, el contenido
del registro fuente Rl no cambia después de la transferencia.

Un enunciado que especifica una transferencia de registro implica que están


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 sólo bajo una condición de control predeterminada. Esto puede
mostrarse mediante un enunciado si, entonces (if-then).

Si (P = 1) entonces (R2 ← Rl)

donde P es una señal de control que se genera en la sección de control. 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 ← Rl

La condición de control se termina con un signo de dos puntos. Representa la


necesidad de que la operación de transferencia sea ejecutada sólo por el hardware
si P = 1.

15
Cada enunciado escrito en notación 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.

Figura: Transferencia de Rl a R2 cuando P = 1

Las n salidas del registro Rl están 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 número real cuando se conozca el tamaño 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 temporización, P se activa en la sección de control
mediante el flanco ascendente de un pulso de reloj en el tiempo t. La siguiente
transición 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
transición de pulso de reloj mientras P permanece activa.

16
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 transición de flanco de reloj. Aunque la condición de control P se activa
inmediatamente después del tiempo t, la transferencia real no ocurre hasta que se
activa el registro mediante la siguiente transición positiva del reloj en el tiempo t + 1.

6. Microoperaciones aritméticas, lógicas y de desplazamiento.


Una microoperación es una operación 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 categorías:

a) Microoperaciones de transferencia de registros que transfieren


información  binaria de un registro a otro.

b) Microoperaciones aritméticas que ejecutan operaciones aritméticas sobre


datos numéricos almacenados en los registros.

c) Microoperaciones lógicas que ejecutan operaciones de manipulación de bits


sobre datos no numéricos almacenados en registros.

d) Microoperaciones de corrimiento que ejecutan operaciones de corrimiento


sobre los datos almacenados en los registros.

** Microoperaciones Aritméticas: Las microoperaciones aritméticas básicas son:


suma, resta, incremento, decremento y corrimiento. La microoperación aritmética
definida por el enunciado

R3 ← Rl + R2

Especifica una microoperación 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. 

17
Para implantar este enunciado con hardware necesitamos tres registros y el
componente digital que ejecuta la operación de suma. Las otras microoperaciones
aritméticas básicas se listan en la siguiente tabla:

Tabla: Microoperaciones aritmeticas

La resta se lleva a cabo con mayor frecuencia, mediante la complementación y


la suma. En lugar de usar el operador menos, podemos especificar la resta mediante el
siguiente enunciado:

R3 ← Rl + R 2 + 1

R 2 es el símbolo 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 más-uno y menos-uno, respectivamente. Estas microoperaciones se
implantan con un circuito combinacional o con un contador binario descendente.

Las operaciones aritméticas de multiplicar y dividir. Estas dos son operaciones


aritméticas válidas, pero no se incluyen en el conjunto básico de microoperaciones. El
único lugar donde estas operaciones pueden considerarse como microoperaciones es
en un sistema digital, donde se ejecutan mediante un circuito combinatorio.

18
En la mayoría de las computadoras, la operación de multiplicación se efectúa
con una secuencia de microoperaciones de suma y de corrimiento. La división 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 básicas de suma, resta y corrimiento.

**Microoperaciones Lógicas: 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 corno variables binarias. Por
ejemplo, la microoperación OR-exclusiva con el contenido de dos registros Rl y R2
se representa mediante el enunciado

P: R1 ← R1 ⨁ R2

Específica que se va a ejecutar una microoperación lógica en los bits


individuales de los registros, siempre que la variable de control P = 1. Como un
ejemplo numérico considere que cada registro tiene 4 bits. Sea el contenido de Rl
1010 y el contenido de R2 1100. La microoperación OR-exclusiva mencionada antes
representa la operación lógica:

El contenido de Rl, después de la ejecución de la microoperación, es igual a la


operación OR-exclusiva bit a bit sobre pares de bits en R2 y valores previos de Rl.
Las microoperaciones lógicas se usan rara vez en cómputos científicos, pero son muy
útiles para manipulación de bits de datos binarios y para tomar decisiones lógicas. Se
adoptarán símbolos especiales para las microoperaciones lógicas OR, AND y
complementar, para diferenciarlas de los símbolos correspondientes que se utilizan
para expresar funciones booleanas. Se usará el símbolo ∨ para denotar una
microoperación OR y el símbolo ∧ para denotar una microoperación AND.

19
La microoperación complementar es la misma que el complemento a 1 y
utiliza una barra en la parte superior del símbolo que denota el nombre del registro.
Al usar símbolos diferentes, será posible diferenciar una operación lógica y una
función de control (o booleana). Otra razón para adoptar dos conjuntos de símbolos
es la posibilidad de distinguir el símbolo + , cuando se usa para representar un más
aritmético, de una operación OR lógica. Aunque el símbolo + tiene dos significados,
será posible distinguirlos al identificar dónde ocurre el símbolo. Cuando aparezca en
una microoperación significará un más aritmético. Cuando ocurra en una función de
control (o booleana), denotará una operación OR. Nunca se usara para representar
una microoperación OR. Por ejemplo, en el enunciado:

P + Q: R1 ← R2 + R3, R4 ← R5 ∨ R6

el símbolo + entre P y Q es una operación OR entre dos variables binarias de una


función de control. El símbolo + entre R2 y R3 específica una microoperación de
suma. La microoperación OR está representada por el símbolo ∨ entre los
registros R5 y R6.

** Microoperaciones de desplazamiento o corrimiento: Las microoperaciones de


corrimiento se usan para la transferencia serial de datos. También se utilizan junto
con operaciones aritméticas, lógicas y de procesamiento de datos. El contenido de un
registro puede correrse a la izquierda o a la derecha. Al mismo tiempo que se recorren
los bits, el primer flip-flop recibe su información binaria de la entrada serial. Durante
una operación de corrimiento a la izquierda la entrada serial recorre un bit a la
posición de la extrema derecha. Durante una operación de corrimiento a la derecha la
entrada serial transfiere un bit a la posición de la extrema izquierda. La información
transferida mediante la entrada serial determina el tipo de corrimiento. Existen tres
tipos de corrimientos: lógico, circular y aritmético.

20
Un corrimiento lógico es aquel que transfiere un 0 por la entrada serial. Se adoptaran
los símbolos por sus siglas en inglés, shl y shr para las microoperaciones de
corrimiento lógico a la izquierda y corrimiento lógico a la derecha. Por ejemplo:

Rl ← shl Rl
R2 ← shr R2

son dos operaciones que especifican un corrimiento de un bit a la izquierda del


contenido del registro Rl y un corrimiento de un bit a la derecha del contenido del
registro R2. El símbolo de registro debe ser igual en ambos lados de la flecha. El bit
transferido a la posición extrema por la entrada serial se considera que es 0 durante un
corrimiento lógico.

El corrimiento circular (también conocido como operación de rotación) 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. Se
Utilizaran los símbolos cil y cir para el corrimiento circular a la izquierda y para el
corrimiento circular a la derecha, respectivamente. La notación simbólica para las
microoperaciones de corrimiento se muestra en la siguiente tabla:

Tabla: Microoperaciones de desplazamiento

21
Un corrimiento aritmético es una microoperación que 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. Los corrimientos aritméticos deben dejar el bit
del signo sin modificaciones porque el signo del número sigue siendo el mismo
cuando se multiplica o divide por 2. El bit de la extrema izquierda en el registro
contiene 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 de complemento a 2.

7. Proposiciones condicionales de control.


Es conveniente algunas veces especificar una condición de control por medio
de una proposición condicional en vez de una función de control de Boole. Una
proposición de control condicional se simboliza por medio de una proposición de si-
entonces-por tanto de la siguiente manera:

P: si (condición) entonces [Microoperación(es)]
Por tanto [Microoperación(es)]

La proposición se interpreta dé manera que si la condición de control,


establecida entre paréntesis después de la palabra sí, es verdadera, entonces se ejecuta
la Microoperación (o microoperaciones) encerrada entre paréntesis después de la
palabra entonces. Si la condición no es verdadera, se ejecuta la microoperación
listada después de la palabra por tanto. Si la parte de por tanto falta, entonces si la
condición no es verdadera no se ejecuta nada.

La proposición de control condicional es más una conveniencia que una


necesidad. Esta habilita la escritura de proposiciones más claras que son más fáciles
de interpretar por la gente. Puede ser reescrita por una proposición convencional sin
la forma si-entonces-por tanto.

22
8. Datos binarios de punto fijo.

La información binaria encontrada en los registros representa datos o


información de control. Los datos son operandos y otros elementos discretos de
información con los cuales se opera para lograr los resultados requeridos. La
información de control es un bit o grupo de bits que especifican las operaciones que
se van a ejecutar. Una unidad de información de control almacenada en los registros
de computador digital se llama instrucción y es un código binario que especifica las
operaciones que se van a realizar con los datos acumulados.

** Representación del signo y el punto radical: Un registro con n flip-flops puede


almacenar un número binario de n bits; cada flip-flop representa un dígito binario.
Este representa la magnitud del número pero no da información acerca de su signo o
la posición del punto binario. El signo se necesita para operaciones aritméticas ya que
representa cuando el número es positivo o negativo. La posición del punto decimal es
necesaria para representar enteros, fracciones o números enteros y fraccionarios
mezclados

** Números binarios con signos: cuando un número binario de punto fijo es


positivo, el signo se representa como 0 y la magnitud por un número binario positivo.
Cuando el número es negativo, el signo se representa por un 1 y el resto del número
puede ser representado por cualquiera de las tres maneras siguientes. Estas son:

a) Signo-magnitud.
b) Signo-complemento de 1
c) Signo-complemento de 2

** Suma aritmética: La razón para usar la representación de signo-complemento


para los números negativos se hará aparente una vez se consideren los diferentes
pasos para formar la suma de dos números con signo. La representación de signo-
magnitud es la que más se usa en los cálculos cotidianos.

23
** Sustracción aritmética: La sustracción de dos números binarios con signo,
cuando los números negativos están en la forma de complemento de 2, es muy simple
y puede exponerse como sigue: obténgase el complemento de 2 del sustraendo
(incluyendo el signo de bit) y súmese al minuendo (incluyendo el bit del signo). Este
procedimiento hace uso del hecho de que una operación de resta puede cambiarse a
una operación de suma si el signo del sustraendo se cambia.

9. Sobrecapacidad.
Cuando dos números con n dígitos cada uno se suman y la suma ocupa n + 1
dígitos, se dice que hay un desbordamiento por sobrecapacidad. Esto es verdadero
para los números binarios o números decimales con o sin signo. Cuando se hace una
suma con lápiz y papel, una sobrecapacidad no es un problema ya que no hay
limitaciones por el ancho de la página para escribir la suma. Una sobrecapacidad es
un problema en un computador digital ya que las longitudes de todos los registros,
incluyendo todos los registros de memoria son de longitud finita. Un resultado de n +
1 bits no puede acomodarse en un registro de longitud normalizada n. Por esta razón,
muchos computadores comprueban la ocurrencia de la sobrecapacidad y cuando esto
ocurre, ponen a 1 el flip-flop de sobrecapacidad para que el usuario verifique.

Una sobrecapacidad no puede ocurrir después de una suma si un número es


positivo y el otro es negativo ya que agregando un número positivo a un número
negativo produce un resultado (positivo o negativo), el cual es menor que el mayor de
los dos números originales. Una sobrecapacidad puede ocurrir si los dos números se
suman y ambos son positivos o ambos negativos. Cuando se suman dos números
representados en signo-magnitud, se puede detectar fácilmente una sobrecapacidad
por el arrastre o el número de bits. Cuando se suman dos números representados en
signo complemento de 2, el bit signo se trata como parte del número pero no
necesariamente indica una sobrecapacidad.

24
El algoritmo para sumar dos números representados por signo-complemento
de 2, produce un resultado incorrecto cuando sucede una sobrecapacidad. Esto debido
a que una sobrecapacidad de los bits del número cambia siempre el signo del
resultado y se causa una respuesta errónea de n bits. Si el arrastre que se emana de la
posición del bit del signo se toma como del signo del resultado entonces la respuesta
será correcta.

10. Desplazamientos aritméticos.


Un desplazamiento aritmético es una microoperación que mueve un número
binario con signo a la izquierda o a la derecha. Un movimiento aritmético a la
izquierda multiplica un número binario con signo por 2. Un movimiento aritmético a
la izquierda divide el número por 2. Los desplazamientos aritméticos deben dejar el
signo sin cambio alguno ya que el signo del número permanece igual cuando se
multiplica o divide por 2. El bit de la extrema izquierda de un registro almacena el bit
del signo y los bits restantes almacenan el número. La siguiente figura muestra un
registro de n bits.

Figura: Registro que define A para desplazamientos aritméticos

El bit An de la extrema izquierda mantiene el bit del signo y se designa como A(S).
Los bits del número se almacenan en la parte del registro designada por A(N). A1 se
refiere al bit menos significativo, An - 1, se refiere a la posición más significativa de los
bits del número, y A se refiere al registro entero. Los números binarios de punto fijo
pueden ser representados de tres maneras diferentes. La manera de desplazar el
número almacenado en un registro es diferente para cada representación

25
11. Datos decimales, Datos de punto flotante y Datos no numéricos.

** Datos Decimales: La representación de números decimales en los registros es una


función del código binario usado para representar un digito decimal. Un código
decimal de cuatro bits, por ejemplo, requiere 4 flip-flops para cada digito decimal. Al
representar los números en decimal, se desperdicia una cantidad considerable de
espacio de almacenamiento ya que el número de flip-flops necesarios para almacenar
un número decimal en código binario es mayor que para representación binaria
equivalente.

Hay 3 maneras de representar números decimales negativos de punto fijo.


Estas son similares a las representaciones de un número binario negativo, excepto por
el cambio del radical:

1. Signo-magnitud
2. Signo-complemento de 9
3. Signo-complemento de 10

Un número decimal positivo se representa por un 0 seguido por la magnitud


del número para las tres representaciones. Es con respecto a los números negativos
que difieren las representaciones. El signo de un número negativo se representa por
un 1 y la magnitud del número es positiva en la representación de signo-magnitud. En
las otras dos representaciones la magnitud se representa por el complemento de 9 y de
10. Es costumbre representar un más con cuatro ceros y un menos con el equivalente
BDC de 9; en esta forma todos los procedimientos desarrollados por los números de
signo-complementos de 2 se aplican también a los números de signo-complemento de
10. Las operaciones aritméticas decimales pueden usar los mismos símbolos que las
operaciones binarias siempre y cuando la base de los números se entienda cómo 10 en
vez de 2.

26
Los desplazamientos aritméticos son aplicables también a los números
decimales excepto que un desplazamiento a la izquierda corresponde a la
multiplicación por 10 y un desplazamiento a la derecha a una división por diez. El
signo-complemento de 9 es similar al signo-complemento de 1 y la representación de
signo-magnitud en ambas representaciones de radicales tienen procedimientos
aritméticos similares.

** Datos del punto-flotante: La representación del punto flotante de los números


necesita dos registros el primero representa un número con signo de punto fijo y el
segundo la posición del punto del radical. Ejemplo, la representación del número
decimal +6132.789 es de la siguiente manera:

El primer registro tiene un 0 en la posición del flip-flop más significativo para


denotar un más. La magnitud del número se almacena en un código binario de 28
flip-flops, con cada digito decimal ocupando 4 flip-flops. El número en el primer
registro se considera una fracción, de manera que el punto decimal en el primer
registro se fija a la izquierda del bit más significativo. El segundo registro contiene el
número decimal 4 para indicar que la posición actual del punto decimal es 4
posiciones decimales a la izquierda.

Otra disposición usada para el exponente es quitar del todo su bit de signos y
considerar el exponente como polarizado. Un número binario de punto flotante se
representa de manera similar con dos registros, uno para almacenar el coeficiente y el
otro para el exponente.

27
Ejemplo el número más 1001.110 puede representarse de la siguiente manera.

El registro del coeficiente tiene 10 flip-flops: uno para el signo y 9 para la


magnitud. Asumiendo que el coeficiente es una fracción de punto fijo, el punto
binario actual es cuatro posiciones a la derecha, el exponente tiene el valor binario de
+4. El punto decimal se interpreta en la representación de un número de la siguiente
manera:

c * re

donde c representa el contenido del registro del coeficiente y e el contenido del


registro exponente. El radical (base) r y la posición del punto flotante se asumen
siempre. El radical r posee la magnitud de la base del sistema numérico a usar. Por
ejemplo r=2 para el binario, r=8 para el octal, etc.

Un número binario de punto flotante se representa de manera similar con dos


registros, uno para almacenar el coeficiente y el otro para el exponente. El registro del
coeficiente tiene 9 flip-flops para la magnitud y un flip-flop para el signo. Un número
octal se representa con cuatro flip-flops para la magnitud y uno para el signo, el
registro exponente tiene dos flip-flops para la magnitud del exponente y uno para el
signo.

** Datos no numéricos: La mayoría de los programas escritos para los usuarios


están en forma de caracteres, la computadora es capaz de aceptar caracteres (en
código binario), almacenarlos en la memoria y realizar operaciones. Los caracteres se
representan en los registros de la computadora por medio del código binario.

28
Cada componente del código representa un carácter y consiste de seis, siete u
ocho bits dependiendo del código. El número de caracteres que pueden almacenarse
en un registro depende de la longitud del registro y del número de bits usados en el
código. Las cadenas de caracteres se almacenan en la memoria en lugares
consecutivos. El primer carácter de la cadena puede ser especificado a partir de la
dirección de la primera palabra. El último carácter de la cadena puede encontrarse a
partir de la dirección de la última palabra.

Un código binario puede adoptarse para representar diferentes símbolos y así


ser almacenados dentro de la memoria. Una de las operaciones hechas en datos
numéricos es la de transferencia, en esta se puede preparar la información binaria
codificada en algún orden requerido por la memoria. Las operaciones de lógica y de
desplazamiento en datos numéricos ayudan en el proceso de toma de decisiones. Las
operaciones lógicas pueden cambiar valores de bits, eliminando un grupo de bits, o
adicionar otros valores de bits en los registros.

La operación OR puede ser utilizada para poner a uno un bit o un grupo


seleccionado de bits en un registro.

La operación AND puede ser usada para borrar un bit o un grupo seleccionado
de bits de un registro.

La operación AND seguida de una operación OR puede usarse para cambiar


un bit de un grupo de bits de un valor dado a un nuevo valor deseado. Esto se hace
para enmascarar primero los bits y luego aplicar a una compuerta OR el nuevo valor.
La operación de máscara es la operación AND y la operación de inserción es la
microoperación OR. La microoperación XOR puede usarse para complementar un bit
o un grupo de bits seleccionados de un registro.

29
Conclusión:

Se puede concluir que un sistema secuencial comprende una interconexión de


módulos que realizan el procesamiento de una información específica. Dichos
módulos se construyen a partir de funciones digitales elementales como
decodificadores, multiplexores, elementos aritméticos, flip-flops y registros. El
comportamiento de un circuito secuencial se determina mediante las entradas, las
salidas y los estados de sus flip-flops. Tanto las salidas como el estado siguiente son
función de las entradas y del estado presente.

Cada módulo digital se define por medio de los registros que contiene y de las
operaciones que realiza en los datos almacenados en ellos. A la operación ejecutada
sobre los datos se le denomina microoperación y es realizada durante un pulso de
reloj.  Las microoperaciones especifican las operaciones que se realizaran con los
datos contenidos en los registros, y se pueden clasificarse en cuatro categorías: Las
microoperaciones de transferencia entre registros; que no cambian el contenido de la
información cuando la información binaria se mueve de un registro a otro. Las
microoperaciones aritméticas; que realizan aritmética con los números almacenados
en los registros. Las microoperaciones lógicas; que realizan operaciones tales como
AND y OR con el par de bits individuales almacenados en los registros y Las
microoperaciones de desplazamiento, la cuales especifican operaciones para los
registros de desplazamiento.

30
Bibliografía

Contadores Asíncronos. (Página Web) Foros de Electrónica. (Sin Fecha). (Página


Web en Línea) Disponible: http://www.forosdeelectronica.com/tutoriales/contadores-
asincronos.htm. (Consulta: 2013/01/23)

Contadores Síncronos. (Página Web) Foros de Electrónica. (Sin Fecha). (Página Web
en Línea) Disponible: http://www.forosdeelectronica.com/tutoriales/contadores-
sincronos.htm (Consulta: 2013/01/23)

Mano Morris, M. (1982). Lógica Digital y Diseño de Computadores. Primera


Edición. México. Editorial Prentice Hall

Mano Morris, M. (1994). Arquitectura de Computadores. Tercera Edición. México.


Editorial Prentice Hall.

Salustio (Sin Fecha). Transferencia entre registros. (Documento en Línea). El rincón


del Vago. Disponible: http://html.rincondelvago.com/transferencia-entre-registros.ht
ml. (Consulta: 2013/01/24)

Zapata, Juan (02/11/2008). Registros de Desplazamiento. (Documento en Línea).


Página Web de Juan Zapata. Disponible: http://wsdetcp.upct.es/personal/jzapata/label
ec08.pdf (Consulta: 2013/01/23)

31

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy