You are on page 1of 73

MICROPROCESADORES

TEMA 1 CDIGOS BI ARIOS


1.1 CDIGOS BI ARIOS Debido a la naturaleza biestable de los circuitos de electrnica digital, estos solo procesan cdigos que constan de 0 y 1 (cdigos binarios) existen muchas situaciones en la electrnica digital en la que necesitamos realizar tareas especificas, por lo tanto se necesitaran utilizar una serie de cdigos que tambin utilizan ceros (0) y unos (1), pero sus significados pueden variar. A continuacin detallaremos estos tipos de cdigos.

1.2 CDIGOS BI ARIOS CO PESO Supongamos que queramos transformar el numero decimal 89532 a su correspondiente equivalencia en binario, aplicando el mtodo de la divisin sucesiva por dos, llegaremos al siguiente resultado: 10101110110111100 pero para llegar a este resultado seguro te tomar cierto tiempo y trabajo, de igual forma si queremos disear un sencillo circuito digital en el que la cifra introducida en el teclado sea visualizada en la pantalla, se necesitaran una gran cantidad de compuertas lgicas para construir el circuito decodificado y codificador. Los cdigos binarios con peso nos resuelven este problema pues estos cdigos fueron diseados para realizar la conversin de decimal a binario de una manera mucho mas fcil y rpida. 1.3 CDIGOS BCD Los cdigos BCD (Binary Code Decimal) (Decimal Codificado en Binario) son grupos de 4 bits en el cual cada grupo de 4 bits solo puede representar a un nico dgito decimal (del 0 al 9) Estos cdigos son llamados cdigos con peso ya que cada bit del grupo posee un peso o valor especifico. Existen por lo tanto cdigos BCD's de acuerdo al valor o peso que posea cada bit. Ejemplos de estos cdigos son el BCD 8421, el BCD 4221, el BCD 5421, el BCD 7421, el BCD 6311, etc. donde la parte numrica indica el peso o valor de cada bit. As por ejemplo el cdigo BCD 8421 nos indica que el MSB posee un valor de 8, el segundo MSB posee un valor de 4, el tercer MSB tiene un valor de 2 y el LSB tiene un valor de 1. Para el cdigo BCD 6311 el MSB tiene un peso o valor de 6, el segundo MSB posee un peso de 3, el tercer MSB posee un valor de 1, y el LSB tiene un valor de 1. El cdigo BCD 8421 es el cdigo BCD mas utilizado, es comn referenciarlo simplemente como cdigo BCD, as en el transcurso del curso se entender el cdigo BCD como el BCD 8421, a menos que se indique lo contrario.

1.4 CO VERSI DE DECIMAL A BCD Ya que cada grupo de 4 bits solo puede representar a un nico dgito decimal, la conversin de un numero decimal a un numero BCD se lleva a cabo de la siguiente forma: 1. Separamos al dgito decimal en cada uno de sus dgitos 2. Cada dgito decimal se transforma a su equivalente BCD.

MICROPROCESADORES 3. El nmero obtenido es el equivalente en BCD del nmero decimal. Por ejemplo, para convertir el decimal 469 a BCD, segn lo explicado anteriormente, tenemos que tomar cada dgito decimal y transformarlo a su equivalente BCD.

Figura 1: Conversin de decimal a BCD De esta forma el decimal 469 equivale al BCD 010001100011 NOTA: En BCD los cdigos 1010, 1011, 1100, 1101 y 1111 no tienen decimales equivalentes. Por lo tanto se les llaman cdigos invlidos

1.5 CO VERSI DECIMAL FRACCIO ARIO A BCD Se realiza del modo similar al anterior pero hay que tener en cuenta el punto binario, el punto del numero decimal se convertir en el punto binario del cdigo BCD. Ejemplo: para convertir el decimal 74.42 a BCD: Separamos el decimal en sus dgitos 7 4. 4 2. Convertimos cada dgito a decimal a BCD, y colocamos el punto binario en la misma posicin del punto decimal.

Figura 2: Conversin de decimal fraccionario a BCD De esta forma el decimal 74.42 equivale al BCD 01100100. 010000101.

1.6 CO VERSI DE BCD A DECIMAL Ya que el cdigo BCD son grupos de 4 bits, realizaremos lo siguiente: 1. A partir de la izquierda separamos al nmero BCD en grupos de 4 bits. 2. Cada grupo de 4 bits se convierte a su decimal correspondiente. 3. El nmero obtenido es el equivalente decimal del nmero BCD.

MICROPROCESADORES

Ejemplo: Convertir el nmero BCD 010101000011 a decimal. Separamos en grupos de 4 bits a partir de la izquierda 0101 0100 0011. Transformamos cada grupo a decimal.

Figura 3: Conversin de BCD a decimal. El BCD 010101000011 equivale al decimal 543

1.7 CO VERSI BCD FRACCIO ARIO A DECIMAL

1. 2. 3. 4.

A partir del punto binario separamos al nmero binario en grupos de 4 bits. Cada grupo de 4 bits se convierte a su equivalente decimal. El punto binario se convertir en el punto decimal. El nmero obtenido equivale en decimal al nmero BCD.

Ejemplo: Convertir el nmero BCD 01110001.0000100 a decimal. separamos en grupo de 4 bits 0111 0001. 0000 1000. convertimos cada grupo a decimal y colocamos el punto binario como punto decimal.

Figura 4: Conversin de BCD fraccionario a decimal. El BCD 01110001.00001000 equivale al decimal 71.08

MICROPROCESADORES 1.8 CO VERSI BCD A BI ARIO PURO Si queremos transformar un numero BCD a su correspondiente binario llevaremos a cabo los siguientes pasos:

1. El nmero BCD lo transformamos a decimal. 2. Convertimos el decimal obtenido a binario mediante las tcnicas ya estudiadas. 3. El binario obtenido es el equivalente en binario del nmero BCD.

Ejemplo: Convertir el BCD 000100000011.0101 a binario. Convertimos 0001 0000 0011. 0101 a decimal 1 0 3. 5. Transformamos el decimal a binario 103.5(10)=1100111.1

1.9 CO VERSI DE BI ARIO PURO A BCD 1. Convertimos el nmero binario a nmero decimal. 2. Cada dgito decimal se convierte a su equivalente BCD. 3. El numero obtenido es el equivalente BCD del nmero binario puro.

Ejemplo: convertir el binario 10001010.101 a BCD Se convierte primero a decimal 10001010.101 128 + 8 + 2 + 0.5 + 0.125 = 138.625. convertimos el decimal a BCD 138.625 = 0001 0011 1000. 0110 0010 0101 El binario 10001010.101 es igual al BCD 000100111000.011000100101 NOTA: Seguramente ha notado que los nmeros en cdigo BCD contienen mayor numero de bits que sus correspondientes nmeros binarios, pero nuevamente recalcamos que esta desventaja es compensada por su facilidad para convertir a decimal.

MICROPROCESADORES

1.10 TABLA RESUME SISTEMA BI ARIO (BCD)

El sistema binario desempea un importante papel en la tecnologa de los ordenadores. Los primeros 20 nmeros en el sistema en base 2 son 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011 y 10100. Cualquier nmero se puede representar en el sistema binario, como suma de varias potencias de dos. Por ejemplo, el nmero 10101101 representa, empezando por la derecha, (1 20) + (0 21) + (1 22) + (1 23) + (0 24) + (1 25) + (0 26) + (1 27) = 173.1

MICROPROCESADORES

TEMA 2 DISPOSITIVOS DIGITALES BSICOS


2.1 PUERTAS LOGICAS
La puerta lgica es el bloque de construccin bsico de los sistemas digitales. Las puertas lgicas operan con nmeros binarios. Por tanto las puertas lgicas se denominan puertas lgicas binarias. En los circuitos digitales todos los voltajes, a excepcin de los voltajes de las fuentes de potencia, se agrupan en dos posibles categoras: voltaje altos y voltajes bajos. No quiere decir esto que solo se encuentren dos voltajes, si no que cierto rango de voltajes se define como alto y otro cierto rango como bajos. Entre estos dos rangos de voltajes existen existe una denominada zona prohibida o de incertidumbre que los separa. Una tensin alta significa un 1 binario y una tensin baja significa un cero binario. Todos los sistemas digitales se construyen utilizando tres puertas lgicas bsicas. Estas son las puertas AND, la puerta OR y la puerta NOT.

COMPUERTA A D.

Figura 1: Circuito equivalente de una puerta A D

La compuerta AND es denominada la puerta de << Todo o Nada >> . observar el esquema de la figura 1, la cual muestra la idea de la puerta AND. Examinando de cerca el circuito, notamos que la lmpara encender solo si ambos interruptores se cierran o se activan simultneamente. Si uno de los de los interruptores esta abierto, el circuito se interrumpe y la lmpara no se enciende. Todas las posibles combinaciones para los interruptores A y B se muestran en la tabla 1 . La tabla 1 de esta figura que la salida (y) esta habilitada (encendida ) solamente cuando ambas entradas estn cerradas.

Con el nimo de presentar en forma mas compacta la tabla, anterior, convengamos en que la condicin de interruptor cerrado la representamos con un 1, y la de interruptor abierto con un 0. De manera similar, el encendido de la lmpara la representamos con un 1. Y su apagado con un 0 (cero). Con estas convenciones, la tabla 1 nos quedara como en la tabla 2.

MICROPROCESADORES

Interruptores de entrada A Abierto Abierto Cerrado Cerrado B Abierto Cerrado Abierto Cerrado

Luz de salida Y Apagado Apagado Apagado Encendido

Tabla 1: Combinaciones posibles de la compuerta AND A 0 0 1 1 B 0 1 0 1 Y 0 0 0 1

Tabla 2: Tabla 1 simplificada

2.2 SMBOLOS DE LAS COMPUERTAS


Son una representacin grfica de la funcin que ayuda a visualizar las relaciones lgicas existente en un diseo o circuito. En la figura 2 se muestra el smbolo de la compuerta AND con lo que se quiere significar que esta compuerta AND es un dispositivo que posee dos entradas A y B y una salida Y.

Figura 2: Smbolo de una compuerta A D

MICROPROCESADORES El lgebra booleana es una forma de lgica simblica que muestra como operan las compuertas lgicas. Una expresin booleana es un mtodo << taqugrafo >> de mostrar que ocurre en un circuito lgico. La expresin booleana para el circuito de la figura 3 es.

AB=Y
Figura 3: Expresin booleana de la compuerta A D

La expresin booleana se lee A AND B igual a la salida Y. El punto () significa la funcin lgica AND en lgebra booleana, y no la operacin de multiplicar como en el lgebra regular. Con frecuencia un circuito lgico tiene tres variables. La fig. 4 muestra una expresin booleana para una puerta AND de tres entradas. El smbolo lgico para esta expresin AND de tres entradas esta dibujada en la fig. 5. La tabla de verdad 3 muestra las 8 posibles combinaciones de la variables a, b y c observar que solo cuando todas las entradas estn en 1 y la salida de la puerta AND se habilita a 1.

ABC=Y
Figura 4: Expresin booleana para una compuerta A D de tres entradas

Figura 5: Compuerta A D de tres entradas

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

Y 0 0 0 0 0 0 0 1

Tabla 3: Tabla de verdad de una compuerta A D de tres entradas

MICROPROCESADORES

2.3 COMPUERTA OR

Figura 6: CIrcuito equivalente de una compuerta OR

La compuerta OR se denomina y la puerta de << cualquiera o todo >>. El esquema de la figura 6 nos muestra la idea de la puerta OR, en el cual los interruptores han sido conectados en paralelo. El encendido de la lmpara se producir si se cierra cualquiera de los dos interruptores o ambos. Todas las posibles combinaciones de los interruptores se muestran en la tabla 4. La tabla de verdad detalla la funcin OR del circuito de interruptores y lmpara.

Interruptores de entrada A Abierto Abierto Cerrado Cerrado B Abierto Cerrado Abierto Cerrado

Luz de salida Y Apagado Encendido Encendido Encendido

