Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Compuertas lógicas
Circuitos
Lógica digital
Organización de computadoras
http://orga.blog.unq.edu.ar
Repaso
1 Punto Flotante
1 Motivación
Repaso
1 Punto Flotante
1 Motivación
2 Interpretar
Repaso
1 Punto Flotante
1 Motivación
2 Interpretar
3 Rango
Repaso
1 Punto Flotante
1 Motivación
2 Interpretar
3 Rango
4 Resolución variable
Repaso
1 Punto Flotante
1 Motivación
2 Interpretar
3 Rango
4 Resolución variable
5 Normalización (bit implı́cito)
Repaso
1 Punto Flotante
1 Motivación
2 Interpretar
3 Rango
4 Resolución variable
5 Normalización (bit implı́cito)
6 Representar
Niveles de abstracción
Niveles de abstracción
Niveles de abstracción
El usuario interactua con la computadora ejecutando herramientas como
Aplicaciones procesadores de texto, juegos o browsers.
de Usuario
Lenguaje de
alto nivel
Lenguaje
Assembly
Control
Unidades
funcionales
Compuertas,
transistores
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Niveles de abstracción
Aplicaciones
de Usuario
El programador entiende el lenguaje (Gobstones, Java, C) pero no los
Lenguaje de detalles de implementación. El compilador es el encargado corresponder
el programa en el lenguaje de alto nivel con el lenguaje especı́fico para la
alto nivel arquitectura subyacente
Lenguaje
Assembly
Control
Unidades
funcionales
Compuertas,
transistores
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Niveles de abstracción
Aplicaciones
de Usuario
Lenguaje de
alto nivel
El lenguaje assembly (Q1..Q5)tiene en cuenta los detalles de la arquitec-
Lenguaje tura (registros, repertorio de operaciones, etc). Dado que programar en
términos de 1s y 0s es tedioso y propenso a errores, en este nivel se provee
Assembly un programa ensamblador que traduce las sentencias mnemotécnicas del
lenguaje assembly al código máquina.
Control
Unidades
funcionales
Compuertas,
transistores orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Niveles de abstracción
Aplicaciones
de Usuario
Lenguaje de
alto nivel
Lenguaje
Assembly
Se interpretan las instrucciones máquina para producir la operación sobre
Control los datos. Existen distintas formas de hacerlo:
Hardwiring Las acciones se llevan a cabo mediante un conjunto de
componentes digitales (compuertas)
Microprogramas Cada instrucción máquina se traduce en un
microprograma, escrito en un lenguaje de un nivel aún
mas bajo que se implementa con hardware (firmware).
El firmware es ejecutado por un microcontrolador.
Niveles de abstracción
Aplicaciones
de Usuario
Lenguaje de
alto nivel
Lenguaje
Assembly
Control
Registros, ALU, Memoria Principal
Unidades
funcionales
Compuertas,
transistores
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Niveles de abstracción
Aplicaciones
de Usuario
Lenguaje de
alto nivel
Lenguaje
Assembly
Control
Unidades
funcionales
Las unidades funcionales se contruyen a partir de compuertas lógicas y
Compuertas, éstas a partir de transistores. Las compuertas realizan las operaciones
lógicas fundamentales.
transistores
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Niveles de abstracción
Compuertas lógicas
Compuerta lógica
es un dispositivo que implementa una función booleana simple. Traduce
un conjunto de entradas (una o más) en una salida
Compuertas lógicas
A AvB
B
Compuertas lógicas
A AvB
B
Casos:
0 0 0 1
0 1
A B A∧ B
0 0 0 1 1 1 1
0 1 0 0 1
1 0 0
1 1 1
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Compuertas lógicas
A A^B
B
Compuertas lógicas
A A^B
B
Casos:
0 0 0 0
0 1
A B A∨ B
0 0 0 1 0 1 1
0 1 1 0 1
1 0 1
1 1 1
Compuertas lógicas
_
A A
Compuertas lógicas
_
A A
Casos:
0 1
A A 1 0
0 1
1 0
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas
Circuitos
Compuertas lógicas
1 Compuerta NAND
2 Compuerta NOR
3 Compuerta XOR
Circuito lógico
Composición de compuertas
Traduce un conjunto de entradas en un conjunto de salidas de
acuerdo a una o mas funciones booleanas
Cada salida es estrictamente una función de las entradas
Las salidas se actualizan de inmediato luego de que cambien las
entradas
Circuitos lógicos
Circuitos lógicos
Circuitos lógicos
B ? S
Circuitos lógicos
∧
Ejercicio: ¿Cómo es el circuito de (A∧ B)∨ (A B)?
A
B ? S
Circuitos lógicos
Circuitos lógicos
Circuitos lógicos
Circuitos lógicos
Hagamos un cirucito
1
0
0 Mayoria
0
1
1
0 Mayoria
1
Suma de Productos
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas Circuitos aritméticos
Circuitos
Suma de Productos
Suma de Productos
SOP
(Suma de productos) Fórmula
booleana compuesta por
∧ ∧ disyunciones (∨ ) entre términos
s = (E 1 E2∧ E3 )∨ (E1∧ E 2 E3 )∨ que son conjunciones (∧ ) de
∨ literales (a ó a)
(E1∧ E2∧ E 3 )∨ (E1∧ E2∧ E3 )
Suma de Productos
SOP
(Suma de productos) Fórmula
∧ ∨ ∧ ∨
(E 1 E2∧ E3 ) (E1∧ E 2 E3 ) booleana compuesta por
s= disyunciones (∨ ) entre términos
término término
que son conjunciones (∧ ) de
∧ ∧ ∨ ∧ ∧
∨ (E1 E2 E 3 ) (E1 E2 E3 ) literales (a ó a)
término término
(E1 ⊕ E2 )∧ E3 ∨ (E1∧ E2 )
(E1 ⊕ E2 )∧ E3 ∨ (E1∧ E2 )
E1
S
E2
E3
Mayoria
Multiplexor simple
Mux
Mux
Multiplexor simple
Multiplexor simple
C S
Tabla abreviada: 0 e1
1 e2
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
Multiplexor simple
¡Simplificar!
∧ ∧ ∧
s = (C E1∧ E 2 )∨ (C E1∧ E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Multiplexor simple
¡Simplificar!
∧ ∧ ∧
s = (C E1∧ E 2 )∨ (C E1∧ E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∧
(C E1 )∧ (E 2 E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Multiplexor simple
¡Simplificar!
∧ ∧ ∧
s = (C E1∧ E 2 )∨ (C E1∧ E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∧
(C E1 )∧ (E 2 E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∨
(C E1 )∧ (E 2 E2 )∨ (C ∧ E2 )∧ (E 1 E1 )
Multiplexor simple
¡Simplificar!
∧ ∧ ∧
s = (C E1∧ E 2 )∨ (C E1∧ E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∧
(C E1 )∧ (E 2 E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∨
(C E1 )∧ (E 2 E2 )∨ (C ∧ E2 )∧ (E 1 E1 )
Por complemento de la ∨ :
∧
(C E1 )∧ 1∨ (C ∧ E2 )∧ 1
Multiplexor simple
¡Simplificar!
∧ ∧ ∧
s = (C E1∧ E 2 )∨ (C E1∧ E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∧
(C E1 )∧ (E 2 E2 )∨ (C ∧ E 1 E2 )∨ (C ∧ E1∧ E2 )
Por distributiva:
∧ ∨ ∨
(C E1 )∧ (E 2 E2 )∨ (C ∧ E2 )∧ (E 1 E1 )
Por complemento de la ∨ :
∧
(C E1 )∧ 1∨ (C ∧ E2 )∧ 1
Por neutro de la ∧ :
∧
(C E1 )∨ (C ∧ E2 )
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas Circuitos aritméticos
Circuitos
Multiplexor simple
∧
(C E1 )∨ (C ∧ E2 )
Multiplexor simple
∧
(C E1 )∨ (C ∧ E2 )
C
E1 S
E2
MUX
Multiplexor complejo
Multiplexor complejo
Tabla abreviada:
C1 C2 S
0 0 e1
0 1 e2
1 0 e3
1 1 e4
Multiplexor complejo
Tabla de verdad:
Tabla abreviada: C 1 C 2 E1 E2 E3 E4 S
C1 C2 S 0 0 0 0 0 0 0
0 0 e1
0 1 e2 ¡Completar de Tarea!
1 0 e3
1 1 e4
Decodificador
E1 S1
S2
E2 Deco S3
S4
Decodificador
E1 E2 S1 S2 S3 S4
Tabla de verdad:
Decodificador
E1 E2 S1 S2 S3 S4
0 0 1 0 0 0
Tabla de verdad: 0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Demultiplexor
C1 C2
E S1
S2
DeMux S3
S4
orga.blog.unq.edu.ar Lógica digital
Motivación
Compuertas lógicas Circuitos aritméticos
Circuitos
Demultiplexor
E C1 C2 S1 S2 S3 S4
Tabla de verdad:
Demultiplexor
E C1 C2 S1 S2 S3 S4
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
Tabla de verdad: 0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Demultiplexor
E C1 C2 S1 S2 S3 S4
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
Tabla de verdad: 0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
¿Cómo se contruye el circuito?
Circuitos aritméticos
Circuitos aritméticos
B
Half Adder C
A B R C 0
+
0 0 0 0 0
0 1 1 0 0
1 0 1 0
1 1 0 1
A B R C 1
+
0 0 0 0 0
0 1 1 0 1
1 0 1 0
1 1 0 1
A B R C 0
+
0 0 0 0 1
0 1 1 0 1
1 0 1 0
1 1 0 1
Circuitos aritméticos
Circuitos aritméticos
Circuitos aritméticos
Circuitos aritméticos
A1
R1
B1
R2
Full Adder 2 bits
A2
C
B2
Circuitos aritméticos
0
A1
R R1
B1
Full Adder
C
CAnt
A2 R2
R
Full Adder C C
B2
Full Adder 2 bits
Redondeando...
1 Motivación
2 Compuertas lógicas
3 Circuitos
Circuitos aritméticos
¿Preguntas?