Sunteți pe pagina 1din 192

5-2 tecnologas de implementacin / programables 307

k entradas norte salidas


k
(direccin) 2 xn ROM (datos)

(un)

0
y 1 X X X X

o
0
2
y
o
1 3
.
5-a-32
y
o
2 descifra .
dor .
y
o
3 28
y 29

4
30
31

UN UN
7 UN6 UN5 UN4 UN3 UN2 UN1 0
1 0 0 1 0 0 1 1
(segundo)

Figura 5-7
Diagrama de bloques y la lgica interna de una ROM

Cada salida del decodificador representa una direccin de memoria. Las 32 salidas se
con-CONECTADOS a travs de conexiones programable para cada una de las ocho
puertas OR. El dia-gramo utiliza la convencin de matriz lgica utilizada en circuitos
complejos. (Vase la Figura 5-5.) Cada puerta O debe ser considerado como que tiene 32
entradas. Cada salida del decodificador es con-CONECTADOS por una tecnologa de
programacin a una de las entradas de cada puerta OR. El ROM en la figura 5-7 (b) est
programado con la palabra 10010011 en direccin de memoria 1. Puesto que cada puerta
OR tiene 32 conexiones programables internos, y puesto que hay ocho puertas O, la
memoria ROM contiene 32* 8 =256 conexiones programables. En general, un 2k*n ROM
tendr un decodificador y n puertas OR interna k-a-2k lnea. Cada puerta OR tiene 2k
entradas, que estn conectados a travs de programables CONNEC-ciones a cada una de
las salidas del decodificador.

Dependiendo de la tecnologa de programacin y enfoques, de slo lectura de la


nota-Ries tienen diferentes nombres:
1. ROM mscara programada,
2. PROM-fusible o fusibles anti-programada,
3. puerta flotante EPROM borrable programada,
308 CAPTULO 5 / Digital implementacin de hardware

4. EEPROM o E2 PROM borrable elctricamente puerta flotante programada, y


5. puerta flotante de memoria FLASH-borrable elctricamente con mltiples modos
de borrado y programacin.
La eleccin de la tecnologa de programacin depende de muchos factores, incluyendo el
num-ber de ROM idnticos a producirse, la permanencia deseado de la programacin, el
deseo de reprogramacin, y el rendimiento deseado en trminos de retardo.
programacin ROM normalmente utiliza el software de programacin que asla al
usuario de los detalles. Una ROM de los programas de las tiendas de informtica, en cuyo
caso el cdigo binario producido por las herramientas de programacin habituales, tales
como compiladores y ensambladores se coloca en la ROM. De lo contrario, se puede
programar mediante herramientas que aceptan entrada, tales como tablas de verdad,
ecuaciones booleanas, y lenguajes de descripcin hardware. Se puede tambin, como en
el caso de la memoria FLASH, aceptar patrones binarios que representan, por ejemplo, las
fotografas tomadas con una cmara digital. En todos estos casos, la entrada se transforma
en un patrn de OPEN y conexiones a las puertas OR necesarios por la tecnologa de
programacin CERRADO.

Matriz Lgica Programable


La matriz de lgica programable (PLA) es similar en concepto a la ROM, excepto que el
PLA no proporciona decodificacin completa de las variables y no genera todos los
trminos mnimos. El decodificador se sustituye por una serie de puertas Y que pueden
ser pro-programada para generar trminos producto de las variables de entrada. Los
trminos producto se conectan selectivamente a puertas OR para proporcionar la suma de
los productos para las funciones booleanas requeridas.

La lgica interna de un PLA con tres entradas y dos salidas se muestra en la Figura
5-8. Tal circuito es demasiado pequeo para ser rentable pero se presenta aqu para
demostrar la configuracin de la lgica tpica de un PLA. El diagrama utiliza los
smbolos grficos matriz lgica para circuitos complejos. Cada entrada pasa a travs de
un tampn y un inversor, representado en el diagrama por un smbolo grficos compuesto
que tiene tanto la verdadera y las salidas del complemento. conexiones programables
ejecutan desde cada entrada y su complemento a las entradas de cada puerta AND, como
se indica por las interrelaciones secciones entre las lneas verticales y horizontales. Las
salidas de las puertas Y tienen conexiones programables a las entradas de cada puerta
OR. La salida de la puerta O va a una puerta XOR, donde la otra entrada se puede
programar para recibir una seal igual a ya sea lgica 1 o 0 lgico.=X). La salida no
cambia cuando la entrada XOR est conectada a 0 (dado que X 0=X). Las funciones
booleanas particulares imple-mentados en el PLA de la figura son

F1 = AB + C.A. + ABC F2

= C.A. + antes de Cristo


El trmino producto se determina por las conexiones cerradas desde la entrada o sus
complementos a las puertas AND. La salida de una puerta O da la suma lgica de los
trminos de productos seleccionados como se determina por las conexiones CERRADO
5-2 tecnologas de implementacin / programables 309

UN

segundo

do

X X 1 X AB

X X 2 XX C.A. X
Cerrado
Abiert
o
antes de
X X 3 X Cristo

X X X 4 X ABC
cama
y Automv
desa il club
CC yuno britnico X 0
X 1
F1

F2

Figura 5-8
PLA de tres entradas, cuatro trminos de producto, y dos salidas

desde la puerta AND salidas a las entradas de la puerta OR. La salida puede ser comple-
mentado o hacia la izquierda en su verdadera forma, dependiendo de la programacin de
la conexin asociada con la puerta XOR. Debido a esta estructura, el EPL implementa de
suma de productos o funciones complementados de suma de productos. trminos de
producto pueden ser compartidos entre las funciones, ya que la misma puerta Y se puede
conectar a mltiples puertas OR.

El tamao de un PLA es especificado por el nmero de entradas, el nmero de


trminos de producto, y el nmero de salidas. Para n entradas, trminos k de productos, y
m salidas, la lgica interna de la PLA consta de n puertas buffer-inversor, K y puertas, M
o puertas, y portones m XOR. Hay 2n* k conexiones programables entre las entradas y la
Y matriz, k * m conexiones programables entre el AND y OR arrays, ym conexiones
programables asociados con las puertas XOR.
La informacin necesaria para programar un PLA son las conexiones cerradas
desde entradas verdaderos o complementados, las conexiones cerradas entre las puertas Y
y OR, y si o no la forma de suma de productos se invierte o no. Al igual que con la ROM,
una variedad de formularios de entrada puede ser aceptable para las herramientas que
generan esta informacin. Aqu nos centramos en la implementacin de la lgica, por lo
que consideramos slo las ecuaciones invertidas o no invertidas de suma de productos
como la entrada del usuario.
310 CAPTULO 5 / Digital implementacin de hardware

Combinacional circuito de implementacin usando un plaUna cuidadosa


investigacin debe ser
emprendido con el fin de reducir el nmero de trminos de productos distintos, de modo
que el tamao de la PLA puede ser minimizado. Menos trminos de productos se pueden
lograr mediante la simplificacin de la funcin booleana a un nmero mnimo de
trminos. El nmero de literales en un trmino es menos importante, ya que todas las
variables de entrada estn disponibles para cada trmino de todos modos. Es una buena
idea, sin embargo, para evitar literales adicionales, ya que estos pueden causar problemas
en el circuito de pruebas y pueden reducir la velocidad del circuito. Un factor importante
en la obtencin de un nmero mnimo de trminos de producto es la puesta en comn de
los trminos entre las salidas. Tanto los verdaderos y complementar las formas de cada
funcin deben simplificarse para ver cul puede ser expresado con menos trminos de
productos y que uno proporciona trminos de productos que son comunes a otras
funciones. Por lo tanto, en trminos de preparacin ecuaciones para ser implementado en
un PLA, Mltiples salidas, la optimizacin de la funcin de dos niveles es el enfoque sea
necesario y, a menudo incorporado en el software de diseo de PLA. Si bien no hemos
cubierto este proceso formalmente, informalmente podemos ilustrarlo mediante el uso de
K-mapas. Este proceso se ilustra en el Ejemplo 5-1.

Ejemplo 5-1 implementacin de un circuito combinatorio utilizando una PLA


Poner en prctica las siguientes dos funciones booleanas con un PLA:
F1(A B C)= metro(3, 5, 6, 7)
F2(A B C)= metro(1, 2, 3, 7)
En Figure5-9, utilizando K-mapas, la optimizacin de una sola salida de dos
niveles se aplica a las funciones F1 y F2 con los implicantes primos resultantes utilizaron
aparece en negro. Las ecuaciones resultantes aparecen directamente debajo de los dos
mapas. Producto trmino BC puede ser compartido entre las dos funciones, por lo que se
requiere un total de cinco trminos de productos. Al tener en cuenta el complemento de
F1 y la verdadera forma de F2, se descubre que hay dos implicantes no primos, que se
muestran como cuadrados azules, que se pueden utilizar en ambos FUNC-ciones. Las
soluciones que comparten estos trminos se dan en la siguiente lnea debajo de los mapas.
Utilizando los implicantes en azul, la solucin obtenida es:
F1 = A B C + A B C + antes de Cristo
F2 = A B C + A B C + antes de Cristo

s
e
g
ante u ante
s de n s de
Crist d Crist segun
F1 o o F2 o do
00 01 11 10 U 00 01 11 10
UN N
0 0 0 1 0 0 0 1 1 1
U 1 UN 1
N 0 1 1 1 0 0 1 0

do do
F1 AB AC BC F2 AB AC AC
F1 ABC ABC BC F2 ABC ABC BC
Figura 5-9
K-Maps y expresiones para el ejemplo 5-1 PLA
5-2 tecnologas de implementacin / programables 311

Debido a la barra sobre todo de F1, un 1 se debe aplicar a la entrada de control de la


salida de la puerta XOR. Esta solucin requiere slo cuatro puertas AND. Se requiere
tanto el uso de una inversin de salida y salida mltiple, la optimizacin de dos niveles
para lograr esta solucin de costo mnimo. Los dos implicantes que se comparten hara
resultado nor-malmente del proceso de generacin de implicantes primos para la
optimizacin de mltiples salidas.

Dispositivos lgicos programables de matriz


El dispositivo lgico programable array (PAL) es un PLD con una o matriz fija y una
programable y matriz. Debido a que slo las puertas Y son programables y no puede ser
compartida por mltiples funciones, el diseo para el dispositivo de PAL es ms fcil,
pero no es tan flexible que el de la PLA. Figura 5-10 presenta la configuracin de la
lgica de un dispositivo de matriz lgica programable typi-cal. El dispositivo particular
mostrado tiene cuatro entradas y cuatro salidas. Cada entrada tiene una puerta de buffer-
inversor, y cada salida es generada por un fija o puerta. El dispositivo tiene cuatro
secciones, cada una compuesta de un tres de ancho y-OR matriz, lo que significa que hay
tres programable y puertas en cada seccin. Cada puerta Y tiene diez conexiones de
entrada programables, indicados en el diagrama por diez lneas verticales de interseccin
de cada lnea horizontal. La lnea horizontal simboliza la configuracin de mltiples
entradas de una puerta AND. Uno de los resultados que se muestran est conectado a una
puerta de buffer-inversor y luego se aliment de nuevo en las entradas de las puertas
AND a travs de conexiones programadas. Esto se suele hacer con todos los dispositivos
fuera pone. Dado que el nmero de trminos Y no es grande, estas rutas permiten la
salida de un PAL AND-OR circuito a utilizar como entradas a otra PAL AND-OR
circuitos. Este pro-porciona la capacidad de implementar una variedad limitada de
circuitos de nivel mltiple, que entre otras ventajas aumenta el nmero de puertas AND
disponible para una funcin dada. estos caminos permiten la salida de un PAL AND-OR
circuito a utilizar como entradas a otra PAL AND-OR circuitos. Este pro-porciona la
capacidad de implementar una variedad limitada de circuitos de nivel mltiple, que entre
otras ventajas aumenta el nmero de puertas AND disponible para una funcin dada.
estos caminos permiten la salida de un PAL AND-OR circuito a utilizar como entradas a
otra PAL AND-OR circuitos. Este pro-porciona la capacidad de implementar una
variedad limitada de circuitos de nivel mltiple, que entre otras ventajas aumenta el
nmero de puertas AND disponible para una funcin dada.

dispositivos PAL comerciales contienen ms puertas que la que se muestra en la


figura 5-10. Un circuito integrado pequeo PAL puede tener hasta ocho entradas, ocho
salidas, y ocho secciones, cada una consistente en una de ocho de ancho y-OR matriz.
Cada salida dispositivo PAL es accionado por un tampn de tres estados y tambin sirve
como una entrada. Estas entradas / salidas pueden ser programadas para ser solamente
una entrada, solamente una salida, o bidireccional con una seal de variable de conducir
la memoria intermedia de tres estados seal de habilitacin. Flip-flop se incluyen a
menudo en un dispositivo PAL entre la matriz y la memoria intermedia de tres estados en
las salidas. Puesto que cada salida es realimentada como una entrada a travs de una
puerta de buffer-inversor en el Y array programado, un circuito secuencial puede ser
implementado fcilmente.

Combinacional circuito de puesta en prctica con un dispositivo paLEn el


diseo de una PAL
dispositivo, debido a la incapacidad para compartir y puertas dentro de un circuito bsico,
de una sola salida, se aplica la optimizacin de dos niveles. Pero debido a las conexiones
desde fuera pone a las entradas, las funciones de varios niveles son fciles de
implementar, la optimizacin de mltiples niveles tan limitado y el intercambio de
formas de suma de productos y el complemento de las formas de suma de productos se
aplica tambin. A diferencia de la disposicin en el PLA, un trmino producto no puede
ser compartido entre dos o ms puertas OR. ejecucin Manual de optimizacin para un
dispositivo PAL se ilustra en el Ejemplo 5-2.
312 CAPTULO 5 / Digital implementacin de hardware

Product Y entradas puertas


o AABBCCDD WW
trmino
1X X X

2 X XX X W

3 X
U
N

4X

5 X X X X

6 X
se Todo Cerrada
gu
nd
o
(Siempre 0)
7 XX

8 X X Y

9 X X
do

10 X

11 X X X Z

12 X X XX
X Cerrado
re
Abierto
AABBCCDD WW

Figura 5-10
Estructura de dispositivos PAL con Mapa de conexin para
Dispositivo PAL para el Ejemplo 5-2

Ejemplo 5-2 implementacin de un circuito combinatorio utilizando una PAL


Como un ejemplo de un dispositivo PAL incorporado en el diseo de un combinacional
cir-cuit, considere las siguientes funciones booleanas, dadas en forma de suma de
trminos producto:
W(A B C D)= metro(2, 12, 13)
X(A B C D)= metro(7, 8, 9, 10, 11, 12, 13, 14, 15)
Y(A B C D)= metro(0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15)
Z(A B C D)= metro(1, 2, 8, 12, 13)
La simplificacin de las cuatro funciones a un nmero mnimo de trminos resultados en
las funciones booleanas seguimiento-cin:
W=ABC+ABCD
X = UN + BCD
5-2 tecnologas de implementacin / programables 313

Y = AB + discos compactos + BD
Z = A B C + A B C D + ACD + A B C D =
W + ACD + A B C D
Tenga en cuenta que las ecuaciones de los cuatro son el resultado de la optimizacin de
dos niveles. Pero la funcin de Z tiene cuatro trminos de productos. La suma lgica de
dos de estos trminos es igual a W. Por lo tanto, mediante el uso de W, es posible reducir
el nmero de trminos para Z de cuatro a tres, de modo que las ecuaciones anteriores
pueden encajar en el dispositivo de PAL en la Figura 5- 10. Incluso si W no estaban
presentes como una salida, la estructura del dispositivo PAL permitira que el factor W
que ser diseado y utilizado para implementar Z. En este caso, sin embargo, la salida en
W no sera til para implementar cualquier otra funcin, pero W.

rayo de puerta programable


La forma ms comn de dispositivo lgico programable disponible actualmente es el
campo de matriz de puertas programable (FPGA). Mientras que los dispositivos FPGA de
diferentes Manufactur-ers tienen una amplia variedad de caractersticas, la mayora de
dispositivos FPGA tener tres elementos programables en comn: bloques lgicos
programables, de interconexin programable, y los pines de entrada / salida
programables, como se ilustra en la figura 5-11. Adems de estos tres elementos
comunes, muchos FPGAs tienen bloques especializados de la lgica dedicada, tales como
memorias, componentes aritmticos, e incluso los microprocesadores. Esta seccin se
centra en las caractersticas bsicas de las FPGAs, que debera proporcionar suficiente
fondo
Figura 5-11
Las tres caractersticas programables de los dispositivos ms
FPGA: bloques lgicos, interconexin, y de entrada / salida
314 CAPTULO 5 / Digital implementacin de hardware

para los lectores que estn interesados en una FPGA en particular para entender los
manuales de datos del fabricante.
La ventaja de la FPGA en relacin con otras familias lgicas programables es la
disponibilidad de la lgica configurable combinacional y flip-flop, y la facilidad de re-
configuracin. La mayora de las familias de FPGA se configuran con memoria esttica
de acceso aleatorio (SRAM), que se explican con ms detalle en el captulo 7. Otros
Tecnologa para-gas para configurar FPGAs incluyen la memoria Flash y anti-fusibles
(similar a la PROM descritos anteriormente en esta seccin). FPGAs que utilizan SRAM
para su configuracin son voltiles, lo que significa que pierden su configuracin cuando
se desconecta la alimentacin y la configuracin debe ser cargado cada vez que se aplica-
re poder. Independientemente de la tecnologa de configuracin, cada bit de
configuracin en el FPGA controla el Behav-ior de un elemento programable.
Configuracin de la FPGA requiere de configurar todos los bits de configuracin para los
bloques lgicos programables,
La primera funcin programable comn a muchos FPGAs que describiremos es el
bloque lgico programable. Un bloque lgico programable contiene Combina-cional y la
lgica secuencial que se puede configurar para poner en prctica muchas diferentes func-
ciones. Muchas familias FPGA tienen bloques lgicos programables en base a una tabla
de consulta (LUT) para poner en prctica las funciones combinacionales. Una tabla de
consulta es un 2k*1 de memoria que implementa la tabla de verdad de una funcin de
variables k, referido como un k-LUT. Figura 5-12 (a) ilustra una LUT 2-entrada.
Cualquiera de las diecisis posibles funciones booleanas de dos variables puede ser
implementado mediante el establecimiento de los bits de configuracin SRAM en la
figura para la tabla de verdad para la funcin deseada de A y B, como se describe en la
Seccin 3-7. Para implementar funciones de ms de k variables, varios k-LUTs se puede
conectar junto con multiplexores, como se muestra en la figura 5-12 (b). La combinacin
de las LUTs ms pequeas con un multiplexor utiliza el teorema de expansin de
Shannon, que establece que cualquier funcin f Boolean (x1, x2, x3, c, xk) se puede
expresar como
F (X1, x2, x3, c, xk)= xk f (X1, x2, x3, c, 1)+ xk f (X1, x2, x3, c, 0)

SRAM 2-LUT
poco f (a, b, 0)
f (a, b,
SRAM un c)
poco f (a, b)
segund
o
SRAM
poco 2-LUT
SRAM f (a, b, 1)
poco

un

segundo do

(un) (segundo)

Figura 5-12
(A) A 2-Input Look-Up Table, (b) implementar una funcin de 3-Input con dos 2-LUTs y
un multiplexor
5-2 tecnologas de implementacin / programables 315

En la figura 5-12 (b), la funcin booleana f (a, b, c) se ha implementado utilizando la


variable c en la lnea de seleccin del multiplexor para elegir entre las dos funciones f (a,
b, 0) y f (a, b, 1). Ejemplo 5-3 ilustra la implementacin de un combinacional func-cin
usando una LUT y el teorema de expansin de Shannon.

Ejemplo 5-3 implementacin de un circuito combinatorio utilizando una tabla de


consulta
Implementar la siguiente funcin booleana con el circuito de tabla de consulta mostrada
en la figura 5-12 (b):
= metro(3, 5,
F(A B C) 6, 7)
los trminos mnimos de la
los funcin donde C = 1 son m3, M5, y M7, por lo
= AB + AB + AB = UN + segundo. Los trminos mnimos de la funcin donde
F(A, B, 1) do = 0
es m6, por lo que F (A, B, 0) =AB. Las tablas de verdad para cada una de estas dos
funciones seran entonces ser almacenados en los bits de configuracin de la
correspondiente 2-LUT del circuito en la figura.

Adems de LUTs, bloque lgico programable tpicamente tienen multiplexores,


flip-flops y otra lgica para proporcionar la capacidad de configurar el bloque para
implementar una amplia variedad de funciones. Figura 5-13 muestra un ejemplo de un
bloque de lgica programable. El bloque lgico tiene cinco funciones principales: 1) un
par de 2-LUTs para implementar funciones combinacionales, 2) un flip-flop D para las
funciones secuenciales, 3) de lgica de adicin que permite que el bloque para
implementar un sumador completo de 1 bit, 4 ) un conjunto de multiplexores para
seleccionar qu funcionalidad aparece en la salida, y 5) un conjunto de bits de
configuracin SRAM que controlan el Behav-ior de las LUTs y multiplexores, denotado
por cuadrados numerados de 0 a 10.

2-LUT llevar en
un 0 suma
segu 1
ndo 2
3 adicin
lgica

llevar a cabo
MUX4
2-LUT MUX3
MUX1 fuera
4 DQ
5
6 10
7 9

MUX2
do
8

reloj

Figura 5-13
Un ejemplo de un bloque lgico programable
316 CAPTULO 5 / Digital implementacin de hardware

En la figura 5-13, el multiplexor etiquetado MUX1, en combinacin con el par de


2-LUTs, permite que el bloque lgico para implementar cualquier funcin booleana de
hasta tres variables, como se ilustra en la figura 5-12. Multiplexor MUX2 selecciona si el
tercero de las tres variables es de entrada c del bloque lgico o la salida del flip-flop.
Multiplexor MUX3 selecciona entre la salida de la lgica de LUT o la lgica de adicin
para la entrada del flip-flop y MUX4. Finalmente, MUX4 selecciona si la salida del
bloque lgico es la salida del flip-flop o combinacional (la salida del MUX3).
Las tres puertas de la lgica Adems permiten la ejecucin eficiente de las
funciones digitales comunes sobre la base de la aritmtica. Aunque sera posible
implementar un sumador sin tener la lgica adems incluido en el bloque lgico, hacerlo
requerira dos bloques lgicos para implementar cada bit de la suma: a una cuadra de la
suma y una cuadra para el transporte desde el bloque de la lgica tienen una sola salida.
Pero mediante la inclusin de las tres puertas de la lgica Adems, un bloque lgico
puede implementar un sumador completo de un bit mediante la configuracin de la parte
superior 2-LUT a ser la funcin f (a, b)= ab y el inferior 2-LUT para ser la funcin f (a,
b)= ab. A continuacin, la seal de suma es igual a ab carry_in y la seal carry_out es
igual a ab+ llevar_in (ab). En consecuencia, un n-bit de acarreo ondulacin sumador
podra imple-mentado con bloques lgicos n, mientras que sin la lgica Adems el
sumador requerira bloques lgicos 2n. Del mismo modo, en muchos de los FPGA FAM-
ilies disponibles en el mercado, el bloque lgico programable contiene lgica especfica
para la implementacin de funciones aritmticas com-mon mientras que requiere menos
recursos lgicos y, a menudo con un rendimiento ms alto de lo que sera posible sin la
lgica dedicada. En lugar de utilizar un acarreo ondulacin sumador como en este bloque
lgico simple, FPGAs disponibles comercialmente utilizan ms compleja, las tcnicas de
mayor rendimiento para la aritmtica tales como adicin carry lookahead que estn ms
all del alcance de este texto introductorio.

Configuracin del bloque lgico programable requiere el establecimiento de los


once bits CONFIGU-racionamiento para lograr la funcionalidad deseada. bits de
configuracin de 0 a 7 establecen las tablas de verdad a ser implementadas por los LUTs,
el bit 8 selecciona entre la entrada C o la salida del flip-flop controlar la salida LUT, el bit
9 Selecciona si se utiliza o no la lgica Adems, y el bit 10 selecciona la salida del flip-
flop o la salida combinada de la lgica LUTs o adicin. El comportamiento general del
bloque lgico depende de la configuracin de todos los bits de configuracin. Por
ejemplo, volviendo a la discusin de la adicin en el prrafo anterior, la implementacin
de un sumador completo requiere tanto la seleccin de la salida de suma con MUX3 (bit
de configuracin 9) y ajuste de la 2-LUTs a las funciones propias de las entradas A y B
(bits de configuracin 0 -7). Como otro ejemplo, si MUX3 (bit de configuracin 9) est
configurado para seleccionar la salida de MUX1, dependiendo de la configuracin de
MUX2 y MUX4 (bits de configuracin 8 y 10), la seal de salida puede ser o bien una
funcin combinacional de a, b, y c; una mquina de Moore; o una mquina Mealy.
Mientras que la lgica de reposicin para el flip-flop D se omite en este ejemplo para
simplificar, en la mayora de las FPGAs comerciales, el comportamiento del sistema / de
reinicio del flip-flop tambin es configurable.
La funcionalidad incluida en el bloque de lgica programable es un compromiso
entre el nmero de bloques lgicos necesarios para implementar una funcin dada y el
retardo de propagacin a travs del bloque lgico. A medida que aumenta la
funcionalidad, el nmero de bloques lgicos necesarios para implementar una funcin
dada (y el nmero de bloques lgicos en la ruta crtica) tiende a disminuir. Pero a medida
que aumenta la funcionalidad, el retardo de propagacin a travs de un bloque lgico
individuo tambin aumenta. El retardo global
5-2 tecnologas de implementacin / programables 317

es una funcin tanto de la demora a travs de los bloques lgicos individuales, as como
el retardo a travs de las conexiones entre los bloques lgicos.
Las conexiones entre los bloques lgicos son la segunda funcin programable
comn a FPGAs. Una red de interconexin programable proporciona el cableado entre los
bloques lgicos para crear circuitos que son demasiado grandes para caber en un nico
bloque lgico. La red de interconexin programable se compone de un conjunto de cables
y conmutadores programables. Un conmutador programable por lo general consta de un
solo canal n MOS transistor como se describe en la discusin tecnologa de programacin
en el comenzar-cacin de esta seccin. Al igual que con los bloques lgicos
programables, la puerta de este transistor se controla mediante un bit de configuracin. La
interconexin programable debe permitir que el FPGA para implementar una amplia
gama de tipos de circuitos, y por lo tanto debe proporcionar conexiones entre bloques
lgicos que estn fsicamente cerca, as como aquellos que son fsicamente distante.
Adems,
Para hacer frente a estas limitaciones, la mayora de las FPGAs proporcionan un
conjunto jerrquico de-ciones interconexiones. Aunque los enfoques para el diseo de las
interconexiones varan entre los fabricantes, por lo general la red de interconexin
programable ofrece un gran nmero de conexiones cortas entre bloques lgicos
fsicamente cerca, con un menor nmero de conexiones ms largas a los bloques lgicos
distantes. Debido a las propiedades elctricas del interruptor programable, dos cables
conectados por un interruptor tienen un retardo de propagacin ms grande que un
alambre ms largo de la misma longitud total. FPGA fabricantes han diseado el conjunto
de interconexiones-mable programa para reducir el nmero medio de interruptores a
travs del cual las seales tienen que viajar entre bloques lgicos para la mayora de los
diseos.
Adems de la red de interconexin programable, por lo general hay recursos de
cableado dedicados para reajustar el reloj y las seales que se comparten globalmente en
todo el circuito. Los recursos de cableado dedicados estn diseados para minimizar el
retardo de propagacin y sesgar, que puede crear problemas de sincronizacin de los
circuitos secuenciales, como se describe en el captulo 4. Adems de las seales globales,
cables dedicados se proporcionan localmente entre bloques lgicos adyacentes para
conectar la aritmtica dedicado lgica tal como las cadenas de llevar en el ejemplo de
bloque lgico programable de la figura 5-13. Este cableado locales mejora la velocidad
de la circuitera lgica dedicada al tiempo que reduce las demandas sobre las
interconexiones programables.
La tercera funcin programable comn a FPGAs es un conjunto de pines de entrada
/ salida programable (I / O). La FPGA debe conectarse con el mundo exterior. En
particular, un FPGA debe ser capaz de proporcionar una amplia gama en el nmero de
entradas y salidas dependiendo del circuito que ha de aplicarse, y la FPGA debe ser
compatible con los requisitos de velocidad y de tensin de los otros componentes
elctricos a los que se ser conectado. Como consecuencia de estos dos requisitos, la
mayora de los FPGAs proporcionan un gran nmero de pasadores que se pueden
configurar para ser entradas o salidas, y que pueden ser configurados para soportar una
serie de normas difieren-ent interfaz elctrica. Los estndares de interfaz elctricos tienen
Require-mentos con respecto a las tensiones que se consideran un 0 lgico o 1, la
corriente elctrica de origen o hundido, la velocidad con la que una seal puede cambiar,
y muchas otras propiedades elctricas de la seal de I / O. El FPGAs tambin puede
proporcionar capacidades para
318 CAPTULO 5 / Digital implementacin de hardware

la sincronizacin de una seal de entrada con el reloj interno para hacer frente a los
problemas de metaestabilidad descritos en el Captulo 4. La eleccin del fabricante de los
cuales elctricos stan-Dardos para apoyar depende en gran medida el mercado de
aplicacin prevista.

5-3 captulo sesumen


En este captulo se presenta una serie de temas, todos importantes para el diseador. En
primer lugar, se introdujo el transistor CMOS. Se proporcionaron modelos de
interruptores para CMOS y empleadas en el modelado de circuitos electrnicos para
puertas. se introdujeron varios parmetros para la tecnologa de puerta de carcter izing.
Parmetros importantes de la tecnologa discuten incluyendo, retrasos en abanico,
ventilador de salida, margen de ruido, disipacin de energa, y de propagacin. Por
ltimo, se proporcion una discusin de los fundamentos de implementacin programable
Technol-tec- bsicos. Esta discusin incluye ROM, PLA, PAL y dispositivos FPGA.

reFERENCIAS
1. Altera CORPORATION, Altera FLEX 10KE Embedded Programable Logic
Device Hoja de Datos de la familia, ver. 2.4(http://www.altera.com/literature/ds/
dsf10ke.pdf). Altera Corporation, 1995-2002.
2. KATZ, RH, y G. BORRIELLO. La lgica de diseo contemporneo, 2 ed.
Upper Saddle River, Nueva Jersey: Pearson Prentice Hall, 2005.
3. KUON, I., R. TESSIER, Y J. ROSE. Arquitectura FPGA: Encuesta y desafos
Fundamentos y tendencias en automatizacin de diseo electrnico, vol. 2, Nmero
2, 2007, pp. 135-253.(http://www.nowpublishers.com/articles/foundations-y-
tendencias-en-electrnica-diseo-automatizacin / EDA-005).
4. Lattice Semiconductor Corporation. celosa GALs(Http: //
www.latticesemi.com/products/spld/GAL/index.cfm). Lattice Semiconductor
Corporation, 1995-2002.
5. SMITH, especficas de la aplicacin MJS los circuitos integrados. Boston:
Addison-Wesley, 1997.
6. Trimberger, SM, ED. Campo de puertas programables de la tecnologa de matriz.
Boston: Kluwer Academic Publishers, 1994.
7. Wakerly, JF Diseo Digital: Principios y Prcticas, 4 ed. Upper Saddle River,
Nueva Jersey: Pearson Prentice Hall, 2004.
8. Xilinx, INC., Hoja Xilinx Spartan -IIE Datos (http://direct.xilinx.com/
bvdocs / publicaciones / ds077_2.pdf). Xilinx, Inc. 1994-2002.

