3.13.1 circuitos aritmético circuitos...

45
3.1 3.1 Circuitos aritmético Circuitos aritmético-lógicos gicos Fundamentos de los Computadores Grado en Ingeniería Informática

Upload: lythien

Post on 14-Jul-2018

246 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

3.13.1 Circuitos aritméticoCircuitos aritmético--lógicoslógicosgg

Fundamentos de los ComputadoresGrado en Ingeniería Informática

Page 2: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

IntroducciónIntroducción

La realización de operaciones aritméticas y lógicas es una de las i i l d d l t d t lprincipales razones de ser de los computadores actuales

Existe un conjunto de circuitos bien conocido que se utiliza con Existe un conjunto de circuitos bien conocido que se utiliza con frecuencia para la realización de este tipo de operaciones

Los objetivos de este tema son: Introducir los circuitos básicos más frecuentemente usados para realizar

operaciones aritméticas y lógicas Describir el diseño de una unidad aritmético-lógica sencilla capaz de

li i d b irealizar operaciones de ambos tipos

Circuitos aritméticos 2

Page 3: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Estructura del temaEstructura del tema

Introducción

Circuitos sumadores Sumador/Restador Sumador/Restador

Unidad lógicag

Unidad aritmético-lógica

Resumen y bibliografía

Circuitos aritméticos 3

Page 4: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Circuitos sumadoresCircuitos sumadores

Los sumadores son circuitos importantes para cualquier sistema di it l l d t é idigital en el que se procesen datos numéricos

Las reglas básicas de la suma binaria indican que: Las reglas básicas de la suma binaria indican que:

0 + 0 = 00 1 10 + 1 = 11 + 0 = 11 + 1 10

Al estar sumando números con un tamaño fijo de un bit, no es

1 + 1 = 10

j ,posible tener un resultado con dos bits

La salida de un sumador incluye el valor de la suma y el posible La salida de un sumador incluye el valor de la suma y el posible acarreo

Circuitos aritméticos 4

Page 5: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El semisumadorEl semisumador

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

Un bit que representa la suma de los dos bits de entradaOt bit t l d l Otro bit que representa el acarreo generado por la suma

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

A B Co SA B Co S0 0 0 0

A,B sumandosCo acarreo de salidaS suma

0 1 0 11 0 0 1

S suma

Co = A·B1 1 1 0 S = A + B

Circuitos aritméticos 5

Page 6: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El semisumadorEl semisumador

A partir de esta tabla de verdad se puede observar que la suma d i l t ió XOR l dpuede implementarse con una operación XOR y el acarreo de

salida con una operación AND

Co = A·BS = A + BS = A + B

semisumador

Circuitos aritméticos 6

Page 7: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El sumador completoEl sumador completo

La principal diferencia entre un sumador completo y un i d l d l t d it lsemisumador es que el sumador completo admite un valor que

represente un acarreo de entradaCi A B Co S0 0 0 0 0

A,B sumandosCi acarreo de entradaCo acarreo de salida

0 0 1 0 10 1 0 0 1

Co acarreo de salidaS suma

0 1 0 0 10 1 1 1 01 0 0 0 11 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Circuitos aritméticos 7

Page 8: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El sumador completoEl sumador completo

Dado que podemos expresar la suma de dos bits con la operación XOR d l d d bit d lXOR, podemos expresar la suma de dos bits y un acarreo de la siguiente forma:

S A B Ci El acarreo de salida será 1 en dos casos:

S = A + B + Ci

Cuando A y B sean 1 Cuando A+B sea 1 y el acarreo de entrada también sea 1

000 1AB

Ci

011110

1111 ABCo = +ACi +BCi = AB + Ci(A+B) = AB + Ci(A + B)10 1

Circuitos aritméticos 8

Page 9: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El sumador completoEl sumador completo

De esta manera se puede implementar el circuito sumador l t d d t XOR d t ANDcompleto usando dos puertas XOR, dos puertas AND y una

puerta OR

S = A + B + Ci

Co = AB + Ci(A + B)

sumador

Circuitos aritméticos 9

Page 10: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

El sumador completoEl sumador completo

También es posible implementar el sumador completo utilizando d i it i ddos circuitos semisumadores El primer semisumador suma los dos bits

