Subsistemas aritméticos y lógicos. Tema 8

Subsistemas aritméticos y lógicos Tema 8 ¿Qué sabrás al final del capítulo? ■ Diseño de Sumadores Binarios – – – – – – ■ ■ Diseño de Multiplicad

9 downloads 80 Views 678KB Size

Recommend Stories


Tema 8. Fascismo y Nazismo
Tema 8. Fascismo y Nazismo Durante la década de 1920 y 1930 se produjo en Europa una crisis de los sistemas liberales y el ascenso de los regímenes to

TEMA: 8 EMPLEO Y DESEMPLEO
Cultura Emprendedora y Empresarial Colegio Santa Ana de Sevilla TEMA: 8 EMPLEO Y DESEMPLEO Cultura Emprendedora y Empresarial. Colegio Santa Ana de

TEMA 8. CIRCUITOS COMBINACIONALES
TEMA 8. CIRCUITOS COMBINACIONALES http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg IEEE 125 Aniversary: http://www.fl

Story Transcript

Subsistemas aritméticos y lógicos

Tema 8

¿Qué sabrás al final del capítulo? ■

Diseño de Sumadores Binarios – – – – – –

■ ■

Diseño de Multiplicadores aritméticos Funcionamiento de los módulos lógicos – – –



Semisumadores Sumador completo Sumador con acarreo serie Sumador con acarreo anticipado Sumador / Restador Sumador BCD

Comparadores Generadores y detectores de paridad Conversores de códigos

Diseño de una unidad aritmético-lógica elemental

Sumador Binario

Semisumador (Half Adder) ■

La operación de suma aritmética tiene como resultado suma y acarreo –

No podemos propagar acarreos con semisumadores A

B

C

S

0 0 1 1

0 1 0 1

0 0 0 1

0 1 1 0

S=A⊕B

Propagación (Pi)

C=A·B

Generación (Gi)

Sumador Completo (Full Adder) ■

Funcionamiento similar al semisumador añadiendo el acarreo de entrada

Ai Bi

Ci

0 0 0 0 1 1 1 1

0 1 0 1 0 1 0 1

0 0 1 1 0 0 1 1

Ci+1

Si

0 0 0 1 0 1 1 1

0 1 1 0 1 0 0 1

S i = A i ⊕ B i ⊕ Ci = P i ⊕ Ci Ci+1 = (Ai + Bi) Ci + (Ai Bi) =(Ai ⊕ Bi) Ci + (Ai Bi) = P i Ci + G i

Sumador completo ■

Podemos diseñarlo a partir de dos semisumadores

Sumador Completo ■

¿Cuál será el camino crítico?

semisumador

semisumador

Sumador Completo tpo. retardo por puerta = 5 ns La salida Si llega 10 ns de retardo respecto a las entradas A y B y sólo 5 ns respecto a la entrada C

camino crítico semisumador

Ai Bi Ci Si Ci+1

semisumador

La salida Ci+1 llega 15 ns de retardo respecto a las entradas A y B y sólo 10 ns respecto a la entrada C

Sumador paralelo con acarreo serie An-1 Bn-1

A 2 B2

A1

B1

A0

B0

Cn

FA

Sn

Sn-1

Cn-1



C3

FA

S2

C2

FA

S1

C1

C0

FA

S0

Sumador paralelo con acarreo serie ■ ■

■ ■



Cada sumador completo realiza una suma Genera un acarreo que se le transmite al sumador siguiente Los tiempos se van acumulando Si ts es el tiempo para realizar una suma y tc el tiempo para realizar un acarreo, resulta: Dato en S0

C1

S1

Tiempo ts

tc

ts + tc

C2 ………

Sn-1

2 tc ……… ts + (n-1) tc

Sn = Cn n tc

Sumador con acarreo anticipado ■

■ ■

Los acarreos se evalúan anticipadamente con lógica de 2 niveles de puertas Las sumas se realizan posteriormente en paralelo En primer lugar se obtienen los términos de generación y propagación Pi = Ai ⊕ Bi Gi = Ai Bi

Todos los términos se calculan en paralelo desde el primer momento

Sumador con acarreo anticipado ■

Cálculo del acarreo –

desarrollando la fórmula iterativa Ci+1 = Pi Ci + Gi todos los acarreos dependen de propagaciones, generaciones y acarreo inicial

C1 = P0 C0 + G0 C2 = P1 C1 + G1 = P1 (P0 C0 + G0) + G1 = P1P0C0 + P1G0 + G1 .... –



cualquier función booleana puede expresarse con lógica de 2 niveles de puertas

Cálculo de las sumas Si = Pi ⊕ Ci

Sumador con acarreo anticipado t

1.- Propagación y Generación

t

3.- Sumas

2t

2.- Acarreos

Sumadores de 4 bits

Sumador / Restador ■

