Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONTENIDO
Lección 1 Introducción Lección 22 Circuitos Integrados
Lección 2 Historia de los Computadores Lección 23 Circuitos Lógicos a Base de
Lección 3 Clasificación de los Compuertas
Computadores Lección 24 Circuitos Combinacionales
Lección 4 Componentes de Hardware Lección 25 Circuitos Secuenciales
Lección 5 Sistemas Numéricos Lección 26 La Unidad Aritmético-Lógica
Lección 6 Conversión entre sistemas Lección 27 La Unidad de Control
Lección 7 Historia de los números binarios Lección 28 La Memoria Principal
Lección 8 Aritmética Binaria Lección 29 Arquitectura del Computador
Lección 9 Sistemas de codificación Elemental
Lección 10 Ejercicios de repaso Lección 30 Ejercicio de repaso
Lección 11 Álgebra de Boole Lección 31 Guía de Prácticas
Lección 12 Operadores Lógicos Lección 32 Práctica de Ejemplo
Lección 13 Tablas de la Verdad Lección 33 Práctica 1: Codificador
Lección 14 Compuertas Lógicas Lección 34 Práctica 2: Decodificador
Lección 15 Leyes del Álgebra de Boole Lección 35 Práctica 3: Multiplexor
Lección 16 Reglas del Álgebra de Boole Lección 36 Práctica 4: Demultiplexor
Lección 17 Teoremas de Morgan Lección 37 Práctica 5: Sumador
Lección 18 Simplificación de Funciones Lección 38 Práctica 6: Desplazador
Lección 19 Mapas de Karnaugh Lección 39 Práctica 7: Flip-Flop
Lección 20 Ejercicios de repaso Lección 40 Ejercicios de repaso
Lección 21 El Transistor
1
1.-Introducción
Uno de los primeros interrogantes que se formula todo usuario de los sistemas de
cómputo es acerca de la estructura y funcionamiento interno de los computadores,
llegando a concebir estas máquinas como algo esotérico o extraordinario. Por eso es
necesario acercar a quienes vayan a estar relacionados con estos sistemas, al interior
de las máquinas de cómputo de una manera sencilla para eliminar ese tabú infundado
de una manera totalmente carente de justificación.
Por tal motivo este curso no pretende ser una guía de diseño, sino que explica con
claridad la organización interna de los componentes básicos de los computadores para
que este conocimiento sirva de base a quienes quieran dedicarse a diseñar sistemas
informáticos eficientes y funcionales basados en los circuitos que los ejecutarán
realmente.
Antes del inicio de los temas centrales se hará un breve recuento de la historia de la
computación y el desarrollo que han tenido los computadores desde los albores hasta
las sofisticadas máquinas que invaden el mundo de hoy, y que han llegado a conformar
lo que se conoce como la Segunda Revolución Industrial.
Un computador digital es una máquina que ejecuta esencialmente tres tipos de
operaciones básicas: mover unos y ceros entre las diferentes partes de los circuitos,
sumar unos y ceros, y comparar unos con ceros. Por tanto para la mejor comprensión
del funcionamiento de los circuitos algunos de los temas iniciales serán la aritmética
binaria y el álgebra de Boole que explican estas operaciones desde el punto de vista
matemático. Luego de un modo gradual se irá avanzando en las técnicas utilizadas para
construir circuitos que representen de una manera práctica estas operaciones y su
desarrollo para la obtención de resultados.
2
Napier, quien desarrolló a principios del siglo XVII la teoría de los logaritmos, y con
base en ellos construyó una serie de barras que se conocen como los Huesos de Napier,
que permitían su manipulación, sobre todo para operaciones de multiplicación y
división.
Blas Pascal, matemático, físico y filósofo francés, desarrolló la famosa Pascalina hacia
el año 1638, la cual consistía en un rodillo basado en relaciones de engranajes y que
servía para hacer sumas y restas hasta de ocho cifras. Con base en este aparato se
construyen los cuentakilómetros que utilizan los automóviles.
En 1832, Charles Babbage, matemático inglés, construyó la Máquina Diferencial que
calculaba logaritmos hasta con 20 decimales de precisión. Después desarrolló la
Máquina Analítica que concibió como una calculadora universal que resolvía cualquier
tipo de operación y ya poseía el concepto de programa almacenado.
Hacia finales del siglo XIX, el americano Herman Hollerit construyó la Máquina
Tabuladora, que introdujo el concepto de tarjeta perforada y se utilizó para procesar el
censo de los EE.UU. en 1890.
Durante la Segunda Guerra Mundial, Howard Aiken, en la Universidad de Harvard,
desarrolló el Mark 1, una máquina de dimensiones descomunales con un largo de 15
metros y una altura de 2,4 metros, poseía 800.000 piezas y más de 800 Km de cable.
Estaba basada en relés y podía manejar números hasta de 23 dígitos; además realizaba
multiplicaciones en menos de 3 segundos.
A partir de entonces aparecieron los computadores propiamente dichos y su evolución
se ha ido dando por generaciones, las cuales están marcadas por los avances
tecnológicos que han ocurrido desde la segunda mitad del siglo XX.
Primera generación
El Mark 1 fue seguido muy rápidamente en 1943 por el ENIAC, considerado como el
primer computador digital electrónico. Utilizaba como elementos de conmutación para
sus circuitos tubos de vacío o válvulas electrónicas. Fue desarrollado en la Universidad
de Pennsylvania por J. P. Eckert y J. W. Mauchly. Realizaba operaciones de punto fijo y
se efectuaban bit a bit. Se programaba en lenguaje máquina.
Segunda generación
En el año 1948 apareció el maravilloso transistor y fue utilizado rápidamente en la
construcción de computadores electrónicos. El primero fue el TRADIC (Transistorized
Digital Computer), desarrollado por los laboratorios BELL en el año de 1954, utilizaba
800 transistores y memorias de ferrita. Se programaba en lenguaje Ensamblador
(ASSEMBLER).
Tercera generación
En la década de los sesenta aparecieron los circuitos integrados. En al año de 1968
comenzaron a utilizarse las primeras memorias de estado sólido. También aparecieron
3
los lenguajes de alto nivel como FORTRAN, COBOL y RPG. Algunos de los computadores
de esta generación fueron el CDC-660, el CDC 7600, el IBM-1130 y el IBM-360.
Cuarta generación
En la década de los setenta aparece la integración de alta escala LSI (Large Scale
Integration). Los lenguajes de alto nivel evolucionan de una manera extraordinaria;
aceptan datos avanzados como vectores y conjuntos. Aparecen los lenguajes Pascal, C
y Java y los sistemas operativos de tiempo compartido. Los computadores ahora
comienzan a ser multiusuario y multiproceso como el Univac 1100, el IBM-370 y el
Burroughs B-7800.
Quinta generación
En la década de los ochenta se habla de la integración a muy grande escala VLSI (Very
Large Scale Integration). Los computadores personales comienzan a integrarse en
redes locales LAN. Aparecen los Sistemas Expertos y los lenguajes para desarrollarlos
como el LISP y el PROLOG y además Lenguajes de cuarta generación.
Sexta generación
Se viene dando desde la última década del siglo XX, las computadoras han reducido
dramáticamente su tamaño, son más versátiles, internet se convirtió en una
herramienta indispensable en los centros laborales, académicos y en el hogar. Ha
aparecido la teleinformática, la telefonía móvil celular y se hace uso de satélites, fibra
óptica, inteligencia artificial lo cual hace que nos encontremos frente a un avance sin
precedentes. Ahora las computadoras pueden desarrollar capacidades casi similares al
ser humano, se ven robots que pueden jugar un encuentro de fútbol, arman un
automóvil o desempeñan labores domésticas.
Video: http://www.aulafacil.com/uploads/cursos/5082/14657.ogv
4
Donde la fuerza se puede representar por el voltaje, la masa por la resistencia y la
aceleración por la intensidad de corriente eléctrica. Así, manteniendo la resistencia
constante y haciendo variaciones proporcionales de la intensidad de la corriente,
podemos averiguar qué aceleraciones son producidas por una fuerza determinada
aplicada sobre un cuerpo de masa constante. Esta fuerza estará medida por los valores
obtenidos de los voltajes. La representación de esta analogía puede apreciarse en la
figura 3-1
Figura 3-1
Computadores Digitales
Estos computadores, por el contrario, no utilizan cantidades continuas para representar
sus datos, cálculos y resultados. Se basan en la utilización de cantidades discretas o
dígitos. Para el caso de los computadores basados en la lógica binaria los dígitos que se
utilizan son dos: cero y uno, los cuales se presentan por dos estados diferentes de
voltaje: la presencia de un voltaje generalmente representa el uno y su ausencia
representa el cero. Pero esto no se ha estandarizado y puede encontrarse el caso de
computadores, según su arquitectura, donde la representación sea exactamente la
contraria: ausencia de voltaje el uno y presencia de voltaje el cero.
El presente curso está orientado al estudio de la arquitectura de los computadores
digitales y por tal motivo en las unidades siguientes, correspondientes a aritmética
binaria y álgebra booleana, se mostrará el modo como los computadores digitales
utilizan los ceros y los unos para representar cualquier cantidad y en general cualquier
símbolo y cómo trabajan con ellos para producir los resultados maravillosos que han
revolucionado de una manera total el mundo actual.
5
principalmente con los programas. Forman parte del software los Sistemas Operativos
(Software de Base), los lenguajes (Software de Desarrollo), los aplicativos (Software de
Aplicación o de Usuario Final). Actualmente con la aparición de la Teleinformática se
considera un tercer grupo de componentes y se refiere a las comunicaciones. Forman
principalmente parte de las redes locales (LAN), redes medias (MAN), redes de área
extendida (WAN) y la red universal o red de redes (Internet).
Los periféricos de salida son los que utiliza el computador para suministrar los
resultados a los usuarios. Tradicionalmente se ha conocido la impresora, pero
actualmente ha sido desplazada por la pantalla o el monitor de video. También se
6
conocen el plotter o graficador y actualmente con los sistemas de multimedia, el
reproductor de sonidos.
Periféricos de entrada-salida son los que permiten tanto ingresar datos al
computador como obtenerlos de él. Entre estos se conocen los MODEM que
comunican unos computadores con otros.
Figura 4-1
Video: http://www.aulafacil.com/uploads/cursos/5082/14661.ogv
5.-Sistemas Numéricos
Los sistemas de cómputo digitales utilizan para representar la información un
sistema de numeración especial que sólo emplea unos y ceros, por lo que se
denomina Sistema Binario, ya que utiliza sólo dos dígitos para expresar cualquier
cantidad.
El sistema que hemos estado acostumbrados a utilizar en nuestro medio es el Sistema
Decimal, ya que posee diez dígitos, los números del cero al nueve. Este sistema
posiblemente fue adoptado desde la antigüedad, debido al hecho de que poseemos diez
dedos para contar, pero siempre se ha dicho que un sistema ideal sería uno con base
en el número doce porque posee más submúltiplos: 6 de los números que le preceden,
es decir, exactamente la mitad.
El mecanismo que utiliza cualquier sistema numérico para representar sus cifras o para
realizar operaciones matemáticas con ellas utiliza los mismos principios. Por este
7
motivo describiremos el Sistema Decimal, ya que estamos más acostumbrados a
manipularlo y se nos facilitará enormemente la comprensión de los demás.
El Sistema Decimal es llamado así, como ya se dijo, porque utiliza diez dígitos para
representar los números. Estos dígitos son los siguientes: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.
Para representar cualquier cifra se utilizan dos criterios simultáneamente: el valor de
cada uno de los dígitos y el peso de la posición que ocupa dentro del número. Los pesos
de estas posiciones están basados en las potencias sucesivas de diez comenzando con
cero (0) en la posición de más a la derecha y aumentando la potencia en uno cada vez
que se avanza una posición hacia la izquierda, así:
…108 107 106 105 104 103 102 101 100
El valor de cada dígito se multiplica por el peso de su posición y se suman todos los
valores obtenidos para encontrar el valor real del número representado.
Consideremos el número 4678 representado en el sistema numérico decimal:
Tabla 5-1
El Sistema Binario
El Sistema Binario utiliza sólo dos símbolos para representar sus cifras: 0 y 1. El
mecanismo utilizado para representar los valores es el mismo que el del Sistema
Decimal, pero para el peso de las posiciones la base de las potencias es el número dos,
así:
…28 27 26 25 24 23 22 21 20
8
El número binario 10011010 equivale a 154 en decimal.
Ejercicio
Encontrar los valores de los siguientes números binarios:
10101010
11111111
01111110
Sistema Octal
Utiliza para representar sus cifras ocho símbolos, a saber: 0, 1, 2, 3, 4, 5, 6 y 7 y tiene
como base para las potencias el número ocho.
Sistema Hexadecimal
Utiliza 16 símbolos para representar cantidades, y la base de las potencias para el peso
de las potencias es el número 16. Los símbolos son los siguientes: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E y F. Las letras tienen los siguientes valores:
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
9
Pasar la cantidad 3526 expresada en el sistema numérico decimal al sistema numérico
binario.
El número 3526 se divide por dos (2), base del sistema binario, se anota el residuo y el
cociente se divide nuevamente por dos. Este procedimiento se repite hasta que el
cociente final sea un dígito binario, es decir, uno o cero.
Dividendo Residuo
3526 0
1763 1
881 1
440 0
220 0
110 0
55 1
27 1
13 1
6 0
3 1
1
Tabla 6-1
Resultado: 110111000110
Dividendo Residuo
12875 3
1609 1
201 1
25 1
3
Tabla 6-2
El número 12875 decimal corresponde al 31113 octal.
10
Pasar el número 73596 del sistema decimal al sistema hexadecimal
El número 73596 se divide sucesivamente por 16
Dividendo Residuo
73596 12 (c)
4599 7
287 15 (F)
17 1
1
Tabla 6-3
El número 73596 decimal corresponde al 11F7C hexadecimal.
Dividendo Residuo
2525 0
505 0
101 1
20 0
4
Tabla 6-4
El número decimal 2525 corresponde al número 40100 en sistema base cinco.
Entre el sistema numérico binario y los sistemas octal y hexadecimal existe una relación
muy estrecha, ya que 8 y 16 son potencias exactas de 2. Por este motivo la conversión
entre estos sistemas es relativamente fácil. Para convertir números de los sistemas
octal y hexadecimal al sistema binario, se trasladan los dígitos individualmente,
poniendo los resultados uno a continuación del otro.
Pasar el número hexadecimal 98A1 al sistema binario.
Se procede así:
9 8 A 1 Dígitos hexadecimales
11
1001 1000 1010 0001 Equivalentes binarios
Resultado: 1001100010100001
Nótese que los dígitos hexadecimales se representan con cuatro dígitos binarios,
mientras que los octales con tres.
Del mismo modo, para pasar números del sistema binario al sistema hexadecimal se
agrupan los dígitos binarios en bloque de cuatro de derecha a izquierda y se convierten
a sus equivalentes dígitos hexadecimales.
Pasar el número binario 10101100011 al sistema hexadecimal.
Se procede así:
0101 0110 0011
5 6 3
Para pasar del sistema binario al octal se agrupan los dígitos binarios en bloques de
tres de derecha a izquierda y se convierten a sus equivalentes dígitos octales.
Ejemplo:
Pasar el número binario 1110101011 a octal.
Se procede así:
001 110 101 011
1 6 5 3
12
La estructura interna del I Ching se basa en la codificación binaria, y está compuesta
por ocho estados de cambio que se conocen con el nombre de trigramas primarios, los
cuales se pueden catalogar como un equivalente del ADN Humano. Un trigrama se
forma con la combinación de tres líneas horizontales que pueden ser continuas o
fuertes (energía Yang, concepto de la masculinidad), o rotas o débiles (energía Yin,
concepto de la feminidad). Podemos apreciar los ocho trigramas en la Fig. 7-1
Figura 7-1
Estos trigramas no son nada más que códigos binario mostrados en un formato gráfico
bastante didáctico. Si asumimos que la línea continua equivale a un uno y la línea rota
equivale a cero, podemos deducir que cada trigrama tiene el valor binario que se
aprecia en la Tabla 7-1, con su correspondiente valor decimal.
13
A pesar de la resistencia de la humanidad para usar un sistema diferente al decimal
(recuérdese que al principio dijimos que esto se deba posiblemente a que poseemos
diez dedos y la costumbre ancestral de enumerar y hacer cuentas con ellos), poco a
poco el sistema binario fue tomando posesión entre las comunidades científicas. Los
lenguajes Braille y Morse fueron unas de las primeras aplicaciones de los
códigos binarios.
Primero fue el matemático alemán Gottfried Leibniz, quien hacia el año 1703 propuso
el Sistema Binario como un medio de realizar cálculos, pues se prestaban para hacerlo
de una manera muy sencilla. A mediados del siglo XIX, el también matemático
George Boole, de nacionalidad inglesa, intentó usar las técnicas del álgebra para
resolver problemas de lógica proposicional mediante procesos que utiliza nuestra mente
para sacar conclusiones a partir de unas premisas. Se trata de averiguar si dichos
procesos son válidos o no, para determinar si las conclusiones que hemos establecido
son verdaderas (lo que se representa con un 1) o falsas (que se representa con un 0).
En la primera mitad del siglo XX, el americano Claude Shanon, ingeniero
eléctrico, descubre la manera de utilizar interruptores eléctricos para resolver
operaciones aritmético-lógicas, utilizando el álgebra de Boole. Se basaba en dos
posiciones de los interruptores: encendido representaba el uno y apagado el cero. Y
desde ese momento no hubo forma de parar lo que se venía de una manera
arrasadora: la informática.
8.-Aritmética Binaria
Suma
La suma de dos dígitos binarios se realiza de la siguiente manera:
0+0=0
0+1=1
1+0=1
1 + 1 = 10
Para sumar cantidades binarias de más de un dígito se debe tener en cuenta todas las
reglas de las sumas decimales, incluyendo los acarreos.
Ejemplo:
Sumar los siguientes números binarios:
00110110
+ 11110011
= 100101001
Tabla 8-1
14
Como se puede ver en el ejemplo anterior, cuando la suma da 10 (el equivalente
binario de 2 decimal), se escribe el cero (0) y se tiene un acarreo de uno (1), el cual se
suma a la columna siguiente de la izquierda.
Resta
La resta de binarios en los circuitos de los computadores es un caso especial de suma:
el sustraendo se lleva a su forma de complemento a dos, que consiste en cambiar
todas sus cifras por su complemento a uno, es decir, los unos se cambian por ceros y
los ceros por unos y al resultado se le suma uno.
Ejemplo:
Restar del número 54, el número 13.
Solución:
Se convierten ambos números a su forma binaria
(27)10 = 00110110
(13)10 = 00001101
El sustraendo, 00001101, se lleva a su complemento a uno (1)
11110010
Y luego se le suma uno para llevarlo a su complemento a dos
11110011
Esta es la representación negativa del número 13 en el interior de los circuitos digitales.
Ahora se realiza la suma binaria de los dos números:
00110110
+ 11110011
= 100101001
Tabla 8-2
Multiplicación
La multiplicación es otro caso especial de la suma: un producto consiste en sumar el
multiplicando consigo mismo tantas veces como indique el multiplicador.
Ejemplo:
15
Realizar la multiplicación de 25 * 3
La representación binaria de 25 es: 00011001
Para realizar la multiplicación de 25 por 3, se suma 25 tres veces:
00011001 + 00011001 + 00011001 = 01001011
01001011 es la representación binaria de 75.
9.-Sistemas de codificación
Los binarios sirven, en general, para representar únicamente cantidades numéricas, si
se tratan como tal. Es por tanto necesario tener la posibilidad de representar todos los
caracteres que utilizamos para nuestra comunicación. Se hace útil entonces la ayuda de
sistemas de codificación donde a cada dígito numérico o carácter alfabético o especial
se asocie un código. Algunos de estossistemas de codificación son el EBCDIC, EL
BCD, el ASCII y el UNICODE.
Código EBCDIC
Código para el intercambio de Decimales Codificados en Binario Extendido. Fue ideado
para las máquinas grandes de la IBM.
Código BCD
Decimal Codificado en Binario. Utiliza cuatro dígitos para representar cada uno de los
diez dígitos decimales. Para representar una cifra decimal debe cambiarse cada dígito
por su equivalente en el código. Existen tres variedades del código BCD: natural, Aiken
y exceso tres. En el primero se hace la traducción directa por su equivalente binario,
representado en cuatro dígitos; en el segundo se trata de buscar una simetría especial,
donde cada cifra es el complemento a nueve de su cifra simétrica, cambiando todos sus
dígitos y en el tercero se suma tres a cada dígito binario. La siguiente tabla muestra los
tres tipos de código BCD:
BCD
BCD BCD
Decimal exceso
natural Aiken
a3
16
4 0100 0100 0111
Tabla 9-1
Código ASCII
Código Estándar Americano para el Intercambio de Información. Utiliza siete bits de
cada byte para la representación de un total de 127 caracteres. El octavo bit es usado
para control de paridad. Actualmente se ha aumentado la cantidad a 255. Ha ganado
mucha popularidad y prácticamente se utiliza en todos los sistemas de computación
personal y como estándar para la comunicación entre redes de computadores.
17
11 ♂ 35 # 59 ; 83 S 107 k 131 â 155 ø 179 │ 203 ╦ 227 Ò 251 ¹
Tabla 9-2
Código Unicode
Estándar de codificación que facilita el tratamiento informático, transmisión y
visualización de textos de múltiples lenguajes y disciplinas técnicas y textos clásicos de
lenguas muertas. Su nombre proviene de los tres objetivos que persigue: universalidad,
uniformidad y unicidad. Fue creado con el fin de reemplazar los sistemas de codificación
existentes, los cuales eran muy limitados en tamaño y compatibilidad con sistemas
plurilingües. Actualmente es el sistema de codificación más extenso y completo. Para
ver la tabla completa podemos visitar el sitio oficial en la siguiente
dirección: http://www.unicode.org/charts/
La figura 9-3 hace una comparación entre los dos sistemas de codificación más
utilizados:
18
Figura 9-3
10.-Ejercicios de repaso
1. Haga un cuadro sinóptico de los principales componentes de hardware.
2. ¿Cuál se considera el primer computador del mundo? Resuma sus características.
3. Cómo podría convertir números entre los sistemas octal y hexadecimal?
4. Representar el número octal 7511 en los sistemas binario, decimal y hexadecimal.
5. Representar el hexadecimal A9F3 en los sistemas binario, octal y hexadecimal.
6. Representar el número binario 11100110 en los sistemas decimal, octal y
hexadecimal.
7. Explique porqué para convertir binarios a octales debe agrupar los dígitos en
bloques de tres y para convertir binarios a hexadecimales debe agruparlos en
bloques de cuatro.
8. Representar el número decimal 4784 en los sistemas binario, octal y hexadecimal.
9. ¿Cómo resolvería una división entre binarios?
10. Convierta los números decimales 35 y 3 a binarios y realice la división del
primero por el segundo.
19
11.-Álgebra de Boole
Se conoce como Álgebra de Boole o Álgebra Booleana toda clase o conjuntos de
elementos que toman dos valores perfectamente diferenciados y que se designan por 0
y 1, y que están relacionados por dos operaciones binarias denominadas AND (^) y OR
(v). Inicialmente fue un intento de utilizar las técnicas algebraicas para tratar
expresiones de la lógica proposicional. Actualmente se aplica de forma generalizada en
el ámbito del diseño electrónico.Fue George Boole (1815 – 1864), un matemático
inglés, quien propuso un esquema o sistema para la expresión simplificada de
problemas lógicos a través de dos estados (falso o verdadero) mediante un
procedimiento matemático.
El álgebra booleana se basa en nociones algebraicas para el tratamiento de enunciados
de la lógica proposicional. Las operaciones habituales son las binarias, las que necesitan
dos argumentos. Se llama conjunción lógica al resultado verdadero que se obtiene
cuando los dos enunciados son verdaderos: si A es verdadero y B es verdadero, la
conjunción de A y B será verdadera.
Físicamente existen varios conjuntos que poseen dos operaciones binarias que cumplen
los postulados del Álgebra Booleana, como el álgebra de proposiciones o juicios
formales, y el álgebra de la conmutación, que también está formada por elementos
que pueden tener dos valores perfectamente diferenciados. Los primeros circuitos de
conmutación o lógicos que se utilizaron fueron los contactos que se pueden utilizar para
memorizar con sencillez las Leyes del Álgebra de Boole. El OR puede asimilarse con la
conexión en paralelo y el AND con una conexión serial.
Figura 11-1
20
12.-Operadores Lógicos
El álgebra de Boole describe las operaciones que se realizan entre proposiciones u
operandos de tipo lógico; los operadores que se utilizan para resolverlos se denominan
Operadores Lógicos. Tanto los operandos como los resultados que se manipulan en el
álgebra booleana pueden tener sólo dos valores: Falso o Verdadero.
Los operadores lógicos más importantes son: AND, OR, NOT, OR EXCLUSIVO y
EQUIVALENCIA.
El operador lógico AND da como resultado Verdadero si y sólo si todos los operandos
que intervienen son verdaderos.
Ejemplo: se piden algunos requisitos para un préstamo de Vivienda de Interés Social,
entre los que se estipula tener un salario mayor al de dos salarios mínimos y menor a
cinco salarios mínimos. Si la variable SMLV representa el Salario Mínimo Legal Vigente,
las condiciones que se deben cumplir serían las siguientes:
Sueldo > 2*SMLV AND Sueldo < 5*SMLV
En este caso se deben cumplir las dos condiciones para optar a la Vivienda de Interés
Social, que el sueldo sea mayor que dos SMLV y que el sueldo sea menor que cinco
SMLV. En caso de que alguna de las dos condiciones no se cumpla, la proposición
completa es falsa y la persona no tiene derecho de aplicar al préstamo.
El operador lógico OR da como resultado Falso si y sólo si todos los operandos que
intervienen son falsos, es decir, con un solo elemento que sea verdadero toda la
proposición es verdadera.
Ejemplo: una fundación quiere favorecer a todos los menores de edad y a los adultos
mayores o personas de la tercera edad. Si la variable Edad está expresada en años, las
condiciones que se deben cumplir son las siguientes:
Edad < 18 OR edad > 65
En este caso, sólo cuando una persona está dentro del rango de 18 y 65 años, la
proposición completa es falsa, por ejemplo cuando la persona tiene 40 años. En caso de
que se cumpla una de las otras dos condiciones, la proposición es verdadera.
21
El operador lógico OR EXCLUSIVO da como resultado verdadero si y sólo si uno de los
operandos que intervienen es verdadero. XOR equivale a decir "uno u otro, pero no
ambos".
Ejemplo: hay una cumbre de dirigentes de empresas, donde sólo puede asistir por cada
empresa su presidente o su vicepresidente, pero no los dos, porque desequilibrarían la
representación ante las demás empresas. Sería como decir:
Representante = Presidente XOR Representante = Vicepresidente
A partir de estos operadores lógicos básicos se pueden obtener otros operadores como
los NAND, los NOR, los XNOR, los cuales son una combinación del
operador NOT con AND, OR y XOR, respectivamente. Los resultados de estos
operadores son la negación de las salidas de los operadores AND, OR y XOR.
13.-Tablas de la Verdad
La tabla 13-1 muestra la Tabla de la
Verdad para el operador
lógico AND aplicado sobre dos La tabla 13-2 muestra la Tabla de la
variables. Verdad para el operador lógico OR.
X Y X AND Y X Y X OR Y
V V V
V V V
V F V
V F F
F V V
F V F
F F F F F F
22
La tabla 13-3 muestra la Tabla de la Verdad para el operador lógico NOT.
X NOT X
F V
V F
Tabla 13-3
X Y X XOR Y
V V F
V F V
F V V
F F F
Tabla 13-4
X Y X EQV Y
V V V
V F F
F V F
F F V
Tabla 13-5
23
La tabla 13-6 muestra la Tabla de la verdad para el operador NAND:
X Y X NAND Y
0 0 1
0 1 1
1 0 1
1 1 0
Tabla 13-6
X Y X NOR Y
0 0 1
0 1 0
1 0 0
1 1 0
Tabla 13-7
X Y X XNOR Y
0 0 1
0 1 0
1 0 0
1 1 1
Tabla 13-8
24
La tabla 13-9 muestra la Tabla de la La tabla 13-10 muestra la Tabla de la
Verdad para el operador AND con tres Verdad para el operador OR con tres
variables: variables:
X Y Z X AND Y AND Z X Y Z X OR Y OR Z
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1
0 1 0 0 0 1 0 1
0 1 1 0 0 1 1 1
1 0 0 0 1 0 0 1
1 0 1 0 1 0 1 1
1 1 0 0 1 1 0 1
1 1 1 1 1 1 1 1
14.-Compuertas Lógicas
Las compuertas lógicas son la representación gráfica de las funciones
booleanas. Existe una compuerta para cada una de las funciones. Estas compuertas
representan bloques funcionales que tienen un conjunto de entradas, y de acuerdo con
la función lógica que representen es el valor de la única salida que producen.
Interconectando estas compuertas entre sí es posible representar funciones complejas
a partir de las más sencillas, además se consiguen en circuitos integrados comerciales,
por lo tanto un diagrama de compuertas lógicas corresponde directamente con un
sistema de cableado de circuitos lógicos.
La actual tecnología hace posible la integración a gran escala de transistores que
actúan como conmutadores en redes lógicas dentro de un chip.
La Tabla 14-1 nos muestra la representación de las compuertas más sencillas. Un
pequeño círculo a la salida de algunas compuertas indica que se invierte el resultado de
la operación, lo cual se representa con la línea que se pone encima de los resultados.
25
Tabla 14-1
26
15.-Leyes del Álgebra de Boole
Las Leyes más importantes del Álgebra Booleana son tres:
Ley Conmutativa.
Ley Asociativa.
Ley Distributiva.
Ley Conmutativa
La Ley Conmutativa para la operación OR establece que el orden que ocupen las
variables es indiferente. El operador OR se representa gráficamente como "v".
AvB=BvA
Figura 15-1
La Ley Conmutativa para la operación AND establece que el orden que ocupen las
variables es indiferente. Aquí el operador AND se representa gráficamente como "^".
A^B=B^A
Figura 15-2
Ley Asociativa
El resultado para la operación OR, cuando intervienen más de dos variables, es
independiente del modo como estén agrupadas las variables.
27
Figura 15-3
Así mismo, el resultado para la operación AND, cuando intervienen más de dos
variables, es independiente del modo en que estén agrupadas dichas variables.
Figura 15-4
Ley Distributiva
Cuando se aplica la operación OR a dos o más variables y después se aplica la
operación AND a este resultado con otra variable, es equivalente a aplicar la operación
AND a la variable aislada con cada uno de los operandos del OR, y luego aplicar la
operación OR a los resultados de los AND. Esta Ley muestra el proceso de sacar factor
común, donde la variable común se extrae como factor de los AND parciales.
A ^ (B v C) = (A ^ B) v (A ^ C)
28
Figura 15-5
3. El resultado de aplicar la operación AND entre una variable cualquiera y 0 tiene como
resultado siempre el valor de 0.
A AND 0 = 0
4. El resultado de aplicar la operación AND entre una variable cualquiera y 1 tiene como
resultado siempre el valor de la variable.
A AND 1 = A
29
6. El resultado de aplicar la operación OR entre una variable cualquiera y su
complemento tiene como resultado siempre el valor 1.
A OR A = A
10. Si se aplica el operador OR a una variable con la operación AND entre esa misma
variable y otra variable, el resultados es siempre igual a la primera variable.
A OR (A AND B) = A
11. El resultado de aplicar el operador OR a una variable con la operación AND entre el
complemento de esa variable y otra variable será siempre igual a la operación OR entre
las dos variables.
A OR (NOT A AND B) = A OR B
30
17.-Teoremas de Morgan
Los Teoremas de Morgan son dos:
1. Aplicar el operador NOT al AND entre dos variables es igual al OR entre los NOT de
cada una de las variables:
NOT (A AND B) = NOT A OR NOT B
Este teorema establece la equivalencia entre una compuerta NAND y una compuerta OR
con las entradas negadas.
2. El NOT aplicado al OR entre dos variables es igual al AND entre los NOT de cada una
de las dos variables:
NOT (A OR B) = NOT A AND NOT B
Este teorema establece la equivalencia entre una compuerta NOR y una compuerta AND
con las entradas negadas.
18.-Simplificación de Funciones
Combinando los operadores booleanos podemos obtener funciones. De la misma
manera que el álgebra tradicional, estas funciones devuelven un sólo resultado, el cual
es del mismo tipo de las variables que intervienen, es decir, sólo puede tomar uno de
dos valores: FALSO o VERDADERO.
Si una función booleana tiene N variables de entrada, tendrá 2N posibles combinaciones
de unos y ceros de entrada, por lo tanto su Tabla de Verdad tendrá exactamente esa
cantidad de filas.
Ejemplo:
31
A B C (A ^ B) v C
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 1
0 0 0 0
Tabla 18-1
Para representar funciones que sean descritas de forma diferente o tengan operadores
desconocidos, se debe hacer así:
Se escribe la Tabla de la Verdad de la función.
Se escribe un término por cada fila cuya salida sea 1. Este término estará
compuesto por el producto booleano de las variables de entrada de la siguiente
manera: las que tengan valor 1 de entrada se escriben en su forma natural, y las
que tengan valor 0 de entrada se escriben con una barra encima indicando que
están afectadas por el operador NOT.
Se unen todos los términos con el operador ''+'' booleano.
32
Utilizando este procedimiento y las Leyes del Algebra Booleana es posible simplificar de
una manera significativa algunas de las funciones más complicadas.
Tomemos como ejemplo la Tabla de la Verdad del operador EQUIVALENCIA:
X Y X EQV Y
1 1 1
1 0 0
0 1 0
0 0 1
Tabla 18-2
Simplificación función OR
19.-Mapas de Karnaugh
Son similares a una Tabla de la Verdad ya que muestran todos los valores posibles de
las variables de entrada y la salida resultante para cada valor. También se conocen
como Tablas de Karnaugh o diagramas de Veitch. Su invención en 1950 se debe a
Maurice Karnaugh, matemático y físico de los Laboratorios Bell.
Un mapa de Karnaugh consiste en la representación en dos dimensiones de la Tabla de
la Verdad de la función que se quiere simplificar. Posee un número de celdas igual al
número de filas de la Tabla de la Verdad correspondiente, es decir 2N para una tabla de
N variables. Las variables se ordenan en función de su peso, de modo que una sola de
las variables varía entre celdas adyacentes. Los términos de la Tabla de Verdad se
transfieren de forma directa al Mapa de Karnaugh, albergando un 0 o un 1,
dependiendo del valor que toma la función en cada fila. Cuando las funciones tienen
menos de seis variables se pueden crear fácilmente a mano, pero para funciones de
mayor cantidad de variables se puede utilizar un software especializado.
Un mapa de Karnaugh implementa una manera diferente de simplificar los circuitos
lógicos. Se pueden transferir los valores lógicos desde una función booleana o desde
una tabla de verdad a un mapa de Karnaugh. Se agrupan los ceros y unos en el mapa
para visualizar mejor las relaciones lógicas entre las variables, lo que lleva a una
33
función booleana simplificada. Tomemos como ejemplo la construcción del Mapa de
Karnaugh para una función OR de dos variables a partir de la Tabla de la Verdad:
X Y X OR Y
1 1 1
1 0 1
0 1 1
0 0 0
Tabla 19.1
Figura 19-1
Los valores de una variable se colocan en la parte superior del mapa, definiendo los
valores de la columna y los valores correspondientes a la otra variable a un lado, y
definen los valores de la variable en cada fila. El mapa de Karnaugh se completa al
poner los unos en las celdas que corresponden, copiándolos de la tabla de verdad.
Estos se conocen como minitérminos o minterms. No se deben escribir los ceros en
el mapa, pues sólo se se van a agrupar los unos. Las celdas vecinas que tienen unos se
agrupan de a dos, de a cuatro, o de a ocho. En el caso que nos ocupa, la operación OR,
hay un grupo horizontal y otro vertical que se agrupan de a dos. Esto se indica por
medio de un círculo que se dibuja alrededor de cada uno. El grupo horizontal
corresponde al valor de B = 1, y este valor se mantiene. En esta misma fila, en la celda
de la izquierda A = 0 y en la de la derecha A = 1, es decir, la variable A cambia de
valor. Quiere esto decir que el valor de la variable A no afecta al resultado final de la
expresión booleana para estas celdas. Antes de agruparlas se debe escribir la expresión
booleana para estas dos celdas como (NOT (A) AND B) OR (A AND B). Después de
agruparlas esta misma expresión se reduce a B
De igual modo, el grupo vertical de dos celdas se puede escribir como (A AND NOT B)
OR (A AND B). Puede entonces apreciarse que el valor de B no afecta el valor en las
celdas para este grupo. En otras palabras, el grupo vertical se reduce a A. Así el mapa
de Karnaugh conduce a la expresión final A OR B. Puede que esto no parezca
interesante, pero aplicando este método a un problema más complejo se puede
entender cómo con el mapa de Karnaugh simplificar las funciones lógicas y por ende las
compuertas que las representan.
Veamos ahora un ejemplo para una función compuesta por tres variables:
34
Representemos la Tabla de la Verdad para un sistema de elecciones donde participan
tres votantes y se gana por mayoría simple.
X Y Z f(X,Y,Z)
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 1
0 1 0 0
0 0 1 0
0 0 0 0
Tabla 19.2
Figura 19-2
35
Del mismo modo procederíamos para crear un Mapa de Carnaugh de cuatro y cinco
variables pero, como se indicó al principio del capítulo para más de seis variables se
hace necesario utilizar un software especializado.
20.-Ejercicios de repaso
1. Realizar la función booleana de la siguiente Tabla de la Verdad correspondiente al
operador OR EXCLUSIVO:
X Y X XOR Y
1 1 0
1 0 1
0 1 1
0 0 0
3. Hacer las tablas de la verdad para los operadores NAND y NOR con tres variables.
21.-El Transistor
Principios de Funcionamiento
La palabra Transistor resulta de la unión de las palabras Transferencia y Resistor,
es decir, que un transistor es un dispositivo que transfiere energía de acuerdo con unas
variaciones de resistencia.
La figura 21-1 muestra el esquema de un transistor bipolar tipo NPN (Negativo-
Positivo-Negativo). Cuando a este transistor se le aplica un voltaje entre emisor y base,
con el potencial positivo aplicado al emisor, la resistencia de la unión emisor-base se
eleva considerablemente restringiendo el paso de la corriente. Si la polarización se
realiza al contrario, es decir, el potencial positivo se aplica a la base, el valor de la
resistencia será muy bajo, permitiendo una circulación de corriente proporcional al
valor del voltaje aplicado. Lo mismo ocurre cuando se aplica voltaje entre base y
colector.
36
Figura 21-1
Compuertas Lógicas
La arquitectura de lógica positiva establece el valor binario '1' para presencia de
voltaje y '0' para ausencia de voltaje. De esta manera, cuando en la entrada de un
transistor se tiene '1', en la salida se tiene '0' y cuando en la entrada se tiene '0', en la
salida se tiene '1'. Se ve entonces que un transistor sencillo actúa exactamente como el
operador lógico NOT y su representación puede verse en la figura 21-2.
37
Figura 21-2
Cuando se colocan dos transistores en serie, situación que se presenta en la figura 21-
3, actúan como dos conmutadores en paralelo y las salidas, de acuerdo con las
entradas pueden verse en la Tabla 21-1.
Figura 21-3
VE1 VE2 Vs
0 0 1
0 1 1
1 0 1
1 1 0
Tabla 21.1
38
Compárense estos resultados con los resultados de la Tabla de Verdad del operador
AND, veremos que están totalmente invertidos, o sea, que se trata del operador AND
afectado por un operador NOT. Podemos apreciarlo en la Tabla 21.2.
X Y X AND Y X NAND Y
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
Tabla 21.2
Esta compuerta se conoce como la compuerta NAND, y su representación puede verse
en la Figura 21-4. El pequeño círculo que se dibuja en la salida se llama burbuja de
inversión e indica que el operador que se simboliza es un AND invertido.
Figura 21-4
Para obtener la compuerta AND debe invertirse la salida de la compuerta NAND, lo que
implica conectar un transistor más a la salida, ya que un transistor sencillo implica la
compuerta lógica NOT. Su diagrama esquemático puede verse el la Figura 21-5.
Figura 21-5
39
22.-Circuitos Integrados
En los albores de la electrónica digital basada en semiconductores, se fabricaban los
elementos individuales: diodos, transistores, tiristores, etc., y las compuertas se
construían uniendo varios de estos elementos. Luego comenzaron a construirse las
compuertas completas, y con el paso de los años se llegó a la construcción de módulos
que contienen varias o multitud de compuertas.
Estos módulos compuestos de muchas compuertas es lo que se conoce como circuitos
integrados o chips. Consisten en pastillas rectangulares de cerámica o plástico que
contienen en su interior las compuertas y se comunican con el exterior por medio de
unas filas de patas metálicas, las cuales pueden encontrarse paralelas en dos de sus
bordes o cubrir los cuatro lados. De acuerdo con el grado de integración se conocen las
siguientes clases, las cuales, como se anotó al principio de este curso, corresponden a
una evolución histórica:
Hasta 10 compuertas, SSI.
De 10 a 100 compuertas, MSI.
De 100 a 100.000 compuertas, LSI.
Más de 100.000 compuertas VLSI.
Figura 22-1
En la Figura 22-1 se puede apreciar un circuito integrado que pertenece a la clase SSI,
ya que posee menos de diez componentes. Está compuesto por cuatro compuertas AND
de dos entradas cada una. Cada compuerta tiene una salida.
40
El chip tiene en total 14 patas, pues hay dos adicionales, una se dedica para el voltaje
de referencia Vcc, generalmente de 5 voltios, y la otra para la conexión a tierra. La
muesca que posee la pastilla es sólo para efectos de orientación. Hoy en día existen
chips que poseen millones de componentes.
A B C (A XOR B) AND C
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
Tabla 23-1
41
La función simplificada quedaría así:
f(A,B,C) = (NOT A AND B AND C) OR (A AND NOT B AND C)
El circuito correspondiente puede verse en la Figura 23-1.
Figura 23-1
24.-Circuitos Combinacionales
Un circuito combinacional es aquel en el cual las salidas dependen exclusivamente
del valor de las entradas actuales, es decir, para valores iguales de entrada, las salidas
deben ser siempre las mismas.
Los circuitos combinacionales más utilizados en la arquitectura de computadores
son:
Codificadores:
Estos circuitos se encargan de traducir las entradas en sistema decimal al sistema
Binario.
42
Decodificadores:
Los decodificadores realizan la función contraria a la de los codificadores: al introducirse
los dígitos correspondientes a un número binario, activan en su salida el
correspondiente dígito decimal.
Multiplexores:
Un multiplexor es un dispositivo utilizado en la transmisión de información, cuya
función es lograr utilizar un solo canal para conducir las señales provenientes de varias
fuentes.
Existen fundamentalmente dos técnicas para el diseño de los multiplexores:
Multiplexores por división de frecuencia -FDM-.
Multiplexores por división de tiempo -TDM-.
Los multiplexores por división de frecuencia dividen el ancho de banda asignado al
canal de trasmisión en rangos menores de frecuencia, a través de cada uno de los
cuales se transmite la información proveniente de una sola fuente. Presenta la ventaja
de que pueden hacerse todas las transmisiones simultáneamente, pero está limitado
por la capacidad que permita el ancho de banda.
Los multiplexores por división de tiempo asignan lapsos de tiempo pequeños a cada
canal. Se cuenta con un dispositivo de barrido, el cual recorre cada uno de los
emisores. De este tipo de multiplexores se tienen varias clases, según el tamaño del
tiempo asignado a cada fuente.
TDM por bits.
TDM por bytes.
TDM por bloques.
El TDM por bits transmite un bit por cada turno de canal, el TDM por bytes transmite un
byte por cada turno de canal, y el TDM por bloques transmite un bloque de bytes por
cada turno. Además, de acuerdo con la prioridad que se de a los canales, pueden ser:
TDM igualitario.
TDM ponderado.
TDM estadístico.
43
Demultiplexores:
Los demultiplexores realizan el trabajo inverso de los multiplexores: distribuyen la señal
que llega por un único canal de transmisión entre los computadores receptores
correspondientes.
Conversores de código:
Estos circuitos se utilizan para convertir información representada en un código
determinado, a un código diferente. Generalmente se trata de un acople de un circuito
decodificador del código fuente con un circuito codificador hacia el segundo código
objeto.
Circuitos aritméticos:
Una de las principales funciones de un computador son las operaciones aritméticas y
casi todas ellas están construidas con base en las sumas sencillas de unos y ceros.
La siguiente Tabla de la Verdad muestra la suma de dos bits y la figura 24-1 el circuito
lógico que la realiza.
Este circuito se llama semisumador, ya que no serviría para sumar cantidades de varios
dígitos, pues no tiene en cuenta el acarreo que produce la suma de los bits de la
derecha. Para ello se necesita un sumador completo.
X Y SUMA ACARREO
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabla 24-1
44
Figura 24-1
Comparadores:
Son circuitos que indican si dos entradas son iguales o diferentes.
Desplazadores:
Son circuitos que corren los bits una posición hacia la izquierda o hacia la derecha,
según lo pida una señal de entrada.
Una aplicación sencilla de este circuito sería una multiplicación rápida por dos
(desplazamiento de un bit a la izquierda), o una división rápida por dos
(desplazamiento de un bit a la derecha.
25.-Circuitos Secuenciales
A diferencia de los circuitos combinacionales, en los circuitos secuenciales los valores
de la salida no sólo dependen de las entradas presentes, sino de valores que hubieran
tenido las entradas en un estado anterior. Estos circuitos son muy útiles en la
construcción de las memorias. La base para la construcción de circuitos secuenciales
son los Flip-Flop o biestables.
Biestables:
Son circuitos que recuerdan sus valores de entrada en un estado anterior. En la figura
25-1 se representa el circuito de un biestable simple, de un bit.
45
Figura 25-1
Las salidas Q y NOT Q son complementarias, es decir, cuando una de ellas está en 1 la
otra estará en 0 y viceversa. Las entradas son S (Set) y R (Reset). La entrada S sirve
para poner la salida Q en 1 y la entrada R pone la salida en 0. Cuando se ha activado
un 1 en la salida, puede cambiarse el valor de S a 0 y aún así se mantendrá la salida,
es decir, se recuerda el estado anterior de S. La única forma de cambiar el valor de la
salida será poniendo un 1 en R, es decir, reseteando.
Supóngase que las entradas R y S se encuentran inicialmente en 0, las salidas Q y NOT
Q son indeterminadas. Ambas salidas en 1 se llama estado prohibido y no debe usarse.
Si la entrada S se pone en 1, el estado del Flip-Flop se pone en 1 (El estado del Flip-
Flop está determinado por el valor de Q) y este estado se mantiene así, S adquiere el
valor de 0. La única manera de cambiar el estado del Flip-Flop a 0 es mediante la
activación de la entrada R y este nuevo valor se mantendrá, aún,cuando se cambie el
valor de R a 0. De todo esto se puede concluir que el biestable siempre recuerda si la
última entrada que estuvo en 1 fue R o S y constituye una memoria de 1 bit. La figura
25-2 muestra su símbolo lógico.
Figura 25-2
A los biestables se les puede poner una entrada adicional o señal de reloj para
condicionar su cambio de estado a la presencia o no del pulso del reloj. Se puede
apreciar el circuito correspondiente en la figura 25-3.
46
Figura 25-3
Figura 25-4
Registros:
Los biestables de un bit pueden agruparse en bloques de ocho para construir memorias
de un byte o registros. Se unen las entradas de reloj, para así lograr un sincronismo
perfecto en el funcionamiento de los ocho bits.
Contadores:
Generalmente los contadores se fabrican conectando varios Flip-Flop entre sí. Estos se
pueden obtener como circuitos integrados completos.
47
Podemos ver el diagrama lógico de un contador en la figura 25-5. Este contador
construido a base de Flip-Flop tipo T, los cuales conmutan su salida cada vez que se
presenta un 1 en su entrada, muestra la cuenta en la salida en forma binaria.
En el estado inicial, las salidas Q0, Q1, Q2 y Q3 se encuentran en 0, 0, 0 y 0
respectivamente. Cuando se recibe el primer impulso, las salidas quedarían de la
siguiente manera: 1, 0, 0 y 0 respectivamente. Al recibir el segundo impulso, las
salidas serán: 0, 1, 0 y 0. Esta situación se repetirá hasta que el número máximo que
se puede representar con cuatro salidas: 1, 1, 1, y 1, es decir, 15 decimal.
Figura 25-5
48
Figura 26-1
49
Figura 27-1
50
Registro de Direcciones de memoria. Su función es guardar las direcciones
donde se va a escribir o de donde se van a leer los datos. Su contenido está
siempre disponible en la salida, sobre el bus de direcciones.
Registro de Instrucción. Su función es guardar la instrucción actual.
Registro Contador. Su función es guardar la dirección de la instrucción que se
va a ejecutar a continuación. Cuando se ejecute esta instrucción, el contenido del
registro contador se graba con la dirección de la instrucción que queda en turno
para ejecución.
51
Figura 28-1
52
generalmente es entregado al acumulador. Las instrucciones más utilizadas de este tipo
son:
Suma (SUM): se toma un dato de una posición de memoria y se adiciona el
contenido al acumulador. El resultado queda en el propio acumulador.
Resta (RES): esta operación realmente se ejecuta como una suma, donde el
sustraendo es representado en su forma de complemento a dos, lo cual consiste
en invertir todos los bits de la cantidad (los unos se reemplazan por ceros y los
ceros por unos) y luego sumarle uno al resultado.
Producto (MUL): el producto se ejecuta como una sucesión de sumas. El
contenido del acumulador es multiplicado por el contenido de una dirección de
memoria. El resultado se deposita en el acumulador.
División (DIV): También la división es ejecutada con base en la operación suma.
Es un caso especial del producto.
And (AND): es el producto booleano entre un bit de una dirección de memoria y
un bit recogido del acumulador. El resultado se deja en el acumulador.
Or (OR): es la suma booleana entre un bit de una posición de memoria y el bit
que se encuentra en el acumulador. El resultado se deja en el acumulador.
Instrucciones Especiales:
Pertenecen a estas instrucciones todas las que son propias de cada arquitectura
específica de computador o las que realizan tareas especiales diferentes a las
anteriores. Algunas son:
Instrucción de detener la ejecución. Suspende el funcionamiento del
computador hasta que un operador lo reinicie.
Instrucción de intercambio de bits. Intercambia el contenido del acumulador y
una posición de memoria.
53
Funcionamiento Detallado de un Computador:
Para que se ejecute una instrucción es necesario cumplir una secuencia que se
desarrolla en los siguientes pasos:
Búsqueda de la instrucción. Se trae de memoria la próxima instrucción por ser
ejecutada y se pone en el registro de instrucción.
Incremento inmediato del valor del contador. Para saber cuál es la siguiente
instrucción que debe ejecutarse.
Ejecución de las instrucción. Se generan los comandos necesarios para llevar a
cabo su ejecución.
Búsqueda de datos en memoria. Este paso sólo se ejecuta cuando la
instrucción involucra operaciones con datos de memoria.
30.-Ejercicio de repaso
Analizar el caso de dos transistores en paralelo. Hacer la Tabla de la Verdad. ¿Cómo se
llamaría esta compuerta?
31.-Guía de Prácticas
Para armar experimentalmente circuitos electrónicos previamente diseñados es muy útil
el protoboard, ya que permite incorporar los elementos de una manera modular y
provisional, pues no se utilizan soldaduras para sujetarlos y por lo tanto son fácilmente
removibles. Cuando un circuito está plenamente probado y se está seguro de que
satisface los requerimientos puede montarse definitivamente sobre una tableta de
circuito impreso.
54
El canal central separador tiene una distancia igual a la de los circuitos integrados para
que aquellos puedan ponerse allí justamente. Los buses colocados en la parte externa
tienen como función conectar las líneas de alimentación.
Como puede verse, un protoboard es una herramienta asombrosamente fácil de utilizar,
lo único que se necesita es familiarizarse con él para no cometer errores, teniendo
algunos cuidados elementales.
Figura 31-1
Figura 31-2
55
Figura 31-3
56
Figura 31-4
32.-Práctica de Ejemplo
Como práctica de ejemplo ensamblaremos y estudiaremos el comportamiento del
circuito de la Figura 23-1, correspondiente a la función f(A,B,C) = (A XOR B) AND C.
La Figura 32-1 muestra el circuito completo para el ensamble:
57
Figura 32-1
Componentes necesarios:
Protoboard WISHBOARD WB-102.
1 Circuito Integrado TTL 7404.
1 Circuito Integrado TTL 7411.
1 Circuito Integrado TTL 7432.
1 Batería 5V.
1 Diodo LED.
1 Resistencia 120 Ohm.
1 Banco de conmutadores DISPSWITCH 8-435668-5.
1 Set de Jumpers.
58
Figura 32-2
Ensamble:
Se necesitan dos (2) compuertas NOT, las cuales las proporciona el circuito integrado
TTL 7404, las dos compuertas AND de tres entradas se toman del circuito integrado TTL
7411 y la compuerta OR, del circuito integrado TTL 7432.
Se conecta el terminal positivo de la batería al primer bus superior del protoboard y el
terminal negativo al bloque No. 1 de la parte superior. Se conecta entre este mismo
bloque y el segundo bus de la parte superior la resistencia de 120 Ohm. Se utiliza la
canal central para acomodar los integrados. Con los jumpers se conectan los terminales
de los componentes de tal manera que se arme el circuito de la figura.
La salida de la compuerta OR se conecta a la entrada del LED. La salida del LED debe ir
al segundo bus superior para cerrar el circuito, a través de la resistencia, con el borne
negativo de la batería. Las entradas A, B y C deben partir del primer bus superior, es
decir, deben estar conectadas al borne positivo de la batería, cada una a través de uno
de los interruptores del banco de conmutación.
59
Estudio del comportamiento del circuito:
Se procede de acuerdo con las entradas A, B y C de la Tabla de la Verdad mostrada en
la Tabla 23-1. Se bebe probar fila por fila, cerrando el switch de cada variable que
aparezca en 1. El LED de la salida debe encenderse cada vez que la salida valga 1 y
permanecer apagado cuando la salida marca 0. El video 32-2 muestra paso a paso el
comportamiento del circuito que nos ocupa.
Video 32-2. http://www.aulafacil.com/uploads/cursos/5082/14670.ogv
33.-Práctica 1: Codificador
La figura 33-1 presenta el circuito de un codificador decimal a binario. Al cerra el switch
correspondiente a un dígito decimal, en la salida se refleja el código binario
representado por las combinaciones de unos y ceros correspondientes a su
representación binaria.
60
Figura 33-1
34.-Práctica 2: Decodificador
La Figura 34-1 representa el circuito de un decodificador binario a octal. Al introducirse
los dígitos correspondientes a un número binario se activa en su salida el
correspondiente dígito octal.
61
Figura 34-1
35.-Práctica 3: Multiplexor
La figura 35-1 muestra el circuito lógico de un multiplexor de cuatro canales; el cual
utiliza cuatro compuertas AND, dos compuertas NOT y tres compuertas OR.
Esta parte del circuito se encarga solamente del encaminamiento de cada uno de los
canales emisores hacia el canal de transmisión. Como se ve es independiente del
dispositivo de barrido o selector, el cual se encarga de asignar los tiempos.
Este dispositivo inicia su recorrido en el canal de emisión No. 1 y avanza hacia el 2 y así
sucesivamente hasta el último canal, después de lo cual vuelve a servir al primer canal.
62
Ensamblar y estudiar el comportamiento de un multiplexor de cuatro canales. Los
switches (4) deben intercalarse entre las salidas y las entradas de las dos compuertas
NOT, para así poder simular el canal que se va a escoger (00, 01, 10, 11).
Componentes necesarios:
Protoboard WISHBOARD WB-102.
2 Circuitos Integrados TTL 7411.
1 Circuito Integrado TTL 7432.
1 Circuito Integrado TTL 7404.
1 Batería 5 V.
1 Diodo LED.
1 Resistencia 120 Ohm.
1 Banco de Conmutadores DISPSWITCH 8-435668-5.
1 Set de Jumpers.
Figura 35-1
36.-Práctica 4: Demultiplexor
La Figura 36-1 representa el circuito lógico de un demultiplexor de cuatro canales de
salida.
63
Ensamblar y estudiar su comportamiento:
Componentes necesarios:
Figura 36-1
64
37.-Práctica 5: Sumador
La figura 37-1 representa el circuito de un sumador completo de dos bits.
Figura 37-1
38.-Práctica 6: Desplazador
La Figura 38-1 representa el circuito lógico de un desplazador de 1 bit.
65
1 Circuito Integrado TTL 7432.
2 Circuitos Integrados TTL 7408.
1 Circuito Integrado TTL 7404.
1 Batería de 5 V.
5 diodos LED.
1 Resistencia de 120 Ohm.
1 Banco de Conmutadores DISPSWITCH 8-435668-5.
Figura 38-1
66
39.-Práctica 7: Flip-Flop
La figura 39.1 se representa el circuito lógico de un biestable simple, de un bit.
Figura 39-1
40.-Ejercicios de repaso
Diseñe o investigue por Internet el circuito para un conversor de códigos. Ensámblelo y
realice el estudio de su comportamiento.
Diseñe o investigue por Internet el circuito para un Demultiplexor. Ensámblelo y realice el
estudio de su comportamiento.
Diseñe o investigue por Internet el circuito para un comparador de dos bytes. Ensámblelo
y realice el estudio de su comportamiento.
Diseñe o investigue por Internet el circuito para un Contador. Ensámblelo y realice el
estudio de su comportamiento.
67