historia arquitectura de una computadora Introducción a la Computación Bruno Lara Guzmán Departamento de Computación, Facultad de Ciencias 16 de agosto de 2013 sistemas de numeración historia arquitectura de una computadora Temario I historia arquitectura de una computadora sistemas de numeración sistemas de numeración historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas problemitas • dos trenes se encuentran a 300 km en la misma via, viajando en la misma dirección • uno va a 90 km/hr el otro a 60 km/hr • una mosca vuela a 150 km/hr • cuanto vuela la mosca que esta parada en una de las maquinas, vuela a la otra, regresa, hasta que los trenes chocan historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas computación • porque ? • para que ? • que esperamos ? historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas computación estudio de procesos sistematicos que describen y transforman información • teoría • eficiencia • analisis • implementación • diseño • aplicación historia arquitectura de una computadora un poco de historia sistemas de numeración historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas abaco uno de los primeros dispositivos mecanicos • aprox 1200 A.C. • en china • se usa para contar historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas diferentes tipos de abacos historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Wilhelm Schickard (1592 - 1635) • pensador aleman • enseño astronomia y matematicas • primera calculadora mecanica historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Wilhelm Schickard (1592 - 1635) • + y - automatico • * y / semi-automatico historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Blaise Pascal (1623 - 1662) • cientifico frances • matemático y fisico historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Pascalina • solo + y • engranes • similar a un odometro • mala tecnologia de su tiempo historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Charles Babbage (1791 - 1871) • matemático ingles • primer flojo • computadoras de vapor • maquina diferencial -producción de tablas • maquina analitica • “observations on the application of machinery on the computation of mathematical tables” historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas maquina analítica • unidad de procesamiento -el molino• almacenamiento de programas numéricos • tarjetas perforadas como entrada • salida - impresión • trabajaba mediante engranes y palancas historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Charles Jacquard • frances • tejidos historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas maquina tejedora • maquina tejedora • teje los patrones codificados en una tarjeta perforada historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Howard Aiken • harvard university • 1939-1944 • IBM automatic sequence controlled calculator (ASCC), • tablas matemáticas historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas MARK 1 • switches, relevadores, ejes rotativos, y clutches • contaba con mas de 750,000 componenentes • 15 mts de largo, 2.40 de alto y pesaba 5 tons • x dos numeros en 6 seg. y / en 12 seg historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas ENIAC • universidad de pensylvania -1947• Electronic Numerical Integrator And Calculator • John Mauchly y John Eckert historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas ENIAC • ocupaba todo un sótano • tenía más de 18 000 tubos de vacío, • consumía 200 KW de energía eléctrica • requería todo un sistema de aire acondicionado • realiza cinco mil operaciones aritméticas en un segundo historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Von Neuman (1903-1957) • matemático de Princeton • EDVAC -Electronic Discrete Variable Automatic Computer• cuatro mil bulbos • memoria basado en tubos llenos de mercurio por donde circulaban señales eléctricas sujetas a retardos historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas Von Neuman (1903-1957) contribuciones • notación para describir los aspectos lógicos • set de instrucciones para EDVAC • concepto de programa almacenado • primer programa almacenado • la nocion de operación serial • aritmetica binaria para guardar y manipular instrucciones tomada de descripciones del sistema nervioso un programa y datos que usa se almacenan en memoria que ordenaba y unia números en una lista una operación despues de la otra a diferencia de ENIAC que usaba aritmetica decimal historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas primera generación - 51-58 • tubos de vacío • lenguaje máquina • grandes y costosas • mainframes historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas primera generación - 51-58 • 51 - UNIVAC (UNIversAL Computer) • primera compu comercial • 1000 palabras de memoria central • lectura de cintas magnéticas • censo de 1950 historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas segunda generación - 59-64 • circuitos de transistores • cintas magneticas de I/O • memoria magnetica • lenguajes de alto nivel • reduccíon del tamaño y aumento de la capacidad de procesamiento historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas tercera generación - 65-70 • sistema operativo • circuitos integrados • discos de I/O • minicomputadoras • IBM produce la serie 360 historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas cuarta generación - 70-80 • microprocesadores y microcomputadoras, • mercado industrial • revolución informática • circuteria de integración a gran escala (LSI, VLSI) • almacenamiento virtual historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas 1976 • Steve Wozniak y Steve Jobs • primera microcomputadora de uso masivo • el comienzo de Apple historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas ventas • 1981 - 800,000 computadoras personales • 1982 - 1,400,000 • entre 1984 y 1987 60 millones historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas aplicaciones • procesadores de palabras • hojas electrónicas de cálculo • paquetes gráficos historia arquitectura de una computadora sistemas de numeración Solución de problemas con computadora Computadoras y Programas quinta generación - 80 + • RISC - reduced instruction set computers • paralelismo masivo • almacenamiento optico • supercomputadoras historia arquitectura de una computadora sistemas de numeración un poco de computadoras historia arquitectura de una computadora sistemas de numeración arquitectura Estructura principales funciones • leer entrada • escribir salida • llevar a cabo operaciones • controlar la secuencia diskette, raton, teclado monitor, diskette, impresora aritmeticas, comparasiones historia arquitectura de una computadora arquitectura Estructura sistemas de numeración historia arquitectura de una computadora sistemas de numeración arquitectura Estructura maquina Von Neumann arq que utiliza el mismo dispositivo para almacenar datos e instrucciones • unidad aritmético-lógica o ALU • unidad de control • memoria • dispositivo de entrada/salida • bus de datos historia arquitectura de una computadora sistemas de numeración arquitectura Estructura maquina no Von Newmann arq que utiliza dispositivos fisicamente separados para almacenar datos e instrucciones • arquitectura Harvard • MARK 1 • instrucciones en cintas perforadas y datos en interruptores • ambas memorias tiene buses de acceso • posibilidad de lectura simultanea historia arquitectura de una computadora sistemas de numeración arquitectura Entrada-salida entrada • teclado • cámara web • ratón • joystick • scanner • lápiz óptico • micrófono • tarjetas perforadas • lector de código de • CD-ROM barras • cámara digital • cámara de video • DVD-ROM historia arquitectura de una computadora arquitectura Entrada-salida salida • monitor • impresora • láser • bocinas • fax sistemas de numeración historia arquitectura de una computadora arquitectura Entrada-salida duales • pantalla táctil (touch screen) • disco duro • disco flexible • dispositivos de almacenamiento sistemas de numeración historia arquitectura de una computadora sistemas de numeración arquitectura Memoria ejecución previo a ejecución, un programa se carga en la memoria cualquier dato a procesar por el programa se debe llevar a la memoria mediante instrucciones historia arquitectura de una computadora arquitectura Memoria memoria • unidad elemental → byte • 1 byte → 8 bits • 1 bit → 1 dígito (0 o 1) • caracter alfanumérico se almacena en un byte sistemas de numeración historia arquitectura de una computadora sistemas de numeración arquitectura Memoria tipos de memoria • RAM random access memory -lectura y escritura• ROM read only memory -solo lectura- historia arquitectura de una computadora sistemas de numeración arquitectura Memoria tipos de memoria RAM • DRAM (Dynamic Random Access Memory) • memoria de trabajo (también llamada RAM o volátil) • organizada en direcciones que son reemplazadas muchas veces por segundo • se pierde al interrumpir el suministro eléctrico. • EDO (Extended Data Output) velocidades de hasta 45ns. • SDRAM (Synchronous DRAM) • sincroniza con el reloj del procesador • obtiene información en cada ciclo de reloj historia arquitectura de una computadora sistemas de numeración arquitectura Memoria tipos de memoria RAM • RDRAM (Rambus DRAM) • bastante rápida • gran ancho de banda • muy buena para gráficos • NINTENDO 64 • DDR SDRAM (Double Data Rate SDRAM) • mas rápida que la SDRAM • consume menos voltaje. • SGRAM (Synchronous Graphic RAM) uso en tarjetas gráficas historia arquitectura de una computadora sistemas de numeración arquitectura Memoria tipos de memoria ROM • ROM (Read Only Memory) • memoria de semiconductor no destructible (no se puede escribir sobre ella) • también memoria no volátil • almacena la configuración del sistema o el programa de arranque de la computadora • EPROM (Erasable Programmable Read-Only Memory) • correge errores de última hora en la ROM • usuario no la puede modificar • borrada por exposición a luz ultravioleta historia arquitectura de una computadora sistemas de numeración arquitectura Memoria tipos de memoria ROM • EEPROM (Electrically Erasable Programmable Read-Only Memory) • se puede borrar y volver a programar por medio de una carga eléctrica • cambios de un byte de información a la vez • MEMORIA FLASH • tipo de memoria EEPROM, • ROM-BIOS • USB keys o memory cards historia arquitectura de una computadora sistemas de numeración arquitectura Memoria estado • memoria • datos individuales • instrucciones • operacionalmente • locaciones con nombres unicos • cada uno identificado con una variable del programa historia arquitectura de una computadora arquitectura Memoria operaciones en la memoria • aritmeticas + - / • relacionales (logicas) - comparaciones • movimiento (asignación) • control - variación de secuencia de pasos - sistemas de numeración historia arquitectura de una computadora sistemas de numeración sistemas de numeración historia arquitectura de una computadora sistemas de numeración sistema numerico conjunto de reglas y simbolos que se utilizan para representar datos numéricos sistema numerico debe permitir formar todos los numeros validos en el sistema historia arquitectura de una computadora sistemas de numeración posicionales el valor de los símbolos que componen el sistema depende del valor que se les ha asignado y de la posición que ocupan en el número no posicionales el valor de los símbolos que componen el sistema es fijo y no depende de la posición del símbolo dentro del número historia arquitectura de una computadora sistemas de numeración valor el valor de un símbolo depende tanto del símbolo utilizado como de la posición que este ocupa en el número base número de símbolos permitidos en un sistema numerico posicional historia arquitectura de una computadora sistema númerico decimal • 8 • 9 • 10 • 99 • 100 • 129 sistemas de numeración historia arquitectura de una computadora sistemas de numeración teorema fundamental de la numeración N = dn ...d1 d0 , d−1 d−2 d−3 ...d−k = dn · bn + ... + d1 · b 1 + d0 · b 0 , +d−1 · b −1 ... + d−k · b −k P N = ni=−k di · b i b: base, numero de simbolos d: simbolo cualquiera n: no de símbolos de la parte entera k: no de símbolos de la parte decimal historia arquitectura de una computadora sistemas de numeración sistema decimal de numeración N = dn ...d1 d0 , d−1 d−2 d−3 ...d−k = dn · 10n + ... + d1 · 101 + d0 · 100 , +d−1 · 10−1 ... + d−k · 10−k P N = ni=−k di · 10i historia arquitectura de una computadora sistemas de numeración sistema decimal de numeración 1492, 36 = 1 · 103 + 4 · 102 + 9 · 101 + 2 · 100 , +3 · 10−1 + 6 · 10−2 historia arquitectura de una computadora sistemas de numeración sistema binario de numeración N = dn ...d1 d0 , d−1 d−2 d−3 ...d−k = dn · 2n + ... + d1 · 21 + d0 · 20 , +d−1 · 2−1 ... + d−k · 2−k P N = ni=−k di · 2i historia arquitectura de una computadora sistemas de numeración sistema binario de numeración 1001, 01 = 1 · 23 + ... + 0 · 22 + 0 · 21 + 1 · 20 , +0 · 2−1 + 1 · 2−2 historia arquitectura de una computadora sistemas de numeración sistema númerico decimal • 25 = 32 • 2−1 = 0,5 • 24 = 16 • 2−2 = 0,25 • 23 = 8 • 2−3 = 0,125 • 22 = 4 • 2−4 = 0,0625 • 21 = 2 • 2−5 = 0,03125 • 20 = 1 historia arquitectura de una computadora sistemas de numeración sistema binario de numeración 1001, 01 = 1· 23 +0· 22 + 0 · 21 + 1 · 20 , +0 · 2−1 + 1 · 2−2 1 · 8 + 0 · 4 + 0 · 2 + 1 · 1, +0 · 0,5 + 1 · 0,25 8 + 0 + 0 + 1 + 0,5 + 0,25 = 9,75 historia arquitectura de una computadora decimal a binario • 34/2 = 17 resta 0 • 17/2 = 8 resta 1 • 8/2 = 4 resta 0 • 4/2 = 2 resta 0 • 2/2 = 1 resta 0 • 1/2 = 0 resta 1 3410 = 1000102 sistemas de numeración historia arquitectura de una computadora sistemas de numeración decimal a binario • 0,828125x2 = 1,656250 • 0,656250x2 = 1,31250 • 0,31250x2 = 0,6250 • 0,6250x2 = 1,250 • 0,250x2 = 0,50 • 0,50x2 = 1,0 0,82812510 = 0,1101012 historia arquitectura de una computadora equivalencias decimal 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 hexadecimal 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F octal 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 sistemas de numeración