El d l lt d l d t d El segundo suma el resultado con el acarreo de entrada Habrá acarreo de salida si cualquiera de los dos semisumadores genera un

acarreoacarreo

semisumadorsemisumador

Circuitos aritméticos 10

Page 11: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo en cascadaSumadores con acarreo en cascada

El circuito sumador completo permite sumar dos números de un bit d t d d lidbit con un acarreo de entrada y generar un acarreo de salida

Como regla general, un sumador binario de cualquier número de bits puede realizarse conectando en cascada varios sumadores completos de un bit

El proceso puede extenderse usando cualquier sumador como elemento básico: por ejemplo puede hacerse un sumador de 4 p j p pbits con dos sumadores de 2 bits

Circuitos aritméticos 11

Page 12: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo en cascadaSumadores con acarreo en cascada

El primero de los acarreos de entrada debe estar siempre a cero, t l i i i l l d l bitya que representa el acarreo inicial en la suma de los bits menos

significativos

sumador

sumador sumador 2

Circuitos aritméticos 12

Page 13: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo en cascadaSumadores con acarreo en cascada

El principal problema de esta conexión en serie de sumadores es l t d d l i it d d d l ió d lque el retardo del circuito depende de la propagación del acarreo

a lo largo de todo el sumador

sumador

sumador 2

sumadorsumador 4

sumador sumador 2

sumador

Circuitos aritméticos 13

Page 14: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

La cadena de acarreos es el camino crítico en el retardo de un d d f t d t l í d lsumador en cascada pero, afortunadamente, la mayoría de las

expresiones necesarias pueden ser precalculadas, reduciendo el retardoretardo

Para poder anticipar el valor del acarreo hay que dividir la f ió l t d f ifunción que lo expresa en otras dos funciones

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

Pi propagación de acarreoGi generación de acarreo

p p g

Ci+1 = Gi + Ci·PiCircuitos aritméticos 14

Ci+1 Gi + Ci Pi

Page 15: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

Si suponemos un sumador de 4 bits podemos calcular cada uno d l i t dide los acarreos intermedios

Los acarreos pueden calcularse en función de los valores de d l i i i l l l i dentrada y el acarreo inicial C0, por lo que la propagación de

acarreo no es estrictamente necesaria

C1 = G0 + C0·P0

C2 = G1 + C1·P1 = G1 + G0·P1 + C0·P1·P0

C3 = G2 + C2·P2

C4 = G3 + C3·P3

= G2 + G1·P2 + G0·P2·P1 + C0·P2·P1·P0

= G3 + G2·P3 + G1·P3·P2 + G0·P3·P2·P1 + C0·P3·P2·P1·P0C4 = G3 + C3·P3 = G3 + G2·P3 + G1·P3·P2 + G0·P3·P2·P1 + C0·P3·P2·P1·P0

Circuitos aritméticos 15

Page 16: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

Se ha limitado el cálculo del acarreo anticipado a sumadores de 4 bit ú d bit li í l i itbits porque un número mayor de bits complicaría el circuito

Para obtener sumadores con más bits será necesario conectar d d biestos sumadores de 4 bits

Para permitir la propagación de los valores es necesario reescribir la última ecuación:

C4 = G3 + G2·P3 + G1·P3·P2 + G0·P3·P2·P1 + C0·P3·P2·P1·P0

P4 = P3·P2·P1·P0C4 G4 + C0 P4

G4 = G3 + G2·P3 + G1·P3·P2 + G0·P3·P2·P1C4 = G4 + C0·P4

Circuitos aritméticos 16

Page 17: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

El circuito propagador de acarreo quedaría d tde esta manera:

propagadorpropagador

Circuitos aritméticos 17

Page 18: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

Usando el circuito propagador de acarreo, la estructura de un d d 4 bit isumador de 4 bits es como sigue:

sumador 4

propagadorp p g

Circuitos aritméticos 18

Page 19: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

Para obtener un sumador de, por ejemplo, 16 bits podríamos t d t d t dconectar en cascada cuatro de estos sumadores

En este caso, las salidas P4 y G4 quedarían sin usar

sumador 4sumador 4sumador 4sumador 4

Circuitos aritméticos 19

Page 20: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores con acarreo anticipadoSumadores con acarreo anticipado

Es posible utilizar un circuito propagador de acarreo global para it l ió d l lt d t d d levitar que la generación del resultado se vea retardada por la

