Está en la página 1de 183

ANALISTA PROGRAMADOR UNIVERSITARIO

Departamento de Economa, Produccin e Innovacin Tecnolgica


Universidad Nacional De Jos C. Paz

1er Cuatrimestre

Arquitectura de Computadoras I

Profesores:

Lic. Fabin Palacios


Lic. Juan Funes
Lic. Walter Salguero
Ing. Emiliano Favini

http://campusvirtual.unpaz.edu.ar

Arquitectura de Computadoras I UNPAZ

Tabla de contenido
Unidad 1 - Digitales -------------------------------------------------------------------------------------------------- 5
0 - INTRODUCCIN------------------------------------------------------------------------------------------------ 5
0.1. Seales analgicas y digitales ---------------------------------------------------------------------------- 5
0.2. Ventajas y desventajas del tratamiento digital de las seales ----------------------------------- 6
Algunas ventajas ----------------------------------------------------------------------------------------------- 6
Algunas desventajas ------------------------------------------------------------------------------------------- 6
0.3. Seales binarias ---------------------------------------------------------------------------------------------- 7
0.4. Sistema de numeracin binario -------------------------------------------------------------------------- 7
Bytes, octetos y cuartetos --------------------------------------------------------------------------------- 12
0.5. Sistema de numeracin hexadecimal ---------------------------------------------------------------- 12
0.6. Sistemas electrnicos digitales ------------------------------------------------------------------------- 13
1. CDIGOS BINARIOS------------------------------------------------------------------------------------------ 14
1.1. Introduccin ------------------------------------------------------------------------------------------------ 14
1.2. Cdigos de cambio nico ----------------------------------------------------------------------------- 15
1.2.1. Cdigo Gray ------------------------------------------------------------------------------------------- 18
1.2.2.

Conversin entre binario y Gray, y viceversa ----------------------------------------------- 19

1.2.2.1. Suma mdulo 2 ------------------------------------------------------------------------------------ 19


1.2.2.2. Conversin entre binario y Gray --------------------------------------------------------------- 20
1.2.2.3. Conversin entre Gray y binario --------------------------------------------------------------- 21
1.3.

Codificacin de los caracteres alfanumricos -------------------------------------------------- 21

1.3.1.

El cdigo ASCII ----------------------------------------------------------------------------------- 21

1.3.2.

Los cdigos ASCII extendidos de 8 bits ------------------------------------------------- 23

1.3.3.

Unicode y cdigo UCS ------------------------------------------------------------------------- 24

1.3.4.

Otros cdigos alfanumricos ---------------------------------------------------------------- 24

1.4.

Codificacin de los nmeros ------------------------------------------------------------------------ 25

1.4.1.1. Operaciones aritmticas entre magnitudes binarias ------------------------------------- 25


1.4.2. Cdigos para nmeros binarios enteros ------------------------------------------------------- 29
1.4.2.1. Codificacin en Signo y magnitud ------------------------------------------------------------- 30
4 2.2. Codificacin en Complemento a 2 --------------------------------------------------------------- 31
1.4.2.3. Codificacin en Complemento a 1 ------------------------------------------------------------ 40
1.4.2.4. Codificacin en Binario desplazado ----------------------------------------------------------- 41
1.4.4. Cdigos binarios para nmeros decimales ---------------------------------------------------- 42
1.4.4.1. BCD Natural ----------------------------------------------------------------------------------------- 42
1.4.4.2. BCD Aiken ------------------------------------------------------------------------------------------- 43
1.4.4.3. BCD Exceso 3 o XS3 ------------------------------------------------------------------------------- 44
1.4.4.4. Cdigo 2 de 5 --------------------------------------------------------------------------------------- 45
1.4.4.5. Cdigo 7 segmentos ------------------------------------------------------------------------------ 46
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


1.4.4.6. Representacin en coma flotante (norma Nmero 754 del IEEE) --------------------- 47
CAPTULO 2 LGEBRA DE CONMUTACIN ---------------------------------------------------------------- 52
2.1. Introduccin --------------------------------------------------------------------------------------------- 52
2.2. Introduccin al lgebra de Boole ---------------------------------------------------------------------- 54
2.2.1. Operaciones bsicas entre proposiciones lgicas ------------------------------------------- 54
2.2.2. La Conjuncin ---------------------------------------------------------------------------------------- 54
2.2.3. La Disyuncin ----------------------------------------------------------------------------------------- 55
2.2.4. La Negacin ------------------------------------------------------------------------------------------- 55
2.2.5. Aplicacin a conjuntos------------------------------------------------------------------------------ 55
2.3. El lgebra de conmutacin aplicada a contactos----------------------------------------------- 57
2.3.1. Contactos en serie: producto lgico ------------------------------------------------------------ 57
2.3.1.1. Propiedades del producto lgico -------------------------------------------------------------- 59
2 3.2. Contactos en paralelo: suma lgica, operacin OR ------------------------------------------ 61
2.3.2.1. Propiedades de la suma lgica ----------------------------------------------------------------- 62
2.3.3.

La inversin --------------------------------------------------------------------------------------- 64

2.3.3.1. Propiedades de la inversin -------------------------------------------------------------------- 65


2.3.4. Precedencia de los operadores------------------------------------------------------------------- 67
2.4. Dualidad y el Principio de dualidad ---------------------------------------------------------------- 68
2.5. Teoremas del lgebra de conmutacin ----------------------------------------------------------- 69
2.6. Tablas de verdad de funciones lgicas ------------------------------------------------------------ 71
2.7. Dualidad y ley de Shannon --------------------------------------------------------------------------- 73
2.8. Expresiones cannicas -------------------------------------------------------------------------------- 74
2.8.1. Productos cannicos o minitrminos ----------------------------------------------------------- 74
2.8.2. Teorema general los minitrminos -------------------------------------------------------------- 75
2.8.3. Sumas cannicas o maxitrminos --------------------------------------------------------------- 77
2.8.4. Teorema general de los maxitrminos --------------------------------------------------------- 78
2.8.5. Conjunto completo de operaciones ------------------------------------------------------------- 79
2.8.6. Diagrama de Venn, tabla de verdad y minitrminos ---------------------------------------- 80
2.9. Introduccin a la simplificacin de funciones lgicas ----------------------------------------- 81
2.9.1. Justificacin de la necesidad de la simplificacin de funciones -------------------------- 81
2-9.2. Fundamentos para la simplificacin de funciones------------------------------------------- 82
2.10. El mapa de Karnaugh -------------------------------------------------------------------------------- 83
2.10.1. El mapa de Karnaugh como tabla de verdad ------------------------------------------------ 83
2.10.2. Representacin de funciones lgicas---------------------------------------------------------- 86
2.10.3. Simplificacin de funciones lgicas como Sumas de Productos ------------------------ 89
2.10.4. Simplificacin como Producto de Sumas ----------------------------------------------------- 94
Unidad 2: Circuitos Combinacionales y Secuenciales---------------------------------------------------- 96
CIRCUITOS COMBINACIONALES CON COMPUERTAS --------------------------------------------------- 96

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


3.1. Introduccin --------------------------------------------------------------------------------------------- 96
3.2. Las compuertas ----------------------------------------------------------------------------------------- 96
3.2.1. Las compuertas fundamentales ------------------------------------------------------------------ 97
3.2.1.1. La compuerta AND -------------------------------------------------------------------------------- 97
3.2.1.2. La compuerta OR ---------------------------------------------------------------------------------- 97
3.2.1.3. La compuerta inversora-------------------------------------------------------------------------- 98
3.2.2. Las compuertas derivadas ------------------------------------------------------------------------- 98
3.2.2.1. La compuerta NAND ------------------------------------------------------------------------------ 98
3.2.2.2. La compuerta NOR ------------------------------------------------------------------------------ 100
3.2.2.3. La compuerta XOR ------------------------------------------------------------------------------ 102
3.2.2.4. La compuerta XNOR ---------------------------------------------------------------------------- 104
3.2.2.5. La compuerta buffer ---------------------------------------------------------------------------- 105
3.2.2.6. Introduccin al control de flujo de seales ----------------------------------------------- 105
3.2.3.

La compuerta de transmisin -------------------------------------------------------------- 106

3.2.4. Simbologa alternativa para las compuertas ------------------------------------------------ 107


3.2.5. Simbologa IEEE ------------------------------------------------------------------------------------ 108
3.3. Anlisis de circuitos lgicos combinacionales ------------------------------------------------- 109
3.4. Sntesis de circuitos lgicos combinacionales ------------------------------------------------- 110
3.4.2. Implementacin de las expresiones algebraicas con compuertas --------------------- 111
3.4.2.1. Implementacin de expresiones tipo Suma de Productos ---------------------------- 111
3.4.2.2. Implementacin de expresiones tipo Producto de Sumas ---------------------------- 114
3.4.2.3. Comentarlos finales sobre la implementacin de expresiones ---------------------- 117
3.4.3. Formas degeneradas ------------------------------------------------------------------------------ 118
A.10 Componentes digitales ---------------------------------------------------------------------------- 119
A.10.1 Niveles de integracin --------------------------------------------------------------------------- 119
A.10.2 Multiplexores -------------------------------------------------------------------------------------- 119
A.10.3 Demultiplexores----------------------------------------------------------------------------------- 121
A.10.4 - Decodificadores --------------------------------------------------------------------------------- 122
A.10.5 Codificadores de prioridad --------------------------------------------------------------------- 123
sumador completo --------------------------------------------------------------------------------------- 124
A.11 Lgica secuencial ------------------------------------------------------------------------------------ 126
A.11.1 El circuito biestable (flip flop) S-R------------------------------------------------------------- 126
A.11.2 El flip flop S-R sincrnico ------------------------------------------------------------------------ 131
A.11.3 El flip flop D y la configuracin maestro-esclavo------------------------------------------ 133
A.11.4 Flip flops J-K y T ----------------------------------------------------------------------------------- 135
Unidad 3 Computadoras digitales ------------------------------------------------------------------------- 136
Introduccin ------------------------------------------------------------------------------------------------- 136
ORGANIZACIN Y ARQUITECTURA -------------------------------------------------------------------- 136

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


1.2 - ESTRUCTURA Y FUNCIONAMIENTO ------------------------------------------------------------- 137
FUNCIONAMIENTO ---------------------------------------------------------------------------------------- 138
ESTRUCTURA ------------------------------------------------------------------------------------------------ 140
Organizacin interna del computador ------------------------------------------------------------------- 143
3.1. - COMPONENTES DEL COMPUTADOR ----------------------------------------------------------- 144
3.2. FUNCIONAMIENTO DEL COMPUTADOR -------------------------------------------------------- 146
3.3. ESTRUCTURAS DE INTERCONEXIN ------------------------------------------------------------- 160
3.4. INTERCONEXIN CON BUSES---------------------------------------------------------------------- 161
3.5. PCI -------------------------------------------------------------------------------------------------------- 171
Bibliografa --------------------------------------------------------------------------------------------------------- 181

Imagen adquirida de http://web-uts.es.tl/IM%C1GENES.htm

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ

Unidad 1 - Digitales
0 - INTRODUCCIN
0.1. Seales analgicas y digitales
El siglo XX fue una era de revolucin tecnolgica, y la electrnica ha sido uno de
sus principales motores. Los dispositivos electrnicos, prcticamente inexistentes a
comienzo de ese siglo, estn actualmente incorporados en sistemas de
comunicaciones, sistemas de cmputo, equipos de entretenimiento, sistemas de
medicin, automatismos, etc. con un efecto sinrgico segn el cual, el avance en esas
aplicaciones por aplicacin de la tecnologa electrnica, impone nuevos desafos y
oportunidades para el avance de sta.
Para comprender el papel que desempean las tcnicas digitales dentro del
campo de la tecnologa electrnica, analizaremos uno de los campos de aplicacin que
hemos mencionado ms arriba, el de los sistemas de medicin.
En esos sistemas, tpicamente se desea determinar el valor de alguna magnitud
fsica que nos interesa conocer. Ejemplos de estas magnitudes son la fuerza, el
desplazamiento, la temperatura, la deformacin, el tiempo, la intensidad sonora o
luminosa, el caudal o el nivel de un lquido, la exposicin radiactiva, etc.
La mayora de estas magnitudes tienen un posible rango de valores (limitado por
un valor mnimo y otro mximo) dentro del cual puede tomar cualquiera de los infinitos
valores intermedios. Los cambios de un valor a otro se realizan en forma continua, sin
discontinuidades. Las magnitudes con estas caractersticas se denominan continuas,
aunque tambin han recibido los nombres de lineales y analgicas.
Pero tambin existen magnitudes que slo pueden tomar un nmero limitado de
valores intermedios entre los extremos de su rango, haciendo que todo cambio sea
discontinuo. Las magnitudes con estas caractersticas se denominan discretas, aunque
tambin han recibido los nombres de numricas y digitales, ya que puede asimilarse
cada uno de los finitos valores que puede tomar la seal con un nmero (lo que justifica
su denominacin alternativa de numrica), nmero que en ocasiones se da en nuestro
sistema de numeracin decimal (lo que justifica la denominacin de digitales), aunque
en la prctica es an ms comn trabajar en el sistema de numeracin binario, como
ms adelante se comentar.
En los sistemas de medicin electrnicos, estas variable fsicas se representan
mediante magnitudes elctricas (que llamaremos seal) una de cuyas caractersticas
lleva la informacin acerca del valor de la magnitud fsica en consideracin. Muy a
menudo esa caracterstica es el valor instantneo de una tensin elctrica: por ejemplo,
es tpico el caso de la salida elctrica de una termocupla, un dispositivo que genera una
tensin dependiente de la temperatura que soporta. Pero la caracterstica elctrica de
la seal que representa a la magnitud fsica puede no ser el valor de una tensin, ya
que puede tambin tratarse, por ejemplo, de una corriente, una resistencia, o (para el
caso de que la seal fuese una onda sinusoidal) una fase o una frecuencia. Las
termocuplas son ejemplos de sensores, es decir, dispositivos que son capaces de
transformar una magnitud fsica en una seal elctrica.
La razn para transformar las magnitudes fsicas en seales elctricas, es por la
facilidad con que estas seales pueden ser transmitidas a distancia, almacenadas y
procesadas por mtodos elctricos.
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


Las propias seales pueden tambin ser continuas o discretas, e inclusive no
tienen porqu ser del mismo tipo que la magnitud fsica a la que representan. As, por
ejemplo, el tiempo es una magnitud analgica, pero un reloj digital lo presenta como si
fuese discreto. La presin sonora es tambin una variable continua, pero en los discos
compactos musicales se la representa en forma digital. Un desplazamiento es una
variable analgica, pero el sensor que mide el desplazamiento de un ratn de
computadora es una rueda dentada de la que se cuentan el nmero de dientes que han
pasado, como indicativo del desplazamiento realizado, y este nmero de dientes es, sin
duda, una seal digital.
La electrnica, como tecnologa para el procesamiento de seales, tiene
entonces dos ramas fundamentales: las tcnicas analgicas y las tcnicas digitales,
encargadas del procesamiento de las seales continuas y discretas, respectivamente.
A estas ltimas tcnicas se refiere esta publicacin.

0.2. Ventajas y desventajas del tratamiento digital de las seales


Dado que posible el tratamiento de seales empleando tanto tcnicas analgicas
como digitales, corresponde hacer una mencin acerca de algunas de las ventajas y
desventajas de las tcnicas digitales, por comparacin con las analgicas.

Algunas ventajas
1)

El tratamiento digital suele ser inmune a (o, al menos, ser menos afectado por)
corrimientos, interferencias, ruidos y otras imperfecciones que afectan a las
seales analgicas. Como consecuencia de esto el tratamiento digital suele ser
mas preciso ten el sentido de ser mas reproducibles sus resultados) y tener mejor
resolucin (en el sentido de distinguir dos valores muy prximos) que sus similares
analgicos (que aunque en teora tienen una resolucin perfecta, la misma se ve
empaada por los efectos antes mencionados). Comprese por ejemplo un
indicador de tablero analgico, del tipo con instrumento de aguja, con un indicador
digital.

2)

El avance producido en los circuitos integrados, en lo que significa un espectacular


y constante aumento en la capacidad de procesar las seales acompaado de una
reduccin de costos, se ha hecho sentir ms en los circuitos digitales que en los
analgicos. Por lo que el procesamiento digital se ha hecho cada vez ms
poderoso y econmico, lo que ha hecho que muchas aplicaciones que en pocas
anteriores se encaraban con tcnicas analgicas, hayan migrado a soluciones
digitales. Ejemplo de esta migracin lo constituyen los discos digitales de lectura
ptica de audio y video (los CD y los DVD) que progresivamente reemplazan a los
ms antiguos grabadores de cinta magntica.

Algunas desventajas
1) Muchas veces las magnitudes a procesar son de tipo analgico, obligando al
sistema digital a hacer una previa conversin de seal analgica a digital antes
del procesamiento digital. Si tambin la salida debe ser de tipo analgico, se
requiere el correspondiente convertidor de digital a analgico luego del
procesamiento digital. Esto slo se justifica si el procesamiento intermedio es
razonablemente complejo, y resulta, por lo tanto, muy preferible el tratamiento
digital frente a su similar analgico. Por ejemplo, si slo se requiere el filtrado de
una seal analgica para eliminarle componentes de frecuencias que estn

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


presentes pero que son indeseables, probablemente la solucin ms simple sea
la de un filtro analgico.
2) La indicacin de un instrumento analgico, para un operador humano, resulta
ms sinptica que la de un instrumento digital. Inclusive, si la velocidad con que
cambia una variable tiene buena informacin para un operador, un indicador
analgico provee claramente esa informacin, mientras que en esas condiciones
un instrumento digital tan slo muestra valores sucesivos que cambian
constantemente sin que surja claramente una lnea de tendencia. Esta mayor
'afinidad humana de los instrumentos analgicos ha hecho que muchos
sistemas de medicin modernos que son. bsicamente, digitales, presenten en
ltima instancia sus resultados en forma analgica para mayor confort del
operador. Tal es el caso, por ejemplo, de los relojes digitales de pulsera que
presentan la hora en el tradicional cuadrante de los relojes analgicos.

0.3. Seales binarias


Un caso particular muy importante de las magnitudes y las seales digitales, lo
constituyen aquellas que slo pueden tomar los valores extremos de su rango, sin
posibilidad de tomar ningn valor intermedio. Estas magnitudes y seales se denominan
binarias (porque slo pueden tomar los dos valores mencionados) y tambin lgicas
(porque pueden asemejarse sus dos estados a la condicin s o no - o verdadera y falsa
de una caracterstica). As, una magnitud binaria puede referirse a "la impresora tiene
o no tiene papel "'a temperatura del homo ha excedido o no el lmite considerado
seguro, el conductor del vehculo se ha colocado o no el cinturn de segundad, etc.
Una caracterstica interesante de las seales lgicas es la forma simple y variada
con que pueden implementarse en forma elctrica y no elctrica. As la condicin si-no
puede representarse por una llave (que puede estar cerrada o no), una tensin elctrica
(que puede tomar uno u otro de dos niveles previamente definidos), la magnetizacin
en una superficie magntica (que puede ser en uno u otro sentido), la perforacin en
una tarjeta o una cinta de papel (que puede estar o no hecha), etc.
Es por esta facilidad de implementacin que las seales lgicas tienen un papel
fundamental en las tcnicas digitales y, dado que es frecuente que sus dos estados
posibles se representen como estado 0 y estado 1, vuelven importante al sistema de
numeracin binario.

0.4. Sistema de numeracin binario


En esta publicacin supondremos al lector conocedor del sistema de numeracin
binario, por lo que bastar recordar ac algunas caractersticas del mismo, para
refrescarlas en la mente del lector.
Sin duda el lector est an ms familiarizado con el sistema decimal, de base
10, y que por ello trabaja con 10 cifras llamadas dgitos (nuestros conocidos 0 al 9).
Similarmente el sistema de numeracin binario, por ser de base 2, slo opera con 2
cifras, los llamados dgitos binarios: el 0 y el 1. La denominacin inglesa correspondiente
a dgito binario (binary digit) ha dado origen a una nueva palabra (tanto en ingls como
en castellano) que, abreviadamente, representa este concepto: bit.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ

Sistemas de Numeracin

En forma similar a como opera el sistema de numeracin decimal con sus dgitos,
los nmeros binarios enteros se representan con una combinacin de bits colocados en
ciertas posiciones, desde aquella denominada del bit menos significativo (ubicada en el
nmero binario en la posicin extrema derecha y que en decimal corresponde con las
unidades) hasta la correspondiente al bit ms significativo (ubicada en la extrema
izquierda). En ambos sistemas, cada una de las posiciones tiene un cierto valor
posicional o peso, que es una potencia de la base, que comienza con la potencia 0
correspondiente al dgito menos significativo, y que crece progresivamente al
desplazarse a la izquierda. As, en el sistema binario el peso toma sucesivamente los
valores 20, 21, 22, 23, 24, y as sucesivamente, correspondiendo a la posicin del bit ms
significativo, si el nmero binario tiene n bits, el peso de 2n-1.
Para comprender la utilidad del concepto de peso, analicemos la siguiente tabla
preparada para el nmero binario 11010101 de 8 bits, que tomaremos como ejemplo.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


En la tabla se muestra:

cada uno de los bits del nmero binario, en el orden correspondiente

el peso de su posicin como la correspondiente potencia de 2 y el valor en


decimal que tiene dicho peso

el valor relativo de cada bit binario, definido por su valor absoluto (es decir, 0
1, segn el caso) multiplicado por el peso de su posicin. Naturalmente que en
aquellos casos en que el valor absoluto del bit es 0, tambin lo es su valor
relativo, mientras que cuando el valor absoluto del bit es 1, el valor relativo
coincide con el peso de la posicin que ocupa.

El valor relativo de cada bit tiene su importancia porque la conversin de un


nmero binario al correspondiente en decimal se hace simplemente sumando los
valores relativos de cada uno de sus bits (procedimiento conocido como mtodo de la
suma). Es decir que el equivalente decimal del nmero binario que estamos tornando
como ejemplo, el 11010101 es calculable como.

27+26+24+22+20= 128+64+16+4+1 =213


Tambin resulta necesario, en ocasiones, realizar la operacin inversa a la recin
explicada, es decir convertir un nmero decimal entero dado, a su equivalente en
binario. Para ello suele emplearse el procedimiento conocido como mtodo de la
divisin, que consiste en lo siguiente;
1) efectuar la divisin entera por 2 del nmero dado, es decir, sin sacar decimales
y dando, adems del resultado, un resto (que, tratndose de una divisin por 2,
solo puede ser 1 si, el nmero es impar o 0 si es par). Repetir la operacin con
el correspondiente resultado, y as sucesivamente hasta que el resultado final
sea nulo.
2) observar los restos que han dado sucesivamente estas divisiones enteras; el
binario buscado es el que surge de colocar ordenadamente los restos,
comenzando por sucesivamente a la derecha los anteriores.
Una forma prctica de efectuar esta conversin en forma manual es colocando
en una columna el numero dado y los sucesivos resultados (generalmente calculados
mentalmente), adosando a dicha columna, otra con el resto previsto de la divisin por 2
(es decir, colocando un 1 si el nmero que va a ser dividido es impar si es par), y luego
recuperar estos restos en orden inverso a su aparicin. Es decir que, por ejemplo, para
el nmero decimal 213 tendremos:

Es decir, que el binario correspondiente es el 11010101, como ya sabamos.


Ejemplos:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

Arquitectura de Computadoras I UNPAZ


Ejemplo 1; 110011 a Decimal

Ejemplo 2;

Ejemplo 3;

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

10

Arquitectura de Computadoras I UNPAZ


Ejemplo 4:
Pasar de decimal (0,3125) a binario

Pasar de binario (0.0101) a decimal

An cuando con estos mtodos permiten convertir cualquier nmero natural


decimal a binario y viceversa, los nmeros pequeos aparecen con tal frecuencia en la
prctica que es aconsejable retener la equivalencia de memoria, razn por la que se cita
a continuacin la correspondiente tabla de equivalencia para los nmeros hasta el 15.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

11

Arquitectura de Computadoras I UNPAZ

Bytes, octetos y cuartetos


Es normal que para representar un nmero se necesite ms de un bit, como se
comprueba en los ejemplos anteriores. Se define como byte (pronuncese bait) a un
conjunto de bits que deben ser tratados, separadamente, sino como una unidad. Esta
definicin no determina el nmero de bits que tiene un pero la costumbre ha decretado
que un byte tiene 8 bits. Sin embargo, el verdadero nombre del conjunto ocho bits es el
de octeto (en ingls, octet). Tambin ha recibido nombre el conjunto de 4 bits, que
denomina cuarteto. En ingls, al conjunto de 4 bits se lo denomina nibble, cuya
traduccin literal al espaol de mordisco o bocadito no parece justificar el porqu se la
ha adoptado, a menos que se comprenda que se trata de un juego de palabras, porque
byte (ms que un nibble) se pronuncia igual que la palabra inglesa que significa
mordedura o bocado.

0.5. Sistema de numeracin hexadecimal


Aun cuando el sistema de numeracin binario es el ms estrechamente
vinculado a los circuitos digitales, resulta incmodo para el manejo humano por requerir
su representacin ms dgitos que el decimal, lo que acarrea mayores dificultades para
memorizarlos y para transcribirlos sin errores. Pruebe el lector memorizar tanto el
nmero decimal 6713 como su equivalente binario 1101000111001 para comprobar
esto. La presentacin ms compacta del sistema decimal se debe simplemente a que
usa una base mayor. Puede construirse un sistema de numeracin que sea a la vez
compacto y muy relacionado con el binario, si se adopta como base una potencia de 2,
por ejemplo, 16. Esto da origen al sistema de numeracin hexadecimal.
En este sistema, los pesos de las sucesivas columnas son potencias de 16, y en
cada columna puede haber 1 de 16 smbolos distintos, los llamados dgitos
hexadecimales. La prctica ha impuesto que para los primeros dgitos hexadecimales
se usen los conocidos 0 al 9 habitualmente empleados en decimal, y que, para los
dgitos del diez al quince, que requieren seis nuevos smbolos, se emplean A, B, C, D,
E y F de acuerdo a la siguiente tabla de equivalencia con el sistema decimal. La tabla
tambin muestra la equivalencia con el binario, pero en esta ocasin a los nmeros
binarios de menos de cuatro bits se le han agregado ceros a la izquierda hasta completar
los cuatro bits, por las razones que ms adelante vendrn claras.

La conversin de hexadecimal a decimal y viceversa se hace empleando los


mtodos de la suma y la divisin ya vistos al ver numeracin binario, slo que ahora los
pesos son potencia de 16 y la divisin se hace por 16 (y, de realizarse en forma manual,

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

12

Arquitectura de Computadoras I UNPAZ


usando el tradicional mtodo del lpiz y papel y no el clculo mental, por las dificultades
de ste). Por ejemplo:
a) conversin del hexadecimal D5 a decimal por el mtodo de la suma Tomando
en cuenta que el equivalente decimal de D es el 13, la conversin da.
13x161+5x160 = 13x16+5 = 208+5 = 213.
b) conversin del decimal 213 a hexadecimal por el mtodo de la divisin

Tomando los restos en orden inverso y recordando la equivalencia entre 13 y D, queda


D5.
Resulta particularmente interesante estudiar la conversin de hexadecimal a
binario y viceversa que es muy simple y til. Si comparamos los resultados de la
conversin del decimal 213 a hexadecimal (D5) y a binario (11010101), tendremos:
D

1101

0101

Se observa en este ejemplo que la conversin de hexadecimal a binario se


realiza reemplazando cada dgito hexadecimal por el conjunto de 4 bits binarios que le
son equivalentes segn la tabla antes vista. Y la inversa, para convertir de binario a
hexadecimal se deben agrupar los bits de a 4 (comenzando por el bit de peso unitario y
progresando hacia la izquierda y. si es necesario, agregando ceros no significativos a |a
izquierda para tener un nmero de bits divisible por 4) y reemplazar cada grupo por su
hexadecimal correspondiente.
Esta caracterstica de facilidad de conversin con el sistema binario en ambos
sentidos, ha hecho que el sistema hexadecimal se use, no tanto como un sistema de
numeracin independiente, sino como una forma compacta de representar a los
nmeros binarios. As, el binario 1101000111001 puede ser ms fcilmente recordado
o transcripto como 1A39 (compruebe el lector la equivalencia).

0.6. Sistemas electrnicos digitales


Antes de pasar al estudio de los sistemas digitales en los prximos captulos, es
oportuno definir con cierta precisin qu es lo que entendemos por un sistema
electrnico. Un sistema electrnico es el compuesto por un conjunto de seales de
entrada, un conjunto de seales de salida, y un circuito interno que satisface las reglas
que permiten generar las salidas a partir de las entradas. Un sistema digital, como caso
particular, slo trabaja con entradas y salidas digitales, y sus circuitos internos se
denominan circuitos lgicos porque las reglas que deben satisfacer son del tipo de
inferencia lgica, del estilo si..., entonces....
Los sistemas digitales suelen clasificarse en combinacionales o secuenciales:

los sistemas combinacionales son aquellos que se caracterizan porque sus


salidas dependen del valor particular de las seales de entrada que hay en cada
momento (es decir, dependen de la combinacin particular de los valores de las
entradas, lo que justifica su denominacin).

los sistemas secuenciales son aquellos que se caracterizan porque sus salidas
dependen del valor de las seales de entrada que hay en cada momento y

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

13

Arquitectura de Computadoras I UNPAZ


tambin de los valores anteriores de dichas entradas (es decir, dependen de la
secuencia particular de los valores de las entradas, lo que justifica su
denominacin). Se notar que los sistemas con esta caracterstica deben poseer
memoria de la historia pasada de sus entradas.
Desde otro punto de vista, los sistemas digitales tambin pueden clasificarse en:

de lgica cableada; que son aquellos cuyas reglas lgicas estn determinadas,
tradicionalmente en forma inmutable, por los circuitos internos y sus
interconexiones fijas.

de lgica programada; que son aquellos cuyas reglas lgicas pueden serles
modificadas (por un procedimiento denominado programacin), haciendo que
las mismas no resulten inmutables.

Los circuitos de lgica programada son los basados tanto en microprocesadores


y microcontroladores, cuya programacin consiste en una serie de instrucciones
conteniendo las reglas lgicas a cumplir sucesivamente, y en los llamados Dispositivos
Lgicos Programables (o PLD, por sus iniciales en ingls), en los que la programacin
consiste en reconfigurar sus circuitos internos, que tienen interconexiones modificables,
de manera de que cumplan con las reglas lgicas deseadas. A esta ltima variante de
lgica programada se la suele denominar, tambin lgica reconfigurable.
En este curso veremos tanto los circuitos lgicos combinacionales como los
secuenciales realizados en lgica cableada y/o reconfigurable, aunque limitndonos en
este ltimo caso a las memorias PROM, los dispositivos PAL y los dispositivos GAL.
Quedarn sin cobertura, entonces, los microprocesadores y los microprocesadores, as
como los reconfigurables de gran complejidad, como los dispositivos CPUD v FPOA, de
los que solo haremos una breve mencin.

1. CDIGOS BINARIOS
1.1. Introduccin
Un cdigo es una representacin de ciertos elementos a travs de la asignacin
a cada una de ellos de una combinacin determinada de smbolos (combinacin llamada
palabra del cdigo), elegidos dentro de un juego permitido de smbolos (juego
denominado alfabeto del cdigo).
Ejemplos de cdigo son:

el cdigo Morse, empleado en telegrafa, que identifica un carcter de texto (una


letra o un nmero) utilizando una combinacin de puntos y rayas.

El cdigo GTIN-13 usado internacionalmente para la identificacin de artculos


en puestos de venta de supermercados, que consta de 13 dgitos decimales que
forman su alfabeto. A su vez, cada uno de esos dgitos es codificado con un
sistema de barras, para su lectura mediante escaneo ptico. El nombre de GTIN
proviene de la sigla Global Trade Item Number. Como comentario adicional, vale
sealar que este cdigo, diseado por el organismo internacional GS1, es una
versin mejorada del cdigo desarrollado originariamente en USA de 12 dgitos,
denominado UPC o Universal Product Code.

La asociacin entre cada elemento representado y la combinacin de smbolos


que el cdigo le adjudica, se suele representar mediante una tabla, llamada tabla de
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

14

Arquitectura de Computadoras I UNPAZ


correspondencia, que puede ser considerada el diccionario del cdigo. As, por ejemplo,
el comienzo de la tabla de correspondencia del cdigo Morse es como se muestra a
continuacin.

En tcnicas digitales los tipos de cdigo que resultan de mayor inters son los
cdigos binarios de bloque y biunvocos. Veamos qu entendemos por estos conceptos:

cdigos binarios son aquellos en que el alfabeto del cdigo lo integran los
dgitos binarios, es decir, el 0 y el 1. Pero, por extensin, tambin aquellos cuyo
alfabeto tiene slo dos smbolos, como es el caso del cdigo Morse.

cdigos de bloque son aquellos en que las distintas palabras tienen todas el
mismo nmero de smbolos. No es el caso, por ejemplo, del cdigo Morse, pero
s del GTIN-13.

cdigos biunvocos son aquellos para los que a cada elemento a representar le
corresponde una nica palabra de cdigo (no hay sinnimos), y a cada palabra
del cdigo le corresponde un nico elemento (no hay polisemia, es decir,
mltiples significados).

As, un cdigo binario (de bloque y biunvoco) de 5 bits, dado que cada uno de
esos bits puede ser uno cualquiera de los 2 dgitos binarios, permitir representar a un
conjunto de hasta 25=32 elementos. En general, un cdigo binario de n bits permitir
representar a un conjunto de hasta 2n elementos, ya que ste es el mximo nmero de
palabras diferentes que se pueden formar.
Hay algunos conjuntos de elementos que suelen necesitarse codificar con cierta
frecuencia en tcnicas digitales, por lo que se han realizado estudios tericos y
esfuerzos de estandarizacin de cdigos para estas aplicaciones. Caen en esta
descripcin los siguientes cdigos:

los cdigos de cambio nico.

los cdigos para representar los caracteres alfanumricos.

los cdigos para representar los nmeros.

los cdigos detectores y correctores de errores.

En lo que sigue, describiremos en detalle estos cdigos siguiendo el orden ms


arriba propuesto que, aclararse, no es un orden de importancia sino el ms indicado
para una presentacin pedaggica.

1.2. Cdigos de cambio nico


Para entender la necesidad de estos cdigos consideremos el siguiente caso.
Deseamos conocer la posicin angular del eje de un motor, para lo que hemos de
acoplarle un disco, solidario con el movimiento del eje, y dividido en un nmero de
sectores tanto mayor cuanto mejor sea la precisin con que deseemos conocer la
posicin angular. Para simplicidad de la presentacin, supongamos que slo
necesitamos una indicacin grosera de la posicin angular del eje, por lo que bastar
dividir el disco asociado en 4 cuadrantes. Para la representacin de estos cuadrantes
podemos utilizar un cdigo binario de 2 bits (b1 y b0) que nos ofrece las 4 combinaciones

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

15

Arquitectura de Computadoras I UNPAZ


que requerimos. Por ejemplo, podramos utilizar la siguiente tabla de correspondencia
que, aunque surge muy naturalmente, ms adelante criticaremos:

Para implementar un instrumento que determine la posicin del eje en cada


momento segn el cdigo propuesto, trazaremos sobre el disco dos pistas concntricas
y lo dividiremos en cuatro sectores iguales, es decir en cuatro cuadrantes, como muestra
la figura 1-1. En los dos segmentos de pista correspondientes a cada cuadrante
colocaremos los dos bits que identifican a dicho cuadrante a razn de uno por pista, con
el bit menos significativo (b0) en la pista externa.
Una forma posible de realizar esto es hacer que el disco sea de material aislante,
pero que los segmentos de pista que deban contener un 1 tengan una cobertura
conductora conectada a un potencial elctrico apropiado. As se ha hecho en la figura
mencionada donde los sectores de pista oscuros representan a un 1, mientras que los
claros representan a un 0. Para poder reconocer la posicin angular del eje se asocia al
mismo un par de cepillos palpadores (uno por pista) alineados radialmente y colocados
en forma fija, es decir, no solidarios con el movimiento del disco. Con esta disposicin,
la presencia o ausencia de potencial elctrico en los palpadores permite determinar si
los mismos se apoyan sobre una superficie electrificada (esto es, un 1) o aislante (es
decir, un 0). Hay sistemas semejantes que usan otra forma de realizacin, basada en
elementos optoelectrmcos, pero esta forma alternativa no ofrece diferencias
conceptuales con la forma propuesta, sino slo constructivas.

Este sistema de medicin tiene un inconveniente asociado al hecho de que, por


imperfecciones inevitables, los cepillos palpadores no estn perfectamente alineados
radialmente. Esto no produce ningn inconveniente cuando los palpadores se
encuentran apartados de las zonas de frontera entre un sector y otro. Pero, cuando
estn justo sobre una de las fronteras, el error de alineamiento puede hacer que
mientras uno de los palpadores repose en uno de los sectores, el otro lo haga en otro.
Se dan aqu dos posibilidades:

En la frontera entre los cuadrantes 1 y 2 donde slo un bit cambia al atravesar la


frontera, un ligero error de alineamiento del palpador asociado a la pista que no
cambia (en este caso la correspondiente al bit ms significativo) no tiene
consecuencia ninguna pues se apoye en uno u otro sector su indicacin ser la
misma. Por su parte, un error de alineamiento en el palpador correspondiente a

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

16

Arquitectura de Computadoras I UNPAZ


a pista que cambia hace que, segn sea la pista sobre la que finalmente reposa,
el cdigo ledo sea 00 01. Como estas combinaciones se corresponden a los
cuadrantes 1 y 2 respectivamente, ambas son en realidad aceptables cuando los
palpadores estn justo sobre la frontera entre ambos cuadrantes, por lo que el
error de alineamiento no tiene consecuencias indeseables. Algo similar puede
decirse en la frontera entre los cuadrantes 3 y 4, donde tambin slo cambia un
bit al atravesar la frontera.

Muy distinto es el caso cuando los palpadores se encuentran sobre la frontera


entre los cuadrantes 2 y 3, en la que ambas pistas cambian de estado, donde un
error de alineamiento puede producir que ambos palpadores detecten un 1, o
ambos un cero, resultados estos absolutamente inaceptables ya que 11 es la
combinacin asignada al cuadrante 4, y 00 es la del cuadrante 1. Algo similar
ocurre en la frontera entre los cuadrantes 4 y 1 por la posible aparicin de las
combinaciones erradas 01 y 10.

Se notar que, para evitar los inconvenientes mencionados, se deben


representar los cuadrantes adyacentes asignndoles combinaciones que slo difieran
en un nico bit, es decir, que al atravesar una frontera lo hagan siempre con un cambio
nico. En nuestro ejemplo, esto se logra adoptando la siguiente tabla de
correspondencia:

En la figura 1-2 se aprecia el disco que implementa esta idea.

Los cdigos para los que la combinacin que representa a un elemento no difiere
ms que en un bit de la que representa al elemento anterior se denominan cdigos
continuos. Cuando en un cdigo continuo se tiene que tampoco difieren en ms de un
bit las combinaciones correspondientes al primer elemento y al ltimo, se dice que se
trata de un cdigo cclico. Es evidente que para codificar un eje en la forma que hemos
descripto se necesita un cdigo cclico, y que el cdigo encontrado califica como tal.
Existe una forma sistemtica para disear cdigos continuos y cclicos para
distintos nmeros de elementos. Al cdigo resultante se lo conoce como cdigo Gray, y
a el dedicaremos el prximo apartado.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

17

Arquitectura de Computadoras I UNPAZ

1.2.1. Cdigo Gray


Para entender como es el cdigo Gray, es conveniente recordar cmo se forman
los sucesivos nmeros binarios a partir del 0, y mostrar paralelamente la forma de
generar las sucesivas palabras del cdigo Gray, con el fin de destacar similitudes y
diferencias. Veamos la tabla siguiente, nmeros binarios y las primeras 16 palabras del
cdigo Gray.

Los primeros nmeros binarios son el 0 y el 1; agotadas las posibilidades que


tiene el bit menos significativo como nico bit, se agrega un 1 a la izquierda y se repite
la secuencia 0 y 1 en el bit menos significativo.
En el cdigo Gray, al agotarse las 2 posibilidades del bit menos significativo,
tambin se agrega un 1 a la izquierda, pero la secuencia 0 y 1 del bit menos significativo
se repite en orden inverso (es decir, en el orden 1 y 0 como si se reflejasen en un espejo)
y se evita as que haya ms de un bit que cambie.
Similarmente, cuando se agotan las posibilidades de los dos bits menos
significativos, se agrega un nuevo 1 a la izquierda, en el binario, repitiendo la secuencia
anterior de los dos bits menos significativos en el mismo orden (00, 01, 10 y 11); en el
Gray, en orden inverso (10, 11, 01 y 00).
Para continuar la tabla ms all (en la tabla se muestran las primeras 16
palabras), se debe repetir el procedimiento sealado cada vez que se agotan las
posibilidades de los bits menos significativos: se coloca un 1 a su izquierda y (en el
cdigo Gray) se los refleja. Es por ello que al cdigo Gray se lo conoce tambin como
cdigo binario reflejado.
De la tabla surgen algunas conclusiones de inters respecto al uso de este
cdigo Gray como cdigo continuo o cclico:

cualquier secuencia de palabras del cdigo Gray forman un cdigo continuo. En


este caso, y en los que siguen, por ser el cdigo Gray un cdigo de bloque, al
tomar un cierto nmero de palabras consecutivas de este cdigo puede
encontrarse necesario rellenar ciertas posiciones de la izquierda con ceros no
significativos.

las primeras 2n palabras del cdigo Gray forman un cdigo cclico.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

18

Arquitectura de Computadoras I UNPAZ

dada una lista con las primeras 2n palabras del cdigo Gray, las palabras
ubicadas simtricamente con relacin al eje que divide la lista en dos slo
difieren en 1 bit. Por ejemplo, de la lista de las primeras 16 palabras, la cuarta
palabra contada desde el principio (0010) difiere slo en un bit de la cuarta
palabra contada desde el final (1010). Como consecuencia de lo anterior, si de
una lista de las primeras 2n palabras del cdigo se suprimen simtricamente las
primeras m palabras y las ltimas m, la lista resultante es un cdigo cclico de
(2n-2m) elementos. Por ejemplo, para obtener un cdigo Gray apto para codificar
10 elementos, a partir de una lista con las primeras 16 palabras del Gray, se
suprimen 6 de ellas en forma simtrica, es decir, las 3 primeras y las 3 ltimas.
Este procedimiento permite obtener un cdigo cclico para un nmero par
cualquiera de elementos. Se sugiere al lector que compruebe que similar
resultado se logra suprimiendo simtricamente las 2m palabras ubicadas en el
centro de la lista.

En resumen, el cdigo Gray puede ser usado como cdigo continuo para
codificar un nmero cualquiera de elementos, y como cdigo cclico para codificar un
nmero par cualquiera de elementos (con la metodologa recin vista), no pudiendo
hacerlo con un nmero impar de elementos porque esto es imposible para cualquier
cdigo binario de cambio nico. Esta imposibilidad se puede demostrar a partir de notar
que, al pasar de una palabra a la siguiente con un cambio nico, resulta que cambia el
nmero de unos que tiene la palabra, que pasa de ser par a impar, o viceversa. Dos
cambios sucesivos (o un nmero par de cambios sucesivos) restaura la paridad original
(par o impar). Pero un nmero impar de cambios produce un cambio en la paridad de
unos, y no se puede haber vuelto a la palabra inicial.

1.2.2. Conversin entre binario y Gray, y viceversa


1.2.2.1. Suma mdulo 2
Para el estudio de las reglas que permiten la conversin entre binario y cdigo
Gray, es necesario previamente definir la operacin matemtica suma mdulo 2, de
particular inters porque no slo nos facilitar esta conversin, sino que ser empleada
ms adelante en este mismo captulo en otra aplicacin.
En Matemtica se dice que dos nmeros son congruentes respecto a un cierto
nmero llamado mdulo, cuando divididos por este mdulo dan idntico resto. Utilizando
para simbolizar la congruencia el signo igual, podemos escribir, por ejemplo:
15=375=735 (mod. 360)
En particular, en tcnicas digitales interesa trabajar con mdulo 2, con lo que
resultan congruentes entre s todos los nmeros pares, y todos los impares.
Puede establecerse, asimismo, una aritmtica llamada residual, apta para
operar con nmeros sin establecer diferencias entre aquellos que son congruentes entre
s.
Por ejemplo, se ha concebido una suma mdulo 2 en la que los operandos y el
resultado posibles son, simplemente, los nmeros pares y los impares considerados
genricamente. Una tabla donde se presentan las cuatro posibilidades que existen en
cuanto a los operandos, y el resultado correspondiente a la suma mdulo 2 de ellos (que
el lector encontrar obvio), es la que se muestra a continuacin.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

19

Arquitectura de Computadoras I UNPAZ

Esta tabla suele presentarse de una forma distinta, aprovechando que los
nmeros pares pueden ser representados por el 0, los impares por el 1, y que la suma
mdulo 2 suele simbolizarse mediante el signo especial . En esas condiciones, queda:

Se observar que la suma mdulo 2 tiene reglas similares a las de la suma


ordinaria, excepto que 1 1=0. De hecho, al igual que la suma ordinaria tiene las
propiedades de ser conmutativa y asociativa.
Tambin puede definirse la resta en mdulo 2, cuya tabla, igualmente obvia,
sera la siguiente:

Pero el lector apreciar que esta tabla es la misma que la de la suma en mdulo
2, por lo que en mdulo 2 la suma y la resta son una misma operacin.

1.2.2.2. Conversin entre binario y Gray


Existen reglas que permiten convertir los nmeros binarios a la palabra
correspondiente en el cdigo Gray y viceversa. Estas reglas parten de la observacin
de la tabla comparativa de ambos, en la que se nota que todo bit binario que tiene a su
izquierda un 0 coincide con el bit Gray que est en su misma posicin, mientras que
aqul que tiene a su izquierda un 1 es diferente del bit Gray que est en su misma
posicin. De acuerdo a esta observacin, la regla de conversin para pasar del binario
a la palabra Gray es la siguiente:
Se calculan los diferentes bits de la palabra Gray (de los que habr tantos como
bits tenga el binario a convertir) con el siguiente procedimiento aplicado a cada uno de
ellos:
El bit ubicado en una cierta posicin de la palabra Gray:

es igual al bit binario que est en su misma posicin, si el bit que este ltimo
tiene a su izquierda est en 0.

es igual al inverso del bit binario que est en su misma posicin, si el bit que este
ltimo tiene a su izquierda est en 1.

As, si llamamos Bi, y Gi, a un bit genrico en binario y en Gray, respectivamente,


y Bi+1 al binario que ocupa a posicin inmediatamente a la izquierda de Bi puede
tabularse el valor que debe tomar Gi segn los valores Bi y Bi+1como sigue.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

20

Arquitectura de Computadoras I UNPAZ

Esta tabla es idntica a la de la operacin suma mdulo 2 entre Bi y Bi+1, por lo


que puede escribirse:

Como caso particular de esta regla el lector advertir que la posicin del bit en 1
ubicado ms a la izquierda en el binario (que est explcita o implcitamente precedido
por un 0), es la misma que ocupa el primer 1 de la izquierda en la palabra Gray.
Aunque la regla mencionada no establece ningn orden en particular para
ejecutarse, buena prctica es proceder de izquierda a derecha, es decir, respetando el
bit ubicado en la izquierda del binario (por lo visto en el prrafo anterior) como bit de la
izquierda en Gray y calculando a partir de all ordenadamente los bits que estn
progresivamente a la derecha.
Aplique el lector esta regla y verifique que el binario 10110010 se corresponde
con la palabra Gray 11101011.

1.2.2.3. Conversin entre Gray y binario


De la frmula vista en el apartado anterior puede obtenerse la frmula del bit
binario Bi si es que se conoce el bit Gray ubicado en su misma posicin Gi y el bit binario
inmediatamente a su izquierda Bi+1 (o que obliga, en este caso, a proceder
rigurosamente de izquierda a derecha). As, pasando de miembro Bi+1, debera pasar
restando, pero, por lo que sabemos, pasa sumando porque no hay diferencia entre suma
y resta mdulo 2:

Es decir que para pasar del Gray al binario se calculan sucesivamente


(procediendo de izquierda a derecha) los bits del binario teniendo en cuenta que el bit
binario ubicado en una cierta posicin:

es igual al bit Gray que est en su misma posicin, si el bit que el binario tiene a
su izquierda est en 0

es igual al inverso del bit Gray que est en su misma posicin, si el bit que el
binario tiene a su izquierda est en 1

Nuevamente, como caso particular de esta regla, tenemos que la posicin del bit
en 1 ubicado ms a la izquierda en la palabra Gray, es la misma que ocupa el primer 1
de la izquierda en el binario.
Aplique el lector esta regla y verifique que la palabra Gray 11001001 se
corresponde con el binario 10001110.

1.3. Codificacin de los caracteres alfanumricos


1.3.1. El cdigo ASCII
Un conjunto de elementos que es necesario codificar con mucha frecuencia es
el de los caracteres de texto, frecuentemente denominados caracteres alfanumricos
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

21

Arquitectura de Computadoras I UNPAZ


por ser las letras del alfabeto y los diez dgitos decimales sus elementos principales. Sin
embargo, los caracteres de texto incluyen tambin otros caracteres como los parntesis,
corchetes y llaves, los signos de puntuacin, de interrogacin y de admiracin, algunos
smbolos especiales (como $, %, +, =, >, @, etc.) e incluso rdenes, como luego
veremos.
Si nos basamos en nuestro alfabeto de 27 letras, si se desea codificar tanto las
maysculas como las minsculas y se le agregan los 10 dgitos decimales, esto hace
un total de 64 elementos que necesitan 6 bits para codificarse. Dado que en realidad se
necesita codificar otros caracteres, como habamos apuntado, se debe utilizar un cdigo
de 7 bits (o ms) el que permite codificar 64 caracteres adicionales a los ya
mencionados.
Un cdigo de 7 bits, estndar en los EEUU desde 1968, ha emergido como
norma internacionalmente aceptada para codificar los caracteres de texto. Del mismo
han surgido, como luego veremos, otros cdigos ms modernos basados en l y que lo
han desplazado. El cdigo a que nos estamos refiriendo es el tradicionalmente conocido
como ASCII (iniciales de American Standard Code for Information Interchange, la sigla
se pronuncia habitualmente aski), y ha sido establecido por la norma ANSI X3.4 del
Instituto Norteamericano de Normas (American National Standards Institute), el que
ahora lo designa como USASCII. Su tabla de correspondencia, hecha a doble entrada,
es la que sigue:

Las ltimas 6 columnas corresponden a caracteres de texto, entre ellos el


espacio en blanco (SP o space) y el carcter borrado (DEL o delete) y el subrayado (_).
Adems, existen dos columnas con elementos que no son caracteres de texto, sino
rdenes que:

afectan a la impresin, como LF (line feed o avance de lnea), CR (carriage return


o retomo de carro) y BS (backspace o retroceso de un espacio).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

22

Arquitectura de Computadoras I UNPAZ

controlan el traspaso de la informacin cuando este cdigo es usado para


transferir informacin entre dos unidades separadas, como EOT (end of
transmission o fin de transmisin), ACK (acknowledge o acuse de recibo de la
transmisin sin error) y NAK (negative acknowledge o acuse de recibo de la
transmisin con error).

Se notar que el cdigo ASCII est bien preparado para el idioma ingls, pero
carece de los smbolos empleados en otros idiomas, inclusive si nos limitamos a
considerar los idiomas europeos occidentales. As, carece de nuestra ee, de las
vocales acentuadas, de la u con diresis y de la apertura de los signos de admiracin e
interrogacin, pero tambin de otros smbolos corrientes en los lenguajes europeos
occidentales tales como , , , etc. Por eso cuando fue adoptado por la Organizacin
Internacional de Estndares (Norma ISO 646) se le previeron variantes nacionales
segn las cuales algunas combinaciones poco usadas del cdigo ASCII original se
podan asignar a otros caracteres distintos a los previstos por el ASCII, dependiendo del
lenguaje a utilizar. Sin embargo, la prctica demostr los inconvenientes del as limitado
carcter internacional del cdigo y se encontr preferible posibilitar esas combinaciones
adicionales agregando un nuevo bit al cdigo, lo que dio lugar a los as llamados cdigos
ASCII extendidos de 8 bits.

1.3.2. Los cdigos ASCII extendidos de 8 bits


Los conocidos vulgarmente como cdigos ASCII extendidos son cdigos de 8
bits, es decir uno ms que el ASCII, que incorporan al cdigo ASCII en el sentido de que
sus primeras I28 combinaciones (las que tienen b7, el bit ms significativo, en 0) son
idnticas a las de dicho cdigo, pero agregan 128 combinaciones adicionales (las que
tienen b7 en 1) que permiten aadir muchos otros caracteres, entre ellos letras no
inglesas, pero comunes en otros lenguajes europeo occidentales. Existen varios de
estos cdigos que difieren en cul es el juego de caracteres adicionales que poseen con
relacin al ASCII. Entre ellos, podemos citar:

Los cdigos ISO 8859. De los varios cdigos que tiene esta norma para distintos
lenguajes (que incluye el chino, el hebreo, etc.) merece destacarse el IS088591 denominado oficialmente Latin 1 (y vulgarmente como Europeo occidental).

Los cdigos utilizados por las computadoras personales, los que tambin tienen
variantes que son denominadas por el sistema operativo DOS como codepages.
Las ms interesantes para mencionar ac son:
la 437, especialmente adaptada para el ingls americano e histricamente
la nica disponible en las primeras versiones de las computadoras
personales
la 850 que soporta mltiples lenguajes europeos occidentales y prev
vocales acentuadas con acentos graves, agudos y circunflejos, u con
diresis, c con cedilla, nuestra , etc.
la 858, relativamente reciente modificacin de la 850 para incorporar el signo
del euro, en sustitucin de la poco usada letra I (i sin punto)

Las codepages utilizadas por el sistema operativo Windows en las computadoras


personales. La ms interesante para mencionar ac es la 1252, que es
compatible con el cdigo IS08859-1 aunque asigna algunas combinaciones, que
el cdigo ISO tiene reservadas, a caracteres que el cdigo ISO no prev.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

23

Arquitectura de Computadoras I UNPAZ


Un detalle de inters es que en las computadoras personales puede hacerse
imprimir en pantalla uno de los caracteres que su cdigo posee, presionando la tecla
ALT y, sin liberarla, ingresando a continuacin por medio del teclado numrico y en
decimal el cdigo del carcter que se desea imprimir (tras lo cual se debe liberar la tecla
ALT). Por ejemplo ALT64 hace aparecer la arroba (@) ya que ese es el valor que le
corresponde a la arroba en ASCII como puede comprobarse en la tabla respectiva. Sin
embargo, ALT234 (que corresponde a uno de los caracteres adicionales) da lugar a letra
griega de tratarse de la codepage 437 y a la en el caso de la 850 o la 858. Es
oportuno sealar que, si dentro del sistema Windows se utiliza el mtodo de presionar
la tecla ALT seguida del ingreso por teclado de un nmero decimal, aparece en pantalla
el carcter correspondiente al nmero decimal ingresado, pero en la codepage del
sistema DOS que posee la mquina y no en la del propio Windows. Para lograr esto
ltimo se debe preceder el tecleado del nmero decimal por un cero como sera, por
ejemplo, ALT0234. El resultado sera la .

1.3.3. Unicode y cdigo UCS


El Consorcio Unicode, por un lado, y por el otro la Organizacin Internacional de
Estndares (ISO) junto al Comit Electrotcnico Internacional (IEC), han estado
trabajando (al principio separadamente, luego en conjunto) para establecer un cdigo
nico (sin variantes nacionales o regionales) realmente multilenguaje y de aceptacin
universal. El resultado ha sido un cdigo comn para las tres instituciones involucradas,
aunque lo denominan de manera diferente: el cdigo es llamado Unicode por el
mencionado Consorcio, y UCS (Universal Character Set) por la norma ISO/IEC 10646.
Este cdigo incluye (o prev incluir en futuras ampliaciones) entre sus caracteres
representados, las letras de todos los alfabetos usados, de manera de ser un completo
cdigo multilenguaje.

1.3.4. Otros cdigos alfanumricos


Otros cdigos para codificar caracteres que tienen inters histrico son:

el cdigo Baudot, de 5 bits, utilizado en telex. El bajo nmero de bits que emplea
se justifica porque no codifica tanto las letras maysculas como las minsculas,
sino slo las primeras, y porque una palabra del cdigo se utiliza para codificar
dos elementos distintos, segn sea la situacin del contexto. As, una palabra
podr ser interpretada como representando a una letra o a un nmero segn se
haya establecido con anterioridad (mediante una palabra apropiada del cdigo
cuya funcin es cambiar de contexto) que se habra de recibir uno u otro tipo de
carcter.

El cdigo BCFIC (iniciales de Binary Coded Decimal Interchange Code), de 6


bits, utilizado por muchos sistemas de la firma IBM. No permite representar a las
letras minsculas, lo que explica que basten 6 bits.

el cdigo Hollerith, de 12 bits, utilizado en las viejas tarjetas perforadas de 80


columnas y 12 fijas

el cdigo EBCDIC (iniciales de Extended Binary Coded Decimal Interchange


Code), de 8 bits, utilizados por muchos sistemas de la firma IBM. No hace uso
de las 256 posibilidades que ofrece, ya que muchas de ellas no son utilizadas.
En realidad, fue concebido por dicha empresa de manera que sea muy fcil
convertir una palabra del cdigo Hollerith a EBCDIC y viceversa.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

24

Arquitectura de Computadoras I UNPAZ

1.4.

Codificacin de los nmeros

Recordemos que en Matemtica los nmeros se suelen clasificar en.

nmeros naturales
nmeros enteros
nmeros racionales
nmeros reales
nmeros complejos

En los sistemas digitales suele ser necesario codificar estos tipos de nmeros, aunque
con las siguientes variantes:

los nmeros naturales se usan frecuentemente junto con el cero, aunque ste
no es en realidad un nmero natural. Por ello se suelen representar las llamadas
magnitudes, que son el conjunto de los nmeros naturales ms el cero. Estos
nmeros suelen tambin ser llamados enteros sin signo.

al codificar los nmeros reales no se acostumbra establecer distingo en la forma


de representacin de los nmeros racionales y los irracionales.

dado que un nmero complejo no es sino un par ordenado de nmeros reales,


no es necesario adoptar una forma especial para representarlos.

en muchos casos interesa representar nmeros expresados en el sistema binario


de numeracin, pero en otros interesan, los nmeros decimales. Los cdigos
utilizados para representar a los nmeros decimales se basan en representar
separadamente a cada uno de los dgitos de un nmero decimal por medio de
una combinacin de dgitos binarios. Estos cdigos se denominan cdigos BCD
(iniciales de Binary Coded Decimal), es decir, cdigos para decimales
codificados en binario.

Por lo dicho, se utilizan cdigos para representar a:

las magnitudes binarias


los enteros binarios
los nmeros reales binarios
los decimales codificados en binario

Estudiaremos cada uno de estos casos en los apartados que siguen.

1.4.1.1. Operaciones aritmticas entre magnitudes binarias


Dada la forma natural con que hemos representado a las magnitudes, podemos
efectuar operaciones aritmticas directamente con representaciones codificadas y
obtener el resultado igualmente codificado. Sin embargo, una precaucin especial habr
que tomar con relacin a la posibilidad de que el resultado de la operacin no caiga
dentro del rango de representacin ya mencionado de 0 hasta 2n-1, ya que en esos
casos el resultado no resultar vlido por haberse excedido la capacidad de
representacin del cdigo.
Las operaciones aritmticas en las que estamos ac interesados son la suma y
la resta. Pero veremos la multiplicacin en otro captulo, aunque la divisin quedar
fuera del alcance de esta publicacin. Veremos a continuacin las operaciones
mencionadas.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

25

Arquitectura de Computadoras I UNPAZ

Suma de magnitudes

La suma de las representaciones de dos magnitudes se realiza bit a bit de la


manera habitual, obtenindose el resultado correcto a menos que dicha operacin arroje
un resultado mayor o igual a 2n, que no puede ser representado con n bits. Cuando ello
ocurre, se advierte fcilmente pues la suma produce un acarreo que emerge de la suma
de los bits ms significativos (que llamaremos acarreo final), y que debera dar lugar a
un bit n+1 si no fuera porque el nmero de bits del resultado tambin debe estar limitado
a n, al igual que los operandos. Es decir, que las reglas para sumar son las siguientes:
1) sumar los dos operandos bit a bit de la manera habitual para obtener el resultado
de la suma expresado con n bits.
2) si hay acarreo final, el resultado real es de una magnitud tan grande que excede
la capacidad de representacin del cdigo, y el resultado obtenido es invlido.
De no producirse este acarreo, el resultado obtenido es correcto.
Veamos un par de ejemplos en los que las magnitudes se han representado con 8 bits:
a)

La ausencia de un acarreo final indica que el resultado es correcto.


b)

La presencia del acarreo final, simbolizado por la flecha saliente del bit ms
significativo, indica que el resultado es invlido.

Resta de magnitudes

La resta de las representaciones de dos magnitudes se realiza bit a bit de la


manera habitual, obtenindose el resultado correcto a menos que dicha operacin arroje
un resultado menor que cero, que no constituye ya una magnitud y que por lo tanto no
puede ser representado como tal. Cuando ello ocurre, se advierte fcilmente pues la

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

26

Arquitectura de Computadoras I UNPAZ


resta requiere que un prstamo ingrese en la resta de los bits ms significativos (que
llamaremos prstamo final). Es decir, que las reglas para restar son las siguientes:
1) restar los dos operandos bit a bit de la manera habitual para obtener el resultado
de la resta expresado con n bits.
2) Si hay un prstamo final el resultado obtenido es invlido, pues el resultado real
es un nmero negativo y no una magnitud. De no producirse este acarreo, el
resultado obtenido es correcto.
Veamos la aplicacin prctica de esta regla con un par de ejemplos con magnitudes
representadas con 8 bits:
a)

La ausencia de un prstamo final indica que el resultado es correcto.


b)

La presencia del prstamo final, simbolizado por la flecha entrante al bit ms


significativo, indica que el resultado es invalido.
La operacin de restar puede realizase de otra forma, utilizando el concepto de
complemento de una magnitud. Veamos primero este nuevo concepto, y luego
apliqumoslo a la realizacin de la resta por un procedimiento distinto al visto ms arriba.
Dada una magnitud representada con n bits, se denomina complemento a 1 de
dicha magnitud, a la magnitud que resulta de invertir en la primera todos los bits
(entendiendo por invertir a cambiar los ceros por unos y viceversa). Veamos los
siguientes ejemplos, correspondientes a casos en que se representan las magnitudes
con 8 bits:
a) el complemento a 1 de 10101101 es 01010010
b) el complemento a 1 de 00010110 es 11101001
Una forma alternativa de definir el complemento a 1 de una magnitud
representada con n bits es como la resta entre la mxima magnitud representable (2n1) y la magnitud a complementar. Este procedimiento da, por supuesto, el mismo
resultado que el mencionado ms arriba, como lo muestran los siguientes ejemplos, en
que se usan las mismas magnitudes a complementar que anteriormente.

Otra operacin de complemento que resulta de inters es la de complementacin


a 2. As, se define el complemento a 2 de una magnitud representada con n bits
como la resta entre la mxima magnitud representable incrementada en 1 (o sea 2 n) y
la magnitud a complementar. De acuerdo con esta definicin, para las mismas
magnitudes consideradas en el ejemplo visto en el caso del complemento a 1, el clculo
del complemento a 2 se realiza como sigue:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

27

Arquitectura de Computadoras I UNPAZ

Se notar que, de acuerdo a la definicin, el complemento a 2 de una magnitud


resulta igual a su complemento a 1 incrementado en 1, lo que representa una segunda
forma de hallar el complemento a 2. As, los circuitos electrnicos digitales, cuando
calculan el complemento a 2 de una magnitud, utilizan generalmente este procedimiento
por ser muy sencillo electrnicamente hallar el complemento a 1 por el mecanismo de
invertir todos los bits, y sumar luego 1 al resultado.
Por el contrario, de proceder manualmente, la regla ms simple para obtener el
complemento a 2 de una magnitud de n bits consiste en analizar sucesivamente los bits
de la magnitud a partir del bit menos significativo y entonces:

Para cada uno de los bits encontrados, hasta el primer 1 inclusive, conservar
para el complemento el mismo valor que tiene el bit en la magnitud dada.

Para todos los bits encontrados ms all del primer 1, colocarlos en el


complemento invertidos con relacin al valor que tienen en la magnitud dada.

Este procedimiento da, por supuesto, el mismo resultado que los mencionados ms
arriba, como el lector puede comprobar repitiendo los ejemplos dados anteriormente,
pero efectuando el complemento con el procedimiento recin descripto.
Con estos nuevos conceptos surge una nueva forma de restar consistente en sumar
al minuendo el complemento a 2 del sustraendo. Para justificar este procedimiento
consideremos que sean A y B dos magnitudes que deseamos restar, y veamos el
resultado que se obtiene cuando se suma el minuendo (A) el complemento a 2 del
sustraendo (2n-B):
A + (2n-B) = 2n + (A-B) = 2n - (B-A)
Se presentan ac dos casos:
a) si A B, el segundo miembro nos dice que el resultado ser mayor o igual que
2n. Pero el sumando 2n representa un acarreo final que, si lo descartamos, deja
como resultado correcto a la diferencia buscada A-B.
b) si A < B, el tercer miembro nos dice que el resultado ser menor que 2n, es decir,
no habr acarreo final. Pero el resultado obtenido (2n-(B-A)) no ser ya A-B, lo
que resulta previsible pues, por ser A<B, la resta entre ambos no es ya una
magnitud sino un nmero negativo.
Podemos entonces expresar la regla alternativa para restar magnitudes de n bits de la
siguiente forma:
1) sumar al minuendo el complemento a 2 del sustraendo, procediendo bit a bit de
la manera habitual para obtener el resultado de la resta expresado con n bits.
2) si no hay acarreo final, el resultado obtenido es invlido, pues el resultado real
es un nmero negativo y no una magnitud. Por el contrario, de producirse este
acarreo, el resultado obtenido es correcto.
Esta nueva regla es muy interesante para la implementacin de circuitos
electrnicos de clculo, que frecuentemente deben poder sumar y restar, y que por
utilizacin de esta regla pueden tener un circuito sumador utilizable para ambos fines,
en vez de tener que tener un sumador y un restador.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

28

Arquitectura de Computadoras I UNPAZ


Usemos esta nueva regla para efectuar las mismas operaciones de restar con
que ejemplificamos la regla anterior:

La presencia del acarreo final indica que el resultado es correcto. Compruebe el


lector que el resultado de la operacin y de la conclusin acerca de su validez coincide
con los alcanzados por el otro mtodo.

La ausencia de un acarreo final, indica que el resultado es invlido. Todo ello de


acuerdo con el resultado alcanzado por el otro mtodo.
Se notar que la presencia de un acarreo final, que en el caso de presentarse en
una suma de magnitudes es una indicacin de que el resultado es invlido, en el caso
de una resta efectuada como suma del minuendo ms el complemento a 2 del
sustraendo denota justamente la validez del resultado. En este caso, es la ausencia de
un acarreo final el indicador de que, de haberse procedido a restar de la forma
convencional, se habra producido un prstamo final por resultado invlido.
Teniendo en cuenta que el complemento a 2 de una magnitud es igual a su
complemento a 1 ms 1, se puede expresar otra regla alternativa para restar magnitudes
de n bits, de la siguiente forma:
1) sumar al minuendo el complemento a 1 del sustraendo, procediendo bit a bit de
la manera habitual y adicionando un 1 a esa suma, para obtener el resultado de
la resta expresado con n bits.
2) si no hay acarreo final, el resultado obtenido es invlido, pues el resultado real
es un nmero negativo y no una magnitud.
Volviendo a hacer el ejemplo a) anterior con esta regla, tendremos:

La ventaja de este mtodo es que es el ms fcil de implementar por medio de


circuitos electrnicos, porque el complemento a 1 es ms fcil de realizar que el
complemento a 2, y el tener que sumar un 1 no constituye dificultad cuando para restar
se est usando un circuito sumador.

1.4.2. Cdigos para nmeros binarios enteros


Existen varios cdigos de bloque que se utilizan para representar a los nmeros
enteros binarios. Ellos son los llamados:

Signo y magnitud
Complemento a 2
Complemento a 1
Binario desplazado

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

29

Arquitectura de Computadoras I UNPAZ


Todos ellos son cdigos bloque que utilizan n bits para representar a los enteros,
pero difieren en la metodologa que emplean en la codificacin, por lo que resultan con
diferentes ventajas y desventajas relativas.
Todos ellos, al utilizar n bits para la codificacin (y tener por lo tanto 2n
combinaciones disponibles para ser usadas como palabras del cdigo), y por tratar de
representar tanto a los nmeros negativos como a los positivos, y en forma equilibrada,
son capaces de codificar a los nmeros enteros ubicados en el rango comprendido entre
el -(2n-1-1) y el (2n-1-1). Es decir que son capaces de representar 2n-1 nmeros negativos,
otros tantos nmeros positivos, y el 0. El lector advertir que esto hace un total de 2 n-1
nmeros, cuando se tienen disponibles 2n combinaciones. Dos de los cdigos
mencionados (el Signo y magnitud y el Complemento a 1) desaprovechan esta
combinacin adicional empleando, debido a la lgica de construccin del cdigo, dos
combinaciones para representar el 0, dependiendo de si se lo considera como positivo
o negativo. Los otros dos cdigos (el Complemento a 2 y el Binario desplazado) no
tienen esa doble representacin para el 0, y la combinacin adicional la emplean para
codificar un nmero negativo adicional, el -2n-1.
Las caractersticas de cada uno de los mtodos mencionados se detallan a
continuacin, en el orden en que fueron citados.

1.4.2.1. Codificacin en Signo y magnitud


En esta forma de codificacin para representar a los enteros, se reserva el bit
ms significativo para representar el signo de dicho nmero, y los restantes n-1 bits para
representar a su magnitud. Habitualmente el signo positivo se representa con un 0 y el
negativo con un 1.
Dado que quedan solo n-1 bits para la magnitud, esta solo puede tomar valores
comprendidos 0 y 2n-1. Esto hace que esta forma de codificacin nicamente pueda
representar a los enteros comprendidos entre el -(2n-1-1) y el (2n-1-1), limitacin ya
mencionada en el apartado anterior. Por ejemplo, de tratarse de un cdigo de 4 bits,
solo puede representar a los enteros comprendidos entre el menos 7 y el ms 7. La
tabla de correspondencia de este cdigo es la que muestra el siguiente cuadro.

Se observar que el cero tiene una doble representacin, ya que se representa


como una magnitud nula pero que puede tener signo positivo o negativo.
Veamos, con algunos ejemplos, como sera el caso de un cdigo de mayor
nmero de bits. Por ejemplo, 8. Tendremos:
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

30

Arquitectura de Computadoras I UNPAZ


a) el nmero +101011 se representa como 00101011.
Esto es as porque la magnitud de dicho nmero, expresada en 7 bits, es
0101011 (ntese el agregado de un cero a la izquierda para completar los 7 bits), y debe
ser precedida por un 0 por tratarse de un nmero positivo.
b) el nmero -10110 se representa como 10010110.
Esto es as porque la magnitud de dicho nmero, expresada en 7 bits, es
0010110, y debe ser precedida por un 1 por tratarse de un nmero negativo.
c) los nmeros -10101101 y +101011011 no pueden ser representados porque su
magnitud no puede ser expresada con slo 7 bits.
d) la combinacin 01101100 representa al nmero +1101100.
Esto es as porque el 0 inicial denota que se trata de un nmero positivo, y los
restantes 7 bits constituyen su magnitud.
e) la combinacin 10110010 representa al nmero -110010.
Esto es as porque el 1 inicial denota que se trata de un nmero negativo, y los
restantes 7 bits constituyen su magnitud que, despojada de un cero no significativo que
tiene, es 110010.
La codificacin en Signo y magnitud guarda un paralelismo con la forma como
representamos en la vida diaria los nmeros, en que separamos su signo y su valor
absoluto.
Utilizando esta codificacin es fcil realizar circuitos de clculo electrnico que
efecten, por ejemplo, el producto o el cociente de dos nmeros, ya que esta operacin
se realiza corrientemente multiplicando o dividiendo las magnitudes y procesando los
signos por separado.
Por el contrario, resultan algo complejos los circuitos que efectan la suma y
resta de nmeros representados en este cdigo. Por ejemplo, la suma se ve dificultada
porque cuando se deben sumar dos nmeros de distinto signo, el proceso a efectuar
entre las magnitudes no es una suma sino una resta. Ms an, se debe restar la menor
de la mayor, lo que implica una comparacin previa que mentalmente se realiza por
simple inspeccin, pero que para los circuitos electrnicos implica una complejidad
adicional (an cuando no realizan en verdad la comparacin, sino que efectan la resta
entre ambas magnitudes y luego corrigen el resultado si advierten que la efectuaron a
la inversa).
De todos modos, el estudio de las reglas precisas para sumar, restar, multiplicar
y dividir nmeros representados en este cdigo, y el de los circuitos electrnicos que
implementan dichas reglas, excede el alcance de la presente publicacin.

4 2.2. Codificacin en Complemento a 2


En sta forma de codificacin para representar a los enteros, se siguen reglas
distintas para codificar a los positivos y los negativos, a saber:

los nmeros positivos se representan por su magnitud.

los nmeros negativos se representan por el complemento a 2 de su magnitud.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

31

Arquitectura de Computadoras I UNPAZ


En ambos casos, se utilizan para esta representacin los n bits disponibles que
tiene el cdigo, es decir, no se reserva bit alguno para la codificacin del signo. Sin
embargo, a pesar de no haber reservado un bit para este fin, luego veremos que el bit
ms significativo puede ser usado como indicador del signo del nmero.
Veamos con algunos ejemplos como se efecta la codificacin de la forma descrita.
Por ejemplo, si se tratase de un cdigo que emplea 4 bits, el binario ms tres (+11),
cuya magnitud expresada con 4 bits es 0011, se representa por esta combinacin de
ceros y unos. Por su parte, el menos dos (-10), cuya magnitud expresada con 4 bits es
0010, se expresa con el complemento a 2 de esa magnitud, o sea 1110. Veamos una
tabla de correspondencia donde se presentan todos los nmeros codificables.

La tabla se ha realizado de la misma forma como se procedi con el par de


ejemplos dados ms arriba. Se notar un hecho que hemos anticipado y que, aunque
no buscado, resulta ventajoso: todos los nmeros positivos tienen, en su representacin,
su bit ms significativo en 0; mientras tanto, todos los negativos tienen en esa posicin
un 1. De esta forma, aun cuando no hemos reservado ningn bit para la funcin de
signo, el bit ms significativo de la representacin sirve como indicador del mismo.
Se notar que el 0 tiene una nica representacin. Efectivamente, de
considerrselo positivo debe ser representado por su magnitud, es decir, con todos sus
bits en 0. Pero, de considerrselo negativo, debe ser representado por el complemento
a 2 de su magnitud. Sin embargo, de la aplicacin de la regla para complementar a 2
surge que el complemento tambin tiene todos los bits en 0.
Por lo tanto, la
representacin para el 0 es nica. Esto hace que est disponible una palabra para
representa al nmero negativo -2n-1.
Veamos, con algunos ejemplos, como sera el caso de un cdigo de mayor
nmeros de bits. Por ejemplo. 8. Tendremos:
a) el nmero +101011 se representa como 00101011.
Esto es as porque la magnitud de dicho nmero, expresada en 8 bits, es 00101011.
b) El nmero -10110 se representa como 11101010.
Esto es as porque la magnitud de dicho nmero, expresada en 8 bits es 00010110, y
debe ser complementada a 2 por tratarse de un nmero negativo.
c) los nmeros +10000000 y -10110110 no pueden ser representados por estar
fuera del rango de los nmeros representables: del -10000000 al +1111111.
d) la combinacin 01101100 representa al nmero +1101100.
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

32

Arquitectura de Computadoras I UNPAZ


Esto es as porque el 0 en el bit ms significativo denota que se trata de un nmero
positivo, y por lo tanto los 8 bits dados constituyen su magnitud.
e) la combinacin 11101100 representa al nmero -10100.
Esto es as porque el 1 en el bit ms significativo denota que se trata de un nmero
negativo, y por lo tanto los 8 bits dados constituyen el complemento a 2 de su magnitud.
Es decir que sta es, expresada en 8 bits, 00010100.
El cdigo Complemento a 2 tiene como principal ventaja el permitir sumar y restar
sus combinaciones de cdigo, y obtener el resultado en el mismo cdigo, utilizando las
mismas reglas operativas que rigen para la suma y resta de magnitudes binarias,
aunque difiere en el criterio a seguir para evaluar la correccin del resultado. Ya que
muchos circuitos de clculo deben ser capaces de sumar y restar indistintamente
magnitudes y enteros (por ejemplo, las unidades de clculo de los microprocesadores),
resulta muy ventajoso para ellos que un cdigo utilizado para representar a los enteros
binarios permita utilizar para sumar o restar las mismas reglas que se siguen para
efectuar esas operaciones con magnitudes, porque ello posibilita la utilizacin de un
mismo circuito para ambos fines.
Demostraremos la ventaja citada, analizando separadamente el caso de la suma
y de la resta.

Suma de enteros codificados en Complemento a 2


Las reglas para sumar binarios enteros representados en el cdigo
Complemento a 2 son las siguientes:
1) sumar los dos operandos bit a bit de la manera habitual para obtener el resultado
de la suma expresado con n bits (utilizando para ello el total de los bits, es decir,
incluyendo en la suma el bit ms significativo sin darle un tratamiento distinto
an cuando el mismo pueda ser considerado como un indicador de signo).
2) el resultado ser correcto a menos que se encuentre fuera del rango de los
nmeros que pueden ser representados por este cdigo con n bits. Esta
circunstancia se denomina desborde y se puede reconocer porque slo aparece
cuando se efecta la suma de dos operandos de igual signo y el resultado,
contrariamente a lo esperado, tiene el signo opuesto. Por el contrario, no tiene
importancia ninguna el acarreo final el que, de producirse, debe descartarse.
Se notar que la primera de las reglas, que da el procedimiento para hallar la
suma, es exactamente la misma regla que para sumar magnitudes.
Por el contrario, la segunda regla que contiene el criterio acerca de la validez del
resultado en vistas de la posibilidad de que el mismo no admita ser presentado en el
cdigo, es totalmente distinta del caso de una suma de magnitudes. En este ltimo caso
el criterio de invalidez lo daba la presencia del acarreo final, mientras que en el caso
que ahora analizamos el criterio de invalidez por desborde toma en cuenta a los signos
de los operandos y del resultado, sin importar para ello un eventual acarreo final que,
de ocurrir, se descarta.
Para demostrar la correccin de estas reglas, analizaremos la operacin suma
desglosndola en 3 posibilidades, y comprobando su validez en todas ellas:

suma de dos nmeros positivos.


suma de dos nmeros negativos.
suma de dos nmeros de distinto signo.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

33

Arquitectura de Computadoras I UNPAZ

Suma de dos nmeros positivos


Si los nmeros a ser sumados son dos nmeros positivos, cada uno de ellos
estar representado por su magnitud. Sean stas A y B; el resultado de la suma de
ambas ser A+B. Se abren aqu dos posibilidades:
1) Si A+B<2n-1, el resultado podr ser representado por el cdigo. El resultado
esperado es un nmero positivo que estar representado por su magnitud A+B.
Como el resultado obtenido (A+B) coincide con el esperado, es correcto.
2) Si A+B>2n'\ el resultado no podr ser representado por el cdigo y estaremos
en una situacin h desborde. Pero, en estas condiciones ocurre lo siguiente: el
hecho de que el resultado de la suma ^ mayor o igual que 2"'1 implica que su bit
ms significativo, de peso 2' \ debe estar en 1. Esto 10 aparecer como un nmero
negativo, contrariamente a lo esperado que era un resultado positivo. Por^ tanto,
la situacin de desborde cuando se suman dos nmeros positivos se reconoce
porque en es! condiciones el resultado tiene signo negativo. Se notar que esto
est en coincidencia con el criterio para reconocer el desborde que
anticipramos ms arriba.
Ejemplifiquemos lo dicho para el caso de un cdigo de 4 bits, para el que proponemos
dos sumas.

De acuerdo a la regla, la primer suma da resultado correcto porque la suma de


dos nmeros positivos dio positivo, y la segunda suma da desborde porque la suma de
dos positivos dio resultado negativo.
Si el lector desea corroborar las reglas, comprobar que el primer caso es la
suma de + tres y + dos que da correctamente + cinco, y que el segundo caso es la suma
de + tres y + seis que debera dar + nueve, pero que da un nmero negativo porque el
+ nueve no puede ser representado con 4 bits.

Suma de dos nmeros negativos


Si los nmeros a ser sumados son dos nmeros negativos, cada uno de ellos
estar representado por el complemento a 2 de su magnitud, y su bit ms significativo
estar en 1. Es decir que la suma de las representaciones dar un valor (llamando A y
B a sus respectivas magnitudes):
(2n-A) + (2n-B) = 2n + [2n - (A+B)]
Este resultado es mayor que 2n, lo que significa que habr siempre un acarreo
final. Esto es lgico ya que, al sumar dos nmeros negativos cuyo bit ms significativo
est en 1, se producir siempre un acarreo final. De acuerdo a la regla vista, este acarreo
final se descarta y, dado que su valor es de 2n, tras descartarlo el resultado de la
operacin queda 2n-(A+B). Se abren aqu dos posibilidades:
1) Si A+B 2n-1 el resultado es un nmero negativo que debe ser representado por
el complemento a 2 de su magnitud, es decir, por 2n-(A+B). Como el resultado
obtenido coincide con el esperado, resulta correcto.
2) Si A+B>2n-1, el resultado es un nmero negativo que no puede ser representado
con n bits, y la operacin desborda. Pero, en estas condiciones ocurre lo
siguiente: el hecho de que sea A+B>2n-1hace que el resultado 2n-(A+B) sea
menor que 2n-1 lo que implica que su bit ms significativo, de peso 2n-1, debe
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

34

Arquitectura de Computadoras I UNPAZ


estar en 0. Esto lo hace aparecer como un nmero positivo, contrariamente a lo
esperado que era un resultado negativo. Por lo tanto, la situacin de desborde
cuando se suman dos nmeros negativos se reconoce porque en esas
condiciones el resultado tiene signo positivo. Se notar que esto est en
coincidencia con el criterio para reconocer el desborde que anticipramos ms
arriba.
Ejemplifiquemos lo dicho nuevamente con dos sumas para el caso de un cdigo de 4
bits.

De acuerdo a la regla, el acarreo final que se produjo en ambas sumas debe ser
descartado, la primer suma da resultado correcto porque la suma de dos nmeros
negativos dio negativo, y la segunda suma da resultado invlido porque la suma de dos
negativos dio resultado positivo.
Si el lector desea corroborar las reglas comprobar que el primer caso es la suma
de - cuatro y - dos que da correctamente - seis, y que el segundo caso es la suma de cuatro y - seis que debera dar - diez, pero que da un nmero positivo porque el - diez
no puede ser representado con 4 bits.

Suma de dos nmeros de distinto signo


Si se trata de la suma de dos nmeros de distintos signo, el positivo estar
representado por su magnitud (sea sta A), y el negativo por el complemento a 2 de su
magnitud (2n-B). La suma de ambos, por consiga estar dada por:
A+ (2n-B) = 2n + (A-B) = 2n - (B-A)
Se abren aqu dos posibilidades:
1) si AB el resultado de la suma debe ser un nmero positivo o nulo, de magnitud
A-B, que se representar por su magnitud. Se apreciar del segundo miembro
de la ecuacin anterior que el resultado de la operacin es mayor que 2", es
decir, se producir un acarreo final. Descartando dicho acarreo de valor 2n, el
resultado de la operacin queda A-B, lo que coincide con lo esperado, Es, por
consiguiente, correcto.
2) si A<B el resultado de la suma debe ser un nmero negativo de magnitud B-A
que, lgicamente, deber ser representado por el complemento a 2 de su
magnitud, es decir, por 2n-(B-A). Siendo esto el resultado obtenido segn se
aprecia en el tercer miembro de la ecuacin anterior, se comprueba que el
resultado logrado coincide con el esperado y es, por consiguiente, correcto.
Se apreciar que en ninguna de estas dos posibilidades ha resultado un
desborde, lo cual es lgico pues al sumar dos nmeros de distinto signo se produce una
cancelacin parcial entre ellos que asegura que el resultado siempre est dentro del
rango de representacin del cdigo. Esto coincide con el criterio de desborde que se
estableciera ms arriba, el que prev la posibilidad de desborde slo al sumar nmeros
de igual signo.
Ejemplifiquemos lo dicho nuevamente para el caso de un cdigo de 4 bits.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

35

Arquitectura de Computadoras I UNPAZ

De acuerdo a la regla, el acarreo final que se produjo en la segunda suma debe


ser descartado, y ambos resultados son correctos porque siempre da correcta la suma
de dos nmeros de distinto signo.
Si el lector desea corroborar las reglas comprobar que el primer caso es la suma
de - cuatro y + dos que da correctamente - dos, y que el segundo caso es la suma de cuatro y + siete que da correctamente + tres.

Comentarios finales sobre la suma - regla alternativa para el desborde.


Hemos comprobado que en todos los casos valen las reglas apuntadas que
permiten sumar los nmeros representados segn este cdigo utilizando el mismo
mecanismo que para sumar magnitudes, aunque difiriendo en el criterio de validez del
resultado. Mientras era la presencia del acarreo final lo que en el caso de suma de
magnitudes indicaba un resultado obtenido invlido, por la imposibilidad del resultado
verdadero de ser representado en el cdigo, en el caso de la suma de enteros el acarreo
final que pudiera producirse debe ser descartado, y es la obtencin de un bit de signo
inesperado el indicador de desborde a utilizar en estos casos. Ilustremos lo dicho con el
siguiente ejemplo;

Ejemplo1-1
Sea una unidad sumadora que opera con 8 bits. Se pide:
a) efectuar las 6 sumas indicadas. Se sealar la eventual aparicin de un acarreo
final pero el resultado se dar siempre en 8 bits.
b) discutir la validez del resultado suponiendo que los operandos eran magnitudes.
c) discutir la validez del resultado suponiendo que los operandos eran nmeros
enteros representados en cdigo Complemento a 2.
i)

00110101+01000111

ii)

00110101+01101100

iii)

00110101+ 11010011

iv)

00110101+ 10001001

v)

11010011+ 10111000

vi)

11010011+ 10001001

Solucin
Procediendo caso por caso, se tiene:
I)

b) No ha habido acarreo final, por lo que el resultado es correcto.


c) Se han sumado dos nmeros positivos y el resultado es positivo. Por lo tanto, no
hay desborde y el resultado es correcto.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

36

Arquitectura de Computadoras I UNPAZ


II)

b) No ha habido acarreo final, por lo que el resultado es correcto.


c) Se han sumado dos nmeros positivos y el resultado es negativo. Por lo tanto
hay desborde y resultado es incorrecto.
III)

b) Ha habido acarreo final, por lo que el resultado es incorrecto.


c) Se han sumado dos nmeros de distinto signo. Por lo tanto no hay desborde y
el resultado es correcto.
IV)

b)

No ha habido acarreo final, por lo que los que el

resultado es correcto.
c) Se han sumado dos nmeros de distinto signo. Por lo tanto no hay desborde y
el resultado es correcto.
V)

b) Ha habido acarreo final, por lo que el resultado es incorrecto.


c) Se han sumado dos nmeros negativos y el resultado es negativo. Por lo tanto
no hay desborde y el resultado es correcto.
VI)

b) Ha habido acarreo final, por lo que el resultado es incorrecto.


c) Se han sumado dos nmeros negativos y el resultado es positivo. Por lo tanto
hay desborde resultado es incorrecto.
Una regla alternativa para determinar el desborde puede deducirse a partir de las
siguientes observaciones:
a) si se suman dos nmeros positivos, nunca habr un acarreo final, pero si hay un
acarreo de la penltima etapa, eso hace que el signo del resultado quede
negativo, y produzca desborde.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

37

Arquitectura de Computadoras I UNPAZ


b) si se suman dos nmeros negativos, siempre habr un acarreo final, pero si no
hay un acarreo de la penltima etapa, eso hace que el signo del resultado quede
positivo, y produzca desborde.
c) Si se suman dos nmeros de distinto signo, ocasin en la que nunca hay
desborde, si hay un acarreo de la penltima etapa, eso produce un acarreo final.
Y ahora deducimos que hay desborde cuando el acarreo de la penltima etapa
es distinto del acarre final. Esta regla es, entonces, equivalente a la basada en los signos
de los operandos y el resultado, tambin y simple de aplicar. Rehaga el lector el punto
c) del ejemplo anterior, pero ahora aplicando esta regla alternativa, y compruebe que se
alcanzan las mismas conclusiones respecto del desborde.

Resta de enteros codificados en Complemento a 2


La resta de dos nmeros enteros (independientemente de su signo) es
conveniente encararla a partir de una suma. As, puede efectuarse la resta sumando al
minuendo el sustraendo cambiado de signo. Pero en el cdigo del Complemento a 2 la
forma de cambiar el signo a una combinacin del cdigo es complementarla a 2.
Efectivamente, dado que los nmeros positivos se representan por su magnitud, y los
negativos por el complemento a 2 de ella, se concluye que dos nmeros de igual
magnitud pero de distinto signo deben estar representados por combinaciones que son
una el complemento a 2 de la otra. Esto puede tambin verificarse observando la tabla
de correspondencia.
Por lo tanto puede efectuarse una resta sumando al minuendo el complemento
a 2 del sustraendo, regia que es la misma que se sigue para magnitudes, lo que implica
que, al igual que lo que ocurre con la suma, un circuito capaz de restar magnitudes
tambin puede restar nmeros enteros representados en el cdigo Complemento a 2,
aunque difieren las reglas para determinar la validez del resultado.
Falta, efectivamente, definir el criterio de desborde. As, el criterio de desborde
en la suma que deca que deba descartarse el acarreo final y que haba desborde slo
en el caso de que ambos operandos eran de igual signo y, contrariamente a lo
esperable, el resultado tena signo contrario, tiene su correlato en la resta en la que vale
la siguiente regla:
Existe desborde en una resta slo en el caso de que el minuendo y el sustraendo
sean de signo contrario y, contrariamente a lo esperable, el resultado no tenga el signo
del minuendo (esto es as porque (+)-(-) debera dar (+) y (-)-(+) debera dar (-)). El
posible acarreo final debe ser descartado.
Se observa que tanto en el caso de la suma como en el de la resta el desborde
slo se produce cuando la operacin debera dar lugar a un resultado de signo
inequvoco y, por el contrario, da un signo contrario al esperado.
Veamos algunos ejemplos aclaratorios.

La presencia del acarreo final es descartada. Hay desborde pues se han restado
dos nmeros de distinto signo, y el signo del resultado (positivo) no coincide con el del
minuendo (negativo)

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

38

Arquitectura de Computadoras I UNPAZ

No hay desborde pues la resta de dos nmeros de igual signo jams desborda

La presencia del acarreo final es descartada. No hay desborde pues se han


restado dos nmeros de distinto signo, y el signo del resultado (negativo) coincide con
el del minuendo (negativo)

Caso particular y mtodo alternativo


La justificacin que hemos hecho del procedimiento para restar enteros
representados en este cdigo tiene como punto dbil, el que hemos considerado que
para cambiar el signo a un cierto entero dado por la combinacin de bits que lo
representa en este cdigo, se debe complementar a 2 dicha combinacin. Y esto no es
totalmente cierto por existir una excepcin: el nmero -2n-1 no puede ser transformado
en el +2n-1 por este procedimiento, porque dicho nmero positivo no puede ser
representado con n bits. Siendo que el -2n-1 se representa con un 1 seguido de n-1 ceros,
al hallar su complemento a 2 no se lo cambia de signo sino que no se lo afecta en
absoluto. Por fortuna, puede demostrarse (no lo haremos aqu) que el mtodo explicado
es totalmente vlido tambin para este caso particular, por lo que, desde el punto de
vista prctico, no existe problema alguno asociado con esta cuestin.
Pero, si bien el cambio de signo de este caso particular no puede realizarse
sencillamente encontrando el complemento a 2 de la combinacin de bits, es vlido con
ese propsito hallar el complemento a 1 y sumarle 1. La resta se hara entonces
sumando al minuendo el complemento a 1 del sustraendo ms 1, un procedimiento que
tiene sus ventajas, a saber:
1) no presenta problemas formales asociados a ningn caso particular.
2) sigue siendo comible con e, mtodo de testar magnitudes, uno de los cuales
consista en sumar el minuendo el complemento a 1 del sustraendo, mas 1.
3) Es un mtodo fcil de realizar con circuitos electrnicos, por la sencillez para
calcular el complemento a 1 y para sumar 1, teniendo a disposicin un sumador.
4) Permite que la regla para determinar si hubo desborde se base en el eventual
desborde de la propia suma, regla no aplicable cuando se usa el complemento
a 2 en vez del complemento a 1, porque falla en el caso particular que justificara
este apartado.
Con esto en consideracin, las reglas para restar quedan de la siguiente manera:
1) sumar al minuendo el complemento a 1 del sustraendo, mas 1.
2) la resta desborda cuando lo hace la suma del punto anterior.
Veamos, como ejemplo, la siguiente resta:

y las formas de realizarla, empleando en a) el complemento a 2 y en b) el complemento


a 1, ms 1:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

39

Arquitectura de Computadoras I UNPAZ

No hay desborde, porque nunca lo hay cuando se restan dos nmeros de igual
signo. Pero de la operacin b) puede concluirse lo mismo observando que es la suma
de dos nmeros de distinto signo.

1.4.2.3. Codificacin en Complemento a 1


En esta forma de codificacin para representar a los enteros se siguen reglas
parecidas, para codificar a los positivos y a los negativos, a las seguidas en el cdigo
Complemento a 2, a saber:

los nmeros positivos se representan por su magnitud.

los nmeros negativos se representan por el complemento a 1 de su magnitud.

En ambos casos, se utilizan para esta representacin los n bits disponibles que
tiene el cdigo, es decir, no se reserva bit alguno para la codificacin del signo. Sin
embargo, a pesar de no haber reservado un bit para este fin tambin en este cdigo, al
igual que en el caso del cdigo Complemento a 2, el bit ms significativo puede ser
usado como indicador del signo del nmero, ya que resulta ser 0 para los nmeros
positivos y 1 paro los negativos, como en seguida veremos.
Veamos con algunos ejemplos como se efecta la codificacin de la forma
descripta. Por ejemplo, si se tratase de un cdigo que emplea bits, el binario ms tres
(+11), cuya magnitud expresada con 4 bits es 0011, se representa por esa magnitud, es
decir, 0011. Por su parte, el menos dos (-10) cuya magnitud expresada con 4 bits es
0010, se representa por el complemento a 1 de esa magnitud, o sea 1101. La tabla de
correspondencia siguiente presenta todos los nmeros codificables.

Se observar la doble representacin del 0, debida a que por ser ste de


magnitud nula, si se lo considera positivo se debe representar por su magnitud (es decir,
todos los bits en 0), mientras que si se lo considera negativo se debe representar por el
complemento a 1 de su magnitud (es decir, todos los bits en 1).
El cdigo Complemento a 1 no tiene alguna caracterstica que lo destaque como
preferible para alguna aplicacin, por lo que es un cdigo raramente empleado.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

40

Arquitectura de Computadoras I UNPAZ

1.4.2.4. Codificacin en Binario desplazado


Este cdigo parte de la siguiente idea: si utilizando n bits, y evitando la doble
representacin del 0, se pueden representar los nmeros enteros a partir del -2n-1, se
puede sumar a cada nmero a ser representado el valor 2n-1; el resultado de dicha suma
no ser negativo en ningn caso y ser siempre una magnitud, la que podr ser
representada como tal. Este desplazamiento de los nmeros en el valor 2n-1 es lo que
da origen a la denominacin de este cdigo.
Veamos con algunos ejemplos cmo se efecta la codificacin de la forma
descrita. Por ejemplo, si se tratase de un cdigo que emplea 4 bits, el desplazamiento
a realizar es de un valor 2n-1=8. En esas condiciones, el binario ms tres (+11) se
representa por la magnitud once (1011); y el menos dos (-10) se representa por la
magnitud seis (0110).
Consideremos la siguiente tabla de correspondencia donde se presentan todos
los nmeros codificables.

Veamos, con algunos ejemplos como sera el caso para un nmero mayor de
bits, por ejemplo 8. En este caso el desplazamiento es 27=128, es decir 10000000 en
binario.
a) Al nmero +10101, para representarlo, se le suma 10000000, lo que
da10010101.
b) Al nmero -110010, para representarlo, se le suma 10000000, lo que da
01001110, de acuerdo con la siguiente operacin:

c) a la combinacin 10101101, para averiguar a qu nmero representa, se le debe


restar 10000000, lo que da +101101
d) a la combinacin 00110110, para averiguar a qu nmero representa, se le debe
restar 10000000, lo que da -01001010 de acuerdo a la siguiente resta (efectuada
a la inversa):

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

41

Arquitectura de Computadoras I UNPAZ


Una caracterstica ventajosa del cdigo Binario desplazado es que permite
efectuar comparaciones de nmeros enteros utilizando los mismos procedimientos que
se utilizan cuando se comparan magnitudes. Asi, si un nmero entero est representado
por una magnitud mayor que otro, puede afirmarse que es efectivamente mayor. Por el
contrario, en los otros cdigos que hemos visto no puede utilizarse esta regla que, por
ejemplo, en todos ellos los nmeros negativos tienen el bit ms significativo en 1 y de
utilizar las reglas habituales de la comparacin entre magnitudes, los negativos
aparentaran ser mayores que positivos, cuyo bit ms significativo est en 0. Esta
caracterstica del cdigo Binario desplazado lo vuelve interesante para aplicaciones
tales como conversin analgica a digital, y viceversa.
Otra ventaja digna de mencin es que la representacin de un nmero hecha en
este cdigo es fcilmente convertible a su representacin en el cdigo Complemento a
2, para lo que slo basta invertir estos cdigos para el caso de utilizar 4 bits. Sin
embargo, puede demostrarse que esta propiedad es vlida cualquiera sea el nmero de
bits. Quiere el lector efectuar esta demostracin?

1.4.4. Cdigos binarios para nmeros decimales


Como ya se dijera, los cdigos para nmeros decimales codificados en binario
(cdigos BCD o Binary Coded Decimal) se basan en representar por separado, en un
cierto cdigo binario, a los diferentes dgitos que componen un nmero decimal. As, el
nmero decimal 37 se representa como decimal por dos combinaciones de dgitos
binarios: la que represente al 3 y la que represente al 7.
Existen varias formas de representar a los dgitos decimales mediante un cdigo
de alfabeto binario. Todas ellas requieren un mnimo de 4 bits para ello, ya que 3 bits
resultan insuficientes pues slo pueden codificar a 8 elementos. Los cdigos BCD ms
usuales son los siguientes:

Natural
Aiken
Exceso 3
2 de 5
7 segmentos

A continuacin, veremos con cierto detalle las caractersticas y aplicaciones de cada


uno de ellos,

1.4.4.1. BCD Natural


En este cdigo, cada uno de los diez dgitos decimales se representa directa y
naturalmente por su nmero binario correspondiente expresado con 4 bits, segn la
tabla de correspondencia que se da ms adelante.
Una caracterstica deseable de un cdigo BCD es que sea pesado, porque ello
facilita la realizacin de operaciones aritmticas. Por cdigo BCD pesado se entiende
un cdigo en el que a las diferentes posiciones de los bits se Je puede asignar un peso,
y el dgito decimal a que corresponde cada combinacin de bits se puede obtener
sumando los pesos de las posiciones en que la combinacin presenta un 1. Dado que
en el cdigo BCD Natural los dgitos se representan por su binario, las distintas
posiciones tienen un peso que es una potencia de 2. Los respectivos pesos,
comenzando por l bit ms significativo, son 8, 4, 2 y 1, por lo que este cdigo tambin

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

42

Arquitectura de Computadoras I UNPAZ


suele llamarse cdigo 8421 (lase ocho cuatro dos uno). En la tabla mencionada se ha
colocado el peso que corresponde a cada posicin.
El cdigo BCD Natural es el cdigo BCD de uso ms difundido en aplicaciones
generales.

Tabla comparativa entre BCD Natural y BCH


Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Binario
0
1
1
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
1 0000
1 0001
1 0010

BCD
Hexadecimal
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
0001 0000
A
0001 0001
B
0001 0010
C
0001 0011
D
0001 0100
E
0001 0101
F
0001 0110
10
0001 0111
11
0001 1000
12

BCH
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0001 0000
0001 0001
0001 0010

1.4.4.2. BCD Aiken


De acuerdo ato visto ms arriba si se escriben los primeros 16 nmeros binarios
(incluyendo el 0), el cdigo BCD Natural le asigna a cada uno de los 10 primeros de
estos nmeros binarios, en forma ordenada, los dgitos decimales del 0 al 9.
Howard H. Aiken, el inventor del cdigo que veremos ahora, en contraste, y
buscando una simetra cuya ventaja se apreciara ms adelante, concibi un cdigo en
el que a los primeros 5 nmeros binarios de la lista de 16 les hizo corresponder los
dgitos 0 a 4 en forma ordenada, mientras que a los dgitos 5 al 9 se le asignaron los
ltimos 5 nmeros de la lista. La tabla de correspondencia siguiente muestra el cdigo
resultante, el que resulta tambin un cdigo pesado, aunque de pesos 2421, como el
lector podr confirmar fcilmente verificando su validez para todos los dgitos.
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

43

Arquitectura de Computadoras I UNPAZ

La caracterstica ms ventajosa del cdigo BCD Aiken con relacin al BCD


Natural es que, por la forma simtrica en que se tomaron los nmeros binarios para
asignarlos a los diferentes dgitos decimales, resulta ser un cdigo autocomplementario.
Se define como cdigo autocomplementario a un cdigo BCD en el que la
representacin del complemento a 9 de un dgito se hace fcilmente cambiando, en la
combinacin de bits de ese dgito, todos los unos por ceros y viceversa.
Complementar a 9 un cierto dgito es una operacin que consiste en encontrar
el dgito que resulta de restar de 9 el dgito dado. As, por ejemplo, el complemento a 9
de 3 es 6, siendo tambin cierta la recproca. Ntese que las representaciones del 3 y
del 6 en este cdigo se caracterizan por el hecho de que una tiene ceros donde la otra
tiene unos, y viceversa. Esta caracterstica no la tiene el BCD Natural, y es ventajosa
para realizar ciertas operaciones como conteo regresivo o resta de nmeros decimales.
Pese a la ventaja de ser autocomplementario, el cdigo Aiken es mucho menos
usado que el BCD Natural.

1.4.4.3. BCD Exceso 3 o XS3


De acuerdo a lo visto ms arriba, si se escriben los primeros 16 nmeros binarios
(incluyendo el 0), el cdigo BCD Natural le asigna a cada uno de los 10 primeros de
estos nmeros binarios, en forma ordenada, los dgitos decimales del 0 al 9, mientras
que el Aiken utiliza, en bsqueda de una simetra con la que logra la deseable
caracterstica de ser autocomplementario, los primeros 5 y los ltimos 5 nmeros
binarios de la lista de 16.
Pero existe otra forma de lograr la simetra, y es tomar los 10 nmeros centrales
de la lista, descartando los primeros 3 y los ltimos 3, y asignarlos ordenadamente a los
diez dgitos decimales. Como de esta manera se utilizan los binarios a partir del 3, este
cdigo es conocido como BCD Exceso 3 o XS3. La justificacin de esta ltima
denominacin es porque XS se deletrea, en ingls, igual que como se pronuncia la
palabra excess. La tabla de correspondencia que lo define es la de la siguiente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

44

Arquitectura de Computadoras I UNPAZ

En dicha tabla el lector podr verificar que se trata tambin de un cdigo


autocomplementario.
El cdigo Exceso 3 no es un cdigo pesado, pero pertenece a la categora de los
cdigos analticos (de la que los cdigos pesados son un caso particular) en los que las
diferentes posiciones de los bits se les puede asignar un peso, y el digito decimal a que
corresponde cada combinacin de bits se puede obtener sumando los pesos de las
posiciones en que la combinacin presenta un 1, y restando una cantidad denominada
exceso o desplazamiento. Con esta definicin, es evidente que el cdigo Exceso 3 es
analtico, con pesos 8, 4, 2, y 1, y con exceso 3.
Al igual que el cdigo Aiken, el cdigo BCD Exceso 3 es mucho menos usado
que el BCD Natural a pesar de la ventaja de ser autocomplementario.

1.4.4.4. Cdigo 2 de 5
El cdigo 2 de 5 utiliza 5 bits para representar a los dgitos decimales, es decir,
un bit ms que los cdigos vistos hasta ahora. Este bit adicional trae aparejada una
ventaja muy apreciada en ciertas aplicaciones, que en seguida veremos. Por lo pronto,
el cdigo se caracteriza porque sus 10 palabras tienen todas exactamente 2 de sus 5
bits en 1, de acuerdo a la tabla de correspondencia siguiente.

Este cdigo no es pesado, ni analtico, ni continuo, residiendo su ventaja en otro


aspecto. Para entenderla debemos hacer previamente una digresin para analizar los
errores.
En el manejo por parte de los circuitos digitales de una palabra de un cdigo,
puede aparecer un error, es decir, una mala interpretacin de un smbolo. Esto, en un
cdigo binario, equivale a interpretar falsamente un 0 como un 1, o viceversa. Las
posibles razones para un error como el mencionado pueden ser interferencias
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

45

Arquitectura de Computadoras I UNPAZ


electromagnticas o electrostticas, falla fsica de algn componente, etc. En particular,
los manejos electrnicos de una palabra de cdigo que son ms susceptibles de
introducir errores son su transmisin (es decir, su traspaso de una unidad a otra
relativamente alejada) y su almacenamiento (es decir su retencin en algn dispositivo
de memoria).
La probabilidad de que se introduzca un error es normalmente tan baja que, si
suponemos que los posibles errores son sucesos independientes, la probabilidad de
que en una palabra se produzcan 2 o ms errores es prcticamente despreciable. Hay
casos en que la suposicin de independencia de los errores no es valida, pues los
errores pueden presentarse tambin como una rfaga de errores afectando a varios bits,
pero no consideraremos esta posibilidad por el momento.
Ahora bien, en el cdigo 2 de 5, al tener todas las palabras exactamente 2 unos,
de introducirse un error el nmero de bits en uno pasara a ser 1 3, segn que el error
hubiese consistido un interpretar un 1 como un 0, o al revs. Pero esta circunstancia es
fcilmente detectable pues las combinaciones resultantes del error no son palabras
validas de cdigo y puede agregarse un circuito que reconozca esta situacin y marque
la presencia del error que invalida la palabra de cdigo. Es decir que este cdigo detector
de errores. En particular, es capaz de detectar errores de un bit en una palabra de
cdigo. Justamente este efecto se ha logrado gracias a que, al tener este cdigo 5 bits
existen muchas combinaciones de 5 bits que no son palabras del cdigo, y el cdigo se
ha diseado para que todo error de un bit en una palabra haga que dicho palabra se
transforme en una combinacin no valida del cdigo, y por lo tanto reconocible como un
error.
Este cdigo ha sido utilizado por sistemas nacionales de correo para codificar en
los sobres de las cartas el cdigo postal del destinatario, utilizando para ello marcas con
tinta especial (visibles a simple vista, aunque con cierta dificultad) que un lector
automtico lee para determinar la sucursal del correo a que debe dirigirse esa carta,
cerciorndose de que no haya un error en el cdigo motivado, por ejemplo, en una
suciedad del sobre o algn maltrato al mismo.

1.4.4.5. Cdigo 7 segmentos


Este cdigo tiene una aplicacin muy especfica y es la vinculada a los
exhibidores de 7 segmentos con que habitualmente se exhiben los dgitos decimales en
relojes digitales, calculadoras, etc. Estos exhibidores tienen 7 segmentos que pueden
volverse luminosos (u opacos) por comando de una seal elctrica, y que tienen una
disposicin tal que, segn sean los segmentos que estn encendidos o apagados (u
opacos o transparentes), se muestra un dgito decimal. La tabla de correspondencia de
este cdigo, y el esquema del exhibidor, son los siguientes:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

46

Arquitectura de Computadoras I UNPAZ


En la tabla se observa, en los renglones correspondientes a los dgitos 6, 7 y 9,
sendos casilleros que contienen una X en vez de un 0 o un 1. Esta X significa "0 1
indistintamente", ya que hay dos formas posibles de representar a los nmeros
mencionados. A saber:

1.4.4.6. Representacin en coma flotante (norma Nmero 754 del IEEE)1


En los sistemas de coma fija se representa exclusivamente a nmeros enteros.
Para representar a los nmeros reales tenemos la posibilidad de utilizar el sistema
BCD, pero no es frecuente por la lentitud en las operaciones aritmticas, y el sistema de
coma flotante. Adems, es comn tener que representar nmeros muy pequeos o muy
grandes, lo que implica recurrir a un factor de escala (un escalando) para no tener que
representar ceros.
Ejemplo
0,0000000125=125*10-10 =0,125*10-7
23450000000=2345*107=0,2345*1011
Hasta 1980, cada fabricante de computadoras tena su propio formato de coma
flotante. Sobra decir que todos eran diferentes. Peor an, algunos de ellos de hecho
efectuaban operaciones aritmticas incorrectas debido a que la aritmtica de coma
flotante tiene algunas peculiaridades que no resultan obvias para el diseador promedio
de hardware.
Para rectificar esta situacin, a finales de los aos 70 IEEE instituy un comit
para estandarizar la aritmtica de coma flotante, no slo para permitir el intercambio de
datos de coma flotante entre las diferentes computadoras, sino tambin para
proporcionar a los diseadores de hardware de un modelo que supieran que era
correcto. El trabajo resultante condujo a la norma Nmero 754 del IEEE (IEEE, 1985).
Hoy en da, la mayora de las CPU tienen un coprocesador de coma flotante y todas
ellas se ajustan a la norma de coma flotante del IEEE.
V(X) = M*2E
Donde M es mantisa y E exponente de base 2.

Una mantisa (tambin llamada coeficiente o significando) que contiene los


dgitos del nmero. Mantisas negativas representan nmeros negativos.

Un exponente que indica dnde se coloca el punto decimal (o binario) en


relacin al inicio de la mantisa. Exponentes negativos representan nmeros
menores que uno.

Este formato cumple todos los requisitos:

Puede representar nmeros de rdenes de magnitud enormemente dispares


(limitado por la longitud del exponente).

Proporciona la misma precisin relativa para todos los rdenes (limitado por la
longitud de la mantisa).

http://www.unsj-cuim.edu.ar/portalzonda/COMPUTACION/Menu/modulo%203/paginas/U3-A-SLFComaFlotante.htm
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

47

Arquitectura de Computadoras I UNPAZ

Permite clculos entre magnitudes: multiplicar un nmero muy grande y uno muy
pequeo conserva la precisin de ambos en el resultado.

En la representacin en coma flotante se dividen los n bits, disponibles para


representar un dato, en dos partes, una para la mantisa M (o fraccin) y otra para el
exponente E. Considerando que la mantisa tiene una longitud de p bits y que el
exponente la tiene de q bits, se cumple que n = p + q.
La mantisa contiene los dgitos significativos del dato, mientras que el exponente
indica el factor de escala, en forma de una potencia de base 2.

Considera dos formatos bsicos, el de simple y el de doble precisin, que se


representan seguidamente.

El exponente se representa en exceso a 127 para precisin simple y a 1023 en


precisin doble.
Procedimiento para representar un nmero en formato punto flotante precisin
simple de 32 Bits.
1. Calcular el Bit de Signo: Si el nmero es positivo el bit es 0. Si el nmero es
negativo el bit ser 1.
2. Convertir el nmero decimal a Binario Punto fijo.
3. Calcular la Mantisa, Normalizando el binario obtenido en el paso anterior.
Normalizar significa en este caso que el nmero binario, deber siempre tener
como bit ms significativo (MSB) el nmero 1: esto da como ventaja de que no
es necesario su almacenamiento, ganando con ello la representacin de un bit
ms. es decir la mantisa realmente tiene 24 bits logrando mayor precisin. A este
bit se le conoce como "Bit fantasma o "Bit implcito. Si el MSB es diferente de
cero entonces la mantisa est normalizada.
Normalizar no es ms que escribir el nmero dado en notacin cientfica,
debiendo dejar nicamente un entero.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

48

Arquitectura de Computadoras I UNPAZ


La parte entera de la mantisa no se almacena, tan solo se almacena la parte
fraccionaria.
4. Calcular el exponente decimal que puede ser positivo o negativo, con exceso
127. Por favor tenga mucho cuidado con el signo del exponente.
Exponente = [(Bits del exponente) + (2n-1 -1)]
5. Pasar a binario el valor absoluto del exponente obtenido en el paso anterior
6. Asigne la mantisa descartando el MSB que es un 1
7. Complete la mantisa para que la totalidad de bits sea igual a 23.
Ejemplo Represente el binario formateado en 23 bits en sistema hexadecimal.
Represente en punto flotante precisin simple (32 Bits) el nmero decimal
115,25.
Procedimiento:
1. Bit de signo: es positivo (+) por tanto asignamos 0
2. Conversin a Binario punto fijo (115,25)10 = (1110011,01)2
3. Normalizar (1110011,01)2. de tal manera que el MSB sea un 1, as:
1,11001101x26 (para que el MSB fuera 1, hubo necesidad de desplazar la coma
6 posiciones desde su posicin original hasta el punto donde usted la observa,
a la derecha del MSB. Esas posiciones que se desplaz la coma o punto decimal
son las que constituirn luego el exponente.
Tome nota que se reescribi el binario puro en notacin cientfica, garantizando
la presencia de un nico numero entero.
4. Exponente: es positivo y con base al paso anterior corresponde a 6 bits, dado
que la coma se desplaz 6 posiciones para la normalizacin del nmero.
Exponente = [(Bits del exponente) + (2n-1 -1)]
Exponente = [(6) + (28-1 -1)] = [(6 + (27-1)] = (6+127)
Exponente = 133
5. Procedemos ahora a convertir el valor absoluto del exponente decimal a
binario, as:
|133|10 = (10000101)2
6. Del nmero normalizado obtenido en el paso 3: descartando la parte entera,
tomamos la parte decimal 1,11001101 como mantisa:
Mantisas = 11001101
7. Se completa la mantisa al nmero de bits que la norma establece. Agregamos
en este caso 15 ceros:
11001101000000000000000

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

49

Arquitectura de Computadoras I UNPAZ


Finalmente, la representacin de (115,25)10 en punto flotante, precisin simple
de 32 bits, formato binario queda de la siguiente manera.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

50

Arquitectura de Computadoras I UNPAZ

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

51

Arquitectura de Computadoras I UNPAZ

CAPTULO 2 LGEBRA DE CONMUTACIN


2.1. Introduccin
En las primeras dcadas del siglo XX, los que hoy en da llamarnos circuitos
digitales o circuitos lgicos tenan una mayoritaria aplicacin en centrales telefnicas,
donde se realizaban en base a llaves elctricas que conmutaban conexiones, por lo que
se los llam en ese entonces circuitos de conmutacin.
Las llaves elctricas a que nos hemos referido en el prrafo anterior podan ser
comandadas en forma manual, pero en los circuitos telefnicos de conmutacin, lo ms
comn era que esas llaves fueran contactos de rels comandados
electromagnticamente.
Los rels son unos dispositivos electromagnticos compuestos bsicamente de
3 componentes:
1) Una bobina que acta como electroimn cuando est energizada, es decir,
cuando se hace circular corriente por ella.
2) Una armadura de material magntico que sufre un desplazamiento mecnico
cuando es atrada por el campo magntico de la bobina cuando sta est
energizada, pero que est provista de un resorte que la hace volver a su estado
de reposo cuando se desenergiza la bobina (situacin de reposo que, en lo que
sigue, denominaremos normal, aunque tambin suele denominarse libre o no
operada).
3) Una serie de contactos mviles, asociado cada uno de ellos a otro contacto, pero
fijo. Los contactos mviles son as llamados porque se desplazan cuando lo hace
la armadura, mientras que los fijos no lo hacen. En condiciones normales (bobina
no energizada) los contactos mvil y fijos pueden estar haciendo contacto entre
s (lo que se denomina contacto normalmente cerrado, generalmente
simbolizado NC por la denominacin inglesa Normally Closcd) o pueden no estar
hacindolo (contacto normalmente abierto o NO, por Normally Opcn). La
energizacin de la bobina, con el consiguiente movimiento de la armadura y de
los contactos mviles, hace que los contactos normalmente abiertos se cierren,
y los normalmente cerrados se abran.
A partir de los contactos individuales de los rels, las redes de contactos que se
establecan en la aplicacin telefnica ya mencionada eran complejas, dando la figura
2-1 una idea de cmo era su estructura, aunque no su complejidad, ya que el circuito
all exhibido es particularmente simple.

Dicha figura muestra un circuito compuesto por los contactos de 3 rels, que se
han denominado A, B y C, en su estado normal, es decir, en el que se encuentran
cuando sus respectivas bobinas estn desenergizadas. (Dicho sea de paso, la figura
anterior omite dibujar las bobinas porque estamos ms interesados en estudiar la
conmutacin de los contactos). Se notar que se ha usado contactos normalmente
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

52

Arquitectura de Computadoras I UNPAZ


abiertos de los rels A y C, pero normalmente cerrados del rel B. Y que las conexiones
entre contactos son las comunes conexiones tipo serie (en la figura, A con B) y paralelo
(en la figura, C con la serie de A con B).
Hoy en da la conmutacin telefnica utiliza otras tcnicas, pero los circuitos de
conmutacin con contactos y rels an se siguen usando en ciertas aplicaciones, por lo
que interesa el estudio de los mismos. Adems, las conclusiones de nuestro estudio
sern perfectamente aplicables a los circuitos lgicos modernos, como luego veremos.
De los circuitos de conmutacin interesa conocer su funcin transmisin, es
decir, si existe o no continuidad entre los extremos del circuito en funcin del estado
operado o no de cada uno e os contactos que lo componen.
La funcin transmisin es una funcin binaria o bivaluada o lgica entendiendo
por tal a aquella funcin que slo puede tomar dos valores. Efectivamente, entre
terminales de un circuito de conmutacin slo puede haber dos situaciones: o hay
continuidad entre ellos o no la hay.
La funcin transmisin depende del estado de los diferentes conmutadores. Pero
estas variables independientes son tambin variables bivaluadas pues slo pueden
tomar dos valores, operado o no operado.
Podemos as decir que hay una relacin funcional entre la variable dependiente
transmisin (que podemos simbolizar I) y las variables que identifican el estado de los
conmutadores (que llamaremos A, B y C respectivamente). Cabra as establecer una
funcin matemtica entre ellas que podramos escribir
T = f (A, B, C)
donde cada una de las variables y la funcin misma seran bivaluadas.
Sin embargo, hasta 1938 no existi un lgebra apropiada para operar con
variables bivaluadas y la operacin de los circuitos deba expresarse en forma verbal.
As, en el circuito de la figura 2-1 hay continuidad entre terminales si el contacto A est
operado y el. B no lo est, o si est operado el contacto C. Compruebe el lector que esta
descripcin es adecuada para el circuito que estamos considerando. Esta falta de una
herramienta apropiada dificultaba el diseo de los circuitos de conmutacin, que
requeran de diseadores de gran experiencia que compensaran con sta la citada
carencia.
Pero en el ao 1938 un diseador de circuitos de conmutacin para telefona,
Claude Shannon, encontr que a mediados del siglo XIX un matemtico ingls llamado
George Boole haba desarrollado un lgebra que era particularmente aplicable a
variables bivaluadas. Esta lgebra se denomina lgebra de Boole, por su inventor. Y la
adaptacin realizada por Shannon, para el caso de circuitos con contactos, se suele
denominar lgebra de conmutacin.
El campo de inters de Boole era en la lgica del pensamiento, las proposiciones
lgicas y los enunciados categricos relativos a clases.
Las proposiciones lgicas son aquellas frases de las que tiene sentido afirmar
que, o son verdaderas, o son falsas. Este es el caso, por ejemplo, de Ayer fue lunes o
Llover hoy o maana. No son proposiciones las frases Qu da es hoy? o Dame
un calendario o Ojal que llueva que no son aseveraciones que puedan ser
verdaderas o falsas sino una pregunta, un pedido (o una orden, o una exhortacin,
segn el tono) y un deseo respectivamente. El valor de verdad de una combinacin de
proposiciones es funcin del valor de verdad de cada una de las proposiciones

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

53

Arquitectura de Computadoras I UNPAZ


constituyentes. Como estos valores de verdad slo pueden ser verdaderos o falsos, se
trata de variables bivaluadas.
A su vez, los enunciados categricos relativos a clases son del estilo Todos los
osos americanos son pardos o Algunos de los grandes filsofos fueron griegos. Estos
enunciados estn fuertemente relacionados con los conjuntos ya que, por ejemplo, el
primero de los enunciados (falso, dicho sea de paso) puede fcilmente ser parafraseado
utilizando los conjuntos osos americanos y animales pardos. La pertenencia a un
conjunto tambin es una variable bivaluada, ya que las nicas posibilidades son la
pertenencia y la no pertenencia.
El lgebra de Boole es aplicable tanto a las proposiciones como a los conjuntos.
Se deben reconocer tambin los aportes de Augustus De Morgan (contemporneo de
Boole) de John Venn (quien en 1881 invent el conocido diagrama que lleva su nombre)
y Edward Huntington, quien a principios del siglo XX le dio formalidad al Algebra de
Boole estableciendo los postulados bsicos de la misma. Sin embargo, no seguiremos
la lnea establecida por Huntington ya que estamos ms interesados en un enfoque
prctico que en uno extremadamente formal.

2.2. Introduccin al lgebra de Boole


2.2.1. Operaciones bsicas entre proposiciones lgicas
En lgica preposicional, se definen tres operaciones bsicas.

La conjuncin

La disyuncin

La negacin

2.2.2. La Conjuncin
En lgica preposicional se denomina conjuncin a la proposicin de resulta de
unir con la conjuncin y a dos proposiciones independientes. Como, por ejemplo, 'El
caballo es un mamfero' y 'El cndor es un ave. La conjuncin y, usada como conector
entre las proposiciones, obliga a que ambas sean individualmente ciertas para que lo
sea la conjuncin de ellas, como es el caso del ejemplo. Sin embargo, si cualquiera de
las proposiciones individuales fuera falsa, lo sera tambin su conjuncin. Si llamamos
simblicamente A y B a dos proposiciones - que constituyen nuestras variables
independientes el valor de verdad de la conjuncin de ambas (habitualmente
representada como AB, nuestra variable dependiente o funcin) puede representarse
con la siguiente tabla de valores, donde V representa a verdadero (tambin se usa T,
por ser la inicial de true, verdadero en ingls) y F a falso. Dicha tabla es exhaustiva, en
el sentido de que all estn tabulados todos los casos que pueden presentarse. Una
tabla donde se muestra el valor de verdad de una funcin para los distintos valores
de las variables independientes se denomina tabla de verdad.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

54

Arquitectura de Computadoras I UNPAZ

2.2.3. La Disyuncin
En lgica proposicional se denomina disyuncin a la proposicin de resulta de
unir con la disyuncin o a dos proposiciones independientes. Como, por ejemplo, 'El
caballo es un mamfero' o 'El cndor es un pez' La disyuncin o, usada como conector
entre las proposiciones, plantea una alternativa que hace que baste que una de ellas
sea cierta para que lo sea la disyuncin de ambas, como es el caso del ejemplo, donde
la primer proposicin es verdadera pero la segunda falsa. Pero la disyuncin ser falsa
si tambin lo son las dos proposiciones que ella une. Si nuevamente llamamos
simblicamente A y B a dos proposiciones - que constituyen nuestras variables
independientes - el valor de verdad de la disyuncin de ambas (habitualmente
representada como AvB, nuestra variable dependiente o funcin) puede representarse
con la siguiente tabla de verdad, que presenta los 4 casos posibles.

2.2.4. La Negacin
En lgica proposicional se denomina negacin a la proposicin de resulta de
negar a una proposicin. Como, por ejemplo, El cndor no es un pez es la negacin
de la proposicin El cndor es un pez. El vocablo no (generalmente colocado antes
del verbo) hace que, para que la negacin sea verdadera, debe ser falsa la proposicin
que se ha negado. Y viceversa, para que la negacin sea falsa, debe ser verdadera la
proposicin que se ha negado. Si llamamos simblicamente A a una proposicin - que
constituye nuestra variable independiente - el valor de verdad de su negacin
(habitualmente representada como A, nuestra variable dependiente o funcin) puede
representarse con la siguiente tabla de verdad que presenta los 2 casos posibles.

2.2.5. Aplicacin a conjuntos


Se supone que la teora de conjuntos es conocida por el lector, pero para
aquellos que requieran un refresco se brinda a continuacin un resumen de los aspectos
que revistan mayor inters para nuestros propsitos.
Un conjunto es una agrupacin de elementos que comparten una cierta
caracterstica que define el criterio de pertenencia a ese conjunto. As podemos hablar,
por ejemplo, del 'conjunto de los mamferos'.
Es costumbre simbolizar los conjuntos utilizando el Diagrama de Venn, tal como
el que mustrala figura siguiente, donde el conjunto A de los mamferos se encuentra
delineado por un crculo dentro de un marco de referencia (por ejemplo, la totalidad del
reino animal), representado por un rectngulo, que se suele denominar "universo del
discurso" o "conjunto universal".

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

55

Arquitectura de Computadoras I UNPAZ

Son miembros de un conjunto aquellos elementos del conjunto universal que


cumplen la caracterstica necesaria para pertenecer a ese conjunto (en nuestro caso,
ser mamferos). As, un determinado elemento, segn sus caractersticas, pertenecer
o no al conjunto A. Puede definirse una funcin pertenencia al conjunto A. Esta funcin,
por tener slo 2 posibilidades (pertenecer o no), es del tipo bivaluada.
Un caso particular y destacable de conjunto es el ya citado conjunto universal,
pero otro caso especial es el conjunto vaco, al cual no pertenece ningn elemento, es
decir, para el que no hay elementos que cumplen la caracterstica necesaria para
pertenecer a l. Por ejemplo, el 'conjunto de los mamferos que tienen 8 patas. O, en un
plano ms abstracto, el 'conjunto de los elementos que son diferentes a s mismos.
Vamos a analizar tres operaciones entre conjuntos:
la interseccin
la unin
la complementacin
Veremos en ese anlisis que las mismas se corresponden con las operaciones
conjuncin, disyuncin y negacin de la lgica proposicional.
La interseccin entre dos conjuntos A y B es el conjunto de todos los elementos
que son comunes a ambos conjuntos, es decir, aquellos que pertenecen a uno y a otro
de los conjuntos. La operacin interseccin se encuentra esquematizada en el diagrama
de Venn que muestra la figura siguiente. Dicha figura muestra el caso de dos conjuntos
que tienen efectivamente elementos en comn, pero tambin existe el caso de conjuntos
disjuntos que no tienen en comn ningn elemento, para los que su interseccin es el
conjunto vaco. Se notar que la operacin interseccin est asociada a la conjuncin
"y", y que resulta anloga a la operacin conjuncin. El smbolo habitual para
representar a esta operacin es , por lo que interseccin entre A y B que muestra la
siguiente figura se escribe AB.

Figura 2-3 - La operacin interseccin entre los conjuntos A y B (en sombreado)

La unin entre dos conjuntos A y B es el conjunto de todos los elementos que


pertenecen a uno u otro conjunto (o a ambos). La operacin unin se encuentra
esquematizada en el diagrama de Venn que muestra la figura siguiente. Se notar que
la operacin unin est asociada a la disyuncin "o", y que resulta anloga a la
operacin disyuncin. El smbolo habitual para representar a esta operacin es , por lo
que la unin entre A y B que muestra la siguiente figura se escribe AB.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

56

Arquitectura de Computadoras I UNPAZ

Figura 2-4 - Operacin unin entre los conjuntos A y B (en sombreado)

El complemento de un conjunto A (en referencia a un cierto universo de


discurso) es el conjunto de todos los elementos de dicho universo que no pertenecen a
A. Se notar que la operacin complementacin est asociada al vocablo "no", y que
resulta anloga, como ya anticipramos, a la operacin negacin. Al conjunto
complementario de A lo simbolizaremos (que leeremos no A). La operacin
complementacin se encuentra esquematizada en el diagrama de Venn que muestra la
figura siguiente.

Figura 2-5 - La operacin complementacin de un conjunto A (en sombreado)

2.3. El lgebra de conmutacin aplicada a contactos


Siendo que las dos conexiones tpicas entre contactos son la conexin serie y
paralelo, no extraar al lector saber que dos de las operaciones bsicas del lgebra de
conmutacin estn ligadas a ellas. Comencemos entonces con el estudio de dichas
conexiones, para luego ver una tercera operacin.

2.3.1. Contactos en serie: producto lgico


Consideremos el caso de dos contactos normalmente abiertos A y B conectados
en serie, como muestra la figura siguiente.

Esta conexin de contactos en serie la denominaremos producto lgico,


operacin Y o, utilizando la denominacin inglesa, operacin AND. El justificativo de
estas denominaciones se ver algo ms adelante en este mismo punto.
Analicemos cual ser la funcin Transmisin T de esta conexin a partir del
estado de cada uno de los contactos. Haremos para ello un anlisis exhaustivo del
comportamiento de esta conexin, y el resultado de este anlisis lo presentaremos en
forma de una tabla que denominaremos tabla de verdad, por la similitud que tendr con
las tablas de verdad usadas en lgica proposicional. Cada uno de los contactos slo
puede estar en dos situaciones, normal u operado, por lo que el conjunto de ambos slo
puede est en 4 condiciones, y se es el nmero total de casos a considerar. Se llega
fcilmente a la tabla de verdad siguiente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

57

Arquitectura de Computadoras I UNPAZ


Es preferible establecer un cdigo para identificar a cada uno de los estados de
las variables bivaluadas, para evitar tener que manipular palabras como operado o
hay continuidad. Utilizando un cdigo binario bastara un slo bit para identificar a cada
uno de los dos estados posibles de las variables y la transferencia: bastara asignar a
uno de sus estados el 0 y al otro el 1. Se notar que estos 0 y 1 no deben considerarse
como nmeros sino como palabras de un cdigo binario de tan slo un bit. Por ejemplo:

en el caso de los contactos: 1 representar a operado y 0 a normal.

en el caso de la transmisin, 1 representar a hay continuidad y 0 a no hay


continuidad

El lector notar que podran haberse asignado las palabras del cdigo de una
manera distinta, por ejemplo, en el caso de los contactos, asignar el 0 a operado y el
1 a normal. Mucho de lo que sigue se alterara en gran medida si as se hiciera. Por
ello adheriremos a la primera propuesta que es la universalmente aceptada.
Si ahora rehacemos la tabla de verdad anterior reemplazando cada condicin
por su cdigo, se llega a la siguiente tabla de verdad:

Dicha tabla ya nos ofrece los argumentos para justificar las diversas
denominaciones que le diramos a la conexin serie entre contactos:
a) la tabla anterior no puede ser una operacin aritmtica, ya que sus operandos
no son nmeros sino palabras de un cdigo. Pero si quisiramos por un instante
considerar a los elementos como nmeros, la tabla es idntica a la que
correspondiera a la operacin aritmtica multiplicacin. Por esta similitud en sus
tablas, la conexin en serie se denomina, como ya habamos sealado, como
producto lgico. Sacando mayor provecho aun de esta similitud, utilizaremos
como smbolo de la operacin conexin serie el mismo que el del producto
aritmtico: el signo por (x), el que podr ser remplazado por un simple punto (.),
y aun omitirse si eso no lleva a confusin. Es decir, la conexin de dos contactos
A y B en serie puede escribirse como AxB, A.B y an slo AB si eso no llamara
a confusin por la existencia de algn contacto al que se lo denominara AB.
b) Se observa que la transmisin slo vale 1 cuando B vale 1` y 'A vale 1. Es por
ello que esta conexin es denominada tambin operacin Y. O, como es ms
habitual, con la denominacin inglesa operacin AND.
Concluyendo, la tabla de verdad del producto lgico queda, finalmente:

El lector ya habr advertido la analoga existente entre el producto lgico, la


operacin conjuncin entre proposiciones, y la operacin interseccin entre conjuntos.
En particular, la tabla de verdad del producto lgico es idntica a la de la operacin
conjuncin, con slo reemplazar los ceros por F y los unos por V.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

58

Arquitectura de Computadoras I UNPAZ

2.3.1.1. Propiedades del producto lgico


El producto lgico tiene ciertas propiedades que pasamos a ver. En algunos
casos, para mayor claridad, nos apoyaremos en el caso de la interseccin de conjuntos,
si para ella la propiedad resulta ms evidente.
Propiedad conmutativa
B = BA
El resultado de un producto lgico no se afecta si se altera el orden de sus
factores. Esto se aprecia de la tabla de verdad y resulta evidente cuando se compara
(ver figura siguiente) un circuito serie con el circuito que resulta de alterar el orden de
los contactos: ambos tienen exactamente el mismo comportamiento.

Esta propiedad es igualmente evidente cuando se analiza la operacin interseccin


entre conjuntos, que es claramente conmutativa.
Propiedad de identidad (producto lgico con el 1)

A.1=A
La multiplicacin lgica con 1 no afecta al otro factor. Demostraremos esta
propiedad verificando que se cumple para todo valor de A.

si A es 0, el producto 0.1 =0 segn la tabla de verdad de la operacin producto;


es decir, igual a A.

si A es 1, el producto 1.1=1 segn la misma tabla de verdad, es decir, igual a A.

Por esta propiedad se dice que el 1 es neutro para el producto.


Una segunda comprobacin de esta propiedad la podemos efectuar si
realizamos el circuito equivalente con contactos. El factor 1 equivale a tener en serie
con el contacto A un tramo de circuito donde siempre hay continuidad (es decir, que
tiene sus extremos cortocircuitados). Es decir:

A la derecha del circuito correspondiente se ha dibujado un circuito donde slo


est el contacto A, el que se comprueba que tiene un comportamiento idntico al otro,
confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin interseccin
entre un conjunto A y el conjunto universal, que resulta igual al conjunto A.
Propiedad de dominacin (producto lgico con el 0)

A.0=0
La multiplicacin lgica con 0 hace 0 el resultado. Demostraremos esta
propiedad verificando que se cumple para todo valor de A.

si A es 0, el producto 0.0=0 segn la tabla de verdad de la operacin producto.

si A es 1, el producto 0.1=0 segn la misma tabla de verdad.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

59

Arquitectura de Computadoras I UNPAZ


Por esta propiedad se dice que el 0 es dominante en el producto.
Una segunda comprobacin de esta propiedad la podemos efectuar si
realizamos el circuito equivalente con contactos. El factor 0 equivale a tener en serie
con el contacto A un tramo de circuito donde siempre no hay continuidad (es decir, que
tiene entre sus extremos un circuito abierto). Es decir:

A la derecha del circuito correspondiente se ha dibujado un circuito abierto, el que se


comprueba que tiene un comportamiento idntico al otro, confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin interseccin
entre un conjunto A y el conjunto vaco, que resulta igual al conjunto vaco.
Propiedad de dempotencia
A.A=A
Las dos propiedades anteriores del producto quizs no sorprendieron al lector,
por ser idnticas a propiedades que posee el producto aritmtico. Pero esta propiedad
de dempotencia que posee el producto lgico no la tiene el aritmtico. La propiedad
establece que una variable no se altera por ser multiplicada por s misma.
Demostraremos esta propiedad verificando que se cumple para todo valor de A.

si A=0, A.A=0.0=0=A

si A=1, A.A=1.1=1=A

Una segunda comprobacin de esta propiedad la podemos efectuar si realizamos el


circuito equivalente con contactos. El producto A.A equivale a tener en serie dos
contactos A. Es decir:

A la derecha del circuito correspondiente se ha dibujado un circuito con un nico


contacto A, el que se comprueba que tiene un comportamiento idntico al otro,
confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin interseccin
de un conjunto A consigo mismo, que resulta igual a dicho conjunto.
Propiedad asociativa
A.B.C= (A.B)C = A(B.C)
Esta es una propiedad del producto aritmtico que tambin posee el lgico.
Resulta particularmente evidente con contactos, pues las tres expresiones comparten
un mismo circuito: los tres contactos en serie.
Ya que aparece por primera vez en este trabajo un producto de ms de dos
variables, lo aprovecharemos para generalizar el concepto de operacin AND que
viramos para dos variables. As, el producto A.B.C valdr 1 slo cuando sean todos
sus factores iguales a 1, es decir A=1 y B=1 y C=1. O, dicho de otra manera y
generalizando:
Un producto lgico vale 1 cuando todos sus operandos valen 1.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

60

Arquitectura de Computadoras I UNPAZ

2 3.2. Contactos en paralelo: suma lgica, operacin OR


Consideremos el caso de dos contactos Ay B conectados en paralelo, como
muestra la figura siguiente.

Esta conexin de contactos en paralelo la denominaremos suma lgica,


operacin OR o, utilizando la denominacin inglesa, operacin OR. El justificativo de
estas denominaciones se ver algo ms adelante en este mismo punto.
Analicemos cual es la funcin transmisin de esta conexin trazando la
correspondiente tabla de verdad, que tambin en este caso incluir 4 posibilidades.

O, mejor an, utilizando el cdigo que ya habamos planteado para el caso del
producto lgico y que ac repetimos para enfatizar su uso:

en el caso de los contactos: 1 representar a operado y 0 a normal.

en el caso de la transmisin, 1 representar a hay continuidad y 0 a no hay


continuidad

Si ahora rehacemos la tabla de verdad anterior reemplazando cada condicin


por su cdigo, se llega a la siguiente tabla de verdad:

Dicha tabla ya nos ofrece los argumentos para justificar las diversas
denominaciones que le diramos a la conexin serie entre contactos:
a) la tabla anterior no es la de una operacin aritmtica, ya que sus operandos no
son nmeros sino palabras de un cdigo. Pero si quisiramos por un instante
considerar a los elementos como nmeros, la tabla es idntica a la que
correspondera a la operacin aritmtica suma en los primeros 3 renglones de la
misma (falla en el ltimo porque en suma aritmtica 1+1=2 mientras que en esta
operacin lgica 1+1=1). Por esta similitud en sus tablas, la conexin en paralelo
se denomina, como ya habamos sealado, suma lgica. Sacando mayor
provecho an de esta similitud, utilizaremos como smbolo de la operacin
conexin paralelo el mismo que el de la suma aritmtica: el signo ms (+). Es
decir, la conexin de dos contactos A y B en paralelo puede escribirse A+B.
b) Se observa que la transmisin slo vale 1 cuando `B vale 1' o 'A vale 1'. Es por
ello que esta conexin es denominada tambin operacin O. O, como es ms
habitual, con la denominacin inglesa operacin OR.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

61

Arquitectura de Computadoras I UNPAZ


Concluyendo, la tabla de verdad de la suma lgica queda, finalmente:

El lector ya habr advertido la analoga existente entre la suma lgica, la


operacin disyuncin entre proposiciones, y la operacin unin entre conjuntos. En
particular, la tabla de verdad de la suma lgica es idntica a la de la operacin
disyuncin, con slo reemplazar los ceros por F y los unos por unos por V.

2.3.2.1. Propiedades de la suma lgica


La suma lgica tiene ciertas propiedades que pasamos a ver. En algunos casos,
para mayor claridad, nos apoyaremos en el caso de la unin de conjuntos, si para ella
la propiedad resulta ms evidente.

Propiedad conmutativa
A+B = B+A
El resultado de una suma lgica no se afecta si se altera el orden de sus
sumandos. Esto se aprecia de la tabla de verdad y resulta evidente cuando se compara
(ver figura siguiente) un circuito paralelo con el circuito que resulta de alterar el orden
de los contactos: ambos tienen exactamente el mismo comportamiento.

Esta propiedad es igualmente evidente cuando se analiza la operacin unin


entre conjuntos, que es claramente conmutativa.

Propiedad de identidad (suma lgica con el 0)


A+0=A
La suma lgica con 0 no afecta al otro sumando. Demostraremos esta propiedad
verificando que se cumple para todo valor de A.

si A es 0, la suma 0+0=0 segn la tabla de verdad de la operacin suma, es


decir, igual a A.

si A es 1, la suma 1+0=1 segn la misma tabla de verdad, es decir, igual a A.

Por esta razn se dice que el 0 es neutro para la suma.


Una segunda comprobacin de esta propiedad la podemos efectuar si
realizamos el circuito equivalente con contactos. El sumando 0 equivale a tener en
paralelo con el contacto A un tramo de circuito sin continuidad (esto es, abierto). Es
decir:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

62

Arquitectura de Computadoras I UNPAZ

A la derecha del circuito correspondiente se ha dibujado un circuito donde solo


est el contacto A, el que se comprueba que tiene un comportamiento idntico al otro,
confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin unin entre
un conjunto A y el conjunto vaco, que resulta igual al conjunto A.

Propiedad de dominacin (suma lgica con el 1)


A+1=1
La suma lgica con 1 hace 1 el resultado. Demostraremos esta propiedad
verificando que se cumple para todo valor de A

si A es 0, la suma 0+1 1 segn la tabla de verdad de la operacin suma.

si A es 1, la suma 1+1=1 segn la misma tabla de verdad.

Por esta propiedad se dice que el 1 es dominante en la suma.


Una segunda comprobacin de esta propiedad la podemos efectuar si
realizamos el circuito equivalente con contactos, en el que al contacto A se le debe poner
en paralelo una rama en cortocircuito. Es decir:

A la derecha del circuito correspondiente se ha dibujado un cortocircuito, el que


se comprueba que tiene un comportamiento idntico al otro, confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin unin entre
un conjunto A y el conjunto universal, que resulta igual al conjunto universal.

Propiedad de idempotencia
A+A=A
Las dos propiedades anteriores de la suma lgica quizs no sorprendieron al
lector, por ser idnticas a propiedades que posee la suma aritmtica. Pero esta
propiedad de idempotencia que posee la suma lgica no la tiene la aritmtica. La
propiedad establece que una variable no se altera por ser sumada a s misma.
Demostraremos esta propiedad verificando que se cumple para todo valor de A.

si A=0, A+A=0+0=0=A

si A=1,A+A=1+1=1=A.

Una segunda comprobacin de esta propiedad la podemos efectuar si


realizamos el circuito equivalente con contactos. La suma A+A equivale a tener en
paralelo dos contactos A. Es decir:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

63

Arquitectura de Computadoras I UNPAZ

A la derecha del circuito correspondiente se ha dibujado un circuito con un nico


contacto A, el que se comprueba que tiene un comportamiento idntico al otro,
confirmando la igualdad.
Esta propiedad es tambin evidente cuando se analiza la operacin unin de un
conjunto A consigo mismo, que resulta igual a dicho conjunto.

Propiedad asociativa
(A+B)+C = A+(B+ C}= A+ B+C
Esta es una propiedad de la suma aritmtica que tambin posee la suma lgica.
Resulta particularmente evidente con contactos, pues las tres expresiones comparten
un mismo circuito, los tres contactos en paralelo.

Ya que aparece por primera vez en este trabajo una suma de ms de dos
variables, lo aprovecharemos para generalizar el concepto de operacin OR que
viramos para dos variables. As, la suma A+B+C valdr 1 slo cuando al menos uno
de sus sumandos sea igual a 1, es decir A=1 o B=1 o C=1. O, generalizando, y
aceptando que la palabra alguno ser para nosotros sinnimo de al menos uno, se
puede concluir que:
Una suma lgica vale 1 cuando alguno de sus operandos vale 1.

2.3.3. La inversin
Para comprender una nueva operacin del lgebra de conmutacin que vamos
a considerar ahora, tomemos el caso de un circuito que slo consta de un contacto A
normalmente cerrado.

Tracemos la tabla de verdad correspondiente a la transmisin de este circuito.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

64

Arquitectura de Computadoras I UNPAZ


O, mejor an, utilizando el cdigo que ya habamos planteado para el caso del
producto lgico y la suma lgica y que ac repetimos para enfatizar su uso:

en el caso de los contactos: 1 representar a operado y 0 a normal.

en el caso de la transmisin, 1 representar a hay continuidad y 0 a no hay


continuidad

Si ahora rehacemos la tabla de verdad anterior reemplazando cada condicin


por su cdigo, se llega a la siguiente tabla de verdad:

A la operacin definid, por esta tabla de verdad se la denomina Inversin,


negacin, operacin NO o, siguiendo la nomenclatura inglesa, operacin NOT. La
denominacin de inversin proviene del hecho que la funcin vale 1 cuando la variable
vale 0, y viceversa. La denominacin de negacin, NO y NOT proviene de que la funcin
vale 1 cuando la variable no vale 1
La negacin de una variable se simboliza tpicamente mediante una barra por
encima de dicha variable. De acuerdo a esto, por ejemplo, la negacin de A se simboliza
A, lo que se lee no A" Alternativamente, cuando la tipografa impide trazar la barra, la
negacin se representa por un apstrofe, como por ejemplo A. Con esta nomenclatura,
la tabla de verdad queda:

El lector ya habr advertido la analoga existente entre la inversin, la negacin


de una proposicin, y la complementacin de un conjunto. En particular, la tabla de
verdad de la inversin es idntica a la de la negacin, con slo reemplazar los ceros por
F y los unos por V.

2.3.3.1. Propiedades de la inversin


La inversin tiene tambin propiedades de inters.

Propiedad de involucin (o de la doble inversin)

Esta propiedad establece que una doble inversin a una variable la restituye a
su valor original. Su veracidad es bastante obvia. Pero igualmente demostraremos que
es vlida para todo A.

Esta propiedad es particularmente evidente entre conjuntos, ya que al ser el


complemento una operacin recproca, el efectuarlo sucesivamente dos veces restituye
el conjunto original.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

65

Arquitectura de Computadoras I UNPAZ

Propiedad del producto con el inverso


A.= 0
El producto de una variable con su inverso es siempre igual a 0. Demostraremos
que esto es vlido para todo A:

Visualizando esta situacin con contactos tendremos la situacin de la figura


siguiente donde se apreciar que, independientemente del estado de los contactos A,
nunca habr continuidad entre los terminales, resultando equivalente a un circuito
abierto.

La situacin anloga con conjuntos es la interseccin de un conjunto con su


complemento, que da el conjunto vaco.
En lgica preposicional, a esta propiedad se la identifica con el Principio de no
contradiccin que establece que no pueden ser simultneamente ciertas A y no A.

Propiedad de la suma con el inverso


A + = 1
La suma de una variable con su inverso es siempre igual a 1. Demostraremos
que esto es vlido para todo A:

si A=0, A + =0+1=1.

si A=1, A + =1+0=1.

Visualizando esta situacin con contactos tendremos la situacin de la figura


siguiente donde se apreciar que, independientemente del estado de los contactos A,
siempre habr continuidad entre los terminales. Por lo que es equivalente a un
cortocircuito.

La situacin anloga con conjuntos es la unin de un conjunto con su


complemento, que da el conjunto universal.
En lgica preposicional, a esta propiedad se la identifica con el Principio del
tercero excluido que establece que o A es cierta, o lo es no A, ya que no hay una tercera
posibilidad.

Ley de De Morgan referida a la negacin de un producto


Esta ley establece que la negacin de un producto es igual a la suma de las
negaciones de cada uno de los factores. Es decir, para el caso de dos variables:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

66

Arquitectura de Computadoras I UNPAZ


Para un caso ms general de varias variables, esta ley establece que:

Demostraremos esta ley para el caso de dos variables, verificando que se


cumple para todo A. As, analizaremos los casos A=0 y A=1.
Para A=1

el primer miembro queda

el segundo miembro, a su vez, queda

es decir, se comprueba la igualdad

el primer miembro queda

el segundo miembro, a su vez, queda

es decir, se comprueba la igualdad

Para A=0

A partir de esta demostracin para el caso de 2 variables, es muy simple extender


el resultado a una variable ms por aplicacin de la propiedad asociativa del producto.
Veamos cmo:

Repitiendo el procedimiento anterior reiteradamente, se concluye la validez de


este teorema para cualquier nmero de variables.

Ley de De Morgan referida a la negacin de una suma


Esta ley establece que la negacin de una suma es igual al producto de las
negaciones de cada uno de los sumandos. Es decir, para el caso de dos variables:

Para un caso ms general de varias variables, esta ley establece que:

Siendo las demostraciones similares a las de la anterior Ley de De Morgan, se


dejan a cargo del lector inquieto que quiera comprobarlas.

2.3.4. Precedencia de los operadores


En el lgebra corriente, en una expresin en que se combinen sumas y
productos, en forma totalmente convencional se considera que los productos preceden
a las sumas. Es decir, los productos deben ser normalmente calculados antes que la
sumas. Cuando se desea alterar el orden fijado por esta regla, se utilizan parntesis.
As, en la expresin (A+B).C, el parntesis indica que la suma es la que debe evaluarse
primeramente.
Para no alterar una regla impuesta, tambin en el lgebra de conmutacin se le
otorga precedencia al producto, y se emplea el parntesis para establecer un orden
distinto.
Pero una negacin debe ser resuelta an antes de cualquier otra operacin a
efectuar con su resultado. Podemos considerar que la negacin lleva implcito un
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

67

Arquitectura de Computadoras I UNPAZ


parntesis que la encierra. Esto da pie para una advertencia: cuando al aplicar la ley de
De Morgan a un producto negado se lo reemplaza por una suma de negaciones, para
no afectar la precedencia, en muchos casos es necesario que dicha suma est
encerrada entre parntesis. A continuacin, se muestra una forma correcta y otra
incorrecta de aplicar la ley de De Morgan por haberse afectado, en el segundo caso, la
debida precedencia entre las operaciones.

2.4. Dualidad y el Principio de dualidad


A los efectos de introducir el concepto de dualidad, recopilaremos ac las
propiedades que hemos visto tanto para la operacin producto, como para la suma y la
negacin. Esto nos servir, adicionalmente, como forma de resumen. Las propiedades
referidas al producto lgico y a la suma lgica las colocaremos en columnas separadas,
pero la propiedad de involucin, por no corresponder a ninguna de esas operaciones
lgicas, la colocaremos centrada:

Si ahora se comparan entre s las columnas relativas al producto lgico y a la


suma lgica, se comprueba que ellas muestran ciertas semejanzas no exentas de
diferencias. As, donde en la columna de la izquierda aparece un producto, en la derecha
aparece una suma. Donde a la izquierda hay un 1, a la derecha hay un 0, y viceversa.
A esta forma de semejanza la denominaremos dualidad. Ms precisamente:
Dos funciones son duales cuando se puede pasar de la expresin de una a la
expresin de la otra intercambiando todos los ceros por unos y viceversa, y todos los
productos por sumas y viceversa.
Se notar que la dualidad no afecta a las variables Independientes o a su posible
negacin. Por ejemplo:
el dual de la funcin
El lector notar que para mantener, a precedencia en que deben realizarse las
operaciones, que la dualidad no debe afectar, fue necesario en este caso introducir
parntesis. En general, para asegurarse de mantener la precedencia original, al hallar
el dual conviene reemplazar los productos por sumas entre parntesis.
Definida as la dualidad, se llama principio de dualidad a aquel que establece
que: si 2 funciones son iguales entre s, sus duales tambin sern iguales entre s.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

68

Arquitectura de Computadoras I UNPAZ


La validez de este principio es bastante evidente. Su utilidad reside en que en
futuros teoremas demostraremos la igualdad de ciertas funciones lgicas y, por
aplicacin de este principio, cada vez que demostremos la igualdad entre dos funciones
podr darse por demostrada automticamente la igualdad entre sus respectivas
funciones duales.
Compruebe el lector, revisando los pares de propiedades del lgebra de
conmutacin en la tabla anterior, que cuando uno de ellos establece la igualdad entre
dos funciones (p.ej. A.B=B.A), el otro sienta la igualdad entre sus respectivos duales
(A+B=B+A)

2.5. Teoremas del lgebra de conmutacin


Veremos a continuacin varios teoremas del lgebra de conmutacin. De
acuerdo a lo anticipado, cada teorema tendr en realidad dos formas que sern duales
entre s, pero slo demostraremos una de ellas pues la otra quedar comprobada por la
simple aplicacin del principio de dualidad.
Dos formas bsicas de demostrar los teoremas son:
1) por manipulacin algebraica sustentada en alguna de las propiedades o en los
teoremas ya demostrados.
2) por induccin perfecta, demostrando la validez para todos los casos
particulares posibles: Dos formas de realizar esto es demostrando la igualdad de
dos funciones a travs de la igualdad de sus tablas de verdad, ver ms adelante,
o de sus diagramas de Venn.
En los teoremas que siguen usaremos la forma que en cada caso resulte ms
simple o ms ilustrativa. En los casos en que la aplicacin de ms de un mtodo para
obtener el mismo resultado pueda aumentar la claridad de algn concepto, as
procederemos.

Teorema 1: Propiedad distributiva


T1/a) A(B + C) = AB + AC

T1/b) A + BC = (A + B)(A + C)

Este teorema demuestra la propiedad distributiva del producto lgico respecto


de la suma lgica y viceversa. Se notar que la propiedad distributiva del producto
respecto de la suma se nos presenta como muy natural por corresponderse con similar
propiedad que existe en el lgebra corriente (as como la operacin inversa, la
factorizacin, tambin vlida en el lgebra de conmutacin). Pero en cambio la
propiedad distributiva de la suma respecto del producto, vlida en el lgebra de
conmutacin, no tiene equivalente en el lgebra corriente.
Por ser esta propiedad (T1/b) la ms chocante, la elegiremos para demostrar
empleando nuevamente el principio de induccin perfecta, complementado con alguna
manipulacin algebraica.

Para el caso en que A=0, la expresin T1/b queda 0+BC=(0+B)(0+C) Pero


siendo el 0 neutro para la suma, por la propiedad de identidad dicha expresin
puede simplificarse en ambos miembros para quedar finalmente BC-BC lo que
evidentemente es cierto.

Para el caso en que A=1, la expresin T1/b queda 1+BC=(1+B)(1+C). Pero por
la propiedad de denominacin, una suma que tiene un sumando 1, tiene 1 como

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

69

Arquitectura de Computadoras I UNPAZ


resultado. Por lo que dicha expresin puede simplificarse en ambos miembros
para quedar finalmente 1=1.1, lo que es evidentemente cierto.

Teorema 2: Propiedad de absorcin


T2a)

A + AB = A

T2b) A(A + B) = A

Demostraremos el teorema T2a por mtodos algebraicos.


A+AB = A.1 + AB

Por ser el 1 neutro para el producto y la propiedad de identidad

A. 1 + AB = A(1+B)

por la propiedad distributiva del producto respecto de la suma

A.(1+B) = A.1

por propiedad de dominacin (suma con el 1)

A.1=A

por la propiedad de identidad (el 1 es neutro para el producto)

Es decir que A+AB=A, como queramos demostrar. Quiere el lector comprobar este
teorema utilizando el diagrama de Venn?
Un ejemplo de aplicacin de esta propiedad sera
El nombre de esta propiedad proviene de que uno de los productos o sumas del
primer miembro (en el ejemplo recin mencionado, el producto ABC) puede ser
suprimido por la presencia de otro producto o suma que lo absorbe (AC), por compartir
con el suprimido todas sus variables y el estado normal o invertido de ellas (A y C), pero
que carece de variables adicionales (B) que el suprimido contiene.

Teorema 3: Propiedad de reduccin

Demostraremos el teorema T3b por mtodos algebraicos


por propiedad distributiva del producto respecto de la suma
por producto con el inverso
0 + AB = AB

por propiedad de identidad (el 0 es neutro para la suma)

Es decir que A(+B)=AB, como queramos demostrar. Quiere el lector


comprobar este teorema utilizando el diagrama de Venn?
Un ejemplo de aplicacin de esta propiedad sera

Teorema 4: Propiedad de adyacencia


Demostraremos el teorema T4a por mtodos algebraicos
por propiedad distributiva del producto respeto de la suma
por suma con el inverso

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

70

Arquitectura de Computadoras I UNPAZ


A.1 = A

por propiedad de identidad (el 1 es neutro para producto)

Es decir que
, como queramos demostrar. Quiere el lector
comprobar este teorema utilizando el diagrama de Venn?
Un ejemplo de aplicacin de esta propiedad sera
El nombre de esta propiedad proviene de que se denominan productos (o sumas)
adyacentes a aquellos dos productos (o sumas) que coinciden en todas las variables
excepto en una de ellas, que en un caso figura invertida y en el otro no.
Este teorema demuestra que la suma de dos productos adyacentes puede ser
notablemente simplificada, ya que resulta igual a un nico producto en el que slo
figuran las variables comunes, habiendo desaparecido la nica variable que los
diferenciaba. Similarmente, el producto de dos sumas adyacentes resulta igual a una
nica suma en la que slo figuran las variables comunes.

2.6. Tablas de verdad de funciones lgicas


El concepto de tabla de verdad que hemos visto vinculado a las operaciones
bsicas del lgebra de conmutacin, no est en absoluto restringido a ellas, sino que,
puede ser utilizado para dejar establecido el valor que toma una funcin lgica
cualquiera para cada uno de los posibles valores de las variables lgicas de las que
depende. Estas tablas, aun siendo exhaustivas pues analizan todos los valores posibles
de las variables independientes, no suelen ser extensas. Efectivamente, si las variables
independientes fueran 2 (como fue, por ejemplo, el caso de un producto o una suma
lgica visto mas arriba) solo pueden tomar entre ambas 4 valores diferentes, y la tabla
de verdad tiene ese mismo nmero de renglones. De ser 3 las variables independientes,
que pueden tomar en conjunto 23=8 valores posibles, la tabla poseer 8 renglones y, en
general, cuando sean n las variables independientes la tabla tendr 2n renglones.
Veamos un ejemplo. Sea que deseamos obtener la tabla de verdad de la
siguiente funcin lgica:

Siendo 3 las variables independientes se requerir una tabla de 8 renglones.


La tabla, que figura a continuacin, se ha realizado prefiriendo evaluar la
expresin trmino a trmino, hallando primero cada uno de los sumandos para luego
obtener la suma final. El procedimiento seguido es el siguiente:

evaluacin de los sumandos: cada uno de los sumandos de la expresin dada


es un producto, el cual sabemos que vale 1 slo cuando todos sus factores valen
1. Su tabulacin se ha hecho en columnas auxiliares de clculo. Se notar, por
ejemplo, que el producto
vale 1 slo en aquellos renglones de la tabla de
verdad en que tanto
como A valen 1 (o, lo que es equivalente, en aquellos
renglones en que B vale 0 y A vale 1). Similar procedimiento se ha seguido para
las otras columnas auxiliares en que se evalu cada uno de los sumandos de X.

evaluacin de la suma: se tabul X sumando los trminos correspondientes,


recordando que por tratarse de una suma el resultado es 1 cuando cualquiera
de sus sumandos lo es.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

71

Arquitectura de Computadoras I UNPAZ

Naturalmente que las columnas auxiliares son de gran ayuda para el clculo,
pero pueden omitirse al presentar el resultado final obtenido.
Es oportuno hacer ac un comentario respecto al particular orden seguido para
presentar las filas y columnas de la tabla de verdad. As, las variables independientes
pueden colocarse en cualquier orden (en la tabla anterior se ha usado el orden CBA, es
decir, en orden alfabtico inverso, pero pudo ser cualquier otro). Sin embargo, es
recomendable usar consistentemente el mismo, por lo que en el resto del captulo
mantendremos el uso del orden alfabtico inverso para las variables independientes. En
cuanto a ordenamiento de las diferentes filas de la tabla, an cuando tambin puede
ser, en principio, cualquiera, es practica generalizada y altamente recomendable que las
filas s ordenen de manera que en las sucesivas filas las variables independientes
vayan formando progresivamente los nmeros binarios (en la tabla anterior, desde el
000 hasta el 111).
La tabla de verdad hubiera sido tambin una herramienta apropiada para
demostrar los distintos teoremas vistos, ya que: los mismos estipulan la Identidad de
dos expresiones la que podra comprobarse trazando la tabla de verdad de cada una de
ellas y comprobando la igualdad de ambas. La comprobado de una identidad por medio
de la tabla de verdad no es, en realidad, sino una forma de instrumentar con dicha tabla
el mtodo de induccin perfecta con ese propsito. Por ejemplo, quiere el lector
demostrar, utilizando tablas de verdad, que

Hemos visto que, con el procedimiento detallado, es posible tabular la tabla de


verdad de una funcin cuya expresin algebraica sea una suma de productos. En un
caso ms general, en que no sea esa la expresin, lo ms recomendable es
transformarla algebraicamente hasta llevarla a la forma de una suma de productos. Esto
normalmente implica las siguientes operaciones:

de haber negaciones que afectan a operaciones (por ejemplo,


), aplicar
las leyes de De Morgan tantas veces como sea necesario hasta lograr que
ninguna operacin quede negada (aunque lgicamente pueden estarlo sus
operandos).

de haber parntesis, aplicar la propiedad distributiva del producto respecto a la


suma hasta eliminar a todos ellos. Por ejemplo (A+B)(C+D)=AC+AD+BC+BD.

de figurar en un producto dos o ms veces una misma variable como factor (por
ejemplo, ABA o AB, si la variable figura en todos los casos negada o sin negar,
puede dejarse una sola vez en el producto por aplicacin de la propiedad de
idempotencia (ABA=AB). Si figura tanto negada como sin negar, el producto se
puede anular, ya que la multiplicacin de una variable con su negacin es 0 (AB
=0).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

72

Arquitectura de Computadoras I UNPAZ

2.7. Dualidad y ley de Shannon


En un apartado anterior hemos visto que dos funciones lgicas son duales entre
s cuando se puede pasar de la expresin lgica de una a la de la otra intercambiando
sumas lgicas por productos lgicos, y viceversa, y ceros por unos y viceversa. Este
mecanismo permite encontrar el dual de una funcin conocida su expresin lgica, pero
una regla similar existe para encontrar el dual de una funcin dada por su tabla de
verdad:
El dual de una funcin lgica dada por su tabla de verdad es la funcin cuya tabla
de verdad resulta de sustituir todos los ceros por unos y viceversa en la tabla de verdad
de la funcin dada.
Veamos, por ejemplo, como sera la funcin dual del producto lgico.
a) recordemos la tabla de verdad del producto lgico:

b) cambiemos todos los ceros por unos y viceversa:

c) reordenemos las filas para restaurar el orden habitual:

Se observa de esta ltima tabla que la funcin dual del producto lgico es la suma lgica,
como ya sabemos.
Se notar que el cambio de todos los ceros por unos y viceversa en las columnas
de la tabla de verdad que contienen a las variables independientes es equivalente a
negar las mismas. A su vez, el mismo cambio realizado en la columna con los valores
de la funcin equivale a negar la funcin. De esta observacin surge una segunda forma
de obtener la funcin dual de una funcin dada algebraicamente:
Puede obtenerse el dual de una funcin a partir de su expresin algebraica,
negando en la misma a todas las variables y a la funcin misma.
En trminos generales, si g (A, B, C,...) es una funcin lgica, su funcin dual
gd(A, B, C,...) puede calcularse como:

Si a la funcin gd la llamamos ahora f la funcin g, dual de la primera, puede


escribirse fd. Si hacemos este cambio de denominacin en la ecuacin anterior, y
negamos ambos miembros (lo que tiene como efecto hacer desaparecer la barra de
negacin que afecta al segundo miembro), queda:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

73

Arquitectura de Computadoras I UNPAZ

Esta igualdad se conoce con el nombre de ley de Shannon, y establece que la


negacin de una funcin cualquiera es igual a la funcin dual de la misma con las
variables independientes negadas. Se notar que las leyes de De Morgan son un caso
particular de la ley de Shannon. Por ejemplo, la negacin del producto ABC es, de
acuerdo a Shannon, la expresin dual (es decir A+B+C) en la que deben invertirse todas
sus variables independientes, con lo que se llega a la expresin final
,
resultado que coincide con la aplicacin de las leyes de De Morgan. Por esta razn, a
la ley de Shannon se la conoce tambin con el nombre de Ley de De Morgan
generalizada.

2.8. Expresiones cannicas


Dado que por haber expresiones algebraicas equivalentes, una funcin lgica
puede expresarse de varias formas, resulta de inters definir formas normalizadas
nicas para expresar una funcin. Dichas formas son las llamadas expresiones
cannicas (cannicas en el sentido de conforme a las reglas o estandarizadas), a las
que dedicaremos la presente seccin.

2.8.1. Productos cannicos o minitrminos


Dado un cierto nmero de variables lgicas, a todo producto en el que figuren
todas ellas, estn o no complementadas, se denomina producto cannico.
As, dadas por ejemplo las variables A, B, C y D, son productos cannicos, entre
otros, los siguientes:

Los productos cannicos reciben tambin los nombres de minitrminos (ms


adelante se ver la justificacin de esta denominacin alternativa) y de productos de
orden 0. Esta ltima denominacin es en razn de que no falta, en esos productos,
ninguna de las variables.
Similarmente se definen los productos de orden n como aquellos productos no
cannicos en los que intervienen todas las variables excepto n de ellas. Siguiendo con
nuestro ejemplo de 4 variables, los siguientes productos ejemplifican algunos casos de
productos de orden mayor que 0.
DBA

producto de orden 1 (falta C)

C.A

producto de orden 2 (faltan D y B)

producto (degenerado) de orden 3 (tallan D,C y A)

Teniendo en cuenta que un producto slo vale 1 cuando valen 1 todos sus
factores, se observa que un producto cannico slo puede valer 1 para una nica
combinacin de las variables. As, por ejemplo, el producto cannico entre 4 variables
slo es igual a 1 si D=1, C=0, B=0 y A=1. Ntese entonces, que, si se efecta Ia
tabla de verdad de ese producto cannico, la misma exhibir todos los renglones en 0
excepto en aquel nico rengln de la tabla que se corresponde con los valores recin
vistos para las variables.
Este resultado es generalizare. As, cualquier producto cannico tiene una tabla
de verdad en la que aparece un nico. Por esta mnima presencia del 1 en sus tablas
de verdad, los productos cannicos reciben tambin el nombre de minitrminos, como

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

74

Arquitectura de Computadoras I UNPAZ


ya se haba mencionado. Oiremos entonces que cada minitrmino tiene asociado un
rengln de la tabla de verdad y que esta asociacin, como es fcil comprobar, tiene
carcter biunvoco: cada rengln de la tabla de verdad puede asociarse a un nico
minitrmino. De esta asociacin biunvoca surge que el nmero de minitrminos que se
pueden formar con n variables es igual al nmero de renglones de las tablas de verdad
que corresponden a estas variables, o sea 2n.
Consideremos como ejemplo el caso de tres variables C, B y A, y los 8 distintos
minitrminos que se pueden formar con ellas, los que se muestran en la siguiente tabla.

Dicha tabla tambin exhibe, en una columna, bajo qu nica condicin de las
variables (es decir, en qu nico rengln de la tabla de verdad) cada producto cannico
toma el valor 1. Se observar que cada variable que en el minitrmino aparece sin
invertir, figura en la columna mencionada como un 1, mientras que aquellas que en el
minitrmino aparecen invertidas, figuran como un 0.
Esta asociacin entre minitrmino y un rengln de la tabla de verdad permite
introducir una simbologa numrica para los minitrminos, que tambin exhibe la tabla
anterior. As, cada minitrmino puede representares con una letra P (por la primera
inicial de Producto Cannico) seguida de un nmero que corresponde, en decimal, al
nmero binario que forman las variables independientes tomadas ordenadamente
tal como figuran en la tabla de verdad en el rengln asociado a ese producto.
As, al minitrmino
asociado al rengln donde C=1, B=0 y A=1 se lo puede
simbolizar P5, ya que para ese rengln de la tabla de verdad las variables
independientes forman, en binario, el nmero 5 (101).

2.8.2. Teorema general los minitrminos


Hemos visto ya cmo se puede trazar la tabla de verdad de una funcin lgica
de la que conocemos su expresin algebraica. Surge tambin interesante el problema
inverso: el de conocer una funcin lgica por su tabla de verdad y desear obtener su
expresin algebraica. Consideremos, por ejemplo, el caso de la funcin X ya presentada
en la seccin 2.6, pero ahora definida por la siguiente tabla de verdad, de la cual
deseamos obtener una expresin algebraica.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

75

Arquitectura de Computadoras I UNPAZ


Si queremos resolver el problema por el clsico mtodo de subdividirlo en
problemas ms simples, se nos puede ocurrir que habiendo 4 unos en la columna de X,
los mismos pueden provenir de 4 trminos, cada uno de los cuales gener un nico 1,
los que fueron finalmente sumados. Cada uno de estos trminos con un nico 1 es, por
supuesto, un minitrmino. Podemos ahora generar 4 columnas auxiliares como muestra
la siguiente tabla, cada una de ellas con la responsabilidad de generar slo 1 de los
unos que presenta X

En la tabla, encabezando cada columna auxiliar, el lector encontrar el


minitrmino que corresponde a esa columna. La funcin X ser, simplemente, la suma
de esos 4 minitrminos, es decir:

Expresin que tambin podra escribirse, utilizando la simbologia alternativa


mencionada para los minitrminos:

E inclusive, usando el smbolo sumatoria () y una notacin ms compacta,


tambin como:

Esta metodologa para obtener la expresin algebraica de una funcin cuya tabla
de verdad es conocida puede generalizarse fcilmente, generalizacin que recibe el
nombre de Teorema general de los minitrminos, el que establece que:
Toda funcin lgica puede ser expresada como la suma de los minitrminos
correspondientes a los renglones de la tabla de verdad en que dicha funcin vale 1.
De acuerdo al procedimiento descripto, una funcin, por tener una nica tabla de
verdad, tiene tambin una nica forma de expresarse como suma de minitrminos. Al
ser la expresin suma de minitrminos nica para una funcin dada, puede ser utilizada
como una forma normalizada de expresar dicha funcin, por lo que recibe el nombre de
primera forma cannica (luego veremos la segunda forma).
El teorema fundamental de los minitrminos tiene dos corolarios.

El primer corolario establece que la suma de todos los minitrminos que se


pueden formar con ce variables es igual a 1. Esto es. para el caso de 3 variables:

P0+P1+P2+P3+P4+P5+P6+P7=1
Esto es as porque aportando cada uno de los minitrminos un 1 en un rengln
distinto de la tabla de verdad, considerando la suma de todos ellos, se obtiene una
funcin que vale 1 en todos los renglones de la tabla y es, por lo tanto, igual a 1.

El segundo corolario establece que la suma de algunos de los minitrminos que


se pueden formar con ciertas variables esjgual a la negacin de la suma de los

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

76

Arquitectura de Computadoras I UNPAZ


minitrminos restantes. Esto es as, porque todo lo que no es X, es X.
Ejemplificando para el caso de la funcin X de 3 variables ya estudiada:

2.8.3. Sumas cannicas o maxitrminos


Dado un cierto nmero de variables lgicas, a toda suma en la que figuren todas
ellas, estn o no complementadas, se denomina suma cannica.
Se notar la dualidad entre las definiciones de producto cannico y suma
cannica. AI igual que los primeros, stas reciben tambin otros nombres: maxitrminos
(por oposicin a minitrminos, pero ms adelante se ver la real justificacin de esta
denominacin alternativa) y de sumas de orden 0. Esta ltima denominacin es en razn
de que no falta en esas sumas ninguna de las variables, mientras que aquellas sumas
en que faltan 1, 2, etc. variables se denominan respectivamente sumas de orden 1, 2,
etc.
Teniendo en cuenta que una suma slo vale 0 cuando valen 0 todos sus
sumandos, se observa que una suma cannica slo puede valer 0 para una nica
combinacin de las variables. As, por ejemplo, la suma cannica entre 3 variables
C+B+A slo es igual a 0 si C=1, B=1 y A=0. Ntese entonces que si se efecta la tabla
de verdad de esa suma cannica, la misma exhibir todos los renglones en 1 excepto
aqul nico rengln de la tabla que se corresponde con los valores recin vistos para
las variables.
Este resultado es generalizable. As, cualquier suma cannica tiene una tabla de
verdad en la que aparece un nico 0. Por esta mxima presencia del 1 en sus tablas de
verdad, las sumas cannicas reciben tambin el nombre de maxitrminos, como ya se
haba mencionado. Diremos entonces que cada maxitrmino tiene asociado un rengln
de la tabla de verdad y que esta asociacin, como es fcil comprobar, tiene carcter
biunvoco: cada rengln de la tabla de verdad puede asociarse a un nico maxitrmino.
De esta asociacin biunvoca surge que el nmero de maxitrminos que se pueden
formar con n variables es igual al nmero de renglones de las tablas de verdad que
corresponden a estas variables, o sea 2n.
Consideremos como ejemplo el caso de tres variables C, B y A, y los 8 distintos
maxitrminos que se pueden formar con ellas, los que se muestran en la siguiente tabla.

Dicha tabla tambin exhibe en una columna bajo qu nica condicin de las
venables (es decir, en que nico rengln de la tabla de verdad) cada maxitrmino toma
el valor 0. Se observar, que cada variable que en el maxitrmino aparece sin invertir,
figura en la columna mencionada como un 0, mientras con un 0, mientras que aquellas

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

77

Arquitectura de Computadoras I UNPAZ


que en el maxitermino aparecen invertidas, figuran como un 1, situacin inversa a la que
aconteca en el caso de los miniterminos.
Esta asocion entre maxiterminos y un rengln de la tabla de verdad permite
introducir una simbologa numrica para los maxiterminos, que tambin exhibe la tabla
anterior. As, cada maxitermino puede representares con la letra S (por la primera inicial
de Suma Cannica) seguida de un numero que corresponde, en decimal, al numero
binario que forman las variables de entrada tomadas ordenadamente tal como figuran
en la tabla de verdad en el rengln asociado a dicha suma. Asi, al maxitermino C+B+A
asociado al rengln donde C=0, B=1 y A=0 se lo puede simbolizar S2, ya que para ese
rengln de la tabla de verdad las variables de entrada forman, en binario, el numero 2
(010).
Se observar que un maxitrmino genrico Si vale 1 para todos los renglones de
tabla de verdad, excepto para el rengln i-simo donde vale 0. Como paralelamente Pi,
es un minitrmino que vale 0 para todos los renglones de la tabla de verdad excepto
para el rengln -simo donde vale 1, se concluye que un maxitrmino es igual a la
negacin del minitrmino asociado al mismo rengln que ella. Es decir que:

Si = P i

2.8.4. Teorema general de los maxitrminos


Consideremos por ejemplo el caso de la funcin X cuya primera expresin
cannica ya hemos obtenido en un apartado anterior, a partir de la tabla de verdad que
ac reproducimos por conveniencia:

Trataremos ahora de encontrar otro tipo de expresin para dicha funcin. Si


queremos resolver el problema por el clsico mtodo de subdividirlo en problemas ms
simples, pero cambiando de mtodo, se nos puede ocurrir que habiendo 4 ceros en la
columna de X, los mismos pueden provenir de 4 maxitrminos que fueron finalmente
multiplicados. Podemos entonces construir 4 columnas auxiliares como muestra la
siguiente tabla, cada una de ellas correspondiente a un maxitrmino con la
responsabilidad de generar slo 1 de los ceros que presenta X.

En la tabla se observa como la funcion X es, simplemente, el producto de esos


4 maxitrminos, es decir:
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

78

Arquitectura de Computadoras I UNPAZ

Expresion que tambin podra escribirse, utilizando la simbologa alternativa


mencionada para los maxiterminos:

X=S0.S2.S4.S7
E inclusive, usando el smbolo productoria () y una notacin ms compacta,
tambin como:

X= S(0, 2, 4, 7)
Esta metodologa para obtener la expresin algebraica de una funcin cuya tabla
de verdad es conocida puede generalizarse fcilmente, generalizacin que recibe el
nombre de Teorema general de los maxitrminos, el que establece que:
Toda funcin lgica puede ser expresada como el producto de los maxitrminos
correspondientes a los renglones de la tabla de verdad en que dicha funcin vale 0.
De acuerdo al procedimiento descripto, una funcin, por tener una nica tabla de
verdad, tiene tambin una nica forma de expresarse como producto de maxitrminos.
Al ser esta expresin nica para una funcin dada, puede ser utilizada como una forma
normalizada de expresar dicha funcin, por lo que recibe el nombre de segunda forma
cannica.
Este teorema tiene dos corolarios:

El primer corolario establece que el producto de todos los maxitrminos que se


pueden formar con ciertas variables es igual a 0. Esto es, para el caso de 3
variables:

S0.S1.S2.S3.S4.S5.S6.S7 = 0
Esto es as porque aportando cada uno de los maxitrminos un 0 en un rengln
distinto de la tabla de verdad, considerando el producto de todos ellos se obtiene
una funcin que vale 0 en todos los renglones de la tabla y es, por lo tanto, igual
a 0.

El segundo corolario establece que el producto de algunos de los maxitrminos


que se pueden formar con ciertas variables es igual a la negacin del producto
de los maxitrminos restantes. Esto es as, porque todo lo que no es X, es .
Ejemplificando para el caso de la funcin X de 3 variables ya estudiada:

2.8.5. Conjunto completo de operaciones


Hemos definido anteriormente las tres operaciones bsicas del lgebra de
conmutacin: el producto lgico, la suma lgica y la inversin. Pero caba hasta este
momento la siguiente duda: utilizando slo estas tres operaciones se podr representar
cualquier funcin lgica, o ser necesario para ello introducir alguna otra operacin?
Despus de haber visto los Teoremas Generales de los minitrminos y los
maxitrminos, que permiten expresar cualquier funcin lgica, y no requieren de ningn
otra operacin ms que las tres bsicas, podemos dar respuesta categrica a esa
pregunta. Las tres operaciones bsicas del lgebra de conmutacin forman un conjunto
completo de operaciones, entendiendo por tal que las operaciones de ese conjunto
bastan para expresar cualquier funcin lgica.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

79

Arquitectura de Computadoras I UNPAZ


Ello no entra en contradiccin con la posible conveniencia (no necesidad) de
definir otra operacin. Antes de terminar este captulo introduciremos una nueva
operacin denominada O exclusiva.
Quiere el lector demostrar que, incluso, bastan dos de las tres operaciones
bsicas para formar un conjunto completo de operaciones, si una de ellas es la
negacin?

2.8.6. Diagrama de Venn, tabla de verdad y minitrminos


El diagrama de Venn guarda una estrecha relacin con la tabla de verdad.
Efectivamente, si se observa el diagrama de Venn correspondiente a 2 variables, se
notar en la siguiente figura (donde el crculo deja izquierda representa a A, y el de la
derecha a B) que pueden definirse en el mismo cuatro sectores:. , . , . . ,
que se corresponden con los cuatro renglones de una tabla de verdad para esas
variables (o, lo que es equivalente, a los 4 minitrminos que se pueden formar con esas
dos variables).

Esto tambin puede observarse en la figura siguiente, donde se muestra el caso


del diagrama de Venn para 3 variables y los 8 sectores que se forman, cada uno de ellos
equivalente a un minitrmino. El crculo superior izquierdo representa a la variable A, el
superior derecho a la B, y el inferior a la C.

Figura 2-6 - Relacin entre sectores del diagrama de Venn y minitrminos

Es as que una funcin para la que su tabla de verdad muestre un 1 en


determinado rengln, en el diagrama de Venn de esa funcin el sector correspondiente
estar marcado, tpicamente con un rayado o un sombreado. Por esta vinculacin con
la tabla de verdad es que el diagrama de Venn se presta muy fcilmente para
representar una expresin del tipo suma de productos, ya que permite efectuar tanto a
estos como a suma final en forma grfica. Por ejemplo, consideremos la funcin
siguiente que ya ha sido tomada como ejemplo en apartados anteriores.

La figura que sigue muestra la representacin de dicha expresin en el diagrama


de Venn. El producto se halla representado por la zona rayada oblicuamente (///), el
producto por el rayado oblicuo en sentido contrario (\\\) y el producto con el
rayado horizontal. La funcin X, lgicamente, est representada por los 4 sectores

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

80

Arquitectura de Computadoras I UNPAZ


rayados (una de ellos con doble rayado, pero esta circunstancia carece de importancia).
El lector comprobar que estos 4 sectores corresponden a los minitrminos
, , , es decir, los 4 minitrminos que intervienen en la primera forma
cannica de la funcin X, como hemos visto en un apartado anterior.

2.9. Introduccin a la simplificacin de funciones lgicas


2.9.1. Justificacin de la necesidad de la simplificacin de funciones
Como ya se ha visto, una misma funcin lgica admite ser representada con
diversas expresiones algebraicas equivalentes.
Pero cuando se trata de realizar una funcin por medio de contactos, como se
viera en este captulo, o por medio de compuertas, como se ver en el captulo siguiente,
interesa individualizar, de todas las expresiones equivalentes, aquella que implique un
mnimo costo de realizacin.
En un circuito lgico con contactos, el costo radica exclusivamente en los
contactos empleados, no habiendo gasto asociado a las operaciones a efectuar. As, el
costo de una operacin AND entre un par de contactos (que se realiza conectndolos
en serie), reside totalmente en el costo de los contactos, pues la conexin en serie se
realiza sin costo alguno. Por lo tanto, la expresin ms simple de una funcin lgica
resulta aquella que logra minimizar el nmero de contactos. Como cada vez que
interviene una variable en la expresin de una funcin se requiere la colocacin de un
contacto en el circuito fsico, el criterio de mnimo costo seala como expresin ms
simple (o expresin mnima) a aquella en que resulta mnimo el nmero de veces que
figuran las distintas variables en dicha expresin.
Pero cuando se trata de compuertas, como veremos en el siguiente captulo,
adems del costo propio de cada variable que interviene en una expresin, debe
tomarse en cuenta el costo de las operaciones a realizar. El criterio de costo no es,
entonces, idntico al caso de los contactos. Pero como la reduccin del nmero de
veces que intervienen las variables en la expresin de una funcin conduce
generalmente a una reduccin en el nmero de operaciones y/o a reducir el nmero de
operandos de las mismas (lo que tambin conduce a una disminucin de costos), se
acepta corrientemente que el criterio de costo que hemos aceptado para los contactos
es tambin vlido para el caso de compuertas, y ser de aplicacin en el captulo
respectivo.
El proceso de encontrar la expresin ms econmica de implementar fsicamente
se conoce con el nombre de minimizacin o simplificacin de funciones lgicas. Este
proceso suele realizarse en la prctica por medio de uno de los dos siguientes mtodos:

por aplicacin manual de un mtodo grfico (mtodo del mapa de Karnaugh)


por aplicacin de algn mtodo computacional.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

81

Arquitectura de Computadoras I UNPAZ


En lo que sigue de este captulo se presenta en detalle el mtodo grfico que
empica el mapa de Karnaugh, y se dan nociones sobre los mtodos computacionales.

2-9.2. Fundamentos para la simplificacin de funciones


Para analizar los fundamentos de los mtodos de simplificacin de funciones
lgicas es necesario comenzar definiendo lo que se conoce como minitrminos
adyacentes.
Minitrminos adyacentes (luego veremos la razn de esa denominacin) son
productos cannicos que coinciden en todas las variables excepto en una, en que la
diferencia radica, naturalmente, en que en uno de ellos aparece invertida, y en el otro
no.
Por ejemplo, tratndole de un problema de 4 variable A, B, C y D, resultan
minitrminos adyacentes los productos cannicos;

.
Ya, que no observa que coinciden en ellos, las variables D (en ambos, casos
esta invertida), C (en ambos casos, est en forma normal) y A (invertida en ambos,
casos), mientras que la variable B esta invertida en un caso y en el otro no.
Si en una expresin que busquemos simplificar estuviese presente la suma de
ambos miniterminos, podra intentarse una simplificacin sacando factor comn de
aquellas variables en que coinciden, obtenindose lo siguiente, tras una simple
manipulacin algebraica que no requiere mayor explicacin:

. + = ( + ) = . 1 =
Se observa, entonces, que la suma de 2 minitrminos adyacentes condujo a un
nico trmino (un producto de orden 1), el que slo conserva las variables comunes a
los mnitrminos, habiendo desaparecido la variable que no tenan en comn. Se notar
que ste es un caso de la propiedad de adyacencia que habamos analizado en un
apartado anterior.
Este resultado no es en modo alguno particular: la suma de todo par de
minitrminos adyacentes conduce a un producto de orden 1 cuya expresin es mucho
ms simple que la suma de partida. Por eso un proceso de simplificacin puede
encararse a partir de la expresin de la funcin a simplificar como suma de minitrminos,
seguida de un proceso de inspeccin para determinar pares de minitrminos adyacentes
cuya suma pueda simplificarse.
El proceso de identificar minitrminos adyacentes puede realizarse a partir de la
expresin cannica, pero resultara mucho ms simple s se utilizase un mtodo grfico
equivalente (como por ejemplo el diagrama de Venn), especialmente s el diagrama
permitiese detectar las adyacencias existentes por simple golpe de vista.
As ocurre, efectivamente. Recordemos el diagrama de Venn de 3 variables de
la figura 2-6 que ac reproducimos por conveniencia. En l habamos identificado a cada
uno de los sectores all formados con un minitrmino.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

82

Arquitectura de Computadoras I UNPAZ

Consideremos, por ejemplo, el minitrmino


El mismo tendr 3 minitrminos, adyacentes, que coincidirn con l excepto en
las variables C, B y A respectivamente. Ellos son , .
S ahora identifica el lector en el diagrama anterior el sector correspondiente al
mininitermino mencionado, observar que, como todos los otros, tiene 3 lados (aunque
de diferente forma). Linda, por lo tanto, con otros 3 sectores (que le son adyacentes)
con los que comparte uno de sus lados. Note el lector como los 3 sectores adyacentes
se corresponden con los 3 miniterminos adyacentes de minitermino dado que
enumeramos ms arriba.
Este resultado es absolutamente general: dos minitrminos adyacentes ocupan,
en el diagrama de Venn, posiciones adyacentes. De all el nombre elegido de
minitrminos adyacentes.
Resulta entonces que una funcin representada en el diagrama de Venn
permitir muy fcilmente ser simplificada porque la adyacencia puede ser reconocida
mediante una rpida inspeccin visual.
Sin embargo, el diagrama de Venn tiene una limitacin, consistente en que su
trazado slo es sencillo con hasta 3 variables. Resulta deseable concebir alguna
extensin de dicho diagrama para permitir su uso con un nmero mayor de variables.
Tal extensin es lo que se conoce con el nombre de mapa de Karnaugh, el que se
describe en la siguiente seccin.

2.10. El mapa de Karnaugh


2.10.1. El mapa de Karnaugh como tabla de verdad
El mapa de Karnaugh no es sino una tabla de verdad a la que se le ha cambiado
su forma de presentacin para que guarde cierta similitud con el diagrama de Venn, con
el objeto de aprovechar la ventaja de ste de facilitar la localizacin en forma sinptica
de las adyacencias entre minitrminos que permitan llegar una expresin minimizada de
la funcin representada. Este mapa fue desarrollado a mediados del siglo XX, en forma
separada y casi simultneamente, pero con algunas diferencias, por Edward Veitch y
Maurice Karnaugh, razn por la cual algunos autores los llaman mapa de VeitchKarnaugh o, ms simplemente, mapa VK. Ac lo llamaremos mapa de Karnaugh, o
mapa K, porque las caractersticas del mapa que emplearemos se aproxima ms al
diseo que ste hiciera, que al que produjera Veitch.
Es as como el mapa de Karnaugh es, en realidad, una tabla de verdad a doble
entrada, donde los valores que toma la funcin no se exhiben uno tras el otro (en forma
unidimensional) sino dispuestos en forma de matriz de dos dimensiones. As, por
ejemplo, una tabla de verdad correspondiente a una funcin F que sea la suma mdulo
2 de dos variables B y A (F=BA), puede representarse por medio de la tabla de verdad
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

83

Arquitectura de Computadoras I UNPAZ


vista hasta ahora, o con la forma de doble entrada como ac se menciona. Ambos casos
se dan en la figura que sigue:

La figura muestra tambin como pasar de un rengln de la tabla de verdad a un


casillero del mapa de Karnaugh. Los otros renglones se pasan de similar manera,
dejndose al lector la tarca de verificar que se ha procedido a efectuar ese pase en
forma correcta.
Es as como un rengln de la tabla de verdad que representa a un minitrmino,
tiene como homlogo a un casillero en el mapa de Karnaugh. Por lo tanto, en un mapa
de Karnaugh deber haber siempre tantos casilleros como minitrminos, por lo que un
mapa correspondiente a 3 variables tendr 8 casilleros (distribuidos en forma matricial
en un rectngulo de 2 filas x 4 columnas), uno de 4 variables tendr 16 casilleros (en
una disposicin de 4 x 4), etc.
Por ejemplo, un mapa de Karnaugh para 3 variables C, B y A, si se hace que el
valor de la variable C determine la fila de la matriz, mientras que los valores de B y A
combinados fijen la columna, queda como sigue:

La figura muestra tan slo el esquema general de un mapa de dichas


caractersticas, ya que no se ha representado dentro de l ninguna funcin en particular.
Un aspecto fundamental del mapa de Karnaugh, que seguramente habra
llamado la atencin del lector si es que se percat de ello, es que el orden en que se
han numerado las columnas no es el correspondiente a la numeracin binaria (00, 01,
10, 11) sino el que caracteriza al cdigo Gray (00, 01, 11, 10). Este orden es
absolutamente necesario y es tambin el empleado en los mapas de Karnaugh de mayor
nmero de variables. Su empleo se justifica en razn de que en el cdigo Gray se pasa
de una combnacion del cdigo a la siguiente cambiando un slo bit, por lo que dos
casilleros que son adyacentes, como solo difieren en un nico bit, representan a
miniterminos adyacentes. Gracias a esto, el mapa de Karnaugh al igual que el diagrama
de Venn, facilita la localizacin en forma sinptica de las adyacencias entre minitrminos
que permitan llegar una expresin minimizada de la funcin representada. Considrese
el mapa siguiente:

En l se ha identificado el minitrmino:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

84

Arquitectura de Computadoras I UNPAZ


Se han marcado con asterisco aquellos casilleros que son adyacentes el referido
minitrmino, y el lector podr comprobar que corresponden, justamente, a los 3
minitrminos adyacentes del mismo. As, ala izquierda, a la derecha y sobre el
minitrmino considerado se hallan respectivamente los casilleros correspondientes a los
minitrminos: , , que son sus adyacentes.
Esta situacin es similar en el caso de los otros minitrminos, aunque el caso de
aquellos minitrminos cuyos casilleros estn en uno de los extremos de una hilera de 4
merece una aclaracin Consideremos el siguiente ejemplo, en el que se ha identificado
un minitrmino, y sealado con asteriscos sus minitrminos adyacentes.

El lector podr comprobar que el minitrmino adyacente del propuesto en el


mapa que slo difiere de l e la variable B, se encuentra en el extremo opuesto de la
hilera. Esto es as porque siendo el cdigo Gray un cdigo cclico, la primera
combinacin del cdigo y la ltima slo difieren en un bit. Vemos entonces que podemos
considerar que son adyacentes los casilleros ubicados en los extremos de una hilera).
Para aceptar esto mejor quizs el lector quiera considerar al mapa como una
representacin plana de algo que es en realidad un cilindro, que se pone en evidencia
cuando se lleva en el espacio a coincidir el borde derecho del mapa con el izquierdo,
demostrando as que los extremos se tocan.
Veamos un ejemplo de uso de este mapa de 3 variables. Retomemos la siguiente
funcin ya presentada en el apartado 2.6 del presente captulo.

= + +
Su tabla de verdad, deducida en su momento, era:

El mapa de Karnaugh se obtiene transcribiendo el contenido de los sucesivos


renglones de la tabla de verdad a los correspondientes casilleros del mapa (sin dejarse
confundir por el diferente orden que en cada caso se usa). Si se presenta
provisoriamente el resultado parcial luego de transcribir los primeros 3 renglones, para
el mejor seguimiento de la forma de realizacin por parte del lector, resulta:

Y finalmente, se llega a:
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

85

Arquitectura de Computadoras I UNPAZ

Para el caso de un mapa de 4 variables, con 16 casilleros dispuestos en forma


de 4 x 4 y respetando la numeracin Gray, resultan mapas de la forma que se muestra
a continuacin para el caso en que las 4 variables sean D,C, B y A.

En el mismo mapa se han marcado con sendos signos de interrogacin dos


minitrminos. Se invita al lector a localizar mentalmente,y en pocos segundos, los
casilleros correspondientes a los 4 minitrminos adyacentes a uno de ellos.

2.10.2. Representacin de funciones lgicas


El mapa de Karnaugh, si bien formalmente es una tabla de verdad a doble
entrada, puede ser visualizado como una forma estilizada del diagrama de Venn, donde
los campos de las diferentes variables no son crculos sino rectngulos o cuadrados. La
figura que sigue muestra mapas de Karnaugh de 2, 3 y 4 variables, a los que se les ha
superpuesto indicadores que demarcan los campos de las diferentes variables. Dado
que hemos incorporado esos indicadores slo con propsitos didcticos, ya que en la
prctica profesional los mismos no son empleados, slo haremos uso de los mismos en
el presente apartado tras lo que suponemos que el lector habr adquirido la familiaridad
con el mapa que le permitir prescindir de esa ayuda.

Ya hemos visto que se puede representar muy fcilmente una expresin lgica
del tipo Suma de Productos mediante el diagrama de Venn, ya que slo se deben marcar
aquellos sectores que se corresponden con los diferentes productos presentes en la
expresin. Lo mismo es tambin vlido para el mapa de Karnaugh, con la diferencia que
en el diagrama de Venn la marcacin se acostumbra a realizar mediante algn tipo de
sombreado, mientras que en el mapa de Karnaugh, tratndose de una tabla de verdad,
los casilleros se marcan inscribiendo en su interior un 1.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

86

Arquitectura de Computadoras I UNPAZ


Dada la forma particular que tienen los campos de las variables (rectngulos y
cuadrados), los productos de variables toman tambin formas particulares, no
demasiado numerosas, que conviene tener presente pues resultar ms adelante de
utilidad al ver la simplificacin de funciones lgicas en el prximo apartado.
As, tenemos:
1) Un minitrmino se presenta en el mapa de Karnaugh como un nico casillero
conteniendo un 1.
2) Un producto de orden 1, es decir, aquel al que le falta una de las variables, como
dicha variable puede tomar dos valores distintos, se representa por dos casilleros
conteniendo un 1. Dichos casilleros estarn dispuestos en una de las 2
configuraciones siguientes posibles:
a) en forma adyacente
b) en los extremos de una hilera (fila o columna)
En la figura que sigue se ejemplifican estos dos casos, uno de ellos para un
mapa de 3 variables, y el otro para uno de 4. En ambos casos hemos hecho uso de una
opcin de uso frecuente, consistente en no colocar explcitamente los ceros en aquellos
casilleros en que as corresponde, dejando implcito que todo casillero vaco debe
entenderse como ocupado con un 0.

3) Un producto de orden 2, es decir aquel al que le faltan dos variables, dado que
dichas variables pueden tomar, en conjunto, 4 valores distintos, se representa
por 4 casilleros conteniendo un 1. Dichos casilleros estarn dispuestos en una
de las 4 configuraciones siguientes posibles:
a) en forma de cuadrado de 2x2
b) en forma de una hilera de 4
c) como los 4 vrtices de un rectngulo de 2x4 (apaisado o esbelto)
d) como los 4 vrtices de un cuadrado de 4x4
En la figura que sigue se ejemplifican estos cuatro casos utilizando sendos
mapas de 4 variables.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

87

Arquitectura de Computadoras I UNPAZ

4) Un producto de orden 3, es decir aquel al que le faltan tres variables, dado que
dichas variables pueden tomar, en conjunto, 8 valores distintos, se representa
por 8 casilleros conteniendo un 1. Dichos casilleros estarn dispuestos en una
de las 2 configuraciones siguientes posibles.
a) en forma de un rectngulo de 2x4 (apaisado o esbelto)
b) en forma de los lados opuestos de un cuadrado de 4x4.
En la figura que sigue se ejemplifican estos dos casos para el caso de un mapa
de Karnaugh de 4 variables. Tratndose de productos de orden 3 entre 4 variables, al
faltar 3 de ellas, el producto se degenera, quedando una nica variable.

Con estas herramientas podemos representar en forma simple una funcin lgica
cualquiera a partir de su expresin algebraica como suma de productos. Para ilustrar el
procedimiento, retomemos la funcin X que utilizramos como ejemplo en el apartado
anterior, para representarla en el mapa de Karnaugh directamente a partir de su

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

88

Arquitectura de Computadoras I UNPAZ


expresin algebraica, en lugar de hacerlo previa obtencin de la tabla de verdad como
se hiciera en ese apartado. Recordemos que la expresin de X era:

= + +
El mapa de Karnaugh es el que se da a continuacin. En l:

el primero de los trminos de la suma, un producto de orden 1, corresponde a


los dos unos de la columna 01 (que para mejor indicar que provienen de un slo
trmino han sido agrupados en el mapa).

el segundo trmino, tambin un producto de orden 1, corresponde al grupo de


dos unos de la primera fila (tambin agrupados para mayor claridad).

el ltimo trmino, un minitrmino, corresponde al 1 aislado que muestra el mapa.

El lector podr comprobar que este mapa coincide con el visto en el apartado
anterior, a excepcin de los grupos que ac se dibujaron y, en esa oportunidad no. En
realidad, los grupos no suelen explicitarse en la prctica profesional, cuando se trata de
la mera representacin de una funcin lgica. Si as se lo ha hecho ac, ha sido
exclusivamente por razones didcticas. Sin embargo, volveremos al tema del
agrupamiento cuando en el apartado siguiente veamos simplificacin de funciones
lgicas empleando el mapa de Karnaugh.
Del mapa anterior surge una observacin de inters: uno de los unos del mapa
figura en el mismo por un doble motivo, porque dos de los productos lo generan.
Naturalmente el casillero correspondiente debe contener un nico 1 ya que 1 + 1 = 1.
Una observacin similar a sta se realiz en este mismo captulo, al analizar la figura 27, que era justamente el diagrama de Venn de esta misma funcin X, y donde uno de
los sectores apareca con un doble rayado por idntica circunstancia.

2.10.3. Simplificacin de funciones lgicas como Sumas de Productos


Sabernos que, si una funcin lgica tiene una expresin algebraica consistente
en la suma de varios trminos, el hecho de que cualquiera de esos sumandos tome el
valor 1, hace que tambin la funcin tome ese valor, ya que el valor 1 de cualquier
sumando implica el valor 1 de la suma. Es por ello, que cuando una funcin est
expresada como suma de ciertos trminos, a estos trminos se los designa con el
nombre de implicantes.
El mapa de Karnaugh, permite, como veremos en seguida, obtener la expresin
mnima del tipo Suma de Productos de una funcin lgica dada, donde cada producto
que interviene en la expresin, por lo que se acaba de decir, es calificado como
implicante.
Justamente la ventaja del mapa de Karnaugh es que permite obtener la
expresin ms simple a travs de un mecanismo que asegura:

que el nmero de implicantes es reducido al mnimo

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

89

Arquitectura de Computadoras I UNPAZ

que los implicantes son productos del mayor orden posible (o sea con el mayor
faltante de variables posible)

Para cumplir con este ltimo propsito, gracias a que los productos de diverso
orden tienen configuraciones de unos en el mapa que son caractersticas y que se han
visto en el apartado anterior, el mapa de Karnaugh provee un medio visual de reconocer
grupos de unos que pueden ser reemplazados por un nico producto. De acuerdo a lo
visto en el apartado anterior, los grupos de unos que pueden as ser simplificados son:

2 unos adyacentes
2 unos en los extremos de una hilera de 4
4 unos formando un cuadrado de 2x2
4 unos formando una hilera
4 unos ubicados como los vrtices de un rectngulo de 2x4
4 unos ubicados como los vrtices de un cuadrado de 4x4
8 unos en forma de un rectngulo de 2x4
8 unos en forma de los lados opuestos de un cuadrado de 4x4.

Las reglas para simplificar funciones a partir del mapa de Karnaugh podran
expresarse de la siguiente forma:
1. Formar grupos de unos simplificables buscando que el nmero de grupos sea el
menor posible, pero consiguiendo que todos los unos sean miembros de al menos
un grupo (pudiendo pertenecer a dos o ms, si as conviniese para mayor
simplificacin). Los unos que no puedan agruparse con otros por carecer de
adyacentes, revistarn como un grupo de un nico miembro.
2. Comprobar que ninguno de los grupos formados sea englobable en un grupo
simplificable de mayor nmero de miembros. Todo grupo que no cumpla esta
condicin debe ser reemplazado por ese grupo mayor (al que le corresponder un
producto de mayor orden y, por lo tanto, de menos variables y consiguiente menor
costo).
3. Comprobar que todos los grupos formados incluyan, al menos, un 1 que no est
incluido en otros grupos. Todo grupo que no cumpla esta condicin debe ser
descartado (ya que su eliminacin cumple el objetivo expresado en el paso 1 de
obtener el mnimo nmero de grupos que logre que todos los unos sean miembros
de algn grupo).
4. A cada grupo formado cumpliendo con los pasos precedentes le corresponder un
producto donde figuren como factores slo aquellas variables que son comunes a
todos los miembros del grupo. As:

si cierta variable vale 1 para todos los integrantes del grupo, dicha variable
aparecer en el producto en forma normal.

si cierta variable vale 0 para todos los integrantes del grupo, dicha variable
aparecer en el producto en forma negada.

si cierta variable vale 1 para algunos integrantes del grupo, y 0 para otros,
dicha variable no aparecer en el producto.

5. La expresin mnima del tipo Suma de Productos de la funcin dada ser la suma
de los productos determinados en el paso anterior.
Por ejemplo, sea la siguiente funcin, en la que ya se ha realizado el agrupamiento.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

90

Arquitectura de Computadoras I UNPAZ

El grupo de 4 unos comparte las variables D=0 y B=1.


Corresponde, entonces, al producto
El grupo de 2 unos comparte las variables D=1, C=1 y B=0.
Corresponde, entonces, al producto
Y la expresin mnima tipo Suma de Productos correspondiente a la funcin dada es,
entonces:

+
Quizs las reglas recin dadas sean algo ingenuas, en el sentido que
descuidan algunos de los problemas que pueden presentarse en su utilizacin. Pero
igualmente haremos uso de ellas en varios ejemplos para ilustrar su empleo, tras lo que
podremos perfeccionarlas una vez puestas en evidencia sus limitaciones.

. +
La funcin se obtiene fcilmente con la adicin de los
productos que corresponden a los 2 grupos marcados

. +
Como uno de los unos est aislado, figura como un grupo
de un solo miembro, por lo que su producto
correspondiente es un minitrmino.

+ +
Pudiendo un 1 participar de ms de un grupo a los
fines de una mayor simplificacin, es correcto hacerlo
as.
+
Sera incorrecto tomar, en lugar del cuadrado (que da lugar
a un producto de orden 2), al grupo de 2 unos de la
segunda fila (que origina un producto de orden 1 y por
ende con una letra ms).
Este ltimo ejemplo nos recuerda (paso 2 de las reglas antes vistas) que cuando
se agrupa un cierto nmero de unos, se debe comprobar que los mismos unos no
pueden agruparse junto a otros en un grupo mayor porque, si es as, debe usarse el
grupo mayor. Se define como implicante primo a un grupo simpiificable que no est

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

91

Arquitectura de Computadoras I UNPAZ


incluido ntegramente dentro de otro grupo mayor. El grupo de los dos unos de la
segunda fila no es un implicante primo, pero el grupo de 4 que lo engloba lo es. En una
expresin simplificada solo deben estar presentes implicantes primos.

+
Ac hubiese sido un error agrupar los dos unos de la
derecha sin advertir que los mismos no son un implicante
primo, pues pueden agruparse de a 4, con los que estn
en el otro extremo.
En este ltimo ejemplo se exhibe la forma en que se suele representar un grupo
que incluye elementos ubicados en extremos opuestos del mapa. El grupo no suele
dibujarse como un lazo completo, sino que la unin de sus dos partes queda implcita
en las lneas abiertas. El ejemplo que sigue usa tambin esta simbologa.
. +
An cuando puede formarse un grupo con los dos unos
a la izquierda de la primera fila, ello es innecesario pues
todos los unos de la funcin ya estn cubiertos. Su
inclusin conducira a una expresin menos simple pues
tendra un trmino ms.
Este ltimo ejemplo nos recuerda (paso 3 de las reglas) que no deben aparecer
en la expresin todos los grupos que se pueden formar en el mapa sino solo los
estrictamente necesarios para cubrir a toda la funcin, no considerando aquellos grupos
que slo incluyen unos ya incluidos en otros grupos.

. + + +
En este caso, parecido al ejemplo anterior, no debe
tomarse el grupo de 4 unos centrales que sobrara. Sin
embargo, al resolver el mapa parece natural comenzar
formando ese grupo, equivocacin inducida por su
tamao mayor que el del resto.

Este ltimo ejemplo sugiere que, al empezar a resolver un mapa de Karnaugh,


no se comience a agrupar de cualquier forma, sino en alguna manera que asegure que
los grupos que se formen no resulten, a la postre, innecesarios. Para ello conviene
definir los trminos minitrminos destacados e implicantes esenciales. Minitrminos
destacados son aquellos que slo pueden agruparse dentro un nico implicante primo.
Implicantes esenciales son aquellos implicantes primos que forzosamente deben figurar
en la expresin final pues son los nicos que pueden agrupar a determinado minitrmino
destacado. En el ejemplo anterior todos los grupos marcados son implicantes
esenciales, pues no hay otra forma de agrupar a los 4 unos que no estn en los casilleros
centrales que constituyen miniterminos destacados.
Por lo tanto, lo recomendable es comenzar el proceso de simplificacin
detectando los eventuales miniterminos destacados que hubiera y sus correspondientes
implicantes esenciales, para luego proseguir agregando los otros implicantes primos

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

92

Arquitectura de Computadoras I UNPAZ


que fueran necesarios para completar la funcin. En el ejemplo anterior, por lo que no
advierte, no fue necesario ningn implicante primo adicional a los esenciales.
En los dos ejemplos que siguen, para facilitar identificar a los miniterminos
destacados, los marcaremos con un punto negro. Realizamos esta marcaciontan solo a
los fines didcticos, porque no es comn hacerlo en la prctica, y no lo haremos en
futuros apartados.

+ + .
En este caso, los implicantes esenciales bastaron para
expresar a la funcin. En particular, el haber procedido
primero con los trminos esenciales evit comenzar
agrupando la hilera de 4 de la segunda fila, ipic una vez.
completado el agrupamiento podra no haberse advertido
que resulta totalmente innecesaria.

. + . + +
En este caso hay presentes tres implicantes esenciales
que no bastan para cubrir la funcin, restando sin figurar
en ella el tercer 1 de la segunda fila. Es por ello que fue
necesario agregar, a los implicantes esenciales, un
cuarto implicante. Si bien el mapa muestra que se agrup
el uno faltante con su adyacente ubicado inmediatamente
abajo de l. tambin se hubiese podido agruparlo con su
adyacente a la izquierda.

. + . + +
En este caso no hay implicantes esenciales, por lo que
puede comenzarse por cualquier grupo. Este ejemplo
tambin tiene dos soluciones, pero la segunda es muy
diferente a la que ac se expone. Se deja a cargo del
lector obtenerla.
Por todo lo visto, estamos en condiciones de dar una nueva y mejor versin de
las reglas vistas ms arriba para simplificar funciones lgicas como Suma de Productos
mediante el mapa de Karnaugh:
1. Formar los grupos correspondientes a todos los implicantes primos esenciales
que tenga la funcin (si es que tiene alguno). En los casos en que con los
implicantes esenciales no se alcance a agrupar todos los unos de la funcin,
agregar los implicantes primos no esenciales que sean necesarios para ello,
tratando de que su nmero sea mnimo.
2. A cada grupo as formado le corresponder un producto donde figuren como
factores slo aquellas variables que son comunes a todos los miembros del
grupo. As;
si cierta variable vale 1 para todos los integrantes del grupo, dicha
variable aparecer en el producto en forma normal.
si cierta variable vale 0 para todos los integrantes del grupo, dicha
variable aparecera en el producto en forma negada.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

93

Arquitectura de Computadoras I UNPAZ


si cierta variable vale 1 para algunos integrantes del grupo, y 0 para
otros, dicha variable no aparecer en el producto.
3. La expresin mnima del tipo Suma de Productos de la funcin dada ser la suma
de los productos determinados en el paso anterior.

2.10.4. Simplificacin como Producto de Sumas


Hemos visto en el apartado anterior que el mapa de Kamaugh puede ser
empleado para obtener la mnima expresin tipo Suma de Productos, de una funcin
lgica. En el presente apartado veremos que tambin es posible obtener una expresin
mnima tipo Producto de Sumas. Para comprender el procedimiento, realizaremos
primero la simplificacin como Suma de Productos de la inversa de una funcin dada.
Sea el caso de la funcin cuyo mapa de Karnaugh se da, y que ya fuera utilizada como
ejemplo en el apartado anterior. Para poder referimos a ella con un nombre,
designmosla como funcin Y.

Como hemos de trabajar con la inversa de esta funcin, realizaremos el mapa


de Karnaugh de sta que es, simplemente, el mapa de Kamaugh de la funcin original
en la que los valores de la misma se cambian los unos por los ceros y viceversa,
llegndose al siguiente mapa, al que ya se le han marcado los agrupamientos
apropiados para su simplificacin:

La expresin mnima de esta funcin invertida resulta, entonces:

= . + +
Y ahora, despejando Y pasando de miembro la negacin que la afecta:

= . + +
Y ahora aplicando la ley de Shannon que, recordemos, estipulaba que la
negacin de una funcin cualquiera es igual a la funcin dual de la misma con las
variables independientes negadas, la negacin que cubre todo el segundo miembro
puede eliminarse si se reemplaza lo que hay bajo dicha barra por el dual (esto es, se
remplazan los productos por sumas y viceversa) y se invierten todas las variables (es

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

94

Arquitectura de Computadoras I UNPAZ


decir,a las que no estn negadas se las invierte, y a las que ya estn negadas se les
quita la inversin). Tras este procedimiento se llega a:

= ( + + )( + )( + + )
Esta es una expresin tipo Producto de Sumas que, de todas las de su tipo, debe
ser la ms simple, ya que se ha obtenido a partir de la expresin minimizada de la
funcin negada. Vemos entonces que el mapa de Karnaugh permite tambin minimizar
este tipo de expresiones.
Sin embargo, en la prctica la expresin mnima como Producto de Sumas no
se obtiene exactamente con el mtodo expuesto, ya que suelen saltearse algunas
etapas. Por ejemplo, no se traza el mapa de Karnaugh de la funcin invertida para
agrupar los unos de sta, sino que se agrupan directamente los ceros de la funcin
original. Las reglas normalmente empleadas son los siguientes:
1. Agrupar en forma ptima los ceros de la funcin a simplificar.
2. Cada grupo se corresponde con una suma, donde cada una de las variables que
interviene en ella est invertida con relacin a la forma como aparecera si se
tratase de un grupo de unos. Es decir:

si cierta variable vale 1 para todos los integrantes del grupo, dicha
variable aparecer en la suma en forma negada.

si cierta variable vale 0 para todos los integrantes del grupo, dicha
variable aparecer en la suma en forma normal.

si cierta variable vale 1 para algunos integrantes del grupo, y 0 para


otros, dicha variable no aparecer en la suma.

3. La expresin mnima como Producto de Sumas se obtiene multiplicando las


sumas obtenidas en el punto anterior.
En nuestro ejemplo, el agrupamiento se realizara como sigue:

Y se llegara, por supuesto, a la misma expresin final:

= ( + + )( + )( + + )

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

95

Arquitectura de Computadoras I UNPAZ

Unidad 2: Circuitos Combinacionales y Secuenciales


CIRCUITOS COMBINACIONALES CON COMPUERTAS
3.1. Introduccin
Los circuitos de conmutacin ms tradicionales son los basados en contactos.
Pero ms modernamente los circuitos e conmutacin se hicieron electrnicos: primero
con vlvulas de vaco, luego con transistores, actualmente con circuitos integrados. El
mismo nombre ha tambin cambiado, ya que los circuitos de conmutacin electrnicos
suelen llamarse, preferentemente, circuitos lgicos. Este cambio tecnolgico ha
permitido eliminar partes mviles, reducir costos y tamaos, mejorar la calidad y la
confiabilidad, y aumentar la velocidad de operacin. Por esta razn los circuitos lgicos
electrnicos han reemplazado a los circuitos de conmutacin con contactos en todas las
aplicaciones, excepto en aquellas pocas en que se saca provecho de la mayor robustez
de los circuitos con contactos.
En los circuitos lgicos electrnicos se definen los dos estados caractersticos
del lgebra de conmutacin de manera muy diferente a como lo hacen los circuitos de
contactos. As, mientras estos ltimos definen los estados 0 y 1 como correspondientes
a los estados normal y operado de los contactos, y la continuidad o no en la transmisin,
en los circuitos lgicos estos estados lgicos se definen como dos niveles distintos de
tensin. As, un circuito lgico podr tener una o ms entradas y una o ms salidas,
cada una de las cuales solo podr tener un nivel de tensin que sea uno de 2 niveles
predeterminados (o prximos a ellos, ya que en la prctica se requiere y acepta cierta
tolerancia).
Los circuitos lgicos suelen clasificarse en dos tipos:
combinacionales
secuenciales
En los circuitos lgicos combinacionales el estado de las salidas (es decir, su
nivel de tensin) es, en cada momento, una funcin lgica del estado presente en las
diferentes entradas en ese momento, es decir, depende de la combinacin particular de
los valores que toman en cada instante dichas entradas. En cambio, en los circuitos
lgicos secuenciales el estado de la salida es, no slo funcin del estado que tienen en
ese momento las entradas, sino tambin de la secuencia previa de las mismas.
Postergaremos para otro captulo el estudio de los circuitos lgicos secuenciales,
y nos restringiremos por el momento al caso de los circuitos lgicos combinacionales,
cuyo estudio comenzaremos tratando el tema de las compuertas.

3.2. Las compuertas


Se han definido nueve circuitos lgicos combinacionales bsicos que suelen ser
utilizados como bloques funcionales para la realizacin de circuitos lgicos ms
complejos. Estos circuitos bsicos son denominados compuertas (en ingls, gates) y
pertenecen a esa categora los siguientes circuitos.

la compuerta AND
la compuerta OR
la compuerta inversora
la compuerta NAND

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

96

Arquitectura de Computadoras I UNPAZ

la compuerta NOR
la compuerta XOR
la compuerta XNOR
la compuerta buffer
la compuerta de transmisin

Las tres primeras compuertas son las llamadas compuertas fundamentales,


porque son las que implementan, como enseguida veremos, a las operaciones
fundamentales del Algebra de conmutacin (producto lgico, suma lgica y negacin).
Ellas permiten realizar cualquier funcin lgica ya que, como sabemos, las citadas
operaciones fundamentales del lgebra de conmutacin permiten expresar cualquier
funcin lgica.
Las siguientes cinco compuertas son denominadas compuertas derivadas y,
aunque no son imprescindibles, facilitan la realizacin de algunas funciones lgicas.
La ltima compuerta citada, la compuerta de transmisin, es una compuerta
especial que permite combinar la operacin de variables digitales con seales
analgicas.
Veamos a continuacin cada una de estas compuertas.

3.2.1. Las compuertas fundamentales


3.2.1.1. La compuerta AND
La compuerta AND (tambin llamada en forma castellanizada compuerta Y) es
el circuito lgico de 2 o ms variables de entrada que cumple la funcin producto lgico
(es decir la operacin AND) entre ellas, esto es, que presenta un 1 a su salida slo
cuando todas sus entradas estn en estado 1. As, la figura 3-1 muestra el smbolo de
uso habitual para representar a las compuertas AND, ejemplificado para el caso de una
compuerta de 2 entradas, y la tabla de verdad correspondiente.

3.2.1.2. La compuerta OR
La compuerta OR (tambin llamada en forma castellanizada compuerta O) es el
dual de la compuerta AND, y se define como el circuito lgico de 2 o ms variables de
entrada que cumple la funcin suma lgica (es decir, la operacin OR) entre ellas, esto
es, que presenta un 1 a su salida slo cuando alguna(s) de sus entradas est(n) en
estado 1. As, la figura 3-2 muestra el smbolo de uso habitual para representar a las
compuertas OR, ejemplificado para el caso de una compuerta de 2 entradas y la tabla
de verdad correspondiente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

97

Arquitectura de Computadoras I UNPAZ

Figura 3-2 - Smbolo y tabla de verdad de una compuerta OR de 2 entradas

3.2.1.3. La compuerta inversora


La compuerta inversora (tambin llamada compuerta NOT o, simplemente
inversor o negador) es el circuito que realiza la funcin negacin del Algebra de
conmutacin, es decir, que presenta un 0 a su salida cuando su nica entrada esta en
1 (y viceversa). As, la figura 3-3 muestra el smbolo de uso habitual para representar al
inversor. Y la tabla de verdad correspondiente. El pequeo crculo colocado a la salida
del smbolo se denomina indicador de negacin y en la simbologa habitual de las
compuertas seala que el terminal al que est asociado (una salida en este caso, pero
puede ser tambin una entrada) tiene un proceso de negacin interno a la compuerta.

Figura 3-3 - Smbolo y tabla de verdad de un inversor

3.2.2. Las compuertas derivadas


3.2.2.1. La compuerta NAND
La compuerta NAND es una compuerta equivalente a una compuerta AND (de
cualquier nmero de entradas) seguida de un inversor, es decir, con su salida negada,
de donde deriva su denominacin (una abreviatura de NOT AND), En la figura 3-4 se
muestra su circuito equivalente, smbologa y la tabla de verdad correspondiente a una
NAND de 2 entradas.

Figura 3-4 - Circuito equivalente, smbolo y tabla de verdad de una compuerta NAND

Se notar de la tabla de verdad que la compuerta NAND puede definirse como


una compuerta que tiene un 0 en su salida cuando todas sus entradas estn en 2. O,
alternativamente, como aquella cuya salida es 1 cuando alguna(s) de sus entradas
esta(n) en 0. Unos prrafos ms adelante volveremos sobre esta definicin alternativa.
En el smbolo de la compuerta NAND hemos utilizado el ya definido indicador de
negacin.
Vemos que la expresin a la salida de una compuerta NAND es la negacin del
producto de las entradas. Pero aplicando la ley de De Morgan acerca de la negacin de
un producto, puede encontrarse una nueva expresin algebraica para la salida de una
compuerta NAND. Mantenindonos en el ejemplo anterior de una compuerta de 2
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

98

Arquitectura de Computadoras I UNPAZ


entradas (pero anticipando que el resultado ser extrapolare al caso de mayor nmero
de entradas), se puede escribir;

. = +
Y esta expresin indica que la salida de la compuerta NAND tambin puede
expresarse con la suma de sus entradas negadas, por lo que tambin admite como
circuito equivalente el de una compuerta OR con todas sus entradas negadas, es decir,
una compuerta OR precedida de inversores en todas sus entradas.
Surgen, entonces, un nuevo circuito equivalente y n nuevo smbolo (que
denominaremos alternativos) para esta compuerta, los que se muestran en la figura
siguiente, donde en el smbolo alternativo hemos vuelto a usar el indicador de negacin,
pero esta vez asociado a las entradas.

Figura 3-5 - Circuito equivalente y smbolo alternativos de una compuerta NAND

Dado que los smbolos normal y alternativo para la compuerta NAND son
equivalentes y puede utilizarse indistintamente uno u otro, cabe preguntarse sobre la
ventaja de tener dos smbolos. Si bien uno slo bastara para todos los circuitos, hay
casos en que uno de los dos smbolos muestra ms claramente la funcin que realiza
la compuerta y, en esos casos, debera ser el preferido. Veamos a continuacin dos de
esos casos.
En primer lugar, recordemos que hemos definido una compuerta NAND como
aquella que presenta un 0 en su salida slo cuando todas sus entradas estn en estado
1, pero que tambin poda ser definida, alternativamente, como aquella cuya salida est
en 1 cuando alguna(s) de sus entradas esta(n) en 0. Es comn asociar las palabras
alguna de las entradas y todas las entradas a una OR y una AND respectivamente,
mientras que los trminos est en 0 o est en 1 a la presencia o ausencia
respectivamente de un indicador de inversin en la correspondiente entrada o salida.
En esas condiciones, el smbolo normal de la NAND dice que la salida est en 0
cuando todas las entradas estn en 1, mientras que el smbolo alternativo dice que la
que salida est en 1 cuando alguna de las entradas est en 0. Por lo tanto, en cada caso
se debera preferir el smbolo que ms se corresponda con la forma en que se prefiere
visualizar el funcionamiento de la compuerta.
En segundo lugar, el smbolo alternativo tambin tiene su campo de aplicacin
al dibujar circuitos complejos que incluyen varias compuertas interconectadas. En esos
casos se prefiere utilizar los smbolos alternativos en aquellos lugares del circuito donde,
al hacerlo, se logra que en ambos extremos de una conexin (o en ninguno de ellos)
aparezcan indicadores de negacin, pues en ese caso la accin de ambas inversiones
puede cancelarse mentalmente, y el circuito resulta ms fcil de analizar. As, la figura
siguiente muestra un mismo circuito que emplea tres compuertas NAND, pero dibujado
de dos formas distintas: en la primera se ha utilizado el smbolo normal de esas
compuertas, mientras que en la segunda se ha hecho empleado el smbolo alternativo
para una de ellas, logrando que en ambos extremos de las conexiones entre las
compuertas haya indicadores de negacin.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

99

Arquitectura de Computadoras I UNPAZ

Figura 3-6 - Ejemplo en que se saca ventaja del uso de la simbologa alternativa

El lector no tendr inconvenientes en determinar para el primer circuito la


expresin correspondiente a la salida del mismo, aunque para ello deber efectuar
algunas manipulaciones algebraicas. Por el contrario, la cancelacin mental de las dos
negaciones presentes en las interconexiones en el segundo circuito hace evidente que
la expresin de la salida es:
X=AB+CD
Se ve entonces, que un uso apropiado de los smbolos alternativos puede
simplificar la interpretacin de un circuito lgico con varias compuertas interconectadas.
Una caracterstica importante de las compuertas NAND es que es una compuerta
universal, entendiendo por tal que cualquier funcin lgica puede ser realizada utilizando
exclusivamente este tipo de compuerta. Demostraremos esta propiedad, probando que
con compuertas NAND se pueden realizar inversores, compuertas AND y compuertas
OR, y concluyendo que, como con estas compuertas fundamentales se puede realizar
cualquier funcin lgica, tambin puede esto hacerse usando exclusivamente
compuertas NAND. Para esta demostracin en tres partes nos basaremos en la figura
3-7.

Figura 3-7 - Inversor, compuerta AND y compuerta OR realizadas con compuertas NAND

En dicha figura se comprueba que:

Una compuerta NAND que tenga todas sus entradas en paralelo y conectadas a
una nica variable, por aplicacin de la propiedad de idempotencia (A.A=A), se
comporta como un inversor de esa nica variable.

Un inversor (hecho con una compuerta NAND) colocado a la salida de otra


compuerta NAND, compensa el inversor que ya tiene a la salida dicha compuerta
y da lugar al equivalente de una compuerta AND.

Una compuerta NAND (en este caso por mayor claridad representada por su
smbolo alternativo) precedida en cada una de sus entradas por sendos
inversores (cada uno de ellos hecho a su vez por medio de una compuerta
NAND), da lugar al equivalente de una compuerta OR.

3.2.2.2. La compuerta NOR


La compuerta NOR (dual de la NAND) es una compuerta equivalente a una
compuerta OR (de cualquier nmero de entradas) seguida de un inversor, es decir, con
su salida negada, de donde deriva su denominacin (una abreviatura de NOT OR). En

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

100

Arquitectura de Computadoras I UNPAZ


la figura 3-8 se muestra el circuito equivalente, la simbologa y la tabla de verdad
correspondiente a una NOR de 2 entradas.

Figura 3-8 - Circuito equivalente, smbolo y tabla de verdad de una compuerta NOR.

Se notar de la tabla de verdad que la compuerta NOR puede definirse como


una compuerta que tiene un 0 a su salida cuando alguna(s) de sus entradas est(n) en
1. O, alternativamente, como aquella cuya salida es 1 cuando todas sus entradas estn
en 0. Esta ltima forma de definir a una compuerta NOR da origen a que se emplee un
smbolo alternativo al que muestra la figura 3-8, segn se ve en la figura 3-9.

Figura 3-9 - Circuito equivalente y smbolo alternativos de la compuerta NOR.

El procedimiento para justificar este smbolo alternativo es totalmente anlogo al


visto para el caso de la compuerta NAND, y en la figura anterior se realiza con el auxilio
de una de las leyes de De Morgan. All se prueba que puede lograrse una compuerta
NOR, no slo a partir de una compuerta OR seguida de un inversor a su salida (como
se hiciera en la figura 3-8) sino tambin a partir de una compuerta AND precedida de
inversores en cada una de sus entradas (por eso en el smbolo alternativo se usa una
AND con indicadores de inversin en todas sus entradas). Debe quedar claro que ambos
smbolos, el normal y el alternativo, representan a la misma compuerta NOR, y por lo
tanto, pueden ser usados indistintamente. La conveniencia de la existencia de dos
smbolos es, nuevamente, para permitir que, de ser posible, en el dibujo de la lnea de
interconexin entre la salida de una compuerta y la entrada de otra haya, o bien un
indicador de negacin en ambos extremos (para poder eliminarlos mentalmente al
estudiar el comportamiento del circuito por cancelarse ambas inversiones mutuamente),
o bien no lo haya en ninguno de ellos.
Una caracterstica importante de las compuertas NOR es que tambin ella es
una compuerta universal, es decir, que cualquier funcin lgica puede ser realizada
utilizando exclusivamente este tipo de compuerta. Demostraremos esta propiedad en
forma similar a lo hecho con relacin a la compuerta NAND es decir, probando que con
compuertas NOR se pueden realizar inversores, compuertas AND y compuertas OR, y
concluyendo que como con estas compuertas fundamentales se puede realizar
cualquier funcin lgica, tambin puede esto hacerse usando exclusivamente
compuertas NOR. Para esta demostracin en tres partes nos basaremos en la figura 310.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

101

Arquitectura de Computadoras I UNPAZ

Figura 3-10 - Inversor, compuerta OR y compuerta AND hechas con compuertas OR

En dicha figura se comprueba que:

Una compuerta NOR que tenga todas sus entradas en paralelo y conectadas a
una nica variable, por aplicacin de la propiedad de idempotencia (A+A=A), se
comporta como un inversor de esa variable.

Un inversor (hecho con una compuerta NOR) conectado a la salida de una


compuerta NOR compensa el inversor que ya tiene a la salida dicha compuerta
y da lugar al equivalente de una compuerta OR.

Una compuerta NOR (en este caso representada por su smbolo alternativo para
mayor claridad) precedida en cada una de sus entradas por sendos inversores
(cada uno de ellos hecho a su vez por medio de una compuerta NOR), da lugar
al equivalente de una compuerta AND.

3.2.2.3. La compuerta XOR


La compuerta XOR (tambin llamada compuerta O exclusiva o, en ingls,
exclusive OR) es una compuerta de estrictamente 2 entradas que presenta a su salida
la suma mdulo 2 de ambas entradas o, lo que es lo mismo, la funcin O-exclusiva de
las mismas. Su smbolo habitual y la tabla de verdad correspondiente se muestran en la
figura 3-11.

Figura 3-11 - Smbolo y tabla de verdad de una compuerta XOR

Ya en el captulo 2 habamos deducido las expresiones que daban la funcin Oexclusiva, que eran las expresiones cannicas que se dan a continuacin, pues no
haba simplificacin posible.

= +
= ( + )( + )
Si se requiriese realizar una funcin O-exclusiva empleando convencionalmente
las compuertas bsicas o universales, es fcil comprobar que se necesitaran 5
compuertas para realizar cualquiera de las dos expresiones anteriores. Es por ello muy
til, cuando se necesita realizar la funcin O-exclusiva, disponer de un tipo de compuerta
que la implementa directamente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

102

Arquitectura de Computadoras I UNPAZ


Las compuertas XOR no se prestan para implementar en forma simple funciones
lgicas cualquiera, como lo hacen las compuertas NAND y NOR, por lo que no son
usadas con ese propsito. Su uso habitual es para implementar ciertas funciones que
sacan provecho de su particular tabla de verdad. Es decir que sus aplicaciones son muy
especficas, por ejemplo, para realizar una suma mdulo 2.
Pero la realizacin de una suma mdulo 2 de varias variables se ve dificultada
por el hecho de que la compuerta XOR slo tiene 2 entradas. Sin embargo, esto no
constituye un problema mayor pues puede resolverse fcilmente aplicando la propiedad
asociativa que tiene la suma, por lo que, por ejemplo, la suma mdulo 2 de cuatro
variables A, B, C y D puede escribirse como sigue:

= ((()))
Expresin que puede ser realizada con compuertas XOR de la forma que
muestra la figura 3-12.

Figura 3-12 - Una forma de realizacin de la suma mdulo 2 de cuatro variables

Pero la misma suma puede aplicarse la propiedad asociativa de manera


diferente, y llegar a la expresin siguiente:

= ()()
Expresin que puede ser la realizada con compuertas XOR de la forma que
muestra la figura 3-13.

Figura 3-13 - Otra forma de realizacin de la suma mdulo 2 de cuatro variables

Los circuitos que muestran las dos figuras anteriores realizan ambos la funcin
deseada, empleando el mismo material (ambos requieren 3 compuertas XOR). De
hecho nos interesa comparar ambas figuras para determinar si uno de los dos circuitos
es preferible con respecto al otro, aunque no por razones de economa ya que, como
acabamos de ver, ambos circuitos emplean el mismo material y ninguno puede
considerarse desde ese punto de vista, ms econmico que el otro. Pero analicemos la
velocidad de operacin, lo que nos permitir sacar algunas conclusiones generales,
vlidas para todo tipo de compuertas.
An cuando hemos considerado hasta aqu a las compuertas como dispositivos
ideales cuyas salidas reaccionan instantneamente a los cambios en sus entradas, en
la prctica ello no es as y las salidas de las compuertas reales reaccionan con un ligero
atraso a un cambio en sus entradas, como se ver ms adelante. La magnitud de ese
atraso es caracterstica de cada compuerta real y se denomina tiempo de propagacin

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

103

Arquitectura de Computadoras I UNPAZ


de la misma. Resulta evidente que un circuito complejo ofrecer un tiempo de
propagacin total frente al cambio en algunas de las entradas que ser la suma de los
tiempos de propagacin de las distintas compuertas que dicha entrada debe atravesar
antes de influir sobre la salida. Sin entrar en detalles cuantitativos finos, este tiempo de
propagacin ser tanto ms grande cuanto ms elevado sea el nmero de compuertas
que dicha entrada debe atravesar. Por ello, para tener un medio aproximado de
comparar tiempos de propagacin de diferentes circuitos se utiliza el concepto de
nmero de niveles de un circuito lgico.
El nmero de niveles de un circuito lgico se define como el mximo de los
nmeros de compuertas que deben atravesar las distintas seales de entrada hasta
llegar a influir sobre la salida. Es decir, la cantidad de compuertas que debe traspasar
la seal de entrada en condicin ms desfavorable, esto es, la ms alejada de la salida.
Por ejemplo, los circuitos de las ltimas dos figuras tienen respectivamente 3 niveles y
2 niveles, porque se es el nmero de compuertas que debe atravesar la entrada ms
alejada (en la ltima figura todas las entradas estn igualmente alejadas, pero en la
anterior las ms alejadas son A y B). Cabe aclarar que en el cmputo de niveles se
conviene en que no deben tomarse en consideracin los inversores. Esto se justifica
porque, de no hacerlo as, al determinar el nmero de niveles no podran contabilizar
por igual todas las compuertas encontradas en el camino porque algunas incluyen
inversores en su interior.
De lo visto surge que de los dos circuitos propuestos para hacer la suma mdulo
2 de 4 variables, que resulta preferible es el segundo, por tener un nivel menos que el
primero.
El nmero de niveles de un circuito lgico es un concepto general muy importante
cuyo inters no se restringe al caso de compuertas XOR. Por lo que no deber extraar
al lector que este concepto aparezca repetidamente en esta publicacin, tanto en este
capitule como en siguientes.

3.2.2.4. La compuerta XNOR


La existencia de la compuerta XOR sugiere la creacin de otra compuerta que
efecte la funcin dual. Esta compuerta dual existe, pero, dado de que el dual de la
funcin suma mdulo 2 es igual a la negacin de esa misma funcin (como hemos visto
en el captulo anterior), a la compuerta dual de la XOR se prefiere en general
considerarla ms su inversa que su dual, por lo que se la denomina compuerta XNOR
o NOR exclusiva (y no XAND como se hara si se hubiese deseado enfatizar la dualidad).
El smbolo con que habitualmente se representa a la compuerta XNOR (inspirado en el
de una compuerta XOR con su salida negada) y la tabla de verdad correspondiente se
muestran se muestran en la figura 3-15.

Figura 3-14 Smbolo y tabla de verdad de una compuerta XNOR

De dicha tabla de verdad se concluye que la compuerta XNOR es una compuerta


de estrictamente 2 entradas cuya salida es 1 cuando ambas entradas son 0 o cuando
ambas son 1 o, lo que es equivalente, cuando ambas entradas son idnticas. Por esta

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

104

Arquitectura de Computadoras I UNPAZ


razn la compuerta XNOR es tambin llamada, por algunos autores, compuerta
identidad, y suele ser utilizada como un comparador elemental.

3.2.2.5. La compuerta buffer


La compuerta buffer (o, simplemente, el buffer) es un circuito lgico de una nica
entrada y una nica salida, que opera en forma transparente, es decir, que en todo
momento la salida est en el mismo estado lgico en que se encuentra su entrada. Su
smbolo, basado en el del inversor, pero sin el indicador de inversin puesto a la salida,
es el que muestra la figura 3-15.

Figura 3-15 - Smbolo del buffer

En primera aproximacin parecera que se trata de un circuito lgico innecesario,


pues su funcin podra ser cumplida con una conexin directa entre entrada y salida.
Sin embargo, el buffer no puede ser reemplazado por una conexin directa en los
siguientes casos, tpicos de aplicacin de los buffers:

cuando se necesita que el buffer posea alguna caracterstica especial en su


entrada (por ejemplo, que sea tipo Schmitt, o tolerante a tensiones de entrada
mayores que lo habitual, entradas especiales que se describir ms adelante en
este mismo captulo).

cuando se necesita que el buffer posea alguna caracterstica especial en su


salida (por ejemplo, que sea de 3 estados o de colector abierto, salidas
especiales que se vern ms adelante en este mismo captulo).

3.2.2.6. Introduccin al control de flujo de seales


Una aplicacin particularmente interesante de las compuertas es al control del
flujo de seales. Es frecuente en electrnica tener que controlar el pasaje de seales de
una unidad a otra y gobernar el mismo por medio de otra seal emitida por una unidad
de control. Los casos ms simples de control de flujo de seales son:
El condicionamiento o habilitacin: el dejar pasar o no una seal de entrada
La inversin controlada: el dejar pasar una seal de entrada o su inversa
La multiplexacion: dejar pasar una de las varias seales de entrada
El tema de la multiplexacion es particularmente rico. En este apartado nos
restringiremos al caso simple de un multiplexor de 2 vas (es decir, dos seales de
entrada), pero volveremos sobre este tema en un apartado posterior, y le daremos
adems un tratamiento integral en el captulo 4.
La figura que sigue muestra el circuito que realiza con llaves cada una de estas
funciones, la tabla de verdad correspondiente, la expresin algebraica que resulta de la
tabla de verdad, y el circuito electrnico que realiza la funcin. Lgicamente que la
versin electrnica tiene muchas ventajas con relacin a la implementacin con llaves,
tales como ausencia de partes mviles, menor tamao, mayor velocidad, etc.
El condicionador deja pasar a la salida la seal de entrada cuando la seal de
control tiene un 1 que habilita ese traspasa, y de lo contrario pone un 0. El circuito con
llaves es tan intuitivo que no merece explicacin. Confeccionada la tabla de verdad (Z=0

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

105

Arquitectura de Computadoras I UNPAZ


cuando C=0 y Z=A cuando C=1) se observa que es la misma tabla que el producto lgico
(Z=CA). Por lo que este circuito se realiza con una simple compuerta AND.
El inversor controlado deja pasar la seal o su inversa, por lo que brinda la
capacidad de intercalar, a voluntad, una inversin en una rama de circuito. El circuito es
tan intuitivo que no merece explicacin. Confeccionada la tabla de verdad (Z=A cuando
Z=A cuando C=1) se observa que es la misma tabla que la suma mdulo 2. Por lo que
este circuito se realiza con una simple compuerta XOR.
El multiplexor de 2 vas de entrada deja pasar a una de ellas cuando la seal de
control est en 0, y la otra, cuando est en 1. Consideremos el caso en que cuando la
seal de control C est en 0, es la entrada A la que pasa, ocurriendo lo propio con la
entrada B cuando est C en 1. El circuito con llaves es tan intuitivo que no merece
explicacin. Confeccionada la tabla de verdad (Z=A cuando C=0 y Z=B cuando C=1),
puede hacerse el mapa de Karnaugh para encontrar la expresin ms simple (tarea que
se deja al lector) para llegar a que = + , que puede fcilmente realizarse con
compuertas como la figura muestra.

Figura 3-16 - Algunos circuitos para el control del flujo de seales

3.2.3. La compuerta de transmisin


Existe un tipo de compuerta especial, denominada compuerta de transmisin,
llave analgica o tambin conmutador bilateral, que se comporta como un contacto
accionado por una seal lgica, es decir, como un rel electrnico. La figura 3-17
muestra en forma conceptual su funcionamiento, y el smbolo corrientemente utilizando
para este tipo de compuerta.
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

106

Arquitectura de Computadoras I UNPAZ

Figura 3-17 - Principio de funcionamiento y simbologa de una compuerta de transmisin

Cuando la seal de control est en 0, el conmutador est abierto y no existe


continuidad entre los terminales marcados IN/OUT. Por el contrario, cuando la seal de
control est en 1, el conmutador est cerrado y hay continuidad entre los terminales
marcados IN/OUT. Dado que un conmutador permite la circulacin de corriente en
cualquiera de los dos sentidos, la entrada y la salida del conmutador pueden tomarse
indistintamente en cualquiera de los terminales IN/OUT, lo que justifica su denominacin
de conmutador bilateral.
La seal aplicada al terminal elegido como entrada no tiene necesariamente que
ser una seal binaria, sino que puede ser cualquier tensin comprendida entre los
niveles correspondientes al 0 y al 1, por lo que el circuito puede usarse para conmutar
seales analgicas en ese intervalo de tensiones. Eso lo que la diferencia del
condicionador que vimos en el apartado anterior. Y es, justamente, la aplicacin principal
de esta compuerta, lo que justifica su otra denominacin, llave analgica. En esta
aplicacin la compuerta de transmisin presenta con relacin a los contactos la ventaja
de su conmutacin de un estado a otro ms rpida (a velocidad electrnica, sin
contactos mviles). Pero tiene las desventajas de no tener, cuando el conmutador est
cerrado, una resistencia tan baja entre sus terminales; ni tampoco una tan alta cuando
el conmutador est abierto.

3.2.4. Simbologa alternativa para las compuertas


Hemos visto los smbolos normales de las diferentes compuertas, y tambin
smbolos alternativos para las compuertas NAND y NOR. Pero veremos a continuacin
que todos los tipos de compuertas (excepto las de transmisin) admiten un segundo
smbolo alternativo, como pasamos a justificar.
Recordando que en un captulo anterior fue estudiada la ley de Shannon que
establece que la negacin de una funcin lgica es igual a la funcin dual con todas las
variables independientes negadas. Podemos concluir (cambiando la negacin de
miembro) que una funcin lgica es igual a la negacin de su funcin dual con todas las
variables independientes negadas.
Por lo tanto, una conclusin de gran inters del Teorema de Shannon es que un
circuito lgico cualquiera resulta equivalente al circuito lgico que es su dual, al que se
le han invertido todas las entradas y salidas. La figura 3-18 esquematiza esta conclusin.

Figura 3-18 - Esquematizacin del Teorema de Shannon. Ambos circuitos son equivalentes

Por ejemplo, una compuerta AND resulta equivalente a una compuerta OR (su
dual) con todas las entradas y salidas de esta compuerta negadas. De acuerdo con esto,
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

107

Arquitectura de Computadoras I UNPAZ


la compuerta AND admite un smbolo alternativo basado en el smbolo normal de la
compuerta OR con indicadores de negacin adheridos a todas sus entradas y salida,
como lo muestra la figura 3-19 en su parte superior izquierda.
La misma figura muestra tambin los smbolos alternativos de las otras
compuertas que hemos estudiado, de los cuales los correspondientes a las compuertas
NAND y NOR ya eran conocidos por nosotros. En todos los casos los smbolos
alternativos se han obtenido por el siguiente procedimiento de dos pasos:
1) reemplazar el smbolo normal de la compuerta por el smbolo normal de la
compuerta dual, es decir, reemplazando las AND por OR y viceversa, las NAND
por NOR y viceversa, y las XOR por XNOR y viceversa. En este paso no deben
modificarse los smbolos de inversores y buffers, que son duales de s mismos.
2) Colocar indicadores de negacin en las entradas y las salidas para denotar la
presencia all de inversores. Sin embargo, si el smbolo del dispositivo ya inclua
un indicador de negacin en su salida, retirarlo ya que dos negaciones
consecutivas se cancelan mutuamente.

Figura 3-19 - Smbolos alternativos de las diferentes compuertas

El criterio habitualmente seguido para decidir el empleo de uno u otro de los


smbolos de una determinada compuerta en el dibujo de un circuito ya lo hemos
comentado en los apartados anteriores: se prefiere utilizar los smbolos alternativos en
aquellos lugares del circuito donde, al hacerlo, se logra que en ambos extremos de una
conexin ( o en ninguno de ellos) aparezcan indicadores de negacin, pues en ese caso
la accin de ambas inversiones puede cancelarse mentalmente, y el circuito resulta ms
fcil de analizar.

3.2.5. Simbologa IEEE


La simbologa que hemos estado usando hasta ahora tiene su origen en una
norma militar de los EEUU y es la ms difundida y empleada actualmente, razn por la
que hemos adoptado en esta obra. Sin embargo, corresponde sealar que hay otra
simbologa importante, que es la establecida por la norma IEEE 91. Segn esta norma,
las distintas compuertas se distinguen, no ya por su forma distintiva, porque todas se
dibujan como rectngulos, sino por su indicador colocado en la parte superior interna
del rectngulo que identifica la funcin realizada. Por ejemplo:

El indicado & identifica a una compuerta AND(porque el smbolo ingles


ampersand representa a esta operacin)

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

108

Arquitectura de Computadoras I UNPAZ

El indicador 1 identifica a una compuerta OR(por aquello de que al menos 1 de


las entradas debe estar en 1 para que la salida sea 1)

El indicador 1 identifica, en el caso de que la compuerta tenga 2 entradas, a una


compuerta XOR (por aquello de que exactamente 1 de las entradas debe estar
en 1 para que la salida sea 1). En el caso de que haya una sola entrada, identifica
a un buffer.

A su vez, como indicador de negacin, se usa un pequeo tringulo.


La figura que sigue muestra la forma de representar algunas compuertas. Sin
embargo, la figura no puede destacar lo ms valioso de esta simbologa, que es su
capacidad de representar funciones complejas. No entraremos en ese detalle, pero el
lector interesado podr encontrarlo en la propia norma o en la literatura que sobre ella
se ha escrito.

Figura 3-20 - Smbolos de algunas compuertas segn la norma IEEE 91

3.3. Anlisis de circuitos lgicos combinacionales


Cuando se dispone de un circuito lgico formado por varias compuertas, el
anlisis del mismo es el procedimiento que permite estudiarlo para determinar su
comportamiento o verificarlo si este es conocido.
Este anlisis se realiza normalmente en 3 pasos:
1) A partir del circuito se encuentran las expresiones algebraicas correspondientes
a las distintas salidas.
2) A partir de las expresiones algebraicas de las salidas se realiza la
correspondiente tabla de verdad, donde las distintas salidas son tabuladas en
funcin de los diferentes estados en que se pueden encontrar las entradas.
Antes de esta tabulacin se puede, opcionalmente, tratar de simplificar en algo
las expresiones obtenidas para que la tabulacin se haga en forma ms sencilla.
3) A partir de la tabla de vedad se trata de encontrar una descripcin verbal del
comportamiento del circuito, o de verificarlo si este era conocido.
El procedimiento para efectuar el primer paso, es decir, a partir del circuito dado
hallar la(s) expresin(es) algebraica(s) de la(s) salida(s) en funcin de las entradas, es
muy simple: a partir de las entradas del circulo debe ir determinando las expresiones
algebraicas correspondientes a las distintas compuertas en funcin de las entradas,
avanzando progresivamente desde las compuertas ms alejadas de la(s) salida(s) hasta
llegar finalmente a la(s) expresin(es) correspondiente(s) a sta(s). La figura 3-21
ejemplifica lo dicho.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

109

Arquitectura de Computadoras I UNPAZ

Figura 3-21 - Ejemplo de anlisis de un circuito lgico combinacional

El nico inconveniente que puede aparecer al llevar a cabo este punto en un


circuito con compuertas, es que se llegue a una situacin de crculo vicioso en que no
puede encontrarse la expresin lgica a la salida de una compuerta sin haber obtenido
primero la expresin a la salida de otra compuerta, pero que esta ltima expresin no
pueda hallarse sin conocer previamente la correspondiente a la salida de la primer
compuerta mencionada. Estas situaciones se dan cuando existen conexiones de
retroalimentacin entre compuertas, es decir, cuando la salida de una compuerta es
aplicada a la entrada de otra, cuya salida tiene a su vez influencia sobre alguna de las
entradas de la primera compuerta. Esta situacin puede inclusive surgir en un circuito
simple, como en el caso de la figura 3-22, en que el lector apreciar que debido a este
motivo no es posible determinar las expresiones lgicas correspondientes a las salidas
de ninguna de las compuertas. Sin embargo, esta situacin debe interpretarse como
que el circuito analizado no es un circuito combinacional, sino un circuito secuencial,
para el cual las herramientas de anlisis son distintas y no pueden utilizarse las que ac
estamos estudiando. Los mismos se estudiarn en un captulo posterior.

Figura 3-22 - Ejemplo de un circuito con compuertas que no es un circuito combinacional

En cuanto a la forma de efectuar los pasos 2 y 3 es tan simple que no justifica


que sea detallada. El paso 2 ha sido estudiado en un captulo anterior y el paso 3 no es
sino efectuar una descripcin verbal, completa pero condensada, del contenido de la
tabla de verdad.

3.4. Sntesis de circuitos lgicos combinacionales


La sntesis de un circuito lgico consiste en efectuar el diseo de un circuito que
satisfaga una descripcin dada de funcionamiento.
El procedimiento normal de diseo de un circuito lgico combinacional
empleando compuertas exige la realizacin de los siguientes pasos:
1) anlisis de la descripcin del funcionamiento y obtencin de las expresiones
algebraicas que ligan las salidas con las entradas
2) implementacin de las expresiones algebraicas con compuertas

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

110

Arquitectura de Computadoras I UNPAZ


Veamos ahora en detalle cada uno de estos pasos.

3.4.2. Implementacin de las expresiones algebraicas con compuertas


La implementacin de las expresiones algebraicas con compuertas se ocupa de
obtener los circuitos que realizan con compuertas las diferentes expresiones mnimas
halladas anteriormente. Dado que las expresiones mnimas pueden ser tanto del tipo
Suma de Productos como del tipo Producto de Sumas, debe estudiarse la
implementacin de ambos tipos de expresiones. A este propsito se dedican,
respectivamente, los siguientes dos apartados.

3.4.2.1. Implementacin de expresiones tipo Suma de Productos


Ya hemos visto que las expresiones mnimas tipo Suma de Productos que se
obtienen del mapa de Karnaugh por agrupacin de los unos en dicho mapa, conducen
en forma directa a una implementacin en dos niveles de dicha expresin que utiliza
compuertas AND en el primer nivel y una compuerta OR en el segundo. Veamos un
ejemplo de esto. Retomemos el ejemplo 3-1 para ver cmo puede implementarse la
salida C Los mtodos que veremos sern de tipo general, por lo que servirn para
cualquier otra funcin lgica, incluidas, por supuesto, las otras salidas D, B, y A.
Dicha salida, recordemos, deba satisfacer la siguiente expresin:

= + +
La que puede implementarse con compuertas AND-OR de la manera que
muestra la figura 3-23:

Figura 3-23 - Implementacin de la funcin C' con compuertas AND-OR

Pero veremos que la citada expresin Suma de Productos puede implementarse


de cuatro formas distintas, es decir, tres formas adicionales a la recin vista realizacin
con compuertas AND-OR. A estas tres formas adicionales se llega, partiendo de la
implementacin con AND-OR mediante los siguientes artificios:
1) anteponiendo una doble inversin en cada una de las entradas de la compuerta
del segundo nivel.
2) Anteponiendo una doble inversin en cada una de las entradas de todas las
compuertas del primer nivel
3) Realizando conjuntamente las dos operaciones recin mencionadas.
Veamos cmo llega a las tres formas adicionales deseadas mediante los procedimientos
mencionados, aplicados al ejemplo que estamos considerando.
1) Al anteponer una doble inversin en cada una de las entradas de la compuerta
OR de segundo nivel, adjuntaremos una de las inversiones a la propia entrada
de la compuerta OR, mientras que la otra inversin se asociara con la salida de
la compuerta AND del primer nivel a que dicha entrada esta conecta. Es as
como se pasa del circuito de la figura 3-23 al de la figura 3-24, en el que se

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

111

Arquitectura de Computadoras I UNPAZ


notara que las compuertas del primer nivel quedan transformadas en compuertas
NAND, y lo mismo ocurre con las compuertas del segundo nivel. La aplicacin
del procedimiento descripto deja en el primer nivel a las NAND representadas
por su smbolo normal y en el segundo por el smbolo alternativo, pero por
supuesto que el circuito puede llegar a redibujarse cambiando los smbolos, si
as se lo desea. Se notar que cuando una variable ingresa directamente a la
compuerta de segundo nivel sin pasar por una de primer nivel (caso de la variable
D en la figura 3-23) la inversin que debera aplicarse a la salida de la compuerta
de primer nivel inexistente, hace que deba intercalarse un inversor.

Figura 3-24 - Implementacin do lo funcin C con compuertas NAND-NAND

Este resultado admite ser generalizado, y concluirse as que la expresin Suma


de Productos puede tambin implementarse en dos niveles usando compuertas
NAND-NAND tanto para el primer como para el segundo nivel. Las variables que
ingresen a las compuertas NAND de primer nivel lo harn de la misma forma
(normal o invertida) con que figuran en la expresin Suma de Productos,
mientras que aquellas que ingresen directamente al segundo nivel deben estar
invertidas respecto a la expresin.
2) Nuevamente partiendo de la realizacin con compuertas AND-OR de la funcin
C (figura 3-23), al anteponer una doble inversin en cada una de las entradas
de todas las compuertas AND del primer nivel, adjudicaremos una de las
inversiones a la propia entrada de la compuerta AND, mientras que la otra
inversin se asociar con la variable que est conectada a dicha entrada. Es as
como se pasa del circuito de la figura 3-23 al de la figura 3-25, en el que se
notar que las compuertas del primer nivel quedan transformadas en compuertas
NOR (representadas por su smbolo alternativo), mientras que las variables de
entrada deben ingresar invertidas con relacin a la forma como lo hacan en la
figura 3-23 o, lo que es equivalente, invertidas con relacin a la forma como se
presentan en la expresin Suma de Productos que se est implementando. Se
notar, sin embargo, que cuando una variable ingresa directamente a la
compuerta de segundo nivel sin pasar por una de primer nivel (caso de la variable
D en la figura 3-23) al no haberse intercalado los dos inversores por carecer de
esa compuerta de primer nivel, esa variable no debe ser invertida.

Figura 3-25 - Implementacin de la funcin C con compuertas NOR-OR

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

112

Arquitectura de Computadoras I UNPAZ


Este resultado admire ser generalizado, y concluirse as que la expresin Suma
de Productos puede tambin implementarse en dos niveles usando compuertas
NOR-OR para el primer y el segundo nivel respectivamente, pero las variables
que ingresan a las compuertas NOR del primer nivel deben estar invertidas con
relacin a la forma con que figuran en la expresin Suma de Productos.
3) Nuevamente partiendo de la realizacin con compuertas AND-OR de la funcin
C (figura 3-23), en este caso realizaremos conjuntamente los artificios
mencionado en el punto 1 y en el punto 2. El resultado final es el que exhibe la
figura 3-26, donde se observa que la compuerta de segundo nivel queda
transformada en una NAND, las de primer nivel en OR (en ambos casos estas
compuertas estn representadas por un smbolo alternativo), y todas las
variables de entrada deben ingresar invertidas con relacin a la forma como lo
hacan en la figura 3-23 o, lo que es equivalente, invertidas con relacin a la
forma
como
se
presentan
en
expresin
Suma
de
Productos que se est implementando.

Figura 3-26 - Implementacin de la funcin C con compuertas OR-NAND

Este resultado admite ser generalizado, y puede as concluirse que la expresin


Suma de Productos puede tambin implementarse en dos niveles usando
compuertas OR-NAND para el primer y el segundo nivel respectivamente, pero
las variables que ingresan al circuito deben estar invertidas con relacin a la
forma con que figuran en la expresin Suma de Productos.
Resumiendo, existen 4 formas de implementar una expresin tipo Suma de Productos.
Esas 4 formas usan para el primer y segundo nivel, respectivamente, las compuertas:

AND-OR
NAND-NAND
NOR-OR
OR-NAND

Las variables de entrada se ingresan al circuito en una forma que depende de las
compuertas empleadas:

en el caso del circuito AND-OR las variables se ingresan de la misma forma


como figuran en la expresin que se est implementando.

en el caso del circuito NAND-NAND las variables se ingresan de la misma forma


como figuran en la expresin, excepto aquellas que inciden directamente en la
compuerta NAND de segundo nivel, que deben invertirse.

en el caso del circuito NOR-OR las variables se ingresan en forma invertida con
relacin a como figuran en la expresin, excepto aquellas que inciden
directamente en la compuerta OR de segundo nivel que no deben invertirse.

en el caso del circuito OR-NAND todas las variables se ingresan en forma


invertida con relacin a como figuran en la expresin.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

113

Arquitectura de Computadoras I UNPAZ


Las cuatro formas indicadas requieren la misma cantidad de compuertas en los
niveles primero y segundo, pero algunas demandan menos inversores que otras. Esta
pequea diferencia no suele ser considerada y en la prctica la adopcin de una de
estas cuatro formas se realiza normalmente por razones de preferencia por un tipo u
otro de compuerta, como se comenta en un apartado posterior.
Tal como se ha explicado, cualquiera de los 4 circuitos que surgen de la
expresin tipo Suma e Productos puede ser realizado directamente, a partir de dicha
expresin, y sin efectuar las transformaciones graficas que ac hemos realizado para
justificar el procedimiento. Sin embargo, algunos lectores quizs deseen arribar a los
circuitos mencionados a partir de manipulaciones algebraicas que terminen expresiones
particularmente adaptadas para ser implementadas por ellos. Para ilustrar tal
posibilidad, se cierra este apartado con el siguiente cuadro.
Se deja la expresin como Suma de
Productos

A partir de la Suma de Productos se le niega


dos veces y se aplica De Morgan solo 1 una
vez (a la suma).

= + +
La expresin se presta directamente para
ser implementada con compuertas ANDOR.
A partir de la Suma de Productos, a cada
producto se le aplica De Morgan al revs.

= + + = + + + +
La expresin se presta directamente para
ser implementada con NOR-OR

= + + = + + = . .

La expresin se presta directamente para ser


implementada con compuertas NAND-NAND
1) A partir de la expresin del casillero de
la izquierda, se la niega 2 veces y se
aplica De Morgan slo 1 vez (a la
suma)
= + + + + = ( + )( + )
2) O, a partir de la expresin del casillero
superior se aplica De Morgan slo a los
productos parciales

= . . = ( + )( + )
La expresin resultante de cualquiera de los
dos mtodos (es la misma) se presta
directamente para ser implementada con
compuertas OR-NAND

3.4.2.2. Implementacin de expresiones tipo Producto de Sumas


Ya hemos visto que las expresiones mnimas tipo Producto de Sumas que se
obtienen del mapa de Karnaugh por agrupacin de los ceros en dicho mapa, conducen
en forma directa a una implementacin en dos niveles de dicha expresin que utiliza
compuertas OR en el primer nivel y una compuerta AND en el segundo. Veamos un
ejemplo de esto. Continuemos estudiando la implementacin de la funcin C del
ejemplo 3-1. La misma deba satisfacer la siguiente expresin.

= ( + + )( + )
La que puede implementarse con compuertas AND-OR de la manera que
muestra la figura 3-27.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

114

Arquitectura de Computadoras I UNPAZ

Figura 3-27 - Implementacin de la funcin C con compuertas OR-AND

Pero la citada expresin Producto de Sumas puede implementarse de cuatro


formas distintas, es decir, tres formas adicionales a la ya mencionada realizacin con
compuertas OR-AND. A estas tres formas adicionales se llega, partiendo de la
implementacin con OR-AND, mediante los siguientes artificios:
1) anteponiendo una doble inversin en cada una de las entradas de la compuerta
del segundo nivel.
2) anteponiendo una doble inversin en cada una de las entradas de todas las
compuertas del primer nivel
3) realizando conjuntamente las dos operaciones recin mencionadas
Se observar que lo indicado es totalmente anlogo a lo expuesto en el apartado
anterior para el caso de la implementacin de expresiones tipo Suma de Productos, por
lo que no se justifica una descripcin detallada de la aplicacin de dichos
procedimientos, aunque si una presentacin de los resultados que se alcanzan. As, las
figuras 3-28, 3-29, y 3-30 muestran los otros tres circuitos que se derivan a la figura 327, como el lector podr comprobar.

Figura 3-28 - Implementacin de la funcin C' con compuertas NOR-NOR

Figura 3-29- implementacin de la funcin C' con compuertas NAND-AND

Figura 3-30 - Implementacin de la funcin C con compuertas AND-NOR

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

115

Arquitectura de Computadoras I UNPAZ


Resumiendo, estos resultados, existen 4 formas dc implementar una expresin
tipo Producto de Sumas. Esas 4 formas usan para el primer y segundo nivel,
respectivamente, las compuertas:

OR-AND
NO-NOR
NAND-AND
AND-NOR

Las variables de entrada se ingresan al circuito en una forma que depende de las
compuertas empleadas:

el caso del circuito OR-AND las variables se ingresan dc la misma forma como
figuran en la expresin que se est implementando

en el caso del circuito NOR-NOR las variables se ingresan de la misma forma


como figuran en la expresin, excepto aquellas que inciden directamente en la
compuerta NOR de segundo nivel, que deben invertirse.

en el caso del circuito NAND-AND las variables se ingresan en forma invertida


con relacin a como figuran en la expresin, excepto aquellas que inciden
directamente en la compuerta AND de segundo nivel que no deben invertirse.

en el caso del circuito AND-NOR todas las variables se ingresan en forma


invertida con relacin a como figuran en la expresin.

Las cuatro formas indicadas requieren la misma cantidad de compuertas en los


niveles primero y segundo, pero algunas demandan menos inversores que otras. Esta
pequea diferencia no suele ser considerada decisiva, y en la prctica la adopcin de
una de estas cuatro formas se realiza normalmente por razones de preferencia por un
tipo u otro de compuerta, como se comenta en el prximo apartado.
Tal como se ha explicado, cualquiera de los 4 circuitos que surgen de la
expresin tipo Suma e Productos puede ser realizado directamente, a partir de dicha
expresin, y sin efectuar las transformaciones grficas que ac hemos realizado para
justificar el procedimiento. Sin embargo, algunos lectores quizs deseen arribar a los
circuitos mencionados a partir de manipulaciones algebraicas que terminen con
expresiones particularmente adaptadas para ser implementadas por ellos. Para ilustrar
tal posibilidad, cierra este apartado con el siguiente cuadro.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

116

Arquitectura de Computadoras I UNPAZ


Se deja la expresin como Producto de
Sumas

= ( + )( + + )
La expresin se presta directamente para ser
implementada con compuertas OR-AND

A partir del Producto de Sumas, a cada suma


se le aplica De Morgan al revs.

A partir del Producto de Sumas se la niega


dos veces y se aplica De Morgan slo 1 vez
(al producto)
= ( + )( + + ) = + + + +

La expresin se presta directamente para ser


implementada con compuertas NOR-NOR

= ( + )( + + ) = . . .

1) A partir de la expresin del casillero


de la izquierda, se la niega 2 veces y
se aplica De Morgan slo 1 vez (al
producto)

La expresin se presta directamente para ser


implementada con compuertas NAND-AND

= . . . = . + .
2) O, a partir de la expresin del
casillero superior si aplica De Morgan
slo a las sumas parciales

= + + + + = . + .
La expresin resultante de cualquiera de los
dos mtodos (es la misma) se presta
directamente para ser implementada con
compuertas AND-NOR

3.4.2.3. Comentarlos finales sobre la implementacin de expresiones


En la prctica, para implementar una funcin lgica se adopta |a expresin Suma
de Productos o la Producto de Sumas, segn cual sea la ms simple. Cuando no hay
una considerablemente ms simple que la otra, la adopcin se hace, en general,
atendiendo a cul se presta mejor para ser implementada con el tipo de compuerta de
nuestra preferencia o disponible comercialmente. Por ejemplo, si preferimos o
disponemos de compuertas NAND, preferimos la expresin Suma de Productos para
implementarla en la forma similar a la figura 3-24.
Apliquemos lo dicho para complementar el diseo del circuito propuesto en el
ejemplo 3-1. Deseamos usar compuertas NAND. El circuito correspondiente a la salida
C es el de la figura 3-24, el que con el agregado de los circuitos correspondientes a las
otras salidas queda como el de la figura 3-31. El lector comprobara, en esta figura, como
se han compartido compuertas entre algunas salidas. La realizacin de este circuito
demanda;

4 compuertas NAND de 3 entradas


3 compuertas NAND de 2 entradas
4 inversores

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

117

Arquitectura de Computadoras I UNPAZ

Figura 3-31 - Implementacin del Ejemplo 3-1 con compuertas NAND-NAND

3.4.3. Formas degeneradas


Hemos visto que utilizando compuertas AND, OR, NAND y NOR en dos niveles
(con varias compuertas del mismo tipo actuando en el primer nivel, y una nica
compuerta del mismo o distinto tipo actuando en el segundo nivel) se puede implementar
las expresiones mnimas tipo Suma de Productos y Producto de Sumas. Pero existen
16 formas de elegir las compuertas de primer y segundo nivel de la lista de cuatro
compuertas mencionadas, y sabemos que slo 8 de estas formas permiten lograr esa
implementacin. Las otras 8 formas son llamadas formas degeneradas, ya que
degeneran en una nica operacin. Por ejemplo, la utilizacin de compuertas AND-AND
para el primer y segundo nivel respectivamente degenera en el equivalente de una nica
operacin AND (a tal punto que esto es usado cuando se requiere una compuerta AND
de gran nmero de entradas). A continuacin, se dan las 8 formas degeneradas, junto
con la indicacin acerca de cul es la operacin nica en que degeneran. La primera de
las formas listadas es la conexin AND-AND que se analizara recin. El anlisis de las
otras 7 formas degeneradas para verificar la operacin a la que degeneran se deja a
cargo del lector.
1)

AND-AND => AND

2)

AND-NAND => NAND

3)

OR-OR => OR

4)

OR-NOR => NOR

5)

NAND-OR => NAND

6)

NAND-NOR => AND

7)

NOR-AND => NOR

8)

NOR-NAND => OR

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

118

Arquitectura de Computadoras I UNPAZ

A.10 Componentes digitales


En los diseos de circuitos digitales de alto nivel suelen utilizarse, adems de las
compuertas individuales, conjuntos de compuertas lgicas denominadas componentes
o bloques funcionales. Esto permite abstraer un cierto nivel de complejidad circuital, as
como caracterizar su eficiencia. La prxima seccin describe algunos de los
componentes ms comunes.

A.10.1 Niveles de integracin


Hasta este punto se ha puesto nfasis en el diseo de circuitos lgicos
combinatorios. Dado que el anlisis fue realizado con compuertas lgicas individuales,
se puede decir que el enfoque ha sido el de utilizar circuitos integrados en pequea
escala (SS1, small scale integration), en los que hay 10 a 100 elementos por circuito
integrado. (La palabra elementos, en este caso, hace referencia a transistores y otros
elementos discretos.) Aun cuando en la prctica a veces se requiere trabajar en este
nivel, tpicamente para circuitos de alta eficiencia, el advenimiento de la microelectrnica
permite trabajar en niveles de integracin mayores. En la tecnologa de integracin en
media escala (MSI, mdium scale integration) aparecen entre 100 y 1.000 componentes
en un nico circuito. La tecnologa de integracin en gran escala (LSI, large scale
integration) trata con circuitos que contienen 1.000 a 10.000 componentes por circuito
integrado, y la tecnologa de integracin en mayor escala (VLSI, very large scale
integration) va todava ms all. No hay fronteras estrictas entre las distintas clases de
integracin, pero las distinciones son tiles para comparar la complejidad relativa de los
distintos circuitos. El tratamiento de esta seccin tiene que ver bsicamente con
componentes MSI.

A.10.2 Multiplexores
Un circuito multiplexor (MUX) es un elemento que conecta una cantidad dada
de entradas a una salida nica. En la figura A.22 se muestra el diagrama en bloques y
la tabla de verdad de un multiplexor de 4 entradas y una salida. La salida F adopta el
valor correspondiente a la entrada de datos seleccionada por las lneas de control A y
B. Por ejemplo, si AB = 00, el valor que aparece en la salida es el que corresponde a la
entrada D0. El circuito Y-0 correspondiente se muestra en la figura A.23.

Figura A.22 Diagrama en bloques y tabla de verdad para un multiplexor de 4 entradas de datos.

Cuando se disean circuitos utilizando multiplexores, se los considera como un


bloque funcional, el que puede representarse como una caja negra segn se ve en la
figura A.22. Si se utiliza este criterio, en vez de considerar el circuito lgico de la figura
A.23, se evitan los detalles innecesarios en el diseo de circuitos complejos.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

119

Arquitectura de Computadoras I UNPAZ

Figura A.23 Circuito Y-0 que implementa el multiplexor de cuatro entradas.

La implementacin de funciones booleanas puede realizarse por medio de


multiplexores. En la figura A.24 se implementa la funcin mayora usando un multiplexor
de 8 entradas. Las entradas de datos se toman directamente de la tabla de verdad de
la funcin implementada, y se asignan las variables A, B y C como entradas de control.
El multiplexor implementa la funcin transfiriendo a la salida los unos correspondientes
a cada trmino mnimo de la funcin. Las entradas cuyos valores son 0 corresponden a
los elementos del multiplexor que no se requieren para la implementacin de la funcin,
y como resultado hay compuertas lgicas que no se utilizan. Si bien en la
implementacin de funciones booleanas siempre hay porciones del multiplexor que no
se utilizan, el uso de multiplexores es amplio debido a que su generalidad simplifica el
proceso de diseo y su modularidad simplifica la implementacin.

Figura A.24 La funcin mayora implementada con un multiplexor de 8 entradas

Como otro ejemplo, considrese la implementacin de una funcin de tres


variables usando un multiplexor de cuatro entradas. La figura A.25 ilustra una tabla de
verdad de tres variables y un multiplexor de cuatro entradas que implementa la funcin
F. Las entradas de datos se toman del conjunto (0, I, C, ) y la agrupacin se obtiene
de acuerdo con lo que se muestra en la tabla de verdad. Cuando AB=00, la funcin F=0
independientemente del valor de C y, por lo tanto, la entrada de datos 00 del multiplexor
tendr un valor fijo de 0. Cuando AB = 01, F= 1 independientemente de C, por lo que la
entrada de datos 01 adopta un valor 1. Cuando AB=10, la funcin F=C dado que su
valores 0 cuando C es 0 y es 1 cuando C es 1. Finalmente, cuando AB=11, la funcin
F- , por lo tanto, la entrada de datos 11 adopta el valor . De esta manera, se puede
implementar una funcin de tres variables usando un multiplexor con dos entradas de
control.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

120

Arquitectura de Computadoras I UNPAZ

Figura A.25 Una funcin de tres variables implementada con un multiplexor de cuatro entradas de
datos.

A.10.3 Demultiplexores
Un demultiplexor (DEMUX) es un circuito que cumple la funcin inversa a la de
un multiplexor. La figura A.26 ilustra el diagrama en bloques correspondiente a un
demultiplexor de cuatro salidas, cuyas entradas de control son A y B, y su
correspondiente tabla de verdad. Un demultiplexor enva su nica entrada de datos D a
una de sus salidas Fi de acuerdo con los valores que adopten sus entradas de control.
La figura A.27 muestra el circuito de un de multiplexor de cuatro salidas.

Figura A.26 Diagrama en bloques y tabla de verdad de un demultiplexor de cuatro salidas.

Una de las aplicaciones en las que se utilizan los demultiplexores es el envo de


datos desde un origen nico hacia un conjunto de destinos, como en el caso de un
circuito de llamada de ascensores que deriva la llamada al ascensor ms cercano. Los
demultiplexores no son de uso habitual en la implementacin de funciones booleanas,
aun cuando existen formas de aplicarlos (vase el problema A.17).

Figura A.27 Circuito lgico de un demultiplexor de cuatro salidas.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

121

Arquitectura de Computadoras I UNPAZ

A.10.4 - Decodificadores
Un decodfcador traduce una codificacin lgica hacia una ubicacin espacial.
En cada momento, solo una de las salidas del decodificador est en el estado activo (1
lgico), segn lo que determinen las entradas de control. La figura A.28 muestra el
diagrama en bloques y la tabla de verdad de un decodificador de 2 entradas a 4 salidas,
cuyas entradas de control son A y B. El diagrama lgico correspondiente a la
implementacin del decodificador se muestra en la figura A.29. Un circuito decodificador
puede usarse para controlar otros circuitos, aunque a veces puede resultar inadecuado
habilitar cualquiera de esos otros circuitos. Por esa razn, se incorpora en el circuito
decodificador una lnea de habilitacin, la que fuerza todas las salidas a nivel 0 (inactivo)
cuando se le aplica un 0 en la entrada. (Ntese la equivalencia lgica entre el
demultiplexor con su entrada en 1 y el decodificador.)

Figura A.28 Diagrama en bloques y tabla de verdad de un decodificador 2 a 4.

Una aplicacin para un circuito decodificador puede ser la traduccin de


direcciones de memoria a sus correspondientes ubicaciones fsicas. Tambin puede
utilizarse en la implementacin de funciones booleanas. Dado que cada lnea de salida
corresponde a un trmino mnimo distinto, puede implementarse una funcin por medio
de la suma lgica de las salidas correspondientes a los trminos que son ciertos en la
funcin. Por ejemplo, en la figura A.30 se puede ver la implementacin de la funcin
mayora con un decodificador de 3 a 8. Las salidas no utilizadas se dejan
desconectadas.

Figura A.29 Un circuito de compuertas Y para el decodificador 2 a 4

Figura A.30 * La funcin mayora implementada por un decodificador 3 a 8.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

122

Arquitectura de Computadoras I UNPAZ

A.10.5 Codificadores de prioridad


Un codificador traduce un conjunto de entradas en un cdigo binario y puede
pensarse como el circuito opuesto al de un decodificador. Un codificador de prioridad es
un tipo de codificador en el que se establece un ordenamiento de las entradas. El
diagrama en bloques y la tabla de verdad de un codificador de prioridad de 4 entradas
a 2 salidas se muestra en la figura A.31. El esquema de prioridades impuesto sobre las
entradas hace que A. tenga una prioridad mayor que AM. La salida de dos bits adopta
los valores 00, 01, 10 u 11, dependiendo de las entradas activas y de sus prioridades
relativas. Cuando no hay entradas activas, las salidas llevan, por defecto, a asignarle
prioridad a la entrada A0 (F0F1 = 00).

Figura A.31 Diagrama en bloques y tabla de verdad de un codificador de prioridad de 4 a 2.

Los codificadores de prioridad se utilizan para arbitrar entre una cantidad de


dispositivos que compiten por un mismo recurso, como cuando se produce el intento de
acceso simultneo de una cantidad de usuarios a un sistema de computacin. La figura
A.32 ilustra el diagrama circuital para un codificador de prioridad de 4 entradas y 2
salidas. (El circuito ha sido simplificado utilizando mtodos descriptos en el apndice B,
pero su comportamiento de entrada-salida puede verificarse sin necesidad de conocer
el mtodo de reduccin que se ha utilizado.)

Figura A.32 Diagrama lgico de un codificador de prioridad de 4 a 2.

El semisumador
Se denomina semisumador a un circuito que admite dos bits como entrada y genera
como salida:

Un bit que representa la suma de los dos bits de entrada.

Otro bit que representa el acarreo generado por la suma.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

123

Arquitectura de Computadoras I UNPAZ


La tabla de verdad de este circuito pue puede deducirse a partir de las reglas de
la suma binaria.

A partir de esta tabla de verdad se puede observar que la suma puede


implementarse con una operacin XOR y el acarreo de salida con una operacin AND.

sumador completo

Figura A.36 Ejemplo de suma de dos nmeros binarios sin signo.

La tabla de verdad de la figura A.37 describe un elemento conocido como


sumador completo, el que se muestra en forma esquemtica en la figura. Un
semisumador, que podra utilizarse en la columna de la derecha (la de las unidades)
suma dos bits y genera una suma y un arrastre, en tanto que un sumador completo
suma dos bits ms uno de arrastre y genera un bit de suma y uno de arrastre. No se
utiliza el semisumador en este ejemplo para lograr la mnima cantidad de componentes
distintos.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

124

Arquitectura de Computadoras I UNPAZ


Figura A.37 Tabla de verdad de un sumador completo.

La principal diferencia entre un sumador completo y un semisumador es que el


sumador completo admite un valor que represente un acarreo de entrada.
De esta manera se puede implementar el circuito sumador completo usando dos
puertas XOR, dos puertas AND y una puerta OR;

Tambin es posible implementar el sumador completo utilizando dos circuitos


semisumadores;

El primer semisumador suma los dos bits

El segundo suma el resultado con el acarreo de entrada

Habr acarreo de salida si cualquiera de los dos semisumadores genera un acarreo

Se conectarn en cascada cuatro sumadores completos para formar un sumador


lo suficientemente grande como para permitir la suma de los dos nmeros usados en el
ejemplo de la figura A.36. Este sumador se ilustra en la figura A.38, en la cual el sumador
de la derecha recibe un arrastre de entrada siempre en 0.
El lector podr apreciar que el valor de la suma en una columna dada no puede
obtenerse hasta que se determine el valor del arrastre que sale de la columna anterior.
El circuito se denomina sumador con arrastre en serie, debido a que los valores
correctos del arrastre viajan a travs del circuito, de derecha a izquierda. Asimismo, el
lector puede observar que aun cuando el circuito tiene aspecto de funcionar en paralelo,
en realidad los resultados de cada columna se determinan en secuencia empezando
desde la derecha. Esta es una desventaja fundamental de este tipo de circuitos. En el
captulo 3 se analizan los mtodos que permiten acelerar la suma.

Figura A.38 Sumador de cuatro bits implementado con sumadores completos conectados en cascada.
.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

125

Arquitectura de Computadoras I UNPAZ

A.11 Lgica secuencial


La primera parte de este apndice fue dedicada a los circuitos lgicos
combinatorios, en los que las salidas quedan totalmente determinadas como funcin de
las entradas. Un circuito lgico secuencial, conocido como mquina de estados finitos,
toma una entrada y un estado actual para generar una salida y un nuevo estado. Esta
mquina de estados Finitos se distingue de un circuito combinatorio en que la historia
de las entradas del circuito secuencial tiene influencia sobre sus estados y sobre su
salida. Este concepto es importante en la implementacin de circuitos de memoria, as
como en el diseo de unidades de control en una computadora.

A.11.1 El circuito biestable (flip flop) S-R


Un circuito secuencial bsico es el llamado biestable SR (biestable es una
traduccin no literal de la palabra inglesa latch; la razn de la denominacin de biestable
se da ms adelante). Veamos su gnesis a partir del circuito de la figura, del que se dan
unas formas de onda tpicas:

Figura - Circuito elemental con memoria con caractersticas biestables

Este es el circuito de memoria ms elemental concebible: una compuerta OR de


dos entradas con su salida conectada a una de sus entradas, mientras que la otra
entrada es llamada S o set (por "poner" en ingls), denominacin que enseguida
justificaremos. La mencionada conexin entre una salida y una entrada se denomina
retroalimentacin.
La figura muestra tambin una nomenclatura habitual: a la seal de salida, al
retroalimentarse a la entrada, si bien se le mantiene el nombre, se lo pasa a letras
minsculas, razn por la cual a la entrada que recibe esta realimentacin se la ha
denominado como q. Esto permite que el circuito anterior pueda ser representado por la
ecuacin:

Q=S+q
BIESTABLES, CIRCUITOS SECUENCIALES EN MODO FUNDAMENTAL
Si suponemos que inicialmente la entrada S est en 0 y tambin lo est la salida
Q, el circuito perdura en ese estado mientras no haya un cambio en S. Si S pasa a ser
1, esto pone a la salida Q en 1, tomando tambin este valor la entrada q a la que esta
salida est conectada. Por consiguiente, an cuando vuelva S a 0, la salida
permanecer en estado 1 por estarlo as la entrada retroalimentada. El circuito es capaz,
entonces, de memorizar si es que en el pasado alguna vez fue 1 la entrada S.
Ntese que, en este circuito, cuando S est en 0, la salida pueda estar en dos
estados estables diferentes 1 o 0, dependiendo de si estuvo alguna vez S en 1 o no,
respectivamente. Esta biestabilidad de la salida es la que da el nombre de biestables a
los circuitos que de l se derivan, como los que pasamos a ver a continuacin.
Un circuito de memoria como el descripto tiene el inconveniente de que la nica
forma que hay para hacerle "olvidar" su pasado es retirarle la tensin de alimentacin,
por ejemplo apagando el equipo. Esto no slo es imprctico sino que tampoco es
selectivo, ya que borra la memoria de todos los circuitos similares que hubiera en el
equipo. Una forma ms prctica de lograr que "olvide" es bloqueando su salida por
medio de un circuito apropiado. Esto puede lograrse, como muestra la figura 6-2,
mediante una compuerta AND gobernada por medio de una seal R o reset (por
"reponer", en ingls, y que en castellano puede tambin traducirse como borrar o
despejar). As, si R est en 0 la salida de la compuerta OR est habilitada y el circuito
se comporta de la manera ya dicha, mientras que si R est en 1 la salida Q pasa a ser

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

126

Arquitectura de Computadoras I UNPAZ


0, al igual que la seal retroalimentada, perdindose la memorizacin del 1
anteriormente aparecido en S, an cuando la seal R vuelva a 0. La figura muestra
tambin formas de onda tpicas.

Figura - Circuito elemental de memoria modificado (biestable SR con reset prioritario)

La ecuacin a que responde dicho circuito, segn surge de la propia figura, es


Q =(S + q).
En la prctica, las seales S y R suelen ser excluyentes, es decir, si se aplica
una de ellas no tiene sentido aplicar simultneamente la otra. Sin embargo, si se
aplicaran ambas simultneamente, la ecuacin anterior y el anlisis del circuito
muestran que la salida Q ira a 0, es decir, se impone el reset, por lo que este biestable
a veces es denominado biestable SR con reset prioritario.
Podemos resumir el comportamiento de un biestable SR con reset prioritario
diciendo que:

La aparicin de la entrada S (estando R ausente) pone la salida en 1

La aparicin de la entrada R (estando S ausente) pone la salida en 0

La ausencia de ambas entradas deja al circuito memorizando el valor que tena


en el momento en que se retir la ltima de las entradas que estuvo en 1.

La presencia de ambas entradas simultneamente pone la salida en 0

Este resumen se acostumbra a presentar en la siguiente tabla de verdad,


denominada tabla caracterstica del biestable SR con reset prioritario.

Este biestable a menudo es realizado, en ambientes industriales, mediante


lgica de contactos y rels como pasamos a ver a continuacin. En ese mbito, sin
embargo, no suele ser denominado biestable SR sino sistema de arranque y parada. El
circuito correspondiente es el que muestra la figura siguiente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

127

Arquitectura de Computadoras I UNPAZ


Figura - Circuito de arranque y parada

Los pulsadores S y R (S normalmente abierto y R normalmente cerrado) reciben,


como muestra la figura, los nombres alternativos de arranque y parada (start y stop en
la nomenclatura inglesa). La razn para esto se explica a continuacin. En general,
aunque la figura no lo muestra, el rel usado en este circuito (identificado como Q en la
figura) tiene otros contactos encargados de conmutar la alimentacin elctrica a un
motor o a otro equipo elctrico. De tal manera que esos contactos se cierran cuando el
rel tiene su bobina energizada, haciendo que el motor est en marcha, mientras que si
el rel no est energizado, los contactos al estar abiertos tienen el motor parado. La
presin del botn de arranque (S) acciona el rel (el que queda retenido en ese estado
an cuando el botn de arranque sea liberado, por la accin del llamado contacto de
retencin del rel identificado como q) y el motor pasa a funcionar. La presin posterior
sobre el botn de parada (R) desenergiza al rel y detiene al motor.
A partir del circuito con memoria de la figura 6-1 hemos logrado incorporarle la
entrada R que permite su borrado a travs de bloquear la salida cuando la misma est
presente, y llegar al circuito de la figura 6-2. Pero una forma alternativa de lograr este
propsito de forzar el olvido es usando la entrada R para bloquear, no la salida, sino
la trayectoria de retroalimentacin. El circuito que implementa esta idea alternativa es el
siguiente.

Figura - Biestable SR con set prioritario

Se notar que este circuito no es totalmente diferente al de la figura 6-2, sino que
es similar pero toma la salida Q de la salida de la compuerta OR en vez de tomarlo,
como en el caso anterior, de la salida de la compuerta AND. Este cambio introduce
ciertas modificaciones, tanto a la ecuacin correspondiente como al comportamiento del
circuito, que veremos a continuacin.
La ecuacin correspondiente a la figura anterior y que surge directamente de la
misma, es la siguiente:
Q = S +.q
Si bien este circuito se comporta muy similarmente al de la figura 6-2, se
diferencia de l cuando ambas entradas S y R estn en 1, caso en que, segn se obtiene
reemplazando en la ecuacin anterior, la salida va a 1. Se recordar que, en la prctica,
las seales S y R suelen ser excluyentes; sin embargo, si se aplicaran ambas
simultneamente a este circuito, como la salida va a 1, es decir, que se impone el set,
este biestable a veces es denominado biestable SR con set prioritario, y tiene la
siguiente tabla caracterstica.

Tambin este circuito es realizable con contactos y rels para hacer un circuito
de arranque y parada, pero normalmente no es empleado porque resultara de arranque

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

128

Arquitectura de Computadoras I UNPAZ


prioritario, y consideraciones de seguridad aconsejan que en estos sistemas sea
prioritaria la orden de parada.
En general, los diseadores de circuitos que incorporan biestables SR tratan de
evitar que las entradas S y R sean simultneamente 1 (aunque esto no siempre se
logra). Si se respeta esta condicin, los circuitos de las figuras 6-2 y 6-4 tienen idntico
comportamiento y la tabla caracterstica, al tomar en cuenta la limitacin que se
autoimponen los diseadores, queda comn a ambos y de la siguiente manera.

El biestable SR realizado con compuertas universales


Los circuitos de las figuras 6-2 y 6-4 pueden ser modificados de manera de
emplear compuertas universales, es decir, compuertas NOR o NAND.
As, podemos partir de la ecuacin correspondiente al biestable SR con reset
prioritario que, habamos visto, era:
Q = (S + q).
La expresin anterior puede ser manipulada algebraicamente hasta llegar a la
frmula siguiente, cuya igualdad con la anterior el lector podr comprobar aplicando las
leyes de De Morgan

= ( + ) +
Esta expresin, tiene dos sumas negadas, puede implementarse por medio de
dos compuertas NOR. Procediendo de la manera conocida pero dndole al circuito un
aspecto simtrico, se llega al circuito siguiente.

Figura; Biestabie SR hecho con compuertas NOR y con sus dos salidas.

Si bien este biestabie es de reset prioritario, en lo que sigue supondremos el


cumplimiento de la autorrestriccin de considerar prohibida la posibilidad de que S y R
sean simultneamente iguales a 1.
La realizacin simtrica del biestabie que muestra la figura anterior, tiene una
caracterstica interesante. Se observa que, dada la simetra, es posible usar dos salidas
del circuito, tomando cada una de ellas a la salida de una de las compuertas OR. Una
de las salidas es la salida normal Q, mientras que la funcin de la otra puede
demostrarse que es la negacin de Q (aunque esto es slo cierto si cumple la prohibicin
de aplicar S y R ambas en 1 al mismo tiempo). Demostraremos esta propiedad
razonando por el absurdo:

Las dos salidas no pueden ser simultneamente 1, porque en ese caso ambas
NOR tendran una de sus entradas en 1 (la conectada a la salida de la otra NOR),
y sus salidas deberan ser 0, en contradiccin con la suposicin de que ambas
eran 1. Este caso es, entonces, imposible.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

129

Arquitectura de Computadoras I UNPAZ

Las dos salidas no pueden ser simultneamente 0, porque en ese caso ambas
NOR tendran que tener alguna entrada en 1; y como no lo seran las entradas
que estn conectadas a la salida de la otra NOR que estamos postulando que
seran 0, ello exigira que tanto S como R fuesen 1, y como esta condicin ha
sido excluida, este caso es, entonces, prohibido.

Como consecuencia, si las salidas no pueden ser ambas 1 ni ambas 0, deben


ser una 0 y la otra 1, y ser entonces una la inversa de la otra.

Pero para llegar a un circuito similar hecho con compuertas NAND se pudo haber
partido de la ecuacin correspondiente al biestabie SR con set prioritario, que era:
Q = S + .q
O, transformndola algebraicamente:

= . .
Como esta ecuacin contiene dos productos negados, el circuito respectivo
puede realizarse mediante 2 compuertas NAND. El nuevo circuito resultante para el
biestabie SR es otro circuito simtrico con dos salidas, las que nuevamente son una la
negacin de la otra mientras se asegure que las entradas S y R no pueden ser 1
simultneamente. El circuito es el de la figura 6-6. Ntese que las entradas pasan a ser
S negada y R negada, por lo que no es infrecuente que este circuito deba ser
complementado con dos inversores.

Figura - Biestable SR hecho con compuertas NAND

Los dos circuitos anteriores son las formas ms habituales de realizar un


biestable SR, ya que requiriendo su implementacin de tan slo dos compuertas, no es
ofrecido el biestable SR como circuito integrado comercial.
Como se deca anteriormente; Un circuito biestable, o flip flop, es un conjunto de
compuertas lgicas que mantiene estable el estado de la salida aun luego de que las
entradas pasen a un estado inactivo. La salida de un flip flop queda determinada tanto
por las entradas actuales como por la historia de las mismas; en consecuencia, no es
suficiente el uso de un circuito combinatorio para capturar este comportamiento. Un flip
flop se puede utilizar para almacenar un bit de informacin, sirviendo adems como
bloque constructivo para memorias de computadora.
Si una o ambas entradas de una compuerta NOR de dos entradas est en 1, la
salida de la compuerta NOR es 0; en los dems casos la salida vale 1. Segn se ha
visto con anterioridad en este apndice, el tiempo requerido para que una seal se
propague desde las entradas de una compuerta lgica hasta sus salidas no es nulo, y
existe un cierto retardo , que representa el tiempo de propagacin a travs de la
compuerta. Para el anlisis, el retardo suele considerarse acumulado a la salida de la
compuerta, como se indica en la figura A.41. El retardo acumulado no se indica en los
diagramas circuitales pero su presencia est implcita.
El tiempo de propagacin a travs de la compuerta NOR afecta el funcionamiento
de un flip flop. Considrese el flip flop set-reset (S-R) de la figura A.42, que consiste en
dos compuertas NOR conectadas entre s. Si se aplica un 1 en la entrada S, la salida
pasa a adoptar el valor 0 luego de un tiempo , lo que hace que la salida Q adopte el
valor 1 (suponiendo 0 como estado inicial de R) luego de un retardo 2 . Como

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

130

Arquitectura de Computadoras I UNPAZ


resultado de este tiempo de propagacin finito (no nulo), durante un pequeo instante
de tiempo las dos salidas Q y adoptan el valor 0, lo que no corresponde desde el
punto de vista lgico. Esta situacin se solucionar en el anlisis posterior de la
configuracin circutal conocida como maestro-esclavo (master-slave). Si se aplica
ahora un 0 en la entra da S, la salida Q mantendr su estado hasta algn momento
posterior en que se lleve la entrada R a 1. El flip flop S-R, por ende, retiene un nico bit
de informacin y sirve como elemento bsico de memoria.

Figura A.41 * Una compuerta NOR con un retardo acumulado en la salida.

Figura A.42 Un circuito flip flop S-R.

Existe ms de una manera de plantear un flip flop S-R, por lo que el uso de
compuertas NOR interconectadas es solo una de esas configuraciones. Puede
implementarse un flip flop S-R utilizando dos compuertas NAND interconectadas, caso
en el cual el estado de reposo es el que corresponde a S=R-1. Con el uso del teorema
de DeMorgan, se pueden convertir las compuertas NOR de un flip flop S-R en
compuertas Y, segn se ve en la figura A.43. Operando con inversores, se reemplazan
las compuertas Y por compuertas NAND, y luego se invierten los sentidos activos de S
y de R para eliminar los inversores de entrada remanentes.

Figura A.43 Conversin de un flip flop S-R implementado con compuertas NOR en una implementacin
con compuertas NAND.

A.11.2 El flip flop S-R sincrnico


Considrese ahora que las entradas del flip flop S-R pueden generarse desde
las salidas de algn otro circuito cuyas entradas, a su vez, pueden generarse desde las
salidas de otros circuitos, formando una cascada de circuitos lgicos. Esta estructura
refleja el formato de los circuitos digitales convencionales. No obstante, en la

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

131

Arquitectura de Computadoras I UNPAZ


interconexin en cascada de circuitos lgicos pueden surgir problemas con aquellas
transiciones que se produzcan en momentos indeseados.
Considrese el circuito de la figura A.44. Si las seales A, B y C cambian todas
desde su estado lgico 0 al estado 1, la seal C puede llegar a la compuerta XOR antes
de que A y B hayan completado su propagacin a travs de la compuerta Y. Esto
producir un 1 momentneo en la salida correspondiente a la entrada S, salida que
volver a 0 cuando la salida de la compuerta Y se termine de establecer y se realice la
operacin de XOR correspondiente. En este punto, puede ocurrir que S haya estado en
1 el tiempo suficiente como para llevar a 1la salida del flip flop, destruyendo
eventualmente la integridad del bit almacenado.

Figura A.44 Un circuito con riesgos.

Cuando en un circuito biestable sus estados son sensibles a la secuencia


temporal en que recibe las seales de entrada, la consecuencia puede ser una
variacin transitoria de algn estado o salida del circuito, los que, por ndeseados,
derivan en un mal funcionamiento del mismo. Se suele decir que los circuitos que
pueden producir perturbaciones transitorias indeseadas tienen riesgos. Un riesgo puede
manifestarse como una perturbacin en las salidas o no, segn las condiciones
operativas del circuito en un momento dado.
Con el objeto de lograr una sincronizacin controlada de los circuitos de lgica
secuencial, se suele incorporar una seal de sincronismo o reloj, con la cual cada
circuito de estados (como lo son los flip flops) se sincroniza a s mismo al aceptar
cambios de sus entradas solo en instantes determinados. Un circuito de reloj produce
una secuencia continua de ceros y unos, como lo ilustra la forma de onda de la figura
A.45. El tiempo que requiere la seal de reloj para subir, caer y volver a subir se conoce
como perodo de la seal. Los flancos rectos que se ilustran en la forma de onda de la
figura representan una seal cuadrada ideal. En la prctica, los flancos no son verticales
debido a que el crecimiento y la cada de la seal no son instantneos.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

132

Arquitectura de Computadoras I UNPAZ

Figura A.45 Forma de onda de una seal de reloj

Se define como frecuencia de la seal de reloj a la inversa de su perodo. Para


un perodo de 25 ns/ciclo, la frecuencia correspondiente es de 1/25 ciclos/ns, lo que
corresponde a 40 millones de ciclos por segundo, o 40 MHz. La tabla A.2 muestra una
serie de abreviaturas que se utilizan habitualmente en la representacin de perodos y
frecuencias.

Figura A.2 Prefijos normalizados para la denominacin de periodos y frecuencias.

El uso de una seal de sincronismo permite la eliminacin de riesgos por medio


de la creacin de un circuito biestable sincrnico, que se muestra en la figura A.46,
el que incluye una entrada CLK como seal de sincronismo. Las entradas S y R ya no
pueden cambiar el estado del circuito hasta que no se reciba un nivel alto en CLK. Por
consiguiente, si los cambios en S y R se producen mientras la seal de reloj est en su
estado inactivo (bajo), cuando la seal de reloj pase a 1 los nuevos estados de S y R
estables, se almacenarn en el flip flop.

Figura A.46 Un circuito S-R sincrnico.

A.11.3 El flip flop D y la configuracin maestro-esclavo


El circuito S-R analizado tiene una desventaja: para almacenar un 1 o un 0, hace
falta aplicar un 1 a alguna de dos entradas diferentes (S o R) dependiendo del valor que
se pretenda almacenar. Una alternativa diferente, que permite aplicar un 0 o un 1 a la
misma entrada, lleva a la configuracin correspondiente a un flip flop D, que se ilustra
en la figura A.47. El flip flop D se obtiene conectando las entradas S y R entre ellas a
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

133

Arquitectura de Computadoras I UNPAZ


travs de un circuito inversor. Cuando se activa la seal de reloj, el valor de D queda
almacenado en el flip flop.

Figura A.47 - Un circuito D sincrnico. La entrada C representa la seal de sincronismo en la forma


simblica del flip flop.

Cuando se usa el flip flop D en situaciones en las que existe realimentacin


desde la salida haca la entrada a travs de otros circuitos, esta realimentacin puede
provocar que el flip flop cambie sus estados ms de una vez en un ciclo de reloj. Con el
objeto de asegurar que el flip flop cambia una sola vez por ciclo de reloj, se suele cortar
el lazo de realimentacin a travs de la estructura conocida como maestro-esclavo, que
se muestra en la figura A.48. El flip flop maestro-esclavo consiste en dos flip flops
encadenados, donde el segundo utiliza una seal de sincronismo que est negada con
respecto a la que utiliza el primero de ellos. El flip flop maestro cambia cuando la entrada
principal de reloj est en su estado alto, pero el esclavo no puede cambiar hasta que
esa entrada no vuelva a bajar. Es lo significa que la entrada D se transfiere a la salida
Qs del flip flop esclavo recin cuando la seal de reloj sube y vuelve a bajar. El tringulo
utilizado en el smbolo del flip flop maestro-esclavo indica que las transiciones de la
salida ocurren solo en un flanco creciente (transicin O-1) o decreciente (transicin 1-0)
de la seal de reloj. No se producen transiciones continuas en la salida cuando la seal
de reloj se encuentra en su nivel alto, como ocurre con el circuito sincrnico simple. Para
la configuracin de la figura A.48, la transicin de la salida se produce en el flanco
negativo de la seal de sincronismo.

Fiflura A.48 * Un flip flop maestro-esclavo.

Un flip flop activado por nivel puede cambiar sus estados en forma continua
cuando la seal de reloj est en su estado activo (alto o bajo, segn como se haya
diseado el flip flop). Un flip flop activado por flanco solo cambia en una transicin
creciente o decreciente de la seal de reloj. En algunos textos no suele aparecer el
smbolo del tringulo en la entrada de reloj para distinguir entre flip flops activados por
flanco y por nivel, e indican una forma u otra de funcionamiento de alguna manera no
muy definida. En la prctica, la notacin no es demasiado rigurosa. En este texto se
utiliza el smbolo triangular en la entrada de reloj, haciendo ver tambin el tipo de flip
flop a partir de la forma en que se lo utiliza.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

134

Arquitectura de Computadoras I UNPAZ

A.11.4 Flip flops J-K y T


Adems de los flip flops S-R y D, son muy comunes los flip flops J-K y T. El flip
flop J-K se comporta en forma similar al flip flop S-R, excepto porque cuando las dos
entradas valen simultneamente 1, el circuito conmuta el estado anterior de su salida.
El flip flop T (por toggle) alterna sus estados, como ocurre en el flip flop J-K, cuando
sus entradas estn ambas en 1. Los diagramas lgicos y los smbolos de los flip flops
J-K y T se muestran, respectivamente, en las figuras A.49 y A.50.

Figura A.49 Diagrama lgico y smbolo de un flip flop J-K bsico.

Figura A.50 Diagrama lgico y smbolo de un flip flop T.

Otra vez, puede surgir algn inconveniente cuando en un flip flop J-K se tienen
las dos entradas J y K en 1 y se lleva la seal de sincronismo a su estado activo. En
esta situacin, el flip flop puede cambiar de estado ms de una vez mientras el reloj est
en su estado alto. Esta es otra situacin en la que se hace apropiado el uso de un flip
flop J-K de estructura maestro-esclavo. El esquema de un flip flop J-K maestro-esclavo
se ilustra en la figura A.51. El problema de la oscilacin infinita se resuelve con esta
configuracin, aun cuando la misma crea otro inconveniente. Si se mantiene una entrada
en nivel alto durante un tiempo dado mientras la seal de reloj se encuentra activa,
aunque fuese porque se encuentre en una transicin previa a establecerse, el flip flop
puede llegar a ver el 1 como si fuera una entrada vlida. La situacin se resuelve si se
eliminan los riesgos en los circuitos que controlan las entradas.
Se puede resolver el problema de la captura de unos por medio de la
construccin de flip flops activados por flanco, en los que el estado de la entrada se
analiza solo en las transiciones del reloj (de alto a bajo si el circuito se activa por flanco
negativo o de bajo a alto si se trata de un flip flop activado por flanco positivo), instantes
en los cuales las entradas deberan estar estables.
La figura A.52 ilustra la configuracin de un flip flop D activado por flanco
negativo. Cuando la entrada de reloj est en su estado alto, los circuitos de entrada
entregan ceros al flip flop S-R principal (de salida). La entrada D puede cambiar una
cantidad arbitraria de veces, an con la seal de sincronismo activa, sin afectar el estado
del circuito principal.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

135

Arquitectura de Computadoras I UNPAZ

Figura A.51 Diagrama lgico y smbolo de un flip flop J-K maestro-esclavo.

Figura A.52 Flip flop D activado por flanco negativo.

Cuando el reloj pasa a su estado bajo, el estado del circuito principal solo se ve afectado
por los estados estables de los circuitos de entrada. Con el reloj en su estado bajo, aun
cuando la entrada D cambie, el circuito principal no se ve afectado.

Unidad 3 Computadoras digitales


Organizacin y Arquitectura de computadoras 7 edicin William Stallings Capitulo 1; Introduccin
pag. 25 a 34

Introduccin
ORGANIZACIN Y ARQUITECTURA
Cuando se describe un computador, frecuentemente se distingue entre
arquitectura y organizacin. Aunque es difcil dar una definicin precisa para estos
trminos, existe un consenso sobre las reas generales cubiertas por cada uno de ellos
(por ejemplo, vase; VRAN80, SIEW82, y BELL78a).
La arquitectura de computadores se refiere a los atributos de un sistema que son
visibles a un programador, o para decirlo de otra manera, aquellos atributos que tienen
un impacto directo en la ejecucin lgica de un programa. La organizacin de
computadores se refiere a las unidades funcionales y sus interconexiones, que dan lugar
a especificaciones arquitectnicas. Entre los ejemplos de atributos arquitectnicos se
encuentran el conjunto de instrucciones, el nmero de bits usados para representar
varios tipos de datos (por ejemplo, nmeros, caracteres), mecanismos de E/S y tcnicas
para direccionamiento de memoria. Entre los atributos de organizacin se incluyen
aquellos detalles de hardware transparentes al programador, tales como seales de

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

136

Arquitectura de Computadoras I UNPAZ


control, interfaces entre el computador y los perifricos y la tecnologa de memoria
usada.
Para poner un ejemplo, una cuestin de diseo arquitectnico es si el
computador tendr la instruccin de multiplicar. Una cuestin de organizacin es si esa
instruccin ser implementada por una unidad especializada en multiplicar o por un
mecanismo que haga un uso iterativo de la unidad de suma del sistema. La decisin de
organizacin puede estar basada en la frecuencia prevista del uso de la instruccin de
multiplicar la velocidad relativa de las dos aproximaciones, y el coste y el tamao fsico
de una unidad especializada en multiplicar.
Histricamente, y an hoy da, la distincin entre arquitectura y organizacin ha
sido importante. Muchos fabricantes de computadores ofrecen una familia de modelos,
todos con la misma arquitectura pero con diferencias en la organizacin.
Consecuentemente los diferentes modelos de la familia tienen precios y prestaciones
distintas. Ms an, una arquitectura puede sobrevivir muchos aos, pero su
organizacin cambia con la evolucin de tecnologa. Un ejemplo destacado de ambos
fenmenos es la arquitectura IBM Sistema/370. Esta arquitectura apareci por primera
vez en 1970 e inclua varios modelos. Un cliente con necesidades modestas poda
comprar un modelo ms barato y lento, y, si la demanda se incrementaba, cambiarse
ms tarde a un modelo ms caro y rpido sin tener que abandonar el software que ya
haba sido desarrollado. A travs de los aos IBM ha introducido muchos modelos
nuevos con tecnologa mejorada para reemplazar a modelos ms viejos, ofreciendo al
consumidor mayor velocidad, precios ms bajos o ambos a la vez. Estos modelos ms
nuevos conservaban la misma arquitectura para proteger as la inversin en software
del consumidor. Podemos destacar que la arquitectura del Sistema/370 con unas pocas
mejoras ha sobrevivido hasta hoy da como la arquitectura de la lnea de grandes
productos de computacin IBM.
En una clase de sistemas, llamados microcomputadores, la relacin entre
arquitectura y organizacin es muy estrecha. Los cambios en la tecnologa no solo
influyen en la organizacin, sino que tambin dan lugar a la introduccin de arquitecturas
ms ricas y potentes. Generalmente hay menos requisitos de compatibilidad generacin
a generacin para estas pequeas mquinas. As, hay ms interaccin entre las
decisiones de diseo arquitectnicas y de organizacin. Un ejemplo interesante de esto
son los computadores de repertorio reducido de instrucciones (RISC, Reduced
Instruction Set Computer), que veremos en el Captulo 13.
En este libro se examina tanto la organizacin como la arquitectura de un
computador. Se da, quiz, ms nfasis a la parte de organizacin. Sin embargo, como
la organizacin de un computador debe ser diseada para implementar la especificacin
de una arquitectura particular, un estudio exhaustivo de la organizacin requiere tambin
un anlisis detallado de la arquitectura.

1.2 - ESTRUCTURA Y FUNCIONAMIENTO


Un computador es un sistema complejo; los computadores de hoy en da
contienen millones de componentes electrnicos bsicos. Cmo podramos
describirlos claramente? La clave est en reconocer la naturaleza jerrquica de la
mayora de los sistemas complejos, incluyendo el computador [SIMO69|. Un sistema
jerrquico es un conjunto de subsistemas interrelacionados cada uno de los cuales, a
su vez, se organiza en una estructura jerrquica hasta que se alcanza el nivel ms bajo
del subsistema elemental.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

137

Arquitectura de Computadoras I UNPAZ


La naturaleza jerrquica de los sistemas complejos es esencial tanto para su
diseo como para su descripcin. El diseador necesita tratar solamente con un nivel
particular del sistema a la vez. En cada nivel el sistema consta de un conjunto de
componentes y sus interrelaciones. El comportamiento en cada nivel depende solo de
una caracterizacin abstracta y simplificada del sistema que hay en el siguiente nivel
ms bajo. De cada nivel al diseador le importan la estructura y el funcionamiento:

Estructura, el modo en que los componentes estn interrelacionados.

Funcionamiento, la operacin de cada componente individual como parte de la


estructura.

En trminos de descripcin tenemos dos opciones: empezar por lo ms bajo y


construir una descripcin completa, o comenzar con una visin desde arriba y
descomponer el sistema en sus subpartes. La experiencia a partir de muchos campos
nos ha enseado que la descripcin de arriba abajo (top-down) es la ms clara y efectiva
[WEIN75|.
El enfoque seguido en este libro considera este punto de vista. El computador
ser descrito de arriba abajo. Comenzamos con los componentes principales del
sistema describiendo su estructura y funcionamiento, y seguimos sucesivamente hacia
capas ms bajas de la jerarqua. Lo que queda de esta seccin ofrece una breve visin
global de este plan de ataque.

FUNCIONAMIENTO
Tanto la estructura como el funcionamiento de un computador son en esencia
sencillos. La Figura 1.1 seala las funciones bsicas que un computador puede llevar a
cabo. En trminos generales hay solo cuatro:

Procesamiento de datos

Almacenamiento de datos

Transferencia de datos

Control

El computador, por supuesto, tiene que ser capaz de procesar datos. Los datos
pueden adoptar una gran variedad de formas, y el rango de los requisitos de procesado
es amplio. Sin embargo, veremos que hay solo unos pocos mtodos o tipos
fundamentales de procesado de datos.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

138

Arquitectura de Computadoras I UNPAZ

Tambin es esencial que un computador almacene datos. Incluso si el


computador esta procesando datos al vuelo (es decir, los datos se introducen, se
procesan, y los resultados se obtienen inmediatamente), el computador tiene que
guardar temporalmente al menos aquellos datos con los que est trabajando en un
momento dado. As hay al menos una funcin de almacenamiento de datos a corto
plazo. Con igual importancia el computador lleva a cabo una fusin de almacenamiento
de datos a largo plazo. El computador almacena ficheros de datos para que se
recuperen y actualicen en un futuro.
El computador tiene que ser capaz de transferir datos entre l mismo y el
mundo exterior. El entorno de operacin del computador se compone de dispositivos
que sirven bien como fuente o bien como destino de datos. Cuando se reciben o se
llevan datos a un dispositivo que est directamente conectado con el computador, el
proceso se conoce como entrada-salida (E/S), y este dispositivo recibe el nombre de
perifrico. El proceso de transferir datos a largas distancias, desde o hacia un dispositivo
remoto, recibe el nombre de comunicacin de datos.
Finalmente, debe haber un control de estas tres funciones. Este control es
ejercido por el(los) ente(s) que proporciona (n) al computador instrucciones. Dentro del
computador, una unidad de control gestiona los recursos del computador y dirige las
prestaciones de sus pares funcionales en respuesta a estas instrucciones.
A este nivel general de discusin, el nmero de operaciones posibles que pueden
ser realizadas es pequeo. La Figura 1.2 muestra los cuatro posibles tipos de
operaciones. El computador puede funcionar como un dispositivo de transferencia de
datos (Figura 1.2a), simplemente transfiriendo datos de un perifrico o lnea de
comunicaciones a otro. Tambin puede funcionar como un dispositivo de
almacenamiento de datos (Figura 1.2b), con datos transferidos desde un entorno

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

139

Arquitectura de Computadoras I UNPAZ


externo al almacn de datos del computador (leer) y viceversa (escribir). Los dos
diagramas siguientes muestran operaciones que implican procesamiento de datos, en
datos, o bien almacenados (Figura 1.2c) o en trnsito entre el almacn y el entorno
externo (Figura 1.2d).
La exposicin precedente puede parecer absurdamente generalizada. Es
posible, incluso en el nivel ms alto de la estructura de un computador, diferenciar varias
funciones, pero citando [SIEW82]:
Hay, sorprendentemente, muy pocas formas de estructuras de computadores
que se ajusten a la funcin que va a ser llevada a cabo. En la raz de esto subyace el
problema de la naturaleza de uso general de los computadores, en la cual toda la
especializacin funcional se tiene cuando se programa y no cuando se disea.

ESTRUCTURA
La Figura 1.3 es la representacin ms sencilla posible de un computador. El
computador es una entidad que interacta de alguna manera con su entorno externo.
En general, todas sus conexiones con el entorno externo pueden ser clasificadas como

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

140

Arquitectura de Computadoras I UNPAZ


dispositivos perifricos o lneas de comunicacin. Diremos algo ms adelante sobre
ambos tipos de conexiones.

Pero tiene ms inters en este libro la estructura interna del computador mismo,
que mostramos, en su nivel ms alto, en la Figura 1.4. Hay cuatro componentes
estructurales principales:

Unidad Central de Procesamiento (CPU, Central Processing Unit): controla


el funcionamiento del computador y lleva a cabo sus funciones de procesamiento
de datos. Frecuentemente se le llama simplemente procesador.

Memoria principal: almacena datos.

E/S: transfiere datos entre el computador y el entorno externo.

Sistema de interconexin: es un mecanismo que proporciona la comunicacin


entre la CPU, la memoria principal y la E/S.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

141

Arquitectura de Computadoras I UNPAZ

Puede que haya uno o ms de cada uno de estos componentes.


Tradicionalmente ha habido solo una CPU. En los ltimos aos ha habido un uso
creciente de varios procesadores en un solo sistema. Surgen algunas cuestiones
relativas a multiprocesadores y se discuten conforme el texto avanza: la Parte Cinco se
centra en tales sistemas.
Cada uno de estos componentes ser examinado con cierto detalle en la Parte
Dos. Sin embargo, para nuestros objetivos, el componente ms interesante y de algn
modo el ms complejo es la CPU; su estructura se muestra en la Figura 1.5. Sus
principales componentes estructurales son:

Unidad de control: controla el funcionamiento de la CPU y por tanto del


computador.

Unidad aritmtico-lgica (ALU, Arithmetic Logic Unit): lleva a cabo las


funciones de procesamiento de datos del computador.

Registros: proporcionan almacenamiento interno a la CPU.

Interconexiones CPU: son mecanismos que proporcionan comunicacin entre


la unidad de control, la ALU y los registros.

Cada uno de estos componentes ser analizado con detalle en la Parte Tres,
donde veremos que la complejidad aumenta con el uso de tcnicas de organizacin
paralelas y de segmentacin de cauce. Finalmente, hay varias aproximaciones para la
implementacin de la unidad de control; una de las aproximaciones ms comunes es la
implementacin microprogramada. Bsicamente, una unidad de control
microprogramada acta ejecutando microinstrucciones que definen la funcionalidad de
la unidad de control. Con esta aproximacin, la estructura de la unidad de control puede

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

142

Arquitectura de Computadoras I UNPAZ


ser como la mostrada en la Figura 1.6. Esta estructura ser examinada en la Parte
Cuatro.

Organizacin interna del computador


(Captulo 3; Perspectiva de alto nivel del funcionamiento y de las interconexiones del
computador Pag. 57 a 95 - William Stallings)

PUNTOS CLAVE

Un ciclo de instruccin consiste en la captacin de la instruccin,


seguida de ninguno o varios accesos a operandos, ninguno o varios
almacenamientos de operandos, y la comprobacin de las
interrupciones (si estas estn habilitadas).

Los principales componentes del computador (procesador,


memoria principal, mdulos de E/S) necesitan estar interconectados
para intercambiar datos y seales de control. El medio de
interconexin ms populares es un bus compartido constituido por
un conjunto de lneas. En los computadores actuales, es usual
utilizar una jerarqua de buses para mejorar el nivel de prestaciones.

Los aspectos clave del diseo de los buses son el arbitraje (si el
permiso para enviar las seales a travs de las lneas del bus se
controla de forma centralizada o distribuida); la temporizacin (sin
las seales del bus se sincronizan mediante un reloj central o se
envan asincronamente): y la anchura (nmero de lneas de
direccin y datos).

alto nivel, un computador est constituido por CPU (unidad central de


procesamiento), memoria, y unidades de E/S, con uno o varios mdulos de cada
tipo. Estos componentes se interconectan de modo que se pueda llevar a cabo la

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

143

Arquitectura de Computadoras I UNPAZ


funcin bsica del computador, que es ejecutar programas. As, a este nivel, se puede
describir un computador (1) mediante el comportamiento de cada uno de sus
componentes, es decir, mediante los datos y las seales de control que un componente
intercambia con los otros, y (2) mediante la estructura de interconexin y los controles
necesarios para gestionar el uso de dicha estructura.
Esta visin de alto nivel en trminos de estructura y funcionamiento es importante
debido a su capacidad explicativa de cara a la comprensin de la naturaleza del
computador. Igualmente importante es su utilidad para entender los cada vez ms
complejos problemas de evaluacin de prestaciones. Entender la estructura y el
funcionamiento a alto nivel permite hacerse una idea de los cuellos de botella del
sistema, los caminos alternativos, la importancia de los fallos del sistema si hay un
componente defectuoso, y la facilidad con que se pueden mejorar las prestaciones. En
muchos casos, los requisitos de mayor potencia y capacidad de funcionamiento
tolerante a fallos se satisfacen mediante cambios en el diseo ms que con un
incremento en la velocidad y en la fiabilidad de los componentes individuales.
Este captulo se centra en las estructuras bsicas utilizadas para la interconexin
de los componentes del computador. A modo de revisin, el captulo comienza con un
somero examen de los componentes bsicos y sus necesidades de interconexin.
Despus, se revisan los aspectos funcionales.
Ms adelante estaremos preparados para analizar el uso de los buses que
interconectan los componentes del sistema.

3.1. - COMPONENTES DEL COMPUTADOR


Como se discuti en el Captulo 2, virtualmente todos los computadores actuales
se han diseado basndose en los conceptos desarrollados por John von Neumann en
el Instituto de Estudios Avanzados (lnstitute for Advances Studies) de Priceton. Tal
diseo se conoce con el nombre de Arquitectura de Von Neumann y se basa en tres
conceptos clave:

Los datos y las instrucciones se almacenan en una sola memoria de lecturaescritura.

Los contenidos de esta memoria se direccionan indicando su posicin, sin


considerar el tipo de dato contenido en la misma.

La ejecucin se produce siguiendo una secuencia de instruccin tras


instruccin (a no ser que dicha secuencia se modifique explcitamente).

Las razones que hay detrs de estos conceptos se discutieron en el Captulo 2


pero merecen ser resumidas aqu. Hay un conjunto pequeo de componentes lgicos
bsicos que pueden combinarse de formas diferentes para almacenar datos binarios y
realizar las operaciones aritmticas y lgicas con esos datos. Si se desea realizar un
clculo concreto, es posible utilizar una configuracin de componentes lgicos diseada
especficamente para dicho clculo. Se puede pensar en el proceso de conexin de los
diversos componentes para obtener la configuracin deseada como si se tratase de una
forma de programacin. El programa resultante es hardware y se denomina programa
cableado (hardware program).
Considrese ahora la siguiente alternativa. Se construye una configuracin de
uso general de funciones lgicas y aritmticas. Este hardware realizar funciones
diferentes segn las seales de control aplicadas. En el caso del hardware especfico,
el sistema acepta datos y produce resultados (Figura 3.1a). Con el hardware de uso
general, el sistema acepta datos y seales de control y produce resultados. As, en lugar
de reconfigurar el hardware para cada nuevo programa, el programador simplemente
necesita proporcionar un nuevo conjunto de seales de control.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

144

Arquitectura de Computadoras I UNPAZ

Cmo se suministran las seales de control? La respuesta es simple pero


ingeniosa. El programa es realmente una secuencia de pasos. En cada paso, se realiza
una operacin aritmtica o lgica con ciertos datos. Para cada paso, se necesita un
nuevo conjunto de seales de control. La solucin consiste en asociar un cdigo
especfico a cada posible conjunto de seales de control, y aadir al hardware de uso
general una parte encardada de generar las seales de control a partir del cdigo (Figura
3.1b),
Programar es ahora mucho ms fcil. En lugar de tener que reconfigurar el
hardware para cada programa, todo lo que se necesita es proporcionar una nueva
secuencia de cdigos. Cada cdigo es, de hecho, una instruccin, y una parte del
hardware interpreta cada instruccin y genera las seales de control. Para distinguir este
nuevo mtodo de programacin, una secuencia de cdigos o instrucciones se denomina
software.
La Figura 3.1b muestra dos componentes esenciales del sistema: un intrprete
de instrucciones y un mdulo de uso general para las funciones aritmticas y lgicas.
Estos dos elementos constituyen la CPU. Se requieren varios componentes adicionales
para que el computador pueda funcionar. Los datos y las instrucciones deben
introducirse en el sistema. Para eso se necesita algn tipo de mdulo de entrada. Este
mdulo contiene los componentes bsicos para captar datos e instrucciones en cierto
formato y traducirlos al formato de seales que utiliza el sistema. Se necesita un medio
para proporcionar los resultados, el mdulo de salida. Globalmente, estos mdulos se
conocen con el nombre de componentes de E/S (Entrada/Salida).
Se necesita un componente ms. Un dispositivo de entrada proporcionar los
datos y las instrucciones secuencialmente, uno tras otro. Pero un programa no siempre
ejecuta las instrucciones segn la misma secuencia: puede sallarse ciertas instrucciones
(por ejemplo, al ejecutar la instruccin de salto IAS), De la misma forma, las operaciones
con datos pueden necesitar acceder a ms de un operando y segn una secuencia
determinada. Por ello, debe existir un sitio para almacenar temporalmente tanto las
instrucciones como los datos. Ese mdulo se llama memoria, o memoria principal para

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

145

Arquitectura de Computadoras I UNPAZ


distinguirlo de los perifricos y la memoria externa Von Neumann indic que la misma
memoria podra ser usada tanto para las instrucciones como para los datos.
La Figura 3.2 muestra estos componentes de alto nivel y sugiere las
interacciones entre ellos. Tpicamente, la CPU se encarga del control. Intercambia datos
con la memoria. Para ello, usualmente utiliza dos registros internos (en la CPU): un
registro de direcciones de memoria (MAR. Memory Address Register), que especifica la
direccin en memoria de la prxima lectura o escritura, y un registro para dalos de
memoria (MBR. Memory Buffer Register), que contiene el dato que se va a escribir en
memoria o donde se escribe el dato que se va a leer de memoria. Igualmente, un registro
de direcciones de E/S (E/SAR. E/S Address Register) especifica un dispositivo de E/S.
Un registro para datos de E/S (E/S BR, E/S Buffer Register) se utiliza para intercambiar
datos entre un mdulo de E/S y la CPU.
Un mdulo de memoria consta de un conjunto de posiciones, designadas por
direcciones numeradas secuencialmente. Cada posicin contiene un nmero binario
que puede ser interpretado como una instruccin o como un dato. Un mdulo de E/S
transfiere datos desde los dispositivos externos a la CPU y a la memoria, y viceversa.
Contiene los registros (buffers) internos para almacenar los datos temporalmente, hasta
que puedan enviarse.
Tras esta breve descripcin de los principales componentes, revisaremos cmo
funcionan estos cuando ejecutan programas.

3.2. FUNCIONAMIENTO DEL COMPUTADOR


La funcin bsica que realiza un computador es la ejecucin de un programa,
constituido por un conjunto de instrucciones almacenadas en memoria. El procesador
es precisamente el que se encarga de ejecutar las instrucciones especificadas en el
programa. Esta seccin proporciona una revisin de los aspectos clave en la ejecucin
de un programa, que en su forma ms simple consta de dos etapas: El procesador lee
(capta) la instruccin de memoria, y la ejecuta. La ejecucin del programa consiste en
la repeticin del proceso de captacin de instruccin y ejecucin de instruccin. Por

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

146

Arquitectura de Computadoras I UNPAZ


supuesto, la ejecucin de la instruccin puede a su vez estar compuesta de cierto
nmero de pasos (obsrvese, por ejemplo, la parte anterior de la Figura 2.4).
El procesamiento que requiere una instruccin se denomina ciclo de instruccin.
Se representa en la Figura 3.3 utilizando la descripcin simplificada de dos etapas
explicada ms arriba. Los dos pasos se denotan como ciclo de captacin y ciclo de
ejecucin. La ejecucin del programa se para solo si la mquina se desconecta, se
produce algn tipo de error irrecuperable o ejecuta una instruccin del programa que
detiene al computador.

LOS CICLOS DE CAPTACIN Y EJECUCIN


Al comienzo de cada ciclo de instruccin, la CPU capta una instruccin de
memoria. En una CPU tpica, se utiliza un registro llamado contador de programa (PC,
Program Counter) para seguir la pista de la instruccin que debe captase a continuacin.
A no ser que se indique otra cosa, la CPU siempre incrementa el PC despus de captar
cada instruccin, de forma que captar la siguiente instruccin de la secuencia (es decir,
la instruccin situada en la siguiente direccin de memoria). Considrese, por ejemplo,
un computador en el que cada instruccin ocupa una palabra de memoria de 16 bits. Se
supone que el contador de programa almacena el valor 300. La CPU captar la prxima
instruccin almacenada en la posicin 300. En los siguientes ciclos de instruccin,
captar las instrucciones almacenadas en las posiciones 301, 302, 303, y as
sucesivamente. Esta secuencia se puede alterar, como se explicar en breve.
La instruccin captada se almacena en un registro de la CPU conocido como
registro de instruccin (IR, instruction Register). La instruccin se escribe utilizando un
cdigo binario que especifica la accin que debe realizar la CPU. La CPU interpreta la
instruccin y lleva a cabo la accin requerida. En general, esta puede ser de cuatro tipos:

Procesador-Memoria: deben transferirse datos desde la CPU a la memoria, o


desde la memoria a la CPU.

Procesador-E/S: deben transferirse datos a o desde el exterior mediante


transferencias entre la CPU y un mdulo de E/S.

Procesamiento de Datos: la CPU ha de realizar alguna operacin aritmtica o


lgica con los datos.

Control: una instruccin puede especificar que la secuencia de ejecucin se


altere (como la instruccin de salto IAS, Tabla 2.1). Por ejemplo, la CPU capta
una instruccin de la posicin 149 que especifica que la siguiente instruccin
debe captarse de la posicin 182. La CPU registrar este hecho poniendo en el
contador de programa 182. As, en el prximo ciclo de captacin, la instruccin
se cargar desde la posicin 182 en lugar de desde la posicin 150.

La ejecucin de una instruccin puede implicar una combinacin de estas acciones.


Considrese un ejemplo sencillo utilizando una mquina hipottica que incluye
las caractersticas enumeradas en la Figura 3.4. El procesador posee un nico registro
de datos llamado acumulador (AC).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

147

Arquitectura de Computadoras I UNPAZ

Tanto las instrucciones como los datos son de 16 bits. As, es conveniente
organizar la memoria utilizando posiciones de 16 bits, o palabras. El formato de
instruccin indica que puede haber 24 =16 cdigos de operacin (codops) diferentes, y
se pueden direccionar directamente hasta 212= 4096 (4K) palabras de memoria.
La Figura 3.5 ilustra la ejecucin de una parte de un programa, mostrando las
partes relevantes de la memoria y los registros de la CPU. El fragmento de programa
suma el contenido de la palabra de memoria en la direccin 940 con el contenido de la
palabra de memoria en la direccin 941 y almacena el resultado en esta ltima posicin.
Se requieren tres instrucciones, que consumen tres ciclos de captacin y tres de
ejecucin:
1. El contador de programa (PC) contiene el valor 300. la direccin de la primera
instruccin. Esta instruccin (el valor hexadecimal 1940) se carga en el registro
de instruccin (IR). Obsrvese que este proceso implicara el uso del registro de
direccin de memoria (MAR) y el registro de datos de memoria (MBR). Por
simplicidad, se han ignorado estos registros intermedios.
2. Los primeros cuatro bits de IR (primer dgito hexadecimal) indican que el
acumulador (AC) se va a cargar. Los restantes 12 bits (tres dgitos
hexadecimales) especifican la direccin (940) que se va a cargar.
3. El registro PC se incrementa, y se capta la siguiente instruccin (5941) desde la
direccin 301.
4. El contenido anterior de AC y el de la posicin de memoria 941 se suman, y el
resultado se almacena en AC.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

148

Arquitectura de Computadoras I UNPAZ

5. El registro PC se incrementa, y se capta la siguiente instruccin (294) desde la


posicin 302.
6. El contenido de AC se almacena en la posicin 941.
En este ejemplo, se necesitan tres ciclos de instruccin, cada uno con un ciclo
de captacin y un ciclo de ejecucin, para sumar el contenido de la posicin 940 y el
contenido de la 941. Con un conjunto de instrucciones ms complejo, se hubieran
necesitado menos ciclos. As, en algunos procesadores ms antiguos se incluan
instrucciones con ms de una direccin. De esta forma, el ciclo de ejecucin de una
instruccin generara ms de una referencia a memoria. Adems, en lugar de
referencias a memoria, una instruccin puede especificar una operacin de E/S.
Por ejemplo, la instruccin del PDP-11 expresada simblicamente como ADD B,
A almacena la suma de los contenidos de las posiciones B y A en la posicin de memoria
A. Se produce un solo ciclo de instruccin con los siguientes pasos:

Se capta la instruccin ADD.

El contenido de la posicin de memoria A se lee y pasa al procesador

El contenido de la posicin de memoria B se lee y pasa al procesador. Para que


el contenido de A no se pierda, el procesador debe tener al menos dos registros
para almacenar valores de memoria, en lugar de un solo acumulador.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

149

Arquitectura de Computadoras I UNPAZ

Se suman los dos valores.

El procesador escribe el resultado en la posicin de memoria A.

As, el ciclo de ejecucin de una instruccin particular puede ocasionar ms de


una referencia a memoria. Adems, en lugar de referencias a memoria, una instruccin
puede especificar una operacin de E/S. Con estas consideraciones adicionales en
mente, la Figura 3,6 proporciona una visin ms detallada del ciclo de instruccin bsico
de la Figura 3.3. La figura tiene la forma de un diagrama de estados. Para un ciclo de
instruccin dado, algunos estados pueden no darse y otros pueden visitarse ms de una
vez. Los estados se describen a continuacin:

Clculo de la direccin de la instruccin (IAC, Instruction Address


Calculation): determina la direccin de la siguiente instruccin a ejecutar.
Normalmente, esto implica aadir un nmero fijo a la direccin de la instruccin
previa. Por ejemplo, si las instrucciones tienen un tamao de 16 bits y la memoria
se organiza en palabras de 16 bits, se suma 1 a la direccin previa. En cambio,
si la memoria se organiza en bytes (8 bits) direccionables individualmente,
entonces hay que sumar 2 a la direccin previa.

Captacin de instruccin (if, Instruction Fetch): la CPU lee la instruccin


desde su posicin en memoria.

Decodificacin de la operacin indicada en la instruccin (IOD, Instruction


Operation Decoding): analiza la instruccin para determinar el tipo de
operacin a realizar y el (los) operndote) a utilizar.

Clculo de la direccin del operando (OAC, Operand Address Calculation):


si la instruccin implica una referencia a un operando en memoria o disponible
mediante E/S, determina la direccin del operando.

Captacin de operando (OF, Operand Fetch): capta el operando desde


memoria o se lee desde el dispositivo de E/S.

Operacin con los datos (DO, Data Operand): realiza la operacin indicada
en la instruccin.

Almacenamiento de operando (OS, Operand Store), escribe el resultado en


memoria o lo saca a travs de un dispositivo de E/S.

Los estados en la parte superior de la Figura 3.6 ocasionan intercambios entre


la CPU y la memoria o un mdulo de E/S. Los estados en la parte inferior del diagrama
solo ocasionan operaciones internas a la CPU, El estado oac aparece dos veces, puesto
que una instruccin puede ocasionar una lectura, una escritura, o ambas cosas. No

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

150

Arquitectura de Computadoras I UNPAZ


obstante, la accin realizada en ese estado es la misma en ambos casos, y por eso slo
se necesita un nico identificador de estado.
Obsrvese adems que en el diagrama se considera la posibilidad de mltiples
operandos y mltiples resultados puesto que se necesitan en algunas instrucciones de
ciertas mquinas. Por ejemplo, la instruccin ADD A.B del PDP 11 da lugar a la siguiente
secuencia de estados: iac, if, iod, oac, of, oac, of, do, oac, os.
Por ltimo, en algunas mquinas, con una nica instruccin se puede especificar
una operacin a realizar con un vector (matriz unidimensional) de nmeros o con una
cadena (matriz unidimensional) de caracteres. Como indica la Figura 3.6, esto implicara
una repeticin de estados de captacin y/o almacenamiento de operando.

INTERRUPCIONES
Prcticamente todos los computadores disponen de un mecanismo mediante el
que otros mdulos (E/S, memoria) pueden interrumpir el procesamiento normal de la
CPU. La Tabla 3.1 enumera las clases de interrupciones ms comunes. La naturaleza
especfica de estas interrupciones se examina en este libro ms tarde, especialmente
en los Captulos 7 y 12. Sin embargo, necesitamos introducir el concepto ahora para
comprender ms claramente la esencia del ciclo de instruccin y los efectos de las
interrupciones en la estructura de interconexin. En este momento, el lector no necesita
conocer los detalles de la generacin y el procesamiento de las interrupciones, sino
solamente concentrarse en la comunicacin entre mdulos que resultan de las
interrupciones.
Tabla 3.1. Clases de interrupciones.
Programa

Generadas por alguna condicin que se produce como resultado


de la ejecucin de una instruccin, tal como desbordamiento
aritmtico (overflow), divisin por cero, intento de ejecutar una
Instruccin mquina inexistente e intento de acceder fuera del
espacio de memoria permitido para el usuario.

Temporizacin

Generadas por un temporizador interno al procesador. Esto permite


al sistema operativo realizar ciertas funciones de manera regular.

E/S

Generadas por un controlador de E/S, para indicar la finalizacin


sin problemas de una operacin o para avisar de ciertas
condiciones de error.

Fallo de hardware

Generadas por un fallo tal como la falta de potencia de alimentacin


o un error de paridad en la memoria.

En primer lugar las interrupciones proporcionan una forma de mejorar la


eficiencia del procesador. Por ejemplo, la mayora de los dispositivos extemos son
mucho ms lentos que el procesador. Supngase que el procesador est transfiriendo
datos a una impresora utilizando el esquema del ciclo de instruccin de la Figura 3.3.
Despus de cada operacin de escritura, el procesador tendr que parar y permanecer
ocioso hasta que la impresora complete la escritura. La longitud de esta pausa puede
ser del orden de muchos cientos o incluso miles de ciclos de instruccin que no implican
acceso a memoria. Claramente, esto supone un derroche en el uso del procesador.
La Figura 3.7a ilustra la situacin del ejemplo referido en el prrafo precedente.
El programa de usuario realiza una serie de llamadas de escritura (WRITE)
entremezcladas con el procesamiento. Los segmentos de cdigo I, 2, y 3 corresponden
a secuencias de instrucciones que no ocasionan operaciones de E/S. Las llamadas de
escritura (WRITE) corresponde a llamadas a un programa do E/S que es una de las
utilidades del sistema operativo y que se encarga de la operacin de E/S considerada.
El programa de E/S est constituido por tres secciones:

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

151

Arquitectura de Computadoras I UNPAZ

Una secuencia de instrucciones, rotulada con 4 en la figura, de preparacin para


la operacin de E/S a realizar. Esto puede implicar la copia del dato que se va a
proporcionar en un registro intermedio (buffer) especial, y preparar los
parmetros de control del dispositivo de E/S.

La orden de E/S propiamente dicha. Si no se utilizan interrupciones, una vez que


se ejecuta esta orden, el programa debe esperar a que el dispositivo de E/S
complete la operacin solicitada. El programa esperara comprobando
repetidamente una condicin que indique si se ha realizado la operacin de E/S.

Una secuencia de instrucciones, rotulada con 5 en la figura, que terminan la


operacin de E/S. Estas pueden incluir la activacin de un indicador (flag) que
seale si la operacin se ha completado correctamente o con errores.

Debido a que la operacin de E/S puede necesitar un tiempo relativamente largo,


el programa de E/S debe detenerse a esperar que concluya dicha operacin; por
consiguiente, el programa de usuario estar parado en las llamadas de escritura
(WRITE) durante un periodo de tiempo considerable.
Las Interrupciones y el ciclo de instruccin. Con el uso de interrupciones, el
procesador puede dedicarse a ejecutar otras instrucciones mientras una operacin de
E/S est en curso. Considrese el flujo de control de la Figura 3.7b. Como antes, el
programa de usuario llega a un punto en el que realiza una llamada al sistema para
realizar una escritura (WRITE). El programa de E/S al que se llama en este caso est
constituido solo por el cdigo de preparacin y la orden de E/S propiamente dicha.
Despus de que estas pocas instrucciones se hayan ejecutado, el control se devuelve
al programa de usuario. Mientras tanto, el dispositivo externo est ocupado aceptando
el dato de la memoria del computador e imprimindolo. Esta operacin de E/S se realiza
concurrentemente con la ejecucin de instrucciones del programa de usuario.
Cuando el dispositivo extremo pasa a estar preparado para actuar, es decir,
cuando est listo para aceptar ms datos del procesador, el mdulo de E/S de este
dispositivo externo enva una seal de peticin de interrupcin al procesador. El
procesador responde suspendiendo la operacin del programa que estaba ejecutando
y salta a un programa, conocido como gestor de interrupcin, que da servicio a ese
dispositivo concreto, y prosigue con la ejecucin del programa original despus de haber
dado dicho servicio al dispositivo. En la Figura 3.7b, los puntos en los que se producen
las interrupciones se indican con una equis (X).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

152

Arquitectura de Computadoras I UNPAZ

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

153

Arquitectura de Computadoras I UNPAZ

Desde el punto de vista del programa de usuario, una interrupcin es


precisamente eso: una interrupcin en la secuencia normal de funcionamiento. Cuando
el procesamiento de la interrupcin se completa, la ejecucin prosigue (Figura 3.8). As,
el programa de usuario no tiene que incluir ningn cdigo especial para posibilitar las
interrupciones; el procesador y el sistema operativo son los responsables de detener el
programa de usuario y despus permitir que prosiga en el mismo punto.
Para permitir el uso de interrupciones, se aade un ciclo de interrupcin al ciclo
de instruccin, como muestra la Figura 3.9. En el ciclo de interrupcin, el procesador
comprueba si se ha generado alguna interrupcin, indicada por la presencia una seal
de interrupcin.

Si no hay seales de interrupcin pendientes, el procesador contina con el ciclo


de captacin y accede a la siguiente instruccin del programa en curso. Si hay alguna
interrupcin pendiente, el procesador hace lo siguiente:
1. Suspende la ejecucin del programa en curso y guarda su contexto. Esto
significa almacenar la direccin de la siguiente instruccin a ejecutar (contenido
actual del contador de programa) y cualquier otro dato relacionado con la
actividad en curso del procesador.
2. Carga el contador de programa con la direccin de comienzo de una rutina de
gestin de interrupcin.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

154

Arquitectura de Computadoras I UNPAZ


A continuacin el procesador prosigue con el ciclo de captacin y accede a la
primera instruccin del programa de gestin de interrupcin, que dar servicio a la
interrupcin. Generalmente el programa de gestin de interrupcin forma parte del
sistema operativo. Normalmente, este programa determina el origen de la interrupcin
y realiza todas las acciones que sean necesarias. Por ejemplo, en el caso que hemos
estado analizando, el gestor determina qu mdulo de E/S gener la interrupcin, y
puede sallar a un programa que escribe ms datos en ese mdulo de E/S. Cuando la
rutina de gestin de interrupcin se completa, el procesador puede proseguir la
ejecucin del programa de usuario en el punto en el que se interrumpi,
Es claro que este proceso supone una cierta penalizacin (overhead). Deben
ejecutarse instrucciones extra (en el gestor de interrupcin) para determinar el origen de
la interrupcin y para decidir la accin apropiada. No obstante, debido a la relativamente
gran cantidad de tiempo que se perdera simplemente por la espera asociada a la
operacin de E/S, el procesador puede emplearse de manera mucho ms eficiente
utilizando interrupciones.
Para apreciar el aumento de eficiencia, considrese la Figura 3.10, que es un
diagrama de tiempos basado en el flujo de control de las Figuras 3.7a y 3.7b. Las Figuras
3.7b y 3.10 asumen que el tiempo necesario para la operacin de E/S es relativamente
corto: menor que el tiempo para completar la ejecucin de las instrucciones del
programa de usuario que hay entre operaciones de escritura. La situacin ms
frecuente, especialmente para un dispositivo lento como una impresora, es que la
operacin de E/S requiera mucho ms tiempo para ejecutar una secuencia de
instrucciones de usuario. La Figura 3.7c ilustra esta situacin. En este caso, el programa
de usuario llega a la segunda llamada de escritura (WRITE) antes de que la operacin
de E/S generada por la primera llamada se complete. El resultado es que el programa
de usuario se detiene en este punto. Cuando la operacin de E/S precedente se
completa, esta nueva llamada de escritura se puede procesar, y se puede iniciar una
nueva operacin de E/S. La Figura 3.11 muestra la temporizacin para esta situacin
con y sin interrupciones. Podemos ver que existe una mejora de eficiencia porque parte
del tiempo durante el cual la operacin de E/S est en marcha se solapa con la ejecucin
de instrucciones de usuario.
La Figura 3.12 muestra el diagrama de estados del ciclo de instruccin
modificado para incluir al procesamiento del cielo de interrupcin.
Interrupciones mltiples. Hasta ahora nicamente se ha discutido la existencia
de una sola interrupcin. Supngase, no obstante, que se puedan producir varias
interrupciones. Por ejemplo, un programa puede estar recibiendo datos a travs de una
lnea de comunicacin e imprimiendo resultados. La impresora generar interrupciones
cada vez que complete una operacin de escritura. El controlador de la lnea de
comunicacin generar una interrupcin cada vez que llegue una unidad de datos. La
unidad de datos puede ser un carcter o un bloque, segn el protocolo de comunicacin.
En cualquier caso, es posible que se produzca una interrupcin de comunicaciones
mientras se est procesando la interrupcin de la impresora.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

155

Arquitectura de Computadoras I UNPAZ

Se pueden seguir dos alternativas para tratar las interrupciones mltiples. La


primera es desactivar las interrupciones mientras se est procesando una interrupcin.
Una interrupcin inhabilitada (disabled interrupt) simplemente significa que el
procesador puede y debe ignorar la seal de peticin de interrupcin. Si se produce una
interrupcin en ese momento, generalmente se mantiene pendiente y ser examinada
por el procesador una vez este haya activado las interrupciones. As. cuando un
programa de usuario se est ejecutando y se produce una interrupcin, las
interrupciones se inhabilitan inmediatamente. Despus de que la rutina de gestin de
interrupcin termine, las interrupciones se habilitan antes de que el programa de usuario
prosiga, y el procesador comprueba si se han producido interrupciones adicionales. Esta
aproximacin es correcta y simple, puesto que las interrupciones se manejan en un
orden secuencial estricto (Figura 3.13a).
El inconveniente del enfoque anterior es que no tiene en cuenta la prioridad
relativa ni las solicitudes con un tiempo crtico. Por ejemplo, cuando llega una entrada
desde la lnea de comunicaciones, esta debe tramitarse rpidamente para dejar espacio
a los datos siguientes. Si los primeros datos no se han procesado antes de que lleguen
los siguientes, se pueden perder.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

156

Arquitectura de Computadoras I UNPAZ

Una segunda alternativa consiste en definir prioridades para las interrupciones y


permitir qu una interrupcin de prioridad ms alta pueda interrumpir a un gestor de
interrupcin de prioridad menor (Figura 3.13b). Como ejemplo de esta segunda
alternativa, considrese un sistema con tres dispositivos de E/S: una impresora, un
disco, y una lnea de comunicaciones, con prioridades crecientes de 2, 4, y 5
respectivamente. La Figura 3,14, basada en un ejemplo de (TANE97) muestra una
posible secuencia. Un programa de usuario comienza en t =0. En t =10, la impresora
produce una interrupcin; la informacin del programa de usuario se sita en la pila del
sistema, y la ejecucin contina con la rutina de servicio de interrupcin (ISR) de la
impresora. Mientras se est ejecutando esta rutina, en t=15, se produce una interrupcin
de comunicaciones. Como Ia lnea de comunicaciones tiene una prioridad mayor que la
impresora, se acepta la interrupcin. La ISR de la impresora se interrumpe, su estado
se introduce en la pila, y la ejecucin contina con la rutina de comunicaciones. Mientras
se est ejecutando esta rutina, el disco ocasiona una interrupcin (t = 20). Puesto que
esta interrupcin tiene una prioridad menor, simplemente se retiene, y la 1SR de
comunicaciones se ejecuta hasta que termina.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

157

Arquitectura de Computadoras I UNPAZ

Cuando la rutina de comunicaciones termina (t = 25), se restaura el estado previo


del procesador, que corresponde a la ejecucin de la rutina de la impresora. No
obstante, antes incluso de que pueda ejecutarse una sola instruccin de esa rutina, el
procesador acepta la interrupcin, de mayor prioridad, generada por el disco y el control
se transfiere a la rutina de disco. Solo cuando esta rutina termina (t = 35), la rutina de la
impresora puede reanudarse. Cuando termina esa rutina (t = 40), el control vuelve
finalmente al programa de usuario.

FUNCIONAMIENTO DE LAS E/S


Hasta aqu, hemos discutido el funcionamiento del computador controlado por el
procesador, y nos hemos fijado esencialmente en la interaccin del procesador y la
memoria.
La discusin solo ha aludido al papel de los componentes de E/S. Este papel se
discute con detalle en el Captulo 7, pero es conveniente hacer aqu un breve resumen.
Un mdulo de E/S (por ejemplo un controlador de disco) puede intercambiar
datos directamente con el procesador. Igual que el procesador puede iniciar una lectura
o escritura en memoria, especificando la direccin de una posicin concreta de la
misma, el procesador tambin puede leer o escribir datos de (o en) un mdulo de E/S.
En este ltimo caso, el procesador identifica un dispositivo especfico controlado por un
mdulo de E/S determinado. Por consiguiente, se puede producir una secuencia de
instrucciones similar a la de la Figura 3.5, con instrucciones de E/S en lugar de las
instrucciones de referencia a memoria
En algunos casos, es deseable permitir que los intercambios de E/S se
produzcan directamente con la memoria. En ese caso, el procesador cede a un mdulo
de E/S la autoridad para leer de o escribir en memoria, para que as la transferencia
E/S-memoria pueda producirse sin la intervencin del procesador.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

158

Arquitectura de Computadoras I UNPAZ

Durante esas transferencias, el mdulo de E/S proporciona a la memoria las


rdenes de lectura o escritura, liberando al procesador de cualquier responsabilidad en
el intercambio. Esta operacin se conoce con el nombre de acceso directo a memoria
(DMA, Direct Memory Access), y se estudiara en detalle en el Capitulo 7.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

159

Arquitectura de Computadoras I UNPAZ

3.3. ESTRUCTURAS DE INTERCONEXIN


Un computador est constituido por un conjunto de unidades o mdulos de tres
tipos elementales (procesador, memoria, E/S) que se comunican entre s. En efecto, un
computador es una red de mdulos elementales. Por consiguiente, deben existir lneas
para interconectar estos mdulos.
El conjunto de lneas que conectan los diversos mdulos se denomina estructura
de interconexin. El diseo de dicha estructura depender de los intercambios que
deban producirse entre los mdulos.
La Figura 3.15 sugiere los tipos de intercambios que se necesitan indicando las
formas de las entradas y las salidas en cada tipo de mdulo:

Memoria: generalmente, un mdulo de memoria est constituido por N palabras


de la misma longitud. A cada palabra se le asigna una nica direccin numrica
(0,1, M - 1). Una palabra de datos puede leerse de o escribirse en la memoria.
El tipo de operacin se indica median te las seales de control Read (Leer) y
Write (Escribir). La posicin de memoria para la operacin se especifica
mediante una direccin.

Mdulo de E/S: desde un punto de vista interno (al computador), la E/S es


funcionalmente similar a la memoria. Hay dos tipos de operaciones, leer y
escribir. Adems, un mdulo de E/S puede controlar ms de un dispositivo
externo. Nos referiremos a cada una de estas interfaces con un dispositivo
externo con el nombre de puerto (port), y se le asignar una direccin a cada
uno (0, 1,M-1). Por otra parte, existen lneas externas de datos para la entrada
y la salida de datos por un dispositivo externo. Por ltimo, un mdulo de E/S
puede enviar seales de interrupcin al procesador.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

160

Arquitectura de Computadoras I UNPAZ

Procesador: el procesador lee instrucciones y datos, escribe datos una vez los
ha procesado, y utiliza ciertas seales para controlar el funcionamiento del
sistema. Tambin puede recibir seales de interrupcin.

La lista precedente especifica los datos que se intercambian. La estructura de


interconexin debe dar cobertura a los siguientes tipos de transferencias:

Memoria a procesador: el procesador lee una instruccin o un dato desde la


memoria.

Procesador a memoria: el procesador escribe un dato en la memoria.

E/S a procesador: el procesador lee datos de un dispositivo de E/S a travs de


un mdulo de E/S.

Procesador a E/S: el procesador enva datos al dispositivo de E/S.

Memoria a E/S y viceversa: en estos dos casos, un mdulo de E/S puede


intercambiar datos directamente con la memoria, sin que tengan que pasar a
travs del procesador, utilizando el acceso directo a memoria (DMA).

A travs de los aos, se han probado diversas estructuras de interconexin. Las ms


comunes son, con diferencia, las estructuras de bus y de buses mltiples. El resto de
este captulo se dedica a evaluar las estructuras de buses.

3.4. INTERCONEXIN CON BUSES


Un bus es un camino de comunicacin entre dos o ms dispositivos. Una
caracterstica clave de un bus es que se trata de un medio de transmisin compartido.
Al bus se conectan varios dispositivos, y cualquier seal transmitida por uno de esos
dispositivos est disponible para que los otros dispositivos conectados al bus puedan
acceder a ella. Si dos dispositivos transmiten durante el mismo periodo de tiempo, sus
seales pueden solaparse y distorsionarse. Consiguientemente, solo un dispositivo
puede transmitir con xito en un momento dado.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

161

Arquitectura de Computadoras I UNPAZ


Usualmente, un bus est constituido por varios caminos de comunicacin, o
lneas. Cada lnea es capaz de transmitir seales binarias representadas por 1 y por 0.
En un intervalo de tiempo, se puede transmitir una secuencia de dgitos binarios a travs
de una nica lnea. Se pueden utilizar varias lneas del bus para transmitir dgitos
binarios simultneamente (en paralelo). Por ejemplo, un dato de 8 bits puede
transmitirse mediante ocho lneas del bus.
Los computadores poseen diferentes tipos de buses que proporcionan
comunicacin entre sus componentes a distintos niveles dentro de la jerarqua del
sistema. El bus que conecta los componentes principales del computador (procesador,
memoria. E/S) se denomina bus del sistema (system bus). Las estructuras de
interconexin ms comunes dentro de un computador estn basadas en el uso de uno,
o ms buses del sistema.

ESTRUCTURA DEL BUS


El bus de sistema est constituido, usualmente, por entre cincuenta y cien lneas.
A cada lnea se le asigna un significado o una funcin particular. Aunque existen diseos
de buses muy diversos, en todos ellos las lneas se pueden clasificar en tres grupos
funcionales (Figura 3.16): lneas de datos, de direcciones y de control. Adems, pueden
existir lneas de alimentacin para suministrar energa a los mdulos conectados al bus.

Las lneas de datos proporcionan un camino para transmitir datos entre los
mdulos del sistema. El conjunto constituido por estas lneas se denomina bus de datos.
El bus de datos puede incluir entre 32 y cientos de lneas, cuyo nmero se conoce como
anchura del bus de datos. Puesto que cada lnea solo puede transportar un bit cada vez,
el nmero de lneas determina cuntos bits se pueden transferir al mismo tiempo, La
anchura del bus es un factor clave a la hora de determinar las prestaciones del conjunto
del sistema. Por ejemplo, si el bus de datos tiene una anchura de ocho bits, y las
instrucciones son de 16 bits, entonces el procesador debe acceder al mdulo de
memoria dos veces por cada ciclo de instruccin.
Las lneas de direccin se utilizan para designar la fuente o el destino del dato
situado en el bus de datos. Por ejemplo, si el procesador desea leer una palabra (8, 16
o 32 bits) de datos de la memoria, sita la direccin de la palabra deseada en las lneas
de direcciones. Claramente, la anchura del bus de direcciones determina la mxima
capacidad de memoria posible en el sistema. Adems, las lneas de direcciones
generalmente se utilizan tambin para direccionar los puertos de E/S. Usualmente, los
bits de orden ms alto se utilizan para seleccionar una posicin de memoria o un puerto
de E/S dentro de un mdulo. Por ejemplo, en un bus de 8 bits, la direccin 01111111 e
inferiores haran referencia a posiciones dentro de un mdulo de memoria (el mdulo 0)
con 128 palabras de memoria, y las direcciones 10000000 y superiores designaran
dispositivos conectados a un mdulo de E/S (mdulo 1).
Las lneas de control se utilizan para controlar el acceso y el uso de las lneas
de datos y de direcciones. Puesta que las lneas de datos y de direcciones son
compartidas por todos los componentes, debe existir una forma de controlar su uso. Las
seales de control transmiten junto rdenes como informacin de temporizacin entre
los mdulos del sistema. Las seales de temporizacin indican la validez de los datos y
las direcciones. Las seales de rdenes especifican las operaciones a realizar. Algunas
lneas de control tpicas son;
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

162

Arquitectura de Computadoras I UNPAZ

Escritura en memoria (Memory write): hace que el dato del bus se escriba en
la posicin direccionada.

Lectura de memoria (Memory read): hace que el dato de la posicin


direccionada se site en el bus.

Escritura de E/S (I/O write): hace que el dato del bus se transfiera a travs del
puerto de E/S direccionado.

Lectura de E/S (E/S read): hace que el dato del puerto de E/S direccionado se
site en el bus.

Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado


o se ha situado en el bus.

Peticin de bus (Bus request): indica que un mdulo necesita disponer del
control del bus.

Cesin de bus (Bus grant): indica que se cede el control del bus a un mdulo
que lo haba solicitado.

Peticin de interrupcin (Interrupt request): indica si hay una interrupcin


pendiente.

Interrupcin reconocida (Interrupt ACK): Seala que la interrupcin pendiente


se ha aceptado.

Reloj (clock): se utiliza para sincronizar las operaciones.

Inicio (reset): pone los mdulos conectados en su estado inicial.

El funcionamiento del bus se describe a continuacin. Si un mdulo desea enviar


un dato a otro debe hacer dos cosas: (1) obtener el uso del bus y (2) transferir el dato a
travs del bus. Si un mdulo desea pedir un dato a otro mdulo, debe (1) obtener el uso
del bus y (2) transferir la peticin al otro mdulo mediante las lneas de control y direccin
apropiadas. Despus debe esperar a que el segundo mdulo enve el dato.
Fsicamente, el bus de sistema es de hecho un conjunto de conductores
elctricos paralelos. Estos conductores son lneas de metal grabadas en una tarjeta
(tarjeta de circuito impreso). El bus se extiende a travs de todos los componentes del
sistema, cada uno de los cuales se conecta a algunas o a todas las lneas del bus. Una
disposicin fsica muy comn se muestra en la Figura 3.17. En este ejemplo, el bus
consta de dos columnas verticales de conductores. A lo largo de esas columnas, a
intervalos regulares, hay puntos de conexin en forma de ranuras (slots) dispuestas en
sentido horizontal para sostener las tarjetas de circuito impreso. Cada uno de los
componentes principales del sistema ocupa una o varias tarjetas y se conecta al bus a
travs de esas ranuras. El sistema completo se introduce dentro de un chasis. Esta

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

163

Arquitectura de Computadoras I UNPAZ


organizacin puede encontrarse todava en alguno de los buses del computador. No
obstante, los sistemas actuales tienden a tener sus componentes principales en la
misma tarjeta y los circuitos integrados incluyen ms elementos. As, el bus que conecta
el procesador y la memoria cach se integra en el microprocesador junto con el
procesador y la cach (on-chip), y el bus que conecta el procesador con la memoria y
otros componentes se incluye en la tarjeta (on-board).
Esta es la disposicin ms conveniente. As se puede adquirir un computador
pequeo y expandirlo (ampliar memoria, mdulos de E/S) ms adelante aadiendo ms
tarjetas. Si un componente de una tarjeta falla, la tarjeta puede quitarse y sustituirse
fcilmente.

JERARQUAS DE BUSES MLTIPLES


Si se conecta un gran nmero de dispositivos al bus, las prestaciones pueden
disminuir. Hay dos causas principales:
1. En general, a ms dispositivos conectados al bus, mayor es el retardo de
propagacin. Este retardo determina el tiempo que necesitan los dispositivos
para coordinarse en el uso del bus. Si el control del bus pasa frecuentemente de
un dispositivo a otro, los retardos de propagacin pueden afectar sensiblemente
a las prestaciones.
2. El bus puede convertirse en un cuello de botella a medida que las peticiones de
transferencia acumuladas se aproximan a la capacidad del bus. Este problema
se puede resolver en alguna medida incrementando la velocidad a la que el bus
puede transferir los datos y utilizando buses ms anchos (por ejemplo
incrementando el bus de datos de 32 a 64 bits). Sin embargo, puesto que la
velocidad de transferencia que necesitan los dispositivos conectados al bus (por
ejemplo, controladores de grficos y de vdeo, interfaces de red) est
incrementndose rpidamente. es un hecho que el bus nico est destinado a
dejar de utilizarse.
Por consiguiente, la mayora de los computadores utilizan varios buses,
normalmente organizados jerrquicamente. Una estructura tpica se muestra en la
Figura 3.18a. Hay un bus local que conecta el procesador a una memoria cach y al que
pueden conectarse tambin uno o ms dispositivos locales. El controlador de memoria
cach conecta la cach no solo al bus local sino tambin al bus de sistema, donde se
conectan todos los mdulos de memoria principal. Como se discute en el Captulo 4, el
uso de una cach alivia la exigencia de soportar los accesos frecuentes del procesador
a memoria principal. De hecho, la memoria principal puede pasar del bus local al bus de
sistema. De esta forma, las transferencias de E/S con la memoria principal a travs del
bus de sistema no interfieren la actividad del procesador
Es posible conectar controladores de E/S directamente al bus de sistema. Una
solucin ms eficiente consiste en utilizar uno o ms buses de expansin. La interfaz
del bus de expansin regula las transferencias de datos entre el bus de sistema y los
controladores conectados al bus de expansin. Esta disposicin permite conectar al
sistema una amplia variedad de dispositivos de E/S y al mismo tiempo aislar el trfico
de informacin entre la memoria y el procesador del trfico correspondiente a las E/S.
La Figura 3.18a muestra algunos ejemplos tpicos de dispositivos de E/S que
pueden estar conectados al bus de expansin. Las conexiones a red incluyen
conexiones a redes de rea local (LAN, Local Area Networks) tales como una red
Ethernet de diez Mbps y conexiones a redes de rea amplia (WAN, Wide Area Networks)
tales como la red de conmutacin de paquetes (packet-switching network). La interfaz
SCSI (Small Computer System Interface) es en s un tipo de bus utilizado para conectar
controladores de disco y otros perifricos. El puerto serie puede utilizarse para conectar
una impresora o un escner.
Esta arquitectura de buses tradicional es razonablemente eficiente, pero muestra
su debilidad a medida que los dispositivos de E/S ofrecen prestaciones cada vez

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

164

Arquitectura de Computadoras I UNPAZ


mayores. La respuesta comn a esta situacin, por parte de la industria, ha sido
proponer un bus de alta velocidad que est estrechamente integrado con el resto del
sistema, y requiere solo un adaptador (bridge) entre el bus del procesador y el bus de
alta velocidad. En algunas ocasiones, esta disposicin es conocida como arquitectura
de entreplanta (mezzanine architecture).
La Figura 3.18b muestra un ejemplo tpico de esta aproximacin. De nuevo, hay
un bus local que conecta el procesador a un controlador de cach, que a su vez est
conectado al bus de sistema que soporta a la memoria principal. El controlador de
cach est integrado junto con el adaptador, o dispositivo de acoplo, que permite la
conexin al bus de alta velocidad. Este bus permite la conexin de LAN de alta
velocidad, tales como Fast Ethernet a cien Mbps, controladores de estaciones de trabajo
especficos para aplicaciones grficas y de vdeo, y tambin controladores de interfaz
para buses de perifricos tales como SCSI y Firewire. Este ltimo es un bus de alta
velocidad diseado especficamente para conectar dispositivos de E/S de alta
capacidad. Los dispositivos de velocidad menor pueden conectarse al bus de expansin,
que utiliza una interfaz para adaptar el trfico entre el bus de expansin y el bus de alta
velocidad.
La ventaja de esta organizacin es que el bus de alta velocidad acerca al
procesador los dispositivos que exigen prestaciones elevadas y al mismo tiempo es
independiente del procesador. As, se pueden tolerar las diferencias de velocidad entre
el procesador y el bus de altas prestaciones y las variaciones en la definicin de las
lneas de los buses. Los cambios en la arquitectura del procesador no afectan al bus de
alta velocidad, y viceversa.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

165

Arquitectura de Computadoras I UNPAZ

ELEMENTOS DE DISEO DE UN BUS


Aunque existe una gran diversidad de diseos de buses, hay unos pocos
parmetros o elementos de diseo que sirven para distinguir y clasificar los buses. La
Tabla 3.2 enumera los elementos clave.
Tabla 3.2. Elementos de diseo de un bus.

Tipo

Anchura del bus

Dedicado
Multiplexado

Mtodo de arbitraje

Centralizado
Distribuido

Temporizacin

Sncrono
Asncrono

Direccin
Datos

Tipo de transferencia de datos

Lectura
Escritura
Lectura-modificacin- escritura
Lectura-despus de escritura
Bloque

Tipos de buses. Las lneas del bus se pueden dividir en dos tipos genricos:
dedicadas y multiplexadas. Una lnea de bus dedicada est permanente asignada a una
funcin o a un subconjunto fsico de componentes del computador.
http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

166

Arquitectura de Computadoras I UNPAZ


Un ejemplo de dedicacin funcional, comn en muchos buses, es el uso de
lneas separadas para direcciones y para datos. Sin embargo, no es esencial. Por
ejemplo, la informacin de direccin y datos podra transmitirse a travs del mismo
conjunto de lneas si se utiliza una lnea de control de Direccin Vlida. Al comienzo de
la transferencia de datos, la direccin se sita en el bus y se activa la lnea de Direccin
Vlida. En ese momento, cada mdulo dispone de un periodo de tiempo para copiar la
direccin y determinar si es l el mdulo direccionado. Despus la direccin se quita del
bus, y las mismas conexiones se utilizan para la subsecuente transferencia de lectura o
escritura de datos. Este mtodo de uso de las mismas lneas para usos diferentes se
llama multiplexado en el tiempo.
La ventaja del multiplexado en el tiempo es el uso de menos lneas, cosa que
ahorra espacio y, normalmente, costes. La desventaja es que se necesita una circuitera
ms compleja en cada mdulo. Adems, existe una posible reduccin en las
prestaciones debido a que los eventos que deben compartir las mismas lneas no
pueden producirse en paralelo.
La dedicacin fsica se refiere al uso de mltiples buses, cada uno de los cuales
conecta solo un subconjunto de mdulos. Un ejemplo tpico es el uso de un bus de E/S
para interconectar lodos los mdulos de E/S; este bus a su vez se conecta al bus
principal a travs de algn tipo de mdulo adaptador de E/S. La ventaja potencial de la
dedicacin fsica es su elevado rendimiento, debido a que hay menos conflictos por el
acceso al bus (bus contention). Una desventaja es el incremento en el tamao y el costo
del sistema.
Mtodo de arbitraje. En todos los sistemas, exceptuando los ms simples, ms
de un mdulo puede necesitar el control del bus. Por ejemplo, un mdulo de E/S puede
necesitar leer o escribir directamente en memoria, sin enviar el dato al procesador.
Puesto que en un instante dado solo una unidad puede transmitir a travs del bus, se
requiere algn mtodo de arbitraje. Los diversos mtodos se pueden clasificar
aproximadamente como centralizados o distribuidos. En un esquema centralizado, un
nico dispositivo hardware, denominado controlador del bus o rbitro, es responsable
de asignar tiempos en el bus. El dispositivo puede estar en un mdulo separado o ser
parte del procesador. En un esquema distribuido, no existe un controlador central. En
su lugar, cada mdulo dispone de lgica para controlar el acceso y los mdulos actan
conjuntamente para compartir el bus. En ambos mtodos de arbitraje, el propsito es
designar un dispositiva, el procesador o un mdulo de E/S como maestro del bus. El
maestro podra entonces iniciar una transferencia de datos (lectura o escritura) con otro
dispositivo, que acta como esclavo en este intercambio concreto.
Temporizacin. El trmino temporizacin hace referencia a la forma en la que
se coordinan los eventos en el bus. Los buses utilizan temporizacin sncrona o
asncrona.
Con temporizacin sncrona, la presencia de un evento en el bus est
determinada por un reloj. El bus incluye una lnea de reloj a travs de la que se transmite
una secuencia en la que se alternan intervalos regulares de igual duracin a uno y a
cero. Un nico intervalo a uno seguida de otro a cero se conoce como ciclo de reloj o
ciclo de bus y define un intervalo de tiempo unidad (time slot), Todos los dispositivos del
bus pueden leer la lnea de reloj, y todos los eventos empiezan al principio del ciclo de
reloj. La Figura 3.19 muestra el diagrama de tiempos de una operacin de lectura
sncrona (en el Apndice 3A se puede consultar una descripcin de los diagramas de
tiempo). Otras seales del bus pueden cambiar en el flanco de subida de la seal de
reloj (reaccionan con un ligero retardo). La mayora de los eventos se prolongan durante
un nico ciclo de reloj. En este ejemplo sencillo, la CPU activa una seal de lectura y
sita una direccin de memoria en las lneas de direccin durante el primer ciclo y puede
activar varias lneas de estado. Una vez que las lneas se han estabilizado, el
procesador activa una seal de inicio para indicar la presencia de la direccin en el bus.
En el caso de una lectura, el procesador pone una orden de lectura al comienzo del
segundo ciclo. El mdulo de memoria reconoce la direccin y, despus de un retardo de
un ciclo, sita el dato en las lneas de datos. El procesador lee el dato de dichas lneas

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

167

Arquitectura de Computadoras I UNPAZ


y quita la seal de lectura. En el caso de una escritura, el procesador pone el dato en
las lneas de datos al comienzo del segundo ciclo, y pone la orden de escritura una vez
estabilizadas las lneas de datos. El mdulo de memoria copia la informacin de las
lneas de datos durante el tercer ciclo de reloj.
Con la temporizacin asncrona, la presencia de un evento en el bus es
consecuencia y depende de que se produzca un evento previo. En el ejemplo sencillo
de la Figura 3.20, el procesador sita las seales de direccin y lectura en el bus.
Despus de un breve intervalo para que las seales se estabilicen, activa la orden de
lectura, indicando la presencia de seales de direccin y control vlidas. El mdulo de
memoria correspondiente decodifica la direccin y responde proporcionando el dato en
la lnea de datos. Una vez estabilizadas las lneas de datos, el mdulo de memoria activa
la lnea de reconocimiento para indicar al procesador que el dato est disponible.
Cuando el maestro ha ledo el dato de las lneas correspondientes, deshabilita la seal
de lectura. Esto hace que el mdulo de memoria libere las lneas de datos y
reconocimiento. Por ltimo, una vez se ha desactivado la lnea de reconocimiento, el
procesador quita la informacin de direccin de las lneas correspondientes.

La Figura 3.20b muestra una operacin sencilla de escritura asncrona. En este


caso, el maestro sita el dato en las lneas de datos al mismo tiempo que la direccin y
la informacin de estado en las lneas correspondientes. El mdulo de memoria
responde a la orden de escritura copiando el dato de las lneas de datos y activando la
lnea de reconocimiento. Entonces, el maestro retira la seal de escritura y el mdulo de
memoria la seal de reconocimiento.
La temporizacin sncrona es ms fcil de implementar y comprobar. Sin
embargo, es menos flexible que la temporizacin asncrona. Debido a que lodos los
dispositivos en un bus sncrono deben utilizar la misma frecuencia de reloj, el sistema
no puede aprovechar las mejoras en las prestaciones de los dispositivos. Con la

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

168

Arquitectura de Computadoras I UNPAZ


temporizacin asncrona, pueden compartir el bus una mezcla de dispositivos lentos y
rpidos, utilizando tanto las tecnologas ms antiguas, como las ms resientes.
Anchura del bus. El concepto de anchura del bus s ha presentado ya. La
anchura del bus de datos afecta a las prestaciones del sistema: cuanto ms ancho es el
bus de datos, mayor es el nmero de bits que se transmiten a la vez. La anchura del
bus de direcciones afecta a la capacidad del sistema: cuanto ms ancho es el bus de
direcciones, mayor es el rango de posiciones a las que se puede hacer referencia.

Tipo de transferencia de datos. Por ltimo, un bus permite varios tipos de


transferencias de datos, tal y como ilustra la Figura 3.21. Todos los buses permiten tanto
transferencias de escritura (dato de maestro a esclavo) como de lectura (dato de esclavo
a maestro). En el caso de un bus con direcciones y datos multiplexados, el bus se utiliza
primero para especificar la direccin y luego para transferir el dato. En una operacin de
lectura, generalmente hay un tiempo de espera mientras el dato se est captando del
dispositivo esclavo para situarlo en el bus. Tanto para la lectura como para la escritura,
puede haber tambin un retardo si se necesita utilizar algn procedimiento de arbitraje
para acceder al control del bus en el resto de la operacin (es decir, tomar el bus para
solicitar una lectura o una escritura, y despus tomar el bus de nuevo para realizar la
lectura o la escritura).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

169

Arquitectura de Computadoras I UNPAZ

En el caso de que haya lneas dedicadas a datos y a direcciones, la direccin se


sita en el bus de direcciones y se mantiene ah mientras que el dato se ubica en el bus
de datos. En una escritura, el maestro pone el dato en el bus de dalos tan pronto como
se han estabilizado las lneas de direccin y el esclavo ha podido reconocer su direccin.
En una operacin de lectura, el esclavo pone el dato en el bus de dalos tan pronto como
haya reconocido su direccin y disponga del mismo.
En ciertos buses tambin son posibles algunas operaciones combinadas. Una
operacin de lectura-modificacin-escritura es simplemente una lectura seguida
inmediatamente de una escritura en la misma direccin. La direccin se proporciona una
sola vez al comienzo de la operacin. La operacin completa es generalmente indivisible
de cara a evitar cualquier acceso al dato por otros posibles maestros del bus. El objetivo
primordial de esta posibilidad es proteger los recursos de memoria compartida en un
sistema con multiprogramacin (vase el Captulo 8).
La lectura despus de escritura es una operacin indivisible que consiste en una
escritura seguida inmediatamente de una lectura en la misma direccin. La operacin
de lectura se puede realizar con el propsito de comprobar el resultado.
Algunos buses tambin permiten transferencias de bloques de datos. En este
caso, un ciclo de direccin viene seguido por n ciclos de datos. El primer dato se
transfiere a o desde la direccin especificada; el resto de datos se transfieren a o desde
las direcciones siguientes.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

170

Arquitectura de Computadoras I UNPAZ

3.5. PCI
El bus PCI (Peripheral Component Interconnect. Interconexin de Componente
Perifrico) es un bus muy popular de ancho de banda elevado, independiente del
procesador, que se puede utilizar como bus de perifricos o bus para una arquitectura
de entreplanta. Comparado con otras especificaciones comunes de bus, el PCI
proporciona mejores prestaciones para los subsistemas de E/S de alta velocidad (por
ejemplo, los adaptadores de pantalla grfica, los controladores de interfaz de red, los
controladores de disco, etc.). El estndar actual permite el uso de hasta 64 lneas de
datos a 66 MHz, para una velocidad de transferencia de 528 MB. o 4.224 Gbps. Pero
no es precisamente su elevada velocidad la que hace atractivo al PCI. El PCI ha sido
diseado especficamente para ajustarse, econmicamente a los requisitos de E/S de
los sistemas actuales; se implementa con muy pocos circuitos integrados y permite qu
otros buses se conecten al bus PCI.
Intel empez a trabajar en el PCI en 1990 pensando en sus sistemas basados
en el Pentium. Muy pronto Intel cedi sus patentes al dominio pblico y promovi la
creacin de una asociacin industrial, la PCI SIG (de Special Interest Group), para
continuar el desarrollo y mantener la compatibilidad de las especificaciones del PCI. El
resultado ha sido que el PCI ha sido ampliamente adoptado y se est incrementando su
uso en los computadores personales, estaciones de trabajo, y servidores. Puesto que
las especificaciones son de dominio pblico y estn soportadas por una amplia banda
de la industria de procesadores y perifricos, los productos PCI fabricados por
compaas diferentes son compatibles.
El PCI est diseado para permitir una cierta variedad de configuraciones
basadas en microprocesadores, incluyendo sistemas tanto de uno como de varios
procesadores. Por consiguiente, proporciona un conjunto de funciones de uso general.
Utiliza temporizacin sncrona y un esquema de arbitraje centralizado.
La Figura 3.22a muestra la forma usual de utilizar el bus PCI en un sistema
monoprocesador. Un dispositivo que integra el controlador de DRAM y el adaptador al
bus PCI proporciona el acoplamiento al procesador y la posibilidad de generar datos a
velocidades elevadas. El adaptador acta como un registro de acoplo (buffer) de datos
puesto que la velocidad del bus PCI puede diferir de la capacidad de E/S del procesador.
En un sistema multiprocesador (Figura 3.22b), se pueden conectar mediante
adaptadores una o varias configuraciones PCI al bus de sistema del procesador. Al bus
de sistema se conectan nicamente las unidades procesador/cach, la memoria
principal y los adaptadores de PCI. De nuevo, el uso de adaptadores mantiene al PCI
independiente de la velocidad del procesador y proporciona la posibilidad de recibir y
enviar datos rpidamente.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

171

Arquitectura de Computadoras I UNPAZ

ESTRUCTURA DEL BUS


El bus PCI puede configurarse como un bus de 32 o 64 bits. La Tabla 3.3 define
las 49 lneas de seal obligatorias en el PCI. Se dividen en los grupos funcionales
siguientes:
Perspectiva de alto nivel del funcionamiento y de las interconexiones del
computador 89 Tabla 3.3. Lneas obligatorias del bus PCI.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

172

Arquitectura de Computadoras I UNPAZ


Tabla 3.3 Lneas obligatorias del bus PCI

Denominacin

Tipo

Descripcin
Terminales de sistema

CLK

in

Proporciona la temporizacin para todas las transacciones y es


muestreada en el flanco de subida. Se pueden utilizar
frecuencias de reloj de hasta 33 MHz.

RST#

In

Hace que todos los registros, secuenciadores y seales


especficas de PCI pasen a su estado de inicio.

Terminales de direcciones y datos


AD[31:0]

t/s

Lneas multiplexadas para direcciones y datos.

C/BE[3:0]#

t/s

Seales multiplexadas de rdenes del bus y de byte activo (byte


enable). Durante la fase de datos, las lneas indican cul de los
cuatro grupos de lneas de byte transporta informacin vlida

PAR

t/s

Proporciona paridad para para las lneas AD y C/BE, un ciclo de


reloj despus. El maestro proporciona PAR para las fases de
direccin y escritura de datos, y el dispositivo de lectura genera
PAR en la fase de lectura de datos.

Terminales de control de interfaz


FRAME#

s/t/s

Suministradas por el maestro actual para indicar el comienzo y


la duracin de una transferencia. Las activa al comienzo y las
desactiva cuando el maestro est preparado para empezar el
final de la fase de datos.

IRDY#

s/t/s

Iniciador preparado {Initiator Road Y). La proporciona el maestro


actual del bus le! Iniciador de la transaccin). Durante una
lectura, indica que el maestro est preparado para aceptar
datos; durante una escritura indica que el dato vlido est en
AD.

TRDY#

s/t/s

Dispositivo preparado {Target Ready). La proporciona el


dispositivo seleccionado. Durante una lectura, el dato vlido est
en AD; durante una escritura indica que el destino est
preparado para aceptar datos.

STOP#

s/t/s

Indica que el dispositivo seleccionado desea que el maestro


pare la transaccin actual.

LOCK#

s/t/s

Indica una operacin atmica indivisible que puede requerir


varias transferencias.

IDSEL#

in

Selector de inicio de dispositivo (Initialization Device Select)


Usada como seal de seleccin de circuito (chip select) durante
las lecturas y escrituras de configuracin.

DEVSEL#

in

Selector de dispositivo (Device Select). Activada por el


dispositivo seleccionado cuando ha reconocido su direccin.
Indica al maestro actual si se ha seleccionado un dispositivo.

Terminales de arbitraje
REQ#

t/s

Indica al rbitro que el dispositivo correspondiente solcita


utilizar el bus. Es una lnea punto a punto especfica para cada
dispositivo.

GNT#

t/s

Indica al dispositivo que el rbitro le ha cedido el acceso al bus.


Es una lnea punto-a punto especfica para cada dispositivo

Terminales para seales de error


PERR#

s/t/s

Error de paridad, indica que se ha detectado un error de paridad


en los datos por parte del dispositivo en el caso de una escritura,
o por parte del maestro en el caso de una lectura.

SERR#

o/d

Error del sistema. La puede activar cualquier dispositivo para


comunicar errores de paridad en la direccin u otro tipo de
errores crticos distintos de la paridad.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

173

Arquitectura de Computadoras I UNPAZ

Terminales (patillas) de sistema: constituidas por los terminales de reloj y


de inicio (reset).

Terminales de direcciones y datos: incluye 32 lneas para datos y direcciones


multiplexadas en el tiempo. Las otras lneas del grupo se utilizan para interpretar
y validar las lneas de seal correspondientes a los datos y a las direcciones,

Terminales de control de la interfaz: controlan la temporizacin de las


transferencias y proporcionan coordinacin entre los que las inician y los
destinatarios.

Terminales de arbitraje: a diferencia de las otras lneas de seal del PCI, estas
no son lneas compartidas. En cambio, cada maestro del PCI tiene su par propio
de lneas que lo conectan directamente al rbitro del bus PCI.

Terminales para seales de error: utilizadas para indicar errores de paridad u


otros.

Adems, la especificacin del PCI define 51 seales opcionales (Tabla 3.4),


divididas en los siguientes grupos funcionales:

Terminales de interrupcin: para los dispositivos PCI que deben generar


peticiones de servicio. Igual que los terminales de arbitraje, no son lneas
compartidas sino que cada dispositivo PCI tiene su propia lnea o lneas de
peticin de interrupcin a un controlador de interrupciones.

Terminales de soporte de cach: necesarios para permitir memorias cach en


el bus PCI asociadas a un procesador o a otro dispositivo. Estos terminales
permiten el uso de protocolos de coherencia de cach de sondeo de bus (snoopy
cach) (en el Captulo 16 se discuten estos protocolos).

Terminales de ampliacin a bus de 64 bits: incluye 32 lneas multiplexadas en


el tiempo para direcciones y datos y se combinan con las lneas obligatorias de
direccin y datos para constituir un bus de direcciones y datos de 64 bits. Hay
otras lneas de este grupo que se utilizan para interpretar y validar las lneas de
datos y direcciones. Por ltimo, hay dos lneas que permiten que dos dispositivos
PCI se pongan de acuerdo para usar los 64 bits.

Terminales de test (JTAG/Boundary Scan): estas seales se ajustan al


estndar IEEE 1149.1 para la definicin de procedimientos de test.

RDENES DEL PCI


La actividad del bus consiste en transferencias entre elementos conectados al
bus, denominndose maestro al que inicia la transferencia. Cuando un maestro del bus
adquiere el control del mismo, determina el tipo de transferencia que se producir a
continuacin. Durante la fase de direccionamiento de transferencia, se utilizan las lneas
C/BE para indicar el tipo de transferencia. Los tipos de rdenes son:

Reconocimiento de interrupcin

Ciclo especial

Lectura de E/S

Escritura en E/S

Lectura d memoria

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

174

Arquitectura de Computadoras I UNPAZ


Tabla 3.4. Lneas opcionales del bus PCI.
Denominacin

Tipo

Descripcin
Terminales de interrupcin

INTA#

o/d

Utilizada para pedir una interrupcin.

INTB#

o/d

Utilizada para pedir una interrupcin; solo tiene significado en un


dispositivo multifuncin.

INTC#

o/d

Utilizada para pedir una interrupcin; solo tiene significado en un


dispositivo multifuncin.

INTD#

o/d

Utilizada para pedir una interrupcin; solo tiene significado en un


dispositivo multifuncin.
Terminales de soporte de cach

SBO#

in/out

(Snoop Backoff) Indica un acceso a una lnea de cach


modificada.

SDONE

in/out

(Snoop Done) Indica el estado del mdulo de sondeo del bus


(snoop) en el acceso actual a cach. Se activa cuando el sondeo
ha terminado.

Termnales de extensin a bus de 64 bits


AD[63:32]

t/s

Lneas multiplexadas de direcciones y datos para ampliar el bus a


64 bits.

C/8E[7:4]

t/s

Lneas multiplexadas de rdenes y habilitacin de byte, Durante la


fase de direccin, las lneas proporcionan las rdenes adicionales
del bus. Durante la fase de datos, las lneas indican cul de los
cuatro bytes del bus ampliado contiene datos vlidos.

REQ64#

s/t/s

Utilizada para pedir una transferencia de 64 bits.

ACK64#

s/t/s

Indica que el dispositivo seleccionado est dispuesto para realizar


una transferencia de 64 bits.

PAR 64

t/s

Proporciona paridad par para las lneas ampliadas AD y para C/BE


un ciclo de reloj despus.

Terminales de test (JTAG/Boundary Scan)


TCK

in

Reloj do test. Utilizado para sincronizar la entrada y salida de la


informacin de estado y los datos de test del dispositivo testeado
(mediante Boundary Scan).

TDI

in

Entrada de test. Utilizada para introducir bit a bit los datos y las
instrucciones de test en el dispositivo a testear.

TDO

out

Salida de test. Utilizada para obtener bit a bit los datos y las
instrucciones de test desde el dispositivo testeado.

TMS

in

Selector de modo de test Utilizado para establecer el estado del


controlador del puerto de acceso para el test,

TRS#

in

Inicio de test (test reset). Utilizada para iniciar el controlador del


puerto de acceso para el test.

in = Seal de entrada
out = Seal de salida
t/s = Seal de E/S, bidireccional, tri estado
s/t/s = Seal tri-estado activada solo por un dispositivo en cada momento
o/d =Drenador abierto: permite que varios dispositivos lo compartan como en una OR cableada
# =La seal se activa en et nivel inferior de tensin (activa en baja)

Lectura de lnea de memoria


Lectura mltiple de memoria
Escritura en memoria
Escritura e invalidacin de memoria
Lectura de configuracin
Escritura de configuracin

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

175

Arquitectura de Computadoras I UNPAZ

Ciclo de direccin dual

El Reconocimiento de Interrupcin es una orden de lectura proporcionada por el


dispositivo que acta como controlador de interrupciones en el bus PCI. Las lneas de
direcciones no se utilizan en la fase de direccionamiento, y las lneas de byte activo (byte
enable) indican el tamao del identificador de interrupcin a devolver.
La orden de ciclo especial se utiliza para iniciar la difusin de un mensaje a uno
o ms destinos.
Las rdenes de lectura de E/S y escritura en E/S se utilizan para intercambiar
datos entre el modulo que inicia la transferencia y un controlador de E/S. Cada
dispositivo de E/S tiene su propio espacio de direcciones y las lneas de direcciones se
utilizan para indicar un dispositivo concreto y para especificar los datos a trasferir a o
desde ese dispositivo. El concepto de direcciones de E/S se explora en el Captulo 7.
Las rdenes de lectura y escritura en memoria se utilizan para especificar la
transferencia de una secuencia de datos, utilizando uno o ms ciclos de reloj. La
interpretacin de estas rdenes depende de si el controlador de memoria del bus PCI
utiliza el protocolo PCI para transferencias entre memoria y cach, o no. Si lo utiliza, la
transferencia de datos a y desde la memoria normalmente se produce en trminos de
lneas o bloques de cachs. El uso de las tres rdenes de lectura de memoria se resume
en la Tabla 3.5. La orden de escritura en memoria se utiliza para transferir datos a
memoria en uno o ms ciclos de datos
Tabla 3.5 Interpretacin de las rdenes de Lectura del bus PCI.

Tipo de orden de lectura

Para memoria transferible


a cach

Para memoria no
transferible a cach

Lectura de memoria

Secuencia de la mitad o
menos de una lnea

Secuencia de dos o menos


ciclos de transferencia de
datos

Lectura de lnea de memoria

Secuencia de ms de media
de lnea y menos de tres
lneas de cach

Secuencia do tres a doce


ciclos de transferencia

Lectura de memoria mltiple

Secuencia de ms de tres
lneas de cach

Secuencia de ms de doce
ciclos de transferencia de
datos

La orden de escritura e invalidacin de memoria transfiere datos a memoria en


uno o ms ciclos. Adems, indica que al menos se ha escrita en una lnea de cach.
Esta orden permite el funcionamiento de la cach con postescritura (write back) en
memoria.
Las dos rdenes de configuracin permiten que un dispositivo maestro lea y
actualice los parmetros de configuracin de un dispositivo conectado al bus PCI. Cada
dispositivo PCI puede disponer de hasta 256 registros internos utilizados para configurar
dicho dispositivo durante la inicializacin del sistema.
La orden de ciclo de direccin dual se utiliza por el dispositivo que inicia la
transferencia para indicar que est utilizando direcciones de 64 bits.

TRANSFERENCIAS DE DATOS
Toda transferencia de datos en el bus PCI es una transaccin nica que consta
de una fase de direccionamiento y una o ms fases de datos. En esta discusin, se
ilustra una operacin de lectura tpica; las operaciones de escritura se producen de
forma anloga.
La Figura 3.23 muestra la temporizacin de una operacin de lectura. Todos los
eventos se sincronizan en las transiciones de bajada del reloj, cosa que sucede a la
mitad de cada ciclo de reloj. Los dispositivas del bus interpretan las lneas del bus en

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

176

Arquitectura de Computadoras I UNPAZ


los flancos de subida al comienza del ciclo de bus. A continuacin se describen los
eventos significativos sealados en el diagrama:
a) Una vez que el maestro del bus ha obtenido el control del bus, debe iniciar la
transaccin activando FRAME. Esta lnea permanece activa hasta que el
maestro est dispuesto para terminar la ltima fase de datos. El maestro tambin
sita la direccin de inicio en el bus de direcciones y la orden de lectura en las
lneas C/BE.
b) Al comienzo del ciclo de reloj 2. el dispositivo del que se lee reconocer su
direccin en las lneas AD.
c) El maestro deja libres las lneas AD del bus. En todas las lneas de seal que
pueden ser activadas por ms de un dispositivo se necesita un ciclo de cambio
(indicado por las dos flechas circulares) para que la liberacin de las lneas de
direccin permita que el bus pueda ser utilizado por el dispositivo de lectura. El
maestro cambia la informacin de las lneas C/BE para indicar cuales de las
lneas AD se utilizan para transferir el dato direccionado (de 1 a 4 bytes). El
maestro tambin activa IRDY para indicar que est preparado para recibir el
primer dato.
d) El dispositivo de lectura seleccionado activa DEVSEL para indicar que ha
reconocido las direcciones y va a responder. Sita el dato solicitado en las lneas
AD y activa TRDY para indicar que hay un dato vlido en el bus.
e) El maestro lee el dato al comienzo del ciclo de reloj 4 y cambia las lneas de
habilitacin de byte segn se necesite para la prxima lectura.
f)

En este ejemplo, el dispositivo de lectura necesita algn tiempo para preparar el


segundo bloque de datos para la transmisin. Por consiguiente, desactiva TRDY
para sealar al maestro que no proporcionar un nuevo dato en el prximo ciclo.
En consecuencia, el maestro no lee las lneas de datos al comienzo del quinto
ciclo de reloj y no cambia la seal de habilitacin de byte durante ese ciclo. El
bloque de datos es ledo al comienzo del ciclo de reloj 6.

g) Durante el ciclo 6. el dispositivo de lectura sita el tercer dato en el bus. No


obstante, en este ejemplo, el maestro todava no est preparado para leer el dato
(por ejemplo, puede tener lleno el registro de almacenamiento temporal). Para
indicarlo desactiva IRDY. Esto har que el dispositivo de lectura mantenga el
tercer dato en el bus durante un ciclo de reloj extra.
h) El maestro sabe que el tercer dato es el ltimo, y por eso desactiva FRAME para
indicar al dispositivo de lectura que este es el ltimo dato a transferir. Adems
activa IRDY para indicar que est listo para completar esa transferencia
i)

El maestro desactiva IRDY, haciendo que el bus vuelva a estar libre, y el


dispositivo de lectura desactiva TRDY y DEVSEL.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

177

Arquitectura de Computadoras I UNPAZ

ARBITRAJE
El bus PCI utiliza un esquema de arbitraje centralizado sncrono en el que cada
maestro tiene una nica seal de peticin (REQ) y cesin (GNT) del bus. Estas lneas
se conectan a un rbitro central (Figura 3.24) y se utiliza un simple intercambio de las
seales de peticin y cesin para permitir el acceso al bus.
La especificacin PCI no indica un algoritmo particular de arbitraje. El rbitro
puede utilizar un procedimiento de primero-en llegar-primero-en servirse, un
procedimiento de cesin cclica (round- robn), o cualquier clase de esquema de
prioridad. El maestro del PCI establece, para cada transferencia que desee hacer, si
tras la fase de direccin sigue una o ms fases de datos consecutivas.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

178

Arquitectura de Computadoras I UNPAZ


La Figura 3.25 es un ejemplo en el que se decide el dispositivo. A o B. al que se
cede el bus. Se produce la siguiente secuencia:
a) En algn momento anterior al comienzo del ciclo de reloj 1, A ha activado su
seal REQ. El rbitro muestrea esa seal al comienzo del ciclo de reloj 1.
b) Durante el ciclo de reloj 1, B solicita el uso del bus activando sil seal REQ.
c) Al mismo tiempo, el rbitro activa GNT-A para ceder el acceso al bus a A.

d) El maestro del bus A muestra GNT-A al comienzo del ciclo de reloj 2 y conoce
que se le ha cedido el acceso al bus. Adems, encuentra IRDY y TRDY
desactivados, indicando que el bus est libre. En consecuencia, activa FRAME
y coloca la informacin de direccin en el bus de direcciones y la orden
correspondiente en las lneas C/BE (no mostradas). Adems mantiene activa
REQ-A, puesto que tiene que realizar otra transferencia despus de la actual.

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

179

Arquitectura de Computadoras I UNPAZ


e) El rbitro del bus muestrea todas las lneas REQ al comienzo del ciclo 3 y toma
la decisin de ceder el bus a B para la siguiente transaccin. Entonces activa
GNT-B y desactiva GNT- A. B no podr utilizar l bus hasta que este no vuelva
a estar libre.
f)

A desactiva FRAME para indicar que la ltima (y la nica) transferencia de dato


est en marcha. Pone los datos en el bus de datos y se lo indica al dispositivo
destino con IRDY. El dispositivo lee el dato al comienzo del siguiente cielo de
reloj.

g) Al comienzo del ciclo 5, B encuentra IRDY y FRAME desactivados y por


consiguiente puede tomar el control del bus activando FRAME. Adems
desactiva su lnea REQ. puesto que solo deseaba realizar, una transferencia.
Posteriormente, se cede el acceso al bus al maestro A para que realice su
siguiente transferencia. Hay que resaltar que el arbitraje se produce al mismo tiempo
que el maestro del bus actual est realizando una transferencia de datos. Por
consiguiente, no se pierden ciclos de bus en realizar el arbitraje. Esto se conoce como
arbitraje oculto o solapado (hidden arbitration).

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

180

Arquitectura de Computadoras I UNPAZ

Bibliografa

MURDOCCA, Miles J. Principios de Arquitectura de Computadoras Apndice A; Lgica Digital Pag. 441 a 491 - Apndice B Simplificacin
de circuitos lgicos Pag. 499 a 535 -

STALLINGS, William, Organizacin y Arquitectura de computadoras 7


edicin Capitulo 1; Introduccin pag. 25 a 34

STALLINGS,William - Organizacin y Arquitectura de computadoras 7


edicin - Captulo 3; Perspectiva de alto nivel del funcionamiento y de las
interconexiones del computador Pag. 57 a 95

SINDERMAN Jorge, Tcnicas digitales, dispositivos, circuitos, diseo y


aplicaciones, 2da. edicin, nueva librera, marzo del 2007, isbn 978 987-1104-51-2- cap. 0, 1, 2, y 3

Recopilacin y armado del apunte Prof. Lic. Walter Salguero


Correcciones Lic. Fabin Palacios Lic. Juan Funes

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

181

Arquitectura de Computadoras I UNPAZ

Horario de cursada 2016


Comisin A1- Maana
Martes de 10:00hs a 12:00hs
Sabados de 09:00hs a 13:00hs
Comisin C1 - Noche
Miercoles de 18:00hs a 22:00hs
Viernes de 18:00hs a 20:00hs

http://campusvirtual.unpaz.edu.ar

Profesores: Juan Funes, Walter Salguero, Fabin Palacios

182