apuntes electronica digital

124
G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 1 CAPÍTULO 1 1.1. SISTEMAS DE NUMERACIÓN Y CÓDIGOS BINARIOS Un sistema de numeración se define como un conjunto de símbolos y reglas que se utilizan para representar cantidades. Se denomina base al número de símbolos presentes en dicho conjunto. La representación de las cantidades se efectúa por medio de cadenas de símbolos. Cada uno de ellos posee un significado que depende del símbolo en sí y de la posición que ocupa dentro de la cadena. A este tipo de sistemas de numeración se les denomina posicionales, frente a los no posicionales como puede ser el sistema de numeración romano. Los distintos sistemas de numeración posicionales se basan en los mismos principios por los que la representación de una cantidad se efectúa siguiendo el Teorema Fundamental de la Numeración: “En un sistema de numeración posicional de base b, una cantidad N cualquiera puede representarse mediante una suma de potencias de la base, multiplicadas por un símbolo perteneciente al sistema de numeración.” Lo anterior equivale a decir que la cantidad N representada por la yuxtaposición de símbolos a n a 1 n a 2 n …a 1 a 0 …a m en base b se puede escribir como: N = a n b n + a 1 n b 1 n +…+ a i b i +…+ a 1 b + a 0 b 0 + a 1 b 1 + a 2 b 2 +…+ a m b m 1.1.1. Sistemas de numeración más comunes Sistema decimal Se trata del sistema de numeración que le es más familiar al ser humano. Su base es 10 y utiliza los símbolos {0,1,2,3,4,5,6,7,8,9}. Ejemplo: la cantidad 1865.352 10 se puede escribir como: 1865.352 10 = (1·10 3 + 8·10 2 + 6·10 1 + 5·10 0 + 3·10 -1 + 5·10 -2 + 2·10 -3 ) 10 REPRESENTACIÓN DE LA INFORMACIÓN

Upload: kurosawa76

Post on 25-Dec-2015

25 views

Category:

Documents


2 download

DESCRIPTION

Apuntes de electronica

TRANSCRIPT

Page 1: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 1

CAPÍTULO 1

1.1. SISTEMAS DE NUMERACIÓN Y CÓDIGOS BINARIOS Un sistema de numeración se define como un conjunto de símbolos y reglas que se utilizan

para representar cantidades. Se denomina base al número de símbolos presentes en dicho conjunto.

La representación de las cantidades se efectúa por medio de cadenas de símbolos. Cada

uno de ellos posee un significado que depende del símbolo en sí y de la posición que ocupa dentro de la cadena. A este tipo de sistemas de numeración se les denomina posicionales, frente a los no posicionales como puede ser el sistema de numeración romano.

Los distintos sistemas de numeración posicionales se basan en los mismos principios por

los que la representación de una cantidad se efectúa siguiendo el Teorema Fundamental de la Numeración:

“En un sistema de numeración posicional de base b, una cantidad N cualquiera puede

representarse mediante una suma de potencias de la base, multiplicadas por un símbolo perteneciente al sistema de numeración.”

Lo anterior equivale a decir que la cantidad N representada por la yuxtaposición de

símbolos a n a 1n a 2n …a 1 a 0 …a m en base b se puede escribir como:

N = a n ·bn

+ a 1n ·b1n+…+ a i ·b

i+…+ a 1 ·b + a 0 ·b

0+ a 1 ·b

1+ a 2 ·b

2+…+ a m ·b

m

1.1.1. Sistemas de numeración más comunes Sistema decimal

Se trata del sistema de numeración que le es más familiar al ser humano. Su base es 10 y

utiliza los símbolos {0,1,2,3,4,5,6,7,8,9}.

Ejemplo: la cantidad 1865.35210 se puede escribir como:

1865.35210 = (1·103 + 8·10

2 + 6·10

1 + 5·10

0 + 3·10

-1 + 5·10

-2 + 2·10

-3)10

REPRESENTACIÓN DE LA INFORMACIÓN

Page 2: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 2

Sistema binario

Es el único utilizado por los sistemas digitales. Su base es 2 y utiliza sólo dos símbolos: {0,1}. A este sistema también se le conoce como Sistema Binario Natural (SBN).

Ejemplo: el número 1101.112 se puede escribir como:

1101.112 = (1·23+ 1·2

2 + 0·2

1 + 1·2

0 + 1·2

1 + 1·2

2) 10 = 13.75 10

Cada dígito de un número representado en binario se le denomina bit, palabra formada de

la contracción de los términos en inglés binary digit. En un número binario se define:

LSB (Least Significant Bit): bit menos significativo, conocido como el bit de menos peso.

MSB (Most Significant Bit): bit más significativo, conocido como el bit de más peso.

Ejemplo:

1 0 1 1 0 1

Es frecuente el uso de los siguientes múltiplos del bit:

4 bits, cuarteto o nibble (ejemplo, 1001).

8 bits, octeto o byte (ejemplo, 11001101).

1024 bytes u 8192 bits forman un kilobyte, KB o simplemente K.

1024 kilobytes forman un megabyte, MB, o simplemente M (1.048.576 bytes).

1024 megabytes forman un gigabyte, GB, o simplemente G (1.073.741.824 bytes). Sistema octal

Es un sistema de numeración cuya base es 8 y que utiliza los símbolos {0,1,2,3,4,5,6,7}

para la representación de cantidades. Cada cifra octal equivale a tres dígitos en binario según la tabla 1.1.

Octal Binario 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111

Tabla. 1.1 Sistema hexadecimal

Es un sistema de numeración cuya base es 16 y que utiliza los símbolos:

{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} para la representación de cantidades.

MSB LSB

Page 3: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 3

Cada cifra hexadecimal equivale a cuatro dígitos en binario según la tabla 1.2.

Hexadecimal Binario

0 1 2 3 4 5 6 7 8 9 A B C D E F

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

Tabla. 1.2

1.1.2. Conversiones de unos sistemas de numeración a otros Binario a decimal

Para pasar un número del sistema binario al decimal, se aplica el Teorema Fundamental de

la Numeración, operado en base 10.

Ejemplo: el número 11011.1012 en el sistema decimal será:

11011.1012 = (1·24 + 1·2

3 + 0·2

2 + 1·2

1 + 1·2

0 + 1·2

-1 + 0·2

-2 + 1·2

-3 ) 10=

= ( 16+ 8 + 0 + 2 + 1 + 0.5+ 0 + 0.125) 10 = 27.62510

Decimal a binario

La conversión de un número del sistema decimal al binario generalmente se realiza en dos

pasos:

La parte entera se divide por 2 y el resto es el bit menos significativo del número binario. El cociente se divide por 2, de nuevo, obteniendo en el resto el bit inmediatamente más significativo que el anterior. Repitiendo el proceso se llega hasta obtener un cociente nulo. El resto de esta última división es el bit más significativo.

La parte fraccionaria se multiplica por 2 y la parte entera resultante será el bit más significativo. Se repite la multiplicación con la parte fraccionaria resultante de la operación anterior, obteniendo así el bit inmediatamente más significativo. Repitiendo el proceso se llega finalmente a una parte fraccionaria nula, salvo que la representación de la cantidad en binario sea un número periódico de período no nulo.

Page 4: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 4

Ejemplo: pasar del sistema decimal al sistema binario el número 87.375.

Parte Entera Parte Fraccionaria

87 2

1 43 2 0,375 2 = 0.75

1 21 2 0,75 2 = 1.5

1 10 2 0,5 2 = 1

0 5 2

1 2 2

0 1 2

1 0

87.375 10 = = 1010111.011 2

Otra opción muy utilizada para la conversión de decimal a binario consiste en ir restando del número decimal, a convertir, las sucesivas potencias de 2 que sea posible, empezando por la mayor, hasta agotar la cantidad a convertir. Posición Potencia de 2 Posición Potencia de 2 6 64 0 1 5 32 –1 0.5 4 16 –2 0.25 3 8 –3 0.125 2 4 –4 0.0625 1 2 -5 0.03125

Ejemplo: pasar del sistema decimal al sistema binario el número 37.5625 10 .

37.5625 10 = 100101.1001 2

Octal a binario

Teniendo en cuenta la tabla 1.1, se sustituye cada cifra del número representado en el

sistema octal por su equivalente binario.

Ejemplo: pasar del sistema octal al sistema binario el número 6517.158.

6517.158 = 110 101 001 111. 001 101 =110101001111.0011012

Binario a octal

Para pasar del sistema binario al octal, se separan las cifras del número representado en el

sistema binario de tres en tres, a ambos lados de la coma decimal { . }. Se sustituyen por

su cifra equivalente en el sistema octal con arreglo a la tabla 1.1.

Ejemplo: pasar del sistema binario al octal el número:

10110100011.00112 = 010 110 100 011. 001 100 = 2643.148

Page 5: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 5

Decimal a octal Para convertir un número expresado en el sistema decimal al octal el método utilizado es el

de las divisiones sucesivas por 8 para la parte entera y multiplicaciones sucesivas por 8 para la parte fraccionaria (similar a la conversión decimal-binario)

Ejemplo: convertir el número decimal 3254.140625 10 a octal:

Parte Entera Parte Fraccionaria

3254 8 0,140625 8 =1.125

6 406 8 0,125 8 =1.00

6 50 8

2 6 8

6 0

3254.140625 10 = 6266.11 8

Octal a decimal

Para convertir un número expresado en el sistema octal al decimal se aplica el teorema

fundamental de la numeración, tanto para la parte entera como para la parte fraccionaria.

Ejemplo: convertir el número octal 765.1 a decimal.

765.1 8 = 7·82

+6·81 + 5·8

0 +1·8

1 = 448 + 48 + 5 + 0.125 = 501.125 10

Binario a hexadecimal

Para pasar del sistema binario al hexadecimal basta recordar la tabla 1.2. Así, se separan

las cifras del número representado en el sistema binario de cuatro en cuatro, a ambos lados de la coma decimal { . } y se sustituye cada grupo de cuatro dígitos binarios por su

equivalente hexadecimal.

Ejemplo: convertir el número binario 1011010.001 a hexadecimal.

Binario 0101 1010 . 0010 Hexadecimal 5 A . 2

Hexadecimal a binario

Para convertir un número expresado en el sistema hexadecimal al sistema binario se

sustituye cada cifra del número expresado en hexadecimal por su equivalente en binario, según la tabla 1.2.

Ejemplo: convertir el número hexadecimal 18E.F a binario.

Hexadecimal 1 8 E . F Binario 0001 1000 1110 . 1111

Decimal a hexadecimal

Para pasar un número del sistema decimal al hexadecimal el método utilizado, al igual que

los anteriores, es el de las divisiones sucesivas por 16 para la parte entera y multiplicaciones sucesivas por 16 para la parte fraccionaria.

Page 6: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 6

Ejemplo: convertir el número decimal 3561.546845 a hexadecimal.

Parte Entera Parte Fraccionaria

3561 16 0,546845 16 = 8.74952

9 222 16 0,74952 16 = 11.99232

14 13 16 0,99232 16 = 15.87712

13 0 0,87712 16 = 14.03392

3561.546845 10 = DE9. 8BFE 16

Hexadecimal a decimal

Para convertir del sistema hexadecimal al decimal se aplica el teorema fundamental de la

numeración, tanto para la parte entera como para la parte fraccionaria.

Ejemplo: convertir el número hexadecimal 2B7.5 a decimal.

2B7.5 16 = 2 · 162

+ B · 161 + 7 · 16

0 + 5 · 16

1 = 2 · 16

2+ 11 · 16

1+ 7 · 16

0 +5 · 16

1 =

= 512 + 176 + 7 + 0,3125 = 695.3125 10

1.1.3. Códigos binarios Los códigos se utilizan para representar símbolos. Un código binario consiste en la

asociación de cada símbolo representado a una determinada combinación de bits. En un código que utilice n bits, el número máximo de combinaciones que se puede

construir es de 2n, siendo este el mayor número de símbolos que pueden ser representados,

lógicamente. Los códigos binarios de cuatro dígitos más usuales son:

Sistema binario natural (SBN): se trata del propio sistema binario de numeración. Representa los números naturales en binario.

Código BCD natural (decimal codificado en binario): cada dígito del sistema decimal se codifica utilizando cuatro bits del sistema binario.

Código BCD exceso-3: se genera a partir del BCD natural sumando 3 a cada uno de sus valores binarios. Es un código simétrico.

Código Gray: es un código continuo, en el que dos números consecutivos difieren sólo en un bit.

Código Aiken: en este código cada cifra es el complemento a 9 de su cifra simétrica cambiando todos sus dígitos. Es un código muy utilizado para operaciones de resta y división.

Decimal Binario natural BCD natural BCD exceso-3 Gray BCD Aiken

0 0 0000 0011 0000 0000 1 1 0001 0100 0001 0001 2 10 0010 0101 0011 0010 3 11 0011 0110 0010 0011 4 100 0100 0111 0110 0100 5 101 0101 1000 0111 1011 6 110 0110 1001 0101 1100 7 111 0111 1010 0100 1101 8 1000 1000 1011 1100 1110 9 1001 1001 1100 1101 1111

Page 7: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 7

Ejemplo: el número 326 representado en los códigos reseñados sería:

-Binario natural…… ......... 11 0010 0110

-BCD natural……. ....... 0011 0010 0110

-Gray ......... …………….0010 0011 0101 -BCD exceso-3 ....... …..0110 0101 1001 -BCD Aiken…………….0011 0010 1100

1.2. ARITMÉTICA BINARIA En un ordenador se procesa internamente la información utilizando únicamente dígitos

binarios. A continuación se van a exponer la adición, sustracción, multiplicación y división en el sistema binario. Suma

Es similar a la suma en el sistema decimal utilizando únicamente dos símbolos (0 y 1) y

cuando el resultado de la suma excede de la base se genera un acarreo que se añade a la suma parcial siguiente. Tabla de sumar para el cero Tabla de sumar para el uno

0+0=0 1+0=1 0+1=1 1+1=0 (se acarrea 1 a la izquierda.)

Ejemplo: realizar la siguiente suma.

1

1 1 0 1. 0 0

+ 1 0 0 1. 0 1

1 0 1 1 0. 0 1

acarreo Resta

En la resta, al igual que en el sistema decimal, existirá un minuendo y un sustraendo. Si

el dígito del sustraendo fuera mayor que el dígito del minuendo, existiría un acarreo, que se sumaría a la resta parcial siguiente. El acarreo producido en la primera resta “1” lo llevamos hasta el bit del sustraendo más próximo a la izquierda. El segundo paso a realizar sería una resta parcial con el bit del acarreo y el bit del minuendo (de arriba hacia abajo). Al resultado se le resta al sustraendo obteniendo la solución. Tabla de restar para el cero Tabla de restar para el uno

0-0=0 1-0=1 0-1=1 (se acarrea 1 a la 1-1=0 izquierda)

Page 8: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 8

Ejemplo: restar los siguientes números en binario. 1 1 0 1 0 1 1 0 1 1 1 1 } Acarreo - 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1

Multiplicación

Es similar a la multiplicación en el sistema decimal. Se utiliza la siguiente tabla:

Tabla de multiplicar para el cero Tabla de multiplicar para el uno 0 0=0 1 0=0 0 1=0 1 1=1

Se realiza la multiplicación de los números en binario realizando la suma de los productos de cada dígito del multiplicador por el multiplicando, adecuadamente desplazados a la izquierda

En el caso de números con parte decimal se desplaza la coma a la izquierda tantos

lugares como dígitos decimales tengan los dos factores.

Ejemplo: multiplicar los siguientes números en binario. 1 1 0.0 0 1 1 0.0 0 1 0 0.0 1 1 0 0.0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1.1 0 0 0 = 11001.1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1.1 0 0 0 = 11001.1

División

La metodología de la división es similar a la utilizada en la decimal. Utilizando las tablas de

multiplicación y de la suma en binario se realiza la división.

Ejemplo: dividir los siguientes números en binario. 1 1 0 1 1 1 101 1 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0

En el caso de divisiones con parte decimal se puede desplazar la coma a la derecha en el

dividendo tantas veces como lo hagamos en el divisor. Cualquiera que sea el sistema de numeración empleado, el resultado de una operación

concreta ha de ser el mismo, evidentemente.

Page 9: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 9

1.3. REPRESENTACIÓN DE NÚMEROS EN LOS SISTEMAS DIGITALES

Los sistemas digitales manejan datos binarios almacenados en registros y posiciones de memoria de longitud finita. Esta limitación, unida a la necesidad de operar con números negativos requiere otras representaciones para los números enteros: son los llamados formatos de coma fija. Sin embargo, los números racionales con parte fraccionaria no nula no pueden representarse utilizando estos formatos. Para este tipo de números, se recurre a la representación en formato de coma flotante, el cual permite un rango de representación de números racionales mayor que el de coma fija. Se entiende por rango de representación de un formato como el conjunto de números que pueden representarse con el formato en cuestión.

1.3.1. Formatos habituales de representación en coma fija

Los formatos en coma fija más habituales son los siguientes:

Módulo y signo (MS)

Exceso 21N.

Complemento a 1 (C1)

Complemento a 2 (C2)

El numero de dígitos N lo consideramos N=8 salvo indicación en contra, a fin de ejemplificar cada uno de los anteriores formatos. Módulo y signo (MS)

En esta representación se considera el bit situado más a la izquierda (MSB) como el bit de

signo, siendo su valor igual a 0 para el signo positivo y 1 para el signo negativo. El resto de bits (N-1) serían los correspondientes al módulo.

Ejemplo: Numero 12 0 0001100

Numero -12 1 0001100

signo módulo

En el caso del formato MS, el rango de representación sería:

-(21N-1) = -2

1N+1 x 2

1N-1

-Para 8 bits sería: -127 x 127

-Para 16 bits sería: -32767 x 32767

-Para 32 bits sería: -2147483647 x 2147483647

Este formato tiene la ventaja de poseer un rango simétrico así como la desventaja de poseer dos representaciones para el cero: Cero(+) 00000000

Cero(-) 10000000

Exceso 21N

Este formato no utiliza bit para el signo, sino que representa en el sistema binario de

numeración (SBN) la suma del número a representar más el exceso, que para N bits viene

dado por 21N. Así, para N= 8 bits el exceso será 128.

Page 10: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 10

Ejemplo: el número 12 vendrá representado por la siguiente suma, expresada en binario: 12+128=140, y para el número -12 tendremos -12+128=116. Así sus representaciones serían (para N=8): Número 12 10001100 (140 en binario)

Número –12 01110100 (116 en binario)

Su rango de representación por lo tanto es:

-21N

x 21N-1

-Para 8 bits sería: -128 x 127

-Para 16 bits sería: -32768 x 32767

-Para 32 bits sería: -2147483648 x 2147483647

Su mayor inconveniente es su rango asimétrico de representación.

El formato en exceso 21Nposee la ventaja de tener una única representación para el cero,

que para N=8 bits es igual a 10000000.

Complemento a 1 (C1) Este formato utiliza para la representación del signo el bit situado más a la izquierda,