propagación del acarreol lid d i En este caso, la salida C4 quedaría sin usar

propagador

sumador 4sumador 4sumador 4sumador 4

Circuitos aritméticos 20

Page 21: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Estructura del temaEstructura del tema

Introducción

Circuitos sumadores Sumador/Restador Sumador/Restador

Unidad lógicag

Unidad aritmético-lógica

Resumen y bibliografía

Circuitos aritméticos 21

Page 22: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores / RestadoresSumadores / Restadores

La resta binaria se realiza sumando al minuendo el complemento 2 d l t da 2 del sustraendo

Debido a esto no es necesario tener un circuito restador Debido a esto, no es necesario tener un circuito restador separado, ya que se puede modificar el sumador para que también realice la operación de restatambién realice la operación de resta

El complemento a 2 se obtiene complementando cada bit del El complemento a 2 se obtiene complementando cada bit del número binario y luego sumando 1 al resultado

La suma del 1 final se realiza poniendo a 1 el acarreo de entrada del sumador en lugar de a 0

Circuitos aritméticos 22

Page 23: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores / RestadoresSumadores / Restadores

Un circuito sumador/restador tendrá una señal de selección SEL f i á d l i i tque funcionará de la siguiente manera:

SEL = 0 sumaSEL 1 t SEL = 1 resta

Esta señal puede usarse como acarreo de entrada ya que debe ser Esta señal puede usarse como acarreo de entrada, ya que debe ser 0 para la suma y 1 para la resta

Además, aplicando la operación XOR entre un bit de entrada y SEL se complementa el bit

SEL bit XOR SEL = 0 el bit se deja como está SEL = 1 el bit se complementa

SEL bit XOR0 0 00 1 11 0 11 1 0

Circuitos aritméticos 23

Page 24: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Sumadores / RestadoresSumadores / Restadores

Un circuito sumador/restador puede hacerse a partir de un i it d ( j l d ) icircuito sumador (por ejemplo, con acarreo en cascada) si se

añade la señal de entrada SEL y unas puertas XOR para complementar el sustraendocomplementar el sustraendo

sumador 4

Circuitos aritméticos 24

Page 25: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Estructura del temaEstructura del tema

Introducción

Circuitos sumadores Sumador/Restador Sumador/Restador

Unidad lógicag

Unidad aritmético-lógica

Resumen y bibliografía

Circuitos aritméticos 25

Page 26: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad lógicaUnidad lógica

Dados dos operandos de entrada, una unidad lógica permite li ió ló i t l drealizar una operación lógica entre los dos

La implementación de una unidad lógica no es compleja, ya que l i li l i l itan sólo es necesario que realice las 16 operaciones lógicas

posibles para dos variables Para esto es necesario utilizar cuatro variables de selección que

permitan elegir entre estas funciones

S0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

A B f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

S0

S1

S2

0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 S2

S3

1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 11 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Circuitos aritméticos

26

Page 27: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad lógicaUnidad lógica

El valor binario de las cuatro variables de selección para una f ió ló i d d i id l ú d i lfunción lógica dada coincide con el número decimal correspondiente a la función

C d i bl d l ió i l d l bit d l ú Cada variable de selección equivale a uno de los bits del número identificativo de la función

Cada variable se corresponde con una de las cuatro posibles Cada variable se corresponde con una de las cuatro posibles combinaciones de entrada

Esto da lugar a una expresión booleana sencilla que representa el Esto da lugar a una expresión booleana sencilla que representa el comportamiento de la unidad lógica

F = S0·A·B + S1·A·B + S2·A·B + S3·A·B

Circuitos aritméticos 27

Page 28: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad lógicaUnidad lógica

Dada esta expresión, el circuito de una unidad lógica de un bit d d l i i tqueda de la siguiente manera:

F = S0·A·B + S1·A·B + S2·A·B + S3·A·BF S0 A B + S1 A B + S2 A B + S3 A B

ULUL

Circuitos aritméticos 28

Page 29: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad lógicaUnidad lógica

Para implementar una unidad lógica de más de un bit bastará con tili i d l bl d bit d t freutilizar varios de los bloques de un bit de esta forma:

ULULULUL

Circuitos aritméticos 29

Page 30: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Estructura del temaEstructura del tema

Introducción