pagPROBLEMAS
El signo ms (+) Indica un problema ms avanzada y el asterisco (*) indica que hay una
solucin disponible en el sitio web de texto.
5-1. * Bsqueda de la funcin booleana que corresponde a los caminos cerrados a travs
de cada una de las redes de modelo interruptor da en la figura 5-14.
5-2. Encuentra las redes modelo interruptor CMOS para las siguientes funciones:
Problemas 319

AU
TO
M
VIL S s
CL E e
UB Gg
BRI Uu
T Nn
NIC Dd
O B: B A: Un O: o

D d
C: C O: o D: D

D: D

(segund
(un) o)

Figura 5-14
Cambiar de red para el problema 5-1

(a) 3-entrada de la puerta NAND.


(b) 4-entrada de la puerta NOR.
5-3. Una familia integrada lgica circuito tiene puertas NAND con un ventilador de
salida de ocho cargas y tampones estndar con un ventilador de salida de 16
cargas estndar. Dibuje un esquema que muestra cmo la seal de salida de una
sola puerta NAND se puede aplicar a otros 38 entradas de la puerta, utilizando
como unos tampones como sea posible. Supongamos que cada entrada es una
carga estndar.
5-4. (un)Dado un 256* 8 chip ROM con una entrada de habilitacin, mostrar las
conexiones externas necesarias para construir un 1K* 16 ROM con ocho chips
y
a descifrador.
(b) Cuntas 256 * 8 chips de ROM seran necesarios para construir una
4K * 32 ROM?
5-5. * A 32* 8 ROM convierte un nmero binario de 6 bits a su nmero BCD de dos
dgitos correspondiente. Por ejemplo, binario 100001 convierte a BCD 0011 0011
(decimal 33). Especificar la tabla de verdad de la ROM.
5-6. Especificar el tamao de una ROM (nmero de palabras y nmero de bits por
palabra) que se acomoda a la tabla de verdad para los siguientes componentes de
circuito combinacionales:

(a) A 16-bit de acarreo ondulacin sumador con Cin y Cout.


(b) Un sumador-restador 8 bits con Cin y Cout.
(c) Un convertidor de cdigo de un nmero BCD de 4 dgitos para un nmero
binario.
(d) A 4 * 4 multiplicador.
5-7. Tabular la tabla de verdad para un nio de 8* 3 ROM que implementa las siguientes
cuatro funciones booleanas:
metr
UN(X, Y, Z)= o(0, 6,7)
segundo(X, Y, metr
Z)= o(1, 2,3, 4, 5)
320 CAPTULO 5 / Digital implementacin de hardware

metro(1
do(X, Y, Z)= 5)
metro(0, 1, 2, 3,
re(X, Y, Z)= 5, 6)
Obtener las ecuaciones de PLA para la programacin de las cuatro funciones de
5-8. Boole
que aparece en el problema 5-7. Reducir al mnimo el nmero de trminos de
productos. Asegrate de
intentar compartir trminos de productos entre las funciones que no son de
primera
implicantes de funciones individuales y considerar el uso de complementado
salidas.
Derivar las ecuaciones de PLA para el circuito combinatorio que los cuadrados un
5-9. 3 bits
nmero. Reducir al mnimo el nmero de trminos de productos. Si es necesario
para reducir
trminos de productos, trminos de productos proporcin entre las funciones que
no son de primera
implicantes de funciones individuales y considerar el uso de complementado
salidas.
Enumerar las ecuaciones de PLA para la programacin de un convertidor de
5-10. cdigo BCD-a-exceso-3.
Si es necesario para reducir trminos de productos, trminos de productos
proporcin entre funciones
que no son implicantes primos de funciones individuales y consideran el uso de
salidas complementadas.
* Repita el problema 5-10, usando un
5-11. dispositivo PAL.
La siguiente es la tabla de verdad de una de tres entradas, cuatro salidas
5-12. combinatoria
circuito. Obtener las ecuaciones para la programacin del dispositivo se muestra
en PAL
Figura 5-10.

entradas salidas
seg
und
X Y Z UN o do re

0 0 0 0 1 0 0
0 0 1 1 1 1 1
0 1 0 1 0 1 1
0 1 1 0 1 0 1
1 0 0 1 0 1 0
1 0 1 0 0 0 1
1 1 0 1 1 1 0
1 1 1 0 1 1 1

5-13. Las siguientes ecuaciones son para ser implementado en el dispositivo de PAL se
muestra en la figura 5-10. Encuentra las ecuaciones para la programacin de la
PAL.
F = AB + discos compactos + A B C D + A B C + A B C D
GRAMO = AB + BCD + BCD + A B C
Problemas 321

5-14. Utilice teorema de expansin de Shannon para expresar las siguientes funciones en
trminos de C y C.
s
e
g
u
n
U d + antes de
(un) F(A B C)= N o Cristo + C.A.
(segundo) F(A B metro(0, 2, 3, 5,
C)= 6)
5-15. (un)Diseo de un 4-LUT utilizando slo 2-LUTs y 2-a-1 multiplexores.
(b) Implementar la funcin F = AB + discos compactos + A B C + A B C D +
AB CD utilizando el 4-LUT a partir de (a).
5-16. Para el bloque de lgica programable se muestra en la figura 5-13, muestran los
valores de configuracin necesarios para implementar cada uno de los siguientes
tipos de circuitos. Se puede suponer que la entrada de datos superior de cada
multiplexor se elige con una seleccin de entrada de 0.
(a) Una funcin combinacional de las entradas a, b, y c.
(b) Una mquina de Moore
(c) Una mquina Mealy
5-17. Para el bloque de lgica programable se muestra en la figura 5-13, qu funciones se
deben incorporar en el 2-LUTs para implementar un 1 bits 2s complementan
restador realizar la operacin de una- segundo?
5-18. Implementar la mquina de estados de Moore descrito por la siguiente tabla de
estado utilizando el bloque de lgica programable se muestra en la figura 5-13. Su
respuesta debe incluir los bits de configuracin para el bloque de lgica.

entradas
En Siguiente
Estado actual 1 en 2 Estado salida Z

estado0 0 0 estado1 0
estado0 0 1 estado0 0
estado0 1 0 estado0 0
estado0 1 1 estado1 0
estado1 0 0 estado0 1
estado1 0 1 estado0 1
estado1 1 0 estado1 1
estado1 1 1 estado1 1
Esta pgina se ha dejado
intencionadamente en blanco
Captulo

6
registros y del
Register
Transferencias

yo n Captulo 3, se estudi bloques funcionales combinacionales, y en el captulo 4 se


examinaron circuitos secuenciales. Ahora, traemos las dos ideas juntas y actuales bloques
funcionales secuenciales, generalmente conocido como registros y contadores. En el captulo 4,
los circuitos que fueron analizados o diseados no tenan ninguna estructura particular, y el
nmero de flip-flops era pequea. Por el contrario, los circuitos que consideramos aqu tienen
ms estructura, con mltiples etapas o clulas que son idnticos o casi idnticos, por lo que la
expansin muy simple. Los registros son particularmente tiles para almacenar informacin
durante el
tratamiento de datos, y los contadores ayudan en la secuenciacin del
procesamiento.
En un sistema digital, un camino de datos y una unidad de control se presentan con
frecuencia en los niveles superiores de la jerarqua de diseo. Un camino de datos
consiste en la lgica de procesamiento y una coleccin de registros que realiza el
procesamiento de datos. Una unidad de control se compone de lgica que determina la
secuencia de operaciones de procesamiento de datos realizadas por el camino de datos.
Register notacin de transferencia se describen las acciones de procesamiento de datos
elementales que se hace referencia como microoperaciones.
Register transferencias mover la informacin entre los registros, entre registros y
memoria, y a travs de la lgica de procesamiento. hardware dedicado transferencia
usando multiplexores y hardware de transferencia de llamadas buses compartidos
implementar estos movimientos de datos. El diseo de la unidad de control para
controlar las transferencias de registro tambin se trata en este captulo. Un
procedimiento de diseo para los sistemas digitales como las combinaciones de la
lgica de transferencia de registros y la lgica de control rene gran parte de lo que
hemos estudiado hasta el momento.
En el ordenador genrico al comienzo del captulo 1, los registros son
ampliamente utilizados para el almacenamiento temporal de datos en reas aparte
de la memoria. Los registros de este tipo suelen ser grandes, con al menos 32 bits.
En general, los bloques funcionales secuenciales se utilizan ampliamente en el
ordenador genrico. En particular, las partes de la CPU y FPU del procesador
contienen cada uno un gran nmero de registros que estn implicados en las
transferencias de registro y ejecucin de microoperaciones. Es en la CPU y el FPU
que las transferencias de datos, adiciones, sustracciones, y otros microoperaciones
tienen lugar. Por ltimo, las conexiones que se muestran entre las distintas partes
electrnicas del equipo son los autobuses, los cuales se discuten por primera vez en
este captulo.

323
324 CAPTULO 6 / registros y transferencias de registro

R 6-1egisteRs y Load miNABLE


Un registro incluye un conjunto de flip-flops. Puesto que cada flip-flop es capaz de
almacenar un bit de informacin, un registro de n bits, compuesto de n flip-flop, es capaz
de almacenar n bits de informacin binaria. Por la definicin ms amplia, un registro
consiste en un conjunto de biestables, junto con puertas que implementan sus transiciones
de estado. Esta amplia definicin incluye los diversos circuitos secuenciales considerados
en el Captulo 4. Ms comnmente, el registro trmino se aplica a un conjunto de flip-
flops, posiblemente con compuertas combinacionales aadidos, que realizan tareas de
procesamiento de datos. Los flip-flops retencin de datos, y las puertas determinan los
datos nuevos o transformadas para ser transferidos a los flip-flops.
Un contador es un registro que pasa a travs de una secuencia predeterminada de
estados de la aplicacin de pulsos de reloj. Las puertas en el contador estn conectados de
una manera que produce la secuencia prescrita de estados binarios. A pesar de que los
contadores son un tipo espe-cial de registros, es comn para diferenciarlos de los
registros.
Registros y contadores son bloques funcionales secuenciales que se utilizan exten-
vamente en el diseo de sistemas digitales en general y en las computadoras digitales en
particu-lar. Los registros son tiles para almacenar y manipular informacin; contadores
se emplean en circuitos que la secuencia de control y operaciones en un sistema digital.
El registro ms simple es aquella que se compone de slo chanclas sin puertas
externas. La figura 6-1 (a) muestra un registro de tales construido a partir de cuatro de
tipo D flip-flops. La entrada de reloj comn desencadena todos los flip-flops en el flanco
ascendente de cada impulso, y la informacin binaria disponible en las cuatro entradas D
se transfiere a la 4-bit reg-ister. Las cuatro salidas Q pueden ser muestreados para obtener
la informacin binaria almacenada en el registro. La entrada Borrar va a las
contribuciones de investigacin de las cuatro flip-flops y se utiliza para borrar el registro
de todos los 0s antes de su operacin sincronizada. Esta entrada est designada como
Claro en lugar de Claro, ya que un 0 se debe aplicar para restablecer los flip-flops de
forma asncrona. La activacin de las entradas asncronas R para flip-flop durante opera-
cin sincronizado normal puede dar lugar a diseos de circuitos que son altamente
retrasan dependiente y que puede, hay-tanto, mal funcionamiento. Por lo tanto,
mantenemos Clear en 1 lgico durante el funcionamiento normal velocidad de reloj,
permitiendo que sea lgica 0 slo cuando se desea un restablecimiento del sistema.
Observamos que la capacidad de borrar un registro de todos 0s es opcional; si una
operacin de borrado es pro-RESPETA depende de la utilizacin del registro en el
sistema.

La transferencia de nueva informacin en un registro que se conoce como la carga


de la caja registradora. Si todos los bits del registro se cargan simultneamente con un
pulso de reloj comn, decimos que la carga se hace en paralelo. Una transicin de reloj
positivo aplicado a la entrada de reloj del registro de la figura 6-1 (a) carga las cuatro
entradas D en los flip-flops en paralelo.

La figura 6-1 (b) muestra un smbolo para el registro en la figura 6-1 (a). Este
smbolo permite el uso del registro en una jerarqua de diseo. Tiene todas las entradas al
circuito lgico a su izquierda y todas las salidas del circuito a la derecha. Las entradas
incluyen la entrada de reloj con el indicador dinmico para representar positivo-borde
activacin de los flip-flops. Observamos que el nombre Claro aparece dentro del smbolo,
con una burbuja en la lnea de seal en la parte exterior del smbolo. Esta notacin indica
que la aplicacin de un 0 lgico a la lnea de seal activa la operacin de borrado de los
flip-flops en el registro. Si la lnea de seal se marcaron fuera del smbolo, la etiqueta
sera Clear.
6-1 / Registros y Load Habilitar 325

re0 re Q0

Reloj
do
Claro
R
REG
re1
re Q1
Claro
re0 Q0
do
re1 Q1
R re Q
2 2
re2
Q2 re3 Q3
re
(B) Smbolo
do
entradas C (entradas
R Carga de reloj
re3 Q3 Reloj de flip-flops)
(C) la entrada de control de
re carga

do

(A) Diagrama lgico

Reloj

Carga

entradas de C

(D) Diagrama de temporizacin

Figura 6-1
4-registro de bits

Registrarse con carga paralela


La mayora de los sistemas digitales tienen un generador de reloj maestro que suministra
un tren continuo de pulsos de reloj. Los pulsos se aplican a todos los flip-flops y registros
en el sistema. En efecto, el reloj maestro acta como un corazn que suministra un ritmo
constante para todas las partes del sistema. Para el diseo de la figura 6-1 (a), el reloj se
puede evitar que llegar a la entrada de reloj al circuito de si el contenido del registro se
deben dejar sin cambios. Por lo tanto, una seal de control separada se utiliza para
controlar los ciclos de reloj durante el cual los impulsos de reloj vayan a tener un efecto
sobre el registro. Los pulsos de reloj les impide llegar a la registradora cuando su
contenido no se va a cambiar. Este enfoque puede ser implementado con una carga de
entrada de control de carga en combinacin con el reloj, como se muestra en
326 CAPTULO 6 / registros y transferencias de registro

La figura 6-1 (c). La salida de la puerta OR se aplica a las entradas C del registro de los
flip-flops. La ecuacin para la lgica mostrada es
entradas de C = Carga + Reloj
Cuando la seal de carga es 1, entradas de C =Reloj, por lo que el registro tiene una
velocidad normal, y la nueva informacin se transfiere en el registro en las transiciones
positivas del reloj. Cuando la seal de carga es 0, entradas de C=1. Con esta entrada
constante aplicado, no hay transiciones positivas en las entradas de C, por lo que los
contenidos del registro permanecen sin cambios. El efecto de la seal de carga en las
entradas de seal C se muestra en la Figura 6-1 (d). Tenga en cuenta que los pulsos de
reloj que aparecen en las entradas de C son pulsos a 0, que terminan con el flanco positivo
que desencadena los flip-flops. Estos pulsos y los bordes aparecen cuando carga es 1 y se
sustituyen por una constante 1 cuando la carga est 0. A fin de que este circuito funcione
correctamente, carga debe ser constante en el valor correcto, ya sea 0 o 1, a lo largo del
intervalo cuando el reloj es 0. una situacin en la que esto ocurre es que si carga proviene
de un flip-flop que se desencadena en un flanco positivo del reloj, una circunstancia
normal si todos los flip-flops en el sys-tem son positivos de punta activa.
Insercin de puertas en la trayectoria pulso de reloj produce diferentes retardos de
propagacin entre el reloj y las entradas del flip-flops con y sin gating reloj. Si las seales
de reloj llegan a diferentes flip-flops o registros en momentos diferentes, se dice que
existe sesgo del reloj. Pero para tener un verdadero sistema sncrono, hay que asegurarse
de que todos los pulsos de reloj llegan simultneamente en todo el sistema para que todos
los flip-flops se disparan al mismo tiempo. Por esta razn, en los diseos de rutina,
control de la operacin del registro de salida con el uso de compuerta reloj es
aconsejable. De lo contrario, los retrasos se deben controlar para impulsar el reloj sesgar
tan cerca de cero como sea posible. Esto es aplicable en diseos de baja potencia o de alta
velocidad agresivos.
Un registro de 4 bits con una carga de entrada de control que se dirige a travs de
puertas en las entradas D de los flip-flops, en lugar de a travs de las entradas de C, se
muestra en la figura 6-2 (c). Este registro se basa en una celda de bit se muestra en la
figura 6-2 (a) que consiste en un multiplexor de 2 a 1 y un flip-flop D. La seal ES
selecciona entre el bit de datos D entrar en la clula y el valor de Q en la salida de la
clula. Por ES= 1, D se selecciona y se carga la celda. Por ES=0, Q se selecciona y la
salida se carga de nuevo en el flip-flop, conservando su estado actual. La conexin de
realimentacin desde la salida a la entrada del flip-flop es necesario porque el flip-flop D,
a diferencia de otros tipos de flip-flop, no tiene una sin cambios condicin de entrada:
Con cada pulso de reloj, la entrada D determina el siguiente estado de la salida. Para salir
de la salida sin cambios, es necesario hacer que la entrada D igual al valor presente de la
salida. La lgica en la figura 6-2 (a) puede considerarse como un nuevo tipo de flip-flop
D, un flip-flop D con permitir, teniendo el smbolo que se muestra en la figura 6-2 (b).

El registro se lleva a cabo mediante la colocacin de cuatro flip-flops D con permite


en par-allel y la conexin de la entrada de carga a las entradas de ES. Cuando la carga es
1, los datos de las cuatro entradas se transfieren en el registro con el siguiente borde de
reloj positivo. Cuando la carga es 0, el valor actual se mantiene en el registro en el
siguiente borde de reloj positivo. Tenga en cuenta que los pulsos de reloj se aplican
continuamente a las entradas C. Cargar determina si el siguiente pulso acepta nueva
informacin o sale de la informacin en el registro intacto. La transferencia de
informacin de entradas para inscribirse es el
6-2 Transferencias /
Registro 327

ES re Q
re
re
ES
do do
Flip-flop D con permitir do
(s
eg
un
do
(un) )

re0 re Q0
ES
do

re
1 re Q1
ES
do

re2 re Q2
ES
do

re3 re Q3
Carga ES
Reloj do

(do)

Figura 6-2
4-registro de bits con carga paralela

hecho simultneamente para todos los cuatro bits durante una nica transicin de impulso
positivo. Este mtodo de transferencia se prefiere tradicionalmente sobre gating reloj, ya
que evita el sesgo del reloj y el potencial de mal funcionamiento del circuito.

R 6-2eGISTRO tRansfeRs
Un sistema digital es un circuito secuencial compuestos de interconectadas flip-flops y
compuertas. En el captulo 4, aprendimos que los circuitos secuenciales se pueden
especificar por medio de tablas de estado. Para especificar un sistema digital de gran
tamao con tablas de estado es muy difcil, si no impo-sible, debido a que el nmero de
estados es prohibitivamente grande. Para superar esta dificultad, los sistemas digitales se
han diseado utilizando un enfoque modular y jerrquica. El sistema se divide en
subsistemas o mdulos, cada uno de los cuales realiza una tarea funcional. Los mdulos
se construyen jerrquicamente a partir de bloques funcionales, tales como REG-nistre,
contadores, decodificadores, multiplexores, autobuses, elementos aritmticos, flip-flops, y
puertas primitivas. Los diversos subsistemas se comunican con los datos y seales de
control para formar un sistema digital.

En la mayora de los diseos del sistema digital, dividimos el sistema en dos tipos
de MOD-EGLAS: un camino de datos, que realiza operaciones de procesamiento de
datos, y una unidad de control,
328 CAPTULO 6 / registros y transferencias de registro

Las seales de
control
seales de
Controlar Controlar estado
Ruta de datos
entradas unidad
salida
s de
datos
datos de Control
entradas salidas

Figura 6-3
Interaccin entre la Unidad de Control y Datapath

que determina la secuencia de dichas operaciones. La Figura 6-3 muestra la relacin


general entre un camino de datos y una unidad de control. Las seales de control son
seales binarias que activan las diferentes operaciones de procesamiento de datos. Para
activar una secuencia de tales operaciones, la unidad de control enva la secuencia
adecuada de seales de control a la ruta de datos. La unidad de control, a su vez, recibe
los bits de estado de la ruta de datos. Estos bits de estado describen aspectos del estado de
la ruta de datos. Los bits de estado son usados por la unidad de con-trol en la definicin
de la secuencia especfica de las operaciones a realizar. Tenga en cuenta que la unidad de
camino de datos y control tambin puede interactuar con otras partes de un sys-tem
digitales, tales como la lgica de la memoria y de entrada-salida, a travs de los caminos
marcados entradas de datos, salidas de datos, entradas de control y salidas de control.
Datapaths se definen por sus registros y las operaciones realizadas en los datos
binarios almacenados en los registros. Ejemplos de operaciones de registro son de carga,
claro, por turnos, y el recuento. Los registros se supone que son componentes bsicos de
la sys-tem digital. El movimiento de los datos almacenados en los registros y el
procesamiento llevado a cabo en los datos se refieren como las operaciones de
transferencia de registros. Los Opera-ciones de transferencia de registros de sistemas
digitales son especificadas por los siguientes tres componentes bsicos:
1. el conjunto de registros en el sistema,
2. las operaciones que se realizan en los datos almacenados en los registros, y
3. el control que supervisa la secuencia de operaciones en el sistema.
Un registro tiene la capacidad para llevar a cabo una o ms operaciones elementales
tales como carga, contar, sumar, restar y cambiar. Por ejemplo, un registro de
desplazamiento a la derecha es un registro que puede cambiar los datos a la derecha. Un
contador es un registro que incrementa un num-ber por uno. Un solo flip-flop es un
registro de 1 bit que puede ser activa o se desactiva. De hecho, segn esta definicin, los
flip-flops y compuertas estrechamente asociadas de un circuito secuencial pueden ser
llamados registros.

Una operacin elemental realizado en los datos almacenados en los registros se


llama una microoperacin. Ejemplos de microoperaciones estn cargando el contenido de
un registro en otro, la adicin de los contenidos de dos registros, e incrementando el
contenido de un registro. A microoperacin es usualmente, pero no siempre, lleva a cabo
en paralelo en un vector de bits durante un ciclo de reloj. El resultado de la
microoperacin puede sustituir a los anteriores datos binarios en el registro.
Alternativamente, el resultado puede ser transferida a otro registro, dejando los datos
anteriores sin cambios. los
6-3 Operaciones de Transferencia /
Registro 329

bloques funcionales secuenciales descritos en este captulo son registros que imple-ment
uno o ms microoperaciones.
La unidad de control proporciona seales de esa secuencia de las microoperaciones
de una manera pre-trazada. Los resultados de una microoperacin actual pueden
determinar tanto la secuencia de seales de control y la secuencia de los futuros
microoperaciones para ser ejecutado. Tenga en cuenta que el trmino microoperacin,
tal como se utiliza aqu, no se refiere a ninguna forma particular de producir las seales
de control: especficamente, no implica que las seales de control son generadas por una
unidad de control basado en una tcnica llamada microprogramacin.
Este captulo presenta los registros, sus implementaciones y registrar las
transferencias usando un lenguaje simple transferencia de registro (RTL) para representar
registros y especificar las operaciones de su contenido. El lenguaje de transferencia de
registros utiliza un conjunto de expresiones y declaraciones que se asemejan a las
declaraciones de carcter HDL y lenguajes de programacin. Esta notacin se puede
especificar de forma concisa parte o la totalidad de un sistema digital complejo como un
com-putadora. La especificacin sirve entonces como una base para un diseo ms
detallado del sistema.

R 6-3eGISTRO tRANSFERENCIA opERACIONES


Nos indican los registros en un sistema digital con letra mayscula y (a veces seguido de
nmeros) que indican la funcin del registro. Por ejemplo, un registro que mantiene una
direccin para la unidad de memoria se suele llamar un registro de direcciones y puede
ser designado por el nombre de AR. Otras designaciones para los registros son PC para
contador de programa, IR para registro de instruccin, y R2 para el registro 2. Los flip-
flops individuales en un registro de n bits se numeran normalmente en secuencia desde 0
a n-1, comenzando con 0 en el (la frecuencia ms a la derecha) la posicin menos
significativa y creciente hacia la posicin ms significativa. Dado que el bit 0 est a la
derecha, este orden puede ser referido como ascendente hacia la izquierda. El orden
inverso, con el bit 0 de la izquierda, se conoce como big-endian.
La figura 6-4 muestra representaciones de registros en forma de diagrama de
bloques. La forma ms comn de representar un registro es por una caja rectangular con
el nombre del registro en el interior, como en la parte (a) de la figura. Los bits
individuales pueden ser identificados como en parte
(segundo). La numeracin de los bits representados por slo los valores extremos
izquierdo y derecho en la parte superior de una caja de registro se ilustra con un 16-bit de
registro R2 en la parte (c). Un contador de pro-gramo de 16 bits, PC, se divide en dos
secciones en la parte (d) de la figura. En este caso, los bits 0 a 7 se les asigna el smbolo
L (por byte de orden inferior), y los bits 8 a 15 se les asigna el smbolo H (por byte de
orden superior). La etiqueta PC (L), que

R 7 6 5 4 3 2 1 0

(B) Los bits individuales de registro de 8


(A) registro R bits
15 0 15 8 7 0

R2 PC (H) PC (L)
(C) La numeracin de registro de 16
bits (D) de dos piezas registro de 16 bits

Figura 6-4
Diagramas de bloques de
registros
330 CAPTULO 6 / registros y transferencias de registro

, Se refiere al byte de orden inferior de la caja registradora, y el PC (H) o PC (15: 8) se


refiere al byte de orden superior: tambin se pueden PC (0 7) por escrito.
La transferencia de datos de un registro a otro se designa en forma simblica por
medio de que el operador de reemplazo (re). Por lo tanto, la declaracin
R2re R1
denota una transferencia de los contenidos del registro R1 en el registro R2.
Especficamente, la declaracin designa la copia de los contenidos de R1 a R2. El registro
R1 es referido como la fuente de la transferencia y el registro R2 como el destino. Por
definicin, el contenido del registro fuente no cambian como resultado de la Transfer-
slo el contenido del registro de destino, R2, cambio.
Una declaracin que especifica una transferencia de registro implica que los
circuitos de camino de datos estn disponibles en las salidas del registro de origen a las
entradas del registro de destino y que el registro de destino tiene una capacidad de carga
en paralelo. Normalmente, queremos una transferencia dada a ocurrir no para cada pulso
de reloj, pero slo para valores especficos de las seales de control. Esto puede ser
especificado por una sentencia condicional, simbolizado por el formulario y luego si-

si (K1= 1), entonces (R2 re R1)


donde K1 es una seal de control generada en la unidad de control. De hecho, K1 puede
ser cualquier funcin lgica que se evala como 0 1. Una forma ms concisa de la
escritura la forma si-entonces es

K1: R2re R1
Esta condicin de control, terminado con un colon, simboliza el requisito de que la
operacin de transferencia de ser ejecutado por el hardware slo si K1= 1.
Cada declaracin escrita en la notacin de registro de transferencia presupone una
construccin de hardware para la implementacin de la transferencia. Figura 6-5 muestra
un diagrama de bloques que representa la transferencia de R1 a R2. Las n salidas de
registro R1 estn conectados a las n entradas de registro R2. La letra N se utiliza para
indicar el nmero de bits en la trayectoria regis-ter-transferencia desde R1 a R2. Cuando
se conoce la anchura de la trayectoria, n es sustituido por un nmero real. Registro R2
tiene una entrada de control de carga que se activa por la seal de control K1. Se supone
que la seal est sincronizada con el mismo reloj que la aplicada al registro. Los flip-
flops se supone que son positivo-borde

K La transferencia se
1 Carg efecta aqu
a
t
no
rte
R1 R2 Reloj

K
Reloj 1
Figura 6-5
Transferencia de R1 a R2 cuando K1 =
1
6-4 Transferencias / Registro en VHDL y Verilog 331

Tabla 6-1
Smbolos bsicos para las transferencias de registro

Smbolo Descripcin Ejemplos

Letras (y nmeros) denota un registro Arkansas, R2, DR, IR


Los parntesis Denota una parte de un registro R2 (1), R2 (7: 0), AR (L)
Flecha Denota transferencia de datos R1re R2
Coma Separa las transferencias simultneas R1re R2, R2re R1
DR re
Especifica una direccin para la METRO[ARKANSA
Corchetes memoria S]

desencadenada por este reloj. Como se muestra en el diagrama de tiempos, K1 se pone a


1 en el flanco ascendente de un pulso de reloj en el tiempo t. La siguiente transicin
positiva del reloj en el tiempo t+ 1 se encuentra K1 =1, y las entradas de R2 se cargan en
el registro en paralelo. En este caso, K1 vuelve a 0 en la transicin de reloj positivo en el
tiempo t+ 1, de modo que se produce slo una nica transferencia de R1 a R2.
Tenga en cuenta que el reloj no se incluye como una variable en el estado-mentos
de trasferencia entre registros. Se supone que todas las transferencias se producen en
respuesta a una transicin de reloj. A pesar de que la condicin de control K1 se activa en
el tiempo t, la transferencia real no ocurre hasta que el registro se desencadena por la
siguiente transicin positiva del reloj, en el tiempo t+ 1.

Los smbolos bsicos que utilizamos en la notacin de registro de transferencia se


enumeran en la Tabla 6-1. Los registros se denotan por una letra mayscula, posiblemente
seguido de una o ms letras en maysculas y nmeros. Los parntesis se usan para indicar
una parte de un registro mediante la especificacin de la gama de bits en el registro o
dando un nombre simblico a una por-cin del registro. La flecha apunta hacia la
izquierda indica una transferencia de datos y la direc-cin de la transferencia. Una coma
se utiliza para separar dos o ms transferencias de registro que se ejecutan al mismo
tiempo. Por ejemplo, la declaracin
K3: R2re R1, R1re R2

denota una operacin que intercambia los contenidos de dos registros simultneamente
para un borde de reloj positivo en el que K3=1. Este intercambio es posible con los
registros realizados de flip-flops, pero presenta un problema de tiempo difcil con
registros hechos de pestillos. Los corchetes se utilizan en conjuncin con una
transferencia de memoria. La letra M desig-nates una palabra de memoria, y el registro
cerrado dentro de los corchetes proporciona la direccin de la palabra en la memoria.
Esto se explica con ms detalle en el captulo 8.

R 6-4eGISTRO tRansfeRs en VHDL y VeRiLog


Aunque hay algunas similitudes, el lenguaje de registro de transferencia utiliza aqu DIF-
fiere tanto de VHDL y Verilog. En particular, se utiliza la notacin diferente en cada uno
de los tres idiomas. Tabla 6-2 compara la notacin para muchas operaciones de registro
de transferencia idnticos o simi-lar en los tres idiomas. A medida que estudia este
captulo y en otros a seguir, esta tabla le ayudar en las descripciones relativas en el texto
RTL a las descripciones correspondientes en VHDL o Verilog.
332 CAPTULO 6 / registros y transferencias de registro

Tabla 6-2
Smbolos de libros de texto RTL, VHDL y Verilog para las transferencias de registro

Operacin RTL texto VHDL Verilog

combinacional = 6 = (concurrente) asignar = (Sin bloqueo)