Tabla 4: Combinaciones posibles de la compuerta OR La tabla de la 4 describe el funcionamiento del circuito. Observamos, que de las 4 posibles combinaciones de cierre y apertura de los interruptores, 3 de ellas producen el encendido de la lmpara , y de nuevo utilizando la convencin de representar la condicin cerrado o encendido por un 1 y la de abierto o apagado por un 0, se obtiene la tabla de verdad de la tabla 5. El smbolo lgico estndar para la puerta OR esta dibujado en la fig. 7. observar la forma diferente de la puerta OR. La expresin booleana abreviada para esta funcin OR es A + B = Y observar que smbolo + significa OR en lgebra booleana . la expresin ( A+ B = Y ) se lee A OR B igual a salida Y .

MICROPROCESADORES

A 0 0 1 1

B 0 1 0 1

Y 0 1 1 1

Tabla 5: Tabla de verdad de una compuerta OR de dos entradas

Figura 7: Smbolo de una compuerta OR

La expresin booleana , smbolo y tabla de verdad de una puerta OR de tres entradas o variables estn dibujadas en las figuras 8, 9, y en tabla 6.

A+B+C=Y
Figura 8: Expresin booleana para una compuerta OR de tres entradas

Figura 9: Compuerta OR de tres entradas

A 0 0 0 0 1

B 0 0 1 1 0

C 0 1 0 1 0

Y 0 1 1 1 1

10

MICROPROCESADORES

1 1 1

0 1 1

1 0 1

1 1 1

Tabla 6: Tabla de verdad de una compuerta OR de tres entradas

2.4 COMPUERTA NOT


Las dos compuertas descritas anteriormente poseen cada una dos entradas y una salida. La compuerta NOT o inversora, posee una entrada y una salida como se muestra en la fig. 10. Su funcin es producir una salida inversa o contraria a su entrada es decir convertir unos a ceros y ceros a unos . la tabla de verdad 7 resume el funcionamiento de esta compuerta .

Figura 10: Smbolo de una compuerta NOT

A 0 1

Y 1 0

Tabla 7: Tabla de verdad de una compuerta NOT La expresin booleana para la inversin es = A. La expresin = A indica que A es igual a la salida no A. Un smbolo alternativo para la puerta NOT o inversor , se muestra a continuacin .

Figura 11: Smbolo alternativo de una compuerta NOT

El circulo inversor puede estar en la parte de entrada o de salida del smbolo triangular. cuando el circulo inversor aparece en la parte de la entrada del smbolo NOT, el diseador habitualmente intenta sugerir que esta una es una seal activa en baja . una seal activa en baja requiere que una tensin baja active alguna funcin en circuito lgico .

2.5 COMPUERTA NAND


Una compuerta NAND es un dispositivo lgico que opera en forma exactamente contraria a, una compuerta, AND, entregando una salida baja cuando todas sus entradas son altas y una salida alta mientras exista por lo menos un bajo a cualquiera de ellas .

11

MICROPROCESADORES Considerar el diagrama de los smbolos lgicos de la fig. 12, una puerta AND esta conectada a un inversor. Las entradas A y B realizan la funcin AND y forma la expresin booleana A B la puerta NOT invierte A B a la derecha del inversor se aade la barra de complementaron a la expresin booleana obtenindose A B = Y a este circuito se denomina NOT-AND NAND.

Figura 12: Circuito equivalente de una compuerta NAND

El smbolo lgico convencional para la puerta se muestra en el diagrama de la fig. 13 observar que el smbolo NAND es smbolo AND con un pequeo circulo a la salida. El circulo a veces se denomina circulo inversor. Esta es una forma simplificada de representar la puerta NOT . la tabla de verdad describe la operacin exacta de la puerta lgica . la tabla de la verdad para la puerta NAND se ilustra en la tabla 8, observe como sus salida son las inversas de las salidas de la puerta AND .

Figura 13: Smbolo lgico de una compuerta NAND

A 0 0 1 1

B 0 1 0 1

NAND AND 1 1 1 0 0 0 0 1

Tabla 8: Tabla de verdad de una compuerta NAND de dos entradas La operacin de una puerta NAND es anloga a la del circuito elctrico mostrado en la fig. 14 los interruptores A y B representan las entradas de la puerta y la lampara ( Y ) su salida .

12

MICROPROCESADORES

Figura 14: Circuito elctrico equivalente de una compuerta NAND

Debido a que los interruptores A y B estn en serie entre si y en paralelo con la lmpara (Y) , esta ultima solo se apaga cuando ambos interruptores estn cerrados y permanece encendida mientras cualquiera de ellos este abierto.

2.6 LA PUERTA NOR


Considerar el diagrama lgico de la fig. 15 . se ha conectado un inversor a la salida de una puerta OR . la expresin booleana en la entrada de un inversor es A + B . el inversor complementa la salida de la puerta OR , lo que se indica colocando una barra encima de la expresin booleana . obtenindose A+B = Y . Esta es una funcin NOT-OR. La funcin NOT-OR puede representarse por un smbolo lgico llamado puerta NOR que se ilustra en el diagrama de la fig. 16. Observar que se ha aadido un pequeo circulo inversor al smbolo OR para formar el smbolo NOR .

Figura 15: Circuito equivalente de una compuerta NOR

Figura 16: Smbolo lgico de una compuerta NOR

Podemos decir que este dispositivo lgico opera en forma exactamente opuesta a una puerta OR , entregando una salida alta cuando todas sus entradas son bajas y una salida baja cuando existe por lo menos un alto en cualquiera de ellas . La operacin de una puerta NOR es anloga a la del circuito elctrico mostrado en la fig. 17 los interruptores A y B representan las entradas de la puerta y la lampara (Y) su salida.

13

MICROPROCESADORES

Figura 17: Circuito elctrico equivalente a una compuerta NOR

Debido a que los interruptores A y B estn en paralelo entre si y con la lampara (Y) esta ultima solo enciende cuando ambos interruptores estn abiertos y permanece apagada mientras cualquiera de ellos , o ambos , estn cerrados. La tabla de verdad 9 detalla la operacin de la puerta NOR. Es complemento ( ha sido invertida ) de la columna OR en otras palabras , la puerta NOR pone un 0 donde la puerta OR produce un 1

A 0 0 1 1

B 0 1 0 1

NOR OR 1 0 0 0 0 1 1 1

Tabla 9: Tabla de verdad de una compuerta NOR de dos entradas

2.7 LA PUERTA OR EXCLUSIVA O XOR


La OR - exclusiva se denomina la puerta de << algunos pero no todos >>. El termino OR exclusiva con frecuencia se sustituye por XOR. La tabla de verdad para la funcin XOR se muestra en la tabla 10 . un cuidadoso examen muestra que esta tabla de verdad es similar a la tabla de verdad OR, excepto que cuando ambas entradas son 1 la puerta XOR genera un 0.

14

MICROPROCESADORES

A 0 0 1 1

B 0 1 0 1

OR XOR 0 1 1 1 0 1 1 0

Tabla 10: Tabla de verdad de una compuerta XOR de dos entradas

La operacin de una puerta XOR es anloga a la del circuito elctrico mostrado en la fig. 18. los interruptores A y B simulan las entradas y la lampara (Y) la salida .

Figura 18: Circuito elctrico equivalente de una compuerta XOR

Los interruptores A y B estn acoplados mecnicamente a los interruptores A y B de modo que cuando A se cierra entonces A se abre y viceversa . lo mismo puede decirse del interruptor B con respecto al B. Cuando los interruptores A y B estn ambos cerrados o ambos abiertos la lmpara no enciende. En cambio , cuando uno de ellos , por ejemplo el A , esta abierto y el otro, B, esta cerrado , entonces la lmpara se enciende. Una booleana para la puerta XOR puede obtenerse de la tabla de verdad la fig. 19 la expresin es A B + B = Y a partir de esta expresin booleana puede construirse un circuito lgico utilizando puertas AND, puertas OR e inversores dicho circuito aparece en la fig. 19 a este circuito lgico realiza la funcin lgica XOR.

15

MICROPROCESADORES

Figura 19: Circuito lgico que realiza la funcin XOR

El smbolo lgico convencional para la puerta XOR se muestra en la fig. 20 la expresin booleana A B, es una expresin XOR simplificada . el smbolo significa la funcin XOR en lgebra booleana. Se dice que las entradas A y B de la fig. 20 realiza la funcin OR - exclusiva.

Figura 20: Smbolo lgico de una compuerta XOR

2.8 LA COMPUERTA OR EXCLUSIVA O X OR


Una compuerta NOR - exclusiva o XNOR opera en forma exactamente opuesta a una compuerta XOR, entregando una salida baja cuando una de sus entradas es baja y la otra es alta y una salida alta cuando sus entradas son ambas altas o ambas bajas. Es decir que una compuerta XNOR indica, mediante un lgico que su salida, cuando las dos entradas tienen el mismo estado. Esta caracterstica la hace ideal para su utilizacin como verificador de igual en comparadores y otros circuitos aritmticos .. En la figura 21 se muestra el smbolo lgico, y en la tabla 11 el funcionamiento de una compuerta XNOR .

Figura 21: Smbolo lgico de una compuerta XNOR

16

MICROPROCESADORES

A 0 0 1 1

B 0 1 0 1

Y 1 0 0 1

Tabla 11: Tabla de verdad de una compuerta XNOR de dos entradas Para efectos prcticos una compuerta XNOR es igual una compuerta XOR seguida de un inversor. En la fig. 22 se indica esta equivalencia y se muestra un circuito lgico de compuertas AND , OR y NOT que opera exactamente como una compuerta X NOR.

Figura 22: Circuito lgico que realiza la funcin XNOR

La operacin de una compuerta XNOR es anloga a la del circuito elctrico mostrado en la figura 23 los interruptores A y B estn acoplados de la misma forma que el circuito XOR. Cuando los interruptores A y B estn ambos cerrados o ambos abiertos , la lampara se enciende . en cambio cuando uno de ellos por ejemplo el A esta abierto y el B esta cerrado , entonces la lmpara no se enciende.

Figura 23: Circuito elctrico equivalente de una compuerta XNOR

17

MICROPROCESADORES

2.9 EJERCICIOS
1) A cada una de las compuertas mostradas en las figuras, hallar la salida digital si:

a) 1100 0011

b) 1010

0101

c) 1010 1001

d) 1010 1001

2) Hallar las siguientes salidas digitales

A 0 0 1 1 1

B 0 1 0 1 1

C Y 0 0 0 0 1

3) Hallar la salida digital

A 0 0 1 1

B 0 1 0 1

18

MICROPROCESADORES

2.10 FLIP-FLOPS
Los circuitos lgicos se clasifican en dos categoras. Los grupos de puertas descritos hasta ahora, y los que se denominan circuitos lgicos secuenciales. Los bloques bsicos para construir los circuitos lgicos secuenciales son los flip-flops. La importancia de los circuitos lgicos se debe a su caracterstica de memoria. Los flip-flops tambin se denominan, "multivibradores biestables" o "binarios".

FLIP-FLOPS RS
Este es el flip-flop bsico, su smbolo es el siguiente:

Figura 1: Smbolo lgico de un flip-flop SR

El flip-flop tiene dos entradas R (reset) y S (set), se encuentran a la izquierda del smbolo. Este flip-flop tiene activas las entradas en el nivel BAJO, lo cual se indica por los circulitos de las entradas R y S. Los flip-flop tienen dos salidas complementarias, que se denominan Q y 1, la salida Q es la salida normal y 1 = 0. El flip-flop RS se puede construir a partir de puertas lgicas. A continuacin mostraremos un flip-flop construido a partir de dos puertas NAND, y al lado veremos su tabla de verdad correspondiente.

Figura 2: Circuito equivalente de un flip-flop SR

Observar la realimentacin caracterstica de una puerta NAND a la entrada de la otra. En la tabla de la verdad se define la operacin del flip-flop. Primero encontramos el estado "prohibido" en donde ambas salidas estn a 1, o nivel ALTO. Luego encontramos la condicin "set" del flip-flop. Aqu un nivel BAJO, o cero lgico, activa la entrada de set(S). Esta pone la salida normal Q al nivel alto, o 1. Seguidamente encontramos la condicin "reset". El nivel BAJO, o 0, activa la entrada de reset, borrando (o poniendo en reset) la salida normal Q. La cuarta lnea muestra la condicin de "inhabilitacin" o "mantenimiento", del flip-flop RS. Las salidas permanecen como estaban antes de que