correspondiendo el 0 para el positivo y el 1 para el negativo. El módulo se representa con los N-1 bits de la derecha. Éste es un formato muy utilizado pues se pueden realizar restas mediante sumas, empleando así los mismos circuitos sumadores tanto para la adición como para la sustracción.

La representación de un número negativo se obtiene complementando todos sus dígitos, incluido el bit de signo, esto es, cambiando ceros por unos y unos por ceros.

En C1 los números se suman igual que en binario, aunque si en la suma aparece un acarreo final, éste se suma al resultado.

Ejemplo: 12 0 0001100

-12 1 1110011

El rango de representación de este formato es igual a:

-21N+1 x 2

1N-1

-Para 8 bits sería: -127 x 127

-Para 16 bits sería: -32767 x 32767

-Para 32 bits sería: -2147483647 x 2147483647

Este formato posee la ventaja de tener un rango simétrico y la desventaja de presentar dos representaciones para el cero. Cero (+) 00000000

Cero (-) 11111111

Complemento a 2 (C2)

Al igual que ocurre con el formato de complemento a 1, éste es un formato de coma fija

muy utilizado porque se pueden realizar restas mediante sumas, empleando así los mismos circuitos sumadores tanto para la adición como para la sustracción.

Page 11: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 11

El complemento a 2 utiliza para la representación del signo el bit situado más a la izquierda, correspondiendo el 0 para el positivo y el 1 para el negativo. El módulo comprende los N-1 bits de la derecha.

Los números negativos se obtienen complementando (cambiando ceros por unos y

viceversa) todos los bits del número positivo, incluido el bit de signo, y después sumándole 1 al resultado (se desprecia el último acarreo, si apareciese).

Ejemplo: obtener la representación en complemento a 2 del número –12.

Número 12 00001100

1er

paso 11110011

Número -12

2º paso 11110011

+ 1

BS 11110100

Rango de representación:

-21N

x 21N-1

Ejemplo:

-Para 8 bits sería: -128 x 127

-Para 16 bits sería: -32768 x 32767

-Para 32 bits sería: -2147483648 x 2147483647

Presenta la ventaja de representar de una sola representación el cero y la desventaja de poseer un rango asimétrico. Cero (+) 00000000

Cero (-) 11111111

+ 1

El acarreo se ignora 1 0000000

A continuación se verá un ejemplo ilustrativo de utilización del formato en complemento a 1

y complemento a 2

Ejemplo: realizar las operaciones a+b y a-c en complemento a 1 y complemento a 2, siendo:

a=12 00001100

b=10 00001010

c= 3 00000011

Complemento a 1

a+b

00001100 Si hubiese habido acarreo + 00001010 se habría sumado al resultado 00010110

a-c = a + (-c)

a= 00001100 -c= 11111100

Page 12: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 12

00001100 +11111100

1 00001000

+ 1 Se suma el acarreo.

00001001 Complemento a 2

a+b

00001100 + 00001010 00010110 Si hubiese habido acarreo,

se habría ignorado.

a-c = a + (-c)

-c=11111101 00001100 +11111101

1 00001001

Se ignora el acarreo. Si en complemento a 1 y en complemento a 2 se suman dos cantidades de distinto signo,

el signo del resultado es igual al signo del número de mayor módulo. Si al sumar dos cantidades del mismo signo el signo del resultado es distinto del de los dos

números, se ha producido desbordamiento (overflow, en inglés). Ejemplo: Sean a= 96, b=30, c=40, realícense las operaciones a-b y -a-c utilizando el

complemento a 2.

a-b

01100000 11100010

Se ignora el acarreo 1 01000010

-a-c= -a + (-c)

10100000 11011000

Se ignora el acarreo 1 01111000

BS El bit de signo (BS) del resultado es distinto del de los dos números a sumar. El resultado

no se puede representar con N= 8 bits y se dice que ha ocurrido un desbordamiento.

1.3.2. Formatos habituales de representación en coma flotante

Page 13: Apuntes Electronica Digital

El bit de signo (BS) del resultado es distinto del de los dos números a sumar. El resultado no se puede representar con N= 8 bits y se dice que ha ocurrido un desbordamiento. 1.3.2. Formatos habituales de representación en coma flotante La representación en formato de coma flotante permite un rango de representación de números racionales mayor que el de coma fija, y permite la representación de números con parte fraccionaria no nula. Cualquier número puede representarse en cualquier sistema de numeración mediante la notación científica como:

Page 14: Apuntes Electronica Digital

Nº = (s) · mb be (s)= signo; mb = mantisa; b = base; e = exponente Ejemplo: la notación científica de 17.8210 será: 17.8210 = 1782 · 10-2

10 = 1.782 · 1010 = 0.1782 · 10210

En el formato de coma flotante unos bit están dedicados: A representar la mantisa Otros al exponente Un bit de signo (0 para positivo y 1 para el signo negativo)

Existe un formato de coma flotante al que se denomina de simple precisión, y de doble precisión.

Page 15: Apuntes Electronica Digital

FORMATO EN COMA FLOTANTE IEEE 754