asignacin
registrar la
transmisin 6 = (concurrente) 6 = (Sin bloqueo)
Adicin + + +
Sustraccin
AND bit a bit y y
OR bit a bit o |
XOR bit a bit xor ^
NO bit a bit - (overline) no
Desplazamiento a la
izquierda (lgico) sl sll <<
Desplazamiento a la
derecha (lgico) sr srl >>
Vectores / registros UN(3: 0) UN(3 a 0) UN[3: 0]
Concatenacin || y {,}

6-5 MicRoopeRations
Una microoperacin es una operacin elemental realizado en los datos almacenados en
los registros o en la memoria. Las microoperaciones ms a menudo encontrados en los
sistemas digitales son de cuatro tipos:
1. Transferir microoperaciones, que transfieren los datos binarios de un registro a un-
otro.

2. Aritmtica microoperaciones, que realizan operaciones aritmticas en los datos en


los registros.
3. Lgica microoperaciones, que realizan la manipulacin de bits de datos en los
registros.
4. Cambio microoperaciones, que de desplazamiento de datos en los registros.
A microoperacin dado puede ser de ms de un tipo. Por ejemplo, una operacin de
comple-ment 1s es tanto una microoperacin aritmtica y una microoperacin lgica.
microoperaciones de transferencia se introdujeron en la seccin anterior. Este tipo
de microoperacin no cambia los bits de datos binarios en su desplazamiento desde el
registro de origen en el registro de destino. Los otros tres tipos de microopera-ciones
pueden producir nuevos datos binarios y, por lo tanto, la nueva informacin. En los
sistemas digitales, conjuntos bsicos de operaciones se utilizan para formar secuencias
que implementan ms operaciones compli-cado. En esta seccin, se define un conjunto
bsico de microoperaciones, notacin sim-blico para estas microoperaciones y
descripciones del hardware digital que las implementa.
6-5 / microoperaciones 333

microoperaciones aritmticas
Definimos las microoperaciones aritmticas bsicas como sumar, restar, incremento,
Decre-ment, y complemento. La declaracin
R0re R1+ R2
especifica una operacin de adicin. Se afirma que el contenido del registro R2 son para
ser aadido a los contenidos de registro R1 y la suma transferida al registro R0. Para
poner en prctica esta declaracin con el hardware, necesitamos tres registros y un
compo-nente combinacional que realiza la suma, como un sumador paralelo. Las otras
operaciones aritmticas bsicas se enumeran en la Tabla 6-3. La resta ms a menudo se
implementa a travs de la complementacin y la adicin. En lugar de utilizar el operador
menos, podemos especificar la resta complemento a 2 por la declaracin
R0re R1+ R2+ 1
donde R2 especifica el complemento de 1s R2. Adicin de 1 a R2 da los 2s-ment comple
de R2. Por ltimo, aadir el complemento a 2 de R2 al contenido de R1 se presta-equiva
a R1- R2.
Las microoperaciones de incremento y decremento se simbolizan por un ms uno y
menos uno operacin, respectivamente. Estas operaciones se implementan mediante el
uso de un circuito especial combinacional, un sumador-restador, o un contador arriba-
abajo binario con carga paralela.
La multiplicacin y la divisin no se enumeran en la Tabla 6-3. La multiplicacin
puede ser representado por el smbolo * y divisin por /. Estas dos operaciones no se
incluyen en el conjunto bsico de microoperaciones aritmticas porque se supone a ser
implementado por secuencias de microoperaciones bsicas. Sin embargo, multiplica-cin
puede ser considerado como una microoperacin si implementado por un circuito
combinatorio. En tal caso, el resultado se transfiere a un registro de destino en el borde de
reloj despus de todas las seales se han propagado a travs de todo el circuito
combinatorio.

Tabla 6-3
microoperaciones aritmticas

Designacin Descripcin simblica

R0re R1+ R2 Contenido de R1 plus R2 transferidos a R0


R2re R2 Complemento de los contenidos de R2 (complemento
R2re R2+ 1 1s)

R0re R1+ R2+ 1 complemento a 2 de los contenidos de R2


R1re R1+ 1 R1 ms complemento a 2 de R2 transferido a R0 (sustraccin)
R1re R1- 1
Incr
eme
ntar
el
con
teni
do
de
R1
(co
ntar
hast
a)
dis
min
uir
el
con
teni
do
de
R1
(cu
enta
atr
s)
334 CAPTULO 6 / registros y transferencias de registro

Existe una relacin directa entre las declaraciones escritas en notacin registro de
transferencia y los registros y funciones digitales necesarios para su ejecucin. Como
ejemplo, consideremos las dos afirmaciones siguientes:
XK1: R1re R1+ R2 XK1:
R1re R1+ R2+ 1
El control variable de K1 se activa una operacin de suma o resta. Si, al mismo tiempo,
controlar variable X es igual a 0, entonces XK1=1, y el contenido de R2 se aaden al
contenido de R1. Si X es igual a 1, entonces XK1=1, y el contenido de R2 son sub-tracted
de los contenidos de R1. Tenga en cuenta que las dos condiciones de control son
funciones booleanas y reducir a 0 cuando K1= 0, una condicin que inhibe la ejecucin
de ambas operaciones simultneamente.
Un diagrama de bloques, que muestra la aplicacin de los dos estados-mentos
anteriores, se da en la Figura 6-6. Un sumador-restador de n bits, similar al que se
muestra en la figura 3-45, recibe sus datos de entrada de los registros R1 y R2. La suma o
la diferencia se aplica a las entradas de R1. El Seleccione la entrada S del sumador-
restador selecciona la operacin en el circuito. Cuando es= 0, se aaden las dos entradas,
y cuando S =1, R2 se resta de R1. La aplicacin de la variable de control X a la entrada S
activa la operacin requerida. La salida del sumador-restador se carga en R1 en cualquier
borde de reloj pos-itive a la que XK1= 1 o XK1 = 1. Podemos simplificar esta a solo K1,
ya
XK1 + XK1 = (X+ X) K1= K1
Por lo tanto, la variable de control X selecciona la operacin, y la variable de control K1
carga el resultado en R1.

R2

norte
norte

El sumador-restador
do
n-1 Seleccionar
(S) X
do
norte

norte

V do R1 Carga K1

Figura 6-6
Implementacin de sumar y restar microoperaciones
6-5 / microoperaciones 335

Tabla 6-4
microoperaciones lgicas

Simblico
Designacion Descripcin

R0re R1 bit a bit lgico NOT (complemento 1s)


R0re R1 R2 bit a bit lgico Y (despeja bits) bit a bit
R0re R1 R2 OR lgico (establece bits)
R0re R1 R2 XOR bit a bit lgico (complementa bits)

Basndose en la discusin de desbordamiento en la Seccin 3-11, la salida de


desbordamiento se transfiere al flip-flop V, y el acarreo de salida desde el bit ms
significativo del sumador-restador se transfiere al flip-flop C, como se muestra en la
Figura 6 -6. Estas transferencias se producen cuando K1= 1 y que no estn representados
en las declaraciones de trasferencia entre registros; -si se desea, se podra mostrar como
transferencias simultneas adicionales.

microoperaciones lgicas
microoperaciones lgicas son tiles en la manipulacin de los bits almacenados en un
registro. Estas operaciones consideran cada bit en el registro por separado y se tratan
como un Vari-poder binario. Se muestran los smbolos para las cuatro operaciones
lgicas bsicas en la Tabla 6-4. La microoperacin NO, representado por una barra sobre
el nombre del registro de origen, complemento
mentos todos los bits y por lo tanto es el mismo que el complemento 1s. El
smbolo se usa para
denotar la Y microoperacin y el smbolo para denotar la microopera- OR
cin. Mediante el uso de estos smbolos especiales, podemos distinguir entre el add-acin
microoper representado por una+y la microoperacin OR. Aunque el+smbolo tiene dos
significados, podemos distinguir entre ellos al notar que se produce el smbolo. Si el+se
produce en una microoperacin, denota adicin. Si el+ocurre en un control o funcin
booleana, denota OR. La microoperacin o que siempre
utilizar
el smbolo. Por ejemplo, en la declaracin

(K1+ K2): R1 re R2 + R3, R4 re R5 R6


el + entre K1 y K2 es una operacin OR entre dos variables en una con- de control
DICIN. los+entre R2 y R3 especifica una microoperacin add. El microop- OR
racin se designa por el smbolo entre registros R5 y R6. La lgica
microoperaciones pueden implementarse fcilmente con un grupo de puertas, una para
cada posicin de bit. El NO de un registro de n bits se obtiene con n puertas NOT en
paralelo. El Y microoperacin se obtiene usando un grupo de n puertas Y, recibiendo
cada uno un par de entradas de los dos registros fuente correspondiente. Las salidas de las
puertas AND son aplicadas a las entradas correspondientes del registro de destino. La O y
exclu-siva-OR microoperaciones requieren una disposicin similar de puertas.
Las microoperaciones lgicas pueden cambiar los valores de bit, borrar un grupo de
bits, o insertar nuevos valores de bit en un registro. Los siguientes ejemplos muestran
cmo los bits almacenados en la 16-bit de registro R1 se puede cambiar selectivamente
mediante el uso de una microoperacin lgica y un operando de la lgica almacenada en
el registro de 16 bits R2.
336 CAPTULO 6 / registros y transferencias de registro

El Y microoperacin se puede utilizar para la limpieza de uno o ms bits en un


regis-ter a 0. Las ecuaciones booleanas X 0 = 0 y X 1 =X dictan que, cuando AND con 0,
una variable binaria X produce un 0, pero cuando AND con 1, la variable se mantiene sin
cambios. Un bit o grupo de bits en un registro se pueden borrar a 0 si AND con 0.
Consideremos el siguiente ejemplo:

10101101 10101011 R1 (datos)


(msca
00000000 11111111 R2 ra)
00000000 10101011 R1re R1 R2

El operando de la lgica de 16 bits en R2 tiene 0s en el byte de orden y 1s en el byte de


orden inferior. Por ANDing el contenido de R2 con el contenido de R1, es posible borrar
el byte de orden superior de R1 y dejar los bits en el byte de orden inferior sin cambios.
Por lo tanto, la operacin AND se puede utilizar para selectivamente bits de claras de un
reg-ister. Esta operacin se llama a veces enmascarar los bits, porque mscaras o elimina
todos los 1s en los datos en R1, basado en las posiciones de bit que son 0 en la mscara
proporcionada en R2.

La microoperacin OR se utiliza para establecer uno o ms bits en un registro. Las


ecuaciones booleanas X+ 1 = 1 y X + 0 =X dictan que, cuando ORED con 1, la variable
binaria X produce un 1, pero cuando ORED con 0, la variable se mantiene sin cambios.
Un bit o grupo de bits en un registro se pueden ajustar a 1 si ORed con 1. Consideremos
el siguiente ejemplo:

10101101 10101011 R1 (datos)


(msca
11111111 00000000 R2 ra)
11111111 10101011 R1re R1 R2

El byte de orden de R1 se establece en todos los 1s por ORing con todos los 1s en
el R2 oper-y. El byte de orden inferior se mantiene sin cambios, ya que es la OR lgica
con 0s.
El XOR (OR exclusivo) microoperacin se puede utilizar para complementar uno o
ms bits en un registro. Las ecuaciones booleanas X 1= X y X 0 =X dictan que, cuando
una variable binaria X es XOR 1, que se complementa, pero cuando XOR con 0, la
variable se mantiene sin cambios. Por XORing un bit o grupo de bits en el registro R1
con 1s en posiciones seleccionadas en R2, es posible comple-ment los bits en las
posiciones seleccionadas en R1. Consideremos el siguiente ejemplo:

10101101 10101011 R1 (datos)


(msca
11111111 00000000 R2 ra)
01010010 10101011 R1re R1 R2

El byte de orden en R1 se complementa despus de la operacin XOR con R2, y el byte


de orden inferior es sin cambios.
6-6 / microoperaciones en un registro
nico 337

Tabla 6-5
ejemplos de los turnos

Ejemplos de ocho bits

Simblico Despus Shift:


Tipo Designacion fuente R2 destino R1
desviacin a la
izquierda R1re R2 sl 10011110 00111100
desplazamiento a
la derecha R1re sr R2 11100101 01110010

microoperaciones de desplazamiento
microoperaciones de desplazamiento se utilizan para el movimiento lateral de los datos.
El contenido de un registro fuente se pueden desplazar a la derecha oa la izquierda. Un
desplazamiento a la izquierda es hacia el bit ms significativo, y un desplazamiento a la
derecha es hacia el bit menos significativo. microopera-ciones de desplazamiento se
utilizan en la transferencia serie de datos. Tambin se utilizan para manipular el
contenido de los registros en operaciones aritmticas, lgicas y de control. El registro
desti-nacin para una microoperacin cambio puede ser el mismo que o diferente del
registro fuente. Utilizamos una cadena de letras para representar las microoperaciones de
desplazamiento definidos en la Tabla 6-5. Por ejemplo,

R0re sr R0, R1re R2 sl


son dos microoperaciones que especifican, respectivamente, un desplazamiento de un bit
a la derecha de los contenidos del registro R0 y una transferencia del contenido de R2
desplazan un bit hacia la izquierda en el registro R1. El contenido de R2 no son
cambiadas por este cambio.
Para una microoperacin-desplazamiento a la izquierda, que llamamos el bit ms a
la derecha del destino se registra el bit entrante. Para una microoperacin desplazamiento
a la derecha, se define el bit ms a la izquierda del registro de destino como el bit
entrante. El bit de entrada puede tener valores di-ferentes, dependiendo del tipo de
cambio microoperacin. Aqu asumimos que, para SR y SL, el bit de entrada es 0, como
se muestra en los ejemplos de la Tabla 6-5. El bit de salida es el bit ms a la izquierda del
registro de origen para la operacin de cambio de izquierda y el bit ms a la derecha del
registro de origen para la operacin de cambio derecho. Para los desplazamientos a la
izquierda y la derecha se muestra, el valor del bit de salida simplemente se descarta. En el
captulo 9, vamos a explorar otros tipos de cambios que tratan bits entrantes y salientes de
forma diferente.
6-6 MicRoopeRations en una sIngle ReGISTRO
En esta seccin se refiere a la aplicacin de una o ms microoperaciones con un registro
nico como el destino de todos los resultados primarios. El registro nico tambin puede
servir como una fuente de un operando para operaciones binarias y unarios. Debido a la
estrecha relacin entre un nico conjunto de elementos de almacenamiento y las
microoperaciones, la
338 CAPTULO 6 / registros y transferencias de registro

lgica combinatoria aplicacin de las microoperaciones se supone que es una parte del
registro y se llama lgico dedicado del registro. Esto est en contraste con la lgica que
es compartida por mltiples registros de destino. En este caso, la lgica combinacional la
aplicacin de las microoperaciones se llama lgica compartida por el conjunto de
registros desti-nacin.
La lgica combinacional la aplicacin de las microoperaciones descritos en la
seccin anterior se puede usar uno o ms bloques funcionales del Captulo 3 o puede ser
diseado especficamente para el registro. Inicialmente, los bloques funcionales se
pueden utilizar en combinacin con flip-flops D o flip-flops D con habilitar. Una tcnica
simple usando multiplexores para la seleccin se introduce para permitir que mltiples
microoperaciones en un nico registro. A continuacin, los registros de funcin simple y
mltiple que realizan cambiantes y estn diseados de conteo.

Transferencias Multiplexor-Basado
Hay ocasiones en que un registro recibe los datos de dos o ms fuentes diferentes en
momentos diferentes. Considere la siguiente sentencia condicional que tiene una forma
si-entonces-else:

si (K1= 1) a continuacin (R0 re R1) else if (K2 = 1) a continuacin (R0 re


R2)
El valor en el registro R1 se transfiere al registro R0 cuando la seal de control K1 es
igual a 1. Cuando K1 =0, el valor en el registro R2 se transfiere a R0 cuando K2 es igual
a 1. De lo contrario, el contenido de R0 se mantiene sin cambios. La sentencia
condicional puede ser roto en dos partes usando las siguientes condiciones de control:
K1: R0re R1, K1K2: R0re R2

Esto especifica las conexiones de hardware de dos registros, R1 y R2, a un destino comn
el registro R0. Adems, hacer una seleccin entre dos registros de origen debe basarse en
los valores de las variables de control K1 y K2.
El diagrama de bloques para un circuito con registros de 4 bits que implementa las
declaraciones de registro de transferencia de condi-cional utilizando un multiplexor se
muestra en la figura 6-7 (a). El quad 2-a-1 multiplexor selecciona entre los dos registros
de origen. para K1=1, R1 se carga en R0, independientemente del valor de K2. para K1=
0 y K2 =1, R2 se carga en R0. Cuando tanto K1 y K2 son iguales a 0, el multiplexor
selecciona R2 como la entrada a R0, pero, debido a la funcin de control, K2+ K1,
conectado a la entrada de carga de R0 es igual a 0, el contenido de R0 permanecen sin
cambios.
El diagrama lgico detallado para la implementacin de hardware se muestra en la
figura 6-7 (b). El diagrama utiliza smbolos de bloques funcionales basados en la lgica
detallada para los registros en la Figura 6-2 y para un multiplexor quad 2-a-1 del captulo
3. Obsrvese que puesto que este diagrama representa slo una parte de un sistema, hay
entradas y salidas que an no estn conectados. Adems, el reloj no se muestra en el
diagrama de bloques, pero se muestra en el diagrama detallado. Es importante relacionar
la informacin dada en un diagrama de bloques como la figura 6-7 (a) con el detalle de
6-6 / microoperaciones en un registro nico 339

K2
4 K1
R2
S Carga
0
4
MUX R0
1

4
R1

(A) Diagrama de bloques

K2
K1

R2
REGISTRO
CARGA R0
2-a-1 MUX
do REGISTRO
S CARGA
re0 Q0 UN0
re1 Q1 UN1 do
re2 Q2 UN2 Y re
0 0 Q0
re Q UN re1
3 3 3 Y1 Q1
segun re2 Q2
do0 Y2 re3 Q3
segun
R1 do1 Y3
segund
REGISTRO o2
segun
CARGA do3
Reloj do

re0 Q0
re1 Q1
re2 Q2

re Q
3 3

(B) la lgica detallada

Figura 6-7
El uso de multiplexores para seleccionar entre dos registros

conexiones de cableado en el diagrama lgico correspondiente en la figura 6-7 (b). Con el


fin de ahorrar espacio, a menudo omitimos los diagramas lgicos detallados en los
diseos. Sin embargo, es posible obtener un diagrama lgico con el cableado detallada
del diagrama de bloques correspondiente y una biblioteca de bloques funcionales. De
hecho, tal procedimiento se per-formado por programas de ordenador utilizados para la
sntesis de la lgica automatizada.
340 CAPTULO 6 / registros y transferencias de registro

K
0 .
.
.
...

Dedicado 4 codificad
0 lgico or
. ...
.
.
0 Sm S0 Carga
..
4 . .
. . MUX
4
4 k R0
. .
. registros o . .
.
lgica
compartida . .
. 4

Figura 6-8
Generalizacin del multiplexor de seleccin para n Fuentes

El ejemplo anterior se puede generalizar al permitir que el multiplexor de tener n


fuentes y estas fuentes para ser registrar salidas o microoperaciones lgicas implementar
combinacionales. Esta generalizacin se traduce en el diagrama de bloques se muestra en
la Figura 6-8. El diagrama supone que cada fuente es o bien las salidas de un registro o de
la lgica combinacional de aplicacin una o ms microinstrucciones. En aquellos casos en
los que las microoperaciones se utilizan exclusivamente para el registro, la lgica
dedicada cor-responder se incluye como parte del registro. En la Figura 6-8, las primeras
fuentes k se dedican lgica y el ltimo n-k fuentes son o registros o lgica compartida.
Las seales de control que seleccionan una fuente dada son o bien una variable de control
individual o el OR de todas las seales de control correspondientes a las
microoperaciones asociados con la fuente. Para forzar R0 a cargar para un
microoperacin, estas seales de control se ORed juntos para formar la seal de carga.
Como se supone que slo una de las seales de control es 1 en cualquier momento, estas
seales deben ser codificados para proporcionar los cdigos de seleccin para el
multiplexor. Dos modificaciones a la estructura dada son posibles. Las seales de control
se podran aplicar directamente a un 2*n AND-OR cir-cuit (es decir, un multiplexor con
el descodificador eliminada). Alternativamente, las seales de control ya podran ser
codificados, omitiendo el uso del-todos cero cdigo, de modo que la puerta O todava
forma la seal de carga correctamente.

Registros de desplazamientos
Un registro capaz de desplazar sus bits almacenados lateralmente en una o ambas
direcciones se denomina un registro de desplazamiento. La configuracin lgica de un
registro de desplazamiento consiste en una cadena de flip-flops, con la salida de un flip-
flop conectada a la entrada de
6-6 / microoperaciones en un registro nico 341

De serie De serie
re re re re
de
entrada SI salida de SO
do do do do

Reloj
(A) Diagrama
lgico

Reloj SRG 4

sl ASI QUE

(B) Smbolo

Figura 6-9
4-Registro de desplazamiento

la siguiente flip-flop. Todos los flip-flops tienen una entrada de pulso de reloj comn que
activa el cambio.

El ms simple de registro de desplazamiento posible slo utiliza los flip-flop, como


se muestra en la figura 6-9 (a). La salida de un flip-flop dada est conectada a la entrada
D del flip-flop en su derecha. El reloj es comn a todos los flip-flops. La entrada en serie
SI es la entrada a la izquierda del flip-flop. La salida en serie de modo que se toma de la
salida de la derecha flip-flop. Un smbolo para el registro de desplazamiento se da en la
figura 6-9 (b).
A veces es necesario controlar el registro de manera que se desplaza slo en ciertos
flancos de reloj positivos. Para el registro de desplazamiento en la figura 6-9, el cambio
puede ser controlado mediante la conexin del reloj a travs de la lgica mostrada en la
figura 6-1 (c), con la sustitucin de Shift Load. Una vez ms, debido al sesgo del reloj,
esto no suele ser el enfoque ms conveniente. Por lo tanto, aprender a continuacin que la
operacin de cambio puede ser controlado a travs de las entradas D de los biestables en
lugar de a travs del reloj introduce C.

Registro de desplazamiento con carga paralelaSi todas las salidas de los flip-flop
de un registro de desplazamiento son accesible, entonces la informacin entr en serie
desplazando puede ser sacado en paralelo desde las salidas de los flip-flop. Si una
capacidad de carga en paralelo tambin se agrega a un registro de desplazamiento, a
continuacin, los datos introducidos en paralelo se pueden desplazar a cabo en serie. Por
lo tanto, un registro de desplazamiento con salidas del flip-flop accesibles y carga en
paralelo se puede utilizar para convertir los datos en paralelo de entrada a salida de datos
en serie y viceversa.
El diagrama lgico para un registro de desplazamiento de 4 bits con carga paralela
y el smbolo para este registro se muestra en la figura 6-10. Hay dos entradas de control,
una para el desplazamiento y el otro para la carga. Cada etapa del registro se compone de
un flip-flop D, una puerta O, y tres puertas AND. La primera puerta permite la operacin
de cambio. El sec-ond puerta Y permite que los datos de entrada. La tercera puerta Y
restaura el contenido del registro cuando se requiere ninguna operacin.
342 CAPTULO 6 / registros y transferencias de registro

Cam
bio
Carga
entra
da en
re Q0
serie
do
re
0

SHR 4
re Q1
Camb
do io
re Carga
1 sl
Q
re0 0

re1 Q1
re re
2 Q2
Q2
do re3 Q3
(B) Smbolo
re
2

re
do
Q
3

re
3
Figura 6-10
Registro de desplazamiento con
carga paralela
Reloj

El funcionamiento de este registro se especifica en la Tabla 6-6 y tambin se da por


las transferencias Registro:
Cambio: Qre sl Q
Cargar turno: Qre re

Tabla 6-6
Tabla de funciones para el registro de la figura 6-10

Cambio Carga Operacin

0 0 Ningn cambio (Hold)


0 1 Cargar datos en paralelo
Desviacin a la izquierda (hacia
1 * abajo) desde Q0 a Q3
6-6 / microoperaciones en un registro nico 343

La operacin sin cambios, tambin llamado Hold, est implcito si ninguna de las
condi-ciones para las transferencias se cumple. Cuando tanto el turno y de carga entradas
de control son 0, la tercera puerta Y en cada etapa est activada, y la salida de cada flip-
flop se aplica a su propia entrada D. Una transicin positiva del reloj restaura el
contenido al registro, y la salida es sin cambios. Cuando la entrada de desplazamiento es
0 y la entrada de carga es 1, la segunda puerta Y en cada etapa est activada, y la entrada
de Di se aplica a la entrada D del correspondiente flip-flop. La siguiente transicin de
reloj positivo trans-fiere los datos de entrada paralelos en el registro. Cuando la entrada
de desplazamiento es igual a 1, la primera puerta Y en cada etapa est activado y los otros
dos son discapacitados. Desde la entrada de carga est desactivado por la entrada de
desplazamiento en la segunda puerta Y, lo marcamos con una condicin de no importa en
la fila de desplazamiento de la mesa. Cuando un flanco positivo se produce en el reloj, la
operacin de cambio hace que los datos de la SI de entrada en serie para ser transferidos a
flip-flop Q0, la salida de Q0 a ser transferido a flip-flop Q1, y as sucesivamente hasta la
lnea de . Tenga en cuenta que debido a la forma se dibuja el circuito, el cambio se
produce en la direccin hacia abajo. Si hacemos girar la pgina de un cuarto de vuelta en
sentido horario, los turnos regis-ter de derecha a izquierda.

Los registros de desplazamiento se utilizan a menudo para interconectar sistemas


digitales que son distantes entre s. Por ejemplo, supongamos que es necesario transmitir
una cantidad de n bits entre dos puntos. Si la distancia es grande, es caro para el uso n
lneas para transmitir los n bits en paralelo. Puede ser ms econmico usar una sola lnea
y transmitir la informa-cin en serie, un bit a la vez. El transmisor de carga los datos de n
bits en paralelo en un registro de desplazamiento y luego transmite los datos en serie a lo
largo de la lnea comn. El receptor acepta los datos en serie en un registro de
desplazamiento. Cuando se lated acumu-todos los n bits, pueden tomarse en paralelo
desde las salidas del registro. Por lo tanto, el transmisor realiza una conversin de
paralelo a serie de datos, y el receptor hace una conversin de serie a paralelo.

Registro de desplazamiento bidireccionalUn registro capaz de cambiar en una


sola direccin es denominado un registro de desplazamiento unidireccional. Un registro
que se puede desplazar en ambas direcciones es un registro de desplazamiento
bidireccional. Es posible modificar el circuito de la figura 6-10, mediante la adicin de un
cuarto la puerta Y en cada etapa, para el desplazamiento de los datos en la direccin
ascendente. Una investigacin de circuito resultante revelar que los cuatro puertas Y,
junto con la puerta OR en cada etapa, constituyen un multiplexor con las entradas de
seleccin que controla el funcionamiento del registro.
Una etapa de un registro de desplazamiento bidireccional con carga paralela se
muestra en la figura 6-11 (a). Cada etapa consiste en un flip-flop D y un multiplexor 4-a-
1-lnea. Las dos entradas de seleccin S1 y S0 elija una de las entradas del multiplexor
que se aplican al flip-flop D. Las lneas de seleccin de control del modo de
funcionamiento del registro de acuerdo con la Tabla 6-7 y las transferencias de Registro:
S1 S0: Qre sl Q
S1 S0: Qre Q sr
S1 S0: Qre re
344 CAPTULO 6 / registros y transferencias de registro

re
do

MUX SHR 4
Reloj
S1 S1 modo S1 S1
S
S0 0 modo S0 S0
entrada en serie a la
izquierda LSI
re0 Q0
0 re Qyo
re1 Q1
1 do
re2 Q2
2
re3 Q3
derecho de entrada en
reyo 3 serie RSI

(B) Smbolo
re
do
Reloj
(A) Diagrama lgico de una etapa
tpica

Figura 6-11
Registro de desplazamiento bidireccional con carga paralela

La operacin sin cambios est implcita si se cumple ninguna de las condiciones de las
transferencias. Cuando el control de modo S1S0=00, se selecciona la entrada 0 del
multiplexor. Esto forma un camino desde la salida de cada flip-flop en su propia entrada.
La siguiente transicin de reloj transfiere el valor almacenado actual de nuevo en cada
flip-flop, y ningn cambio de estado. cuando S1S0= 01, el terminal marcado 1 en el
multiplexor

Tabla 6-7
Tabla de funciones para el registro de la figura 6-11

modo de control Registro


Operacin
S1 S0
Ningn cambio
0 0 (Hold)
desviacin a la
0 1 izquierda
1 0 desplazamiento a la
derecha
1 1 carga paralela
6-6 / microoperaciones en un registro nico 345

tiene un camino a la entrada D de cada flip-flop. Estas trayectorias producen una


operacin de desplazamiento hacia la izquierda, con los bits que se mueve hacia el bit
ms significativo (hacia abajo en la figura). La entrada en serie se transfiere a la primera
etapa, y el contenido de cada etapa, Qi-1, se transfiere a la etapa Qi. Cuando S1S 0=10,
una operacin de desplazamiento a la derecha resulta en una segunda serie de entrada que
entra en la ltima etapa. Adems, el valor en cada etapa Qi+1 se transfiere a la etapa Qi
(hasta en la figura). Por ltimo, cuando S1S0= 11, la informacin binaria en cada lnea de
entrada en paralelo se transfiere en el flip-flop corresponden-ing, resultando en una carga
en paralelo.
Figura 6-11 (b) muestra un smbolo para el registro de desplazamiento
bidireccional de la figura 6-11 (a). Tenga en cuenta que se proporcionan tanto una
entrada de la izquierda en serie (LSI) y una serie de entrada derecha (RSI). Si se desean
salidas serie, Q3 se utiliza para el desplazamiento a la izquierda y Q0 de desplazamiento
a la derecha.

Contador ondulacin
Un registro que pasa a travs de una secuencia prescrita de estados distintos de la
aplicacin de una secuencia de impulsos de entrada se llama un contador. Los pulsos de
entrada pueden ser pulsos de reloj o pueden proceder de alguna otra fuente, y pueden
ocurrir a intervalos regulares o irregulares de tiempo. En nuestra discusin de los
contadores, suponemos pulsos de reloj, pero otras seales pueden ser sustituidos por el
reloj. La secuencia de estados puede seguir la secuencia nmero binario o cualquier otra
secuencia prescrita de estados. Un contador que sigue la secuencia nmero binario se
llama un contador binario. Un contador binario de n bits consta de n flip-flops y puede
contar en binario de 0 a 2n- 1.

Los contadores estn disponibles en dos categoras: los contadores de rizado y


contadores sncronos. En un contador de ondulacin, las transiciones de salida del flip-
flop sirven como las fuentes para activar los cambios en otros flip-flops. En otras
palabras, las entradas C de algunos de los flip-flops se activan no por el pulso de reloj
comn, pero ms bien por las transiciones que se producen en otras salidas del flip-flop.
En un contador sncrono, las entradas C de todos los flip-flops reciben el pulso de reloj
comn, y el cambio de estado se determina a partir del estado actual del contador.
contadores sncronos se discuten en las siguientes dos subsecciones. Aqu presentamos el
contador de ondulacin binario y explicar su funcionamiento.

El diagrama lgico de un contador de ondulacin binario de 4 bits se muestra en la