19

MICROPROCESADORES existiese esta condicin, es decir, no hay cambio en las salidas de sus estados anteriores. Indicar la salida de set, significa poner la salida Q a 1, de igual forma, la condicin reset pone la salida Q a 0. La salida complementaria nos muestra lo opuesto. Estos flip-flop se pueden conseguir a travs de circuitos integrados.

FLIP-FLOPS RS SI CRO O
El flip-flop RS es un dispositivo asncrono. No opera en conjuncin con un reloj o dispositivo de temporizacin. El flip-flop RS sncrono opera en conjuncin con un reloj, en otras palabras opera sincronizadamente. Su smbolo lgico se muestra a continuacin. Es igual a un flip-flop RS aadindole una entrada de reloj.

Figura 3: Smbolo de un flip-flop SR sncrono

El flip-flop RS sncrono puede implementarse con puertas NAND. En las siguientes ilustraciones vemos primero como se aaden dos puertas NAND al flip-flop RS para construir un flip-flop RS sncrono. Las puertas NAND 3 y 4 aaden la caracterstica de sincronismo al cerrojo RS. La tabla de la verdad nos muestra la operacin del flip-flop RS sncrono. El modo de mantenimiento se describe en la primera lnea de la tabla de la verdad. Cuando un pulso de reloj llega a la entrada CLK (con 0 en las entradas R y S), las salidas no cambian, permanecen igual que antes de la llegada del pulso de reloj. Este modo tambin puede llamarse de "inhabilitacin" del FF. La lnea 2 es el modo de reset. La salida normal Q se borrar cuando un nivel ALTO active la entrada R y un pulso de reloj active la entrada de reloj CLK. Si R=1 y S=0, el FF no se pone a 0 inmediatamente, esperar hasta que el pulso del reloj pase del nivel BAJO al ALTO, y entonces se pone a 0. La lnea 3 de la tabla describe el modo set del flip-flop. Un nivel ALTO activa la entrada S (con R=0 y un pulso de reloj en el nivel ALTO), poniendo la salida Q a 1. La lnea 4 de la tabla de verdad es una combinacin "prohibida" todas las entradas estn en 1, no se utiliza porque activa ambas salidas en el nivel ALTO.

Figura 4: Circuito elctrico equivalente de un flip-flop SR sncrono

20

MICROPROCESADORES R
0 0 1 1

S
0 1 0 1

Q( t+1 )
Q(t) 1 0 No permitido

Tabla 1: Tabla de verdad de un flip-flop SR sncrono Las formas de ondas, o diagramas de tiempo, se emplean mucho y son bastante tiles para trabajar con flip-flop y circuitos lgicos secuenciales. A continuacin mostraremos un diagrama de tiempo del flip-flop RS sncrono. Las 3 lneas superiores representan las seales binarias de reloj, set y reset. Una sola salida Q se muestra en la parte inferior. Comenzando por la izquierda, llega el pulso de reloj 1, pero no tiene efecto en Q porque las entradas R y S estn en el modo de mantenimiento, por tanto, la salida Q permanece a 0. En el punto a del diagrama del tiempo, la entrada de set se activa en el nivel ALTO. Despus de cierto tiempo en el punto b, la salida se pone a 1. Mirar que el flip-flop ha esperado a que el pulso 2 pase del nivel BAJO a ALTO antes de activar la salida Q a 1. El pulso est presente cuando las entradas R y S estn en modo de mantenimiento, y por lo tanto la salida no cambia. En el punto C la entrada de reset se activa con un nivel ALTO. Un instante posterior en el punto d la salida Q se borra se pone a 0, lo cual ocurre durante la transicin del nivel BAJO a ALTO del pulso del reloj. En el punto e est activada la entrada de set, por ello se pone a 1 la salida Q en el punto f del diagrama de tiempos. La entrada S se desactiva y la R se activa antes del pulso 6, lo cual hace que la salida Q vaya al nivel BAJO o a la condicin de reset. El pulso 7 muestra que la salida Q sigue a las entradas R Y S todo el tiempo que el reloj est en ALTA. En el punto g del diagrama de tiempos, la entrada de set (S) va a nivel ALTO y la salida Q alcanza tambin el nivel ALTO. Despus la entrada S va a nivel BAJO. A continuacin en el punto h, la entrada de reset (R) se activa por un nivel ALTO. Eso hace que la salida Q vaya al estado de reset, o nivel BAJO. La entrada R entonces vuelve al nivel BAJO, y finalmente el pulso de reloj finaliza con la transicin del nivel ALTO al BAJO. Durante el pulso de reloj 7, la salida estuvo en el nivel ALTO y despus en el BAJO. Observar que entre los pulsos 5 y 6 ambas entradas R y S estn a 1. La condicin de ambas entradas R y S en el nivel ALTO, normalmente, se considera un estado prohibido para el flip-flop. En este caso es aceptable que R y S estn en el nivel ALTO, porque el pulso de reloj est en el nivel BAJO y el flip-flop no est activado.

Figura 5: Diagrama de pulsos

21

MICROPROCESADORES

FLIP-FLOP D
El smbolo lgico para un flip-flop D es el siguiente:

Figura 6: Smbolo lgico de un flip-flop D

D
0 1

Q( t+1 )
0 1

Tabla 2: Tabla de verdad de un flip-flop SR sncrono Tiene solamente una entrada de datos (D), y una entrada de reloj (CLK). Las salidas Q Y 1. Tambin se denomina " flip-flop de retardo ". Cualquiera que sea el dato en la entrada (D), ste aparece en la salida normal retardado un pulso de reloj. El dato se transfiere durante la transicin del nivel BAJO al ALTO del pulso del reloj.

FLIP-FLOP JK
El smbolo lgico para un flip-flop JK es el siguiente:

Figura 7: Smbolo lgico de un flip-flop JK

Este flip-flop se denomina como "universal" ya que los dems tipos se pueden construir a partir de l. En el smbolo anterior hay tres entradas sncronas (J, K y CLK). Las entradas J y K son entradas de datos, y la entrada de reloj transfiere el dato de las entradas a las salidas. A continuacin veremos la tabla de la verdad del flip-flop JK: J
0 0 1 1

K
0 1 0 1

Q( t+1 )
Q(t) 1 0 Q(t)

Tabla 3: Tabla de verdad para un flip-flop JK

22

MICROPROCESADORES

DISPARO DE LOS FLIP-FLOPS


La mayor parte de los complicados equipos digitales operan como un sistema secuencial sncrono, lo que sugiere que un reloj maestro enve las seales a todas las partes del sistema para la operacin del mismo. Un tren de pulsos de reloj, tpico, se muestra en la siguiente figura.

Figura 8: Disparo de los flip-flops

La distancia horizontal en la onda es el tiempo y las distancia vertical es la tensin. En la figura 8 la tensin est primero en el nivel BAJO, o GND (tierra), tambin denominado 0 lgico. El pulso de a muestra el "flanco anterior" o "flanco positivo" de la forma de onda, que va de la tensin GND a +5 V. Este flanco tambin se denomina de BAJA a ALTA (L a H). En la parte derecha del pulso a, la onda cae de +5 V a GND. Este flanco tambin se denomina de ALTA a BAJA ( H a L) del pulso de reloj, aunque tambin se conoce como " flanco negativo " o "flanco posterior " del pulso de reloj

23

MICROPROCESADORES

CO TADORES
Son circuitos digitales lgicos secuenciales de salida binaria o cuenta binaria, caracterstica de temporizacin y de memoria, por lo cual estn constituidos a base de flip-flops.

CARACTERSTICAS IMPORTA TES


1. 2. 3. 4. Un nmero mximo de cuentas (mdulo del contador) Cuenta ascendente o descendente. Operacin sncrona o asncrona. Autnomos o de autodetencin.

UTILIDAD
Se utilizan para contar eventos. Ejemplos: 1. nmero de pulsos de reloj. 2. medir frecuencias. 3. Se utilizan como divisores de frecuencia y para almacenar datos. Ejemplo: en un reloj digital. 4. Se utilizan para direccionamiento secuencial y algunos circuitos aritmticos.

CO TADORES DE RIZADO.
Son dispositivos contadores que tienen conectados los flip-flops en forma asncrona, es decir, que no tienen conectadas las entradas de reloj (CLK) en paralelo, sino que tiene que esperar que el primer flip-flop, al activarse por el pulso conmute generando una salida, la cual active o coloque en modo de conmutacin al siguiente flip-flop, el cual con el siguiente pulso conmuta activando al siguiente y as sucesivamente. El modo de conmutacin en los flip-flop se consigue colocando las entradas J y K en ALTA (1 lgico). El mdulo de un contador est determinado por la cuenta mxima a la que es diseado, es decir, si el contador es diseado para que cuente de 0 a 15 su mdulo es el 16 (contador mdulo 16) y simplificado se denomina contador mod-16, si es diseado para contar de 0 a 9 ser un contador mdulo 10 o mod-10, etc.

CO TADOR DE RIZADO MODULO- 16.


Este contador se encuentra constituido por flip-flop JK en modo de conmutacin al mantener presente en las entradas J y K un 1 lgico y conectados entre si de forma

24

MICROPROCESADORES asncrona, es decir, que la salida del flip-flop 1 (FF1) est conectada de forma directa a la entrada de reloj del siguiente flip-flop 2 (FF2). Los indicadores de salida dan una seal binaria, donde el indicador A (QA) es el LSB (Bit Menos Significativo), el indicador D (QD) es el MSB (Bit Ms Significativo).

Figura 1: Contador de rizado mod-16

El circulito en la entrada de reloj (CLK) de los fip-flops, nos indica que trabajan o conmutan con lgica negativa, es decir, que se activan en la transicin de ALTA a BAJA (flanco posterior) del pulso de reloj y la salida del FF1 (QA) va del nivel BAJO al ALTO dando como resultado la cuenta binaria 0001. En el pulso 2, en la transicin del nivel ALTO a BAJO, FF1 se desactiva pasando su salida del nivel ALTO a BAJO, activando el FF2, conmutando la salida del nivel BAJO a ALTO generando la cuenta 0010, en el pulso 3 del reloj se activa FF1 generando la salida 0011, porque FF2 se encuentra en mantenimiento teniendo su salida (QB) activada, en el siguiente pulso se incrementa la cuenta a 0100, segn se observa en el diagrama de tiempo de la figura 2.

Cuenta decimal 0 1 2 3 4 5 6 7

Cuenta binaria 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1

Cuenta decimal 8 9 10 11 12 13 14 15

Cuenta binaria 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

25

MICROPROCESADORES
Tabla 1: Secuencia de un contador mod-16

Figura 2: Diagrama de tiempos de un contador mod-16

CO TADORES PARALELOS
Con este tipo de contadores se elimina o se atenua el retardo que se presenta en los contadores asncronos, donde se tiene que esperar que un flip-flop active al otro. Este efecto se consigue conectando el reloj directamente a las entradas de reloj (CLK) de los flip-flops, es decir, conectando los pulsos de reloj en paralelo (sncronamente) y las salidas de los flipflops a las entradas J y K de los mismos.

CO TADOR PARALELO DE 3 BITS MOD-8.

Figura 3: Contador paralelo mod-8