N(b = s m(b ⋅ bE N(b: número en base b; s: signo; m(b: mantisa en base b bE: base elevada al exponente

La mantisa aparece como parte fraccionaria normalizada 110.01(2 = 1.1001·1010 (2 = 1.1001·22

EL exponente se representa en exceso de 2e-1-1 y no se representa tal cual: se utiliza la característica (c) que se obtiene sumando al exponente el valor C = 2e-1 -1

c = C + E N = (-1) s · 1.m ⋅ 2c-C

Se almacena el valor formado por s c m

Page 16: Apuntes Electronica Digital

FORMATO n ns nm nc c

Simple precisión 32 1 23 8 127

Doble precisión 64 1 52 11 1023

Alta precisión 80 1 64 15 16383

FORMATOS IEEE 754: 32, 64 y 80 bits.

Ejemplo: 101110,0101011101000011111000011111000100112 convertir al estándar IEEE 754 con precisión simple.

Normalizarlo, 1,011100101011101000011111000011111000100112 x 25 El exponente (Exceso a 2n-1-1) será: 510 + (28-1 - 1)10 = 510 + (27 - 1)10 = 510 + (128 - 1)10 = 13210 =

10000100EX. a127

Page 17: Apuntes Electronica Digital

En la mantisa se cogen los bits 23 bits más significativos: 1,0111001010111000000111

cuando la mantisa se normaliza situando la coma decimal a la derecha del bit más significativo, dicho bit siempre vale 1 y se llama bit implícito.

01110010101110100001111 Por tanto el número será: En este caso, los números no son exactamente iguales, ya que, con

precisión simple no se han podido representar todos los bits de la mantisa.

Page 18: Apuntes Electronica Digital

El número 3E400000CFL del estándar IEEE 754 convertir a decimal.

1º) Convertir 3E400000(16 a base 2: 2º) Obtener los bits del signo, de la mantisa y del exponente: 3º) Pasar el exponente a base 10: 011111002 - (28-1 - 1)10 = 12410 - (27 - 1)10 = 12410 - (128 - 1)10 =

12410 - 12710 = -3 4º) Escribir el número en notación científica. bit implícito (1), seguido de la coma decimal (,) y de los bits de la

mantisa (10000000000000000000000). Por tanto: 1,1(2 x 2-3 5º) Expresar el número en base 10. 1,1(2 x (2)-3 = ( ( 20 + 2-1) x 2-3 )10 = ( ( 1 + 0,5) x 0,125 )10 = ( 1,5 x

0,125 )10 = 0,187510

Page 19: Apuntes Electronica Digital

Signo Exponente Mantisa Característica

0 0000 0000 m ≠ 0 Denormalizado

0 0000 0000 000 0000 0000 0000 0000 0000 Cero

0 1111 1111 000 0000 0000 0000 0000 0000 +∞

1 1111 1111 000 0000 0000 0000 0000 0000 -∞

0 1111 1111 m ≠ 0 Indeterminado

CASOS ESPECIALES. EJEMPLO 32 bits:

REPRESENTACIÓN DE NÚMEROS REALES FORMATO (CFL)

Valor de c Valor de m Valor del número Característica

Máximo

(1111 1111)

m≠0 No es un número Indeterminado

m=0 (-1) s · ∞ ±∞

Cero

(0000 0000)

m≠0 (-1) s · 0.m · 21-C Denormalizado

m=0 (-1) s · 0 Cero

Otro Cualquiera (-1) s · 1.m · 2c-C Número normal

Page 20: Apuntes Electronica Digital

REDONDEO COMA FLOTANTE IEEE 754 Ejemplo: mantisa de datos de 5 bits formato IEEE 754

Resultado en la ALU Acción Mantisa redondeada

1.01101 00 Truncar 1.01101

1.01100 00 Truncar 1.01100

1.01101 01 Truncar 1.01101

1.01100 01 Truncar 1.01100

1.01101 10 Sumar 0.00001 1.01110

1.01101 11 Sumar 0.00001 1.01110

1.01100 11 Sumar 0.00001 1.01101

Page 21: Apuntes Electronica Digital

VALORES LÍMITE COMA FLOTANTE IEEE 754

ns= 1, nm = 23, nc = 8 y C=127

Número Signo Exponente Mantisa

Infinito 0 1111 1111 000 0000 0000 0000 0000 0000

Número mayor N(max) 0 1111 1110 111 1111 1111 1111 1111 1111

Número menor normalizado N(min, nor)

0 0000 0001 000 0000 0000 0000 0000 0000

Número menor denormalizado N(min, den)

0 0000 0000 000 0000 0000 0000 0000 0001

Cero 0 0000 0000 000 0000 0000 0000 0000 0000

Page 22: Apuntes Electronica Digital

VALORES LÍMITE COMA FLOTANTE IEEE 754

VALOR MAYOR N(max) MAYOR VALOR ABSOLUTO DISTINTO DE INFINITO: MANTISA MAYOR: m(max) = 0.11…11=1–0.00…01= = 1 – 2-nm = 1 – 2-23 = 0.99999988 M(max) = 1 + m(max) = 1.99999988 EXPONENTE MAYOR: E(max) = c(max) – C = = 11111110 – 01111111 = 01111111 = 127 NÚMERO MAYOR: N(max) = M(max) · 2E(max) = = 1.99999988 · 2127 = 3.402823466·1038

Page 23: Apuntes Electronica Digital

VALORES LÍMITE COMA FLOTANTE IEEE 754 VALOR MENOR N(min) NORMALIZADO MENOR VALOR ABSOLUTO DISTINTO DE CERO NORMALIZADO: MANTISA MENOR NORMALIZADA: m(min) = 0.000…00 = 0 M(min) = 1 + m(min) = 1 + 0 = 1 EXPONENTE MENOR NORMALIZADO: E(min) = 00000001 – 01111111 = 1 – 127 = -126 NÚMERO MENOR NORMALIZADO: N(min,nor) = M(min) · 2E(min) = = 1 · 2-126 = 1.175·10-38

Page 24: Apuntes Electronica Digital

VALORES LÍMITE COMA FLOTANTE IEEE 754

VALOR MENOR N(min) DENORMALIZADO MENOR VALOR ABSOLUTO DISTINTO DE CERO DENORMALIZADO: MANTISA MENOR DENORMALIZADA: m(min) = 0.000…01 = 2-23 EXPONENTE MENOR DENORMALIZADO: E(den) = -126 NÚMERO MENOR DENORMALIZADO: N(min,den) = M(min) · 2E(den) = = 2-23 · 2-126 = 1.401·10-45

Page 25: Apuntes Electronica Digital

N < 0 N > 0

desbordamiento agotamiento desbordamiento

-∞ +∞ -N(max) -N(min,den) 0 N(min,den) N(max) LÍMITES DE LOS NÚMEROS REALES REPRESENTABLES EN IEEE 754 AGOTAMIENTO: [-N(min,den), N(min,den)] SALVO EL 0 TAMBIÉN SE CONOCE COMO UNDERFLOW

VALORES LÍMITE COMA FLOTANTE IEEE 754

http://www.etsimo.uniovi.es/~antonio/uned/ieee754/IEEE-754.html

32-bit Single Precision

Page 26: Apuntes Electronica Digital

VALORES COMA FLOTANTE IEEE 754 32-bit Single Precision 32-bit Single Precision

Range Name Sign (s) 1 [31]

Exponent (e) 8 [30-23]

Mantissa (m) 23 [22-0] Hexadecimal Range Range Decimal Range §

Quiet -NaN 1 11..11

11..11 :

10..01

FFFFFFFF :

FFC00001

Indeterminate 1 11..11 10..00 FFC00000

Signaling -NaN 1 11..11

01..11 :

00..01

FFBFFFFF :

FF800001

-Infinity (Negative Overflow) 1 11..11 00..00 FF800000 < -(2-2-23) × 2127 £ -3.4028235677973365E+38

Negative Normalized -1.m × 2(e-127) 1

11..10 :

00..01

11..11 :

00..00

FF7FFFFF :

80800000

-(2-2-23) × 2127 :

-2-126

-3.4028234663852886E+38 :

-1.1754943508222875E-38

Negative Denormalized -0.m × 2(-126) 1 00..00

11..11 :

00..01

807FFFFF :

80000001

-(1-2-23) × 2-126 :

-2-149 (-(1+2-52) × 2-150) *

-1.1754942106924411E-38 :

-1.4012984643248170E-45 (-7.0064923216240862E-46) *

Negative Underflow 1 00..00 00..00 80000000 -2-150

: < -0

-7.0064923216240861E-46 :

< -0 -0 1 00..00 00..00 80000000 -0 -0 +0 0 00..00 00..00 00000000 0 0

Positive Underflow 0 00..00 00..00 00000000 > 0 :

2-150

> 0 :

7.0064923216240861E-46

Positive Denormalized 0.m × 2(-126) 0 00..00

00..01 :

11..11

00000001 :

007FFFFF

((1+2-52) × 2-150) * 2-149

: (1-2-23) × 2-126

(7.0064923216240862E-46) * 1.4012984643248170E-45

: 1.1754942106924411E-38

Positive Normalized 1.m × 2(e-127) 0

00..01 :

11..10

00..00 :

11..11

00800000 :

7F7FFFFF

2-126 :

(2-2-23) × 2127

1.1754943508222875E-38 :

3.4028234663852886E+38

+Infinity (Positive Overflow) 0 11..11 00..00 7F800000 > (2-2-23) × 2127 ³ 3.4028235677973365E+38

Signaling +NaN 0 11..11

00..01 :

01..11

7F800001 :

7FBFFFFF

Quiet +NaN 0 11..11

10..00 :

11..11

7FC00000 :

7FFFFFFF

32-bit Single Precision

Page 27: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 13

1.4. REPRESENTACIÓN DE DATOS ALFANUMÉRICOS EN LOS SISTEMAS DIGITALES

Las máquinas deben poder representar caracteres alfabéticos, símbolos especiales y caracteres de control, además de números. De aquí la necesidad de los códigos alfanuméricos que asocien a cada uno de los datos a representar una combinación binaria.

Estos códigos son utilizados por los ordenadores para transmitir información así como para

enviar órdenes entre dispositivos. El conjunto de caracteres utilizado por estos códigos es muy variado, siendo éstos:

-Las 10 cifras del sistema decimal (del 0 al 9). -Las letras del alfabeto (mayúsculas y minúsculas) -Los signos de puntuación (‘.’, ‘:’, ‘;’, ‘+’, ‘*’, …) -Los caracteres de control (órdenes entre elementos del sistema.)

Se denomina longitud de un código binario, al números de bits que utiliza para codificar un

carácter. En estos códigos alfanuméricos el número máximo de caracteres que se pueden

representar es igual a la potencia de 2 elevado a la longitud de dicho código. Se suele representar cada carácter por medio de 8 bits, con lo cual todo tipo de información se puede representar utilizando cadenas de caracteres, que en definitiva, serán cadenas de bytes. Algunos de estos códigos son los siguientes

FIELDATA 6 bits

EBCDIC 8 bits

ASCII 7 bits + 1 bit paridad

Una secuencia de bits, puede interpretarse como una instrucción, número en coma fija,

número en coma flotante, dato alfanumérico… dependiendo de la instrucción que la máquina se encuentre ejecutando, y de la arquitectura de ésta.

En las tablas 1.3, 1.4, 1.5 se muestran los cuadros de los códigos alfanuméricos antes

mencionados, donde se van a representar con sus caracteres.

Bits

210

543

000

001

010

011

100

101

110

111

000 @ C K S ) * 0 8

001 [ D L T - ( 1 9

010 ] E M U + % 2 ,

011 # F N V < : 3 ;

100 ^ G O W = ? 4 /

101 SP H P X > ! 5 .

110 A I Q Y & ´ 6 ó

111 B J R Z $ \ 7

Tabla 1.3 . Código FIELDATA de 6 bits.

Page 28: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 14

bits

3210

654

000

001

010

011

100

101

110

111

0000 NUL DEL SP 0 @ P ` p

0001 SOH DC1 ! 1 A Q a q

0010 STX DC2 ” 2 B R b r

0011 ETX DC3 # 3 C S c s

0100 EOT DC4 $ 4 D T d t

0101 ENQ NAK % 5 E U e u

0110 ACK SYN & 6 F V f v

0111 BEL ETB ’ 7 G W g w

1000 BS CAN ( 8 H X h x

1001 HT EM ) 9 I Y i y

1010 LF SUB ] : J Z j z

1011 VT ESC + ; K [ k {

1100 FF FS , < L \ l

1101 CR GS - = M ] m }

1110 SO RS . > N ^ n

1111 SI US / ? O o DEL

Tabla 1.4. Código ASCII de 7 bits

Bits

3210

7654

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000 NUL DEL DS SP & - { } \ 0

0001 SOH DC1 SOS a j ~ A J 1

0010 STX DC2 FS SYN b k s B K S 2

0011 ETX DC3 c l t C L T 3

0100 PF RES BYP PN d m u D M U 4

0101 HT NL LF RS e n v E N V 5

0110 LC BS EOB UC f o w F O W 6

0111 DEL IL ESC EOT g p x G P X 7

1000 CAN h q y H Q Y 8

1001 RLF EM \ i r z I R Z 9

1010 SMM CC SM ¢ ! ¦ :

1011 VT . $ , #

1100 FF IFS DC4 < * % @

1101 CR IGS ENQ NAK ( ) — ’

1110 SO IRS ACK + ; > =

1111 SI IUS BEL SUB ? ’’

Tabla 1.5. Código EBCDIC de 8 bits

1.5. DETECCIÓN Y CORRECCIÓN DE ERRORES

Page 29: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 15

La información digital transmitida entre dos puntos puede corromperse a lo largo del proceso de transmisión como consecuencia de perturbaciones electromagnéticas. Esta perturbación se denomina interferencia electromagnética no deseada (ruido).

Tx MEDIO Rx

RUIDO Para detectar este tipo de errores producidos a lo largo del proceso de transmisión, a cada

símbolo o conjunto de símbolos se le añade una serie de bits. Estos bits no son portadores de información (redundancia) pero en cambio permiten detectar, y algunas veces corregir, errores. A continuación se definen algunos parámetros que resultan útiles para estudiar estas técnicas de protección frente a los mencionados errores.

Eficiencia de un código ( )

Se define como el cociente entre el número de símbolos que se representan realmente, m,

dividido por el numero, m´, de símbolos que en total podrían representarse. En el caso de

códigos binarios m´=2 n y la expresión para la eficiencia es igual a:

=n

m

m

m

0 1

Siendo n el número de bits que le corresponde a cada símbolo.

Redundancia de un código (R)

Es la propiedad que tiene un código de no aprovechar todas las combinaciones posibles. Un código que es poco eficiente se dice que es redundante, definiéndose la redundancia

como:

R= (1- ) ·100%

Expresándose en este caso en tanto por ciento.

Distancia entre dos combinaciones binarias

Es el número de bits que hay que modificar en una de las combinaciones binarias para

conseguir la otra.

Ejemplo: la distancia entre los símbolos {2} y {6} codificados en BCD es 1:

2 0010

6 0110

Distancia de un código binario (d)

Es la menor de las distancias entre dos combinaciones cualesquiera de dicho código. Para que un código pueda detectar errores su distancia tiene que ser superior a la unidad.

En los códigos con distancia 1 los errores en un bit a lo largo de la transmisión producen otra combinación válida sin que se pueda detectar el error en cuestión.

La distancia de un código esta vinculada al número de errores capaz de detectar. Así, un

código con distancia d puede detectar hasta d-1 errores.

Page 30: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 16

Los códigos correctores además de poder detectar errores pueden también corregirlos,

pero en algunos casos con el inconveniente de necesitar mayor número de bits que los anteriores para codificar los símbolos. Así un código con distancia d puede corregir hasta un

número de errores dado por la parte entera del cociente 2

1d .

Las redundancias se introducen de acuerdo con algún algoritmo predeterminado; de esta manera, los códigos pueden ser verificados por los circuitos receptores. Códigos de paridad

Son códigos detectores de errores cuya distancia es 2 y por lo tanto pueden detectar

errores de un bit, únicamente. Dichos códigos añaden información transmitida un bit que no es portador de información (redundancia), el cual se introduce deliberadamente para poder detectar posibles errores en la transmisión o grabación de información.

Uno de estos algoritmos añade al código inicial de cada carácter un nuevo bit denominado

bit de paridad, existiendo dos criterios para introducir este bit:

-Paridad par: se añade un bit “0” ó “1” de forma tal que el número total de unos del código que resulte sea par. Éste es el criterio más utilizado.

-Paridad impar: se añade un bit “0” ó “1” de forma tal que el número total de unos del código que resulte sea impar.

Debido al ruido o interferencias electromagnéticas no deseadas en la transmisión de la señal puede ocurrir, eventualmente, el cambio de un bit (de 1 a 0 o viceversa), por lo que se comprueba la paridad de la información en el receptor. Al haber convenido que el número de unos sea par o impar, dependiendo del tipo de paridad, se detectaría el error.

Ejemplo: BCD exceso a 3 con paridad par (se destaca en negrita el bit de paridad añadido):

0011 00110 1000 10001

0100 01001 1001 10010

0101 01010 1010 10100

0110 01100 1011 10111

0111 01111 1100 11000

Supongamos que se transmite el símbolo “3”, y que se produce un error en la transmisión

de un bit (subrayado). 01100 01110

Tx Rx

Ruido

En el receptor se comprueba que el número de unos es impar con lo que ha habido un error en la transmisión. Si se produce un error durante la transmisión se puede detectar, pero si se producen dos errores no se detecta nada.

En el ejemplo anterior, ocurre que aun detectando el error no sabemos cuál es el bit

anómalo. Por ello, existen códigos que permiten detectar y corregir errores. Entre éstos cabe destacar la técnica de doble paridad que posibilita detectar y corregir errores, explicada a continuación por medio de un ejemplo.

Ejemplo: se desea transmitir los siguientes símbolos codificados: 0001, 0010, 0110, 0111. Supóngase que se ha producido un error en la transmisión de 1 bit ( destacado por sombra en la figura)

Page 31: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Representación de la información en las máquinas

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág . 17

Para detectar este error basta con aplicar el criterio de paridad par o impar a los bits de la información transmitida tanto horizontal como verticalmente. De esta forma, si se elige el criterio de paridad par, quiere decir que el resultado de la suma de unos, tanto en cada fila como en cada columna, ha de ser par. A este fin añaden unos o ceros según el criterio elegido (en este caso, paridad par). Así, en el receptor se comprobará que la paridad de la fila y de la columna correspondiente al bit anómalo no es par. De este modo puede corregirse el error. BPH 0 0 0 1 1 0 0 0 1 1

0 0 1 0 1 0 1 1 0 1

0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 BPV 0 0 1 0 1 RUIDO 0 0 1 0 1

Tx Rx

Fig.1.3. Técnica de doble paridad

Page 32: Apuntes Electronica Digital

Electrónica Digital

TEMA 2: FAMILIAS LÓGICAS

Page 33: Apuntes Electronica Digital

TEMA 2. FAMILIAS LÓGICAS

2.1 Introducción

2.2 Características de operación estáticas

2.3 Características de operación dinámicas

2.4 Características técnicas Familias Lógicas

2.4.1 Dispositivos lógicos

2.4.2 Hojas de caracteristicas 7400

2.5 Casos prácticos

D. López Talavera; J. de la Casa Higueras 2

Page 34: Apuntes Electronica Digital

TEMA 2. FAMILIAS LÓGICAS

Objetivos:

Conocer las familias lógicas más utilizadas en

la actualidad

Valorar y comparar las características técnicas

Análisis de hojas de características técnicas

D. López Talavera; J. de la Casa Higueras 3

Page 35: Apuntes Electronica Digital

Familias Lógicas 2.1 Introducción

• Hay muchas familias lógicas de circuitos integrados digitales que han sido introducidos comercialmente, las más populares son:

– TTL: Lógicas de transistores (Transistor-transistor logic)

– ECL: Lógica de acoplamiento de emisor (emitter-coupled logic)

– MOS: Semiconductor de óxido de metal (Metal-oxide semiconductor)

– CMOS: Semiconductor de oxido de metal complementario (Complementary metal-oxide semiconductor)

– I2L: Lógica de inyección integrada (Integrated-injection logic)

D. López Talavera; J. de la Casa Higueras 4

Page 36: Apuntes Electronica Digital

Familias Lógicas 2.1 Introducción

D. López Talavera; J. de la Casa Higueras 5

Tecnología Serie

Familia de circuitos

lógicos integrados con

transistores bipolares

TTL

TTL estándar

Amplia gama de

funciones digitales y

es comúnmente la

familia lógica más

popular.

TTL de baja potencia

TTL shoottky

TTL shoottky de baja

potencia

TTL shoottky

avanzada

ECL

Aplicaciones que

requieren alta

velocidad.

Familia de circuitos

lógicos integrados con

transistores MOSFET

CMOS

CMOS estándar Circuitos que

necesitan alta densidad

de componentes.

Aplicaciones que

requieren bajo

consumo (CMOS)

CMOS HC

CMOS HCT

NMOS

PMOS

BiCMOS Combina transistores bipolares con transistores MOSFET

Page 37: Apuntes Electronica Digital

Evolución Familias Lógicas 2.1 Introducción

D. López Talavera; J. de la Casa Higueras 6

Leyenda:

TTL. Lógica de transistor-transistor.

S. TTL con circuitos Schottky.

LS. TTL con Schottky y bajo consumo.

AS. TTL con Schottky mejorada.

ALS. Versión mejorada de LS.

F. TTL de alta velocidad.

4000. Serie 4000 de CMOS.

HC. CMOS de alta velocidad.

ABT. Tecnología BiCMOS avanzada.

LVT. Tecnología BiCMOS de baja tensión.

LV. Baja tensión.

LVC. CMOS de baja tensión.

ALVC. CMOS de baja tensión mejorada.

ALVT. Tecnología BiCMOS de baja tensión

mejorada

AHC. CMOS de alta velocidad mejorada.

AVC. CMOS de muy baja tensión mejorada.

Page 38: Apuntes Electronica Digital

Familias Lógicas 2.1 Introducción

Las características estáticas: afectan al

régimen permanente de funcionamiento de

los circuitos (las entradas permanecen en un

valor estable)

Las características dinámicas afectan al

régimen transitorio (cuando se producen

cambios en las entradas del circuito)

D. López Talavera; J. de la Casa Higueras 7

Page 39: Apuntes Electronica Digital

Familias Lógicas 2.2 Características de operación estáticas

La entrada de una puerta lógica puesta

a “0” entrega corriente (IIL>0).

Si está a “1” absorbe corriente (IIH<0)

La salida de una puerta a “0” absorbe

corriente (IOL<0).

Si está a “1” entrega corriente (IOH>0)

D. López Talavera; J. de la Casa Higueras 8

Page 40: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 9

Corrientes: definiciones

Familias Lógicas 2.2 Características de operación estáticas

Page 41: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 10

Familias Lógicas 2.2 Características de operación estáticas

Entrada:

VILmin : Tensión mínima en la entrada para un nivel bajo (Low)

VILmax : Tensión máxima en la entrada para un nivel bajo (Low)

VIHmin : Tensión mínima en la entrada para un nivel alto (High)

VIHmax : Tensión máxima en la entrada para un nivel alto (High)

Salida:

VOLmin : Tensión mínima en la salida para un nivel bajo (Low)

VOLmax : Tensión máxima en la salida para un nivel bajo (Low)

VOHmin : Tensión mínima en la salida para un nivel alto (High)

VOHmax : Tensión máxima en la salida para un nivel alto (High)

Page 42: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 11

Los niveles lógicos “0” y “1” no corresponden

únicamente a los niveles de tensión de 0V y 5V,

respectivamente.

Se corresponden a unos niveles o rangos de tensión

comprendidos para la entrada entre VILmin y VILmax para

el nivel 0 y entre VIHmin y VIHmax para el nivel 1.

Los valores equivalentes para las salidas se denominan:

VOLmin y VOLmax para el nivel 0 y entre VOHmin y VOHmax para

el nivel 1, respectivamente.

Familias Lógicas 2.2 Características de operación estáticas

Page 43: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 12

Niveles lógicos: definiciones

•Margen de cero.

•Margen de uno.

•Margen de transición.

Familias Lógicas 2.2 Características de operación estáticas

Page 44: Apuntes Electronica Digital

LV,LVC,ALVC LVT TTL CMOS 5.V

Vol max Vil max Vih min Voh min VCC

D. López Talavera; J. de la Casa Higueras 13

Vcc=3.3 V

Voh=3.1V

Vih=2.0 V

Vil=0.8V

Vol=0.2V

Vcc=3.3 V

Voh=2.4V

Vih=2.0V

Vil=0.8V

Vol=0.4V

Vcc=5.0V

Vol=0.1V

Vil=1.0V

Vih=3.5V

Voh=4.9V

Vcc=5.0V

FAMILIAS LÓGICAS DE BAJA TENSIÓN (LOW VOLTAGE LOGIC FAMILIES)

Comparación frente a familias clásicas de los niveles lógicos de E/S

CMOS 3.3 V

Familias Lógicas 2.2 Características de operación estáticas

Page 45: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 14

RUIDO: cualquier perturbación involuntaria que puede originar un

cambio no deseado en la salida del circuito.

El ruido puede generarse externamente por:

• Presencia de escobillas en motores o interruptores

• Acoplo por conexiones o líneas de tensión cercanas

• Picos de la corriente de alimentación.

Inmunidad al ruido: capacidad

para tolerar fluctuaciones en la

tensión no deseadas en sus

entradas sin que cambie el

estado de salida.

Familias Lógicas 2.2 Características de operación estáticas

Page 46: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 15

Inmunidad al ruido. Margen de ruido

VIHMIN VIHMAX VILMIN VILMAX VOHMIN VOHMAX VOLMIN VOLMAX

A 2 5 0 1.8 2.5 5 0 1

B 5 12 0 3 6 12 0 1.5

¿QUE FAMILIA UTILIZARIAS PARA TRABAJAR EN UN AMBIENTE RUIDOSO?

Familias Lógicas 2.2 Características de operación estáticas

Page 47: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 16

Fan-out o cargabilidad de la puerta: Límite para el número de entradas que una puerta puede excitar.

Problemas si se supera el fan-out: Si se conecta un número excesivo de puertas de carga, la tensión VOH

puede caer por debajo de su valor mínimo VOH mín.

Además al aumentar la corriente de fuente,

aumenta la disipación de potencia.

Familias Lógicas 2.2 Características de operación estáticas

Page 48: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 17

Formas de expresar el Fan-out

Para un correcto funcionamiento

siempre tendrá que cumplirse:

Respecto a la misma familia

se escoge el valor menor

Respecto a la unidad de carga (TTL STANDARD)

máx máx

Familias Lógicas 2.2 Características de operación estáticas

Page 49: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 18

Disipación de potencia

La disipación de potencia media de una puerta lógica

se calcula efectuando la media aritmética.

Importante:

Los cálculos se realizan en vacío, sin ninguna carga conectada.

DEFINICIONES:

ICCH= Consumo de una puerta lógica cuando tiene un “1” lógico a la salida

ICCL= Consumo de una puerta lógica cuando tiene un “0” lógico a la salida

Familias Lógicas 2.2 Características de operación estáticas

Page 50: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 19

Retardos ó tiempos de propagación.

Retardos en un puerta no inversora (p.e. función OR)

Aproximaciones:

TT T

PD

PHL PLH

2

Tiempo de propagación medio

TPLH : Tiempo entre un determinado punto del pulso de entrada (50% del

flanco) y el correspondiente punto (50% del flanco) del impulso de salida

cuando la salida cambia de nivel bajo a nivel alto.

TPHL : Igual pero cuando la salida cambia de nivel alto a nivel bajo.

TPLH <> TPHl

Familias Lógicas 2.3 Características de operación dinámicas

Page 51: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 20

Producto: Tpd x Potencia disipada

La velocidad de un circuito junto con la disipación de potencia se convierten en

los factores determinantes de la calidad de una familia lógica.

Para facilitar la comparación de unas familias lógicas con otras, estas dos características

se suelen dar unidas en un producto entre ambas expresado en pJ (picoJulios).

El avance de la tecnología se enfoca en minimizar este producto.

Serie Tipo de transistor Retardo de

propagación (ns)

Disipación de

potencia (mW)

Producto velocidad-

potencia, pJ

54LS/74LS Schottky, baja

potencia

9.5 2 19

54L/74L Común, baja potencia 33 1 33

54S/74S Schottky, potencia

normal

3 19 57

54/74 Común, potencia

normal

10 10 100

54H/74H Común, alta potencia 6 22 132

Familias Lógicas 2.3 Características de operación dinámicas

Page 52: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 21

Características de operación familia TTL

Familias Lógicas 2.4 Características técnicas familias lógicas

Page 53: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 22

Características

TTL

CMOS 3,3 V

CMOS 5 V

F LS ALS LV LVC ALVC HC AC AHC

Retardo de Propagación de puerta, tp (ns)

3,3

10

7

9

4,3

3

7

5

3,7

Frecuencia máxima de reloj (MHz)

145

33

45

90

100

150

50

160

170

Disipación de potencia/puerta: Bipolar (mW)

CMOS (μW)

6 2.2 1.4

2.75 0.55 2.75 1.6 0.8 0.8

Excitación de salida IOL(mA) 20 8 8 12 24 24 4 24 8

Comparación de los principales parámetros de funcionamiento

de varias familias de circuitos integrados 74XX

Familias Lógicas 2.4 Características técnicas familias lógicas

Page 54: Apuntes Electronica Digital

Fundamentos TRANSISTOR MOS

(Metal Oxido Semiconductor)

En función del tipo de dopado:

Canal N Canal P Vgs > Vt Vgs <Vt

gate

drenador source

SUBSTRATO

OXIDO de Silicio (aislante) METAL (Polisilicio)

L

W

L= 2λ

DRENADOR y FUENTE

Altamente dopado

SUBSTRATO

Dopado débil

D. López Talavera; J. de la Casa Higueras 23

Familias Lógicas 2.4.1 Dispositivos lógicos

Page 55: Apuntes Electronica Digital

Va

Funciones lógicas CMOS VDD

VDD

Va Vb

Vb

Vout = Va Vb

Vout = Va+Vb

Va

Vb

FUNCIÓN NAND FUNCIÓN NOR

D. López Talavera; J. de la Casa Higueras 24

Familias Lógicas 2.4.1 Dispositivos lógicos

Page 56: Apuntes Electronica Digital

Funciones lógicas con tecnología TTL estándar (NAND)

D. López Talavera; J. de la Casa Higueras 25

Familias Lógicas 2.4.1 Dispositivos lógicas

Page 57: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 26

Familias Lógicas 2.4.2 Hojas de características técnicas familias lógicas

Page 58: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 27

Familias Lógicas 2.4 Características técnicas familias lógicas

Page 59: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 28

Familias Lógicas 2.4 Características técnicas familias lógicas

Page 60: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 29

Familias Lógicas 2.5 Casos prácticos

Ejercicio 1:

Page 61: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 30

Familias Lógicas 2.5 Casos prácticos

Por una puerta circulan 1.5 mA cuando su salida está a nivel

alto y 2.8 mA cuando está a nivel bajo. Calcular su

disipación de potencia media si VCC es 5V. La puerta

funciona con un ciclo de trabajo del 50%.

Ejercicio 2:

Page 62: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 31

Familias Lógicas 2.5 Casos prácticos

Ejercicio 3:

Utilizando la hoja de características del 7400 determinar

el fan-out de una puerta NAND.

De la hoja de características se obtienen los valores:

IIH(max) = 40 uA

IIL(max) = -1.6 mA

IOH(max) = -0.4 mA

IOL(max) = 16 mA

Page 63: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 32

Familias Lógicas 2.5 Casos prácticos

Page 64: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 33

Familias Lógicas 2.5 Casos prácticos

Page 65: Apuntes Electronica Digital

D. López Talavera; J. de la Casa Higueras 34

Ejercicio 4:

Familias Lógicas 2.5 Casos prácticos

Page 66: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.1

CAPÍTULO 3

2.1. INTRODUCCIÓN

Las magnitudes presentes en el mundo físico (temperatura, irradiancia, fuerza, longitud, etc…) son de naturaleza tal que la medida de las mismas puede variar, en principio, de manera continua entre dos valores cualesquiera. Así, la variación con el tiempo de estas magnitudes puede ser representada mediante señales (o funciones) analógicas. Existen sistemas que procesan este tipo de señales, llamados sistemas analógicos. Por el contrario, los sistemas digitales procesan señales discretas, las cuales únicamente pueden tomar en un instante un valor perteneciente a un conjunto finito de éstos. El caso más común es que estas señales sean binarias: en un momento dado pueden tomar un valor u otro, únicamente. Cada uno de estos valores se suele simbolizar por los estados 1 ó 0 (verdadero o falso) y físicamente se corresponden con dos niveles definidos de tensión o corriente. La fiabilidad del procesamiento de este tipo de señales hace que se minimice la introducción de errores en su tratamiento, en comparación con el procesamiento de las señales analógicas. El computador, acaso el sistema digital más conocido, procesa las señales binarias mediante un número muy elevado de interruptores o conmutadores elementales llamados puertas lógicas, interconectados entre sí. El análisis y la síntesis de estos sistemas hacen uso de la llamada Álgebra de Boole, similar al Álgebra ordinaria pero basada en dos estados posibles (verdadero-falso, 1-0, tensión más positiva- tensión menos positiva, etc.). El Álgebra de Boole está formada, como el álgebra convencional, por variables lógicas, operadores lógicos y un conjunto de leyes que rigen ciertas combinaciones de los elementos anteriores. Las variables lógicas pueden tomar solamente los valores verdadero o falso representados de manera simbólica por 1 y 0, respectivamente. Físicamente, dichos estados lógicos se asocian a niveles de tensión, dando lugar a la lógica positiva o negativa, según el criterio que se adopte para establecer dicha correspondencia. Estados lógicos Niveles de tensión “0” Falso Menos positivo Menos negativo “1” Verdadero Más positivo Más negativo

Lógica Positiva Lógica Negativa

SISTEMAS DIGITALES

COMBINACIONALES (I)

Page 67: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.2

2.2. FUNCIONES LÓGICAS

Una función lógica, o función de conmutación de un álgebra de Boole es una función que asocia un valor binario (esto es, 1 o 0) a una combinación de variables binarias de entrada. Dichas variables se notan con las letras del abecedario, una función lógica puede representarse como f = f (A, B, C,…)

Donde el valor lógico de F depende del de las variables A, B, C,...

2.2.1. Tabla de verdad de una función lógica La tabla de verdad de una función lógica f = f(A, B, C,...) es una forma de representación

de la misma, indicando el valor que toma la función para cada una de las combinaciones de valores de las variables binarias de dicha función. Para n variables existen 2

n combinaciones

posibles de dichas variables.

Ejemplos de tablas de verdad, para 1, 2, 3 y 4 variables: A f A B f A B C f A B C D f

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

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

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

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

1 0 0 1 0 1 0 0 1

1 0 1 1 0 1 0 1 1

1 1 0 1 0 1 1 0 1

1 1 1 1 0 1 1 1 1

1 0 0 0 1

1 0 0 1 0

1 0 1 0 1

1 0 1 1 0

1 1 0 0 0

1 1 0 1 0

1 1 1 0 1

1 1 1 1 1

2.2.2. Puertas lógicas o funciones lógicas básicas La puerta lógica es un pequeño circuito, por lo general físicamente implementado en un

circuito integrado y que responde a una función lógica básica. El circuito integrado está formado por un conjunto de dispositivos tales como resistencias, diodos, transistores, etc. integrados en un mismo sustrato de silicio.

Esta puerta lógica posee unas entradas que son las variables de la función y una salida

que se corresponde con dicha función lógica. Dentro de estas puertas las variables de entrada están relacionadas por medio de los operadores lógicos.

Si se establece una analogía eléctrica, el 1 lógico corresponde a un interruptor cerrado,

permitiendo el paso de la corriente, y el 0 a un interruptor abierto, impidiendo el paso de la corriente. Dicha analogía es válida si se utiliza la lógica positiva.

A continuación se describen las funciones lógicas básicas y su tabla de verdad, sus

símbolos normalizados de representación y su equivalente eléctrico empleando interruptores.

Page 68: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.3

Puerta NOT

Llamada también función “NO” o función negación, es aquella cuya variable de salida es el complemento de la variable de entrada, es decir, realiza la función de complementación. Dado que únicamente hay dos estados posibles, si la variable de entrada es igual a 1, la salida será igual a 0 y viceversa.

La figura 2.1 muestra el símbolo de la puerta que realiza esta función, también

denominada puerta inversora o NOT, su tabla de verdad, su notación y su analogía eléctrica.

Figura 2.1. Puerta NOT

Puerta AND Llamada también función “Y” o función producto lógico, es aquella en la que su variable de

salida es 1 siempre que todas las variables de entrada tengan valor 1. La figura 2.2 muestra el símbolo de la puerta de dos entradas que realiza esta función,

denominada puerta AND, su tabla de verdad, su notación y su analogía eléctrica.

Figura 2.2. Puerta AND de dos entradas

Puerta OR Llamada también función “O” o función suma lógica, es aquélla en la que su variable de

salida es 1 siempre que al menos una de las variables de entrada tenga valor 1. La figura 2.3 muestra el símbolo de la puerta que realiza esta función, denominada puerta

OR, su tabla de verdad, la función que la define y su analogía eléctrica.

Figura 2.3. Puerta OR

Los circuitos electrónicos no realizan con facilidad las operaciones lógicas OR y AND. A

continuación se definen dos nuevas funciones lógicas que se obtienen por la combinación de las puertas básicas anteriores. Dichas nuevas funciones pueden implementarse mejor en los circuitos integrados. Además, con éstas se puede construir cualquier función lógica, por compleja que sea.

Puerta NAND Se obtiene de la combinación de la función NOT y la función AND, por lo que se obtiene la

negación del producto lógico. La variable de salida es 1 siempre que al menos una de las

Page 69: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.4

variables de entrada tenga valor 0. Su tabla de verdad se obtiene a partir de la correspondiente a la función AND cambiando los 0 por 1 y viceversa.

La figura 2.4 muestra el símbolo de la puerta que realiza esta función, denominada puerta

NAND, su tabla de verdad y su notación.

Figura 2.4. Puertas NAND de dos y tres entradas

Puerta NOR Se obtiene de la combinación de la función NOT y la función OR por lo que se obtiene la

negación de la suma lógica. La variable de salida es 1 siempre que ninguna de las variables de entrada tenga valor 1. Su tabla de verdad se obtiene a partir de la correspondiente a la función OR cambiando los 0 por 1 y viceversa.

La figura 2.5 muestra el símbolo de la puerta que realiza esta función, denominada puerta

NOR, su tabla de verdad y su notación

Figura 2.5. Puertas NOR de dos y tres entradas

Puerta XOR También conocida como función OR-EXCLUSIVA, este tipo de puertas genera un 1

cuando se tienen un número impar de unos a la entrada y genera un 0 cuando es par. La figura 2.6 muestra el símbolo de la puerta que realiza esta función, denominada puerta

XOR, su tabla de verdad y su notación.

Figura 2.6. Puertas OR-Exclusiva de dos y tres entradas

Puerta XNOR También conocida como función NOR-EXCLUSIVA, este tipo de puertas genera un 1

cuando se tienen un número par de unos a la entrada y genera un 0 cuando es impar.

Page 70: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.5

La figura 2.7 muestra el símbolo de la puerta que realiza esta función, denominada puerta XNOR, su tabla de verdad y su notación.

Figura 2.7. Puertas NOR-Exclusiva de dos y tres entradas

2.2.3. Conjuntos funcionalmente completos No es posible implementar cualquier función con la combinación de puertas lógicas AND,

únicamente. Otro tanto cabe decir de las puertas OR. Aquel conjunto de puertas lógicas con el que se puede implementar cualquier función lógica, por compleja que ésta sea, recibe el nombre de conjunto funcionalmente completo.

La combinación de las puertas AND y NOT por un lado y la combinación de las puertas OR

y NOT, por otro, forman conjuntos funcionalmente completos. En la figura 2.8.a se muestra un ejemplo de como la función f = A + B ha sido implementada con puertas AND y NOT.

Las puertas NAND y NOR forman, cada una, conjuntos funcionalmente completos. En la figura 2.8 b y c se pueden ver como la misma función ha sido implementada únicamente con puertas NOR y con puertas NAND, respectivamente.

Figura 2.8. Implementación de la función f = A + B: (a) con puertas AND

y NOT;(b) con puertas NAND; (c) con puertas NOR

2.2.4. Puertas lógicas integradas

En el mercado podemos encontrar diferentes familias de integración de puertas lógicas integradas, como pueden ser TTL, serie 74XX o CMOS, serie 40XX. La figura 2.9 muestra algunos de los circuitos integrados de la familia TTL serie 74 disponibles en el mercado con la correspondencia entre el patillaje y las entradas y salidas de las puertas lógicas que contienen.

Page 71: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.6

Fig. 2.9. Algunas puertas lógicas integradas (Familia TTL serie 74XX)

2.2.5. Funciones lógicas expresadas en forma canónica

Término canónico de una función lógica. Minterms y maxterms

Se llama término canónico de una función lógica a todo producto o suma en el que aparecen todas las variables (o sus complementos) de dicha función. A los términos producto se les llama productos canónicos o minterms y a los términos suma se les llama sumas canónicas o maxterms.

Forma canónica de una función lógica. Formas Equivalentes Una función lógica se encuentra en forma canónica cuando se expresa como suma de

productos canónicos o como producto de sumas canónicas.

Dada la función definida por la siguiente tabla de verdad, ésta se puede expresar como: A B C f 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1

Page 72: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.7

a) Suma de minterms: para cada combinación de variables de entrada en la que la función valga 1 se asigna al 1 la variable y al 0 la variable complementada.

CBACBACBACBAf b) Producto de maxterms: para cada fila en la que la función valga 0, se asigna al 0 la variable y al 1 la variable complementada.

CBACBACBACBAf

Las dos funciones son equivalentes: conducen a dos circuitos diferentes, pero definen la

misma función de conmutación. En general, a la hora de elegir suma de minterms o productos de maxterms se tomará la que genere la función más simplificada, es decir, la de menor número de términos. No obstante, y como luego se verá, existen métodos para simplificar dichas expresiones.

2.3. TEOREMAS DEL ÁLGEBRA DE BOOLE

Los teoremas del álgebra de Boole conducen a la obtención de expresiones equivalentes para una función lógica dada. Esta expresión equivalente puede poseer una serie de características como pueden ser: el realizarse con un solo tipo de puertas, con el mínimo número de puertas, etc.

Un conjunto dotado con una operación algebraica y denominada unión de conjuntos ( ) que equivale a la suma lógica (+), y otra operación algebraica denominada intersección de

conjuntos ( ) que equivale al producto lógico (·), es un álgebra de Boole si y sólo si verifican las propiedades:

P1.- Ley Conmutativa: A + B = B + A

A · B = B · A

P2.- Ley Distributiva: A ·(B + C) = A · B + A · C

A + (B · C) = (A + B) · (A + C)

P3.- Elemento Identidad:

0 + A = A

1 · A = A

P4.- Elemento Complementario:

0AA

1AA

Una expresión o forma booleana puede utilizarse para describir una función lógica o de

conmutación. Existen una serie de teoremas en el álgebra de Boole que permiten la obtención de expresiones equivalentes simplificadas para una función lógica dada.

T1.- Ley asociativa: (A + B) + C = A + (B + C)

(A · B) · C = A · (B · C)

T2.- Idempotencia: A + A = A

A · A = A

Page 73: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.8

T3.- Doble negación:

AA

T4.- Ley de Absorción: A + (A · B) = A

A ·(A + B) = A

T5.- Teorema de De Morgan: la negación de la unión o suma lógica de dos variables es igual a la intersección o producto lógico de la negación de cada una de las variables y viceversa.

BABA

BABA

T6.- Teorema de Shannon:

,...,C,B,Af,...,C,B,Af

A continuación se va a realizar un ejemplo de aplicación de los teoremas de De Morgan de tal forma que el resultado sea el mismo, pero más simplificado.

Ejemplo: dada la función lógica CACBAf , simplifíquese usando las propiedades y

teoremas del álgebra de Boole.

A)A(A iaIdempotencCBAAf

A)BA(A AbsorciondeLey CBABAAf

A)·1(A Identidadelem.1),C(C arioComplement Elem.CBCCABAAf

CCA)CAC(A vaDistributiLey CBCACABAAf

0)C(C arioComplement Elem.CCCBCACABAAf

A)A(A iaIdempotencCCCBCACABAAAf

vaDistributiLey CACBAf

A)A( negacion DobleCACBAf

Morgan De de TeoremaCACBAf

Solución: CBAf

Como ejemplos de aplicación resueltos se da la expresión simplificada al máximo de las siguientes funciones lógicas usando las propiedades y teoremas del álgebra de Boole:

BACBAf Af

CBACBACBABAf CBABAf

CBACBACBACBACBACBAf f = A + B · C + B · C

CBABACBACBAABAf CBAf

Page 74: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.9

2.4. SIMPLIFICACIÓN DE EXPRESIONES BOOLEANAS 2.4.1. Minimización

Como se ha podido observar, formas booleanas distintas pueden expresar la misma

función lógica. La realización física de una función lógica considera la expresión que minimice el coste y maximice la fiabilidad del circuito diseñado.

Es deseable, en general, obtener una expresión en forma de suma de productos, o

productos de sumas, que posea un mínimo número de términos con el menor número de variables en cada uno de ellos. Esto conducirá a la utilización de un mínimo número de puertas lógicas, conduciendo así a un diseño más económico.

2.4.2. Tablas de Karnaugh Una tabla de Karnaugh es una forma de representar la tabla de verdad de una función

lógica de tal manera que la disposición de las combinaciones de valores es muy útil. En éstas se representa la tabla de verdad de una función lógica de modo que la disposición de las combinaciones de valores facilita la simplificación. La figura 2.10 muestra tablas para una, dos, tres y cuatro variables. Existe una correspondencia entre cada celda y una combinación de valores de variables binarias de entrada. A cada celda se le asigna el valor que toma la función para los valores de las variables de entrada que se corresponden con la mencionada celda. No se considerarán tablas de Karnaugh para un número mayor de variables.

En una tabla de Karnaugh, las combinaciones de valores de las variables binarias de

entrada correspondientes a celdas adyacentes difieren en el valor de una variable. En esta tabla están representadas todas las combinaciones de las variables en los encabezados de las filas y las columnas. El orden de dichas filas y columnas es tal que se diferencian en un valor entre dos combinaciones adyacentes.

A

B

A 0 1 BC

A 00 01 11 10 CD

AB 00 01 11 10

0 00

0 0 1

0 00 10 30 20

00 00 10 30 20

1 10

1 2 3

1 40 50 70 60

01 40 50 70 60

11 120 130 150 140

10 80 90 110 100

Figura 2.10. Tablas de Karnaugh para 1, 2, 3 y 4 variables. En el interior de cada celda se ha consignado el valor decimal de la combinación binaria asociada a la celda en cuestión Así, y por ejemplo, el procedimiento para utilizar una tabla de Karnaugh, de cuatro

variables, se basa en los siguientes pasos:

1.- Construir la tabla rellenando con unos y ceros las celdillas que correspondan.

2.- Se agrupan las celdas contiguas marcadas con unos con arreglo a los siguientes criterios:

Grupos de unos aislados: generan productos de términos con todas las variables (ejemplo: A · B · C · D).

Page 75: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.10

Grupos de dos unos que no puedan formar grupos de cuatro. Generan productos de términos de tres variables a los que falta la variable que cambia de valor (ejemplo: A · C · D).

Grupos de cuatro unos que no puedan formar grupos de ocho. Generan productos de términos de dos variables a los que falta las dos variables que cambian de valor (ejemplo: B · D)

Grupos de ocho unos. Son grupos que generan términos de una variable eliminando las tres que cambian de valor.

Ejemplo: a partir de la función f, cuya tabla de verdad se adjunta en la figura 2.11, obtener

su expresión simplificada mediante Karnaugh.

A B C D f

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

Figura 2.11. Tabla de verdad de la función f

CD

AB 00 01 11 10

00 1

01 1 1 1

11 1 1

10 1

Figura 2.12. Tabla de Karnaugh de la función f con los grupos de unos formados

Se suman los grupos conseguidos obteniendo la expresión de la función lógica en forma

irreducible.

f = A · B · C · D + A · C · D + B · D

También se puede expresar la función como producto de sumas (maxterms), usando el mismo procedimiento, considerando las celdas con ceros en vez de las que contienen unos (figura 2.13).

Page 76: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.11

CD AB

00 01 11 10

00 0 0 0

01 0

11 0 0

10 0 0 0

Figura 2.13. Tabla de Karnaugh con los grupos de ceros formados La función, convenientemente simplificada, será: _ _ _ _ _ _ f = ( A + B + C ) · ( A + B + D ) · ( B + C + D ) · ( A + B + D ) · (A + C + D )

2.4.3. Implicantes Para sistematizar el proceso de simplificación mediante las tablas de Karnaugh, trabajando

con minterms, se introducen una serie de definiciones a continuación:

Implicantes de una función: Son los minterms a los que se les pueden aplicar las reglas de minimización con sus

adyacentes.

Implicante primo: es un implicante que no es subconjunto de otro implicante.

Implicante primo esencial: es un implicante primo que incluye una celda marcada con 1 que no está incluida en

ningún otro implicante primo.

El proceso de minimización mediante tablas de Karnaugh puede, por tanto, resumirse en los siguientes pasos:

1.- Determinar todos los implicantes primos.

2.- Determinar todos los implicantes primos esenciales.

3.- Formar un conjunto mínimo de implicantes primos que incluya todos los esenciales y que cubran todas las celdas marcadas con 1. Si hay que elegir entre dos implicantes primos se elegirá el de menor número de variables.

Page 77: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.12

Como no sirve para eliminar una variable, la ignoramos

Ejemplo: Sea una función cuya tabla de Karnaugh es la siguiente: CD

AB

00 01 11 10

00 1 W Z

01 1 1

11 1 1

10 X Y 1 1

2.4.4. Funciones incompletamente definidas A veces aparecen funciones para las que no se especifica su valor ante ciertas

combinaciones de las variables de entrada. Esto se debe a que el valor tomado por la función ante determinadas combinaciones de entrada es irrelevante para el cometido de ésta, o bien, porque en la práctica no se van a dar dichas combinaciones de las variables de entrada. En estos casos se dice que la función está “incompletamente definida.”

En la tabla de Karnaugh, éstos términos se indican con una X y su valor es el que más

convenga en cada situación, ignorándolos si no ayudan a eliminar una variable.

Ejemplo: CD

AB 00 01 11 10

00 1 X

01 1 1

11 1 X

10 X 1 X

La expresión mínima de la función es:

CADBADCBf

2.5. DISEÑO DE CIRCUITOS Algunas veces se intenta en el diseño real de un circuito obtener una expresión utilizando

un único tipo de puerta lógica, ya que en ocasiones sólo se dispone de ese tipo de puertas. Como criterio general se puede decir que la simplificación de funciones lógicas está encaminada a la obtención de un diseño que utilice el menor número de circuitos integrados.

Veamos a continuación, una serie de ejemplos de diseño de circuitos.

DBAX Implicantes: ........................... X, Y, Z, W

DCBY Implicantes primos: ............... X, Y, Z, W

CAZ Impl. primos esenciales: ........... X, Z, W

DCBAW

X y Z cubren todas las celdas con 1 excepto la 0000 (W) . La expresión mínima de la función es:

CADBADCBAF

Page 78: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.13

Ejemplo 1:

Sea la función CACBBAf . Realícense las transformaciones necesarias para

implementar dicha función con puertas NAND, ya que sólo se dispone de dos circuitos integrados 7410.

El integrado 7410 contiene tres puertas NAND de tres entradas, por lo que se dispone de

seis puertas.

Se tiene que preparar la función para implementarla con puertas NAND. Para ello se aplica la doble negación sobre la función f pasando de suma de productos a producto de productos, cada uno de los cuales se implementará con una puerta NAND.

CACBBAf por el teorema de De Morgan CACBBAf

A y B se obtienen mediante puertas NAND con todas sus entradas unidas, comportándose éstas como puertas NOT.

Por tanto, se han necesitado las seis puertas de los dos circuitos integrados de los que se

dispone, según muestra la figura 2.14.

Figura 2.14. Circuito que implementa la función CACBBAf

con puertas NAND de tres entradas.

Ejemplo 2:

Sea la función CACBBAf . Realícense como en el ejemplo anterior, las

transformaciones necesarias teniendo en cuenta que ahora se dispone de dos circuitos integrados 7402.

El integrado 7402 contiene cuatro puertas NOR de dos entradas, por lo que se dispone de

ocho puertas. Se tiene que preparar la función para poderla implementar con puertas NOR. Para ello se

aplica la doble negación sobre la función f pasando de producto de sumas a suma de sumas, cada uno de los cuales se implementaran con una puerta NOR.

CACBBAf

Aplicando el teorema de De Morgan:

CACBBAf CACBBAf

A se obtiene mediante una puerta NOR con todas sus entradas unidas comportándose como puertas NOT.

Page 79: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.14

Se necesitan siete de las ocho puertas de los dos circuitos integrados de los que se dispone para poder implementar la función obtenida con puertas NOR de dos entradas, tal y como muestra la figura 2.15.

Figura 2.15. Circuito que implementa de la función CACBBAf

con puertas NOR de dos entradas

Ejemplo 3:

Sea un tanque (figura 2.16) en el que se mezclan compuestos químicos. En él existen tres detectores: de presión (P), de temperatura (T) y de nivel (N). Cualquiera de las tres combinaciones siguientes debe activar una alarma:

1.- Nivel alto con alta temperatura. 2.- Nivel alto con alta presión. 3.- Alta temperatura y alta presión.

Figura 2.16. Tanque con tres detectores

A continuación en la figura 2.17 se representa la tabla de verdad de un circuito lógico que

produce una señal de alarma para las tres variables de entrada, antes mencionadas.

N T P f

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 1 1 1 1 1

Figura 2.17. Tabla de verdad

La función lógica que se obtiene es expresada en forma canónica.

PTNPTNPTNPTNf

Page 80: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Álgebra de Boole y los circuitos combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.15

Supongamos que sólo contamos con puertas NAND, concretamente un circuito integrado

con tres puertas NAND de tres entradas (7410) . Se tendrá que simplificar la función al máximo para luego implementarla con este tipo de puertas.

Una simplificación de esta función se puede obtener desarrollando la tabla de Karnaugh de

la función bajo estudio.

TP N

00 01 11 10

0 0 0 1 0

1 0 1 1 1

Existen tres grupos de dos unos, por lo que la función lógica simplificada que obtenemos es:

TNPNPTf

La función implementada, usando únicamente puertas NAND de tres entradas se muestra

en la figura 2.18.

Figura 2.18. Función correspondiente al ejercicio 3 implementada con puertas NAND

Page 81: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.1

CAPÍTULO 3

3.1. INTRODUCCIÓN Un circuito combinacional es aquél que está formado por funciones lógicas elementales que poseen un número de entradas y otro de salidas, de forma que los valores de éstas en un determinado instante dependen exclusivamente del valor que poseen aquéllas en dicho instante.

El proceso a seguir para realizar un circuito digital combinacional es el siguiente:

A partir de las especificaciones de entrada y salida se confecciona la tabla de verdad de cada una de las salidas.

Se obtiene una función simplificada para cada salida.

Se implementan las funciones obtenidas, eligiendo el tipo de puertas y la familia de circuitos integrados más idónea.

En este tema se van a tratar los circuitos que efectúan operaciones básicas aritméticas, es

decir, la suma y la resta, ya que la multiplicación es fundamentalmente la suma repetitiva, y la división una resta encadenada.

Además, se van a estudiar circuitos combinacionales relacionados con la transferencia de información tales como multiplexores, los cuales a partir de varias señales de entrada y mediante señales de control seleccionan una de aquéllas para que aparezca a la salida. Los demultiplexores realizan el proceso contrario.

Por otra parte, al diseñar un sistema digital es necesario codificar en forma binaria la información numérica y alfanumérica con la que trabaja el sistema. A tal efecto, existen los circuitos combinacionales denominados codificadores. El proceso contrario lo realizan los decodificadores.

SISTEMAS DIGITALES COMBINACIONALES (II)

Page 82: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.2

3.2. CIRCUITOS SUMADORES 3.2.1. Suma de números binarios

Las operaciones aritméticas realizadas con el sistema binario son análogas a las realizadas con el sistema decimal. Por ejemplo, la suma de números binarios se hace igual que en el sistema decimal, sumando dígitos que tienen el mismo peso o valor relativo.

La tabla de la suma en el sistema binario es la siguiente:

0 + 0 = 0

0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (acarreo 1)

En este ultimo caso (1+1), se obtiene un número de dos bits en el que el 0 será el resultado de la suma y al 1 se le llamará acarreo (carry, en inglés). 3.2.2. El semisumador

El semisumador (SS) realiza la suma aritmética de dos bits. Se trata de un sistema combinacional de dos variables de entrada y dos funciones de salida: la suma binaria S y el acarreo C. La tabla de verdad que define el sistema será:

A B S C

0 0 0 0 0 1 1 0

1 0 1 0

1 1 0 1

El circuito resultante es el de la figura 3.1.

Figura 3.1. Circuito semisumador y su símbolo

3.2.3. El sumador completo

Cuando intervienen operandos de dos o más dígitos binarios la adición se complica por el acarreo que se puede generar en cada una de las sumas parciales.

El sumador completo (SC) es un circuito capaz de sumar tres bits del mismo peso, dando a su

salida la suma y el acarreo. Cn-1 C2 C1

A = An ------------- A3 A2 A1 B = Bn ------------- B3 B2 B1

A+B = Cn Sn ------------- S3 S2 S1

Cn-1 C2 C1

S = A B

C = A · B

Page 83: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.3

De la suma anterior se desprende la necesidad de un sumador con tres entradas (A i, Bi y el

acarreo C 1i ) y dos salidas, Si y Ci (dígito suma y acarreo generado). La tabla de verdad de este

sumador es:

Ai Bi Ci-1 Si Ci

0 0 0 0 0 0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Tras aplicar las tablas de Karnaugh se obtiene:

El circuito resultante es el de la figura 3.2.

Figura 3.2. Circuito sumador completo y su símbolo

3.2.4. El sumador paralelo con acarreo serie

Si las cantidades a sumar necesitan más de dos bits para su representación, dichos bits se presentan a la vez en las entradas del circuito. En consecuencia, serán necesarios tantos sumadores totales como bits tenga el mayor de los sumandos.

Una de las formas de realizar la suma en paralelo es generando el acarreo en serie, de forma que en cada sumador se suman los dos bits del mismo peso de ambos números y el acarreo de la suma de los bits de peso inferior. El circuito se muestra en la figura 3.3.

Si = Ai Bi Ci-1

Ci = Ai · Bi + Ai · Ci-1 + Bi · Ci-1

Page 84: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.4

’0’

Figura 3.3. Sumador paralelo con acarreo serie

Con este funcionamiento se ha comercializado el doble sumador completo (DSC) , que suma

dos números de dos bits y un acarreo de entrada, y el cuádruple sumador completo (CSC), que suma dos números de cuatro bits y un acarreo de entrada. En la figura 3.4 se representan los bloques funcionales de estos circuitos.

Figura 3.4. Sumadores completos: a) doble sumador completo; b) cuádruple sumador completo; c) Sumador binario de cuatro bits 74283

3.3. MULTIPLEXORES

Los multiplexores son circuitos combinacionales con varias entradas y una única salida de datos. Estos circuitos están dotados de entradas de control capaces de seleccionar una, y sólo una, de las entradas de datos para permitir su transmisión desde la entrada seleccionada a la mencionada salida única.

La entrada seleccionada viene determinada por la combinación de 0 y 1 lógicos aplicados en las entradas de control. Para N entradas de datos se necesitan n entradas de control, siendo N = 2

n.

Podemos decir que un multiplexor es un selector de datos equivalente a un conmutador de N

entradas y una salida (figura 3.5).

Page 85: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.5

Figura 3.5. Multiplexor como conmutador con varias posiciones El diseño de un multiplexor, a partir de su tabla de verdad, es el mismo que cualquier sistema

combinacional. Por ejemplo, en un multiplexor de 4 entradas y 1 salida (fig. 3.6) con 2 entradas de control, su tabla de verdad se define dependiendo de la combinación de dichas entradas de control. Así, a la salida se transmite una u otra entrada de las cuatro posibles.

Entr. Control Entr. Datos Salidas

A B D0 D1 D2 D3 Z Z

0 0 0 X X X 0 1 0 0 1 X X X 1 0 0 1 X 0 X X 0 1 0 1 X 1 X X 1 0 1 0 X X 0 X 0 1 1 0 X X 1 X 1 0 1 1 X X X 0 0 1 1 1 X X X 1 1 0

Figura 3.6. Multiplexor de cuatro entradas de datos y una de salida. Tabla de verdad

A veces se le añade otra entrada suplementaria llamada “inhibición” o “strobe”, que cuando se activa, la salida toma el valor cero independientemente del valor de las entradas de datos y de control. Cuando está inactiva, la salida toma el valor de la entrada de datos seleccionada por las entradas de control. Esta entrada puede ser activa a nivel alto o a nivel bajo.

3.3.1. Extensión de multiplexores

Los multiplexores presentes en el mercado no suelen poseer más de 8 entradas. Para obtener multiplexores de un número mayor de entradas se tendrá que usar más de un multiplexor, por lo que, se suelen realizar acoplamientos entre multiplexores de 2, 4 y 8 entradas. Por ejemplo, para formar un circuito multiplexor de 32 entradas de datos se pueden usar cuatro multiplexores de 8 entradas y uno de 4 (figura 3.7) formando dos etapas.

Page 86: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.6

Figura 3.7. Conexionado de un multiplexor de treinta y dos entradas. ST= entrada de inhibición o STROBE

En la primera etapa tenemos las 32 entradas de datos de los cuatro multiplexores. Las salidas

de estos multiplexores alimentan las 4 entradas del multiplexor de la segunda etapa. Las entradas de control van multiplexadas a cuatro circuitos en la primera etapa. La presentación de la salida se condiciona por el terminal “strobe” del multiplexor de la última etapa, de manera que éste pueda inhibirla.

3.3.2. Aplicaciones de los multiplexores

Conversión paralelo serie En la figura 3.8 se muestra una solución sencilla, rápida y económica de convertir una

información presentada en paralelo en una información en serie.

A cada impulso del reloj, el contador (módulo 16), cuyo estudio se realizará en un tema posterior, da una salida codificada en 4 bits que se aplica a las entradas de control del multiplexor, de forma que los 16 datos presentados en paralelo pasan de uno en uno a la salida serie.

Page 87: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.7

Figura 3.8. Conversión paralelo-serie para 16 entradas en paralelo La figura 3.9 muestra la conversión de información presentada en paralelo, de 8 y 4 bits, en

una información en serie.

Figura 3.9. Conversión paralelo-serie para a) 8 bits y b) 4 bits

Generación de funciones

El circuito multiplexor tiene una configuración capaz de realizar funciones por medio de suma de productos. Así, es posible implementar una función lógica introduciendo las variables de la función y/o sus complementos en los terminales de entrada de datos y de control del multiplexor. En general, se puede construir una función de N variables mediante un multiplexor de N - 1 entradas de control. Así:

FUNCIÓN ENTR. DATOS MULTIP. ENTR. CONTROL MULTIP. 3 variables 4 entradas 2 entradas 4 variables 8 entradas 3 entradas 5 variables 16 entradas 4 entradas

N –1 variables cualesquiera de la función en cuestión se conectan a las entradas de control. En

las entradas de datos pueden aparecer: a) la variable restante, b) su complemento, c) el estado lógico 0 ó d) el estado lógico 1.

El procedimiento para sintetizar la función puede verse a continuación mediante un ejemplo. Ejemplo: considérese la función:

XYWWXYWYXWYXWYXWYXF ),,(

Como dicha función posee tres variables, se necesita un multiplexor de dos entradas de

control. Consideremos que X e Y se conectan a las entradas de control del multiplexor en cuestión. Veamos el valor que toma la función para las diferentes combinaciones de valores lógicos de estas variables:

Page 88: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.8

a) Si X = 0 e Y = 0:

WWWWWWWYXF ··········),,( 0000100111

Por tanto, se ha de conectar W a la entrada de datos D0.

b) Si X = 0 e Y = 1:

WWWWWWWYXF ··········),,( 1010001101

Por tanto, se ha de conectar W a la entrada de datos D1.

c) Si X = 1 e Y = 0:

WWWWWWWYXF ··········),,( 0101111010

Por tanto, se ha de conectar W a la entrada de datos D2.

d) Si X = 1 e Y = 1:

11111011000 WWWWWWYXF ··········),,(

Por tanto, se ha de conectar un 1 lógico a la entrada de datos D3.

En la figura 3.10 se muestra el circuito resultante

1

2

3

Figura 3.10. Generación de una función de tres variables mediante un multiplexor de 2 entradas de control

3.3.3. Multiplexores integrados

En la figura 3.11 se muestran algunos de los multiplexores integrados de la familia TTL serie 74XX disponibles en el mercado.

74150: multiplexor/selector de datos de 16 a 1.

74151: multiplexor/selector de datos de 8 a 1.

74257: cuádruple multiplexor/selector de datos de 2 a 1.

Page 89: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.9

74150

Figura 3.11. Circuitos multiplexores integrados

3.4. CODIFICADORES Un codificador es un circuito combinacional con N entradas y n salidas. En el caso de tratarse

de un codificador binario, N = 2n. De esta última forma se tendrán codificadores de 4 entradas y 2

salidas, 8 entradas y 3 salidas, etc. En este circuito combinacional, al activarse una sola entrada aparece a la salida la

representación del número asignado a la entrada con arreglo a un código. El codificador genera como salida una combinación de n bits que es única para cada entrada activada.

Dependiendo del número de entradas que pueden excitarse a la vez se tienen dos tipos de

codificadores, sin prioridad o con prioridad:

Sin prioridad: en este tipo solo pueden excitarse una entrada a la vez. En caso de presentarse la excitación de dos o más entradas a la vez, se activan todas las salidas correspondientes a cada entrada por separado.

Con prioridad: en este tipo ocurre que al excitarse más de una entrada, la combinación de salidas obtenida corresponde a la entrada de mayor valor decimal de entre las señaladas.

Un codificador muy común utilizado sería el que convierte el número decimal a la entrada a su

correspondiente representación según el código BCD natural, por lo que este codificador tendría diez entradas y cuatro salidas, como el que se muestra en la figura 3.12.

Page 90: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.10

Figura 3.12. Diagrama de bloques de un codificador de 10 entradas y cuatro salidas

La correspondencia entre entradas y salidas está representada por la siguiente tabla de verdad, de la que se deduce que el valor de cada salida será la suma lógica de las entradas que producen un 1 en la salida. Los valores que aparecen en las salidas forman el denominado código BCD.

ENTRADAS SALIDAS Y0 Y1 Y2 Y3

E0 0 0 0 0 E1 0 0 0 1 E2 0 0 1 0 E3 0 0 1 1 E4 0 1 0 0 E5 0 1 0 1 E6 0 1 1 0 E7 0 1 1 1 E8 1 0 0 0 E9 1 0 0 1

En la figura 3.13 se representa el circuito integrado 74147. Se trata del un codificador 10 a 4 con prioridad.

Figura 3.13. Codificador 74147

3.5. DECODIFICADORES El funcionamiento de un decodificador es opuesto al de un codificador, de manera que cada combinación de valores en las entradas pone a 1, una y sólo una de las salidas, permaneciendo las restantes salidas al valor 0.

980 EEY

76541 EEEEY

76322 EEEEY

975313 EEEEEY

Input

Page 91: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.11

Se pueden distinguir dos tipos básicos de decodificadores: Los excitadores y los no excitadores.

Los primeros son aquellos decodificadores en los que al introducir un código binario de n bits de entrada, se excita una sola salida. Un ejemplo de este tipo de decodificadores son los decodificadores de dos entradas con cuatro salidas y los decodificadores BCD-Decimal con cuatro entradas.

Los segundos son decodificadores que al introducir un código binario de n bits de entrada se excitan varias salidas simultáneamente. Un ejemplo es aquel que convierte el código BCD de sus entradas al formato de salida necesario para excitar un visualizador numérico o alfanumérico. Dentro de este tipo de decodificadores uno de los más utilizados en el diseño digital es el llamado decodificador excitador BCD-7 segmentos, que se verá a continuación.

3.5.1. Decodificador excitador BCD-7 segmentos

En la actualidad, se utilizan normalmente una serie de dispositivos de representación visual fabricados a base de siete segmentos o barras independientes, mediante las cuales se pueden presentar los dígitos decimales. Estos segmentos pueden ser cristales líquidos, diodos led, etc.

Para excitar estos dispositivos se han desarrollado toda una gama de decodificadores que reciben la información en código BCD, procedente de un ordenador o de un aparato de medida, y entregan siete salidas preparadas para alimentar los siete segmentos que componen cada dígito decimal. A continuación se verá la estructura de un decodificador excitador BCD-7 segmentos, que es uno de los más sencillos.

Dado que los cuatro bits con los que se representa el código BCD permiten hasta 16 combinaciones diferentes y sólo se utilizan 10 para dígitos decimales y 5 para signos especiales, la combinación que queda apaga todos los segmentos. Existe una entrada añadida a las de los cuatro bits del código, que sirve para impedir o permitir la salida del decodificador una vez introducida la entrada. Por lo tanto, el decodificador será un sistema combinacional de cinco entradas y siete salidas cuya tabla de verdad es la siguiente:

ENTRADAS SALIDAS Signo a representar Entradas de código Inhibición E3 E2 E1 E0 I a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 1 0 0 1 4 0 1 0 0 1 0 1 1 0 0 1 1 5 0 1 0 1 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 0 1 1 1 1 1 7 0 1 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 0 1 1 1 9 1 0 0 1 1 1 1 1 0 0 1 1 10 0 1 1 0 1 0 0 0 1 1 0 1 11 1 0 1 1 1 0 0 1 1 0 0 1 12 1 1 0 0 1 0 1 0 0 0 1 1 13 1 1 0 1 1 1 0 0 1 0 1 1 14 1 1 1 0 1 0 0 0 1 1 1 1 15 1 1 1 1 1 0 0 0 0 0 0 0 I X X X X 0 0 0 0 0 0 0 0

Page 92: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas digitales combinacionales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.12

En la figura 3.14 se ha representado el convenio de segmentos usados en este tipo de

presentación visual.

Figura 3.14. Decodificador Excitador BCD-7 segmentos y representación del visualizador

3.5.2. Decodificadores integrados

En la figura 3.15 se muestra algunos de los decodificadores integrados de la familia TTL serie 74 disponibles en el mercado.

7442: decodificador BCD-decimal.

7446: decodificador BCD-7 segmentos.

Figura 3.15. Circuitos decodificadores integrados

El circuito 7446 incorpora una entrada LAMP TEST (LT) que enciende todos los segmentos al poner un cero. También lleva las terminales RBI y RBO para suprimir los ceros iniciales de un número. Cuando la entrada RBI=0 y A=B=C=D, las salidas de los segmentos se ponen a 1 haciendo que se apaguen, y RBO se pone a 0.

Page 93: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 1

CAPÍTULO 4

4.1. CIRCUITOS COMBINACIONALES Y SECUENCIALES

Un sistema combinacional es aquél en el que, en un determinado instante, sus salidas toman un estado lógico que depende únicamente del estado lógico que adoptan sus entradas en dicho preciso instante. Estos sistemas se han estudiado a lo largo del tema anterior. Un ejemplo de circuito combinacional es un pulsador conectado a una bombilla de modo que esta última estará encendida siempre que active el pulsador y apagada cuando no actúe sobre él. Simplificando, puede decirse que el valor actual de cada una de las salidas de un circuito combinacional (figura 4.1) depende únicamente de los valores actuales de sus entradas.

Figura 4.1. Circuito combinacional

Un circuito secuencial es aquel circuito en el que los valores actuales de sus salidas

dependen de los valores actuales de las entradas y de los valores que dichas entradas han adoptado anteriormente (historia del sistema).

Los circuitos secuenciales, de la misma forma que los combinacionales, están constituidos

internamente por puertas lógicas. Sin embargo, a diferencia de éstos y como se ha dicho más arriba, en los secuenciales los valores de las salidas no dependen exclusivamente de los valores de las entradas, sino que además dependen de los que estuviesen presentes con anterioridad. Por tanto, puede ocurrir, que para iguales valores en las entradas se pueden obtener estados distintos en las salidas en momentos diferentes.

Los circuitos secuenciales tienen capacidad para recordar o memorizar los valores de las

variables de entrada. Es decir, las salidas de un circuito secuencial (figura 4.2) dependen de los valores presentes en las entradas y de la historia del sistema. Para memorizar dicha historia es necesario un conjunto de células elementales de memoria denominadas registro.

Un ejemplo de circuito secuencial es un interruptor que al actuar sobre él encenderá o

apagará la bombilla dependiendo del estado en el que se encontraba ésta, apagada o encendida.

SISTEMAS DIGITALES SECUENCIALES

Page 94: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 2

Figura 4.2. Circuito secuencial Un biestable será el elemento básico de memoria que, construido con puertas lógicas, es

capaz de almacenar un bit de información durante el tiempo que sea necesario mientras se encuentre alimentado. Un biestable es el circuito secuencial más elemental, capaz de almacenar información. Sólo cambiará la información almacenada cuando sean aplicadas señales adecuadas a sus entradas.

Un biestable o flip-flop puede tener dos tipos de entradas:

a) Síncronas: Son aquellas entradas que, una vez introducido el dato en una de ellas, hay que esperar un impulso exterior de reloj (clock en inglés) para que la salida quede afectada según esos datos aplicados a estas entradas.

b) Asíncronas: Son aquellas que modifican la salida en cuanto se produce el

cambio en la entrada, sin necesidad de una señal de reloj.

Algunos biestables poseen entradas síncronas y asíncronas, de forma que la acción de estas últimas posee prioridad frente a las primeras.

El terminal de reloj es la entrada que gobierna las entradas síncronas de un biestable, al

recibir por dicho terminal la denominada “señal de reloj”. Esto es útil porque, mediante una sola línea, se pueden gobernar varios biestables haciendo que los cambios de estado en sus salidas se produzcan de una manera síncrona o simultánea, es decir, todos al mismo tiempo.

El gobierno del reloj puede ser (figura 4.3) bien por nivel, con lo que el biestable actúa estando la señal de reloj en nivel alto (o bajo), o bien por la llegada del flanco, con lo que puede ser activado por subida o por bajada (edge triggered, en inglés).

Figura 4.3. Gobierno del reloj

En este tema se estudiarán los siguientes biestables:

Biestable R-S

Biestable J-K

Biestable D

Biestable T

Page 95: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 3

4.2. EL BIESTABLE R-S

Dentro de este tipo de biestable podemos distinguir cuatro variedades: R-S NOR, R-S NAND, R-S síncrono y R-S síncrono con entradas asíncronas.

4.2.1. Biestable R-S NOR

El biestable R-S NOR, que se muestra en la figura 4.4, posee dos entradas llamadas R

(RESET) y S (SET) y dos salidas denominadas Q y Q .

Figura 4.4. Biestable R-S NOR: circuito, símbolo y tabla de verdad

El funcionamiento de este biestable es:

Si S=1 y R=0 Q=1 y Q =0 SET.

Si S=0 y R=1 Q=0 y Q =1 RESET.

Si S=0 y R=0 se mantiene el valor anterior de Q (memoria).

Si S=R=1 Q= Q =0 estado no deseado.

Al aplicar un 1 lógico a la entrada S y un 0 lógico a la entrada R, la salida se pondrá a 1,

independientemente del valor que tuviera con anterioridad. Cuando aplicamos el valor 1 en la entrada R y el 0 a la entrada S, la salida será 0, con independencia del valor anterior. Cuando

R=S=1, ocurre que Q= Q =0, lo que entra en contradicción con la notación utilizada. Pero

además, si desde la situación R=S=1 pasamos a R=S=0, el estado final de Q es impredecible, por razones que exceden el propósito de este texto. Por eso se dice que la combinación de R=S=1 es “no deseada”.

4.2.2. Biestable R-S NAND

Es posible construir un circuito dual del anterior que posea la misma tabla de verdad, con puertas NAND, cuya estructura se muestra en la figura 4.5.

Figura 4.5. Biestable R-S NAND: circuito, símbolo y tabla de verdad

Al igual que sucede con el biestable R-S NOR, S=1 pone el biestable a SET, es decir, Q=1

y R=1 pone el biestable a RESET. S=R=0 no da lugar a cambios y S=R=1 hace que Q= Q =1,

pero a partir de esta última situación, al cambiar los valores de la entrada el estado final es imprevisible.

Page 96: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 4

4.2.3. Biestable R-S síncrono activo por nivel Se dice que un sistema o circuito digital es síncrono cuando éste sólo se activa en los momentos que define un generador de impulsos cuadrados de frecuencia fija, que actúa sobre todo el sistema. El generador de impulsos cuadrados y de frecuencia fija es lo que llamamos un reloj (clock, en inglés). Con la introducción de este reloj se evita así el desfase temporal que se puede introducir entre las señales que llegan a las puertas.

En la figura 4.6 se muestra el circuito del biestable R-S síncrono, su símbolo y su tabla de

verdad.

Figura 4.6.- Biestable R-S síncrono: circuito, símbolo y tabla de verdad.

Aunque las entradas del biestable R-S se modifiquen, éste no cambiará mientras la señal aplicada a C no se encuentre a nivel alto, momento en el que la información presente en R y S actualiza la salida del biestable.

Se puede decir que:

Cuando C=1, se tienen puertas AND TRANSPARENTES.

Cuando C=0, se tienen puertas AND BLOQUEADAS.

4.2.4. Biestable R-S síncrono activo por nivel con entradas asíncronas

Son biestables que además de tener entradas síncronas controladas por reloj, R y S, tienen entradas independientes que actúan de forma asíncrona, llamadas PRESET Y CLEAR. Las entradas asíncronas son activas a nivel bajo.

La figura 4.7 muestra el circuito del biestable R-S síncrono con entradas asíncronas, su símbolo y su tabla de verdad.

Figura 4.7. Biestable R-S síncrono con entradas asíncronas: circuito, símbolo y tabla de verdad

El funcionamiento de este biestable puede resumirse como sigue:

Si 0PR y 1CL fuerza a 1Q 1n .

Si 1PR y 0CL fuerza a 1Q 1n .

Page 97: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 5

Sí 1CLPR , las entradas asíncronas no actúan, por lo que el biestable

funciona en modo síncrono a partir de las entradas R y S.

Sí 0CLPR fuerza a *1QQ 1n1n , lo que provoca que al volver a

1CLPR el resultado sea imprevisible.

La acción de las entradas asíncronas prevalecen siempre sobre las síncronas.

4.2.5. Cronogramas del biestable R-S

Un cronograma consiste en la representación gráfica de la evolución temporal de algunas de las señales presentes en un circuito digital. En la figura 4.8 se muestran algunos cronogramas relacionados con el funcionamiento del biestable tipo R-S para ayudar a su comprensión. En dichos cronogramas cabe destacar los siguientes comportamientos:

En el biestable R-S asíncrono (ya sea NOR o NAND), los cambios en las entradas R y S se reflejan inmediatamente en la salida.

En el biestable R-S síncrono, los cambios en las entradas R y S se reflejan en la salida si coinciden con un nivel alto de tensión del reloj.

En el biestable R-S síncrono con entradas asíncronas, las entradas asíncronas prevalecen siempre.

Figura 4.8. Cronogramas del funcionamiento de los biestables R-S

4.3. EL BIESTABLE J-K

Anteriormente se pudo observar cómo en todos los biestables aparecía el problema de la combinación indeseada R=S=1 a su entrada. Para solucionar este conflicto se recurre al biestable J-K, mejorado en este aspecto.

El diseño del biestable J-K (figura 4.9) se obtiene añadiendo al biestable R-S dos puertas AND y una realimentación desde las salidas a dichas puertas de forma que ahora la situación

J=1, K=1 en las entradas genera el estado nQ a la salida.

Page 98: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 6

Figura 4.9. Biestable J-K

Uno de los problemas que pueden presentar los biestables J-K es que debido a la doble realimentación existente en su circuito puede dar lugar a oscilaciones, lo que hace que este tipo de biestables no tenga aplicación práctica.

Este problema se puede resolver utilizando biestables de mayor complejidad interna, como

es el caso de los llamados biestables maestro-seguidor o el biestable J-K disparado por flanco.

4.3.1. Biestable J-K maestro–seguidor (Master-Slave)

Este biestable soluciona el problema de inestabilidades que existen en los biestable J-K clásicos, ya que aísla la salida y la entrada de forma que no pueda existir un camino de realimentación no deseado.

Para explicar el funcionamiento de este tipo de biestables, estudiaremos el circuito típico

representado en la figura 4.10.

1

0

Figura 4.10. Biestable J-K maestro-seguidor

Como se puede observar, existen distintos puntos clave que sirven para ayudar a comprender cómo funciona el biestable maestro-seguidor.

Cuando el reloj está a nivel bajo, las entradas del biestable maestro se encuentran a 0 quedando independizado de las entradas J y K. Al mismo tiempo, las puertas que preceden al biestable seguidor fijan que las entradas de este biestable sean iguales a las salidas del maestro, con lo que el seguidor estará, forzosamente, en la misma situación que el maestro.

Cuando el reloj pasa a nivel alto, las puertas anteriores al seguidor interrumpen la comunicación entre éste y el maestro, por lo que las entradas de seguidor son 0, es decir, se mantienen en el estado anterior. Por otro lado, las puertas precedentes al maestro se abren, estableciendo la comunicación entre las entradas J y K del biestable con las del biestable maestro.

Al mismo tiempo, las realimentaciones que van desde las salidas Q y Q a las puertas de entrada evitan que en las entradas del maestro pueda producirse la situación de tener ambas a 1. Además, la lógica que establecen las dos primeras puertas obliga al maestro a tomar el estado que ordenen las entradas J y K.

Cuando el reloj vuelve a nivel bajo, el seguidor reproduce la situación en que se encuentra el maestro en este momento, mientras que el maestro queda aislado del exterior.

Q n

Page 99: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 7

En este tipo de biestables, el seguidor sólo puede cambiar en el momento en que el reloj pasa de nivel alto a bajo, que es cuando se actualizan sus entradas.

Por otro lado, el maestro se encuentra conectado a las entradas J y K durante todo el tiempo en que el reloj está en nivel alto, por lo que podrá cambiar en cualquier momento en que se produzca una variación en las entradas J-K durante este intervalo de tiempo. Por esta razón, para que tengamos un funcionamiento correcto del biestable es necesario que los impulsos de reloj sean de corta duración en relación con su periodo de repetición y que, por supuesto, las entradas J y K no cambien durante ese impulso de reloj.

4.3.2. Biestable J-K disparado por flanco

Un biestable disparado por flanco es aquel que actualiza sus salidas en función de las entradas y de la señal de reloj (cuando esta última realiza una transición de nivel alto a nivel bajo -flanco negativo o de bajada- o bien de nivel bajo a nivel alto -flanco positivo o de subida).

La figura 4.11 muestra el símbolo y la tabla de verdad del biestable J-K disparado por

flanco.

Figura 4.11. Biestable J-K disparado por flanco (7476)

Al volver de la situación PR=CL=1 a PR=CL=0, se produce una indefinición (con un asterisco en la tabla) ya que no se puede predecir el valor de Qn+1. Por lo tanto, PR=CL=1 se dice que es una combinación indeseada.

De los dos flancos de impulso del reloj, sólo uno de ellos es activo tanto para la lectura de las entradas como para la transición de las salidas.

Las entradas deben ser estables un cierto tiempo previo al flanco activo, produciéndose la transición con un cierto tiempo de retardo respecto a ese flanco. La duración del impulso del reloj y la posición relativa del flanco activo no es importante.

4.3.3. Cronogramas del biestable J-K disparado por flanco

En la figura 4.12 aparecen unos cronogramas de funcionamiento del biestable J-K disparado por flanco negativo con entradas asíncronas, a modo de ejemplo.

* *

Page 100: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 8

Fig.4.12.Cronogramas de funcionamiento del biestable J-K disparado por flanco negativo con entradas asíncronas (7476)

4.4. EL BIESTABLE D (RETARDADO)

Es un biestable que se emplea para dar lugar a un retardo. Se obtiene a partir del biestable J-K añadiendo un inversor entre ambas entradas, de manera que la entrada K sea la complementaria de la J. Así, el biestable tipo D dispone de una entrada de señal o dato y una de reloj o de control, además, tiene una salida Q que, en algunos casos, se convierte en dos cuando se incorpora la complementaria (figura 4.13).

Figura 4.13. Biestable D activado por flanco de subida (7474)

Su funcionamiento es muy sencillo:

Cuando en la entrada de control hay presencia de un flanco positivo, la salida toma el valor que existe en la entrada, o dicho de otro modo, se transfiere el valor de D a Q.

En ausencia de flancos positivos, la salida se mantiene.

Si 1CLPR fuerza a *1QQ 1n1n , lo que provoca que al volver a

0CLPR el resultado sea imprevisible. Por lo tanto, PR=CL=1 se dice que es

una combinación indeseada.

Si denominamos bit al dato que se va introducir a través de la entrada D del flip-flop, éste se transferirá a la salida en el próximo impulso del reloj y, por lo tanto, la unidad funcionará como un elemento que retrasa un bit. Este biestable tiene utilidad en sistemas digitales síncronos que han de disponer de una señal retardada un ciclo de reloj. Este tipo de biestables se conocen también bajo el nombre de biestables “latch" o cerrojo.

X

Page 101: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 9

4.4.1. Cronogramas del biestable D disparado por flanco

En la figura 4.14 aparecen unos cronogramas de funcionamiento del biestable D disparado por flanco positivo con entradas asíncronas, a modo de ejemplo.

Figura 4.14. Cronogramas de funcionamiento del biestable D disparado por flanco positivo

4.5. EL BIESTABLE T El biestable tipo T (Toggle) es un biestable que posee una sola entrada y dos salidas complementarias. Es un biestable que no se fabrica como tal, pero se construye fácilmente a partir de un biestable J-K, uniendo sus dos entradas (figura 4.15). La forma de obtener un biestable T activado por flanco es análoga a la de otros biestables síncronos, una entrada T (las dos entradas del biestable J-K) para datos y la entrada de reloj. En la figura se representa su esquema junto con su tabla de verdad.

Figura 4.15. Biestable T

4.6. BIESTABLES INTEGRADOS

La figura 4.15 muestra algunos de los biestables integrados de la familia TTL serie 74 disponibles en el mercado.

7476: Doble biestable J-K.

7472: Biestable J-K maestro-esclavo.

74109: Doble biestable J-K disparado por flanco de bajada.

74112: Doble biestable J-K disparado por flanco de bajada.

74175: Cuádruple biestable D disparado por flanco.

7474: Doble biestable D disparado por flanco de subida.

T Q n Q 1n

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

T

Page 102: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Sistemas secuenciales

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág. 10

Figura 4.15. Biestables integrados

Page 103: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.1

CAPÍTULO 5

5.1. INTRODUCCIÓN

En este capítulo se contemplan dos de los circuitos más importantes utilizados en los sistemas digitales: los contadores, que cuentan impulsos utilizando un código determinado y los registros, los cuales almacenan y transfieren datos.

5.2. CONTADORES DIGITALES

Un contador puede ser considerado como un circuito que recuerda el número de impulsos que se le han aplicado. Esencialmente, los contadores digitales son circuitos formados por cadenas de biestables realimentados de diversas formas.

Se puede definir el módulo del contador como el número de estados (N) por los que pasa el contador antes de reciclarse (un contador se recicla cuando todos los biestables que lo componen presentan un 0 lógico a su salida). También se dice que un contador de N estados es un divisor de frecuencia por N, o simplemente, divisor por N. Puesto que cada biestable tiene dos estados posibles, un contador de n biestables tiene un máximo de 2

n estados (2

n=N), siendo cada estado una

combinación diferente de los ceros y unos almacenados en los biestables individuales.

Los contadores se clasifican en:

Contadores asíncronos.

Contadores síncronos.

5.2.1. Contadores asíncronos

El contador asíncrono es el más simple y fácil de diseñar. Se llama asíncrono porque los biestables que lo componen no están gobernados por el mismo impulso de reloj, sino que la salida de cada biestable se usa como reloj para el siguiente, es decir, las entradas de reloj no actúan simultáneamente sino secuencialmen te.

La figura 5.1 representa un contador asíncrono de módulo 8 (divisor por 8) formado por tres etapas de biestables J-K activados por flancos de bajada, que usa la máxima capacidad de cuenta (3 biestables, 2

3 = 8 estados).

CONTADORES Y REGISTROS

Page 104: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.2

La señal de entrada (impulsos a contar) se aplica a la entrada de reloj del primer

biestable y la salida de cada uno de ellos se conecta a la entrada de reloj de la etapa siguiente. La salida Q0 se actualiza cuando la entrada de reloj del primer biestable pasa de nivel alto a nivel bajo, Q1 se actualiza cuando Q0 presenta un flanco de bajada y así sucesivamente. La cuenta se obtiene observando la secuencia de Q 2 Q1

Q0 , que completa un ciclo al contar del cero (000) al siete (111) después de lo cual vuelve a su estado inicial.

Figura 5.1. Contador asíncrono de módulo 8 formado por biestables J-K: diagrama lógico y cronograma

Estos contadores se pueden implementar utilizando biestables tipo D activados por flanco

de subida. La figura 5.2 muestra un contador asíncrono de módulo 8.

Figura 5.2. Contador asíncrono de módulo 8 formado por biestables D Hasta ahora se ha considerado que los biestables usados en los contadores son ideales

en el sentido en que la acción de las entradas activas se refleja instantáneamente en las salidas. En consecuencia se ha considerado que el retardo de propagación (tpd) entre la acción de las primeras y el efecto que produce en las segundas es nulo. En realidad, el valor de tpd no es despreciable en los biestables reales. Ello produce que al conmutar en serie las cadenas de biestables, estos retardos de propagación sean aditivos. Esta situación provoca una relativa lentitud.

El mayor retardo aparece cuando el ciclo de cuenta termina y comienza uno nuevo. Así, en el caso de un contador asíncrono de módulo 8, el mayor retardo se produce en el paso de 111

Page 105: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.3

a 000, en el que el tiempo de retardo acumulado (Tret) , como puede observarse en la figura 5.3, es igual a:

pdret tT 3

Figura 5.3. Efecto del retardo de propagación

La separación entre impulsos a contar, es decir, la máxima frecuencia de trabajo del contador, depende de la suma de los retardos de cada biestable, por lo que en este caso:

pdret tTf

3

11máx

En general:

pdtnf

1máx

Donde n = número de biestables del contador

La máxima frecuencia de trabajo del contador adquiere valores relativamente bajos, lo que supone una limitación en su utilización, cuando la frecuencia de los impulsos a contar crece. Esta desventaja se supera utilizando los contadores síncronos, caracterizados principalmente porque sus biestables actualizan sus salidas simultáneamente.

5.2.2. Contadores síncronos

Los contadores síncronos se caracterizan porque todos sus biestables están controlados por la misma señal de reloj, eliminando así el problema del retardo acumulativo que producen los contadores asíncronos

El diseño de estos contadores, no tan sencillo como el de los asíncronos, se realiza a partir

de los siguientes pasos:

Elección del número de biestables.

Elección del biestable, cuyas tablas de excitación son los siguientes:

Page 106: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.4

Biestable R-S Biestable D Biestable J-K

Estado Estado Excitación Estado Estado Excitación Estado Estado Excitación Actual Siguiente requerida actual siguiente requerida actual siguiente Requerida

Q n Q n + 1 Sn R n Q n Q n+ 1 D n Q n Q n+ 1 J n Kn

0 0 0 X 0 0 0 0 0 0 X 0 1 1 0 0 1 1 0 1 1 X 1 0 0 1 1 0 0 1 0 X 1 1 1 X 0 1 1 1 1 1 X 0

En dichas tablas ocurre que: -Las variables de entrada son los estados por los que ha de pasar el contador. -Las variables de salida son las excitaciones de las entradas síncronas de los biestables.

Mediante los mapas de Karnaugh, se determinan las funciones lógicas simplificadas que relacionan las anteriores variables.

Ejemplo: diseñar un contador síncrono para 16 estados utilizando biestables J-K (C.I. 7476).

Como se han de codificar 16 estados se necesitan N = 4 bits (4 biestables). Tomando

como variables de entrada las salidas de los biestables (Q0,Q1,Q2,Q3) y como variables de salida sus entradas síncronas (J0K0, J1K1, J2K2, J3K3), la tabla de verdad para este caso será:

Q3n Q2n Q1n Q0n Q3(n+1) Q2(n+1) Q1(n+1) Q0(n+1) J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X 0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1 0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X 0 1 0 1 0 1 1 0 0 X X 0 1 X X 1 0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X 0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1 1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X 1 0 0 1 1 0 1 0 X 0 0 X 1 X X 1 1 0 1 0 1 0 1 1 X 0 0 X X 0 1 X 1 0 1 1 1 1 0 0 X 0 1 X X 1 X 1 1 1 0 0 1 1 0 1 X 0 X 0 0 X 1 X 1 1 0 1 1 1 1 0 X 0 X 0 1 X X 1 1 1 1 0 1 1 1 1 X 0 X 0 X 0 1 X 1 1 1 1 0 0 0 0 X 1 X 1 X 1 X 1

A partir de la tabla de verdad, y mediante los mapas de Karnaugh, se simplifican las

funciones lógicas a aplicar a las entradas de los biestables. Así:

J0 K0

Q1Q0

Q3Q2 00 01 11 10

Q1Q0

Q3Q2 00 01 11 10

00 1 X X 1

00 X 1 1 X

01 1 X X 1

01 X 1 1 X

11 1 X X 1

11 X 1 1 X

10 1 X X 1

10 X 1 1 X

Page 107: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.5

J1 K1

Q1Q0

Q3Q2 00 01 11 10

Q1Q0

Q3Q2 00 01 11 10

00 0 1 X X

00 X X 1 0

01 0 1 X X

01 X X 1 0

11 0 1 X X

11 X X 1 0

10 0 1 X X

10 X X 1 0

J2 K2

Q1Q0

Q3Q2 00 01 11 10

Q1Q0

Q3Q2 00 01 11 10

00 0 0 1 0

00 X X X X

01 X X X X

01 0 0 1 0

11 X X X X

11 X X X X

10 0 0 1 0

10 0 0 1 0

J3 K3

Q1Q0

Q3Q2 00 01 11 10

Q1Q0

Q3Q2 00 01 11 10

00 0 0 0 0

00 X X X X

01 0 0 1 0

01 X X X X

11 X X X X

11 0 0 1 0

10 X X X X

10 0 0 0 0

J0 = K0 = 1 J1 = K1 = Q0

J2 = K2 = Q1 Q0

J3 = K3 = Q2 Q1 Q0

Implementando las funciones simplificadas, se llega al circuito de la figura 5.4.

Figura 5.4. Contador síncrono de 16 estados con biestables J-K

Page 108: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.6

Estos contadores se caracterizan por:

Todos los biestables tienen la misma señal de reloj.

Las funciones lógicas de cada entrada síncrona van aumentando en complejidad a medida que aumenta el peso del biestable al que se conectan.

El tiempo de retardo de todo el contador coincide con el tiempo de retardo de un solo biestable:

puertappdret ttT ; pdp ttpuerta

Tret tpd

asíncono. contador un de máxmáx fT

fret

1

A continuación, se verán dos tipos de contadores síncronos que poseen una serie de

características interesantes:

Contador síncrono de módulo N 2n

Contador síncrono reversible (up/down counter)

Contador síncrono de módulo N 2n

Hasta ahora se han considerado contadores de n biestables que utilizaban todos los estados posibles (2

n). Para un contador de módulo N –que no sea potencia de 2- se deben usar

n biestables, de forma que:

2n-1

< N 2n

A continuación se detalla un ejemplo de diseño de un contador de módulo 3 para el que

sólo se requieren dos biestables, de los que usaremos tres de los cuatro estados que pueden generar, tal como lo indica la siguiente tabla de verdad:

Q1n Q0n Q1(n+1) Q0(n+1) J1 K1 J0 K0

0 0 0 1 0 X 1 X 0 1 1 0 1 X X 1 1 0 0 0 X 1 0 X

1 1 X X X X X X A partir de esta tabla, mediante los mapas de Karnaugh, se simplifican las funciones

lógicas a aplicar a las entradas de cada biestable. Se ha de tener en cuenta que la combinación Q1Q0 = 11 no va a darse en ningún momento,. En ese caso J0, K0, J1 y K1 podrían tomar cualquier valor según convenga a la hora de simplificar por Karnaugh, por ser funciones incompletamente definidas. J0 K0 J1 K1

Q0

Q1 0 1

Q0

Q1 0 1

Q0

Q1 0 1

Q0

Q1 0 1

0 1 X

0 X 1

0 0 1

0 X X

1 0 X

1 X X

1 X X

1 1 X

J0 = 1Q K0 = 1 J1 = Q0 K1 = 1

A partir de las funciones simplificadas, se llega al circuito de la figura 5.5.

Page 109: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.7

Figura 5.5. Contador síncrono de módulo 3 con biestables J-K y su cronograma

Contador síncrono reversible ascendente/descendente

En algunas aplicaciones, un contador síncrono debe ser capaz de contar tanto en sentido

ascendente como descendente (up/down counter, en inglés). Esto se consigue al introducir una nueva variable Z, con la que se selecciona el sentido de la cuenta, es decir, si Z=0 cuenta hacia delante, y si Z =1 cuenta hacia atrás, por ejemplo.

El diseño de un contador reversible es análogo a los contadores síncronos vistos hasta ahora. La única novedad en su diseño es que se ha de incluir la entrada especial en las tablas de verdad como una variable de entrada.

Así y como ejemplo, el diseño de un contador reversible de módulo 4, se toman como variables de entrada las salidas de los dos biestables (Q0Q1) más la entrada especial Z y como variables de salida sus entradas síncronas (J0K0, J1K1). La tabla de verdad para este caso será:

Z Q1n Q0n Q1(n+1) Q0(n+1) J1 K1 J0 K0

0 0 0 0 1 0 X 1 X 0 0 1 1 0 1 X X 1 0 1 0 1 1 X 0 1 X 0 1 1 0 0 X 1 X 1 1 0 0 1 1 1 X 1 X 1 0 1 0 0 0 X X 1 1 1 0 0 1 X 1 1 X 1 1 1 1 0 X 0 X 1

Simplificando las funciones lógicas a aplicar a las entradas de los biestables, se

obtiene que:

J0 = K0 = 1 J1 = K1 = Q0 Z

La figura 5.6 muestra el circuito del contador reversible de módulo 4.

Figura 5.6. Contador síncrono reversible de módulo 4 con biestables J-K

Los cronogramas de este contador para Z=0 y Z= 1 se pueden observar en la figura 5.7.

Page 110: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.8

Figura 5.7. Cronogramas del contador síncrono reversible de módulo 4

5.2.3. Contadores integrados

La figura 5.8 muestra algunos de los contadores integrados de la familia TTL serie 74XX disponibles en el mercado.

7492: contador/divisor por doce.

74163: contador binario síncrono de 4 bits.

Figura 5.8. Contadores integrados

5.3. REGISTROS

Un registro es un bloque funcional destinado a almacenar o registrar información binaria durante un intervalo de tiempo. Así, al igual que un biestable puede almacenar un bit, es decir, un 1 ó un 0, un conjunto de diversos biestables constituye, a su vez, un registro de varios bits. El registro, por lo tanto, es un circuito de memoria temporal con capacidad limitada.

La forma de entregar o extraer información de un registro, que puede ser en serie o en paralelo, da lugar a los distintos tipos de registros. En la primera forma se tendrá una sola línea, pasando los bits uno tras otro, normalmente en sincronismo con un reloj. En la forma paralelo habrá tantas entradas o salidas como bits tiene el registro.

Cuando, además de la función de memoria, se requiere que dentro del registro se puedan desplazar los bits de un biestable a otro, se ha de recurrir a los registros de desplazamiento.

Un registro de desplazamiento consta esencialmente de un grupo de biestables encadenados unos detrás de otros. Por ello se suelen utilizar biestables disparados por flanco del tipo R-S, J-K o D con la opción de incorporar las entradas asíncronas de “PRESET" y

74163 7492

GND

GND

QA

A

B

QD

R0(1)

R0(2)

QCQB

VCC

VCC

OutputsOutputs OutputsInput

InputData Inputs Reset Inputs

QA

CK A B C D

Riplecarryoutput

LoadClear

EnableT

EnableP

QDQCQB

Page 111: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.9

"CLEAR". Así, cada salida de un biestable es conectada a la entrada del siguiente biestable y se aplica un impulso de reloj común a todos haciendo que actúen de manera síncrona.

Podemos clasificar los registros de desplazamiento en diferentes tipos:

Transferencia serie a serie (entrada serie, salida serie).

Transferencia paralelo a serie (entrada paralelo, salida serie).

Transferencia serie a paralelo (entrada serie, salida paralelo).

Transferencia paralelo a paralelo (entrada paralelo, salida paralelo).

En los siguientes apartados se verán algunos ejemplos de registros.

5.3.1. Entrada serie - salida serie

En la figura 5.9 se encuentra dibujado un registro de desplazamiento entrada serie - salida serie a partir de biestables tipo D y sus formas de onda.

Así, y como ejemplo, para introducir en el registro el dato 1101, éste debe introducirse en serie de manera síncrona con el reloj, siguiendo los pasos que se describen:

1.- El registro se encuentra inicialmente borrado (todas las salidas en estado 0).

2.- Cuando aparece el primer flanco ascendente del impulso de reloj (CP1) en Q0

aparecerá el primer bit.

3.- Al aplicar el segundo impulso, el bit en Q0 se transfiere a Q1 mientras el siguiente bit es transferido a Q0. La operación continúa hasta que la palabra completa presente en CP4 haya sido desplazada de izquierda a derecha en el registro.

4.- Si los datos deben almacenarse, los impulsos de reloj deben ser detenidos en este punto.

MSB LSB

Figura 5.9. Registro de desplazamiento de 4 bits con biestables D:

diagrama lógico y cronogramas

Page 112: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.10

5.3.2. Entrada paralelo - salida serie

En la figura 5.10 se encuentra dibujado un registro de desplazamiento entrada paralelo - salida serie a partir de biestables tipo R-S con entradas asíncronas. Los bits de datos se introducen en paralelo mediante las entradas asíncronas de PRESET, activas a nivel bajo.

Figura 5.10. Registro de desplazamiento 54/7494 de 4 bits

Así, de esta forma, si se introduce el bit menos significativo del dato en P4, el siguiente menos significativo en P3, y así sucesivamente, el registro funciona como se describe a continuación:

1.- Primero, se borra el registro (todas las salidas de los biestables en nivel bajo) poniendo la señal de borrado a 0 y, a continuación, se mantiene a 1. Esta operación es independiente del nivel de entrada del impulso del reloj.

2.- Poniendo en la línea de "enable" (habilitación) un 1, las puertas NAND permiten la carga de los datos por las entradas de datos paralelo.

3.- Si ahora PE=0, las entradas asíncronas de los biestables están inactivas.

4.- La información se transmitirá en serie después de cuatro impulsos de reloj por el terminal de salida.

5.3.3. Entrada serie - salida paralelo

Si se desean transferir N bits en serie a salida en paralelo, se usará N biestables en cascada. Al cabo de N pulsos de reloj, en las salidas Q1... QN se tendrá esos datos. El primer bit corresponde a la salida QN y el último a Q1.

La figura 5.11 muestra un registro de desplazamiento entrada serie-salida paralelo de 4

bits a partir de biestables tipo R-S con entradas asíncronas.

Page 113: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.11

Figura 5.11. Registro de desplazamiento entrada serie - salida paralelo con biestables R-S síncronos

Al comienzo, los biestables se inicializan aplicando un 0 en la entrada de borrado, de forma que las salidas queden todas a 0. Seguidamente, se pone esta señal a 1 manteniendo la entrada "preset" igual a 1.

Los datos se introducen por una de las entradas (A ó B), de forma que el otro terminal de entrada sirve para “bloquear” la entrada de datos. En efecto, si por este otro terminal se introducen ceros lógicos, la salida de la puerta NAND proporciona un 1 lógico.

Se aplica el tren de datos en serie y los impulsos síncronos del reloj. El bit menos

significativo de los datos entra en el primer biestable cuando el reloj proporciona un impulso, después el 1 se transfiere al siguiente biestable y en la primera entrada (Q1), aparece un 1, mientras que el resto de salidas se mantienen a 0.

Cuando ocurre el segundo impulso del reloj, el estado de Q1 se transfiere al segundo biestable. Simultáneamente, el siguiente bit entra en el primer flip-flop. De esta forma, después del segundo impulso del reloj, el bit de cada biestable se transfiere a su seguidor y las salidas Q1 y Q2 tendrán un 1, mientras que las demás salidas se mantendrán a 0. Así, sucesivamente, irán pasando uno a uno los bits del tren de datos y apareciendo en la salida simultáneamente en forma de cuatro bits.

5.3.4. Registros integrados

La figura 5.12 muestra algunos de los registros integrados de desplazamiento (shift registers, en inglés) de la familia TTL serie 74XX disponibles en el mercado.

7494: registro de desplazamiento de 4 bits de entrada paralelo y salida serie.

74164: registro de desplazamiento paralelo de 8 bits.

74166: registro de desplazamiento de 8 bits de entrada paralelo/serie y salida serie.

74194: registro de desplazamiento bidireccional universal de 4 bits.

Page 114: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Contadores y registros

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.12

Figura 5.12. Cuatro registros integrados de desplazamiento de la familia TTL serie 74XX

Page 115: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.1

CAPÍTULO 6

6.1. LÓGICA CABLEADA Y LÓGICA PROGRAMADA La lógica cableada, basada en destinar un circuito a cada aplicación, aunque resuelve una gran parte de problemas del diseño digital, tiene algunos inconvenientes:

Los grandes cambios que hay que realizar al tener que modificar el circuito para adaptarlo a una aplicación diferente de la que se diseñó.

Posee una reducida fiabilidad debido al gran número de componentes que, en general, componen un circuito.

Tiene un elevado coste a consecuencia de los componentes usados y la mano de obra.

En oposición al concepto de la lógica cableada -un circuito para cada aplicación- surge el de la lógica programada, que utiliza una estructura principal para todas las aplicaciones.

Dos de las principales razones por las que surge la lógica programada son las siguientes:

El aumento de la complejidad de los diseños para resolver problemas cada vez más complejos mediante lógica cableada.

Los avances tecnológicos en la fabricación de circuitos integrados de alta y muy alta escala de integración (LSI y VLSI respectivamente), que permite disponer de pastillas con numerosos componentes, aumentando así su complejidad y capacidad.

La figura 6.1 muestra una máquina basada en la lógica programada a nivel de diagrama de

bloques.

Figura 6.1. Máquina basada en la lógica programada

En las máquinas basadas en la lógica programada, la estructura principal realiza operaciones que se ejecutan cuando la máquina recibe una instrucción proporcionada ordenadamente por un programa, denominado software. Dicho programa está constituido por una secuencia de instrucciones introducidas en la memoria por el programador para indicar al

INTRODUCCIÓN A LA LÓGICA

PROGRAMADA MICROPROCESADORES

s

Page 116: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.2

microprocesador la secuencia de operaciones a realizar con los datos, que también pueden ser almacenados en la memoria.

Las partes de una máquina basada en la lógica programada, cuyo conjunto conforma el hardware, son las siguientes:

Unidad Central de Proceso (UCP o CPU: Central Process Unit, en inglés): interpreta y ejecuta las operaciones básicas y gobierna el resto de los componentes de la máquina.

Memoria: es el soporte físico que contiene las instrucciones del programa y almacena los datos que procesa y almacena la máquina.

Interfaces de entrada y salida (I/O: input/output, en inglés): son los circuitos que adaptan la CPU y la memoria a los periféricos.

Periféricos: son dispositivos de comunicación de la máquina con el usuario y el mundo exterior

Las ventajas de la lógica programada son las siguientes:

Reducción de las dimensiones del hardware, al usar circuitos basados en tecnologías LSI (Large Scale of Integration) y VLSI (Very Large Scale of Integration).

Mayor fiabilidad del sistema al disminuir el número de elementos.

Disminución del coste de los materiales, mano de obra y mantenimiento.

Facilidad de cambios y adaptaciones modificando, no el hardware, sino el software.

Reducción del tiempo de diseño del circuito como solución a un problema.

6.2. EL SISTEMA MICROCOMPUTADOR

El sistema microcomputador es un sistema organizado para tratar información, cuyo

elemento central es el microprocesador.

La utilidad del microprocesador es nula si no se utiliza en combinación con dispositivos de entrada/salida que permitan la adecuada comunicación con el usuario -y/o el mundo exterior- y con alguna forma de memoria, que permita una rápida renovación de los datos y del programa así como el almacenamiento de los resultados de las operaciones.

En cualquier sistema microcomputador, aunque se puede incrementar la potencia operativa añadiendo otras unidades, deben existir los elementos que se muestran en la figura 6.2.

Figura 6.2. Elementos básicos de un sistema microcomputador

Page 117: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.3

A continuación se describen estos elementos básicos de un sistema microcomputador:

CPU o microprocesador. Es el “cerebro” del microcomputador y su misión, esencialmente consiste en:

- Controlar el funcionamiento de las demás unidades que integran el sistema. - Procesar los datos de acuerdo con el programa.

Reloj. Las operaciones implicadas en la ejecución del programa deben realizarse de forma ordenada y sincronizada mediante la presencia de un oscilador o reloj, base que proporciona el impulso de referencia necesario para que el microprocesador efectúe su labor de control y manipulación secuencial con la cadencia adecuada.

Memoria. Es la unidad encargada del almacenamiento de la información y del programa a ejecutar. Por tanto, contiene tanto datos como instrucciones.

Existen dos tipos de memorias cuya implicación funcional dentro del sistema es distinta:

- ROM (memoria de solo lectura): la información contenida en la misma es fija por lo que su función suele ser almacenar de forma permanente programas de aplicaciones concretas del microcomputador.

- RAM (memoria de acceso aleatorio): los datos pueden ser leídos o escritos mientras reciben tensión de alimentación ya que al no recibirla se pierde el contenido almacenado. Esta memoria se destina para cortos almacenamientos de datos o resultados que pueden producirse durante la ejecución del programa principal que suele estar almacenado en la ROM.

Interfaz de entrada/salida. Su función es canalizar la transferencia bidireccional de información entre el sistema microcomputador y los dispositivos periféricos exteriores, siendo su actuación controlada por microprocesador.

Este tipo de interfaces son necesarios porque, en general, la velocidad de procesado del microprocesador es mucho mayor que la de los periféricos. Asimismo, las características de amplitud de tensión y corriente en las informaciones binarias pueden no coincidir en el microprocesador y en los periféricos: se produce, por tanto, la necesidad de una adaptación entre éstas. Por último, el formato en que se representa la información puede diferir entre el microprocesador y los periféricos.

Periféricos. Son los dispositivos por los cuales el programador o el proceso

externo que se esté controlando se comunican con el microcomputador. Pueden clasificarse en dos grupos:

- Periféricos de comunicación “sistema-usuario”: En este grupo se incluyen

los teclados, teletipos, impresoras, dispositivos para la visualización, etc. - Periféricos de comunicación “sistema-proceso externo”: Son periféricos

usados en el control de procesos industriales como pueden ser: sensores de magnitudes físicas (presión, temperatura, humedad, etc.), elementos de conmutación (relés, semiconductores de potencia, etc.), y conversores analógico-digitales y digitales-analógicos que introducen al microprocesador en el campo de la electrónica analógica.

Aún cabría imaginar un sistema microcomputador más simple, compuesto únicamente por

reloj, CPU y memoria. Sin embargo, al no poder intercambiar información con el exterior, sería de nula utilidad.

El microprocesador constituye la parte central del sistema microcomputador y es el encargado de interpretar las órdenes del programa, así como de desencadenar su ejecución

Page 118: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.4

controlando a las unidades implicadas, para lo cual precisará de los siguientes “canales“ de comunicación:

a) Información: bus de datos e instrucciones.

b) Direcciones: bus de direcciones.

c) Control: bus de control.

Un bus puede considerarse como un conjunto de “hilos” por donde “viajan” los bits de unas

partes del sistema microcomputador a otras.

La figura 6.3 muestra la configuración de buses de un sistema microcomputador.

Figura 6.3. Configuración de buses de un sistema microcomputador

Información: bus de datos e instrucciones

La información que maneja un sistema microcomputador está constituida por instrucciones y datos, de forma que las instrucciones comunican al microprocesador lo que debe hacer con los datos. Si bien la unidad básica para almacenar y transmitir información es el bit en los sistemas digitales, los bits no son manejados individualmente por el microprocesador, sino por grupos de longitud finita. Cada uno de estos grupos constituye una palabra.

Es evidente que el microprocesador deberá poseer un conjunto de líneas que canalicen la

información entre éste y el exterior de forma que si el microprocesador es capaz, por ejemplo, de procesar palabras de 8 bits (1 byte), el número de líneas que permita transferir la información será de ocho.

Este canal de transmisión es el denominado bus de datos e instrucciones, con sentido de intercambio bidireccional con todas las unidades del microcomputador, salvo con el bloque de memoria ROM que sólo admite operaciones de lectura. Para este tipo de memoria, su acceso al bus de datos será unidireccional. En general, la anchura del bus de datos (número de líneas del bus) coincide con la longitud de palabra del microprocesador.

Page 119: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.5

Direcciones: bus de direcciones

La memoria, que se ocupa del almacenamiento de la información, es necesaria si se pretende que el funcionamiento del microprocesador sea autónomo de forma que al programador le baste con introducir la información en memoria, y el microprocesador se encargue de tomarla a medida que avanza la ejecución del programa.

Una vez programado, el microprocesador está en disposición de trabajar por sí solo y de

disponer de cierta información, para lo cual habrá que dotar al microprocesador de los medios adecuados para que dicha información sea accesible.

La solución es dotar al microprocesador de un canal, denominado bus de direcciones, con

el que pueda direccionar o “llamar” a las diversas posiciones de memoria, accediendo el microprocesador a la información sólo con llevar al bus de direcciones la posición que contiene la palabra a extraer o en donde dicha palabra va a ser depositada. A continuación se da la orden correspondiente de lectura o escritura, y la palabra en cuestión pasará al interior del microprocesador a través del bus de datos (lectura) o se depositará en la memoria procedente del microprocesador, igualmente a través del bus de datos (escritura).

En los microprocesadores de 8 bits (bus de datos), el bus de direcciones suele constar de

16 líneas o bits, cuyo sentido de transferencia es unidireccional: parte del microprocesador hacia las unidades externas. En este caso, el microprocesador será capaz de acceder a 2

16 =

65536 posiciones de memoria.

Control: bus de control

La supervisión y control de las unidades complementarias (memoria e interfaces de E/S, principalmente) corresponde al microprocesador, por lo que existirá un determinado número de líneas de control, que partirán del microprocesador y accederán a dichas unidades. Asimismo, habrá otras líneas de entrada al microprocesador que alterarán su comportamiento en determinadas condiciones (interrupciones).

El conjunto de líneas de control que acceden o parten del microprocesador, se denomina bus de control, cuyo número depende de la constitución interna de cada microprocesador.

Como se puede observar en la figura 6.3, todos los elementos integrantes del sistema microcomputador se hallan conectados al bus de datos mediante un buffer triestado. Este buffer permite desconectar eléctricamente cada uno de dichos elementos, de manera que la transferencia de información se produzca sin colisiones entre ellos.

6.3. EL MICROPROCESADOR

Se aplica la denominación de microprocesador a un circuito integrado LSI o VLSI que contiene los elementos que constituyen la Unidad Central de Proceso –CPU o UCP- de una máquina programada como la representada en las figuras 6.1 y 6.2. El estudio detenido de este elemento queda fuera del alcance de este texto.

6.4. MEMORIAS

Se define memoria como el bloque encargado de almacenar la información (órdenes, datos, resultados) puesta en juego dentro del sistema microcomputador.

Las memorias pueden clasificarse, según el modo de retener la información, en:

Page 120: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.6

Volátiles: para que el contenido permanezca memorizado, es necesario una fuente de alimentación. Al desconectarla, se pierda la información almacenada. Las memorias RAM pertenecen a esta categoría.

No volátiles: la información persiste aun desconectando la fuente de alimentación de la unidad de memoria, esto es, el contenido es memorizado sin consumo energético. Las memorias ROM son ejemplos de lo dicho.

6.4.1. Memorias RAM

Su denominación responde a la expresión inglesa Random Access Memory, esto es, memoria de acceso aleatorio. Se trata de una memoria de lectura-escritura ya que admite la posibilidad de efectuar ambas operaciones.

Una memoria RAM, tal como se ve en la figura 7.4, esta constituida a grandes rasgos por el bloque de almacenamiento -capaz de almacenar n palabras-, las líneas de entrada de direcciones, las líneas de entrada/salida de datos y, finalmente, las líneas de control. Por lo general, la entrada y salida de los datos se efectúa sobre un único bus: el de datos e instrucciones.

.

Figura 6.4. Estructura básica de la memoria RAM.

Por lo que respecta al decodificador de direcciones, tiene como misión seleccionar la

palabra a leer o escribir dentro de la matriz de memoria.

Finalmente, el circuito de control genera las órdenes de gobierno internas de la unidad de memoria a partir de impulsos eléctricos exteriores.

En un sistema microcomputador, la memoria RAM se utiliza para las aplicaciones en las

que la información debe ser continuamente almacenada y extraída.

Las memorias RAM se clasifican en dos grandes categorías:

RAM estáticas. Utilizan biestables como elementos de memoria y almacenan la información hasta que cambia o se desconecta la alimentación.

RAM dinámicas. La información no es retenida de forma estática, sino que ésta se degrada, desapareciendo al cabo de breves instantes en caso de no refrescar adecuadamente el contenido por medio del circuito eléctrico correspondiente.

Las diferencias principales entre las memorias RAM dinámicas y las estáticas son:

Page 121: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.7

La adaptación de las memorias dinámicas a un sistema microcomputador es más problemática que con las estáticas dado que las primeras precisan de lógica adicional de refresco.

La densidad de almacenamiento de los circuitos integrados de memoria RAM dinámica es notablemente superior a las correspondientes estáticas.

El consumo de las memorias dinámicas es considerablemente inferior al de las estáticas, debido a que cada celda de memoria estática está constituida por un mínimo de 4-6 transistores, mientras que una dinámica puede estar formada por un solo transistor.

Las memorias RAM estáticas son más rápidas que las dinámicas.

Las memorias RAM dinámicas son más baratas que las estáticas.

6.4.2. Memorias ROM

Las memorias ROM (Read Only Memory, en inglés), son aquéllas que permiten únicamente la operación de lectura. La información registrada en una ROM es permanente.

Se emplean para almacenar programas de aplicación específica, que permitirán al microcomputador ejecutar una tarea especializada.

Asimismo, los sistemas de evaluación de microprocesadores, y los sistemas de desarrollo constituidos a partir de microprocesadores llevan un programa denominado “Monitor” grabado en una ROM. Este programa, no modificable, permite al microprocesador interpretar determinadas órdenes y comandos exteriores y ejecutar subrutinas definidas para la visualización de datos, la gestión de interrupciones, etc.

La constitución típica de una memoria ROM se muestra en la figura 6.5.

Figura 6.5. Estructura básica de la memoria ROM

Pueden encontrarse varios tipos de memorias ROM:

Memorias ROM programadas por máscara. Esta memoria de sólo lectura almacena información de forma permanente. El contenido de la memoria se establece durante la fabricación del circuito integrado y no puede ser alterado después.

Se utilizan la tecnología Bipolar y la tecnología MOS, cuyo de tiempo de acceso es superior a las primeras pero que a cambio poseen mayor densidad de integración y menor consumo.

Memorias PROM. Estas memorias permiten una única programación de origen, que puede realizar el propio usuario. Por lo general, las PROM son de tecnología bipolar.

Memorias EPROM. Son memorias de solo lectura, en su modo operativo normal, programables eléctricamente por el usuario y pueden ser borradas sometiéndolas a una radiación ultravioleta.

Page 122: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.8

Resultan extremadamente útiles para el diseño de prototipos basados en microprocesadores, debido a que permiten sucesivas reprogramaciones y a que se dispone de memorias ROM con una asignación de terminales idénticas a las EPROM. De está forma, se posibilita la depuración del programa hasta lograr un prototipo definitivo, momento en que se sustituirá por una ROM programada por máscara.

Para reprogramar la memoria, en la parte superior del circuito integrado existe una abertura que facilita el acceso a la radiación. Está abertura debe ocultarse de la luz exterior durante su operación normal para evitar un posible borrado accidental.

Memorias EAROM, EEPROM ó E2PROM. Son memorias de solo lectura alterables eléctricamente. Es decir, se puede escribir en ellas y borrar su contenido mediante impulsos eléctricos.

6.5. PERIFÉRICOS

Resulta evidente que para que la CPU sea eficaz, necesita de dispositivos que la pongan en comunicación con el entorno exterior, pues de nada serviría una máquina sumamente "inteligente" pero incapaz de aceptar datos ni de entregar resultados.

Ahora bien, existen una serie de problemas a la hora de abordar el intercambio de

información entre la CPU y los elementos exteriores o "periféricos".

Los periféricos, en su mayoría, son dispositivos compuestos por elementos mecánicos controlados por dispositivos electrónicos con unos modos de funcionamiento muy diferentes a los de la CPU. Es necesario utilizar dispositivos específicos, circuitos de interfaz o de entrada/salida, para gobernar los periféricos.

La velocidad de transferencia de información de los periféricos generalmente es muy inferior a la velocidad de transferencia entre la memoria y la CPU y a la velocidad de ejecución de instrucciones de esta última. Estas circunstancias exigen la presencia de mecanismos de sincronización entre los dispositivos periféricos y la CPU, a cargo de los mencionados circuitos de interfaz o de entrada/salida.

Las unidades mínimas de transferencia de información que emplean periféricos y CPU son también diferentes.

Los circuitos de interfaz son elementos hardware que ayudan a la CPU a desarrollar y agilizar su labor.

La clasificación de los circuitos de interfaz depende de la función que realizan:

Circuitos de interfaz de unidades internas del ordenador. Gestionan operaciones que, si no las realizaran ellos, sería la CPU la que debería realizarlas. A este grupo pertenecen:

- Circuitos de interfaz de acceso directo a memoria (DMA controller, en inglés) con el que la CPU se descarga de sus funciones de control. Mientras la memoria realiza un intercambio de información con un periférico, la CPU continua ejecutando el proceso encomendado por el programa.

- Circuitos de interfaz de interrupciones al que llegan todos los sucesos externos a la CPU producidos por los demás controladores de periféricos. A estos sucesos se les denomina "interrupciones", las cuales provocan que la CPU detenga el proceso que esté realizando y atienda a los requerimientos del circuito de interfaz del periférico que la ha emitido.

Circuitos de interfaz de unidades periféricas. Compatibilizan los elementos que componen los periféricos con los elementos electrónicos del ordenador. Entre este segundo grupo cabe citar:

Page 123: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.9

- Circuitos de interfaces serie e interfaces paralelo. - Circuitos de interfaz de unidades de discos flexibles y unidades de disco duro. - Circuitos de interfaz de teclado. - Circuitos de interfaz de comunicaciones.

Dada la gran variedad de circuitos de interfaz de unidades periféricas, resulta imposible una descripción detallada de los mismos, pero en resumen cabe destacar que su misión es la de gestionar la comunicación del periférico con la CPU.

6.6. APLICACIONES DE LOS MICROPROCESADORES

El microprocesador se ha convertido en el principal componente en los sistemas electrónicos debido a que su naturaleza programable le da flexibilidad suficiente para preparar diversas funciones con los mismos elementos.

La siguiente lista abarca al campo que se aplican microprocesadores.

Consumibles electrónicos - Calculadoras - Relojes digitales - Instrumentos de control - Juegos de vídeo - Sistemas de seguridad doméstica - Gestión de energía doméstica - Sistemas de entretenimiento doméstico - Electrodomésticos

Comercio e industria - Control de máquinas y procesos - Control de tráfico - Navegación - Sistema de aterrizaje automático - Inyección electrónica de carburante - Control de emisiones (polución) - Comunicación de datos - Sistemas del automóvil (ABS, EDS,…)

Instrumentación - Equipos de auto-calibrado - Equipos de gobierno de radiaciones - Sistemas de análisis de laboratorio - Registradores de datos - Aparatos para diagnósticos - Instrumentos médicos - Sistemas de seguridad y detección de incendios

Oficinas y negocios - Terminales de las redes de ordenadores - Terminales en puntos de venta - Terminales de las reservas - Terminales de control de almacenes e inventario - Equipos automáticos de bancos - Fotocopiadoras

Page 124: Apuntes Electronica Digital

Estructura y Tecnología de Computadores Introducción a los microprocesadores.

G. Nofuentes/J. de la Casa/C. Rus/J. E. Delgado Pág.10

6.7. BREVE RESEÑA SOBRE LA EVOLUCIÓN HISTÓRICA DE LOS MICROPROCESADORES: LA FAMILIA INTEL

La firma pionera en el desarrollo de microprocesadores fue INTEL, con el 4004, fabricado en 1971 en PMOS con 45 instrucciones y un bus de datos de 4 bits. En el mismo año, INTEL lanzó el 8008 de 48 instrucciones, el primer microprocesador de 8 bits, diseñado para su interconexión con unidades de memoria RAM y ROM estándar. Pero para obtener un microcomputador completo hubo que esperar hasta 1973 donde INTEL lanzara el primer microprocesador de la segunda generación, el 8080, referencia obligada de los microprocesadores de 8 bits con 48 instrucciones del 8008 más 24 adicionales, precisando de tres tensiones de alimentación: 5V, -5V y 12V.

Posteriormente, otros fabricantes lanzaron microprocesadores, unificando la tensión de alimentación a 5V para todos ellos. Tal es el caso del 6800 de Motorola, el 6502 de Rockwell, el Z-80 de Zilog y el 8085 de INTEL.

En la tabla 6.1 se muestra la evolución histórica de los microprocesadores fabricados por INTEL hasta 1993.

Modelo B. Da. B. Di. F. máx. Año

80850** 08 16 0.3 MHz 1976

80860** 16 20 4,77 MHz 1978

80880** 08 20 4,77 MHz 1978

80286** 16 24 ,012 MHz 1984

80386* 32 32 ,040 MHz 1985

80486 32 32 ,050 MHz 1989

Pentium 64 32 ,300 MHz 1993

Tabla 6.1. Evolución histórica de los microprocesadores fabricados por INTEL hasta 1993

Leyenda de la tabla:

B. Da. = anchura del bus de datos.

B. Di. = anchura del bus de direcciones.

F. máx. = frecuencia del reloj interno.

Año = año de aparición