figura 6-12. El contador se construye a partir de flip-flops D conectados de tal manera que
la apli-cin de un flanco positivo en la entrada C de cada flip-flop hace que el flip-flop
para complementar su estado. La salida complementada de cada flip-flop se conecta a la
entrada C de la siguiente ms significativo flip-flop. El flip-flop que sostiene el bit menos
significativo recibe los impulsos de reloj entrantes. Positivo-borde activacin hace que
cada flip-flop complementar su valor cuando la seal en su entrada C pasa a travs de una
transicin positiva. La transicin positiva se produce cuando la salida comple-mentado de
la anterior flip-flop, al que est conectado C, pasa de 0 a 1. Una seal de 1 nivel sobre
Restablecer conducir las entradas R borra el registro de todos los ceros de forma
asincrnica.
346 CAPTULO 6 / registros y transferencias de registro

re

do
pulso de reloj
R

re

do
R

re

do
R

re

do
R
Reinicia
r

Figura 6-12
4-Bit Contador de rizado

Para comprender el funcionamiento de un contador de ondulacin binario,


examinemos la secuencia de conteo ascendente dada en la mitad izquierda de la Tabla 6-
8. El recuento comienza en binario 0 y se incrementa en uno con cada impulso de contaje.
Tras el recuento de los 15, el contador vuelve a 0 para repetir el recuento. El bit menos
significativo (Q0) es-comple mentado por cada impulso de recuento. Cada vez que Q0 va
de 1 a 0, Q0 va de 0 a 1, complementando la Q1. Cada vez que Q1 pasa de 1 a 0, que
complementa la Q2. Cada vez que Q2 va de 1 a 0, se complementa Q3, y as
sucesivamente para los bits de orden superior en el contador de ondulacin. Por ejemplo,
considere la transicin de recuento de 0011 a 0100. Q0 se complementa con el borde de
pulso recuento positivo. Desde Q0 va de 1 a 0, se dispara la Q1 y lo complementa. Como
resultado, Q1, va de 1 a 0, lo que complementa Q2, cambindolo de 0 a 1. Q2 no
desencadena la Q3, Q2, porque produce una transicin negativa, y los flip-flops responder
slo a las transiciones positivas. Por lo tanto, el recuento de 0.011-0100 se consigue
cambiando los bits de uno a la vez. El contador va de 0,011 a 0010 (Q0 de 1 a 0), luego a
0000 (Q1 de 1 a 0), y finalmente a 0100 (Q2 de 0 a 1). Los flip-flops cambian de uno a la
vez en una sucesin rpida como la seal se propaga a travs del mostrador de una
manera ondulacin de una etapa a la siguiente.
Un contador de ondulacin que cuenta hacia abajo da la secuencia en la mitad
derecha de la Tabla 6-8. conteo descendente se puede realizar mediante la conexin de la
verdadera salida de cada flip-flop a la entrada C de la siguiente flip-flop.
La ventaja de los contadores de rizado es su hardware sencilla. Por desgracia, son
circuitos asncronos y, con la lgica adicional, puede convertirse en circuitos con retraso
6-6 / microoperaciones en un registro nico 347

Tabla 6-8
Secuencia de recuento del contador
binario
Secuencia de conteo hacia Secuencia de conteo
arriba descendente
Q
3 Q2 Q1 Q0 Q3 Q2 Q1 Q0
0 0 0 0 1 1 1 1
0 0 0 1 1 1 1 0
0 0 1 0 1 1 0 1
0 0 1 1 1 1 0 0
0 1 0 0 1 0 1 1
0 1 0 1 1 0 1 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 0 0
1 0 0 0 0 1 1 1
1 0 0 1 0 1 1 0
1 0 1 0 0 1 0 1
1 0 1 1 0 1 0 0
1 1 0 0 0 0 1 1
1 1 0 1 0 0 1 0
1 1 1 0 0 0 0 1
1 1 1 1 0 0 0 0

dependencia y un funcionamiento poco fiable. Esto es particularmente cierto para la


lgica que proporciona caminos de realimentacin de salidas del contador de nuevo a las
entradas de contador. Adems, debido a la cantidad de tiempo requerido para la
ondulacin para terminar, grandes contadores de rizado pueden ser circuitos lentos.
Como consecuencia, los contadores binarios sncronos son favorecidos en todo menos en
diseos de bajo consumo, donde los contadores de rizado tienen una ventaja. (Vase el
problema 6-9.)

Contadores binarios sncronos


contadores sncronos, en contraste con la ondulacin contadores, tienen el reloj aplicado a
las entradas C de todos los flip-flops. Por lo tanto, el pulso de reloj comn desencadena
todos los flip-flops simultan-ormente en lugar de una a la vez, como en un contador de
ondulacin. Un contador binario sncrono que cuenta hacia arriba por 1 puede construirse
a partir del incrementador en la figura 3-52 y flip-flops D, como se muestra en la figura
6-13 (a). La salida de acarreo CO se aade al no colocar unaX valor en el do4 de salida
antes de la contraccin de una vbora a la incrementador de La figura 3-52. Salida de CO
se utiliza para extender el contador a ms etapas.
Tenga en cuenta que los flip-flops se disparan cuando la transicin de borde
positivo del reloj. La polaridad del reloj no es esencial en este caso, como lo fue para el
contador de ondulacin. El contador de syn-chronous puede ser diseado para
desencadenar ya sea con el positivo o la transicin negativa del reloj.

contadores de serie y paraleloVamos a utilizar el contador sncrono en la figura 6-


13 para demostrar dos diseos alternativos para los contadores binarios. En la figura 6-13
(a), una cadena de 2-input puertas Y se utiliza para proporcionar informacin para cada
etapa sobre el estado de las etapas anteriores en el mostrador. Esto es anlogo a la lgica
de acarreo en la ondulacin carry sumador. Un contador que utiliza tal lgica se dice que
tiene gating serie y se refiere
348 CAPTULO 6 / registros y transferencias de registro

Q0

ES
La cuenta se permitir ES re Q0
do
Q
1

do1
re Q1
do
Q2

do
re Q2 2

do
Q3

do3
re Q3
do

Llevar
salida CO
Reloj CO

(A) Diagrama-serie lgica gating (B) Diagrama-paralelo Lgica


gating
CTR 4
ES Q0
Q1
Q2
Q3
CO

(C) Smbolo

Figura 6-13
4-Bit sncrono Contador binario

como un contador de serie. La analoga con la ondulacin carry sumador sugiere que
podra ser lgica contador anloga al sumador de acarreo de bsqueda hacia delante.
Dicha lgica se puede derivar mediante la contratacin de un sumador de acarreo de
bsqueda hacia delante, con el resultado mostrado en la figura 6-13 (b). Esta lgica puede
simplemente reemplazar que en el cuadro de color azul en la figura 6-13 (a) para producir
un mostrador con gating paralelo, llamado un contador en paralelo. La ventaja de la
lgica gating paralelo es que, al pasar de estado 1111 a estado 0000, slo el retraso de
una puerta Y se produce en lugar de los retardos de cuatro puerta Y que se producen para
el contador de serie. Esta reduccin en el retraso permite que el contador funcione mucho
ms rpido.
Si conectamos dos contadores de 4 bits en paralelo entre s por conexin de la
salida CO de uno a la entrada EN de la otra, el resultado es un contador de serie-paralelo
de 8 bits. Este contador tiene dos partes de 4 bits en paralelo conectados en serie entre s.
La idea puede extenderse a los contadores de cualquier longitud. Una vez ms, el empleo
de la analoga para llevar a sumadores looka-cabeza, niveles adicionales de gating lgica
puede ser introducido para reemplazar la serie
6-6 / microoperaciones en un registro nico 349

las conexiones entre los segmentos de 4 bits. La reduccin en la demora agregado que
resulta es til para construir contadores grandes y rpidos.
El smbolo para el contador de 4 bits utilizando la activacin positiva de borde se
muestra en la figura 6-13 (c).

arriba-abajo contador binarioUn sincrnica cuenta atrs contador binario pasa por
los estados binarios en orden inverso desde 1111 a 0000 y de nuevo a 1111 para repetir el
recuento. El diagrama lgico de un contador binario de cuenta atrs sncrono es similar al
circuito para el up-contador binario, excepto que un decrementador se utiliza en lugar de
un incrementador. Las dos operaciones se pueden combinar para formar un contador que
puede contar tanto hacia arriba y hacia abajo, que se conoce como un contador binario
ascendente-descendente. un contador de este tipo puede ser diseado por contraer el
sumador-restador en la figura 3-45 en un incrementador-decrementador y la adicin de
los flip-flops D. El contador cuenta hacia arriba para S= 0 y hacia abajo para S= 1.

Alternativamente, un contador arriba-abajo con HABILITAR puede ser diseado


directamente de conducta del contador. Se necesita una entrada de modo para seleccionar
entre las dos operaciones. Designamos este modo de seleccin de entrada de S, con S= 0
para un mximo de conteo y S =1 para la cuenta descendente. Deje que la variable sea un
recuento ES entrada de habilitacin, con la norma EN= 1 para el normal hacia arriba o
hacia abajo de conteo y EN =0 para desactivar ambos casos. Un contador binario de 4 bits
arriba-abajo puede ser descrito por las siguientes ecuaciones de entrada del flip-flop:
re
U
N0 = Q0 ES
re
U

N1 = Q1 ((Q0 S + Q 0 S) EN)
re
U

N2 = Q2 ((Q0 Q1 S + Q 0 Q 1 S) EN)
re
U

N3 = Q3 ((Q0 Q1 Q2 S + Q 0 Q 1 Q 2 S) EN)
El diagrama lgico del circuito se puede obtener fcilmente a partir de las ecuaciones de
entrada, pero no se incluye aqu. Cabe sealar que las ecuaciones, como est escrito,
proporcionan compuerta Paral-lel usando la lgica distinta de transporte para el recuento
de abajo-arriba-contar y. Tambin es posible utilizar dos cadenas de compuerta de serie
distintos. En contraste, el contador derivado usando el incrementador-decrementador
utiliza slo una nica cadena de transporte. En general, el costo de la lgica es similar.

contador binario con carga paralelaContadores empleados en los sistemas digitales


bastante a menudo requieren una capacidad de carga en paralelo para transferir un
nmero binario inicial en el contador antes de la operacin de conteo. Dos entradas de
control de la operacin, carga y Conde. Estas entradas se pueden adquirir cuatro
combinaciones, pero se proporcionan slo tres operaciones: carga (10), Conde (01), y
retencin (00). El efecto de la combinacin de entrada restante (11) se considerar en
breve. La aplicacin utiliza un incremento er-plus 2n+1 permite, una puerta NOT, y n 2-
entrada de puertas OR como se muestra en la figura 6-14. El primero n permite con
permitir carga de entrada se utilizan para activar y desactivar la carga paralela de datos de
entrada, D. El segundo n permite con permitir carga de entrada en las salidas
incrementador se utilizan para desactivar tanto el recuento y mantenga las operaciones
cuando Load= 1. Cuando la carga =0, tanto contar y las bodegas estn habilitadas. Sin la
ad-dicional ACTIVAR, el conde= 1, hace que el conteo y recuento = 0, la operacin de
asimiento
350 CAPTULO 6 / registros y transferencias de registro

Carga

Contar
re0 re Q0
do

re
1 re Q1
do

re2 re Q2

do

Q
re3 re 3

do

Llevar
salida CO
Reloj

Figura 6-14
4-Bit Contador binario con carga paralela

ocurre. Qu pasa con el (11) de combinacin? Conteo est desactivado de la seal de


carga y la carga est habilitado de carga. Pero qu pasa con la salida de CO? con el
conde=1, la cadena de transporte para el incrementador es activo y puede producir CO
igual a 1. Pero CO no deberan estar fuera activa de la operacin de recuento. Para hacer
frente a este problema, conde se habilita el uso de carga. con carga= 1, a continuacin,
cargar= 0, que desactiva Count de entrar en la cadena y las fuerzas carry CO a 0. As, por
(11), una carga se produce. Esto a veces se describe como conde de carga de primer
orden. Cuando los contadores de 4 bits se concat enated-para formar contadores de 4n
bits, para el primer estado, una entrada de control recuento est unido a contar en la etapa
menos significativo. Para todas las dems etapas, CO desde el estado anterior est unido a
contar. Contadores con carga paralela son muy tiles en el diseo de las computadoras
digitales. En los captulos siguientes, a menudo nos referimos a ellos como registros con
las operaciones de carga y el incremento.
6-6 / microoperaciones en un registro nico 351

CTR 4
Reloj
Carga
1 Contar
re0 Q0 Q0
re1 Q1 Q1
re2 Q2 Q2
(Lgica re3 Q3 Q3
0)
CO

Figura 6-15
Contador BCD

El contador binario con carga paralela se puede convertir en un contador BCD


sincrnico (sin entrada de carga) mediante la conexin de un externo puerta Y a ella,
como se muestra en la figura 6-15. El contador se inicia con una salida de todo ceros, y la
entrada de contaje est siempre activo. Mientras la salida de la puerta AND es 0, cada
borde de reloj positivo incrementa el contador en 1. Cuando la salida alcanza el recuento
de 1001, ambos Q0 y Q3 se convierten en 1, haciendo que la salida de la puerta Y igual a
1. Este condicin hace carga activa-so en la siguiente transicin de reloj, el contador no
cuenta, pero se carga desde sus cuatro entradas. Puesto que todas las cuatro entradas estn
conectadas a la lgica 0, 0000 se carga en el contador despus de la cuenta de 1001. Por
lo tanto, los recuentos de circuito de 0000 a 1001, seguido de 0000, segn se requiera
para un contador BCD.

otros contadores
Los contadores pueden ser diseados para generar cualquier nmero deseado de estados
en secuencia. Un contador de divisin por N (tambin conocido como un contador de
mdulo-N) es un contador que pasa a travs de una secuencia repetida de N estados. La
secuencia puede seguir la cuenta binaria o puede ser cualquier otra secuencia arbitraria.
En cualquier caso, el diseo de las contra-fol mnimos el procedimiento presentado en el
captulo 4 para el diseo de circuitos secuenciales sncronos. Para demostrar este
procedimiento, se presenta el diseo de dos contadores: un contador BCD y un contador
con una secuencia arbitraria de estados.

contador BCDComo se muestra en la seccin anterior, un contador BCD puede


obtenerse de un contador binario con carga paralela. Tambin es posible disear un BCD
recuento-er directamente utilizando flip-flops y compuertas individuales. Suponiendo de
tipo flip-flops D para el contador, se indican las presentes estados y los correspondientes
estados siguientes de la Tabla 6-9. Una salida Y est incluido en la tabla. Esta salida es
igual a 1 cuando el estado actual es 1001. De esta forma, el CO puede permitir el
recuento de la prxima dcada mientras que sus propios conmutadores dcada 1.001 a
0.000.
Las ecuaciones de entrada de los biestables de D se obtienen de los valores de
estado siguiente enumerados en la tabla y se pueden simplificar por medio de K-mapas.
Los estados no utilizados para
352 CAPTULO 6 / registros y transferencias de registro

Tabla 6-9
entradas de tabla de estado y Flip-Flop contador
BCD
Siguiente
Estado actual Estado Salida

re8 = re4 = re2 = re1 =


Q8 Q4 Q2 Q1 Q8(T + 1) Q4(T + 1) Q2(T + 1) Q1(T + 1) Y
0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 1 0 0
0 0 1 0 0 0 1 1 0
0 0 1 1 0 1 0 0 0
0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 1 0 0
0 1 1 0 0 1 1 1 0
0 1 1 1 1 0 0 0 0
1 0 0 0 1 0 0 1 0
1 0 0 1 0 0 0 0 1

trminos producto 1010 a 1111 se utilizan como condiciones de no importa. Las


ecuaciones de entrada simplificados para el contador BCD son
re1 = Q1
re2 = Q2 Q1 Q8
re4 = Q4 Q1 Q2
re8 = Q8 (Q1Q8+ Q1Q2Q4)
CO = Q1Q8
contadores BCD sncronos pueden conectarse en cascada para formar contadores
para los nmeros decimales de cualquier longitud. La cascada se realiza mediante la
sustitucin de D1 con D1=Q1 CI, donde CI es una entrada impulsado por CO a partir de
la siguiente contador BCD inferior. Tambin, CI necesita ser AND con los trminos de
productos a la derecha de cada uno de los smbolos XOR en cada una de las ecuaciones
para D2 a travs de D8.
Secuencia de recuento arbitrariaSupongamos que deseamos disear un contador
que tiene una repetida secuencia de seis estados, que se enumeran en la Tabla 6-10. En
esta secuencia, los flip-flops B y C repiten la cuenta binaria 00, 01, 10, mientras que flip-
flop A se alterna entre 0 y 1 cada tres recuentos. Por lo tanto, la secuencia de cuenta para
el contador no es binaria recta, y dos estados, 011 y 111, no estn incluidos en el
recuento. Las ecuaciones de entrada D del flip-flop pueden ser-sim plified usando
trminos mnimos 3 y 7 como condiciones de no importa. Las funciones simplificadas
son
DA= AB
DB= do
corriente continua= antes de Cristo
6-6 / microoperaciones en un registro nico 353

Tabla 6-10
entradas de tabla de estado y Flip-Flop para Counter
Siguiente
Estado actual Estado
corriente
DA = DB = continua =
seg
U und
N o do A + 1) B (t + 1) Connecticut + 1)

0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 1 0 0
1 0 0 1 0 1
1 0 1 1 1 0
1 1 0 0 0 0

El diagrama lgico del contador se muestra en la figura 6-16 (a). Puesto que hay
dos estados sin usar, analizamos el circuito para determinar su efecto. El diagrama de
estado obtenida se dibuja en la figura 6-16 (b). Este diagrama indica que si el circuito va
nunca a uno de los estados no utilizados, el siguiente impulso de conteo lo transfiere a
uno de los estados vlidos, y el circuito contina a contar correctamente.

re UN

do ABC
Reiniciar 000

segun
re do 110 011 001

do

101 111 010

re do
100
do

Reloj
Reiniciar
(un) (segundo)
Figura 6-16
Contador con el Conde
arbitraria
354 CAPTULO 6 / registros y transferencias de registro

R 6-7eGISTRO-doana reesign
En la seccin 3-8, discutimos circuitos combinacionales iterativos. En este captulo, se
con-Nect tales circuitos de chanclas para formar circuitos secuenciales. Una clula de un
solo bit de un circuito combinatorio itera-tivo, conectado a un flip-flop que proporciona
la salida, forma un circuito secuencial de dos estados llama una celda de registro.
Podemos disear un registro de n bits con uno o ms microoperaciones asociados
mediante el diseo de una celda de registro y haciendo n copias de la misma.
Dependiendo de si la salida del flip-flop es una entrada a la celda de circuito itera-tivo, la
clula del registro puede tener dependiente de su siguiente estado en su estado actual y
las entradas o slo en sus entradas. Si la dependencia es slo en las entradas, a
continuacin, la celda de diseo para el circuito combinacional iterativo y la fijacin del
circuito iterativo para chanclas es apropiado. Si acaso, el estado del flip-flop se alimenta
de nuevo a las entradas de la celda de circuito iterativo, los mtodos de diseo
secuenciales tambin se pueden aplicar. El siguiente ejemplo ilustra el diseo de clulas
registro simple en tal caso.

Ejemplo de diseo de registro 6-1-Cell


Un registro A es poner en prctica las siguientes transferencias de registro:
Y: Un re AB
EXOR: Un re segu
UN ndo
segu
OR: A re UN ndo
A menos que se especifique lo contrario, se supone que
1. Slo uno de Y, EXOR, y O es igual a 1, y
2. Para todos Y, EXOR, y o igual a 0, el contenido de A permanece sin cambios.
Un enfoque de diseo simple para una celda de registro de las condiciones 1 y 2
utiliza un registro con carga paralela construido a partir de flip-flops D con habilitacin
(EN =LOAD) de la Figura 6-2. Para este enfoque, la expresin de carga es la OR de todas
las seales de control que hacen que una transferencia que se produzca. La expresin para
Di consiste en un OR de la Y de cada seal de control con la operacin en el lado derecho
de la transicin corre-pondiente.

Para este ejemplo, las ecuaciones resultantes para la carga y Di son

CARGA = Y + EXOR + O
# # #
di= UN(t+ 1) i= Y AiBi + EXOR (AiBi+ AiBi)+ O (Ai+ Bi)
La ecuacin para Di tiene una aplicacin similar a la utilizada para la parte de seleccin
de un multiplexor en la que un conjunto de HABILITACIN bloques de accionamiento
de una puerta OR. Y, EXOR, y O estn permitiendo seales, y la parte restante de los
trminos respectivos en Di consiste en la funcin activada.
Un enfoque ms complejo es disear directamente para flip-flops D utilizando un
enfoque de diseo de circuito Sequen-TiAl en lugar del enfoque ad hoc basado en carga
flip-flops paralelas.

Encontramos una tabla de estado estar con A como la variable de estado y de


salida, y Y, EXOR, OR, y B como entradas, como se muestra en la Tabla 6-11. La
suposicin de que a lo sumo una
diseo de 6-7 / Registro-
Cell 355

Tabla 6-11
Tabla de Estado y flip-flop entradas por ejemplo 6-1

Presente
A continuacin el
Un Estado Estado A (t + 1)

(Y = 0)
(EXOR = 0) (OR = 1) (OR = 1) (EXOR = 1) (EXOR = 1) (Y = 1) (Y = 1)
(SEGU
(SEGUN NDO = (SEGUN (SEGUND (SEGUND (SEGUND
(O = 0) DO = 0) 1) DO = 0) O = 1) O = 0) O = 1)

0 0 0 1 0 1 0 0
1 1 1 1 1 0 0 1

de las tres variables de control y, EXOR, y OR es 1 es instrumental en la definicin de los


encabezados de columna. A partir de la tabla, la ecuacin para Di se puede escribir como:

reyo = UN(t+ 1) i= Y Ai Bi+ EXOR (AiBi+ UNyosegundoyo)+ OR (Ai+ segundoyo)


# # #
+Y EXOR O UNyo
En un intento de simplificar esta ecuacin, es importante tener en cuenta que los factores
que involucran slo las variables de control pueden ser compartidos entre celdas de
registro, ya que son los mismos para cada celda. Por otro lado, los factores incluyendo
variables Ai o Bi son-imple mentado en cada clula, por lo que el costo de compuerta de
entrada se multiplica por n, el nmero de clulas. Con el fin de separar fcilmente los
factores que slo afecten a las variables de condicin, volvemos a escribir Di en cuanto a
los trminos mnimos de las variables Ai y Bi:
reyo = (Y+ O + Y EXOR OR) (AiBi)+ (EXOR+ O
# #
+ Y EXOR O)(UNyosegundoyo) + (EXOR + OR)
(Ayosegundoyo) = (Y + O + EXOR)(UNyosegundoyo) + (EXOR +
O
+ Y) (AiBi) + (EXOR + OR) (AiBi)
Los trminos OR + Y + EXOR, EXOR + O, y (EXOR + O) +Y no dependen de los
valores de AI y BI asociados con cualquiera de las celdas. La lgica de estos trminos
puede ser compartida por todas las celdas de registro. Uso de C1, C2, y C3 como
variables Interme-diata, el siguiente conjunto de resultados ecuaciones:
do1 = O + Y + EXOR
do2 = O + EXOR
do3 = do2 + Y
reyo = do1UNyosegundoyo + do3UNyosegundoyo +
do2UNyosegundoyo
La lgica compartida por todas las clulas y la lgica para la clula del registro i se da en
la figura 6-17. Antes de comparar estos resultados con los del enfoque simple, podemos
aplicar la simplificacin similar y compartir la lgica de los resultados del enfoque
simple:
do1 = O+ Y
do2 = O+ EXOR
356 CAPTULO 6 / registros y transferencias de registro

O
do1

do2
EXOR

do3
Y
La lgica compartida

do1 do3 do2

seg
und
oyo
U
N
re yo

Reloj do
i celular

Figura 6-17
Diagrama-Register-Cell lgica Diseo Ejemplo 6-1

reyo = do1UNyosegundoyo + do2UNyosegundoyo +


do2UNyosegundoyo
CARGA = do1 + do2
rei, FF = CARGA Di+ A CARGAyo

Si se utilizan estas ecuaciones directamente el coste del enfoque simple para un diseo de
16 clulas es aproximadamente 40% ms alto. As que mediante el diseo de una celda de
registro personalizado mediante un flip-flop D en lugar de encontrar la lgica de entrada
para un flip-flop D con habilitacin, el costo puede ser reducido. Adems, con la
disminucin en el nmero de niveles de la lgica, el retardo puede tambin ser reducido.

En el ejemplo anterior, no hay conexiones laterales entre clulas adyacentes. Entre


las operaciones que requieren conexiones laterales son turnos, operaciones aritmticas, y
las comparaciones. Un enfoque para el diseo de estas estructuras es la combinacin de
diseos combinatorios dadas en el Captulo 3 con la lgica de seleccin y flip-flops. Un
enfoque genrico para los registros multifuncionales utilizando flip-flops con carga
paralela se muestra en la Figura 6-8. Este enfoque simple no pasa por el diseo de clulas
registro, pero, si se aplica directamente, puede dar lugar a la lgica excesiva y
demasiadas laterales CONNEC-ciones. La alternativa es hacer un diseo de celda de
registro personalizado. En tales diseos, un factor crtico es la definicin de la conexin
lateral (s) necesario. Adems, los diferentes pera-ciones se pueden definir mediante el
control de la entrada a la clula menos significativo de la clula
diseo de 6-7 / Registro-Cell 357

cascada. El enfoque de diseo personalizado se ilustra en el siguiente ejemplo, mediante


el diseo de una celda de registro multifuncional.

Ejemplo de diseo de registro 6-2-Cell


Un registro A es poner en prctica las siguientes transferencias de registro:
SHL: Un re SL Un
EXOR: Un re AB
ADD: Una re UN +
segundo
A menos que se especifique lo contrario, se supone que
1. Slo uno de SHL, EXOR, y ADD es igual a 1, y
2. Para todos SHL, EXOR, y ADD igual a 0, el contenido de A sigue siendo un-
cambiado.

Un enfoque simple para el diseo de una celda de registro de las condiciones 1 y 2


es el uso de una carga en paralelo con permitir ES igual a la carga. Para este enfoque, la
expresin de carga es la OR de todas las seales de control que hacen que una
transferencia que se produzca. El implemen-tacin para Di consiste en un AND-OR, con
cada uno y que tiene una seal de control y la lgica para el funcionamiento en el lado
derecho como sus entradas.
Para este ejemplo, las ecuaciones resultantes para la carga y Di son
CARGA = SHL + EXOR + AADIR
= UN(t + 1)yo = SHL UNyo - 1 + EXOR (Ayo segundoyo) + AGREGA UNyo
reyo segundoyo) doyo)
do
yo +

= (Ai segundoyo) Ci + UNyosegundoyo


1
Estas ecuaciones se pueden utilizar sin modificacin o se pueden optimizar.
Ahora, supongamos que hacemos un diseo personalizado suponiendo que todas
las celdas de registro son idnticos. Esto significa que las clulas menos y ms
importantes sern los mismos que los interna a la cadena de clulas. Debido a esto, el
valor de C0 se debe especificar y el uso, en su caso, de Cn debe ser determinada para
cada una de las tres operaciones. Para el desplazamiento a la izquierda, se asume un
relleno cero del bit ms a la derecha desocupado, dando C0=0. Como C 0 no est
involucrado en la operacin EXOR, se puede suponer ser una de no importa. Por ltimo,
para la adicin, C0 o bien se puede suponer que ser 0 o se puede dejar como una variable
para permitir un acarreo de una adicin previa a inyectar. Suponemos que C0 es igual a 0
para adi-cin, ya que ningn equipaje adicional se especifica en la declaracin de
transferencia de registros.
Nuestro primer objetivo es reducir al mnimo la formulacin conexiones laterales
entre las clulas. Dos de las tres operaciones, desplazamiento a la izquierda y la adicin,
requieren una conexin lateral a la izquierda (es decir, hacia el extremo ms significativo
de la cadena de clula). Nuestro objetivo es utilizar una seal para ambas operaciones, por
ejemplo, Ci. Que ya existe para la adicin sino que debe ser multada-rede de manejar
tanto la adicin y la desviacin a la izquierda. Tambin en nuestro diseo a medida, la
carga del flip-flop en paralelo ser reemplazado por un flip-flop D. Ahora podemos
formular la tabla de estado para la celda de registro se muestra en la Tabla 6-12:
reyo = UN(t+ 1) i= SHL EXOR AADIR Ai+ SHL Ci+ EXOR (Ai Bi)+
ADD (Ai segundoyo doyo)

# #
doyo + 1 = SHL UNyo + AADIR ((Ai Bi) Ci+UNyosegundoyo)
358 CAPTULO 6 / registros y transferencias de registro

Tabla 6-12
Tabla de Estado y Flip-Flop insumos para el diseo de registro en clulas
en el ejemplo 6-2

Presente
Un entrada A continuacin el Estado Ayo(t+
Estadoyo s 1) / salida Cyo + 1
AADIR =
SHL = 0 SHL = 1 1 1 1 EXOR = 1 1 1 1 1 1
se
gu
nd
segundoyo segundoyo oy
EXOR = 0 =0 0 1 1 =0 1 o =0 0 1 1
AADIR = do
0 doyo = 0 1 0 1 yo =0 1 0 1

0 0 /X 1/0 0/0 1/0 0/0 0 /X 1 /X 1/0 1/0 0/1 0/0


1 1 /X 0/1 1/1 0/1 1/1 1 /X 0 /X 1/0 0/1 0/1 1/1

EXOR
mi1
AADIR

mi
2
SHL
La lgica
compartida
segundo mi1
yo mi2 SHL AADIR

i celular

do
yo

re

Reloj do

UNyo

Figura 6-18
Diagrama-Register-Cell lgica Diseo Ejemplo 6-2
El trmino Ai Bi aparece tanto en la EXOR y ADD trminos. De hecho, si Ci=0 durante
la operacin EXOR, a continuacin, las funciones para la suma en ADD y para EXOR
pueden ser idnticas. En el Ci+1 ecuacin, ya que SHL y ADD son ambos 0 cuando
EXOR es 1, Ci es 0 para todas las clulas en la cascada excepto el menos significativo.
Para la clula menos significativo, la especificacin establece que C0= 0. Por lo tanto, la
entrada de valores de IC son 0 para todas las celdas de registro A. As podemos combinar
las operaciones ADD y EXOR de la siguiente manera:
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 359

di= UN(t+ 1) i= SHL EXOR AADIR Ai+ SHL Ci+


(EXOR + ADD) ((Ai segundoyo) doyo)
Las expresiones SHL EXOR ADD y EXOR +ADD, que son independientes de Ai, Bi, Ci
y, puede ser compartido por todas las clulas. Las ecuaciones resultantes son
mi1 = EXOR + AADIR

mi2 = mi1+ SHL


= mi2 UNyo + SHL doyo + mi1 ((Ai
reyo segundoyo) doyo)
do = SHL UNyo + ADD ((Ai segundoyo) Ci +
yo +
1 UNyosegundoyo)
La clula del registro resultante aparece en la figura 6-18. Comparando este resultado con
la clula reg-nistro para el diseo simple, podemos sealar los siguientes dos diferencias:
1. Slo una conexin lateral entre las clulas existe en lugar de dos.
2. La lgica se ha compartido de manera muy eficiente mediante la adicin y la
operacin EXOR.
El diseo de la clula de encargo ha producido de conexin y de lgica de ahorros que no
estn presentes en el diseo a nivel de bloque con o sin optimizacin.

6-8 MuLtipLexeR y segundonos-segundoASED tRansfeRs


