LA UNIDAD ARITMÉTICO LÓGICA (UAL) ¿ Dónde estamos ? Historia

Anuncio
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
1010100110100101010100101010101001010101010011110101
0101010111101010101001101001010101001010101010010101
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
1001010101001010101010010101010100111101010101010111
1010101010011010010101010010101010100101010101001111
0101010101011110101010100110100101010100101010101001
0101010100111101010101010111101010101001101001010101
COMPUTADOR DIGITAL
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
0101010010101010100101010101001111010101010101111011
LA UNIDAD ARITMÉTICO
LÓGICA (UAL)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Estructura de J. von Neumann
1010100110100101010100101010101001010101010011110101
0101010111101010101001101001010101001010101010010101
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
1001010101001010101010010101010100111101010101010111
1010101010011010010101010010101010100101010101001111
0101010101011110101010100110100101010100101010101001
0101010100111101010101010111101010101001101001010101
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
¿ Dónde estamos ?
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• J. V. Atanasoff ingeniero (US, 1903/95)
1010100110100101010100101010101001010101010011110101
– 1er comp. electrónico de propósito especial (ABC 1937/38)
0101010111101010101001101001010101001010101010010101
• J. P. Eckert ingeniero (US, 1919/95) y J. W. Mauckly
0101001111010101010101111010101010011010010101010010
físico (US, 1907/80)
– 1er comp. electrónico de propósito gral
1010101001010101010011110101010101011110101010100110
– Idean el concepto de ALU en 1945
1001010101001010101010010101010100111101010101010111
– Construyen el ENIAC (1943/46):
1010101010011010010101010010101010100101010101001111
• Programa no almacenado !
0101010101011110101010100110100101010100101010101001
• Rediseño con programa almacenado en 1946
0101010100111101010101010111101010101001101001010101
• J. von Neumann:
0010101010100101010101001111010101010101111011110101
– Reafirma la necesidad de la ALU !
0101001101001010101001010101010010101010100111100101
– Idea de programa almacenado (Computador EDVAC 1946/51)
0101010111101111010101010011010010101010010101010100
http://www.library.upenn.edu/exhibits/rbm/mauchly/jwmintro.html
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Historia
INGENIERÍA AERONÁUTICA
1
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• SemiSumador de 1 bit:
1010100110100101010100101010101001010101010011110101
– Diseñar circuito lógico (combinacional)
0101010111101010101001101001010101001010101010010101
– ACARREO = “la que me llevo”
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
1001010101001010101010010101010100111101010101010111
a b s c
1010101010011010010101010010101010100101010101001111
0 0 0 0
0101010101011110101010100110100101010100101010101001
0 0 1 0
0101010100111101010101010111101010101001101001010101
0 1 1 0
0010101010100101010101001111010101010101111011110101
1 1 0 1
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• SemiSumador de 1 bit:
1010100110100101010100101010101001010101010011110101
– Diseñar circuito lógico (combinacional)
0101010111101010101001101001010101001010101010010101
– ACARREO = “la que me llevo”
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
1001010101001010101010010101010100111101010101010111
a b s c
1010101010011010010101010010101010100101010101001111
0 0 0 0
0101010101011110101010100110100101010100101010101001
0 0 1 0
0101010100111101010101010111101010101001101001010101
0 1 1 0
0010101010100101010101001111010101010101111011110101
1 1 0 1
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Sumador Completo de 1 bit:
1010100110100101010100101010101001010101010011110101
– Diseñar circuito lógico (combinacional)
0101010111101010101001101001010101001010101010010101
– 2 ACARREOs
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
a b c1 s c2
0 0 0 0 0
1001010101001010101010010101010100111101010101010111
0 0 1 1 0
1010101010011010010101010010101010100101010101001111
0 1 0 1 0
0101010101011110101010100110100101010100101010101001
0 1 1 0 1
0101010100111101010101010111101010101001101001010101
1 0 0 1 0
0010101010100101010101001111010101010101111011110101
1 0 1 0 1
1 1 0 0 1
0101001101001010101001010101010010101010100111100101
1 1 1 1 1
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
INGENIERÍA AERONÁUTICA
2
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Sumador Completo de 1 bit:
1010100110100101010100101010101001010101010011110101
– Diseñar circuito lógico (combinacional)
0101010111101010101001101001010101001010101010010101
– 2 ACARREOs
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
a b c1 s c2
0 0 0 0 0
1001010101001010101010010101010100111101010101010111
0 0 1 1 0
1010101010011010010101010010101010100101010101001111
0 1 0 1 0
0101010101011110101010100110100101010100101010101001
0 1 1 0 1
0101010100111101010101010111101010101001101001010101
1 0 0 1 0
0010101010100101010101001111010101010101111011110101
1 0 1 0 1
1 1 0 0 1
0101001101001010101001010101010010101010100111100101
1 1 1 1 1
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Sumador Paralelo 3 bits:
1010100110100101010100101010101001010101010011110101
A
B
0101010111101010101001101001010101001010101010010101
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
1001010101001010101010010101010100111101010101010111
a b
a b
a b
1010101010011010010101010010101010100101010101001111
c2 SC c1
c SS
c2 SC c1
0101010101011110101010100110100101010100101010101001
0101010100111101010101010111101010101001101001010101
s
s
s
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
S
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Otras operaciones
1010100110100101010100101010101001010101010011110101
– Aritméticas:
x2
0101010111101010101001101001010101001010101010010101
• Multiplicación / División
0101001111010101010101111010101010011010010101010010
– Registros de desplazamiento
1010101001010101010011110101010101011110101010100110
–
Lógicas
1001010101001010101010010101010100111101010101010111
/2
– Desplazamiento
1010101010011010010101010010101010100101010101001111
0101010101011110101010100110100101010100101010101001
– Rotaciones
0101010100111101010101010111101010101001101001010101
• Coma/Punto flotante:
0010101010100101010101001111010101010101111011110101
– Multiplicación / división: M1H2E1 * M2H2E2 = M1*M2 H2(E1+E2)
0101001101001010101001010101010010101010100111100101
– Sumas / restas: M1H2E1 + M2H2E2 = (M3+M2) H2E2
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
Circuitos operadores
INGENIERÍA AERONÁUTICA
3
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Circuito especializado para operaciones
1010100110100101010100101010101001010101010011110101
• Registros: Acumulador, Operando/s y Estado
0101010111101010101001101001010101001010101010010101
0101001111010101010101111010101010011010010101010010
• Operaciones:
1010101001010101010011110101010101011110101010100110
– Aritméticas
1001010101001010101010010101010100111101010101010111
– Lógicas
1010101010011010010101010010101010100101010101001111
– Desplazam.
0101010101011110101010100110100101010100101010101001
– Rotación
0101010100111101010101010111101010101001101001010101
0010101010100101010101001111010101010101111011110101
– Incr./Decr.
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
???
? ? ? (?)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar (2+3)
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
(?)
(2)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
000
0 1 0 (2)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
CARGAR
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar (2+3)
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
(2)
(2)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
INGENIERÍA AERONÁUTICA
4
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
000
0 1 0 (2)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar (2+3)
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
(2)
(3)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
000
1 0 1 (5)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
SUMAR
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar (2+3)
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
(5)
(3)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
000
1 0 1 (5)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar (2+3)
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
0101010111101111010101010011010010101010010101010100
(5)
(1)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
INGENIERÍA AERONÁUTICA
5
JOSÉ ÁNGEL ACOSTA RODRÍGUEZ
INFORMÁTICA CURSO 2009/10
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Funcionamiento:
1010100110100101010100101010101001010101010011110101
000
1 0 0 (4)
• Suma 2 + 3 - 1:
0101010111101010101001101001010101001010101010010101
1. Disponer (2)
0101001111010101010101111010101010011010010101010010
1010101001010101010011110101010101011110101010100110
2. Cargar (2)
RESTAR
1001010101001010101010010101010100111101010101010111
3. Disponer (3)
1010101010011010010101010010101010100101010101001111
4. Sumar
0101010101011110101010100110100101010100101010101001
5. Disponer (1)
0101010100111101010101010111101010101001101001010101
6. Restar (5-1)
0010101010100101010101001111010101010101111011110101
0101001101001010101001010101010010101010100111100101
• ¿ Cronograma ?
0101010111101111010101010011010010101010010101010100
(4)
(1)
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
0101010100010101011101010101010100101001010100010010
1010101001100101011111010101010101001010100101010101
0011110101010101011110101010100110100101010100101010
1010010101010100111101010101010111101010101001101001
0101010010101010100101010101001111010101010101111010
• Otras arquitecturas de UALs:
1010100110100101010100101010101001010101010011110101
Carga - Almacenamiento
0101010111101010101001101001010101001010101010010101
0101001111010101010101111010101010011010010101010010
RESGISTER
RESGISTER
1010101001010101010011110101010101011110101010100110
RESGISTER
MEMO
1001010101001010101010010101010100111101010101010111
RESGISTER
Acumulador
1010101010011010010101010010101010100101010101001111
Memoria - Memoria
Registro - Memoria
0101010101011110101010100110100101010100101010101001
0101010100111101010101010111101010101001101001010101
MEMO
0010101010100101010101001111010101010101111011110101
MEMO
RESGISTER
0101001101001010101001010101010010101010100111100101
RESGISTER
0101010111101111010101010011010010101010010101010100
1010101010011110101010101011110111101010101001101001
LA UNIDAD ARITMÉTICO-LÓGICA
0101010010101010100101010101001111010101010101111011
UAL (ALU)
INGENIERÍA AERONÁUTICA
6
Descargar