Tambin est construido a base de flip-flops JK, los cuales tienen conectadas sus entradas de reloj en paralelo y sus salidas QA, va conectada a las entradas J y K del siguiente flipflop (FF2) y as sucesivamente por lo que estara en modo de mantenimiento hasta que la salida del FF1 les de un 1 lgico lo que los colocara en modo de conmutacin a FF2, al estar las entradas del reloj en paralelo, la transicin del primer pulso del nivel ALTO a BAJO, FF1 se activa mientras que FF2 se coloca en modo de conmutacin y FF3 sigue en mantenimiento generando la cuenta 001. En el segundo pulso FF1 se desactiva y FF2 conmuta generando la salida 010, si en el tercer pulso estuviera la salida FF2 conectada directamente a las entradas J y K del FF3 se generara la cuenta mxima 111, por que el FF2 se encuentra en estado de mantenimiento en este caso activado por el pulso anterior, teniendo en modo de conmutacin a FF3 el cual, junto con FF1 se activara en el pulso 3. Para evitar este inconveniente se conecta la salida del FF1 y del FF2 a las entradas de una puerta AND y las salidas de la puerta AND a las entradas J y K de FF3, colorndolo en modo de conmutacin solamente cuando FF1 y FF2 estn activados, es decir, en el pulso 3. Generando en el pulso 4 de reloj que se desactiven FF1 y FF2 y se active FF3 generando la cuenta 100 y en los siguientes pulsos se generarn. El resto de cuenta como se muestra en el diagrama de tiempo de la figura 4.

26

MICROPROCESADORES Cuenta Binaria 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 Cuenta decimal 0 1 2 3 4 5 6 7

Tabla 2: Secuencia de un contador mod-8

Figura 4: Diagrama de tiempos de un contador mod-8

OTROS CO TADORES.
Estos contadores no llegan a su cuenta mxima, por que se interrumpe su cuenta segn el diseo o la necesidad que se tenga, por ejemplo, un contador MOD-6 o MOD-10.

CO TADOR DE RIZADO MOD-6.


Para conseguir este tipo de contador de bits, se utiliza una entrada de reset o borrado la cual se activa inmediatamente despus de la cuenta ms alta que se necesite, en este caso en la cuenta 110, colocando los flip-flops en 0 lgico. En la figura 5 se muestra el esquema de un contador mod-6.

27

MICROPROCESADORES

Figura 5: Esquema lgico de un contador de rizado mod-6

Este trabajo de activar las entradas de reset de cada flip-flop lo realiza una puerta NAND la cual da un 0 lgico a las entradas de reset. Al recibir en las entradas de la NAND los 1 lgicos de las salidas del FF2 y del FF3 colocando en 0 lgico todos los flip-flops y as el contador comienza de nuevo a contar desde 000 hasta 101 o inversamente si es de cuenta descendente.

C B A 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0

Cuenta decimal 0 1 2 3 4 5 RESET

Tabla 3: Secuencia de un contador mod-6

Figura 6: Diagrama de tiempos del contador mod-6

28

MICROPROCESADORES El retardo que es causado en el pulso 6 cuando va del nivel ALTO a BAJO hasta que FF2 y FF3 son puestos a 0 en el punto B del diagrama de tiempo, se le denomina tiempo de propagacin y ste depende del retardo de propagacin del flip-flop y de la puerta que se est utilizando, este retardo de propagacin en la familia TTL es del orden de unos 30ns (nanosegundos). En las otras familias son mayores.

CO TADOR DECADA (CUE TA DECE AS)


Es uno de los ms utilizados, esta construido a base de 4 flip-flops JK y una puerta NAND la cual pone en 0 los flip-flops al llegar la cuenta mxima (1010). Como se sabe un contador de 4 bits, llega a una cuenta mxima binaria de 1111 que equivale a 16 en decimal, por lo que la puerta NAND debe activarse inmediatamente despus de la cuenta 1001 0 9 en decimal para que el contador sea mod-10.

Figura 7: Diagrama lgico de un contador dcada rizado

Entonces, como la cuenta inmediatamente despus de 1001 es 1010, entonces se conectan las entradas de la puerta NAND a las salidas de FF2 (QB) y FF4 (QD) que al mandar los unos a las entradas de la NAND, la activan enviando un pulso a las entradas de reset (borrado o CLR) de los flip-flops colocndolos en cero y reinicializando la cuenta.

Figura 8: Smbolo lgico simplificado de un contador dcada

29

MICROPROCESADORES

CO TADORES DESCE DE TES


Son los contadores en los cuales su cuenta va en sentido inverso a la normal, es decir, de 16 a 0 o en binario de 1111 a 0000. (si es de mod-16)

CO TADOR DE RIZADO DESCE DE TE DE 3 BITS


Esta diseado similarmente a los dems contadores, con la diferencia que este trae en los flip-flops una salida negada (1), la cual da el pulso contrario a la salida normal (Q), es decir, cuando Q es positivo, 1 es negativo. Esta salida 1 es la que va a ir conectada a la entrada de reloj (CLR) de los otros flip-flops, de resto todas las conexiones son iguales como se muestra en la figura 9.

Figura 9: Contador de rizado descendente de 3 bits

El funcionamiento es el siguiente: al tener los 3 flip-flops sus entradas J y K en estado de conmutacin (ambas entradas en ALTO) y sus salidas Q activadas o en estado de SET en los flip-flops, al llegar el primer pulso en la transicin de ALTO a BAJO, el FF1 conmuta, con lo cual Q va del nivel ALTO a BAJO y 1 va del nivel BAJO al ALTO y la cuenta pasa de 111 a 110 (de 7 a 6 en decimal), en el pulso 2 en la transicin de ALTO a BAJO, FF1 comuta con lo cual la salida Q va del nivel BAJO al ALTO y la salida 1 va del nivel BAJO al ALTO y se genera la cuenta 101 (5 en decimal) y as hasta llegar a la cuenta mxima, que en este caso es 0000 como se muestra en el diagrama de tiempo,

Figura 10: Diagrama de tiempos de un contador descendente de 3 bits

30

MICROPROCESADORES

CO VERSI DE CDIGOS
Los conversores de cdigos son una aplicacin de las puertas lgicas en los sistemas digitales. Los cdigos mas utilizados son el binario BCD 8421, octal, hexadecimal y el decimal. Los dispositivos digitales pueden procesar solamente los bits "1" y "0" . Estas largas cadenas de 1 y 0 son difciles de comprender por las personas. Por esta razn se necesitan los conversores de cdigos para traducir el lenguaje de la gente al lenguaje de la maquina. Un ejemplo de conversor de cdigo es una sencilla calculadora manual, la cual esta constituida por un dispositivo de entrada llamado teclado. Entre el teclado y la unidad central de tratamiento "CPU" hay un codificador, que traduce el numero decimal pulsado en el teclado a cdigo binario. La "CPU" realiza su operacin en binario y produce un resultado en cdigo binario. El decodificador traduce el cdigo binario de la CPU a un cdigo especial que hacen que luzcan los segmentos adecuados en el visualizador de siete segmentos. Los conversores de cdigos se dividen en dos tipos:

Codificador Decodificador

CODIFICADORES
Un codificador es considerado como un traductor del lenguaje de la gente al lenguaje de la maquina, es decir, traduce una entrada decimal a un numero BCD 8421. El diagrama lgico, en forma simplificada, de un codificador decimal a BCD se muestra en la figura 1

Figura 1: Codificador BCD

El codificador tiene diez entradas a la izquierda y cuatro salidas a la derecha, adems puede tener una entrada activa, que produce una nica salida. Una caracterstica poco habitual del codificador es que no hay entrada 0. Una entrada cero significa una salida 1111 (en D, C, B y A) que es verdadera cuando todas las entradas del 19 estn desconectadas. Cuando las entradas no estn conectadas, se dice que estn flotando.

31

MICROPROCESADORES

DECODIFICADOR BCD A DECIMAL


Un decodificador es considerado como el proceso inverso de un codificador, es decir, un traductor de lenguaje de las maquina al lenguaje de la gente. El diagrama de bloque del decodificador se muestra en la figura 4.

Figura 4: Smbolo lgico de un decodificador BCD a decimal

El decodificador tiene 4 entradas a la izquierda que estn conformadas por el cdigo BCD 8421, y tiene a la derecha diez lneas de salidas. En la figura se muestra el decodificador comercial BCD a decimal, TTL 7442 y su correspondiente tabla de verdad.

DECODIFICACIO BCD A CDIGO DE 7 SEGME TOS


Un dispositivo de salida muy utilizado para visualizar nmeros decimales es el visualizado de 7 segmentos. Los 7 segmentos se marcan con las letras de la a - g. Existes varios tipos de visualizadores dentro de los cuales encontramos, el denominado incandescente, que es similar a una lmpara comn, el de tubo de descarga de gas, que opera a tensiones altas y produce una iluminacin anaranjada, el de tubo fluorescente, que da una iluminacin verdosa cuando luce y opera con tensiones bajas, el mas moderno que es el de cristal liquido (LCD), este crea nmeros negros sobre fondos plateados, y por ltimo el visualizador comn de diodos emisores de luz (LED) que produce un brillo rojo cuando luce. Existen visualizadores LED que cuando lucen emiten colores distintos del rojo. Como el visualizador LED es el mas fcil de utilizar y el mas comn por eso se tratar con mas detalles. En la figura se muestra la forma de operacin de un visualizador de 7 segmentos.

32

MICROPROCESADORES

Figura 7: Operacin de un visualizador de 7 segmentos

Cada segmento (de a a g ) contiene un LED. Como la corriente tpica de un LED es de 20 mA, se colocan resistores de 150 (ohmios) con el fin de limitar dicha corriente. Sin este resistor, el LED podra quemarse debido a que un LED puede soportar solo 1.7V a travs de sus terminales. Existen dos tipos de visualizadores LED, el de nodo comn y el de ctodo comn. Ctodo comn: cuando todos los ctodos estn unidos entre s y van directo a tierra. Anodo comn: cuando todos los nodos estn conectados entre s y van a la fuente de alimentacin como el caso del ejemplo del cual estamos hablando. Si, por ejemplo, se desea que aparezca el nmero decimal 7 en el visualizador de la figura deben cerrarse los conmutadores a, b y c para que luzcan los segmentos a, b y c del LED. Observar que una tensin de tierra (baja ) activa a los segmentos de este visualizador LED.

CONTROLADORES DE LCD
En la figura se muestra un diagrama de bloques de un sencillo circuito de codificador / controlador LCD.

Figura 11: Diagrama de bloques de un decodificador/controlador LCD de 7 segmentos

Este decodificador convierte el cdigo BCD de entrada a cdigo de siete segmento. A continuacin, la unidad controladora LCD tomara la seal de onda cuadrada de 100 Hz del reloj autnomo y enva seales invertidas (desfasadas 180 ) solamente a los segmentos

33

MICROPROCESADORES LCD que se van a activar. El reloj autnomo es un multivibrador estable que continuamente genera una cadena de pulsos de onda cuadrada con un ciclo de trabajo del 50%. En la figura se muestra un diagrama ms detallado del controlador/ decodificador LCD.

Figura 12: Diagrama de conexiones de un decodificador/controlador LCD

Observe que la entrada BCD al decodificador es 0111. El decodificador traduce la entrada y activa las salidas a, b y c al nivel ALTO, que es el cdigo de siete segmentos adecuado para visualizar el decimal 7. Las dems salidas (d, e, f, y g) permanecen en el nivel bajo. La seccin controladora del LCD contiene siete puertas XOR CMOS de dos entradas. La seal de 100 Hz controla la entrada superior de cada puerta XOR y la entrada inferior esta conectada directamente al decodificador. Si la entrada inferior esta en nivel BAJO, la seal pasa a travs de la puerta sin cambiar (en fase con la seal del reloj). Pero si por el contrario la entrada esta al nivel ALTO, la seal se invierte y pasa a travs de la puerta (se desfasa 180 con respecto a la seal del reloj). Existen dos CI CMOS comerciales, que realizan la tarea del decodificador / controlador LCD. Estos son los CI 4543 y 74HC4543, descritos por el fabricante como un cerrojo / decodificador/ controlador BCD a siete segmentos para LCD. En la figura se presenta un diagrama de bloques del decodificador / controlador que utiliza el CI 74HC4543.

34

MICROPROCESADORES

Figura 13: Diagrama de bloques del controlador LCD 74HC4543

Este chip contiene una seccin decodificadora BCD a siete segmentos, una seccin controladora del LCD y una seccin de cerrojos de 4 bits para bloquear la entrada BCD en un instante dado. Se considera el cerrojo como una unidad de memoria que almacena los 4 bits de entrada en la entrada de la seccin decodificadora durante un cierto tiempo.