para los registros mltiples
Un sistema digital tpico tiene muchos registros. Las rutas deben ser proporcionados para
transferir datos de un registro a otro. La cantidad de la lgica y el nmero de
interconexiones-ciones puede ser excesivo si cada registro tiene su propio conjunto
dedicado de multiplexores. Un esquema ms eficiente para la transferencia de datos entre
los registros es un sistema que utiliza una ruta de transferencia de llamada compartida de
un autobs. Un autobs se caracteriza por un conjunto de lneas comunes, con cada lnea
impulsado por la lgica de seleccin. Las seales de control para la lgica seleccionar una
sola fuente y uno o ms destinos en cualquier ciclo de reloj para los que se produce una
transferencia.
En la seccin 6-4, vimos que los multiplexores y registros de carga paralelas se
pueden utilizar para implementar las transferencias dedicados de fuentes mltiples. Un
diagrama de bloques para tales transferencias entre tres registros se muestra en la figura
6-19 (a). Hay tres 2-a-1 multiplexores de n bits, cada uno con su propia seal de
seleccin. Cada registro tiene su propia seal de carga. El mismo sistema basado en un
autobs puede ser implementado mediante el uso de una sola de n bits multiplexor 3-a-1 y
los registros de carga en paralelo. Si un conjunto de salidas de multiplexor se comparte
como un camino comn, estas lneas de salida son un autobs. Tal sistema con un nico
bus para transferencias entre tres registros se muestra en la figura 6-19 (b). El par de
entrada de control, Seleccionar, determina los contenidos del registro de fuente nica que
aparecer en las salidas de multiplexor (es decir, en el bus).
En la Tabla 6-13, (b) se ilustran las transferencias utilizando la aplicacin de un
solo bus de la figura 6-19. La primera transferencia es de R2 a R0. Select es igual a 10, la
seleccin de la entrada R2 al multiplexor. L0 seal de carga para el registro R0 es 1, con
todas las otras cargas en 0, CAU-ing el contenido de R2 en el bus a ser cargado en R0 en
la siguiente transicin de reloj positivo. La segunda transferencia en la tabla ilustra la
carga de los contenidos de R1 en tanto R0 y R2. La fuente R1 se selecciona porque Select
es igual a 01. En
360 CAPTULO 6 / registros y transferencias de registro

Seleccion
ar Carga Carga
S0 S1 S2 L0L1 L2 L0L1 L2

S
0 2-a-1 norte norte
1 MUX
no R0 R0
rte norte

Seleccion
ar

0 S norte S1 S0 norte
2-a-1 0
nor Autob
1 MUX R1 3-a-1 te s R1
no
rte 1 MUX
2
0
norte

S
0 2-a-1 norte norte
1 MUX
no R2 R2
rt
e norte

(A) multiplexores Dedicados (B) bus individual

Figura 6-19
Bus nica versus multiplexores Dedicados

este caso, L2 y L0 son ambos 1, haciendo que el contenido de R1 en el bus para ser
cargado en los registros R0 y R2. La tercera transferencia, un intercambio entre R0 y R1,
es imposible en un solo ciclo de reloj, ya que requiere dos fuentes simultneas, R0 y R1,
en el nico bus. Por lo tanto, esta transferencia requiere al menos dos buses o un bus
combinado con una ruta dedicada de uno de los registros a la otra. Tenga en cuenta que
dicha transferencia se puede ejecutar en los multiplexores dedicados en la figura 6-19 (a).
As, para un sistema de un solo bus, las transferencias simultneas con diferentes fuentes
en un solo ciclo de reloj son

Tabla 6-13
ejemplos de transferencias de registro utilizando el bus individual
en la figura 6-19 (b)

Selecc Carg
ionar a
Register Transfer S1 S0 L2 L1 L0
R0re R2 1 0 0 0 1
R0re R1, R2re R1 0 1 1 0 1
R0re R1, R1re R0 Imposible
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 361

imposible, mientras que para los multiplexores dedicados, cualquier combinacin de las
transferencias es posible. Por lo tanto, la reduccin en el hardware que se produce por un
solo bus en lugar de multiplexores resultados dedicados en limitaciones en transferencias
simultneas.
Si asumimos que slo se necesitan las transferencias de una sola fuente, entonces
podemos utilizar la figura 6-19 para comparar la complejidad del hardware dedicado en
comparacin con los sistemas basados en bus. En primer lugar, asumir un diseo
multiplexor, como en la figura 3-27. En la figura 6-19 (a), hay 2n puertas Y y n puertas O
por multiplexor (no inversores contando), para un total de puertas 9n. Por el contrario, en
la figura 6-19 (b), el multiplexor de bus requiere puertas Y solamente 3N y n puertas O,
para un total de 4n puertas. Tambin, las conexiones de entrada de datos a los
multiplexores se reducen de 6n a 3n. Por lo tanto, el costo del hardware de la seleccin se
reduce a la mitad.

Las salidas de alta impedancia


Otro mtodo para la construccin de un autobs implica un tipo de puerta llamada una de
tres estados buf-fer. Hasta ahora, hemos considerado puertas que tienen valores de salida
nica lgica 0 y lgica 1. En esta seccin, se introduce una estructura importante, el bfer
de tres estados, que los pro-porciona un valor tercera salida conoce como el estado de alta
impedancia y denotado por Hi-Z o simplemente Z normal o z. El valor Hi-Z se comporta
como un circuito abierto, lo que significa que, mira-cin de nuevo en el circuito, nos
encontramos con que la salida parece estar desconectado internamente. Por lo tanto, la
salida no parece ser all en absoluto y, por tanto, es incapaz de conducir cualquier entrada
adjuntos. Puertas con capacidad de salida de alta impedancia tienen dos propiedades muy
tiles. En primer lugar, las salidas pueden conectarse entre s Hi-Z, a condicin de que no
haya dos o ms puertas de coche de la lnea al mismo tiempo para opuestas 0 y 1 valores.
En contraste, puertas con nica lgica 0 y una lgica 1 salidas no pueden tener sus salidas
conectadas juntas. En segundo lugar, una salida en los estados de alta impedancia, ya que
aparece como un circuito abierto, puede tener una entrada unida a l internamente, por lo
que la salida de alta impedancia puede actuar como una salida y una entrada. Esto se
conoce como una entrada / salida bidireccional. En lugar de llevar las seales en una sola
direccin, las interconexiones entre las salidas de alta impedancia pueden llevar
informacin en ambas direc-ciones. Esta caracterstica reduce significativamente el
nmero de interconexiones necesarias. Esto se conoce como una entrada / salida
bidireccional. En lugar de llevar las seales en una sola direccin, las interconexiones
entre las salidas de alta impedancia pueden llevar informacin en ambas direc-ciones.
Esta caracterstica reduce significativamente el nmero de interconexiones necesarias.
Esto se conoce como una entrada / salida bidireccional. En lugar de llevar las seales en
una sola direccin, las interconexiones entre las salidas de alta impedancia pueden llevar
informacin en ambas direc-ciones. Esta caracterstica reduce significativamente el
nmero de interconexiones necesarias.
Salidas de alta impedancia pueden aparecer en cualquier puerta, pero aqu estamos
restringir consid-racin a una estructura de la puerta primitiva con una sola entrada de
datos, una memoria intermedia de tres estados. Como su nombre lo indica, una salida
lgica de tres estados exhibe tres estados distintos. Dos de los estados son la lgica 1 y
la lgica 0 de la lgica convencional. La tercera estado es el valor Hi-Z, que, para la
lgica de tres estados, que se conoce como el estado Hi-Z.
El smbolo grfico y la tabla de verdad para una memoria intermedia de 3 estados
se dan en la Figura 6-20 (a). El smbolo en la figura 6-20 (a) se distingue del smbolo para
un tampn normal mediante la entrada de habilitacin, EN, entrar en la parte inferior del
smbolo buffer. A partir de la tabla de verdad de
FUE
ES EN RA
EN FUERA
0 X Hi-Z
ES 1 0 0
1 1 1
(B) Tabla de
(A) smbolo lgico verdad

Figura 6-20
Tres-Estado Buffer
362 CAPTULO 6 / registros y transferencias de registro

IN0
(S)
EN0
OL

EN 1

(S) EN1
(A) Diagrama lgico

EN1 EN0 IN1 IN0 OL

0 0 X X Hi-Z
(S) 0 (S) 1 X 0 0
0 1 X 1 1
1 0 0 X 0
1 0 1 X 1
1 1 0 0 0
1 1 1 1 1
1 1 0 1
1 1 1 0

(B) Tabla de verdad

Figura 6-21
Tres-Estado Tampones La formacin de un multiplexado Lnea OL

Figura 6-20 (b), si EN =1, OUT es igual a IN, comportndose como un tampn normal.
Pero para ES= 0, el valor de salida es de alta impedancia (Hi-Z), independientemente del
valor de IN.
salidas tampn tres estados pueden conectarse entre s para formar una lnea de
salida multiplexada. Figura 6-21 (a) muestra dos buffers de 3 estados con sus salidas
conectadas para formar la lnea de salida OL. Estamos interesados en la salida de esta
estructura en trminos de la EN1 cuatro entradas, EN0, IN1, y IN0. El comportamiento de
salida viene dado por la tabla de verdad en la figura 6-21 (b). Para EN1 y EN0 igual a 0,
las dos salidas de tampn son Hi-Z. Dado que ambos aparecen como circuitos abiertos,
OL es tambin un circuito abierto, representado por un valor de alta impedancia. para
EN1= 0 y EN0 =1, la salida de la memoria intermedia de la parte superior es IN0 y la
salida del tope inferior es Hi-Z. Como el valor de IN0 combinado con un circuito abierto
es slo IN0, OL tiene un valor IN0, dando a la segunda y tercera filas de la tabla de
verdad. A corre-pondiente, pero opuesto, caso se produce para EN1= 1 y EN0 =0, por lo
que tiene un valor OL IN1, dando a las filas cuarta y quinta de la tabla de verdad. Para
EN1 y EN0 tanto 1, la situacin es ms complicada. Si IN1=IN0, entonces su valor mutuo
aparece en OL. Pero si IN1 IN0 , entonces el conflicto sus valores en la salida. Los
resultados de conflicto en una corriente elctrica que fluye desde la salida del bfer que
est en 1 en el bfer de salida que est en 0. Esta corriente es a menudo suficientemente
grande para causar un calentamiento y puede incluso destruir el circuito, como se
simboliza por los iconos humo en la tabla de verdad. Claramente, una situ-acin tal
debe ser evitada. El diseador debe asegurarse de que EN0 y EN1 no ser igual a 1 al
mismo tiempo. En el caso general, para n buffers 3-estado unidos a una lnea de bus, ES
puede ser igual a 1 por slo una de las memorias intermedias y debe ser 0 para el resto.
Una manera de asegurar esto
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 363

es el uso de un descodificador para generar las seales ES. Para el caso de dos buffer, el
descodificador es slo un inversor con entrada de seleccin de S, como se muestra en
lneas de puntos en la figura 6-21 (a). Es interesante examinar la tabla de verdad con el
inversor en su lugar. Consiste en el rea sombreada de la tabla de la figura 6-21 (b).
Claramente, el valor de S selecciona entre las entradas IN0 e IN1. Adems, la salida del
circuito OL nunca est en el estado de alta impedancia.

Tres-Estado autobs
Un autobs puede ser construido con los buffers de tres estados introducidos
anteriormente en lugar de multiplexores. Esto tiene el potencial para reducciones
adicionales en el nmero de conexiones con-. Pero por qu utilizar tampones de tres
estados en lugar de un multiplexor, en particular para la implementacin de los
autobuses? La razn es que muchas salidas tampn de tres estados pueden ser con-
CONECTADOS juntos para formar una lnea de bit de un autobs, y este bus se
implementa utilizando un solo nivel de puertas lgicas. Por otro lado, en un multiplexor,
un gran nmero de fuentes tales significa un alto abanico en O, que requiere mltiples
niveles de puertas OR, intro-ducing ms lgica y el aumento de demora. En contraste, los
tampones de tres estados proporcionan una forma prctica de construir buses rpidos con
muchas fuentes, lo que a menudo son preferidos en tales casos. Ms importante, sin
embargo, es el hecho de que las seales pueden viajar en dos direcciones en un autobs
de tres estados. Por lo tanto, el bus de tres estados puede utilizar la misma intercon-
nection para llevar seales de entrada y salida de un circuito lgico. Esta caracterstica,
que es ms importante cuando cruzar los lmites de chips, se ilustra en la figura 6-22 (a).
La figura

Carga norte
ES L0 L1 L2

nort
e
Carga R0
CARG norte
A n
or nor
te te
Seleccion
R ar
n R1
or
te 2

norte
no Auto
ES 3-a-1 rte bs
MUX
R2
Carga
norte

norte
R norte
n
o
Carga
rt
L2 L1 L0
e
Habilitar R1
E2 E1 E0
n nort
o Aut ES e
rt ob n
e s o
R0
rt
e
nort R2
ES
e

ES
(A) Se registra en bidireccional (B) bus Multiplexor (C) de bus de tres
lneas de entrada-salida y smbolo estados usando registros
con lneas bidireccionales

Figura 6-22
Tres-Estado autobs frente al multiplexor
autobs
364 CAPTULO 6 / registros y transferencias de registro

muestra un registro con n lneas que sirven como entradas y salidas se extiende a travs
del lmite del rea sombreada. Si se habilitan los buffers de tres estados, entonces las
rectas son salidas; si los buffers de tres estados estn desactivados, entonces las lneas
pueden ser entradas. El sym-bol para esta estructura se da tambin en la figura. Tenga en
cuenta que las lneas de bus bidireccional estn representados por una flecha de dos
puntas. Adems, un pequeo tringulo invertido indica las salidas de tres estados del
registro.
Las figuras 6-22 (b) y (c) muestran un bus multiplexor-implementado y un bus de
tres estados, respectivamente, para la comparacin. El smbolo de la figura 6-22 (a) para
un registro con las lneas de entrada-salida bidireccionales se utiliza en la figura 6-22 (c).
En contraste con la situacin en la figura 6-19, donde los multiplexores dedicados fueron
reemplazados por un autobs, estos dos Imple-mentaciones son idnticos en trminos de
su capacidad de registro de transferencia. Tenga en cuenta que, en el bus de tres estados,
slo hay tres conexiones de datos con el conjunto de bloques de registro para cada bit del
autobs. El bus de multiplexor-implementado tiene seis conexiones de datos por bit al
conjunto de bloques de registro. Esta reduccin en el nmero de conexiones de datos a la
mitad, junto con la capacidad de construir fcilmente un autobs con muchas fuentes,
hace que el bus de tres estados en una alternativa atractiva.

6-9 sErial tRANSFERENCIA y METROicRoopeRations


Un sistema digital se dice que funcionar en un modo en serie cuando la informacin en el
sistema se transfiere o se manipula un bit a la vez. La informacin se transfiere un bit a la
vez desplazar los bits de un registro y en un segundo registro. Este mtodo de
transferencia est en contraste con transferencia en paralelo, en el que todos los bits del
registro son-trans preferido como al mismo tiempo.
La transferencia en serie de la informacin de registro A para registrar B se realiza
con registros de desplazamiento, como se muestra en el diagrama de bloques de la figura
6-23 (a). La salida en serie del registro A est conectado a la entrada en serie del registro
B. La entrada en serie del registro A recibe 0s mientras que su datos se transfieren al
registro B. Tambin es posible para el registro A para recibir

Camb
io
Reloj Un registro registro B
SRG 4 SRG 4
do do
ASI ASI
QU QU
0 SI E SI E

(A) Diagrama de
bloques

Reloj

Cambio
entradas de C
T T
T1 T2 3 4

(B) Diagrama de temporizacin


Figura 6-23
Transferencia
de serie
6-9 / transferencia en serie y
microoperaciones 365

otra informacin binaria, o si queremos mantener los datos en el registro A, que puede
con-Nect su produccin en serie para su entrada en serie para que la informacin se hace
circular de nuevo en el registro. El contenido inicial del registro B se desplaza hacia fuera
a travs de su salida en serie y se pierde a menos que se transfiere de nuevo en el registro
A, a un tercer registro de desplazamiento, o para otro almacenamiento. El desplazamiento
de entrada de control de cambio determina cundo y cuntas veces se desplazan los regis-
tros. Los registros utilizando Shift se controlan por medio de la lgica de la figura 6-23
(a), que permite a los impulsos de reloj para pasar a las entradas de reloj de registro de
desplazamiento slo cuando Shift tiene el valor lgico 1.
En la figura 6-23, cada registro de desplazamiento tiene cuatro etapas. La lgica
que supervisa la transferencia debe ser diseado para permitir que los registros de
desplazamiento, a travs de la seal de Shift, durante un tiempo fijo de cuatro pulsos de
reloj. registro de desplazamiento se muestra propicio en el diagrama de temporizacin
para la lgica de gating reloj en la figura 6-23 (b). Cuatro impulsos encuentra Shift en el
estado activo, de manera que la salida de la lgica conectada a las entradas de reloj de los
registros produce cuatro pulsos: T1, T2, T3, y T4. Cada transicin positiva de estos
impulsos provoca un desplazamiento en ambos registros. Despus de que el cuarto pulso,
Shift cambios de nuevo a 0 y los registros de desplazamiento estn desactivados.
Observamos una vez ms que, para la activacin positiva de ltima generacin, los pulsos
en las entradas de reloj son 0, y el nivel inactivo cuando no hay pulsos estn presentes es
un 1 en lugar de un 0.
Supongamos ahora que el contenido binario del registro A antes de que el cambio
es 1011, el de registro B es 0010, y el SI de registro A es la lgica 0. Entonces la
transferencia en serie de A a B se produce en cuatro pasos, como se muestra en la Tabla 6
-14. Con la primera T1 pulso, el bit ms a la derecha de A se desplaza en el bit ms a la
izquierda de B, el bit ms a la izquierda de A recibe un 0 a partir de la entrada en serie, y,
al mismo tiempo, se desplazan todos los dems bits de A y B una posicin a la derecha.
Los siguientes tres pulsos realizan operaciones idnticas, desplazar los bits de A en B uno
a la vez durante la transferencia de 0s a A. Despus de que el cuarto cambio, la lgica de
supervisin de la transferencia cambia la seal Shift a 0 y los cambios se detiene.
Registro B contiene 1,011, que es el valor anterior de A. Registro A contiene todos 0s.
La diferencia entre los modos de serie y paralelo de operacin debe ser evidente a
partir de este ejemplo. En el modo paralelo, la informacin est disponible a partir de
todos los bits de un registro, y todos los bits se puede transferir simultneamente durante
un pulso de reloj. En el modo de serie, los registros tienen una sola entrada en serie y una
sola salida en serie, y la informacin se transfiere un bit a la vez.

adicin de serie
Las operaciones en las computadoras digitales se realiza en paralelo debido a la mayor
velocidad posible. operaciones de serie son ms lentos, pero tienen la ventaja de requerir

Tabla 6-14
ejemplo de transferencia de serie

Registro de
impulso de Un registro de desplazamiento
temporizacin desplazamiento B
Valor inicial 1 0 1 1 0 0 1 0
despus de T1 0 1 0 1 1 0 0 1
despus de T2 0 0 1 0 1 1 0 0
despus de T3 0 0 0 1 0 1 1 0
despus de T4 0 0 0 0 1 0 1 1
366 CAPTULO 6 / registros y transferencias de registro

Un registro
SRG 4
do
Reinic
iar Claro FA
ASI
QU
SI E X S
Y
Cambi Z do
o
sumador
Reloj completo
(Figura 5-4)
registro B
SRG 4
do
Reinici Llevar
ar Claro
De ASI
serie QU
entra SI E re
da
do

Reinic
iar

Figura 6-24
adicin de serie

menos hardware. Para demostrar el modo de operacin en serie, vamos a mostrar el


funcionamiento de un sumador en serie. Adems, comparamos el sumador en serie a la
contraparte en paralelo presentado en la Seccin 3-9 para ilustrar el tiempo-espacio
equilibrio en el diseo.
Los dos nmeros binarios que se aaden en serie son almacenados en dos registros
de desplazamiento. se aaden bits, un par a la vez, a travs de un simple circuito sumador
completo (FA), como se muestra en la figura 6-24. El acarreo de salida del sumador
completo se transfiere a un flip-flop. La salida de este flip-flop se utiliza entonces como
la entrada de acarreo para el siguiente par de bits signif-signifi-. El bit de suma en la
salida S del sumador completo podra ser transferido a un tercer registro de
desplazamiento, pero hemos elegido para transferir los bits de suma en el registro A
como los contenidos del registro se desplazan hacia fuera. La entrada en serie del registro
B puede recibir un nuevo nmero binario como su contenido se desplazan a cabo durante
la adicin.
El funcionamiento del sumador en serie es la siguiente: Register A tiene el primer
sumando, regstrese B mantiene el sumando, y el flip-flop se ha restablecido a 0. Las
salidas en serie de A y B proporcionan un par de bits significativos para la completa
sumador en X e Y. la salida del flip-flop proporciona la entrada de acarreo en Z. Cuando
Shift se establece en 1, la puerta OR permite el reloj para ambos registros y el flip-flop.
Cada pulso de reloj desplaza ambos registros una vez a la derecha, transfiere el bit suma
de S en el extremo izquierdo flip-flop de A, y transfiere la salida de acarreo en el flip-
flop. la lgica de control de cambio permite que los registros para el mayor nmero de
pulsos de reloj, ya que hay bits en los registros (cuatro impulsos en este ejemplo). Para
cada pulso, un nuevo bit suma se transfiere a A, un nuevo transporte se transfiere al flip-
flop, y ambos registros se desplazan una vez a la derecha. Este proceso contina hasta que
los cambios de la lgica de control de cambio cambio a 0. Por lo tanto, la adicin se lleva
a cabo haciendo pasar cada par de bits y el arrastre anterior a travs de un nico circuito
sumador completo y la transferencia de la suma, un bit a la vez, de nuevo en el registro A.
6-10 / Control de Transferencias de
Registro 367

Inicialmente, podemos restablecer registro A, regstrese B, y el flip-flop a 0. A


continuacin, cambiar el primer nmero en B. A continuacin, el primer nmero de B se
aade al 0 en A. Mientras que B se desplaza a travs el sumador completo, que puede
transferir un segundo nmero a ella a travs de su entrada en serie. El segundo nmero se
puede aadir a los contenidos del registro A al mismo tiempo que un tercer nmero se
transfiere en serie en el registro B. Adems de serie puede repetirse para formar la adicin
de dos, tres, o ms nmeros, con su suma acumulada en registrarse A.
Una comparacin de la sumador en serie con el sumador paralelo descrito en la
Seccin 3-9 proporciona un ejemplo de espacio-tiempo trade-off. El sumador paralelo
tiene sumadores n completos para operandos de n bits, mientras que el sumador en serie
requiere solamente un sumador completo. Excluyendo los registros de ambos, el sumador
paralelo es un circuito combinacional, mientras que el sumador en serie es un circuito
secuencial, ya que incluye el flip-flop. El circuito de serie tambin realiza ciclos de reloj n
para completar una adicin. circuitos idnticos, tales como los n sumadores completos en
el sumador paralelo, conectadas entre s en una cadena constituyen un examen-ple de una
matriz lgica iterativo. Si los valores de los acarreos entre los sumadores completos se
consideran como variables de estado, entonces los estados desde el extremo menos
significativo hasta el final ms importante son los mismos que los estados que aparecen
en secuencia en el flip-flop hacia fuera puesto-en el sumador serial. Obsrvese que en la
matriz lgica iterativa los estados aparecen en el espacio, pero en el circuito secuencial
los estados aparecen en el tiempo. Mediante la conversin de una de estas
implementaciones a la otra, se puede hacer un espacio-tiempo de compensacin. El
sumador paralelo en el espacio es n veces mayor que el sumador en serie (ignorando el
rea del flip-flop), pero es n veces ms rpido. El sumador serial, a pesar de que es n
veces ms lento, es n veces ms pequeo en el espacio. Esto le da al diseador una opcin
importante hacer hincapi en la velocidad o la zona, donde ms superficie se traduce en
ms coste. pero en el circuito secuencial los estados aparecen en el tiempo. Mediante la
conversin de una de estas implementaciones a la otra, se puede hacer un espacio-tiempo
de compensacin. El sumador paralelo en el espacio es n veces mayor que el sumador en
serie (ignorando el rea del flip-flop), pero es n veces ms rpido. El sumador serial, a
pesar de que es n veces ms lento, es n veces ms pequeo en el espacio. Esto le da al
diseador una opcin importante hacer hincapi en la velocidad o la zona, donde ms
superficie se traduce en ms coste. pero en el circuito secuencial los estados aparecen en
el tiempo. Mediante la conversin de una de estas implementaciones a la otra, se puede
hacer un espacio-tiempo de compensacin. El sumador paralelo en el espacio es n veces
mayor que el sumador en serie (ignorando el rea del flip-flop), pero es n veces ms
rpido. El sumador serial, a pesar de que es n veces ms lento, es n veces ms pequeo en
el espacio. Esto le da al diseador una opcin importante hacer hincapi en la velocidad o
la zona, donde ms superficie se traduce en ms coste.

6-10 control de ReGISTRO tRansfeRs


En la seccin 6-2, dividimos un sistema digital en dos componentes principales, un
camino de datos y una unidad de control. Del mismo modo, la informacin binaria
almacenada en un ordenador digital puede ser clasificado como de datos o informacin de
control. Como vimos anteriormente en este captulo, los datos se manipula en un camino
de datos mediante el uso de microoperaciones implementados con transferencias regis-ter.
Estas operaciones se implementan con sumadores-sustractores, palancas de cambio,
REG-nistre, multiplexores, y autobuses. La unidad de control proporciona seales que
activan los diversos microoperaciones dentro del camino de datos para llevar a cabo las
tareas de procesamiento especificadas. La unidad de control tambin determina la
secuencia en la que se llevan a cabo las diversas acciones. Esta separacin de un sistema
en dos componentes y la separacin de las tareas realizadas se traslada al proceso de
diseo.
Generalmente, el tiempo de todos los registros en un sistema digital sncrono es
con-controlado por un generador de reloj maestro. Los pulsos de reloj se aplican a todos
los flip-flops y registros en el sistema, incluidos los de la unidad de control. Para evitar
que los pulsos de reloj de cambiar el estado de todos los registros en cada ciclo de reloj,
algunos registros tienen una seal de control de carga que activa y desactiva la carga de
nuevos datos en el registro. Las variables binarias que controlan las entradas de seleccin
de los multiplexores, autobuses, y la lgica pro-cessing y las entradas de control de carga
de los registros se generan por la unidad de control.
La unidad de control que genera las seales para la secuenciacin de los
microoperaciones es un circuito secuencial con estados que dictan las seales de control
para el sistema. A
368 CAPTULO 6 / registros y transferencias de registro

cualquier momento dado, el estado del circuito secuencial activa un conjunto prescrito de
micro-operaciones. Usando condiciones de estado y las entradas de control, la unidad de
control secuencial determina el estado siguiente. El circuito digital que acta como la
unidad de control proporciona una secuencia de seales para la activacin de las
microoperaciones y tambin determina su propio estado siguiente.
Basado en el diseo global del sistema, hay dos tipos distintos de unidades de
control usadas en sistemas digitales, una para un sistema programable y el otro para un
sistema sin nimo de lucro-gramable.
En un sistema programable, una porcin de la entrada al procesador consiste en una
secuencia de instrucciones. Cada instruccin especifica la operacin que el sys-tem es
llevar a cabo, qu operandos de usar, dnde colocar los resultados de la operacin y, en
algunos casos, que la instruccin a ejecutar a continuacin. Para los sistemas
programables, las instrucciones se almacenan normalmente en la memoria, ya sea en la
memoria RAM o en la ROM. Para ejecutar las instrucciones en secuencia, es necesario
proporcionar la direccin de memoria de la instruccin a ser ejecutada. Esta direccin
viene de un registro llamado el contador de programa (PC). Como su nombre lo indica, el
PC tiene lgica que per-mite que cuente. Adems, con el fin de cambiar la secuencia de
operaciones que utilizan decisiones basadas en la informacin de estado desde el camino
de datos, el PC necesita la capacidad de carga en paralelo. As, en el caso de un sistema
programable, la unidad de control con-tains un PC y la lgica de decisin asociado, as
como la lgica necesaria para interpretar la instruccin. La ejecucin de una instruccin
significa la activacin de la secuencia necesaria de microoperaciones en el camino de
datos requerido para realizar la operacin especificada por la instruccin.

Para que un sistema no programable, la unidad de control no es responsable de


obtener-ing instrucciones de la memoria, ni es responsable de la secuenciacin de la
ejecucin de esas instrucciones. No hay ningn registro de PC o similar en un sistema de
este tipo. En su lugar, la unidad de control determina las operaciones que deben realizarse
y la secuencia de dichas operaciones, en base a sus entradas y los bits de estado de la ruta
de datos.
Esta seccin se centra en el diseo del sistema no programable. Se ilustra el uso de
diagramas de mquina de estados para el diseo de unidad de control. sistemas
programables se Ered-cov en los captulos 8 y 10.

Procedimiento de diseo
Hay muchos procedimientos de diseo posibles para el diseo de una unidad del camino
de datos y control. Aqu, tomaremos un enfoque en el que se describen las acciones tanto
de la ruta de datos y la unidad de control de una manera combinada utilizando un
diagrama de mquina de estado o una combinacin de un diagrama de mquina de estado
con una mesa de transferencia de registros. Adems, este procedimiento se supone que
puede haber un poco de hardware de transferencia de registros en la unidad de control.
Ejemplos de tales hardware son un contador de iteraciones para imple-mentacin de un
algoritmo iterativo, un contador de programa para un ordenador, o un conjunto de
transferencias de registro para reducir el nmero de estados en un diagrama de mquina
de estado. Aqu se utiliza el sistema de trmino para describir el objetivo del diseo; este
trmino puede ser sustituido con el circuito si se desea. Este procedimiento supone
solamente diagrama de una mquina de estado en la unidad de control. Si es deseado,
6-10 / Control de Transferencias de
Registro 369

Register-transferencia del sistema de diseo de procedimientos


1. Escribir una especificacin detallada del sistema.
2. Definir todos los datos externos y controlar las seales de entrada, todos los datos
externos, control, y las seales de salida de estado, y los registros de la unidad de
camino de datos y control.
3. Encontrar un diagrama de mquina de estado para el sistema, incluyendo las
transferencias de registro en el camino de datos y en la unidad de control.
4. Definir las seales de control y de estado internos. Usar estas seales para separar
las condiciones y acciones de salida, incluyendo las transferencias de registro, a
partir del flujo diagrama de estados y representarlos en forma de tabla.
5. Dibuje un diagrama de bloques del camino de datos que incluye todas las entradas
y salidas de control y de estado. Dibuje un diagrama de bloques de la unidad de
control si incluye registro de hardware de transferencia.
6. Disear cualquier lgica de transferencia en el registro especializado tanto en el
control y la ruta de datos.
7. Disear la lgica de la unidad de control.
8. Verificar el correcto funcionamiento de la lgica de camino de datos y el control
combinado. Si la verificacin falla, depurar el sistema y verificar de ella.
Los siguientes dos ejemplos proporcionan los detalles del diseo del sistema de registro
de transferencia. Los conceptos ilustrados son muy central en el diseo del sistema
contemporneo. Estos ejemplos cubren la primera siete de los ocho pasos, entonces el
paso 8 se discutirn brevemente.

Ejemplo 6-3 DashWatch


