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