35

MICROPROCESADORES

TEMA 3 I TRODUCCI A LA ARQUITECTURA DE U COMPUTADOR

3.1 I TRODUCCI Microprocesador, circuito electrnico que acta como unidad central de proceso de un ordenador, proporcionando el control de las operaciones de clculo. Los microprocesadores tambin se utilizan en otros sistemas informticos avanzados, como impresoras, automviles o aviones. En 1995 se produjeron unos 4.000 millones de microprocesadores en todo el mundo.

El microprocesador es un tipo de circuito sumamente integrado. Los circuitos integrados, tambin conocidos como microchips o chips, son circuitos electrnicos complejos formados por componentes extremadamente pequeos formados en una nica pieza plana de poco espesor de un material conocido como semiconductor. Los microprocesadores modernos incorporan hasta 10 millones de transistores (que actan como amplificadores electrnicos, osciladores o, ms a menudo, como conmutadores), adems de otros componentes como resistencias, diodos, condensadores y conexiones, todo ello en una superficie comparable a la de un sello postal.

Un microprocesador consta de varias secciones diferentes. La unidad aritmtico-lgica (ALU, siglas en ingls) efecta clculos con nmeros y toma decisiones lgicas; los registros son zonas de memoria especiales para almacenar informacin temporalmente; la unidad de control descodifica los programas; los buses transportan informacin digital a travs del chip y de la computadora; la memoria local se emplea para los cmputos realizados en el mismo chip. Los microprocesadores ms complejos contienen a menudo otras secciones; por ejemplo, secciones de memoria especializada denominadas memoria cache, que sirven para acelerar el acceso a los dispositivos externos de almacenamiento de datos. Los microprocesadores modernos funcionan con una anchura de bus de 64 bits (un bit es un dgito binario, una unidad de informacin que puede ser un uno o un cero): esto significa que pueden transmitirse simultneamente 64 bits de datos. Un cristal oscilante situado en el ordenador proporciona una seal de sincronizacin, o seal de reloj, para coordinar todas las actividades del microprocesador. La velocidad de reloj de los microprocesadores ms avanzados es de unos 300 megahercios (MHz) unos 300 millones de ciclos por segundo, lo que permite ejecutar unos 1.000 millones de instrucciones cada segundo.

36

MICROPROCESADORES 3.2 HISTORIA DEL MICROPROCESADOR El primer microprocesador fue el Intel 4004, producido en 1971. Se desarroll originalmente para una calculadora, y resultaba revolucionario para su poca. Contena 2.300 transistores en un microprocesador de 4 bits que slo poda realizar 60.000 operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008, desarrollado en 1979 para su empleo en terminales informticos. El Intel 8008 contena 3.300 transistores. El primer microprocesador realmente diseado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contena 4.500 transistores y poda ejecutar 200.000 instrucciones por segundo. Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores. Entre ellos figuran el Intel Pentium Pro, con 5,5 millones de transistores; el UltraSparc-II, de Sun Microsystems, que contiene 5,4 millones de transistores; el PowerPC 620, desarrollado conjuntamente por Apple, IBM y Motorola, con 7 millones de transistores, y el Alpha 21164A, de Digital Equipment Corporation, con 9,3 millones de transistores.

EL MICROPROCESADOR 8088 DE I TEL.


Evolucin de las Computadoras Ao Siglo VI AC 1642 1671 1823 1830 Desarrollo baco Calculadora de Blas Pascal Rueda de Leibniz Mquina de Diferencias Babbage Mquina analtica de Babbage Caractersticas Calculadora primitiva basada en cuentas Mquina con engranajes y ruedas Calculadora de Pascal con capacidad para Multiplicar y Dividir de Clculo de Logaritmos y otras funciones

1890 1930 1940-1945 1941 1943 1946 1946-1952

1959

1964

1970

Acepta programas con tarjetas perforadas, unidad de procesamiento (taller) y memoria de ruedas dentadas (almacn) con capacidad para 1000 nmeros de 50 dgitos. Mquina de Hollerith Programas con tarjetas perforadas y rels electromecnicos Analizador diferencial de Bus Clculo de ecuaciones (MIT) COLOSSUS Descifrado de los mensajes codificados de la ENIGMA de los nazis Z3 y Z4 de Zuse Computador mecnico basado en rels Harvard Mark I (IBM) Desarrollo actualizado con rels de la mquina de Babbage ENAC de Mauchly y Eckert Programacin con interruptores, 18000 vulvos, 1550 rels, 30 toneladas. EDVAC y otros desarrollos de Programas precableados. Arquitectura con memoria Von Neumann. Computadores de definida. primera generacin. Sistema 7090 de IBM, Burroughs Uso de transistores. B5000, PDP-8. Computadores de segunda generacin. Sistema/360 de IBM. Circuitos hbridos (parcialmente integrados) Computadores de tercera generacin: PDP-11 Primer microprocesador. Alto nivel de integracin

37

MICROPROCESADORES

Evolucin de los Microprocesadores Ao 1970-1971 1971 1973 1977 1978 80s 1982 1985 1989 1993 1993-2000 2001 Desarrollo 4004 de Marcian Of. (Intel) 8008 de Intel 8080 de Intel 8085 de Intel 8086 y 8088 de Intel 80186 de Intel 80286 de Intel 80386 de Intel 80486 de Intel Pentium de Intel PII, PIII de Intel PIV de Intel Caractersticas 4 bits (memoria de 4K*4). 45 instrucciones 8 bits (memoria de 16K*8). 48 instrucciones 8 bits, ms memoria, 10 veces ms rpido, compatibilidad TTL 8 bits, mayor rapidez, sistema de reloj integrado. Licenciado a otros grandes fabricantes. 16 y 8 bits, respectivamente, 3 veces ms rpidos, 1 Mbyte de memoria Versin altamente integrada del 8086. Muy utilizada en control 16 bits, unidad de administracin de memoria, 16 MB de memoria, hasta 16 MHz 16 bits, 33 MHz, 4 GB de memoria 16 bits, 66 MHz, 4 GB de memoria, coprocesador integrado (DX) y memoria cache. Datos de 64 bits, dos memorias cache, 166 MHz 533 MHz y 800 MHz, respectivamente GHz

38

MICROPROCESADORES 3.3 Arquitectura Tpica de un Microprocesador. Los Microprocesadores abandonan la arquitectura clsica de Von Neumann, en la que datos y programas estn en la misma zona de memoria, y apuestan por la denominada ``Arquitectura Hardvard''. En una arquitectura Hardvard existen bloques de memoria fsicamente separados para datos y programas. Cada uno de estos bloques de memoria se direcciona mediante buses separados (tanto de direcciones como de datos), e incluso es posible que la memoria de datos tenga distinta anchura de palabra que la memoria de programa (como ocurre en ciertos microcontroladores).

Con este diseo se consigue acelerar la ejecucin de las instrucciones, ya que el sistema puede ejecutar simultneamente la lectura de datos de la instruccin ``n'' y comenzar a decodificar la instruccin ``n+1'', disminuyendo el tiempo total de ejecucin de cada instruccin. Para ver esto ms claro, pensemos en un microprocesador clsico, cuyo ciclo de trabajo es:

leer la posicin de memoria apuntada por el contador de programa decodificar la instruccin ejecutar la instruccin

En la ejecucin de la instruccin se dan estos pasos:


leer los datos de memoria operar con ellos dejarlos en la RAM

39

MICROPROCESADORES Por tanto, podemos ver que durante la lectura de los datos de una instruccin el bus est ocupado y no podra ser usado por otra unidad de decodificacin, como aparece en muchos microprocesadores modernos, en los que se realizan simultneamente la ejecucin de la instruccin n y la decodificacin de la instruccin n+1. Normalmente en los D.S.P. se usa una arquitectura Hardward modificada con 3 buses: uno de programa y dos de datos, lo cual permite que la CPU lea una instruccin y dos operandos a la vez (pero no dos posiciones de memoria a la vez, para lo que hace falta una RAM de doble puerto). En el proceso de seales, las operaciones con 2 operandos son muy comunes, motivo por el cual se hace esta modificacin. Tambin es bastante comn encontrar un solapamiento entre la ROM y la RAM de datos, de modo que podemos usar parte de la ROM de programa para almacenar coeficientes y leerlos en la RAM de datos, sin tener que usar instrucciones especficas para leer los datos almacenados en ROM, como ocurre en algunos microcontroladores, como la familia 8051, que posee la instruccin MOVX para tal fin. 3.4 Unidad de Procesamiento. La unidad de procesamiento central ( CPU ) de una computadora digital es el elemento funcional principal del sistema de computacin. Consta de dos subunidades funcionales: la unidad de Control (CU) y la unidad aritmtica lgica ( ALU ). La unidad de control interpreta instrucciones, hace que las otras unidades de la computadora realicen las funciones que se requieran para ejecutar las instrucciones. 3.5 Unidad de Control La unidad de control se encarga de la operacin de la computadora. Captura y Decodifica las instrucciones, genera las seales de sincronizacin y establece las series de eventos que ocurren durante la operacin de la computadora. Contiene varios registros que almacenan la informacin que la computadora requiere durante su operacin, y controla la transferencia de informacin entre esos registros y otras unidades de la computadora. . Programa Memoria Status (ALU) Decodif. de Prximo Edo. > o
Clk Reset

Unidad de Edo.

Decodif. de Salidas

A la UdP (ALU)

40

MICROPROCESADORES 3.6 Conjunto de Instrucciones El conjunto de instrucciones se divide en grupos con base en el modo de direccionamiento que se utilice. La similitud de las instrucciones de un mismo grupo hace posible utilizar una descripcin comn para todo el grupo. Los siguientes tipos de instrucciones representan los ms difundidos en las computadoras actuales. Instrucciones con indicacin de registros. En ellas el o los operandos estn todos ubicados en registros del CPU. Las instrucciones de esta categora realizan operaciones aritmticas y lgicas, as como operaciones de ramificacin incondicional con datos contenidos en registros, y manejan operaciones relacionadas con las interrupciones. Instrucciones de Referencia a la memoria. En ellas uno o ambos operandos estn en la memoria. Si existe un solo operando en la memoria, por lo general hay un segundo operando en el registro. Este tipo de instruccin suele denominarse instruccin de longitud de palabra fija. Instrucciones de entrada y salida ( I/O) Provocan la transferencia de datos entre un dispositivo de entrada o salida y un registro del CPU (por lo general el acumulador ) o la memoria. Entre las unidades comunes de datos transferidos en una operacin individual de I/O se cuentan el bit; el byte, que tiene ocho bits; y la palabra, que tiene cuatro bytes.

3.7 Unidad Aritmtica y Lgica (ALU) La Unidad Aritmtica Lgica desempea las funciones aritmticas y lgicas del CPU. Entre las funciones aritmticas generalmente se cuentan la suma y resta de nmeros Binarios y nmeros decimales codificados en binario (BCD). En algunas microcomputadoras y en todas las macrocomputadoras, la ALU tambin realiza la multiplicacin y divisin de nmeros binarios y BCD 3.8 Algoritmos Aritmticos (ALU) Se dijo anteriormente que la ALU se implementa la suma y resta binarias, ciertas operaciones booleanas y desplazamientos. Otras operaciones aritmticas, operaciones con BCD y aritmtica de punto flotante, as como la multiplicacin y divisin de punto fijo, se deben programar o ejecutar mediante hardware extra.

41

MICROPROCESADORES 3.9 Algunos Sistemas de umeracin Utilizado en los Microcomputadores

SISTEMA DE MEROS E COMPLEME TO A 2 Este es un sistema que nos permite representar nmeros binarios de forma negativa, en donde el MSB (Bit mas Significativo) es el bit del signo. Si este bit es 0 entonces el numero binario es positivo (+), si el bit del signo es 1, entonces el numero es negativo(-) los siete bits restantes del registro representan la magnitud del numero 1010110, para complementar mejor la explicacin tendremos que dedicarle mucha atencin a la explicacin de conversiones donde interviene este tipo de numeracin, que es bastante utilizado en los microprocesadores, ya que estos manejan tanto nmeros positivos como nmeros negativos. Para comprender mejor la conversin de sistema de numeracin de este sistema de numeracin, hay que tener en cuenta las siguientes definiciones