El DashWatch es un cronmetro muy barato, destinado nicamente para los corredores
en carreras muy cortas que se hace referencia como guiones, por ejemplo, la carrera de
100 yardas.
1. Los intervalos de veces DashWatch menores o iguales a 99,99 segundos. Adems
de la accin cronmetro, sino que tambin tiene una caracterstica que permite el
mejor rendimiento (menos tiempo) para ser almacenado en un registro. La parte
frontal del cronmetro se muestra en la figura 6-25 (a). Las entradas principales son
cronmetro de inicio y parada. El botn START pone un temporizador para
restablecer a 0 y luego inicia el temporizador, y el botn STOP detiene el
temporizador. Despus de pulsar STOP, el ltimo tiempo de tablero se visualiza en
la pantalla LCD de 4 dgitos (pantalla de cristal lquido). Adems, el CSS
(comparar y almacenar ms corto) pulsador provoca: (1) el valor ltimo guin para
ser comparado con el valor tablero mnimo almacenado hasta ahora en esta sesin,
(2) el menor valor que se almacena como el valor mnimo tablero y (3) el valor
mnimo tablero que se mostrar. El botn RESET inicializa el registro de
almacenamiento a 10.011.001. 10011001, el valor mximo posible, y la BCD
equivalente de 99,99. Estas acciones de restablecimiento tambin se producen en
respuesta a conectar la alimentacin con un interruptor en la parte posterior de la
DashWatch. La salida est representada en BCD en una pantalla LCD de siete
segmentos, que presenta cuatro dgitos, B1, B0, B1, B-2, cada uno de los cuales
tiene siete bits a, b, c, d, e, f, y g, para los siete segmentos. Tambin hay una
entrada en la pantalla DP que es con-TARSE a la fuente de alimentacin. Se
proporciona el punto decimal entre B0 y B-1, y tambin acta como un indicador de
encendido. para los siete segmentos. Tambin hay una entrada en la pantalla DP
que es con-TARSE a la fuente de alimentacin. Se proporciona el punto decimal
entre B0 y B-1, y tambin acta como un indicador de encendido. para los siete
segmentos. Tambin hay una entrada en la pantalla DP que es con-TARSE a la
fuente de alimentacin. Se proporciona el punto decimal entre B0 y B-1, y tambin
acta como un indicador de encendido.
370 CAPTULO 6 / registros y transferencias de registro

COMIENZO

DETENER

CSS REINICIAR

(un)
TM

4-Digit BCD

Dakota del Sur


Paralelo 16-Bit
Registro de carga

(segundo)

Figura 6-25
(a) Apariencia externa y (b) Requisitos para Registrarse DashWatch

2. Las seales externas de control de entrada, seales de salida de datos externos, y los
registros se enumeran Tabla 6-15. Los primeros cuatro seales, proporcionados a
travs de la lgica condicin-ing seal de pulsadores en la cara de la DashWatch,
son 1 si se empuja el botn y 0 si no es empujado. Las seales restantes son las
entradas de visualizacin LCD de 6 segmentos para los cuatro dgitos de izquierda a
derecha y el punto de DP decimal. DP es siempre 1 cuando el aparato est
encendido. Estos cinco vectores se combinan en el vector B 29 bits que impulsa el
LCD. Al mirar a la especificacin en 1, se puede concluir que se necesitan dos
registros. Uno de ellos es un contador de tiempo, TM, que los tiempos de la carrera
de la corriente, y el otro SD, que almacena el valor del tablero ms corto. El registro
del temporizador tiene que contar hasta cada 0,01 segundos, el periodo del reloj del
circuito. Hay dos opciones para un contador ascendente: 1) un contador binario con
un nmero suf-ciente de bits a una precisin de 0,01 segundos en decimal, o 2) un
contador BCD de 4 dgitos que cuenta en los intervalos de 0,01 segundos. En este
caso, hemos elegido el contador BCD para ahorrar en hardware necesario para
convertir de binario a BCD para la visualizacin de salida. El registro de SD tiene
que ser inicializado a (99.99) BCD y para ser cargado con el contenido de TM. Por
lo tanto se requiere un 4 dgitos (16-bit) registro de carga en paralelo. Los registros
se muestran en la Figura 6-25 (b). Por lo tanto se requiere un 4 dgitos (16-bit)
registro de carga en paralelo. Los registros se muestran en la Figura 6-25 (b). Por lo
tanto se requiere un 4 dgitos (16-bit) registro de carga en paralelo. Los registros se
muestran en la Figura 6-25 (b).

3. El diagrama de mquina de estado se da en la figura 6-26. En la formulacin de este


diagrama, los resultados del modelo de Moore fueron escogidos, por lo que todas
las salidas son funciones de estado. Justo despus del encendido o restablecimiento
manual, el circuito DashWatch se encuentra en el estado S1 en
6-10 / Control de Transferencias de
Registro 371

Tabla 6-15
entradas, salidas, y los registros de la DashWatch

Smbolo Funcin Tipo


entrada de
COMIENZO Inicializar el temporizador a 0 y empezar temporizador control
entrada de
DETENER Detener temporizador y mostrar temporizador control
entrada de
CSS Comparar, almacenar y mostrar menor tiempo salpicadero control
entrada de
REINICIAR Establecer el valor ms corto para 10011001 control
vector de salida de
segundo
1 Digit 1 Datos de vector a, b, c, d, e, f, g para mostrar datos
vector de salida de
segundo0 Digit 0 datos de vector a, b, c, d, e, f, g para mostrar datos
DP Punto decimal a la pantalla (= 1) Salida de datos
vector de salida de
segundo
-1 Dgito -1 Los datos de vector A, B, C, D, E, F, G para mostrar datos
Dgito -2 de datos de vectores A, B, C, D, E, F, G para vector de salida de
segundo
-2 mostrar datos
El vector de entrada de la pantalla 29 bits (B1, B0, DP, B-1,
vector de salida de
segundo B-2) datos
registro de 16
TM contador BCD de 4 dgitos bits
Dakota del registro de 16
Sur registro de carga en paralelo bits

que la SD registro se sincrnicamente pone a 0. El producto de circuito a S2 que


esperar a START = 1. Mientras START =0, como se indica por START en una
auto-bucle, en el estado S2, el estado permanece S2. En el estado S2, TM se
restablece a 0 el uso de una seal de reposicin sncrona. Si usamos una entrada del
flip-flop asncrono para cambiar el estado de uno o ms flip-flops enterrados en
medio de un diseo sncrono, estamos violando el supuesto sncrono que todos los
cambios de estado en funcionamiento normal deben estar sincronizados con el reloj
en el entradas del flip-flop. Bajo este supuesto, las entradas asncronas son para ser
utilizado slo para el rearme de encendido y reinicio general del sistema a su estado
inicial requerida.
Mediante el uso de una entrada asncrona en los flip-flops a cambiar de estado
del flip-flop, un diseador podra ser atrapado por un problema de tiempo que causa
fallo del circuito, pero no se detecta fcilmente durante el diseo y la fabricacin.
COMIENZO = 1 provoca una transicin al estado S3 en el que se habilita TM
para contar hacia arriba una vez cada 0,01 segundos (la frecuencia de reloj es 100
Hz). El recuento contina y se visualiza (DIS= TM), mientras PARADA = 0.
Cuando PARADA se convierte en 1, el estado se convierte en S4, y se muestra el
tiempo almacenado en el tablero TM.
En el estado S4, el usuario puede elegir en cuando un nuevo guin (CSS
START = 1), volviendo al estado a S2, o para comparar el tiempo de tablero a la
vez tablero ms pequeo almacenado (CSS =1), avanzando el estado a S5. Hasta
que se produce uno de estos eventos de entrada, el Estado sigue siendo S4 debido a
un arranque CSS. Tenga en cuenta que en vez de empezar como una condicin de
transicin, se utiliza START CSS. Esto es para satisfacer la restriccin mutuamente
excluyentes, restriccin 1 de las dos condiciones de restriccin de transicin para un
diagrama de ma-lomo estado.
En el estado S5, TM se compara con SD. Si TM es menor que SD, entonces
el valor en SD se sustituye por TM. Esta operacin se produce en el estado S6,
despus de lo cual el siguiente
372 CAPTULO 6 / registros y transferencias de registro

REINICI
AR
Da
kot
a
del
S1 Sur (9999)BCD

COMIE
NZO S2 TM (0000)BCD
COMIENZO

DETE
NER S3 TM (TM 1)BCD, DIS TM
START CSS DETENER

COMIE
CSS NZO S4 DIS = TM

CSS

S5

TM SD TM SD
COMIEN Da
ZO kot
a
del
S7 S6 Sur TM

COMIE
NZO DIS SD

Figura 6-26
Estado diagrama de la mquina para DashWatch

Estado se convierte en S7. Si TM es mayor o igual a SD, SD entonces no se ha


modificado, y el estado se convierte en S7. En el estado S7, el tiempo de tablero
ms pequeo almacenado en SD se muestra hasta START se empuja para hacer que
el estado cambie a S2, a partir de la temporizacin de otro tablero.
4. El siguiente paso es la separacin del camino de datos del control, incluyendo la
definicin de las seales de control y de estado que los conectan juntos. Las
acciones camino de datos se pueden leer en el diagrama de mquina de estados. Las
acciones se agrupan en funcin de los destinos representados por el lado izquierdo
de enunciados de transferencia (re ) O declaraciones de conexin (=). Adems, la
notacin que indica la generacin de estado en el camino de datos debe ser
interpretado y seales de estado llamado. Los resultados finales de estas
agrupaciones se muestran en la Tabla 6-16 en la columna izquierda. Para las dos
transferencias de registro en SD, se asigna la variable de ACTUALIZACIN para
seleccionar la fuente de las transferencias, y LSR se asigna para controlar la carga
de SD. Por TM, RSTM se asigna como la seal de reset sncrono para poner a cero
el contenido del registro, y ENTM (que impulsar el acarreo C0 en el dgito menos
significativo del contador BCD) se utiliza para controlar si el recuento es de hasta
un 1 o 0. seal DS ha sido asignado para seleccionar el registro que desea
visualizar. Por ltimo, ALTB se asigna como la seal de estado para indicar si o no
TM es inferior a SD. Los nombres de las variables en forma de verdad y
complemento de la Tabla 6-16
6-10 / Control de Transferencias de
Registro 373

Tabla 6-16
Acciones de salida del camino de datos y la generacin de Estado con el control y
seales de estado

Controlar
o
Estado
Accin o Estado seales Significado de valores 1 y 0

TM re (0000)BCD RSTM 1: Restablecer TM a 0 (reset de sncrono)


0: Sin reset de TM
1: BCD contar hasta TM por 1, 0: llevar a cabo
TM re (TM + 1)BCD ENTM valor TM
Dakota del Sur re 0: Seleccionar 1001100110011001 para la carga
(9999)BCD ACTUALIZAR SD
LSR 1: Activar SD de carga, 0: carga disable SD
Dakota del Sur re TM ACTUALIZAR 1: Seleccionar TM para la carga SD
LSR Lo mismo que arriba

DIS = TM DS 0: Seleccionar TM para DIS


DIS = Dakota del Sur 1: Seleccionar SD para DIS

TM 6 Dakota del Sur ALTB 1: TM menos de SD


TM Dakota del Sur 0: TM mayor que o igual a SD

reemplazar las acciones de salida y las condiciones de entrada a base de de estado


en la figura 6-26 para formar el diagrama de estado en la figura 6-27 (b).
5. A continuacin, desarrollamos el diagrama de bloques del camino de datos dada en
la figura 6-27 (a). Los dos registros definidos con anterioridad aparecen en el
diagrama con sus terminales de control y las seales desde la unidad de control
aadidos. RSTM es la entrada sncrono para la puesta a cero de TM, y ENTM se
aplica a la entrada de acarreo C0. Con el fin de suministrar el ALTB seal de
estado, se requiere una A <B comparador con la salida TM como su entrada A y la
salida SD como su entrada B. La carga de SD necesidades de hardware de
seleccin para seleccionar ya sea de TM o 1001100110011001 como su entrada. Se
utiliza un 16-bit multiplexor 2-a-1 con entrada S impulsado por UPDATE. Con el
fin de entregar la informacin a la pantalla LCD para la visualizacin, es necesario
seleccionar entre TM y SD como fuente. A 16-bit multiplexor 2-a-1 con ciertas DS
de seal se utiliza para producir la seal DIS 16 bits. Finalmente, esta seal se debe
convertir a los cuatro vectores de variables a, b, c, d, e, f, g para el control de los
segmentos de la pantalla para las cuatro dgitos. Estos vectores fueron etiquetados
previamente como B1, B0, B1, y salidas de datos B-2. La colocacin del punto
decimal DP entre B0 y B-1, y la combinacin de todos los 29 bits, se obtiene la
salida B que impulsa el LCD.
6. Un nmero de componentes del diagrama de bloques desarrollado ya estn Avail-
capaz de nosotros. El dgito contador BCD ya fue desarrollado en la Seccin 6-6.
El contador BCD de 4 dgitos puede ser construido mediante la conexin de cuatro
de la cuenta-ers dgitos juntos. Es necesaria una modificacin para proporcionar el
reset sncrono func-cin para el contador. A 2-entrada de la puerta Y se coloca
entre la lgica para cada bit y la entrada D en el correspondiente flip-flop. La
segunda entrada en la puerta Y est conectada a RSTM. Cuando RSTM es 0, el
circuito es normal. Cuando
374 CAPTULO 6 / registros y transferencias de registro

TM
C0 ENTM
4-Digit BCD
RSTM SRST

ALTB A <B Comparador


Dakota D1 D0
del Sur DS S 16-Bit 2-a-1 MUX
LSR CARGA
Registro de
almacenamiento DIS
REINICI
REINICIAR AR re
4 dgitos BCD-to-7
segmento convertidor
ACTUALIZ
AR S 16-Bit 2-a-1 MUX
D1 D0
4-Digit Display LCD
DP 1
Contratado 1001100110011001
(un
)

Valores por Defecto: Todas las


salidas = 0 S1 LSR

REINICIAR

COMIENZO S2 RSTM
COMIE
NZO

DETENER S3 ENTM
DETEN
ER

S4

CSS

S5

ALTB

COMIENZ
O S7 S6 UPDATE LSR
COMIENZO
DS
(segundo)
Figura 6-27
(A) Datapath Diagrama de bloques y (b) Estado-Machine control Diagrama para
DashWatch
6-10 / Control de Transferencias de
Registro 375

RSTM es 1, todas las entradas a los flip-flops son 0, y los flip-flops se restablecen a
todos los 0s en el prximo reloj.
El registro de carga en paralelo es una versin de 16 bits del registro en la
Figura 6-2. La A6comparador B puede ser diseado fcilmente como un circuito
lgico iterativo. Suponiendo un equipaje que va de derecha a izquierda, la ecuacin
para cada celda es Ci= AiBi + (Ai+ Bi) Ci- 1 y el entrante llevan C0= 1. Esto
representa la lleva en un unsigned 2s binarios complementar restador utilizando el
circuito mostrado en la figura 3-45 con S= 1 para realizar una - B. Para este
circuito, el resultado
UN - segundo = UN + (2n- 1- segundo)+ 1= 2n+ (UN- segundo). Si A- segundo
0, entonces el resultado es mayor que o igual a 2n, y Cn (el acarreo de la MSB) es
1. Si A- segundo 6 0, entonces el resultado es inferior a 2n, y Cn= 0. As, para una6
segundo, Cn= 0 y ALTB= Cn.
El multiplexor para la carga SD est construido basado en el concepto
utilizado para el multiplexor quad 4-a-1 en la figura 3-27. Utiliza una 1-a-2-lnea
decod-er impulsado por la entrada S y 16 pares de circuitos permitan para el
manejo de los dos vectores de datos de 16 bits. El mismo multiplexor puede ser
utilizado para la formacin de la DIS vector de datos de 16 bits. El circuito final es
el convertidor de cdigo BCD-to-7-segmento de 4 dgitos que puede ser construido
de cuatro copias del convertidor de cdigo BCD-to-7-segmento 1 dgitos diseado
en el ejemplo 3-18.
Aparte de un problema, esto completa el diseo de la ruta de datos. Debido a
su vector de datos de entrada en D0 es una constante, el multiplexor 16-bit 2-a-1
para select-ing la entrada SD puede reducirse sustancialmente mediante la
aplicacin de la contraccin del captulo 3. Haciendo esto, para un bit con un valor
de datos de 0,
Y = (DAKOTA DEL SUR + Dakota del Sur )
yo 0i 1i re0i

= Dakota del Sur


=0 1i

Por un poco con un valor de datos de 1,


Y = (DAKOTA DEL SUR + Dakota del Sur ) =
yo 0i 1i re0i = 1

S + re
1i

El diseo de la ruta de datos se ha completado. No hay una transferencia de


registro-ware que ser diseado para la unidad de control.
7. El siguiente paso es disear el hardware de unidad de control. Para la simplicidad
del diseo, seleccionamos una asignacin de estado de un solo caliente. Para el
diagrama de estado en la figura 6-27, esta asignacin permite cada uno de los
estados de Si para ser representada por una sola variable de estado de Si que es 1
cuando en el estado de Si y 0 en caso contrario. FUNC-ciones siguiente estado
(flip-flop ecuaciones de entrada) son:
DS1 = S1 (t+ 1)= 0
re COMIE COMIENZO + S7
S2 = S2 (t + 1) = S1 + S2 NZO + S4 CSS START
re COMIENZO + DETE
S3 = S3 (t + 1) = S2 S3 NER
re DETENER + COMIE
S4 = S4 (t + 1) = S3 S4 CSS NZO
re
S5 = S5 (t + 1) = S4 CSS
DS6 = S5 ALTB
re COMIE
S7 = S7 (t + 1) = S5 ALTB + S6 + S7 NZO
376 CAPTULO 6 / registros y transferencias de registro

Las funciones de salida (ecuaciones de salida) son:

LSR = S1+ S6
RSTM = S2
ENTM = S3
ACTUALIZAR = S6
DS = S7
Tenga en cuenta que DS 1 =0. La razn es que este estado slo se introduce por el
encendido o reinicio general. Nunca se introduce de forma sincrnica. Como
consecuencia de ello, no hay necesidad de ningn valor a cargar en el flip-flop. Es, sin
embargo, necesario tener este restablecimiento flip-flop a un estado (de salida) tiene un
valor de 1 debido al cdigo de una sola caliente utilizado. Si esto no es posible con las
entradas y salidas proporcionadas, esto se puede hacer con slo un R de reposicin
asincrnica y un inversor aadido a la salida del flip-flop en esta aplicacin.

Con la asignacin de un estado caliente, hay 128- 7 =121 cdigos estatales no


utilizados que fueron tratados como-cuidados son gratis. En el caso de un fallo que hace
que uno de estos estados que se produzca, el comportamiento del circuito es desconocido.
Es esta una cuestin crtica? Se trata de un producto de consumo de bajo costo que
bordea en un juguete. Para un dispositivo tal, un fallo poco frecuente no es
particularmente perjudicial. Por lo que esta situacin va a ser ignorado. Para las
aplicaciones ms crticas, el comportamiento en estos estados tendra que ser
investigado.

Ejemplo 6-4 Handheld del juego: cerdo


El objetivo de este ejemplo es disear un juego de mano implementar una sola matriz de
ver-sin del Juego de cerdo. Los ocho pasos de diseo se proporcionan al lado de este
sencillo juego con un diseo no tan simple.
1. El cerdo es un juego de dados que se utiliza como una herramienta de aprendizaje
para la instruccin en Probabil-dad. En contraste con las versiones ms prevalentes
que utilizan dos dados, esta versin de PIG se juega con una nica matriz que tiene
de 1 a 6 puntos en sus seis caras (vase la figura 3-57). Durante cada turno, el
jugador tira el dado una o ms veces hasta que a) un 1 se enrolla o b) el jugador
elige de sujetar. Para cada rollo, el valor rodado, a excepcin de un 1, se aade a un
subtotal para la vuelta actual. Si un 1 se rueda, el subtotal es 0 y se termina el turno
del jugador. Al final de cada turno, se aade el subtotal para total general del
jugador, y el juego pasa al otro jugador. El primer jugador que alcance o supere los
100 triunfos. On-line versiones de PIG se pueden encontrar buscando en la red
para: Juego de cerdo.
La vista exterior del juego se muestra en la figura 6-28 (a). Hay tres pantallas
LCD de 2 dgitos decimales. Las pantallas de izquierda a derecha son impulsados
por vectores de seal TP1, ST, y TP2, respectivamente. TP1 controla la
visualizacin de la puntuacin total para el jugador 1 y TP2 controla la
visualizacin de la puntuacin total para el jugador 2. Durante un giro, ST controla
la visualizacin subtotal para el jugador activo. Hay cuatro pulsadores, rollo,
HOLD, NEW_GAME, y RESET, que producen seales con los mismos nombres
condicionado. Hay una gran variedad LED
6-10 / Control de Transferencias de
Registro 377

Jugador TurnTotal El
1 jugador 2

SOSTEN
RODAR ER
NUEV
O
REINICIAR
JUEGO

(un)

MORIR SUR FP
3-Bit 1-a-6 Paralelo 7-Bit
FF
Mostrador LoadRegister
TR1 TR2 CP
Paralelo 7-Bit Paralelo 7-Bit
FF
LoadRegister LoadRegister
Registros de
DataPath Registros control
(segundo)

Figura 6-28
CERDO: (a) Vista exterior del PIG, (b) Registros PIG

mostrando el valor de matriz controlada por CPDN y dos LED que indican el
jugador activo. El LED izquierdo es controlado por P1 seal y la derecha por P2.
Cuando es el turno de un jugador, el LED se encienda el reproductor y re-red en el
resto del turno. Cuando un jugador gana, el LED parpadea para el jugador. Cuando
se empuja ROLLO, el troquel empieza a rodar. Cuando se libera RODILLO, el
troquel se detiene la rodadura, y se aade el valor laminado al subtotal actual. Si un
1 se rueda, ST se convierte en 0, se aade 0 al total del jugador, y el LED para las
luces de otros jugadores. Cuando se empuja HOLD se aade subtotal del jugador
para el total del jugador, y el LED para las otras luces jugador. Cuando iguales
totales de un jugador o excede el 100, LED parpadea del jugador. Un nuevo juego
se puede iniciar en cualquier momento pulsando NEW_GAME. Mientras el poder
permanece encendido y reset no se empuja, el nuevo juego comenzar con el
jugador opuesta a la que antes de comenzar el juego. Si la electricidad ha sido
apagado, el jugador 1 ser primero. Las entradas y salidas externas para el juego se
muestran en la Tabla 6-17.

2. A continuacin, nos damos cuenta que los registros requeridos en el camino de


datos cerdo. La matriz est representada por una DIE registro de 3 bits que cuenta
de 1 a 6 repetidamente. Este registro debe tener una entrada de habilitacin, y se
pone a 001 usando RESET. Se genera un nmero aleatorio en funcin de un
estado inicial arbitrario y el tiempo que ruedan se mantiene pulsado. Los dos totales
y el subtotal
378 CAPTULO 6 / registros y transferencias de registro

Tabla 6-17
entradas, salidas, y los registros de cerdo

Smbolo Nombre / Funcin Tipo


1: Inicia til de laminacin, 0: Estaciones matriz de
RODAR laminacin entrada de control
SOSTENE 1: Finaliza el turno del jugador, 0: Contina jugador de
R turno. entrada de control
NUEVO
JUEGO 1: Inicia nuevo juego, 0: Contina la partida actual entrada de control
REINICIA
R 1: Reinicia el juego a estado INIT, 0: Ninguna accin entrada de control
DDES 7-Bit LED morir array display Salida de datos
vector
14-Bit par de 7 segmentos (a, b, c, d, e, f, g) para encender la
SUB pantalla total Salida de datos
vector
14-Bit par de 7 segmentos (a, b, c, d, e, f, g) a Jugador 1
TP1 pantalla Salida de datos
vector
14-Bit par de 7 segmentos (a, b, c, d, e, f, g) al jugador
TP2 pantalla 2 Salida de datos
vector
P1 1: El jugador 1 LED, 0: Jugador 1 LED apagado Salida de datos
P2 1: Jugador 2 LED, 0: Jugador 2 LED apagado Salida de datos
el contador de valores especializados troquel para contar 1, registro de datos de
MORIR ..., 6,1, ... 3 bits
Subtotal de registro de la carga del reproductor paralelo registro de datos de
SUR activo 7 bits
registro de datos de
TR1 Total para el registro de carga Jugador 1-paralelo 7 bits
registro de datos de
TR2 Total para el registro de carga Jugador 2-paralelo 7 bits
FP El primer jugador-flip-flop 0: Jugador 1, 1: Jugador 2 control 1-Bit
registro
CP Jugador de la seleccin biestable 0: Jugador 1, 1: Jugador 2 control 1-Bit
registro

cada uno requiere un registro de 7 bits. Estos registros sern nombrados TR1, TR2,
y SR. Cada uno de estos tres registros deben tener un restablecimiento sincrnica y
permitir una carga.

Adems de los registros camino de datos, a 2 bits de control de registro


almacena 1) El primer jugador en el juego actual, FP, y 2) el jugador actual en el
juego, CP. El objetivo de almacenar por separado esta informacin es significativa
sim plificacin de la mquina de estado de control. De lo contrario, tendran que ser
duplicado para cada jugador estados. Los registros camino de datos y de control
para el cerdo se muestran en la Tabla 6-17.

3. El diagrama de mquina de estado para PIG aparece en la figura 6-29. En contraste


con el ejemplo anterior, salidas Mealy que dependen tanto del estado y de entrada
son per-mitted. Es til antes de desarrollar el diagrama a considerar una serie de
situaciones que puedan existir con el fin de ayudar a definir los estados:
a. Se ha producido un encendido o restablecimiento manual.
b. Se solicita un nuevo juego.
6-10 / Control de Transferencias de
Registro 379

REINICI
AR
DIE 000, FP 0
EN ESO TR1 0, TR2 0, FP CP

RODAR EMPEZAR SUR 0


RODA
R

RODAR ROL
RODA
CP CP R
DIE = 1
UNO

DIE = 1
RODAR

ROH
CP CP

PRUEBA

FP FP
NUEVO JUEGO
GANA
R

NUEVO JUEGO

Figura 6-29
Estado diagrama de la mquina para el cerdo

c. Uno de los jugadores es activa y comienza a jugar.


d. El jugador activo puede rodar un 1.
e. El jugador activo puede seleccionar entre el rodillo y HOLD.
f.El jugador activo debe tener el resultado MANTENER probado por una
victoria.
g. El jugador activo ha ganado.
Cada una de estas situaciones pueden requerir un estado y ciertas salidas. Para situ-
acin de una, tenemos que establecer lo que debe ser repuesto por el
restablecimiento y establecer el estado que resulta de un RESET. En la figura 6-29,
para empezar, inicializamos DIE a 000, determinar quin juega primero
inicializando FP a 0, y elegir un nombre del estado de reinicio (INIT). Situacin B,
el inicio de un nuevo juego, si el primer juego o un juego posterior, requiere que los
registros TP1 y TP1 pueden restablecer. SUR se debe establecer en el cambio de los
jugadores, por lo que puede
380 CAPTULO 6 / registros y transferencias de registro

Espere. Dado que estos restablece deben ocurrir para los juegos siguientes, que no
deben ser asncrono, pero hacerse de forma sincrnica en INIT. Adems, tenemos
que informar al jugador que va a convertirse en el jugador activo, por lo que CP se
carga con FP. En este punto, un giro juego puede comenzar, por lo que el estado se
convierte en Begin, que representa el inicio de la situacin c. Dado que el jugador
activo est listo para comenzar puntos Accu-mulating, SUR, se forma sincronizada
pone a 0. El estado sigue siendo comienzan y el restablecimiento del SUR repite,
pero esto no es perjudicial. Cuando un jugador empuja tirada, el estado se convierte
en LOD, y la adicin de 1 a DIE se repite mientras ROLLO ROLLO es 1. Cuando
se convierte en 0, DIE deja de aumentar. Por situacin d, una comprobacin de si el
jugador rod hace falta un 1. Por lo tanto rollo= 0 cambia el estado a una donde se
produce esta prueba. Si DIE= 1, entonces el turno del jugador ha terminado, el otro
jugador se convierte en el jugador activo (CPreCP), y las declaraciones de estado
para comenzar. Si DIE 1, se aade a DIE SUR, y el estado se convierte en ROH
(Roll o En espera). A continuacin, el jugador puede tirar el dado de nuevo
seleccionando RODILLO, volviendo a ROL. De lo contrario, el jugador puede
seleccionar Retener, lo que provoca SUR que se aade a TR1 o TR2, dependiendo
del valor de CP. (Tenga en cuenta que con el fin de satisfacer la parte exclusin
mutua de las limitaciones condicin de transicin, Roll ha sido AND con HOLD.)
El siguiente estado se convierte en TEST, en el que se realiza una prueba en TR1 o
TR2, de nuevo dependiendo del valor de CP, para determinar si el jugador ha
ganado. Si el jugador no ha ganado, entonces el otro jugador se activa y se
convierte en el estado BEGIN. Si el jugador ha ganado, el estado se convierte WIN.
En el estado GANAR LED del jugador, segn la seleccin de CP, parpadea debido
a la seal alterna parpadear.

4. En este paso, separamos el camino de datos del control y definimos las seales de
control y de estado que los conectan entre s. Las acciones camino de datos se
pueden leer en el diagrama de mquina de estados. Las acciones se agrupan en
funcin de los destinos representados por el lado izquierdo de enunciados de
transferencia (re ) O declaraciones de conexin (=). Adems, la notacin que indica
la generacin de estado en el camino de datos necesita ser interpretada y seales de
estado generado. El resultado final de las agrupaciones se muestra en la Tabla 6-18
en la columna izquierda. restablece sncronos se utilizan para todos los registros,
excepto para morir y FP, que tienen restablece asncronos. Para las adiciones, la
seal de control es simplemente una carga del registro corresponden-ing, ya que
aparte de reposicin asincrnica, no hay otras transferencias en los registros
involucradas. Para P1 y P2, tenga en cuenta que los valores por defecto establecidos
se utilizan para las entradas 0. Otros valores por defecto son implcitamente 0,
mantenga los valores almacenados, o ninguna accin. A partir de la DIE=1, el resto
de la tabla es para condiciones de estado. Tenga en cuenta cmo se utiliza para
seleccionar CP total registrar TRI por el jugador activo en la determinacin de una
victoria. Los nombres de variables en forma verdadera y complemento
6-10 / Control de Transferencias de
Registro 381

Tabla 6-18
acciones camino de datos de salida y de control y seales de estado de los cerdos

control o
seales de
Accin o Estado estado Significado de valores 1 y 0
1: Restablecer TR1 (restablecimiento sincrnica),
TR1 re 0 RST1 0: Ninguna accin
TR1 re TR1 + SUR LDT1 1: Aadir a SUR TR1, 0: Ninguna accin
1: Restablecer TR2 (restablecimiento sincrnica),
TR2 re 0 RST2 0: Ninguna accin
TR2 re TR2 + SUR LDT2 1: Aadir a SUR TR2, 0: Ninguna accin
1: Restablecer SUR (restablecimiento sincrnica),
SUR re 0 RSSU 0: Ninguna accin
SUR re SUR + MORIR LDSU 1: Aadir a DIE SUR, 0: Ninguna accin
1: Restablecer DIE a 000 (restablecimiento
MORIR re 000 REINICIAR asncrono)
1: Habilitar DIE para incrementar, 0: Mantenga
si (DIE = 110) ENDI valor DIE
MORIR re 001
DIE dems re MORIR + 1

P1 = PARPADEO BP1 1: Conectar P1 a parpadear, 0: conecte P1 a 1

P2 = PARPADEO BP2 1: Conectar P2 a parpadear, 0: conecte a P2 1

CP re FP CPFI 1: Seleccionar FP para CP