Circuitos sumadores Sumador/Restador Sumador/Restador

Unidad lógicag

Unidad aritmético-lógica

Resumen y bibliografía

Circuitos aritméticos 30

Page 31: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad aritméticoUnidad aritmético--lógicalógica

Una unidad aritmético lógica (ALU – arithmetic-logic unit) li l i it éti ló i bá i drealiza las operaciones aritméticas y lógicas básicas de un

procesador entre dos operandosL i it éti i l j l t Las operaciones aritméticas incluyen, por ejemplo, sumar, restar, incrementar y decrementar

Las operaciones lógicas incluyen por ejemplo la AND la OR la Las operaciones lógicas incluyen, por ejemplo, la AND, la OR, la identidad y el complemento

Todas estas operaciones pueden realizarse utilizando un sumador si se modifican adecuadamente los valores de entrada

Circuitos aritméticos 31

Page 32: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad aritméticoUnidad aritmético--lógicalógica

El ampliador aritmético (AE – arithmetic extender) es un circuito tili d difi l t d d ALU iti lutilizado para modificar las entradas de una ALU y permitir el

cálculo de operaciones aritméticas

El ampliador lógico (LE – logic extender) es un circuito utilizado para modificar las entradas de una ALU y permitir el cálculo depara modificar las entradas de una ALU y permitir el cálculo de operaciones lógicas

La implementación de una ALU consistirá en un circuito sumador que tendrá conectado uno de estos ampliadores a cada una de sus entradas

Circuitos aritméticos 32

Page 33: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Unidad aritméticoUnidad aritmético--lógicalógica

Dado que la ALU puede realizar tanto operaciones aritméticas i ló i i ñ l d t dcomo operaciones lógicas, es necesaria una señal de entrada para

controlar el modo de operaciónM 0 ál l d i ló i M = 0 cálculo de operaciones lógicas

M = 1 cálculo de operaciones aritméticas

También es necesario añadir variables de selección para distinguir entre los distintos tipos de operaciones aritméticas ydistinguir entre los distintos tipos de operaciones aritméticas y lógicas

Por ejemplo, si tenemos cuatro operaciones de cada tipo harán falta dos variables de selección: S0 y S1

Circuitos aritméticos 33

Page 34: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador aritméticoAmpliador aritmético

El funcionamiento del ampliador aritmético puede resumirse con t bl i luna tabla que incluye

Las variables de selección de modo: M, S0, S1

El b l d i ió d l f ió El nombre y la descripción de la función Las modificaciones necesarias sobre los operandos El alor del acarreo de entrada El valor del acarreo de entrada

M S1 S0 Función Operando X Operando Y Ci1 0 0 decremento A – 1 A todo unos 01 0 1 suma A + B A B 01 1 0 resta A + B + 1 A B 11 1 1 incremento A + 1 A todo ceros 1

Circuitos aritméticos 34

Page 35: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador aritméticoAmpliador aritmético

Con este diseño, la entrada del sumador di t l i dcorrespondiente al primer operando no

necesita ninguna modificaciónM S S B Y

Por lo tanto, el ampliador aritmético tan solo debe aplicarse a los bits del

1 0 0 0 11 0 0 1 1

M S1 S0 B Y

solo debe aplicarse a los bits del segundo operando según la siguiente tabla de verdad

1 0 0 1 11 0 1 0 01 0 1 1 1tabla de verdad

La salida del ampliador aritmético debe

1 0 1 1 11 1 0 0 11 1 0 1 0

La salida del ampliador aritmético debe ser 0 para las operaciones lógicas, por lo que sólo tendremos

1 1 1 0 01 1 1 1 0

que sólo tendremos en cuenta el caso M = 1

Circuitos aritméticos 35

Page 36: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador aritméticoAmpliador aritmético

Dado que la variable M siempre vale 1, solo hay que tener en t l t t i bl i lificuenta las otras tres variables para simplificar

0 1BM = 1

0001

0 1S1S0

111

AE1110 1 M·S0·BY = + M·S1·B

AE

Circuitos aritméticos 36

Page 37: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador lógicoAmpliador lógico

El funcionamiento del ampliador lógico puede resumirse con una t bl i ltabla que incluya Las variables de selección de modo: M, S0, S1