FORMA COMPLEME TO A 1 El complemento a 1 de un numero binario se obtiene cambiando cada 0 por 1 y viceversa. En otras palabras, se cambia cada bit del numero por su complemento.

Figura : Complemento a uno FORMA COMPLEME TO A 2 El complemento a 2 de un numero binario se obtiene tomando el complemento a 1, y sumndole 1 al bit menos significativo. A continuacin se ilustra este proceso para el numero 1001 = 9

Figura : Complemento a 2 Cuando se agrega el bit de signo 1 al MSB, el numero complemento a 2 con signo se convierte en 10111 y es el numero equivalente al - 9.

42

MICROPROCESADORES

3.10 REGISTROS DE DESPLAZAMIE TO Es un circuito digital que acepta datos binarios de una fuente de entrada y luego los desplaza, un bit a la vez, a travs de una cadena de flip-flops. Este sistema secuencial es muy utilizado en los sistemas digitales. Un ejemplo de esto se ve en las calculadoras comunes, donde al escribir una cifra de varios nmeros, se nota que el primer nmero pulsado le cede espacio a los dems corrindose a la izquierda, donde adems se nota que hay caractersticas de memoria porque se mantienen visualizados los nmeros pulsados. Los registros de desplazamiento son construidos a partir de flip-flops. Adems de tener caractersticas de memoria y la funcin de desplazar datos, tambin se utilizan para convertir datos serie a paralelo y paralelo a serie.

REGISTRO DE DESPLAZAMIE TO DE CARGA SERIE. Estos registros se denominan de carga serie porque los datos entran secuencialmente a travs del primer flip-flop.

Figura 1: Registro de desplazamiento carga serie

La figura 1 ilustra un sencillo registro de desplazamiento serie de 4 bits que tiene las siguientes caractersticas: 1. Esta construido a partir de flip-flops tipo D 2. La entrada de datos se hace en FF1 (entrada serie). 3. La entrada de borrado (CLR) esta conectada en paralelo a todos los flipflops y se activa en el nivel BAJO. 4. La entrada de reloj (CLK) esta conectada en paralelo a los flip-flops que se accionan con el flanco positivo del tren de pulso. 5. Cada salida de los flip-flops tiene indicadores de salida (salida paralelo). 43

MICROPROCESADORES Funcionamiento. El diagrama de tiempo ilustra claramente su funcionamiento.

Figura 2: Diagrama de tiempo para un registro de desplazamiento a la derecha, de carga serie de 4 bits.

1. Primero colocamos la entrada de borrado a 1 y colocamos un 1 en la entrada de datos. 2. Con el pulso de reloj 1 (flanco positivo) la entrada de 1 del FF1 se transfiere a la salida de este FF. En la salida se lee entonces 1000 (A = 1, B = 0, C = 0, D = 0). 3. Colocamos un cero en la entrada de datos de FF1 y pulsamos la entrada de reloj una segunda vez. La salida ser 0100 (A = 0, B = 1, C = 0, D = 0). 4. Seguimos haciendo el mismo procedimiento y comprobamos que en el pulso de reloj 5 el dato se pierde fuera del registro. 5. De los pulsos del 6 al 9 repetimos el mismo procedimiento, pero antes del pulso 9 introducimos un 1 en la entrada de datos y con el pulso de reloj 9 se visualizar 1001. 6. En los pulsos de reloj del 10 al 12 mantenemos la entrada de FF1 activada y comprobamos que en el pulso de reloj 12 la salida ser 1111. REGISTRO DE DESPLAZAMIE TO DE CARGA PARALELO.

Estos registros se denominan de carga paralelo porque cada flip-flop tiene una entrada preset (PS) en paralelo que es por donde se introducen los datos. Tambin tienen las entradas de reloj borrado y las salidas Q y 1.

44

MICROPROCESADORES

Figura 3: registro de desplazamiento carga paralelo

La figura 3 ilustra un diagrama lgico de un registro de desplazamiento a la derecha, recirculante de carga paralelo de 4 bits. Este diagrama se caracteriza porque tiene una realimentacin que va de la salida Q de FF4 a la entrada J de FF1 y de 1 de FF4 a la entrada K de FF1 para evitar que los datos se pierdan por el extremo derecho de este registro. El diagrama de tiempo muestra su funcionamiento:

Figura 4: Diagrama de tiempos de un registro de desplazamiento carga paralelo

45

MICROPROCESADORES

1. Primero accionamos la entrada de borrado para poner las salidas a 0000 (punto a). 2. Se activan las entradas A y B de datos en paralelo. Como son entradas asncronas van inmediatamente al nivel ALTO. En el punto C desactivamos estas entradas. El registro de salida ser 1100. 3. En el flanco posterior del pulso de reloj 1 los datos se desplazan a la derecha dando como resultado (0110). 4. En el pulso de reloj 3 la salida pasa de (0011) a (1001) debido a la realimentacin que existe de Q de FF4 a J de FF1. 5. En el pulso de reloj 4 el registro de salida ser igual al del comienzo (1100). Entonces se necesitara de 4 pulsos de reloj para que recircule a su posicin original. 6. En el punto e se acciona la entrada D que genera una salida en FF4 (0001). Despus del pulso 6 el dato recircula a FF1. 7. Despus de 4 pulsos (6 a 9), el dato es el mismo que el original (0001).

3.11 Comunicacin por Buses Los Buses son un conjunto de lneas conductoras de hardware utilizadas para la transmisin de datos entre los componentes de un sistema informtico. Un bus es en esencia una ruta compartida que conecta diferentes partes del sistema, como el microprocesador, la controladora de unidad de disco, la memoria y los puertos de entrada/salida (I/O), para permitir la transmisin de informacin. El bus, por lo general supervisado por el microprocesador, se especializa en el transporte de diferentes tipos de informacin. Por ejemplo, un grupo de lneas (en realidad trazos conductores sobre una placa de circuito impreso) transporta los datos, otro las direcciones (ubicaciones) en las que puede encontrarse informacin especfica, y otro las seales de control para asegurar que las diferentes partes del sistema utilizan su ruta compartida sin conflictos. Los buses se caracterizan por el nmero de bits que pueden transmitir en un determinado momento. Un equipo con un bus de 8 bits de datos, por ejemplo, transmite 8 bits de datos cada vez, mientras que uno con un bus de 16 bits de datos transmite 16 bits de datos simultneamente. Como el bus es parte integral de la transmisin interna de datos y como los usuarios suelen tener que aadir componentes adicionales al sistema, la mayora de los buses de los equipos informticos pueden ampliarse mediante uno o ms zcalos de expansin (conectores para placas de circuito aadidas). Al agregarse estas placas permiten la conexin elctrica con el bus y se convierten en parte efectiva del sistema. Caractersticas del BUS: Anchura del BUS (Nmero de bits que transporta en un instante dado) Sentido del BUS (doble va, una sola va) Tipo de informacin que transporta

46

MICROPROCESADORES EL BUS EXTER O DE DATOS El BUS de datos, como se le denomina, permite la comunicacin entre todos los perifricos y el microprocesador. Por el circulan datos, resultados e instrucciones. La anchura o tamao del BUS se fija teniendo en cuenta el tipo de dato y la longitud de las instrucciones que se van a manejar. Un bus de 8 bits de anchura puede transportar un carcter en el cdigo ASCII, a la vez; puede transportar un numero binario entero no mayor de 255. Pero si en el repertorio de instrucciones hubiera algunas de 16 bits de longitud; se necesitaran dos accesos a la memoria para transportar toda la instruccin.

TECLADO

IMPRESORA

PUERTO DE ENTRADA

PUERTO DE SALIDA

DIRECCIN
DATOS DATOS CONTROL BUS DE CONTROL

DIRECCIN

CONTROL

BUS DE DIRECCIN

BUS DE DATOS

MICROPROCESADOR
Figura 4

47

MICROPROCESADORES

En la figura anterior se ha reproducido parte del diagrama del microcomputador que se est describiendo. Solamente se ha presentado la informacin correspondiente a la parte de los BUSES EL BUS I TER O La comunicacin entre los distintos componentes del microprocesador queda asegurada por la presencia del BUS INTERNO, por el que circulan datos, resultados e instrucciones. BUS DE CO TROL Est formado por un conjunto de lneas que transportan informacin en un sentido o en otro. Adems transporta seales externas, como voltajes de alimentacin, seales de interrupcin, seales de arranque, de parada, etc.; tambin transporta seales generadas en el microprocesador, como impulsos de sincronismo, seales de dispositivos perifricos, etc. EL BUS DE DIRECCIO ES Es el encargado de transportar, como su nombre lo indica, la direccin del equipo perifrico de I/O o la posicin de memoria que va a ser seleccionada. La anchura del BUS DE DIRECCIONES permite conocer el espacio de memoria que puede ser direccionada en un microcomputador.

ALMACE AMIE TO En la figura 5 se representa el diagrama del microcomputador, poniendo de relieve aquellas partes del mismo que intervienen fundamentalmente en la ejecucin de la funcin de almacenamiento. EL DATO que se encuentra en el registro A se desplaza a travs de los buses interno y externo hasta llegar a la memoria, donde se almacena temporalmente en el buffer de la misma. La direccin donde debe almacenarse el dato se encuentra en el registro de direccin ; pasando por el BUS de direcciones llega hasta la memoria, donde es decodificada, activando la localidad de memoria donde debe almacenarse el DATO. Incrementando la direccin sucesivamente en la unidad, se pueden almacenar todos los datos en posiciones consecutivas de memoria, tal como se muestra en la figura 6. Aunque existen formas ms complejas de ejecutar la funcin de almacenamiento, la explicada corresponde a una de las arquitecturas ms usadas, especialmente en los microprocesadores de 8 bits.

48

MICROPROCESADORES

Figura 5 Almacenamiento

49

MICROPROCESADORES

Figura 6

LA RECUPERACI La informacin almacenada en la memoria es recuperada cuando se va a ejecutar un programa; es sacada de la memoria y enviada al microprocesador donde es procesada. En la figura 7 se muestra grficamente la forma de llevarse a cabo esta funcin. La direccin de la posicin de memoria que se va a acceder es generada por el contador del programa pasando por el registro de direcciones llega al BUS de direcciones y de ah a la memoria, donde se activa la posicin deseada. El contenido de esta posicin es enviado a travs del BUS de DATOS y el BUS interno hacia el registro de instrucciones, pasando luego al decodificador de instrucciones. Aqu se procesa la instruccin recibida, produciendo una serie de seales que enva a la UNIDAD de CONTROL, siendo utilizadas por sta para el cumplimiento de sus funciones. Las siguientes instrucciones son recuperadas secuencialmente, a medida que el contador de programa va incrementando su contenido de uno en uno, por impulsos que recibe de la UNIDAD de CONTROL cada vez que se cumple el ciclo de recuperacin de una instruccin . Esta manera de llevar a cabo la funcin de recuperacin corresponde a una arquitectura sencilla, de fcil realizacin. Sin embargo, hay que observar que durante el tiempo que se gasta buscando y trayendo la instruccin al decodificador, el resto de la mquina est sin ejecutar nada.

50

MICROPROCESADORES

Figura 7 La recuperacin

51

MICROPROCESADORES LA FU CI DE CO TROL Es la encargada de seleccionar el componente de la mquina que debe entrar a ejecutar alguna funcin en especial. Adems es la encargada de sealar el momento de comenzar y el momento de finalizar la funcin; de la misma manera, enva las seales de control que son necesarias durante la ejecucin de la misma. En la figura 8 aparece un esquema muy simplificado de la unidad de control, donde el reloj es el encargado de emitir los impulsos peridicos de sincronismo. Por el contrario, el decodificador, en base a la informacin externa e interna, decide cual componente de la mquina debe ser activado, para lo que dispone de una serie de seales de control que son las encargadas de distribuir la seal a los buses de control.