LDCP 1: Cargar CP, 0: Ninguna accin
CP re CP CPFI 0: Seleccionar CP para CP
LDCP 1: Cargar CP, 0: Ninguna accin

FP re 0 REINICIAR reinicio asincrnica


FP re FP FPI 1: Invertir FP, 0: Mantenga FP

MORIR = 1 DIE1 1: DIE igual a 1


DIE 1 0: Die no es igual a 1

TR1 1100100 CP 0: Seleccionar TR1 para 1100100


WN 1: El TRi seleccionado 1100100
0: La TRi seleccionado 6 1100100

TR2 1100100 CP 1: Seleccionar TR2 para 1100100


WN 1: El TRi seleccionado 1100100
0: La TRi seleccionado 6 1100100
382 CAPTULO 6 / registros y transferencias de registro

REINICI
AR

EN ESO RST1, RST2, CPFI, LDCP

EMPEZA
RODAR R RSSU

RODAR

RODAR ROL ENDI

LDCP RODAR

DIE1 UNO LDSU

DIE1
RODAR
ROH CP / LDT1, CP /
LDT2
LDCP
PRUEBA WN

WN
LDFP
NUEVO JUEGO
GANA
R
CP / BP1, CP /
NUEVO
BP2
JUEGO

Figura 6-30
Estado-mquina de control Diagrama de PIG

de la Tabla 6-18 reemplazar las acciones de salida y condiciones de entrada


basados en estado en la figura 6-29 para formar el diagrama de estado en la figura
6-30.
5. La informacin de la Tabla 6-18 sirve tambin como una base para desarrollar el
bloque de dia-gramo del camino de datos dada en la figura 6-31. Los registros
camino de datos que se muestran en la Tabla 6-17 anclan el diseo del camino de
datos. Adems de ser aadido al SUR, DIE unidades de la Die Display Dot a travs
de un decodificador especializado y debe ser probado por el valor 001. Los
registros SUR, TR1, TR2 y son todos idnticos con una seal para permitir la carga
y un restablecimiento sincrnica. Estos tres registros se cargan a partir de 7 bits
ondulacin llevar sumadores. Las salidas de estos registros cada unidad un
convertidor 7 bits de binario a BCD y un convertidor de BCD a 7 segmentos 2
dgitos con el fin de controlar la pantalla LCD de 2 dgitos correspondiente. Con el
fin de detectar una victoria,
6-10 / Control de Transferencias de
Registro 383

MORIR
3-bit 1-a-6
Mostrador
ENDI ES R REINICIAR
0000

De binario a LED re
7 bits Ripple
llevar a Adder Die puntos Decoder D = 1 Comparador DIE1

SUR
LDSU ES re Die Dot Display
Carga paralela Reg
Con la
sincronizacin
RSSU R de reinicio

Binario a BCD
Convertidor de
cdigo 7 bits Ripple 7 bits Ripple
llevar a Adder llevar a Adder

2-Digit BCD-to-7 TR1 TR2


segmento
convertidor re re
LDT1 ES Carga paralela Reg LDT2 ES
Carga paralela Reg
Con la Con la
sincronizacin de sincronizacin de
RST1 R reinicio RST2 R reinicio

2-Digit Display LCD


Binario a BCD Binario a BCD
Convertidor de Convertidor de
cdigo cdigo

2-Digit BCD-to-7 2-Digit BCD-to-7


segmento
segmento convertidor convertidor

2-Digit Display LCD 2-Digit Display LCD

LDCPCP
D0 D1
CP S 7-Bit 2-a-1 MUX FP MUX ES CP
LDFP ES FP 1 re
0
REINICI re S
re AR R
WN CPFI
Registros de
control

Figura 6-31
Datapath y registros de control para el
cerdo
384 CAPTULO 6 / registros y transferencias de registro

El resto del diagrama es la lgica para controlar el contenido de FP y CP en la


unidad de control. FP se restablece de forma asncrona con REINICIAR y
habilitado para la carga de FP por LDFP. CP se inicializa por la carga de FP a
travs de la mul-tiplexer con CPF= 1 y LDCP = 1. Cuando la ACB = 0 y LDCP =
1, CP se carga con CP.

6. La lgica detallada para las transferencias de control en FP y CP ya ha sido


diseado, y la mayor parte de la lgica de camino de datos consta de componentes
para los que los diseos ya estn disponibles. La lgica en forma de puertas Y con
un R invertida en la segunda entrada necesita ser aadido en las entradas a los flip-
flops D en el diseo registro de carga en paralelo en este captulo para poner en
prctica el restablecimiento sincrnica. Los diseos de morir, el D=1 comparador,
los convertidores de cdigo de binario a BCD, y los diseos de comparador D
1100100 se dan como problemas en este captulo. El troquel puntos decodificador
de binario a LED se da como un problema en el captulo 3 y el convertidor-BCD a
7 segmentos est diseado en el Captulo 3.

7. El diseo detallado de la unidad de control se da como un problema en el extremo


de la
captulo.
Omitido en estos ejemplos, la verificacin en el paso 8 slo se ha abordado hasta
ahora para circuitos simples. La complejidad de verificar completamente, incluso las
pequeas sys-TEMS dadas en los dos ejemplos anteriores es mucho ms difcil y ms all
del alcance de lo que podemos cubrir aqu. prueba rudimentaria puede hacerse mediante
pruebas funcionales para ver si el circuito realiza su funcin correctamente. Esto implica
la aplicacin de secuencias de entrada y el uso de la simulacin para observar las salidas.
La pregunta ahora es: Qu secuencia de prueba se debe aplicar para asegurarse de que
la verificacin es lo suficientemente completa para colocar alta confianza en la correccin
del circuito? Para ilus-trar la dificultad de responder a esta pregunta, el diseador
promedio gasta 40 por -cent o ms del tiempo de diseo hacer la verificacin.

6-11 HdL RePresentation foR sHift RegisteRs y doounteRs-


VHdL
Ejemplos de registro de desplazamiento y un contador binario ilustran el uso de VHDL
en registros y operaciones represen-tando en el contenido de registro.

Ejemplo 6-5 VHDL para un registro de desplazamiento de 4 bits


El cdigo VHDL en la figura 6-32 se describe un registro de desplazamiento izquierda de
4 bits en el nivel de comportamiento. UNREINICIARde entrada est presente que
restablece directamente el contenido del registro a cero. El registro de desplazamiento
contiene flip-flops y por lo tanto tiene una descripcin del proceso se asemeja a la de un
flip-flop D. Los cuatro flip-flops estn representados por la sealcambio, De tipostd_
logic_vector de tamao cuatro. Q no puede ser utilizado para representar los flip-
flops, ya que es una salidas de salida y el flip-flop debe ser utilizado internamente. El
desplazamiento a la izquierda se consigue aplicando el operador de concatenaciny a la
derecha tres bits de cambio y para desplazamiento de entrada SI. Esta cantidad se
transfiere acambio, Mover el contenido de un bit a la
6-11 / Representacin HdL de registros de desplazamiento y contadores-
VHDL 385

// 4-Bit Shift Register izquierda con reajuste

biblioteca IEEE;
utilizar ieee.std_logic_1164.all;

entidad srg_4_r es
Puerto(CLK, RESET, SI: en std_logic;
Q: Fuera std_logic_vector (3 downto
0); SO: a cabo std_logic);
fin srg_4_r;

arquitectura conductual de srg_4_r es


