[ Arquitectura de Computadores ] SISTEMAS DIGITALES Präsentat ion Material suministrado por Domingo...

Post on 09-Jan-2015

10 views 0 download

Transcript of [ Arquitectura de Computadores ] SISTEMAS DIGITALES Präsentat ion Material suministrado por Domingo...

[ Arquitectura de Computadores ]

SISTEMAS DIGITALES

Präsentation

Material suministrado por

Domingo MeryUCR

D.Mery 1 Arquitectura de Computadores

PräsentationD.Mery 2 Arquitectura de Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

PräsentationD.Mery 3 Arquitectura de Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 4 Arquitectura de Computadores

Aproximadamente en el año 1850 George Boole, desarrolló un sistema algebraico para formular proposiciones con símbolos.

George Boole1815-1864

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 5 Arquitectura de Computadores

Su álgebra consiste en un método para resolver problemas de lógica que recurre solamente a los valores binarios 1 y 0 y a tres operadores:

• AND (y) • OR (o) • NOT (no)

George Boole1815-1864

010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 6 Arquitectura de Computadores

Las variables Booleanas sólo toman los valores binarios: 1 ó 0.

Una variable Booleana representa un bit que quiere decir:

Binary digIT

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 7 Arquitectura de Computadores

x y x+y

0 0 0

0 1 1

1 0 1

1 1 1

Operación OR:

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 8 Arquitectura de Computadores

x y x+y

0 0 0

0 1 1

1 0 1

1 1 1

Operación OR:

Si una de las entradas es 1, entonces la salida es 1

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 9 Arquitectura de Computadores

Compuerta OR:

x

yx + y

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 10 Arquitectura de Computadores

x y x y

0 0 0

0 1 0

1 0 0

1 1 1

Operación AND:

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 11 Arquitectura de Computadores

x y x y

0 0 0

0 1 0

1 0 0

1 1 1

Operación AND:

Si una de las entradas es 0, entonces la salida es 0

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 12 Arquitectura de Computadores

Compuerta AND:

x

yx y

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 13 Arquitectura de Computadores

Operación NOT:

x x

0 1

1 0

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 14 Arquitectura de Computadores

Operación NOT:

x x

0 1

1 0

La salida es la negación de la entrada

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 15 Arquitectura de Computadores

Compuerta NOT:

x x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 16 Arquitectura de Computadores

Ejercicio:

Encontrar w = x y + y z para todas las combinaciones.

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 17 Arquitectura de Computadores

Ejercicio:

Encontrar w = x y + y z para todas las combinaciones.

x y z xy yz w

0 0 0 0 0 0

0 0 1 0 0 0

0 1 0 0 0 0

0 1 1 0 1 1

1 0 0 1 0 1

1 0 1 1 0 1

1 1 0 0 0 0

1 1 1 0 1 1

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 18 Arquitectura de Computadores

Postulados de Identidad:

• 0 + x = ?

• 1 × x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 19 Arquitectura de Computadores

Postulados de Identidad:

• 0 + x = x

• 1 × x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 20 Arquitectura de Computadores

Postulados de Identidad:

• 0 + x = x

• 1 × x = x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 21 Arquitectura de Computadores

Propiedad conmutativa:

• x + y = ?

• x y = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 22 Arquitectura de Computadores

Propiedad conmutativa:

• x + y = y + x

• x y = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 23 Arquitectura de Computadores

Propiedad conmutativa:

• x + y = y + x

• x y = y x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 24 Arquitectura de Computadores

Axiomas de complemento:

• x x = ?

• x + x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 25 Arquitectura de Computadores

Axiomas de complemento:

• x x = 0

• x + x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 26 Arquitectura de Computadores

Axiomas de complemento:

• x x = 0

• x + x = 1

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 27 Arquitectura de Computadores

Teorema de idempotencia:

• x x = ?

• x + x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 28 Arquitectura de Computadores

Teorema de idempotencia:

• x x = x

• x + x = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 29 Arquitectura de Computadores

Teorema de idempotencia:

• x x = x

• x + x = x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 30 Arquitectura de Computadores

Teorema de elementos dominantes:

• x × 0 = ?

• x + 1 = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 31 Arquitectura de Computadores