Fig 8 Modelo Simplificado de la funcin de control

EL PROCESAMIE TO La funcin del procesamiento se lleva a cabo fundamentalmente, a travs de la Unidad Aritmtica Lgica y de los diferentes registros de que dispone la mquina. En la Figura 9 se muestra el diagrama simplificado del microcomputador indicando las partes que intervienen en esta funcin. Todos los componentes sealados actan bajo la supervisin de la Unidad de Control. Los datos de la operacin, Dato 1 y Dato 2, se encuentran almacenados en los registros A y B . Una vez que son entregados a la UAL, sta los procesa, devolviendo el resultado al registro A, destruyendo el contenido anterior de este registro. Mediante una arquitectura distinta se podra mandar el resultado a un registro del Banco de registros, conservando el valor del Dato almacenado en el registro A.

52

MICROPROCESADORES El Banco de registros puede contener registros de propsito general y de propsito especial. Se dice que un registro es de propsito especial cuando solo puede servir para un tipo de operacin; en cambio, el registro de propsito general se puede usar para cualquier operacin que indique el programador. Cuantos ms registros de propsito general posea un microcomputador, ms simtrica ser su arquitectura, siendo mayor la probabilidad de encontrar una mquina compatible con ella. Adems es importante conocer el tipo de operaciones lgicas que la UAL puede ejecutar: comparaciones, desplazamientos, operaciones AND, OR, NOT, etc.

Fig 9 Esquema del Procesamiento

53

MICROPROCESADORES EL CO JU TO DE I STRUCCIO ES El juego de instrucciones que una mquina puede ejecutar est ntimamente relacionado con el Hardware de la misma; en realidad la parte fsica de la mquina est diseada en funcin del conjunto de instrucciones de la misma. Por ejemplo si las instrucciones de un computador permiten realizar las cuatro operaciones bsicas aritmticas, la unidad aritmtica lgica debe poseer los circuitos necesarios para poder ejecutarlas. Un diseo apropiado de instrucciones de corta longitud es un elemento esencial de la arquitectura de un microcomputador, ya que permite que el tiempo de recuperacin de las instrucciones sea pequeo, logrando as una ejecucin rpida de los programas.

54

MICROPROCESADORES

SELECTORES DE DATOS/MULTIPLEXORES.
Es la versin electrnica de un conmutador rotatorio en un solo sentido, se puede comparar con un selector mecnico en una sola direccin. Tambin se puede definir como un proceso de seleccin de una entrada entre varias y la transmisin de los datos seleccionados hacia un solo canal de salida.

Figura 1: Selector de datos

En la figura 1, se compara un selector mecnico de datos y un selector electrnico de datos. En el primer caso la seleccin del dato se logra girando mecnicamente el rotor del conmutador, y en el selector electrnico de datos multiplexor se selecciona el dato colocando el numero binario adecuado en las entradas de seleccin de datos A, B, C. A continuacin se ilustra el multiplexor comercial TTL 74150 que tiene las siguientes caractersticas: 1. Consta de 16 entradas de datos. 2. Tiene una nica salida invertida w (pin 10). 3. Posee cuatro entradas selectoras de datos de A a D (pin 15 al 11).

55

MICROPROCESADORES 4. Tiene una entrada de habilitacin denominada STROBE que se considera como un conmutador ON-OFF.

Figura 2: Selector de datos 74150

La tabla de verdad del selector de datos 74150 nos muestra en su primera lnea la entrada de habilitacin (STROBE) en alto lo cual no habilita ningn dato, sea cualquiera la entrada de seleccin, como resultado obtendremos en la salida una tensin alta. En la segunda lnea tenemos las entradas de habilitacin en bajo lo cual habilita las entradas selectoras de datos que en este caso estn en bajo por lo cual en la salida obtendremos la entrada E.

D X L L L L L L L L H

C X L L L L H H H H L

B X L L H H L L H H L

A X L H L H L H L H L

Strobe H L L L L L L L L L

W H E0 E1 E2 E3 E4 E5 E6 E7 E8

56

MICROPROCESADORES H H H H H H H L L L H H H H L H H L L H H H L H L H L H L L L L L L L E9 E10 E11 E12 E13 E14 E15

Tabla 1: Tabla deverdad del 74150

En la tercera lnea adems de tener la entrada de STROBE activado en BAJO tenemos en las entradas selectoras de datos LLLH lo cual nos da una salida de E1 y as sucesivamente hasta llegar en las entradas selectoras de datos HHHH que corresponde en la salida a E15. Este CI tiene muchas aplicaciones como la solucin de problemas lgicos difciles de simplificar. Como ejemplo puede mostrar la figura a continuacin donde necesitaramos muchos CI de lgica combinacional para implementar este circuito.

Figura 3: Solucin de problemas lgicos con multiplexores

Adems de todo lo anterior el CI 74150 se puede utilizar para transmitir una palabra paralela de 16 bits en forma serie esto se realiza conectando un contador a las entradas de

57

MICROPROCESADORES seleccin de datos y se cuenta desde 0000 hasta 1111, esta puede ser una palabra paralela de 16 bits en las entradas de datos de 0 a 15. Finalmente esta se transmite a la salida en forma serie o sea de dato por vez. Visualizar la multiplexacin.

Figura 4: Aplicacin de la multiplexacin

En este ejemplo, el multiplexaje reduce el consumo de potencia de los visualizadores y elimina la necesidad de un decodificador extra. El multiplexor trabaja a una frecuencia de 100 Hz que activa alternativamente el conteo de las unidades o de las decenas.

DEMULTIPLEXORES.
El demultiplexor (DEMUX) invierte la operacin del multiplexor, el DEMUX tiene una sola entrada de datos que en la salida puede ser distribuida a cualquier canal.

58

MICROPROCESADORES

Figura 5: Demultiplexor

El DEMUX tambin se denomina decodificador y a veces distribuidor de datos, el DEMUX solo permite que los datos fluyan de la entrada a las salidas y no en ambas direcciones. Los DEMUX estn disponibles en versiones TTL y CMOS de una entrada y cuatro salidas, una entrada y ocho salidas, una entrada y diez salidas y una entrada y diecisis salidas. El CI decodificador/demultiplexor de 4 a 16 TTL 74LS154 tiene dos entradas de datos G1 y G2 que activan a una nica entrada en el nivel BAJO. La figura 6 muestra el DEMUX 74LS154 que tiene 16 salidas de 0 a 15 con 4 entradas de datos (D a A) sus salidas son activas en bajo por lo que normalmente estn en alto y cuando se activan estn en bajo, adems como se haba dicho antes tiene dos entradas de datos G1 y G2 negados que realizan la operacin NOR para generar la nica entrada de datos lo que quiere decir que para poder activar un dato deben estar los dos en bajo.

59

MICROPROCESADORES

Figura 5: Demultiplexor 74154

El DEMUX 74LS154 pertenece a la familia TTL schottky de baja potencia y mayor velocidad que tiene un retardo de propagacin de 30 ns.

G1 L L L L L L L L L L L L L L L L L H H

G2 D C B A L L L L L L L L L L L L L L L L H L H L L L L L L L L

10 11 12 13 14 15 H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H L H H H

L H H H H H H H H H

L H H L H H H H H H H H

L H L H H L H H H H H H H L H H H H H L H H H H H H L H H H H L H H H H H

L H L

L H L H H H H H H L H H H H L H H L H H H H H H L H H H L H H H H H H H H H H L H H H L H L L L H H H H H H H H L H

L H H H H H H H H H H L

H L H L H H H H H H H H H H H L H H H H H H H H H H H H H H L L H H H H H H H H H H

H H L H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H H H H H H X X X X H H H H H H H H H H X X X X H H H H H H H H H H X X X X H H H H H H H H H H

Tabla 2: Tabla de verdad del demultiplexor 74154

60

MICROPROCESADORES

TEMA 4 U IDAD CE TRAL DE PROCESAMIE TO

4.1 La Unidad Central de procesamiento Central (CPU) Es la responsable de la interpretacin y ejecucin de instrucciones contenidas en la memoria principal. Las comunicaciones entre el CPU y la memoria principal se realizan a travs de dos Ductos o Buses funcionalmente distintos: el de direcciones y el de datos. Para introducir en la memoria una instruccin especfica, el CPU enva a aquella la direccin de la instruccin por el ducto de direcciones, y recibe por el mismo medio la instruccin que est en esa direccin. Parte de la instruccin es utilizada por el CPU para identificar la operacin por realizar; esta parte se llama cdigo de operacin de la instruccin. La informacin restante se utiliza para determinar la localidad o las localidades de los datos con los cuales se va a efectuar la operacin. La accin de leer una instruccin en el CPU y prepararla para su ejecucin se denomina ciclo de bsqueda (o de captura)de la computadora. Para completar una instruccin, el CPU decodifica el cdigo de operacin, genera las seales de control que se necesitan para introducir los operandos requeridos y controla la ejecucin de la instruccin.

4.2 Estructura y Funcin La unidad de procesamiento central CPU de una computadora digital es el elemento funcional principal del sistema de computacin. Consta de dos unidades funcionales que son: La unidad de control (CU) La Unidad Aritmtica Lgica (ALU) La unidad de control interpreta instrucciones, hace que las otras unidades de la computadora realicen las funciones que se requieran para ejecutar las instrucciones, y sincroniza su operacin. La ALU realiza las operaciones de aritmtica y lgica que, junto con las instrucciones de entrada y salida, constituyen el conjunto de instrucciones de la computadora. Las instrucciones aritmticas son la suma y la resta y, en algunas computadoras, la multiplicacin y la divisin. Entre las operaciones de lgica se cuentan la comparacin, y algunas o todas las operaciones booleanas AND, OR, XOR (OR EXCLUYENTE) y complementos. Tambin se realizan una variedad de operaciones de desplazamientos. El CPU opera junto con la unidad de memoria principal y dispositivos de entrada y salida.

61

MICROPROCESADORES 4.3 Registros de Control y Estado del CPU El CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamados registros. Algunos de los registros estn dedicados al control, y slo la unidad de control tiene acceso a ellos. Los registros restantes son registros de uso general, y el programador tiene acceso a ellos. En la explicacin que sigue se aclarar esta distincin. Dentro del conjunto bsico de registros de control se deben incluir: Contador del programa (PC) Registro de direcciones de la memoria (MAR) Registro de datos de la memoria (MDR) Registro de instrucciones (IR) Palabra de estado del programa (PSW)

PC: La funcin del PC consiste en seguir la pista de la instruccin por buscar (capturar) en el siguiente ciclo de mquina; por lo tanto contiene la direccin de la siguiente instruccin por ejecutar. El PC es modificado dentro del ciclo de bsqueda de la instruccin actual mediante la adicin de una constante. El nmero que se agrega al PC es la longitud de una instruccin en palabras. Por lo tanto si una instruccin tiene una palabra de longitud, se agrega 1 al PC; si una instruccin tiene dos palabras de largo, se agrega 2; y as sucesivamente. MAR: Funciona como registro de enlace entre el CPU y el BUS o DUCTO de direcciones . Cuando se logra el acceso a la memoria, la direccin es colocada en el MAR por la unidad de control y ah permanece hasta que se completa la transaccin. El nmero de bits que hay en el MAR es el mismo que en ducto de direcciones. Es oportuno aclarar la diferencia entre el PC y el MAR. Si no es necesario hacer referencia a la memoria durante el ciclo de ejecucin de una instruccin, el PC y el MAR sirven al mismo fin. Sin embargo, mucha de las instrucciones de la mquina hacen referencia a la memoria y operan con los datos que estn en ellas. MDR: La funcin del MDR consiste en proporcionar un rea de almacenamiento temporal (memoria intermedia, acumulador intermedio o buffer) de datos que se intercambian entre el CPU y la memoria. Los datos pueden ser instrucciones (obtenidas en el ciclo de ejecucin). Debido a su conexin directa con el BUS o Ducto de datos, el MDR contiene el mismo nmero de bits que l. IR: Es un registro que conserva el cdigo de operacin de la instruccin en todo el ciclo de la mquina. El cdigo es empleado por la unidad de control del CPU para generar las seales apropiadas que controlen la ejecucin de la instruccin. La longitud del IR es la longitud en bits del cdigo de operacin. PSW: La palabra de estado o condicin del programa almacena informacin pertinente sobre el programa que est ejecutndose. Por ejemplo, al completarse una funcin de la ALU, se modifica un conjunto de bits llamados cdigos (o seales) de condicin. Estos bits