El b l d i ió d l f ió El nombre y la descripción de la función Las modificaciones necesarias sobre los operandos El alor del acarreo de entrada El valor del acarreo de entrada

M S1 S0 Función Operando X Operando Y Ci0 0 0 complemento A A 0 00 0 1 AND A AND B A AND B 0 00 1 0 identidad A A 0 00 1 1 OR A OR B A OR B 0 0

Circuitos aritméticos 37

Page 38: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador lógicoAmpliador lógico

El ampliador lógico necesita conocer el valor de B, el cual nunca ll á l d i ló illegará al sumador en operaciones lógicas Por este motivo, cuando M = 0, el ampliador aritmético siempre

transforma su operando en un cerotransforma su operando en un cero Sin embargo, sí que será necesario tener en cuenta el caso M = 1 en el

diseño del ampliador lógicop g

M S1 S0 X

0 0 0 A

M S1 S0 X

0 0 1 A·B0 1 0 A0 1 1 A+B1 A

Circuitos aritméticos 38

1 – – A

Page 39: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador lógicoAmpliador lógico

A partir de la tabla de verdad podemos simplificar la función del li d ló i tili d d K h d iampliador lógico utilizando un mapa de Karnaugh de cinco

variables

S1S0AB

00 01 11 10M = 0

00 01 11 10M = 1

S1S0AB

1 0

00

01

00 01 11 1011

1

00

01

00 01 11 101 0

11

11

01

11

1

111

01

11 11

11

10 11 10 11

X = + M·S1·S0·B + S0·A·B + S1·A + M·AM·S1·S0·A

Circuitos aritméticos 39

Page 40: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Ampliador lógicoAmpliador lógico

Una vez obtenida la expresión minimizada podemos diseñar el i it li d ló icircuito ampliador lógico

M·S1·S0·A X = + M·S1·S0·B + S0·A·B + S1·A + M·A1 0 1 0 0 1

LELE

Circuitos aritméticos 40

Page 41: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Diseño de la ALUDiseño de la ALU

El diseño de la ALU puede hacerse bit a bit, utilizando d l t d bit AE t dsumadores completos de un bit con un AE conectado a una

entrada y un LE conectado a la otra entrada

El acarreo de entrada será 1 sólo para las operaciones aritméticas (M = 1) de resta e incremento (S1 = 1)(M 1) de resta e incremento (S1 1)

El acarreo de salida del bit más significativo representa un desbordamiento en el caso de aritmética entera

E l d i é i l d l ñ l d En el caso de aritmética en complemento a dos, la señal de desbordamiento será un XOR de los acarreos de salida de los dos bit á i ifi tibits más significativos

Circuitos aritméticos 41

Page 42: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Diseño de la ALUDiseño de la ALU

Este diagrama muestra una ALU de 4 bits, que sería fácilmente t ibl ú d bitextensible a un mayor número de bits

LELELELE

AE AE AE AE+ + + +

Circuitos aritméticos 42

Page 43: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

Estructura del temaEstructura del tema

Introducción

Circuitos sumadores Sumador/Restador Sumador/Restador

Unidad lógicag

Unidad aritmético-lógica

Resumen y bibliografía

Circuitos aritméticos 43

Page 44: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

ResumenResumen

Las operaciones aritméticas y lógicas son frecuentes en los i f áti l l i it l liprogramas informáticos, por lo que los circuitos que las realizan

están entre los más importantes

Gracias a la representación en complemento a 2, la mayoría de estas operaciones puede realizarse utilizando un circuitoestas operaciones puede realizarse utilizando un circuito sumador, lo que simplifica los diseños en gran medida

La realización de estas operaciones puede centralizarse en un único circuito, la unidad aritmético-lógica, que constituye uno de los principales centros de cálculo de los computadores modernos

Circuitos aritméticos 44

Page 45: 3.13.1 Circuitos aritmético Circuitos aritmético--lólógicosserdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/Tema3_1... · LatabladeverdaddeestecircuitopuedededucirseapartirdelasLa

BibliografíaBibliografíaPrincipios de Diseño Digital

Capítulo 5Capítulo 5Daniel D. GajskiPrentice Hall, 1997,

Fundamentos de Sistemas Digitales (7ª edición)Capítulo 6Thomas L FloydThomas L. FloydPrentice Hall, 2000

Circuitos aritméticos 45