El uso del complemento a 2 permite realizar sumas y restas con un sumador y un poco de lógica adicional A3 A2 A1 A0 B3

B2

B1

B0 S/R S/R = 0  suma S/R = 1  resta

sumador

S4

S3 S2 S1 S0

Complementador a 2

Código BCD ■

■ ■



El código BCD es un código de 4 bits que representa los 10 dígitos decimales como si fueran binarios naturales Cada dígito decimal se sustituye por sus cuatro bits El código BCD, al igual que el binario, es un código ponderado de pesos 8 4 2 1 Puede haber otros códigos BCD con otra relación de ponderación o, incluso, no ponderados

Otros códigos BCD

autocomplementarios

Decimal

Código BCD

0

0000

0011

0000

1

0001

0100

0001

2

0010

0101

0010

3

0011

0110

0011

4

0100

0111

0100

5

0101

1000

1011

6

0110

1001

1100

7

0111

1010

1101

8

1000

1011

1110

9

1001

1100

1111

Ponderado 8 4 2 1

Código BCD exceso3 Código BCD Aiken

No Ponderado

Ponderado 2 4 2 1

Sumador BCD ■ ■

Suma números codificados en BCD, y genera otro BCD Si el resultado es > 10 es necesario corregir restando 10 A3 A2 A1 A0

B3 B2 B1 B0

sumador Z4

corrección

Z3 Z2 Z1 Z0

corregir? 0

sumador S4

S3 S2 S1 S0

corregir = 0  “0000” corregir = 1  “0110”

últimos 4 bits de +6 = últimos 4 bits de -10

Multiplicadores combinacionales

Multiplicadores ■

La multiplicación aritmética coincide con el producto lógico

FA

FA

FA

FA

FA

FA

Módulos lógicos

Comparadores ■

Comparan dos números en binario, activando únicamente la salida que corresponda

Comparador ■

7485(comparador de 4 bits)

Comparador ■

Diseño de un comparador de 8 bits a partir de dos 7485

Generador de paridad ■



La suma (descartando acarreos) de un número par de unos siempre es 0 La suma (descartando acarreos) de un número impar de unos siempre es 1 Para 3 variables

Para 4 variables

P = x1 ⊕ x 2 ⊕ x3 ⊕ x 4

Para 3 variables

Para 4 variables

I = x1 ⊕ x2 ⊕ x3 ⊕ x4

Conversores de código ■ ■ ■

Pueden haber conversores para cualquier pareja de códigos Se pueden construir con un codificador y un decodificador Ejemplo:

Conversores de código ■

74184. Conversor de un número en BCD de 6 bits (hasta 39) a binario 21 1 0

0

0

F E

D C

0

1

B A

74184 X5 X4 X3

X2 X1 X0

0

1

1

0

0

1

Diseño de una ALU elemental

Diseño de una ALU elemental ■



Trataremos de diseñar una unidad aritmético-lógica sencilla Características: – – –

Datos de entrada: A y B de 4 bits 4 líneas de selección (hasta 16 operaciones diferentes) Operaciones lógicas y aritméticas

A

4 5

ALU B

4

S3

S2

S1

S0

F

Diseño de una ALU elemental ■

Operaciones: S3 = 0 LÓGICA S2 0 0 1 1

S1 0 1 0 1

Operación A and B A or B NOT A A xor B

S3 = 1 ARITMÉTICA S2 0 0 0 0 1 1 1 1

S1 0 0 1 1 0 0 1 1

S0 0 1 0 1 0 1 0 1

Operación A+B A+B+1 A-1 A+1111+1 A A+1 A-B-1 A-B

Diseño de una ALU elemental ■

Diagrama de bloques de la ALU

Diseño de una ALU elemental ■

Parte lógica: A B

and

0

A B

or

1

A

not

2

A B

xor

3 S2

MUX 4x1

S1

F

Diseño de una ALU elemental ■

Parte aritmética:

b3

b1

b0

BLOQUE B

S2

C0 = S0

b2

S1

d3

d2

d1

d0

S2

S1

SUMAR

0

0

B

0

1

1111

1

0

0000

1

1

B’

Bloque B S2 S1 bi di 0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

S2

S1bi 00

01

11

10

0

0

1

1

1

1

0

0

0

1

d i = S 2 ·bi + S1 ·bi Para i desde 0 hasta 3

1

0

0

0

1

0

1

0

1

1

0

1

Bloque B

Hemos aprendido…. ■

Diseño de Sumadores Binarios – – – – – –

■ ■

Diseñar Multiplicadores aritméticos Funcionamiento de los módulos lógicos – – –



Semisumadores Sumador completo Sumador con acarreo serie Sumador con acarreo anticipado Sumador/Restador Sumador BCD

Comparadores Generadores y detectores de paridad Conversores de códigos

Diseñar una Unidad Aritmético-Lógica elemental

Final del tema 8

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.