62

MICROPROCESADORES especifican si el resultado de una operacin aritmtica fue cero o negativo (o positivo) o si el resultado se desbord, en el caso de la aritmtica de complemento a dos. El programa puede verificar estos visten las instrucciones siguientes y cambiar en forma condicional su flujo de control segn su valor. Adems, el PSW contiene bits que hacen posible que la computadora responda a solicitudes de servicio asincrnicas generadas por dispositivos de entrada o salida o condiciones de error internas. En la siguiente figura 4.1 se muestra un esquema simplificado de las conexiones entre registros ALU y la unidad de control en el CPU

Fig 4.1 Esquema simplificado Estos cuatro registros sealados anteriormente se utilizan para la transferencia de datos entre el CPU y la memoria. Dentro del CPU los datos son presentados a la UAL o ULA para procesarlos. La UAL debe tener acceso directo al MDR y a los registros visibles al usuario. Todos los diseos del CPU incluyen un registro o conjunto de registros conocido como palabra de estado PSW (Program Status Word). Frecuentemente el PSW contiene cdigos y otra informacin de estado. Entre los campos comunes se incluyen las siguientes: Signo: Contiene el bits de signo resultante en la ltima operacin aritmtica Cero: Puesto a 1 cuando el resultado es cero Acarreo: Puesto a 1 si la operacin da como resultado un acarreo del bits ms significativo Igual: Puesto en 1 si el resultado de una comparacin lgica es la igualdad Overflow: Utilizado para indicar un desbordamiento en una operacin aritmtica Interrupt Enable Disable: Utilizada para habilitar o deshabilitar las interrupciones

En la siguiente figura 4.2 se muestran los dos registros involucrados directamente con el acceso a la memoria

63

MICROPROCESADORES

Figura 4.2 Registros involucrados en la memoria

4.4 Unidad Aritmtica Lgica La unidad aritmtica lgica desempea las funciones aritmticas y lgicas del CPU. Entre las funciones generalmente se encuentran la suma y resta de nmeros binarios y nmeros decimales codificados en binario (BCD). En algunas microcomputadoras y en todas las macrocomputadoras, la ALU tambin realiza la multiplicacin y divisin de nmeros binarios y, posiblemente, nmeros BCD; en las microcomputadoras ms pequeas y en la mayor parte de las microcomputadoras, se utilizan subrutinas de software para estas operaciones. La ALU tambin realiza la suma, resta, multiplicacin y divisin de nmeros de punto flotante en algunas minicomputadoras y macrocomputadoras esta capacidad a menudo es opcional. Las operaciones lgicas comprenden tres tipos: booleanas, de desplazamiento y de comparacin. Entre las operaciones booleanas se cuentan algunas o todas las operaciones que siguen, que se realizan con los bits correspondientes de los operandos: complemento lgico, AND, OR incluyente y OR excluyente. Las operaciones de desplazamiento comprenden un subconjunto de desplazamientos aritmticos y lgicos, a la izquierda y a la derecha, lineales y circulares. La UAL puede construirse como un dispositivo en serie o en paralelo. El primero opera con un par de bits(uno de cada operando) a la vez. Cuando finaliza la operacin con el primer par de bits, se realiza la misma operacin con el siguiente, que por lo general es ms 64

MICROPROCESADORES significativo. El dispositivo en paralelo con todos los bits de una palabra en forma simultnea. Requiere ms hardware que el dispositivo en serie, pero es mucho ms rpido. En la figura 4.3 y 4.4 se muestran un sumador en serie y uno en paralelo.

Fig 4.3 Sumador en serie

Fig 4.4 Sumador en paralelo

La unidad aritmtico lgica posee adems unos registros de 1 bits cada uno, llamados flags o banderas, cuyo contenido es modificado de acuerdo con la operacin que ltimamente haya sido ejecutada, y con ello indican ciertas caractersticas del resultado. La forma en que cada una de las instrucciones afecta a las flags y el nmero y tipo de flags que tiene el CPU es cuidadosamente escogido por el diseador para darle al usuario facilidades adicionales en la interpretacin y manipulacin de resultados. El contenido de los flags despus de una determinada instruccin puede ser analizado, y de acuerdo con su condicin se puede hacer saltar o no al ejecutar cierto grupo de instrucciones. Entre los flags ms utilizados tenemos: Flag de cero: Que en ciertas operaciones es puesta a 1 lgico si el resultado, generalmente almacenado en el acumulador, es cero y a 0 en caso contrario Flag de signo: Que en ciertas operaciones es puesta a 1 si el bits ms significativo del resultado es igual a 1 y a 0 en caso contrario. Se le llama flag de signo ya que en la representacin de nmeros con signos en binario el bit ms significativo indica signo. Flag de Paridad: Que es colocada a 1 si el resultado de ciertas operaciones tiene un determinado tipo de paridad ( par o impar), y a 0 en la condicin opuesta . Se dice que un nmero representado en algn cdigo binario tiene paridad par si el nmero total de unos que tiene dicha representacin es par ; y se dice que es impar si el nmero de unos es impar. Como por ejemplo 10001011 tiene cuatro unos y por lo tanto tiene paridad par, mientras que 01111111 tiene siete unos y por ello tiene paridad impar; el nmero 0000000, el cual tiene 0 (cero) uno, se dice que tiene paridad par. Flag de acarreo: Puesta a 1, ya que ha ocurrido un acarreo del bit ms significativo hacia fuera 65

MICROPROCESADORES Flag de acarreo auxiliar: Puesta a 1, dado que ha ocurrido un acarreo del primero al segundo Flag de Paridad: Puesta a 1 debido a que el resultado en el acumulador tiene paridad par Flag de Cero: Puesta a cero, dado que el resultado en el acumulador es diferente de cero Flag de Signo: Puesta a 0, ya que el bit ms significativo del resultado en el acumulador es igual a cero

Nota: El acumulador: es un registro utilizado como operando en la ejecucin de instrucciones aritmticas y lgicas y que adems sirve para almacenar el resultado de dichas operaciones. Flags: Registros de 1 bit asociados a la unidad aritmtica lgica, cuyo contenido refleja ciertas caractersticas del resultado de determinada operacin.

A continuacin se ilustran en las siguientes figuras algunos esquemas y circuitos que realizan ciertas operaciones.

Fig 4.5 Etapa tpica de la unidad aritmtica lgica

Donde: P, S1, S2 y S3 son lneas de seleccin de funciones

66

MICROPROCESADORES

Fig 4.6 Desplazador a la izquierda Y a la derecha de 4 etapas

67

MICROPROCESADORES

Fig 4.7 Circuito sumador nico con salidas de previsin de acarreo

Fig 4.8 Circuito de previsin de acarreo de cuatro etapas

68

MICROPROCESADORES

Fig 4.9

a) Sumador y restador de decimal codificado en binario (BCD) b) Complementador a nueve

69

MICROPROCESADORES 4.5 La Unidad de Control (UC) La funcin de una computadora es la de ejecutar programas. Estos programas estn compuestos de una serie de instrucciones, las cuales son ejecutadas una cada vez. Es decir, que la ejecucin de un programa consiste en realizar una secuencia de ciclos de instruccin de mquina por ciclo . La funcin de la unidad de control de un computador es la bsqueda de las instrucciones en memoria, su interpretacin y la generacin en los instantes adecuados, de las seales de control necesarias para ejecutar la operacin especificada por cada instruccin. En este proceso se distinguen dos aspectos fundamentales: El secuenciamiento de las instrucciones La interpretacin de las instrucciones

SECUE CIAMIE TO El secuenciamiento de las instrucciones es el proceso por el cual las instrucciones de un programa van siendo seleccionadas para su ejecucin en un orden determinado. La mayor parte de las instrucciones de un programa tienen una sola sucesora, por lo que resulta natural almacenadas en posiciones consecutivas de memoria. Para su secuenciamiento, se utiliza un registro denominado contador de programa (CP). En general, si la instruccin i necesita p palabras de memoria, el incremento del CP para pasar a la instruccin i+1 ser CP CP+p. Las instrucciones de ruptura son las que permiten la seleccin de un camino entre varios posibles. Cuando es necesario transferir el control del programa principal a una subrutina o una interrupcin, lo que se hace es guardar el contenido del CP en algn registro del CPU o en una posicin determinada de la memoria principal llamada direccin de retorno. Despus se carga en el CP la direccin en la que se encuentra la instruccin que arranca el subprograma, que se ejecuta hasta que finaliza, volviendo luego el control al programa principal recuperando el contenido del CP de la direccin de retorno.

I TERPRETACI Es el proceso por el cual la unidad de control obtiene las instrucciones almacenadas en memoria y las ejecuta. Esto se realiza en lo que llamaremos ciclo de instruccin . CICLO DE I STRUCCI La ejecucin de un programa consiste en la ejecucin secuencial de sus instrucciones. Cada instruccin se ejecuta durante un ciclo de instruccin que est compuesto de subciclos ms pequeos. La realizacin de cada uno de esos subciclos implica una o ms operaciones ms pequeas llamadas microoperaciones.

70

MICROPROCESADORES

Ciclo de captacin Ciclo de decodificacin Ciclo de ejecucin

CICLO DE CAPTACI Las instrucciones que forman un programa se almacenan en forma secuencial en la memoria. Para ejecutar este programa el CPU trae una instruccin a la vez de la memoria y realiza las funciones especificada. A este proceso se le conoce como ciclo de captacin y ocurre al comienzo de cada ciclo de instruccin produciendo que una instruccin sea obtenida de la memoria. Se utilizan los cuatro registros vistos anteriormente que son: Registro de direccin de memoria MAR Registros de datos de memoria MDR Contador del programa PC Registro de instruccin IR

CICLO DE DECODIFICACI Una vez que se tiene la microinstruccin, el siguiente consiste en analizar los bits correspondientes al cdigo de operacin de la instruccin y determinar las operaciones a ejecutarse en el ciclo de ejecucin. CICLO DE EJECUCI El ciclo de ejecucin no tiene una secuencia fija de operaciones, sino que para cada cdigo de operacin y modo de direccionamiento hay una secuencia distinta. De forma general se efectan las siguientes operaciones. Clculo de las direcciones efectivas de los operandos Lectura de los operandos (se leen de la memoria principal y se almacenan en registros a la entrada de la Unidad Aritmtica Lgica) Operacin con los datos( en la Unidad Aritmtica Lgica) Almacenamiento de operando (escritura del resultado en la memoria)

4.6 Diseo de la unidad de control (UC) por cableado En el mtodo por cableado, la secuenciacin se implementa mediante una red de compuertas de control similar a la de la figura 4.10. Cada seal de control forma aplicando la operacin AND a una salida del reloj de fases mltiples y una o ms seales de control que no son de reloj. En la figura 4.11 se presenta una posible configuracin para la generacin de las seales de sincronizacin. El contador anular (o en anillo) de dos estados se acciona a la frecuencia del reloj. El contador de divisin entre dos acciona un contador anular de cuatro estados. Las salidas del contador de dos estados son las seales de reloj de

71

MICROPROCESADORES fases mltiples, y las del contador anular de cuatro estados son las seales de estado de sincronizacin. Supongamos que estas ltimas seales se denominan T0 , T1 , T2 , y T3, y que las subseales de reloj son t0 y t1

Fig 4.10 Diagrama de la Unidad de procesamiento central (CPU) Donde: CU= Unidad de control ALU= Unidad Aritmtica Lgica DSEL= Seleccin del destino FSEL= Seleccin de la funcin

72

MICROPROCESADORES

Fig 4.11 Generacin de seales de sincronizacin para la operacin secuencial de la unidad de control.

73

You might also like