Teorema de elementos dominantes:

• x × 0 = 0

• x + 1 = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 32 Arquitectura de Computadores

Teorema de elementos dominantes:

• x × 0 = 0

• x + 1 = 1

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 33 Arquitectura de Computadores

Propiedad distributiva:

• x ( y + z ) = ?

• x + ( y z ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 34 Arquitectura de Computadores

Propiedad distributiva:

• x ( y + z ) = x y + x z

• x + ( y z ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 35 Arquitectura de Computadores

Propiedad distributiva:

• x ( y + z ) = x y + x z

• x + ( y z ) = ( x + y ) ( x + z )

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 36 Arquitectura de Computadores

Ley involutiva:

• ( x ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 37 Arquitectura de Computadores

Ley involutiva:

• ( x ) = x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 38 Arquitectura de Computadores

Teorema de absorción:

• x + x y = ?

• x ( x + y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 39 Arquitectura de Computadores

Teorema de absorción:

• x + x y = x

• x ( x + y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 40 Arquitectura de Computadores

Teorema de absorción:

• x + x y = x

• x ( x + y ) = x

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 41 Arquitectura de Computadores

Teorema del consenso:

• x + x y = ?

• x ( x + y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 42 Arquitectura de Computadores

Teorema del consenso:

• x + x y = x + y

• x ( x + y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 43 Arquitectura de Computadores

Teorema del consenso:

• x + x y = x + y

• x ( x + y ) = x y

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 44 Arquitectura de Computadores

Teorema asociativo:

• x + ( y + z ) = ?

• x ( y z ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 45 Arquitectura de Computadores

Teorema asociativo:

• x + ( y + z ) = ( x + y ) + z

• x ( y z ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 46 Arquitectura de Computadores

Teorema asociativo:

• x + ( y + z ) = ( x + y ) + z

• x ( y z ) = ( x y) z

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 47 Arquitectura de Computadores

Leyes de Morgan:

• ( x + y ) = ?

• ( x y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 48 Arquitectura de Computadores

Leyes de Morgan:

• ( x + y ) = x y

• ( x y ) = ?

[ Sistemas Digitales ]

Präsentation

Álgebra Booleana

D.Mery 49 Arquitectura de Computadores

Leyes de Morgan:

• ( x + y ) = x y

• ( x y ) = x + y

PräsentationD.Mery 50 Arquitectura de

Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101010101010100101010101010101010010101010110010101

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 51 Arquitectura de Computadores

Un circuito combinacional es aquel cuya salida depende sólo de las entradas.

Es decir:

• No depende de la salida• No depende del tiempo

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 52 Arquitectura de Computadores

Compuerta AND:

x

yx y

x y x y

0 0 0

0 1 0

1 0 0

1 1 1TABLA DE VERDAD

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 53 Arquitectura de Computadores

Compuerta NAND:

x

yx y

x y x y

0 0 1

0 1 1

1 0 1

1 1 0TABLA DE VERDAD

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 54 Arquitectura de Computadores

Compuerta OR:

x

yx + y

x y x+y

0 0 0

0 1 1

1 0 1

1 1 1TABLA DE VERDAD

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 55 Arquitectura de Computadores

Compuerta NOR:

x

yx + y

TABLA DE VERDAD

x y x+y

0 0 1

0 1 0

1 0 0

1 1 0

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 56 Arquitectura de Computadores

Compuerta XOR (OR exclusivo):

x

yx + y

x y x+y

0 0 0

0 1 1

1 0 1

1 1 0TABLA DE VERDAD

[ Sistemas Digitales ]

Präsentation

Circuitos combinacionales

D.Mery 57 Arquitectura de Computadores

Compuerta XNOR (NOR exclusivo):

x

yx + y

x y x+y

0 0 1

0 1 0

1 0 0

1 1 1TABLA DE VERDAD

[ Sistemas Digitales ]

PräsentationD.Mery 58 Arquitectura de

Computadores

Ejercicio:

Diseñe el circuito combinacional que realice la función

w = x y + y z .

Circuitos combinacionales

[ Sistemas Digitales ]

PräsentationD.Mery 59 Arquitectura de

Computadores

Ejercicio:

Diseñe el circuito combinacional que realice la función

w = x y + y z .

Circuitos combinacionales

xy

z

w

[ Sistemas Digitales ]

PräsentationD.Mery 60 Arquitectura de

Computadores

Primera Ley de Morgan:

• ( x + y ) = x y

Circuitos combinacionales

x

yx + y = x y

[ Sistemas Digitales ]

PräsentationD.Mery 61 Arquitectura de

Computadores

Primera Ley de Morgan:

• ( x + y ) = x y = x y

Circuitos combinacionales

x

yx y

[ Sistemas Digitales ]

PräsentationD.Mery 62 Arquitectura de

Computadores

Segunda Ley de Morgan:

• ( x y ) = x + y

Circuitos combinacionales

x

yx y = x + y

[ Sistemas Digitales ]

PräsentationD.Mery 63 Arquitectura de

Computadores

Segunda Ley de Morgan:

• ( x y ) = x + y = x + y

Circuitos combinacionales

x + yx

y

[ Sistemas Digitales ]

PräsentationD.Mery 64 Arquitectura de

Computadores

Ejercicio:

Diseñe el circuito combinacional que realice la función

w = x y + y z usando sólo compurtas NAND de dosentradas.

Circuitos combinacionales

[ Sistemas Digitales ]

PräsentationD.Mery 65 Arquitectura de

Computadores

Circuitos combinacionales

xy

z

w

Ejercicio:

Diseñe el circuito combinacional que realice la función

w = x y + y z usando sólo compurtas NAND de dosentradas.

[ Sistemas Digitales ]

PräsentationD.Mery 66 Arquitectura de

Computadores

Circuitos combinacionales

[ Sistemas Digitales ]

PräsentationD.Mery 67 Arquitectura de

Computadores

Circuitos combinacionales

xyz w

[ Sistemas Digitales ]

PräsentationD.Mery 68 Arquitectura de

Computadores

Circuitos combinacionales

MAPAS DE KARNOUGH:

• Para dos variables• Para tres variables• Para cuatro variables

(temas vistos en la pizarra)

PräsentationD.Mery 69 Arquitectura de

Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 70 Arquitectura de Computadores

ADICIÓN BINARIA: dec

Regla 1: 0 + 0 = 0

Regla 2: 0 + 1 = 1

Regla 3: 1 + 0 = 1

Regla 4: 1 + 1 = 2

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 71 Arquitectura de Computadores

ADICIÓN BINARIA: dec bin

Regla 1: 0 + 0 = 0 0 0

Regla 2: 0 + 1 = 1 0 1

Regla 3: 1 + 0 = 1 0 1

Regla 4: 1 + 1 = 2 1 0

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 72 Arquitectura de Computadores

ADICIÓN BINARIA:A + B dec bin

Regla 1: 0 + 0 = 0 0 0

Regla 2: 0 + 1 = 1 0 1

Regla 3: 1 + 0 = 1 0 1

Regla 4: 1 + 1 = 2 1 0

suma

acarreo

[ Sistemas Digitales ]

PräsentationD.Mery 73 Arquitectura de

Computadores

Suma de dos bits:

A B suma acarreo

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Circuitos aritméticos

¿Cómo sería el circuito combinacional de suma y acarreo?

[ Sistemas Digitales ]

PräsentationD.Mery 74 Arquitectura de

Computadores

Suma de dos bits:

Circuitos aritméticos

A

Bsuma

acarreo

[ Sistemas Digitales ]

PräsentationD.Mery 75 Arquitectura de

Computadores

Suma de dos bits:

Circuitos aritméticos

A

Bsuma ()

acarreo (As)

half adder

[ Sistemas Digitales ]

PräsentationD.Mery 76 Arquitectura de

Computadores

Suma de dos bits:

Circuitos aritméticos

A

B

As

Half Adder

[ Sistemas Digitales ]

PräsentationD.Mery 77 Arquitectura de

Computadores

Circuitos aritméticos

¿Cómo se suman números de dos bits?

Ej:

1 1 + 1 1

___________________

[ Sistemas Digitales ]

PräsentationD.Mery 78 Arquitectura de

Computadores

Circuitos aritméticos

¿Cómo se suman números de dos bits?

Ej:11 1

+ 1 1 ___________________

0

[ Sistemas Digitales ]

PräsentationD.Mery 79 Arquitectura de

Computadores

Circuitos aritméticos

¿Cómo se suman números de dos bits?

Ej:1 1

1 1 + 1 1

___________________

1 0

[ Sistemas Digitales ]

PräsentationD.Mery 80 Arquitectura de

Computadores

Circuitos aritméticos

¿Cómo se suman números de dos bits?

Ej:1 1

1 1 + 1 1

___________________

1 1 0

[ Sistemas Digitales ]

PräsentationD.Mery 81 Arquitectura de

Computadores

Circuitos aritméticos

¿Cómo se suman números de dos bits?

Ej:1 1

1 1 + 1 1

___________________

1 1 0

Se necesita un Full Adder que considere el acarreo.

Full AdderA

B

Ae

As

[ Sistemas Digitales ]

PräsentationD.Mery 82 Arquitectura de

Computadores

Circuitos aritméticos

Half Adder

A

B

Ae

As

Full Adder

Half Adder

As

As

A

B

[ Sistemas Digitales ]

PräsentationD.Mery 83 Arquitectura de

Computadores

Suma de dos bits con acarreo:

Circuitos aritméticos

Ae

B

As

Full AdderA

[ Sistemas Digitales ]

PräsentationD.Mery 84 Arquitectura de

Computadores

Circuitos aritméticos

Ejercicio: diseñar un sumador de cuatro bits usando half y/o full adders.

Ae

B

As

Full AdderA

A

B

As

Half Adder

A4 A3 A2 A1

B4 B3 B2 B1+

C5 C4 C3 C2 C1

[ Sistemas Digitales ]

PräsentationD.Mery 85 Arquitectura de

Computadores

Circuitos aritméticos

A4 A3 A2 A1

B4 B3 B2 B1+

C5 C4 C3 C2 C1

A1

B1

AsHA

AsFA

AsFA

Ae

AsFA

Ae

AeA2

B2

A3

B3

A4

B4

C1

C2

C3

C4

C5

sumador de cuatro bits

[ Sistemas Digitales ]

PräsentationD.Mery 86 Arquitectura de

Computadores

Circuitos aritméticos

A4 A3 A2 A1

B4 B3 B2 B1+

C5 C4 C3 C2 C1

sumador de cuatro bits

Especificaciones técnicas

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 87 Arquitectura de Computadores

SUSTRACCIÓN BINARIA:

Para restar dos números binarios se utiliza el complemento a 2.

El complemento a 2 de un número binario es su complemento + 1.

Ej: 0010 1011

1101 0100 + 1

1101 0101

Complemento a 2

[ Sistemas Digitales ]

PräsentationD.Mery 88 Arquitectura de

Computadores

Circuitos aritméticos

Ejercicio: diseñar un circuito combinacional que calcule el complemento a 2 de un número de 8 bits.

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 89 Arquitectura de Computadores

SUSTRACCIÓN BINARIA:

Para calcular la resta binaria C = A-B

• se calcula: B’ = complemento a 2 de B.

• se calcula: C = A+B’.

[ Sistemas Digitales ]

Präsentation

Circuitos aritméticos

D.Mery 90 Arquitectura de Computadores

SUSTRACCIÓN BINARIA:

Para calcular la resta binaria C = A-B

• se calcula: B’ = complemento a 2 de B.

• se calcula: C = A+B’.

Ejemplo: 57 – 34:

57: 0011 1001 (A)34: 0010 0010 (B)not 1101 1101 not(B)+1 1101 1110 B’ 10001 0111 A+B’ => 0001 0111 = 23dec

PräsentationD.Mery 91 Arquitectura de

Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 92 Arquitectura de Computadores

Los circuitos sincrónicos funcionan sobre la base del tiempo.

Es decir, las salidas dependen no sólo de las entradas.

Sino del estado en que estaban las salidas y del tiempo.

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 93 Arquitectura de Computadores

Flip-flop RS

S Q

QR

S R Q

0 0 ?

0 1 ?

1 0 ?

1 1 ?

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 94 Arquitectura de Computadores

Flip-flop RS

S Q

QR

S R Q

0 0 1

0 1 1

1 0 0

1 1 Q

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 95 Arquitectura de Computadores

Flip-flop RS

S Q

QR

S R Q Q

0 0 1 1

0 1 1 0

1 0 0 1

1 1 Q Q

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 96 Arquitectura de Computadores

Flip-flop RS

S Q

QR

S R Q Q

0 0 1 1

0 1 1 0

1 0 0 1

1 1 Q Q

FF

set

reset

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 97 Arquitectura de Computadores

1 0 1 0 1 1 1 1 1 0

0 0 1 1 1 0 1 0 1 1

S R Q

0 0 1

0 1 1

1 0 0

1 1 Q

S Q

QR

FF

S

Q

R

Ejercicio: Encontrar Q para lasseñales R, S dadas

t

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 98 Arquitectura de Computadores

1 0 1 0 1 1 1 1 1 0

0 0 1 1 1 0 1 0 1 1

0 1 1 1 1 0 0 0 0 1

S R Q

0 0 1

0 1 1

1 0 0

1 1 Q

S Q

QR

FF

S

Q

R

Ejercicio: Encontrar Q para lasseñales R, S dadas

t

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 99 Arquitectura de Computadores

Flip-flop RS síncrono

S Q

QR

CK

CK S R Q

0 0 Q

0 1 0

1 0 1

1 1 1

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 100 Arquitectura de Computadores

Flip-flop RS síncrono

CK

CK S R Q

0 0 Q

0 1 0

1 0 1

1 1 1

S Q

QR

FF

set

reset

clock

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 101 Arquitectura de Computadores

S

Q

R

Ejercicio: Encontrar Q para lasseñales R, S dadas usandoFF RS síncrono

t

CK S R Q

0 0 Q

0 1 0

1 0 1

1 1 1

CK

S Q

QR

FF

CK

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 102 Arquitectura de Computadores

S

Q

R

Ejercicio: Encontrar Q para lasseñales R, S dadas usandoFF RS síncrono

t

CK S R Q

0 0 Q

0 1 0

1 0 1

1 1 1

CK

S Q

QR

FF

CK

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 103 Arquitectura de Computadores

Flip-flop D

CK

S Q

QR

FF

data

clock

D CK D Q

0 0

1 1

Sin clock la salida no cambia

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 104 Arquitectura de Computadores

Flip-flop D

CK

D Q

Q

data

clock

PR

CLR

PR CLR CK D Q

0 1 X X 1

1 0 X X 0

1 1 1 1

1 1 0 0

1 1 0 X Q

Especificaciones técnicas

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 105 Arquitectura de Computadores

Flip-flop JK

CK

J Q

QK

data

clock

CK J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q

0 X X Q

Especificaciones técnicas

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 106 Arquitectura de Computadores

Contador de 4 bits basado en Flip-Flop JK

CK

J Q

K

1

1

CK

J Q

K

1

1

CK

J Q

K

1

1

CK

J Q

K

1

1

LSB MSB

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 107 Arquitectura de Computadores

Registro de corrimiento basado en Flip-Flops D

CK

D Qdata

CK

D Q

CK

D Q

CK

D Q

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 108 Arquitectura de Computadores

Registro de corrimiento basado en Flip-Flops D(shift register)

CK

D Qdata

CK

D Q

CK

D Q

CK

D Q

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 109 Arquitectura de Computadores

Diseño de un circuito secuencial

Ejemplo: diseñar un circuito secuencial que genere una secuencia de estados binarios: 00, 01, 10, 11a partir de una señal de control x, que cada vezque esté en 1 y venga una señal de clockcambie de estado.

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 110 Arquitectura de Computadores

Diseño de un circuito secuencial

Diagrama de estado

00

01 11

10

Ejemplo: diseñar un circuito secuencial que genere una secuencia de estados binarios: 00, 01, 10, 11a partir de una señal de control x, que cada vezque esté en 1 y venga una señal de clockcambie de estado.

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 111 Arquitectura de Computadores

Diseño de un circuito secuencial

Diagrama de estado

00

01 11

10

x = 1

x = 1

x = 1

x = 1

x = 0x = 0

x = 0

x = 0 x : señal de control

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 112 Arquitectura de Computadores

Diagrama de estado

00

01 11

10

x = 1

x = 1

x = 1

x = 1

x = 0x = 0

x = 0

x = 0 x : señal de reloj

A B x A B

0 0 0 ? ?

0 0 1 ? ?

0 1 0 ? ?

0 1 1 ? ?

1 0 0 ? ?

1 0 1 ? ?

1 1 0 ? ?

1 1 1 ? ?

t t +1

control

Como el contador tiene dos bits, seusarán dos flip-flops (A y B), uno para cada bit.

AB

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 113 Arquitectura de Computadores

Diagrama de estado

00

01 11

10

x = 1

x = 1

x = 1

x = 1

x = 0x = 0

x = 0

x = 0 x : señal de reloj

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

control

Tabla de estado

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 114 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

CK J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q

CK

J Q

QK

FF

JA KA

? ?

? ?

? ?

? ?

? ?

? ?

? ?

? ?

Usando flip-flops JK cómo deben ser sus entradas para que A cambie de su estado t a su estado t+1?

control

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 115 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

CK J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q

CK

J Q

QK

FF

JA KA

0 X

0 X

0 X

1 X

X 0

X 0

X 0

X 1

control

Tabla de excitación

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 116 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

JA KA

0 X

0 X

0 X

1 X

X 0

X 0

X 0

X 1

A

B

x

JA

Mapas de Karnough

A

B

x

KA

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 117 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

JA KA

0 X

0 X

0 X

1 X

X 0

X 0

X 0

X 1

X X X X

0 1 0 0

A

B

x

JA

Mapas de Karnough

0 1 0 0

X X X X

A

B

x

KA

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 118 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

JA KA

0 X

0 X

0 X

1 X

X 0

X 0

X 0

X 1

X X X X

0 1 0 0

A

B

x

JA

Mapas de Karnough

0 1 0 0

X X X X

A

B

x

KA

JA = Bx

KA = Bx

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 119 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

CK J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q

CK

J Q

QK

FF

JB KB

? ?

? ?

? ?

? ?

? ?

? ?

? ?

? ?

Usando flip-flops JK cómo deben ser sus entradas para que B cambie de su estado t a su estado t+1?

control

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 120 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

CK J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q

CK

J Q

QK

FF

Usando flip-flops JK cómo deben ser sus entradas para que B cambie de su estado t a su estado t+1?

JB KB

0 X

1 X

X 0

X 1

0 X

1 X

X 0

X 1

control

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 121 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

A

B

x

JB

Mapas de Karnough

A

B

x

KB

JB KB

0 X

1 X

X 0

X 1

0 X

1 X

X 0

X 1

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 122 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

X X 1 0

X X 1 0

A

B

x

JB

Mapas de Karnough

0 1 X X

0 1 X X

A

B

x

KB

JB KB

0 X

1 X

X 0

X 1

0 X

1 X

X 0

X 1

[ Sistemas Digitales ]

Präsentation

Circuitos sincrónicos

D.Mery 123 Arquitectura de Computadores

A B x A B

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

t t +1

X X 1 0

X X 1 0

A

B

x

JB

Mapas de Karnough

0 1 X X

0 1 X X

A

B

x

KB

JB = x

KB = x

JB KB

0 X

1 X

X 0

X 1

0 X

1 X

X 0

X 1

[ Sistemas Digitales ] Circuitos sincrónicos

D.Mery 124 Arquitectura de Computadores

JB = x

KB = x

JA = Bx

KA = Bx

CK

JA Q

QKA

FFA

CK

JB Q

QKB

FFB

A

B

[ Sistemas Digitales ] Circuitos sincrónicos

D.Mery 125 Arquitectura de Computadores

JB = x

KB = x

JA = Bx

KA = Bx

CK

JA Q

QKA

FFA

CK

JB Q

QKB

FFB

A

B

x

clock

[ Sistemas Digitales ] Circuitos sincrónicos

D.Mery 126 Arquitectura de Computadores

Consideraciones de diseño:

1. Hacer un diagrama de estado identificando las variables entrada (control) y salida. En el diagrama: un estado es un círculo, un flecha es una transición de un estado a otro.

2. El número de flip-flops necesarios para el circuito es el número de bits que tienen los estados.

3. Se realiza la tabla de estados y la tabla de excitación para cada flip-flop.

4. Se diseña el circuito combinacional para cada entrada de cada flip-flop usando mapas de Karnough.

5. Se implementa el circuito secuencial.

PräsentationD.Mery 127 Arquitectura de

Computadores

[ Índice ]

2.1. Álgebra Booleana

2.2 Circuitos combinacionales

2.3. Circuitos aritméticos

2.4. Circuitos sincrónicos

2.5. Memorias

[ Sistemas Digitales ] Memorias

D.Mery 128 Arquitectura de Computadores

entrada

salida

leer/escribir (1/0)

seleccionar

S

R

Q

Celda de memoria

[ Sistemas Digitales ] Memorias

D.Mery 129 Arquitectura de Computadores

entrada

salida

leer/escribir (1/0)

seleccionar

S

R

Q

Celda de memoria

BCentrada

seleccionar

salida

leer/escribir (1/0)

[ Sistemas Digitales ] Memorias

D.Mery 130 Arquitectura de Computadores

BC BC BC

BC BC BC

BC BC BC

BC BC BC

Dato de entrada (3 bits)

Dato de salidaleer/escribir

Entrada de selección de memoria

Decoder2×4

D0

D1

D2

D3

A0

A1

Unidad de memoria de 4 × 3 bits

[ Sistemas Digitales ] Memorias

D.Mery 131 Arquitectura de Computadores

BC BC BC

BC BC BC

BC BC BC

BC BC BC

Dato de entrada (3 bits)

Dato de salida

leer/escribir

Entrada de selección de memoria

Decoder2×4

D0

D1

D2

D3

A0

A1

A0 A1 D0 D1 D2 D3

0 0 1 0 0 0

0 1 0 1 0 0

1 0 0 0 1 0

1 1 0 0 0 1

Decoder2×4

[ Sistemas Digitales ] Memorias

D.Mery 132 Arquitectura de Computadores

Unidad de memoria RAM (random access memory)

[ Sistemas Digitales ] Memorias

D.Mery 133 Arquitectura de Computadores

Unidad de memoria de 1024 × 16 bits

[ Sistemas Digitales ] Memorias

D.Mery 134 Arquitectura de Computadores

Celda de memoria

[ Sistemas Digitales ] Memorias

D.Mery 135 Arquitectura de Computadores

RAM bit slice

[ Sistemas Digitales ] Memorias

D.Mery 136 Arquitectura de Computadores

Buffer Three-state

IN OUT

EN = 0

IN OUT

EN = 1

Esquema eléctricoEN: enableIN: inputOUT: output

[ Sistemas Digitales ] Memorias

D.Mery 137 Arquitectura de Computadores

Buffer Three-state

EN: enableIN: inputOUT: output

DiagramaTabla de verdad

[ Sistemas Digitales ] Memorias

D.Mery 138 Arquitectura de Computadores

Buffer Three-state

Diagrama

Tabla de verdad

[ Sistemas Digitales ] Memorias

D.Mery 139 Arquitectura de Computadores

16 x 1 RAM

[ Sistemas Digitales ] Memorias

D.Mery 140 Arquitectura de Computadores

16 x 1 RAM usando celdas de 4 x 4

[ Sistemas Digitales ] Memorias

D.Mery 141 Arquitectura de Computadores

Chip 64 x 8 RAM

[ Sistemas Digitales ] Memorias

D.Mery 142 Arquitectura de Computadores

64 x 256 RAM usando 4 chips 64 x 8 RAM

[ Sistemas Digitales ] Memorias

D.Mery 143 Arquitectura de Computadores

64 x 16 RAM usando 2 chips 64 x 8 RAM

[ Sistemas Digitales ] Memorias

D.Mery 144 Arquitectura de Computadores

Memoria ROM (read only memory)

[ Sistemas Digitales ] Memorias

D.Mery 145 Arquitectura de Computadores

Lógica interna de una ROM de 32 × 8

[ Sistemas Digitales ] Memorias

D.Mery 146 Arquitectura de Computadores

ROM de 32 × 8 Ejemplo de tabla de verdad

[ Sistemas Digitales ] Memorias

D.Mery 147 Arquitectura de Computadores

Programación de ROM de 32 × 8 del ejemplo anterior