seal SHIFT: std_logic_vector (3 downto 0);
empezar
proceso (RESET,
CLK) comienzan
Si (RESET = '1') a
continuacin,
cambiar <= "0000";
elsif (CLK'event y (CLK = '1')) a
continuacin SHIFT <= desplazamiento
(2 downto 0) & SI;
terminara
si; proceso
finalizado;
Q <= cambiar;
SO <=
desplazamiento
(3); poner fin a
la conducta;

Figura 6-32
Conductual VHDL Descripcin de 4-Bit Shift Left Registre con restablecimiento directa

a la izquierda y cargar el valor de SIen el bit ms a la derecha. Siguiendo el proceso que


realiza el cambio son dos estados, uno que asigna el valor decambio a poner fuera Q y la
otra que define el desplazamiento de seal de salida ASI QUE como el contenido del bit
ms a la izquierda de turno.

Ejemplo 6-6 VHDL para un contador de 4 bits


El cdigo VHDL en la figura 6-33 se describe un contador de 4 bits en el nivel de
comportamiento. UNREINICIARde entrada est presente que restablece directamente el
contenido del contador a cero. El contador contiene flip-flops y, por lo tanto, tiene una
descripcin del proceso se asemeja a la de un D flip-flop. Los cuatro flip-flops estn
representados por la seal de recuento, de tipostd_logic_ vectory de tamao cuatro.
Q no puede ser utilizado para representar los flip-flops, ya que es una salidas de salida y
el flip-flop debe ser utilizado internamente. El conteo progresivo se consigue mediante la
adicin de 1 en la forma de"0001" a contar. Puesto que la adicin no es una operacin
normal del tipo destd_logic_vector, Es necesario el uso de un paquete adicional de la
IEEE biblioteca, std_logic_unsigned.all, Que define las operaciones de nmero sin
signo en el tipo de std_logic. Siguiendo el proceso que realiza el conteo a cero y dos
estados, uno que asigna el valor del recuento de salidaQ y el otro que
386 CAPTULO 6 / registros y transferencias de registro

// 4 bits Contador binario con reajuste

biblioteca IEEE;
utilizar ieee.std_logic_1164.all;
utilizar ieee.std_logic_unsigned.all;

entidad count_4_r es
Puerto(CLK, RESET, EN: en std_logic;
Q: Fuera std_logic_vector (3 downto
0); CO: std_logic a cabo);
fin count_4_r;

arquitectura conductual de count_4_r es


seal de recuento: std_logic_vector (3
downto 0); empezar
proceso (RESET,
CLK) comienzan
Si (RESET = '1'),
entonces el
recuento <=
"0000";
elsif (CLK'event y (CLK = '1') y (EN = '1')) a
continuacin, el recuento <= count + "0001";
terminara
si; proceso
finalizado;
Q <= count;
CO <= '1' cuando el recuento = "1111" y EN = '1'
else '0'; poner fin a la conducta;

Figura 6-33
Conductual VHDL Descripcin de 4-bit del contador binario con restablecimiento
directa

define la seal cuente CO. UNcuando-else Se utiliza comunicado en el que CO se


establece en 1 slo para el nmero mximo de ES igual a 1.

6-12 HdL RePresentation foR sHift RegisteRs y doounteRs-


VeRiLog
Ejemplos de un registro de desplazamiento y un contador binario ilustran el uso de
Verilog en registros REP-resentir y operaciones sobre el contenido de registro.

Cdigo Verilog Ejemplo 6-7 para un registro de desplazamiento


La descripcin Verilog en la figura 6-34 se describe un registro de desplazamiento a la
izquierda en el nivel de comportamiento. UNREINICIARde entrada est presente que
restablece directamente el contenido del registro a cero. El registro de desplazamiento
contiene flip-flops, por lo que tiene una descripcin del proceso que comienza
consiempreresem-bling la de un flip-flop D. Los cuatro flip-flops estn representados
por el vectorQ, De tipo reg con los bits numerados 3 a 0. El desplazamiento a la
izquierda se consigue aplicando {} a concate NATE la derecha tres bits de Q y
desplazamiento de entrada SI. Esta cantidad se transfiere aQ, Mover el contenido de un
bit hacia la izquierda y cargar el valor deSIen el bit ms a la derecha. Slo
6-12 / HDL Representacin para registros de desplazamiento y
contadores-Verilog 387

// 4 bits Shift Register izquierda con reajuste

mdulo srg_4_r_v (CLK, RESET, SI, Q,


SO); CLK de entrada, RESET, SI;
salida [3: 0]
Q; salida de
SO;

reg[3: 0] Q;

asignar SO = Q [3];

siempre @(CLK posedge o REINICIAR


posedge) comenzar
Si (REINICIAR)
Q <=
4'b0000; ms
Q <= {Q [2: 0], SI};
endmodule
final

Figura 6-34
Conductual Verilog Descripcin de 4-Bit Shift Left Registre con restablecimiento directa

antes del proceso que realiza el cambio es una instruccin de asignacin continua que
asigna el contenido del bit ms a la izquierda deQ a la seal de salida de desplazamiento
ASI QUE.

Cdigo Verilog Ejemplo 6-8 para un contador


La descripcin Verilog en la figura 6-35 describe un contador binario de 4 bits en el nivel
Behav-ioral. UNREINICIAR de entrada est presente que restablece directamente el
contenido del registro a cero.

// 4 bits Contador binario con reajuste

mdulo count_4_r_v (CLK, RESET, EN, Q,


CO); CLK de entrada, RESET, EN;
de salida [3:
0] Q; CO de
salida;

reg [3: 0] Q;

asignar CO = (count == == 4'b1111 && ES 1'b1)? 1: 0;


siempre @ (posedge CLK o REINICIAR posedge)
empezar
Si REINICIAR)
Q <= 4'b0000;
else if (ES)
Q <= Q + 4'b0001;
fin
endmodule

Figura 6-35
Conductual Verilog Descripcin de 4-bit del contador binario con
restablecimiento directa
388 CAPTULO 6 / registros y transferencias de registro

El contador contiene flip-flops y, por lo tanto, la descripcin contiene un proceso que se


asemeja a un flip-flop D. Los cuatro flip-flops estn representados por la sealQ de tipo
regy el tamao cuatro. El conteo progresivo se consigue mediante la adicin de 1 aQ.
Antes del proceso que realiza restablecer y contando es una instruccin de asignacin
continua condicional que define la seal cuenteCO. CO se establece en 1 slo para el
recuento mximo y ES igual a 1. Observe que lgica y se representa por &&.

6-13 MicRopRogRaMMed doontrol


Una unidad de control con sus valores de control binaria almacenada como un grupo de
bits, que se conocen como palabras, en la memoria se llama un control
microprogrammed. Cada palabra en la memoria de control contiene una microinstruccin
que especifica una o ms microoper-ciones para el sistema. Una secuencia de
microinstrucciones constituye un microprograma. El microprograma generalmente se fija
en el momento del diseo del sistema y por lo que se almacena en ROM. La
microprogramacin implica la colocacin de las representaciones de las combinaciones
de valores de variables de control en palabras de ROM. Estas representaciones se accede
a travs de las operaciones de lectura sucesivas para su uso por el resto de la lgica de
control. El contenido de una palabra en la ROM en una direccin dada especifican las
microoperaciones a realizar tanto para el camino de datos y la unidad de control. Un
microprograma tambin se puede almacenar en la memoria RAM. En este caso, se carga
al iniciar el sistema de alguna forma de almacenamiento no voltil, tal como un disco
magntico. Con cualquiera de ROM o RAM, la memoria en la unidad de control se llama
memoria de control. Si se utiliza la memoria RAM, la memoria se hace referencia a la
memoria de control que se puede escribir.
Figura 6-36 muestra la configuracin general de un control microprogrammed. La
memoria de control se supone que es una ROM dentro de la cual se almacenan de forma
permanente todos de control MicroPro-gramas. El registro de direccin de control (CAR)
especifica la direccin de la microinstruccin. El registro de datos de control (CDR), que
es opcional, puede ser la microinstruccin que est siendo ejecutado por el camino de
datos y la unidad de control. Una funcin de la palabra de control es determinar la
direccin de la siguiente microinstruccin a ser ejecutado. Este microinstruccin puede
ser el siguiente en la secuencia, o puede estar ubicado en otro lugar en la memoria de
control. Por lo tanto, uno o ms bits que especifican el mtodo para determinar la
direccin de la siguiente microinstruccin estn presentes en la microinstruccin actual.
La siguiente direccin tambin puede ser una funcin de la situacin y entradas de control
externas. Cuando se ejecuta una microinstruccin, el generador de nueva direccin
produce la siguiente direccin. Esta direccin se trans-nerales para el coche en el
siguiente pulso de reloj y se utiliza para leer el siguiente microinstruc-cin para ser
ejecutado desde la ROM. Por lo tanto, las microinstrucciones contienen bits para la
activacin de microoperaciones en el camino de datos y los bits que especifican la
secuencia de microinstrucciones ejecutados.

El generador de nueva direccin, en combinacin con el coche, a veces se llama un


secuenciador de microprograma, ya que determina la secuencia de instrucciones se leen
de la memoria de control. La direccin de la siguiente microinstruccin puede-ficado
espec de varias maneras, dependiendo de las entradas del secuenciador. Las funciones
tpicas de un secuenciador de microprograma estn incrementando el CAR por uno y
cargar el coche. Las posibles fuentes para la operacin de carga incluyen una direccin de
memoria de control, una direccin proporcionada externamente, y una direccin inicial
para iniciar la operacin de control de la unidad.
6-13 / Control de microprogrammed 389

Controlar
entradas Seales de estado de ruta de datos

Siguiente Direccin
generador

secuenciador

Control de
registro de
direcciones

direccin de control

Direccin

memori
a de
control
(ROM)

Datos

registro de datos de
control
(opcional)
microinstruccin

Siguiente Controla Las seales de


Direccin r control
al camino de
informacin salidas datos

Figura 6-36
Organizacin Unidad de Control microprogrammed

El CDR sostiene el presente microinstruccin mientras que la siguiente direccin es


com-puted y la siguiente microinstruccin se lee de la memoria. El CDR rompe los largos
caminos de retardo combinatorios a travs de la memoria de control seguido por el dat-
Apath. Su presencia permite que el sistema utilice una informacin de frecuencia de reloj
ms alta y el proceso ms rpido. La inclusin de un CDR en un sistema, sin embargo,
complica la secuencia de microinstrucciones, particularmente cuando las decisiones se
toman sobre la base de los bits de estado. Por simplicidad en nuestra breve discusin,
omitimos el CDR y tomar las microinstrucciones directamente de las salidas ROM. La
ROM funciona como un circuito combi-nacional, con la direccin como la entrada y la
correspondiente microinstruc-cin como la salida. El contenido de la palabra especificada
en ROM permanecen en las lneas de salida, siempre que el valor de la direccin se aplica
a las entradas. No se necesita ninguna seal de lectura / escritura, como lo es con la
memoria RAM. Cada pulso de reloj ejecuta las microopera-ciones especificadas por el
microinstruccin y tambin transfiere una nueva direccin para el coche. En este caso, el
coche es el nico componente en el control que recibe impulsos de reloj y almacena
informacin de estado. El generador de nueva direccin y la memoria de control son
circuitos combinacionales. Por lo tanto, el estado de la unidad de control est dada por el
contenido de la CAR.
390 CAPTULO 6 / registros y transferencias de registro

control de microprogrammed ha sido una tcnica implemen-tacin alternativa muy


popular para las unidades de control para ambos sistemas programables y no
programables. Sin embargo, como los sistemas han vuelto ms complejas y de
rendimiento especfi-cationes han aumentado la necesidad de secuencias paralelas
concurrentes de actividades, la naturaleza lockstep de microprogramacin se ha vuelto
menos atractivo para la implementacin de unidad de control. Adems, una gran ROM o
RAM tiende a ser mucho ms lento que la lgica combinacional correspondiente.
Finalmente, HDLs y herramientas de sntesis facilitar el diseo de las unidades de control
complejas sin la necesidad de un enfoque de diseo programable lockstep. En general,
microprogrammed de control para el diseo de las unidades de control, en especial de
control de ruta de datos directa en las CPUs, se ha reducido significativamente. Sin
embargo, un nuevo sabor de control de microprogrammed ha surgido, para la
implementacin de arquitecturas heredadas com-puter. Estas arquitecturas tienen
conjuntos de instrucciones que no siguen los principios de la arquitectura con-temporal.
Sin embargo, este tipo de arquitecturas deben implementarse debido a las inversiones
masivas en el software que los utiliza. Adems, con-temporal principios de arquitectura
deben ser utilizados en las implementaciones para cumplir los objetivos per-formance. El
control de estos sistemas es jerrquica, con control microprogrammed utilizado
selectivamente en el nivel superior de la ejecucin de instrucciones complejas y de
control cableado en el nivel inferior de la aplicacin de sencillas instrucciones y los pasos
de instrucciones complejas a un ritmo muy rpido. Este sabor de la microprogramacin se
Ered-cov para un ordenador de conjunto de instrucciones complejo (CISC) en el captulo
10. Estas arquitecturas tienen conjuntos de instrucciones que no siguen los principios de
la arquitectura con-temporal. Sin embargo, este tipo de arquitecturas deben
implementarse debido a las inversiones masivas en el software que los utiliza. Adems,
con-temporal principios de arquitectura deben ser utilizados en las implementaciones para
cumplir los objetivos per-formance. El control de estos sistemas es jerrquica, con control
microprogrammed utilizado selectivamente en el nivel superior de la ejecucin de
instrucciones complejas y de control cableado en el nivel inferior de la aplicacin de
sencillas instrucciones y los pasos de instrucciones complejas a un ritmo muy rpido. Este
sabor de la microprogramacin se Ered-cov para un ordenador de conjunto de
instrucciones complejo (CISC) en el captulo 10. Estas arquitecturas tienen conjuntos de
instrucciones que no siguen los principios de la arquitectura con-temporal. Sin embargo,
este tipo de arquitecturas deben implementarse debido a las inversiones masivas en el
software que los utiliza. Adems, con-temporal principios de arquitectura deben ser
utilizados en las implementaciones para cumplir los objetivos per-formance. El control de
estos sistemas es jerrquica, con control microprogrammed utilizado selectivamente en el
nivel superior de la ejecucin de instrucciones complejas y de control cableado en el nivel
inferior de la aplicacin de sencillas instrucciones y los pasos de instrucciones complejas
a un ritmo muy rpido. Este sabor de la microprogramacin se Ered-cov para un
ordenador de conjunto de instrucciones complejo (CISC) en el captulo 10. con-temporal
principios de arquitectura deben ser utilizados en las implementaciones para cumplir los
objetivos per-formance. El control de estos sistemas es jerrquica, con control
microprogrammed utilizado selectivamente en el nivel superior de la ejecucin de
instrucciones complejas y de control cableado en el nivel inferior de la aplicacin de
sencillas instrucciones y los pasos de instrucciones complejas a un ritmo muy rpido. Este
sabor de la microprogramacin se Ered-cov para un ordenador de conjunto de
instrucciones complejo (CISC) en el captulo 10. con-temporal principios de arquitectura
deben ser utilizados en las implementaciones para cumplir los objetivos per-formance. El
control de estos sistemas es jerrquica, con control microprogrammed utilizado
selectivamente en el nivel superior de la ejecucin de instrucciones complejas y de
control cableado en el nivel inferior de la aplicacin de sencillas instrucciones y los pasos
de instrucciones complejas a un ritmo muy rpido. Este sabor de la microprogramacin se
Ered-cov para un ordenador de conjunto de instrucciones complejo (CISC) en el captulo
10. con control de microprogrammed utilizado selectivamente en el nivel superior de la
ejecucin de instrucciones complejas y de control cableado en el nivel inferior de la
aplicacin de sencillas instrucciones y los pasos de instrucciones complejas a un ritmo
muy rpido. Este sabor de la microprogramacin se Ered-cov para un ordenador de
conjunto de instrucciones complejo (CISC) en el captulo 10. con control de
microprogrammed utilizado selectivamente en el nivel superior de la ejecucin de
instrucciones complejas y de control cableado en el nivel inferior de la aplicacin de
sencillas instrucciones y los pasos de instrucciones complejas a un ritmo muy rpido. Este
sabor de la microprogramacin se Ered-cov para un ordenador de conjunto de
instrucciones complejo (CISC) en el captulo 10.

Informacin sobre el sabor ms tradicional de control microprogrammed, derivado de las


ediciones anteriores de este texto, est disponible en un suplemento, Control
microprogrammed, en el Sitio Web Companion para el texto.

6-14 captulo sRESUMEN


Los registros son conjuntos de flip-flops, o conjuntos interconectados de los flip-flops, y
la lgica combinacional. Los registros ms simples son flip-flops que se cargan con
nuevos contenidos de sus entradas en cada ciclo de reloj. Ms complejos son registros en
los que los flip-flops se pueden cargar con nuevos contenidos bajo el control de una seal
en ciclos de reloj seleccionadas. Registrar las transferencias son un medio de representar
y especificando las operaciones pro-cessing elementales. Inscripcin transferencias
pueden estar relacionados con correspondiente hardware del sistema digital, tanto en el
nivel de diagrama de bloques y en el nivel lgico detallado. Microoper-ciones son
operaciones elementales realizadas en los datos almacenados en los registros.
microoperaciones aritmticas incluyen la adicin y la substraccin, que se describen
como transferencias de registro y se implementan con hardware correspondiente. Logic
microopera-ciones, es decir, la aplicacin a nivel de bit de primitivas lgicas tales como
Y, O, y XOR, combinado con una palabra-proporcionar binario enmascaramiento y
selectiva complemento-ing en otras palabras binarias. Izquierda y microoperaciones
derecho del turno de mover datos lateralmente una o ms posiciones de bit a la vez.
Registros de desplazamiento, contadores, y los autobuses implementan las transferencias
registro particular que son ampliamente utilizados en los sistemas digitales.
En este captulo, el control de las transferencias de registro previsto el principal
compo-nente final del diseo de sistemas digitales. Finalmente, todo el material de fondo
estuvo presente para definir un procedimiento para el diseo de sistemas de registro de
transferencia, una de las clases ms generales de los sistemas digitales. Los detalles para
el procedimiento de diseo fueron ilustrados por dos extensos ejemplos que son clave
para entender el fundamento del diseo digital.
Problemas 391

ReFERENCIAS
1. Clare, CR Diseo de Sistemas Lgicos El uso de Mquinas de Estado. Nueva York:
McGraw-Hill, 1973.
2. Manual del Estndar IEEE VHDL Referencia del lenguaje (ANSI / IEEE Std 1076-
1993; revisin de IEEE Std 1076-1987). Nueva York: El Instituto de Ingenieros
Elctricos y Electrnicos, 1994.
3. Norma IEEE lenguaje de descripcin de la base de la VerilogTM Descripcin del
hardware Idioma (IEEE Std 1364-1995). Nueva York: El Instituto de Ingenieros
Elctricos y Electrnicos, 1995.
4. Mano, MM Diseo Digital, 3 ed. Englewood Cliffs, NJ: Prentice Hall, 2002.
5. Thomas, DE y PR Moorby. El hardware Verilog lenguaje de descripcin, 5 ed.
Nueva York: Springer, 2002.
6. Wakerly, JF Diseo Digital: Principios y Prcticas, 4 ed. Upper Saddle River,
Nueva Jersey: Prentice Hall, 2006.

pagPROBLEMAS
El signo ms (+) Indica un problema ms avanzada y el asterisco (*) indica que una
solucin est disponible en el sitio web complementario para el texto.
6-1. Supongamos que registra R1 y R2 en la Figura 6-6 almacenar dos nmeros sin signo.
Cuando de seleccin de entrada X es igual a 1, el circuito sumador-restador realiza
la operacin aritmtica R1+ 2s complemento de R2.Esta suma y el acarreo de
salida Cn se transfieren a R1 y C cuando K1 = 1 y un borde positivo se produce en
el reloj.
(a) Demostrar que si C= 1, entonces el valor transferido a R1 es igual a R1 - R2,
pero si C = 0, el valor transferido a R1 es el complemento 2s de R2 - R1.
(b) Indicar cmo el valor en el bit C se puede utilizar para detectar un acarreo
despus de la resta de dos nmeros sin signo.
(c) De qu manera el comportamiento del cambio de bit C si se cumplen
firmado R1 y R2 2s complementan los nmeros?
6-2. * Realizar la lgica bit a bit AND, OR, y XOR de los dos operandos de 8 bits
10011001 y 11000011.
6-3. Teniendo en cuenta el operando de 16 bits 10101100 01010011, qu operacin debe
llevarse a cabo y qu operando debe ser utilizado:
(a) borrar todas las posiciones de los bits impares a 0? (Asumir posiciones de bits
son 15 a travs de 0 de izquierda a derecha).
(b) establecer los ms a la derecha de 4 bits a 1?
(c) complementar los 8 bits ms significativos?
6-4. * A partir del operando de 8 bits 11001010, muestran los valores obtenidos despus
de aplicar cada turno microoperacin dada en la Tabla 6-5.
392 CAPTULO 6 / registros y transferencias de registro

6-5. * Modificar el registro de la figura 6-11 de manera que funcionar de acuerdo con la
siguiente tabla de funcin, el uso de entradas de seleccin de modo S1 y S0:

Register
S1 S0 Operacin

0 0 Ningn cambio
Cargar datos en
0 1 paralelo
Desviacin a la
izquierda (hacia
1 0 abajo)
1 1 Borrar registro a 0

6-6. * Un contador de anillo es un registro de desplazamiento, como en la figura 6-9, con


la salida serie conectado a la entrada en serie.
(a) A partir de un estado inicial de 1000, una lista de la secuencia de estados de
las cuatro flip-flops despus de cada turno.
(b) Comenzando en el estado 10 ... 0, el nmero de estados hay en la secuencia de
conteo de un contador en anillo de n bits?
6-7. Un contador de conexin de la cola (tambin llamado contador de anillo trenzado,
Johnson contador) utiliza el complemento de la salida en serie de un registro de
desplazamiento a la derecha como su entrada en serie.
(a) A partir de un estado inicial de 000, la lista de la secuencia de estados despus
de cada turno hasta que el registro devuelve a 000.
(b) Comenzando en el estado 00 ... 0, el nmero de estados hay en la secuencia de
conteo de un contador con extremo conmutado de n bits?
(c) Diseo de un decodificador para ser impulsado por el contador que produce
una salida de cdigo de una caliente para cada uno de los estados. Hacer uso
de los estados de no importa en su diseo.
6-8. Cuntos valores del flip-flop se complementan en un contador de ondulacin binario
de 8 bits para alcanzar el siguiente valor de conteo despus de:
(un) 11111111? (segundo) 01100111? (do) 01010110
6-9. + Para la familia lgica CMOS, el consumo de energa es proporcional a la suma de
los cambios de 1-a-0 y de 0 a 1 en todas las entradas de la puerta y salidas en el
circuito. En el diseo de los contadores en los circuitos de muy baja potencia,
contadores de rizado son preferibles a los contadores binarios sncronos regulares.
contar con cuidado el nmero de cambios de las entradas y salidas, incluyendo los
relacionados con el reloj para un ciclo completo de valores en un contador de
ondulacin de 4 bits frente a un contador sncrono regular de la misma longitud.
Sobre la base de este examen, explicar por qu el contador de ondulacin es
superior en trminos de consumo de energa.
6-10. (un)Construir un 4 bits contador ascendente / descendente que utiliza una secuencia
de conteo de cdigo Gray.
(b) Repetir el problema 6-9 mediante la comparacin de los nmeros de los
cambios en las entradas y salidas en el contador de cdigo Gray a un contador
binario sncrono 4-bit regular y un contador de ondulacin de 4 bits.
Problemas 393

6-11. Construir un contador de serie-paralelo de 16 bits, utilizando cuatro contadores en


paralelo de 4 bits. Supongamos que toda la lgica aadida es puertas Y y que las
conexiones de serie se emplean entre los cuatro contadores. Cul es el nmero
mximo de puertas Y en una cadena que una seal debe propagarse a travs de en
el contador de 16 bits?

6-12. (un)Usando el contador binario sncrono de la figura 6-14 y una puerta AND,
construir un contador que cuenta entre 0000 y 1010.
(b) Repita para un recuento de 0000 a 1110. minimizar el nmero de entradas a la
puerta AND.
6-13. El uso de dos contadores binarios del tipo mostrado en la figura 6-14 y puertas
lgicas, construir un contador binario que cuenta de decimal 11 a travs decimal
233. Adems, aadir una entrada y lgica adicional para el contador para
inicializarlo sincrnicamente a 11 cuando la seal de INIT es 1.
6-14. * Verificar las ecuaciones de entrada del flip-flop del contador BCD sincrnico
especificada en la Tabla 6-9. Dibuje el diagrama lgico del contador BCD con un
recuento de entrada de habilitacin.

6-15.* Uso flip-flops D y puertas para el diseo de un contador binario con cada una de
las siguientes secuencias binarias repetidas:
(un) 0, 1, 2 (segundo) 0, 1, 2, 3, 4, 5
6-16. Uso de tipo D flip-flops y compuertas para el diseo de un contador con la
siguiente secuencia binaria repetida: 0, 2, 1, 3, 4, 6, 5, 7.
6-17. Dibuje el diagrama lgico de un registro de 4 bits con entradas de seleccin de
modo S1 y S0. El registro es para ser operado de acuerdo con la tabla de
funciones a continuacin.

Register
S1 S0 Operacin

0 0 Ningn cambio
complemento de
0 1 salida
Cargar datos en
1 0 paralelo
1 1 Borrar registro a 0

6-18. Representar a la siguiente declaracin control condicional por dos enunciados de


transferencia de registro con funciones de control:
Si (X = 1) a continuacin (R1 re R2) else if (Y = 1) a continuacin (R1 re
R3 + R4)
6-19. * Mostrar el diagrama del hardware que implementa la declaracin de transferencia
de registros

do3: R2re R1, R1re R2


394 CAPTULO 6 / registros y transferencias de registro

6-20. Las salidas de los registros R0, R1, R2, y R3 estn conectados a travs de 4-a-1
multiplexores a las entradas de un quinto registro, R4. Cada registro es de 8 bits
de longitud. Las transferencias necesarias, segn lo dictado por cuatro variables de
control, son
do0: R4re R0
do1: R4re R1
do2: R4re R2
do3: R4re R3

Las variables de control son mutuamente excluyentes (es decir, slo una variable
puede ser igual a 1 en cualquier momento), mientras que los otros tres son igual a
0. Adems, no hay transferencia a R4 se va a producir para todas las variables de
control igual a 0. (a) el uso de registros y un multiplexor, dibujar un diagrama
lgico detallado del hardware que implementa un nico bit de estas transferencias
de registro. (B) Dibuje un diagrama lgico de la lgica simple que mapea las
variables de control como entradas a tres salidas: los dos seleccione variables para
el multiplexor y la seal de carga para el registro R4.
6-21. El uso de dos de 4 bits registros R1 y R2, un sumador de 4 bits, un multiplexor 2-a-
1, y un multiplexor 4-a-1, la construccin de un circuito que implementa las
siguientes operaciones bajo el control de las entradas de seleccin de tres
multiplexor y arrastre en la entrada de la vbora:

R1+ R2
R1- R2
R2- R1
R1- 1
- (R1 + 1)
0
-1
6-22. * El uso de dos de 4 bits registros R1 y R2, y las puertas AND, OR puertas, y los
inversores, dibujar una rebanada de bits del diagrama lgico que implementa
todas las siguientes afirmaciones:
do0: R2re 0 Claro R2 de forma sincronizada con el reloj

do1: R2re R2 Complemento R2

do2: R2re R1 Transferencia de R1 a R2


Las variables de control son mutuamente excluyentes (es decir, slo una variable
puede ser igual a 1 en cualquier momento), mientras que los otros dos son igual a
0. Adems, no hay transferencia en R2 se va a producir para todas las variables de
control igual a 0.
Problemas 395

6-23. Una celda de registro es que ser diseado para un registro A de 8 bits que tiene las
siguientes funciones de transferencia de registros:
s
e
g
u
n
d
do0: UNre UN o

s
e
g
u
n
d
do1: UNre UN o
Encuentra lgica ptima usando AND, OR y NOT puertas para la entrada D al
flip-flop D en la clula.
6-24. Una celda de registro es que ser diseado para un 8-bit de registro R0 que tiene las
siguientes funciones de transferencia de registros:

S1 S0: R0re R0 R1
S1 S0: R0re R0 R1

S1 S0: R0re R0 R1
S1 S0: R0re R0 R1
Encuentra lgica ptima usando AND, OR y NOT puertas para la entrada D al
flip-flop D en la clula.
6-25. Una celda de registro es que ser diseado para el registro B, que tiene las siguientes
transferencias Registro:
S0: Bre segundo + UN
S1: Bre UN + 1
Comparte la lgica combinatoria entre las dos transferencias tanto como sea
posible.
6-26. La lgica para implementar las transferencias entre los tres registros, R0, R1, y R2,
es para ser implementado. Utilice los supuestos variables de control dados en el
problema 6-20. Las transferencias de registro son los siguientes:
California: R1re R0
CB: R0re R1, R2re R0
CC: R1re R2, R0re R2
El uso de registros y multiplexores dedicados, dibujar un diagrama lgico
detallado del hardware que implementa un solo bit de estas transferencias de
registro.
Dibuje un diagrama lgico de la lgica simple que convierte las variables de
control CA, CB, CC y como entradas a las salidas que son las entradas de
seleccin de los multiplexores y seales de carga para los registros.
6-27. * Se dan dos enunciados de transferencia de registro (de lo contrario, R1 es sin
cambios):
do1: R1re R1+ R2 Aadir R2 a R1
do1 C2: R1re R1+ 1 Incremento R1
396 CAPTULO 6 / registros y transferencias de registro

(a) El uso de un contador de 4 bits con carga paralela como en la figura 6-14 y un
sumador de 4 bits como en la figura 4-5, dibujar el diagrama lgico que
implementa estas transferencias de registro.

(b) Repita la parte (a) usando un sumador de 4 bits como en la figura 3-43, ms
puertas externas, segn sea necesario. Comparar con la ejecucin de la parte
(a).
6-28. Repita el problema 6-26 usando un bus basado en el multiplexor y una conexin
directa de un registro a otro en lugar de multiplexores dedicados.
6-29. (un)Implementar la funcin H= XY + XZ utilizando dos buffers de tres estados y un
inversor.

(b) Construir una puerta O exclusiva mediante la interconexin de dos buffers de


tres estados y dos inversores.
6-30. Dibuje un diagrama lgico de un circuito similar al que se muestra en la Figura 6-7,
pero el uso de buffers de tres estados y un decodificador en lugar de los
multiplexores.
6-31. * Un sistema es tener el siguiente conjunto de transferencias de registro,
implementado utilizando autobuses:
California: R0re R1
cb: R3re R1, R1re R4, R4re R0
cc: R2re R3, R0re R2
Discos compactos: R2re R4, R4re R2

(a) Para cada registro de destino, una lista de todos los registros de origen.
(b) Para cada registro fuente, una lista de todos los registros de destino.
(c) Con la consideracin de cul de las transferencias debe ocurrir de forma
simultnea, lo que es el nmero mnimo de autobuses que se puede utilizar
para implementar el conjunto de transferencias? Supongamos que cada
registro tendr un nico bus como su entrada.

(d) Dibuje un diagrama de bloques del sistema, que muestra los registros y
autobuses y las conexiones entre ellos.
6-32. Las siguientes transferencias de registro son para ser ejecutado en, a lo sumo, dos
ciclos de reloj:
R0re R1
R5re R1
R6re R2
R7re R3
R8re R3
R9re R4
R10re R4
R11re R1
Problemas 397

(a) Lo que se requiere un nmero mnimo de autobuses? Supongamos que un


solo bus se puede conectar a una entrada de registro y que cualquier red
conectada a una entrada de registro se cuenta como un autobs.
(b) Dibuje un diagrama de bloque de conexin registros y multiplexores para
aplicar las transferencias.
6-33. Cul es el nmero mnimo de ciclos de reloj necesarios para llevar a cabo el
siguiente conjunto de transferencias de registro utilizando un bus?

R0re R1 R7re R1
R2re R3 R8re R4
R5re R6 R9re R3
Supongamos que un solo bus se puede conectar a una entrada de registro y que
cualquier red conectada a una entrada de registro se cuenta como un autobs.
6-34. * El contenido de un registro de 4 bits es inicialmente 0101. El registro se desplaza
ocho veces a la derecha, con la secuencia de 10110001 como la entrada en serie.
El bit ms a la izquierda de la secuencia se aplica primero. Cul es el contenido
del registro despus de cada turno?

6-35. * El sumador serial de la figura 6-24 utiliza dos registros de 4 bits. El registro A
contiene el nmero binario de 0111 y el registro B mantiene 0101. El flip-flop se
pone a 0. inicialmente una lista de los valores binarios en el registro A y el flip-
flop despus de cada uno de los cuatro turnos.
6-36. * Un diagrama de estado de un circuito secuencial se da en la figura 6-37. Encontrar
el diagrama de mquina de estado correspondiente usando una cantidad mnima
de notacin. Las entradas al circuito son X1 y X2, y las salidas son Z1 y Z2.

00, 01

S0
00

10, 11 01, 10

S1 01, 10, 11 S2
00 01 10

00, 11

Figura 6-37
Diagrama de estado para el
problema 6-36
398 CAPTULO 6 / registros y transferencias de registro

Por defecto: Z = 0
REINICIAR

W STA

XY
STB
Z
X, X Y

Z STC

Figura 6-38
Estado diagrama de la mquina para los problemas 6-37, 6-38, 6-43, 6-57, 6-58 y

6-37. * Bsqueda de la respuesta para el diagrama de mquina de estado en la figura 6-38


a la siguiente secuencia de entradas (suponiendo que el estado inicial es STA):

W: 0 1 1 0 1 1 0 1
X: 1 1 0 1 0 1 0 1
Y: 0 1 0 1 0 1 0 1
Estado: STA
Z:

6-38. Un diagrama de mquina de estado se da en la figura 6-38. Encuentra la tabla de


estado para el circuito secuencial correspondiente.
6-39. Encontrar el diagrama de mquina de estado que corresponde a la siguiente
descripcin: Hay dos estados, A y B. Si, en el estado A y la entrada X es 1,
entonces el siguiente estado es A. Si en el estado A y la entrada X es 0, entonces
el siguiente estado es B. Si en el estado B y la entrada de y es 0, entonces el
siguiente estado es B. Si en el estado B y entrada y es 1, entonces el siguiente
estado se A. salida Z es igual a 1 mientras que el circuito est en estado de
SEGUNDO.
6-40. * Encontrar el diagrama de mquina de estado para un circuito que detecta una
diferencia de valor en una seal X de entrada en dos sucesivos bordes de reloj
positivos. Si X tiene diferentes valores en dos sucesivos bordes de reloj positivos,
entonces Z de salida es igual a 1 para el siguiente ciclo de reloj. De lo contrario, la
salida Z es 0.
6-41. + El diagrama de mquina de estado para un circuito sncrono con el reloj CK para
una lavadora se va a desarrollar. El circuito tiene tres entradas externas, START,
por completo, y vaco (que son 1 para a lo ms un solo ciclo de reloj y son
mutuamente excluyentes), y salidas externas, caliente, fro, drenaje y TURN. El
camino de datos para el control consiste en un contador descendente, que tiene
tres entradas, RESET, DEC, y la carga. Este contador decrementa de forma
sincrnica una vez cada minuto para diciembre=1, pero se puede cargar o
sincrnicamente RESET en cualquier ciclo de reloj CK. Tiene una sola salida,
cero, que es 1 cada vez que el contador contiene el valor cero y es 0 en caso
contrario.
Problemas 399

En su funcionamiento, el circuito pasa a travs de cuatro ciclos distintos, lavado,


SPIN, enjuague y SPIN, que se detallan como sigue:
LAVAR: Supongamos que el circuito est en su estado IDLE encendido. Si
START es 1 para un ciclo de reloj, CALIENTE convierte en 1 y permanece hasta
el 1 COMPLETO=1, llenando la lavadora con agua caliente. A continuacin,
utilizando carga, el contador descendente se carga con un valor de un panel de
marcacin que indica cuntos minutos el ciclo de lavado para durar. DEC y Ea,
pues se convierten en 1 y la arandela lava su contenido. Cuando se convierte en
cero 1, el lavado se ha completado, y gire y DEC se convierten en 0.
GIRAR: A continuacin, se convierte DRENAJE 1, drenar el agua de lavado.
Cuando be-viene EMPTY 1, el contador descendente est cargado con 7. DEC y
Ea, pues se convierten en 1 y el agua de lavado restante se escurre de los
contenidos. Cuando se convierte en cero 1, DRENAJE, DEC y gire retorno a 0.
ENJUAGUE: A continuacin, se convierte en FRO 1 y permanece hasta el 1
COMPLETO= 1, llenando la lavadora con agua de aclarado en fro. A
continuacin, utilizando LOAD, el contador descendente se carga con el valor 10.
DEC y Ea, pues se convierten en 1 y la arandela de enjuagues sus con-tiendas de
campaa. Cuando se convierte en cero 1, el enjuague se ha completado, y gire y
DEC se convierten en 0.

GIRAR: A continuacin, se convierte DRENAJE 1, drenar el agua de enjuague.


Cuando be-viene EMPTY 1, el contador descendente est cargado con 8. DEC y
Ea, pues se convierten en 1 y el agua de enjuague restante se escurri de los
contenidos. Cuando se convierte en cero 1, DRENAJE, DEC y gire retorno a 0 y
el circuito vuelve al estado de reposo.
(a) Encontrar el diagrama de mquina de estado para el circuito de la lavadora.
(b) Modificar su diseo en la parte (a) suponiendo que hay dos entradas ms,
pausa y parada. PAUSA hace que el circuito, incluyendo el contador, para
detener y todas las salidas para ir a 0. Cuando se empuja START, la arandela
reanuda el funcionamiento en el punto en que se detuvo. Cuando se empuja
PARADA, todas las salidas se ponen a 0 excepto para DRENAJE, que se
establece en 1. Cuando est vaco se convierte en 1, el estado vuelve al estado
Libre.
6-42. Encontrar un diagrama de mquina de estado para un controlador de luz de trfico
que funciona como sigue: Una seal de temporizacin T es la entrada al
controlador. T define el intervalo de luz amarilla, as como los cambios de las
luces rojas y verdes. Las salidas a las seales se definen por la siguiente tabla:

Salida luz controlada

GN Luz verde, Norte / Sur de Seal


YN Amarillo claro, Norte / Sur de Seal
RN La luz roja, Norte / Sur de Seal
GE Luz verde, / seal East West
S.M. Amarillo claro, / seal East West
RE La luz roja, / seal East West
400 CAPTULO 6 / registros y transferencias de registro

mientras que T =0, la luz verde est encendida por una seal y la luz roja para el
otro. con T=1, la luz amarilla est en para la seal que antes era verde, y la seal
que antes era roja permanece rojo. Cuando T se convierte en 0, la seal que antes
era amarilla se convierte en rojo, y la seal que antes era de color rojo se vuelve
verde. Este patrn de cambios en el color alternas contina. Supongamos que el
controlador es sncrona con un reloj que chang-es mucho ms frecuentemente que
T. entrada
6-43. * Implementar el diagrama de mquina de estado en la figura 6-38 mediante el uso
de un flip-flop por asignacin de estados.
6-44. Implementar el diagrama de mquina de estado derivada en el problema 6-40
mediante el uso de una asignacin de estado de cdigo Gray.
6-45. Hacer dos diseos para el circuito de morir por el Juego de PIG y comparar los
costos de compuertas de entrada de los dos diseos utilizando la informacin de la
figura 6-14. Tenga en cuenta que la descripcin de transferencia de registros de
DIE es:
si (Reset) DIE re 000 persona
si (END1) (si (DIE = 110) DIE re 001 DIE dems re MORIR + 1)

(a) Realizar el diseo mediante el uso de la tcnica dada para el diseo contador
BCD en la figura 6-15.
(b) Realizar el diseo mediante el uso de un diagrama de estado y hacer un diseo
de circuito personalizado con el siguiente estado para el estado 111 un estado
de no importa.
6-46. Disear los siguientes circuitos combinatorios para el juego del PIG camino de
datos dada en la Figura 6-31:
(a) re = 1 comparador.
(b) re 1100100 comparador.
Uso y puertas, puertas OR, y los inversores. Suponga que la puerta mximo fan-in
es de cuatro.
6-47. Disear el convertidor de cdigo de binario a BCD de 2 dgitos en el camino de
datos para el Juego de cerdo. Disear el dgito menos significativo en funcin de
(B3, B2, B1, B0) sin un acarreo C0 entrante. Las salidas son para ser C4, D 3, D
2, D1, D0. Disear el mismo circuito con un carry C0 entrante fija a 1. Por el
dgito ms significativo combinar los resultados de estos dos diseos para manejar
el caso real en el que el entrante carry C0 puede ser tanto 0 y 1. Minimizar el
resultado combinado para la mayor dgito significativo.
6-48. (un)Mostrar los detalles de un registro de entrada de las restricciones dadas en
condiciones de transicin tal como se aplica a la figura 6-30.
(b) Implementar el diagrama de mquina de estado para el Juego de PIG en la
figura 6-30 usando un UNO-calientes asignacin flip-flops D estado, y
puertas.
6-49. + Encontrar el diagrama de mquina de estado en la forma de la figura 6-29 para
un juego de PIG utilizando dos dados. Adems, agregue la siguiente regla: Si se
rueda un par de 1s, a continuacin,
Problemas 401

la puntuacin total del jugador se convierte en 0. Los dos dados crean un


problema interesante: Cmo se asegura de que los valores rodaron en los dos
dados no estn correlacionados entre s? El esquema actual de tener la tirada para
el intervalo de tiempo entre el empuje y liberacin har que los valores en los dos
dados para avanzar en la misma cantidad de manera que se correlacionan los
valores de turno a turno. Esto dar slo seis de los 36 posibles pares de rodillos de
los dos dados! Usted tendr que idear un plan para asegurar que todos los pares
son igualmente probables. Incluir un esquema bien justificado en su solucin.
6-50. * Diseo de un sistema digital con tres de 16 bits registra AR, BR, y CR y la
entrada de datos de 16 bits en Para realizar las siguientes operaciones, asumiendo
una representacin complemento a 2 y haciendo caso omiso de desbordamiento:
(a) Transferir dos nmeros con signo de 16 bits a AR y BR en sucesivos ciclos de
reloj despus de una seal de ir G se convierte en 1.
(b) Si el nmero de AR es positivo, pero no nulo, multiplicar el contenido de BR
por dos y transferir el resultado de registrar CR.
(c) Si el nmero en AR es negativo, multiplicar el contenido de AR por dos y
transferir el resultado para registrar CR.
(d) Si el nmero de AR es cero, restablezca registrarse CR a 0.

Todos los archivos se hace referencia en los problemas restantes estn disponibles en
formato ASCII para sim ulacin y edicin en el sitio Web Companion para el texto. A
VHDL o Verilog compilador / simulador es necesario para los problemas o porciones de
los problemas que solicitan simulacin. Descripciones todava pueden ser escritos, sin
embargo, para muchos problemas sin necesidad de utilizar la compilacin o la
simulacin.
6-51. Escribir una descripcin Verilog para el contador binario de 4 bits en la figura 6-13
(a) el uso de un registro de los flip-flops D y ecuaciones booleanas para la lgica.
Compilar y simular su descripcin para demostrar la correccin.
6-52. * Escribir una descripcin VHDL del comportamiento para el registro de 4 bits en
la figura 6-1 (a). Compilar y simular su descripcin para demostrar la correccin.
6-53. Repetir el problema 6-52 para el registro de 4 bits con carga paralela en la Figura
6-2.
6-54. Escribir una descripcin VHDL para el contador binario de 4 bits en la figura 6-13
(a), usando un registro de los flip-flops D y ecuaciones booleanas para la lgica.
Compilar y simular su descripcin para demostrar la correccin.
6-55. * Escribir una descripcin del comportamiento Verilog para el registro de 4 bits en
la figura 6-1 (a). Compilar y simular su descripcin para demostrar la correccin.
6-56. Repetir el problema 6-55 para el registro de 4 bits con carga paralela en la Figura
6-2.
6-57. * Escribir, compilar, y simular una descripcin VHDL para el diagrama de mquina
de estado se muestra en la figura 6-38. Utilice una entrada de simulacin que pasa
a travs de todos los caminos en el diagrama de mquina de estado, e incluyen
tanto el estado y la salida Z como salidas de simulacin. Corregir y resimulate su
diseo si es necesario.
402 CAPTULO 6 / registros y transferencias de registro

6-58. * Escribir, compilar, y simular una descripcin Verilog para el diagrama de


mquina de estado en la figura 6-38. Utilice el cdigo 00 para el estado STA, STB
01 para el estado, y 10 para el estado de STC. Utilice una entrada de simulacin
que pasa a travs de todos los caminos en el diagrama de estado de la mquina e
incluir tanto el estado y Z como salidas de simulacin. Corregir y resimulate su
diseo si es necesario.
Captulo

7
Fundamentos de
memoria

METRO emory es un componente principal de un ordenador digital y est


presente en un gran proporcin de todos los sistemas digitales. memoria de acceso aleatorio
(RAM) almacena los datos de forma temporal, y la memoria de slo lectura (ROM) almacena los
datos de forma permanente. ROM es una forma de una variedad de componentes llamados
dispositivos lgicos programables (PLDs) que
utilizar la informacin almacenada para definir circuitos lgicos.
Nuestro estudio de RAM comienza con mirarlo en trminos de un modelo con
entradas, salidas y frecuencia de la seal. A continuacin, utilizamos modelos
lgicos equivalentes para comprender el funcionamiento interno de chips de
memoria RAM. Tanto la RAM esttica y RAM dinmica se consideran. se estudian
Los diversos tipos de RAM dinmico utilizado para el movimiento de datos a alta
velocidad entre la CPU y la memoria. Por ltimo, ponemos chips de RAM juntos para
construir sistemas simples de memoria RAM.
En muchos de los captulos anteriores, los conceptos presentados eran anchos,
perteneciente a la mayor parte del equipo genrico al comienzo del captulo 1. En este
captulo, por primera vez, podemos ser ms precisos y apuntan a usos especficos de la
memoria y relacionados componentes. Comenzando con el procesador, la memoria cach
interna es muy rpido RAM esttica. Fuera de la CPU, la memoria cach externa es
rpido RAM esttica. El subsistema de memoria RAM, por su mismo nombre, es un tipo
de memoria. En el rea de E / S, nos encontramos con la memoria sustancial para
almacenar informacin acerca de la imagen de la pantalla en el adaptador de vdeo. RAM
aparece en cach de disco en el controlador de disco, para acelerar el acceso al disco.
Aparte del papel muy central de la
subsistema de memoria RAM en el almacenamiento de datos y programas, nos
encontramos con la memoria en varias formas aplicadas en la mayora de los
subsistemas del ordenador genrico.

7-1 MEmory reefiniciones


En los sistemas digitales, la memoria es una coleccin de clulas capaces de almacenar
informa-cin binario. Adems de estas clulas, la memoria contiene circuitos electrnicos
para almacenar y recuperar la informacin. Como se indica en la discusin de la
computadora genrica, la memoria se utiliza en muchas partes diferentes de una
computadora moderna, proporcionando un almacenamiento temporal o permanente de
grandes cantidades de informacin binaria. Para poder

403
CAPTULO 7 / Conceptos bsicos
404 de memoria

esta informacin para ser procesada, se enva desde la memoria al hardware de


procesamiento que consiste en registros y lgica combinatoria. La informacin procesada
se devuelve entonces a la misma o a una memoria diferente. Los dispositivos de entrada y
de salida tambin interactan con la memoria. La informacin de un dispositivo de
entrada se coloca en la memoria de modo que se puede utilizar en el procesamiento.
informacin de salida procedente de procesamiento se coloca en la memoria, y de all se
enva a un dispositivo de salida.
Dos tipos de memoria se utilizan en diversas partes de un ordenador: memoria de
acceso aleatorio (RAM) y memoria de slo lectura (ROM). RAM acepta la nueva
informacin para el almacenamiento est disponible para su uso posterior. El proceso de
almacenar nueva informacin en la memoria se conoce como una operacin de escritura
en la memoria. El proceso de transferir la informacin almacenada fuera de la memoria
se conoce como una memoria de operacin de lectura. RAM puede realizar operaciones
tanto de la escritura y la lectura, mientras que ROM, como se introdujo en la Seccin 6-8,
slo realiza operaciones de lectura. tamaos de memoria RAM pueden variar desde
cientos a miles de bits.

7-2 rAndom-unl acceso METROEmory


La memoria es una coleccin de celdas de almacenamiento binarios junto con circuitos
asociados necesarios para la transferencia de informacin dentro y fuera de las clulas.
Las clulas de memoria se puede acceder para transferir informacin hacia o desde
cualquier lugar deseado, con el acceso tak-ing mismo tiempo, independientemente de la
ubicacin, de ah el nombre de acceso aleatorio mem-ory. Por el contrario, la memoria en
serie, como se exhibe por un disco duro, toma diferentes longitudes de tiempo para
acceder a la informacin, dependiendo de donde la ubicacin deseada es relativa a la
posicin fsica actual del disco.
La informacin binaria se almacena en la memoria en grupos de bits, cada grupo de
los cuales se llama una palabra. Una palabra es una entidad de bits que se mueve dentro y
fuera de la memoria como una unidad un grupo de 1s y 0s que representa un nmero, una
instruccin, uno o ms caracteres alfanumricos, u otra informacin codificado en
binario. Un grupo de ocho bits se denomina byte. La mayora de las memorias de las
computadoras usan palabras que son mltiplos de ocho bits de longitud. Por lo tanto, una
palabra de 16 bits contiene dos bytes, y una palabra de 32 bits se compone de cuatro
bytes. La capacidad de una unidad de memoria por lo general se expresa como el nmero
total de bytes que puede almacenar. La comunicacin entre una memoria y su entorno se
logra a travs de entrada y salida de datos lneas, lneas de seleccin de direcciones, y
lneas de control que especifican la direccin de la transferencia de la informacin. Un
diagrama de bloques de una memoria se muestra en la Figura 7-1. Las lneas de entrada
de datos n proporcionan la informacin a almacenar en la memoria, y las lneas de salida
de datos n suministran la informacin que sale de la memoria. Las lneas de direccin k
especifican la palabra en particular elegido entre los muchos disponibles. Las dos
entradas de control especifican la direccin de transferencia deseada: la entrada de
escritura hace que los datos binarios para ser transferidos en la memoria, y la entrada de
Lee hace que los datos binarios que deben transferirse fuera de la memoria.
La unidad de memoria est especificado por el nmero de palabras que contiene y
el nmero de bits en cada palabra. Las lneas de direccin seleccionan una palabra en
particular. Cada palabra en la memoria se le asigna un nmero de identificacin llamado
direccin. Direcciones van de 0 a 2k-1, donde k es el nmero de lneas de direccin. La
seleccin de una palabra especfica dentro de la memoria se realiza mediante la aplicacin
de la direccin binaria de k bits a las lneas de direccin. Un decodificador acepta esta
direccin y abre los caminos necesarios para seleccionar la palabra
Memoria 7-2 / acceso aleatorio 405

norte lneas de entrada de datos

k lneas de Unidad de memoria


direccin
k
2 palabras
Leer
Escribir norte bits por palabra

norte lneas de salida de datos

Figura 7-1
Diagrama de bloques de la Memoria

especificado. La memoria de computadora vara mucho en tamao. Es habitual referirse


al nmero de palabras (o bytes) en la memoria con una de las letras K (kilo), M (mega), o
G (giga). K es igual a 210, M a 220, y G a 230. Por lo tanto, 64K= 216, 2M = 221, y
4G = 232.
Consideremos, por ejemplo, una memoria con una capacidad de 1K palabras de 16
bits cada una. Desde 1K= 1024 =210, y 16 bits constituyen dos bytes, podemos decir que
el mem-ORY tiene capacidad para 2048, o 2K, bytes. La Figura 7-2 muestra el posible
contenido de los tres primeros y los ltimos tres palabras de este tamao de la memoria.
Cada palabra contiene 16 bits que se pueden dividir en dos bytes. Las palabras son
reconocidos por sus direcciones decimales de 0 a 1023. Una direccin binario equivalente
consta de 10 bits. La primera direccin se especifica utilizando diez 0s, y la ltima
direccin se especifica con diez 1s. Esto se debe a 1023 en binario es igual a 1111111111.
Una palabra en la memoria se selecciona por su direccin binaria. Cuando una palabra es
leda o escrita, la memoria funciona en todos los 16 bits como una sola unidad.

el 1K *16 de memoria de la figura tiene 10 bits de la direccin y 16 bits en cada


palabra. El nmero de bits de direccin necesarios en la memoria depende en el total

Direccin de memoria
Contenidos de la
Binario Decimal memoria

0000000000 0 10110101 01011100


0000000001 1 10101011 10001001
2
0000000010 . 00001101 .01000110
. .
. .
. .
. .
1111111101 1021 10011101 00010101
1111111110 1022 00001101 00011110
1111111111 1023 11011110 00100100

Figura 7-2
Contenido de un 1024 * 16
memoria
CAPTULO 7 / Conceptos bsicos
406 de memoria

nmero de palabras que puede ser almacenada y es independiente del nmero de bits en
cada palabra. El nmero de bits en la direccin de una palabra se determina a partir de la
relacin 2k-nave m, donde m es el nmero total de palabras y k es el nmero mnimo de
bits de direccin que satisfacen la relacin.

Escribir y las operaciones de lectura


Las dos operaciones que una memoria de acceso aleatorio puede realizar son de escritura
y lectura. Una escritura es una transferencia en la memoria de una nueva palabra para ser
almacenados. Una lectura es una transferencia de una copia de una palabra almacenada
fuera de la memoria. Una seal de escritura especifica la operacin de transferencia, y una
seal de lectura especifica la operacin de transferencia de salida. Al aceptar una de estas
seales de control, los circuitos internos dentro de la memoria proporcionan la funcin
deseada.

Los pasos que se deben tomar para una escritura son las siguientes:
1. Aplicar la direccin binaria de la palabra deseada a las lneas de direccin.
2. Aplicar los bits de datos que se deben almacenar en la memoria de las lneas de
entrada de datos.
3. Active la entrada de escritura.
La unidad de memoria tomar entonces los bits de las lneas de entrada de datos y
almacenarlos en el canal especificado en las lneas de direccin.
Los pasos que se deben tomar para una lectura son las siguientes:
1. Aplicar la direccin binaria de la palabra deseada a las lneas de direccin.
2. Active la entrada de lectura.
La memoria tomar entonces los bits de la palabra que ha sido seleccionada por la
direccin y aplicarlos a las lneas de salida de datos. El contenido de la palabra
seleccionada no se cambian mediante la lectura de ellos.
La memoria se compone de circuitos integrados (chips de memoria RAM), adems
de los circuitos lgicos adicionales. chips de RAM suelen proporcionar las dos entradas
de control para la lectura y escritura de pera-ciones en una configuracin algo diferente
de la que acaba de describirse. En lugar de tener separada leer y escribir entradas para el
control de las dos operaciones, circuitos ms integrados ofrecen al menos una de
Seleccin de Chip que selecciona el chip para leer o escribir en l, y una lectura /
escritura que determina la operacin en particular. Las operaciones de memoria que
resultan de estas entradas de control se muestran en la Tabla 7-1.

Tabla 7-1
Entradas de control a un chip de memoria

Seleccin de Leer
Chip escribir
CS R/W Operacin de memoria
0 * Ninguna
Escribir en la palabra
1 0 seleccionada
1 1 Leer de palabra seleccionada

S-ar putea să vă placă și