Download 01a - La computadora linea de tiempo 4829KB Mar 14 2017 05
Document related concepts
no text concepts found
Transcript
Sistemas Digitales La computadora: Su nacimiento, evolución y principales prestaciones 1821: La Máquina Diferencial Charles Babbage (1791-1871) crea la máquina diferencial Máquina Diferencial (1991) 1833-1842: La Máquina Analítica En este período Babbage construye la máquina analítica. La primera computadora. Incluía también un dispositivo de impresión 1939-1944: Harvard Mark I Conceptualmente similar a la máquina de Babbage Se construyó en el North Street Laboratory de IBM, en Endicott, Nueva York. El director del proyecto fue Howard Aiken Harvard Mark I Largo: 15.5 metros Alto: 2.40 metros Ancho: 60 centímetros Peso: 5 toneladas. Electromecánica, con 750,000 piezas distintas Muy ruidosa: "sonaba como un salón lleno de mujeres tejiendo” Harvard Mark I 1957: “Los Ocho Traidores” De izquierda a derecha, Gordon Moore (famoso por enunciar la "Ley de Moore"), Sheldon Roberts, Eugene Kleiner, Robert Noyce (uno de los inventores del primer circuito integrado o "microchip"), Víctor Grinich, Julius Blank, Jean Hoerni y Jay Last. Así llamó el director del Laboratorio de Shockley Semiconductor a los investigadores que, en 1957, dejaron su trabajo para formar la Fairchild Semiconductor. Historia de Intel 1968: Gordon Moore, Robert Noyce y el financista Arthur Rock fundan "M&N Electronics“ Capital inicial: 2M de dólares, ventas del primer año: 3.000 dólares. 1970: se convierten en INTEL La empresa japonesa Busicom los contrata para fabricar 12 conjuntos de chips para sus calculadoras. Ted Hoff de INTEL propone usar un solo chip programable. Busicom acepta. Nace el 4004, diseñado por Federico Faggin de INTEL. Busicom le paga a INTEL U$S 60.000 por los derechos. INTEL recapacita y le pide a Busicom devolver los U$S. Busicom acepta y recupera su dinero. INTEL se convierte en una empresa de nivel internacional. 1971: El Intel 4004 Primer microprocesador Reloj 740Khz. 0.07 MIPS (Millones de instr. Por segundo) Bus de 4 Bits (Datos y direcciones multiplexados) 2300 transistores PMOS de 10μm 640 bytes de memoria direccionable, 4Kb de programa Intel 4004 Familia de Procesadores Chip Fecha Mhz Transistores Memoria 4004 1971 0.108 2300 640 Primer procesador 8008 1972 0.108 3500 16Kb 1er procesador 8bit 8080 1974 2 6000 64Kb 1er proc. Uso General 8086 1978 5-10 29000 1Mb 1er procesador 16bit 8088 1979 5-8 29000 1Mb Usado en la IBM PC 80286 1982 8-12 134000 16Mb Protección Memoria 80386 1985 16-33 275000 4Gb 1er procesador 32bit 80486 1989 25-100 1.2M 4Gb Caché, FPU Pentium 1993 60-233 3.1M 4Gb 2 Pipelines, MMX Pentium II 1997 233-400 7.5M 4Gb Pentium Pro + MMX Pentium 3 1999 450-1.4G 9.5M a 28.1M 4 a 64Gb Notas SSE, XBOX Familia de Procesadores Chip Fecha Mhz Transistores Memoria Pentium 4 2000 1.4 a 3.4G Pentium 4 2005 2.8 a 3.8G 125M 64Gb NetBurst IA64 Pentium D 2005 2.6 a 3.2G 230M 64Gb 1er Doble Núcleo Core 2006 2.3 a 3G 152M a 731M 64Gb Core 2 2006 2 a 3.2G 192M 64Gb 2x, 4x núcleos, SSE4 Core I 1G 2008 2.8 a 3.6G 781M 64Gb Turbo, HT, SSE4.2 Core I 2G 2011 Hasta 4G 1160M 64Gb Sandy Bridge, HD Graphics Core I 3G 2012 Hasta 4G 1400M 64G Ivy Bridge Core I 4G 2013 2.2 a 4.2G 2600M 64G Haswell Core I 5G 2014 2.8 a 3.7G 7200M 64G Broadwell Core I 6G 2015 2.2 a 4.2G ? 64G 42M 4 a 64Gb Notas NetBurst, HT, SSE2 basado en P-M (III), SSE3 Skylake, <W10 Ley de Moore Ley de Moore Antes de la PC 1975: Altair 8800 (Micro 8080). U$S 397 Antes de la PC Commodore Pet (1977) y Commodore 64 (1982) a 595 U$S. Ambas con micro 6502 Antes de la PC Tandy Radio Shack TRS-80.(1977) 599 U$S Procesador Zilog Z80. 4Kb a 16Kb RAM. Antes de la PC Apple II (1977). uP 6502. 1298 U$S con 4Kb RAM y 2638 U$S con 48Kb Ejecución de instrucciones Pasos del ciclo "búsqueda-decodificación ejecución": – – – 1. Buscar la siguiente instrucción de la memoria y colocarla en el registro de instrucciones 2. Modificar el contenido del contador de programa (PC) para que apunte a la siguiente instrucción 3. Determinar el tipo de instrucción que se trajo Ejecución de instrucciones – – – – 4. Si la instrucción utiliza una palabra de la memoria, determinar dónde está 5. Buscar la palabra, si es necesario, y colocarla en un registro de la CPU 6. Ejecutar la instrucción 7. Volver al paso 1 para comenzar a ejecutar la siguiente instrucción La trayectoria de datos (I) La trayectoria de datos (I) Una máquina Von Neuman típica tiene: un solo bus de datos un solo bus de direcciones y un único espacio de memoria que contiene los datos y las instrucciones La trayectoria de datos (II) Máquina Harvard La trayectoria de datos (II) En una máquina Harvard típica hay: espacios de memoria independientes para las instrucciones y los datos; buses de datos y dirección duplicados y líneas de control independientes Orden de datos en RAM (I) Orden de datos en RAM (I) Orden de datos en RAM (II) Paralelismo a nivel de instrucciones: Pipeline (Fila de procesamiento) Pipeline de 5 etapas en el μP Intel 486 Paralelismo a nivel de instrucciones: Pipeline (Fila de procesamiento) Estado del pipeline para 9 ciclos de reloj “Pipeligning” - Definición El proceso de pipelining de instrucciones es una técnica de implementación de la CPU, que permite solapar múltiples operaciones sobre un cierto número de instrucciones. Un esquema pipeline de ejecución de instrucciones involucra cierto número de pasos, donde en cada paso se completa una parte de una instrucción. Cada paso se denomina una etapa pipeline o un segmento pipeline. Las etapas o pasos están conectados en forma lineal: una etapa pasa a la siguiente para formar el pipeline – las instrucciones entran por un extremo, progresan a través de las etapas y salen por el otro extremo -. El tiempo para avanzar una instrucción un paso a lo largo del pipeline es igual al ciclo de máquina y es determinado por la etapa con mayor retardo de procesamiento. Ejemplo del lavadero Cuatro clientes A,B, C, D tienen cada uno una carga de ropa para lavar, secar y plegar. El lavado tarda 30 minutos El secado tarda 40 minutos El plegado tarda 20 minutos Lavado secuencial • Lavado secuencial: 6 horas para 4 cargas • Si el dueño aplicara pipelining, ¿cuánto tiempo demandaría el lavado? Lavadero con “pipeline” • El lavado Pipeline toma 3,5 horas p/4 cargas • Incremento de velocidad = 6/3,5 = 1,7 !!! Lavadero con “pipeline” Conclusiones: El esquema Pipeline no mejora la latencia de cada tarea individual, sino la tasa de performance ó “throughput” de la carga de trabajo completa. La tasa de performance está limitada por la etapa más lenta del pipeline. Dado que hay múltiples tareas operando simultáneamente => Incremento potencial de velocidad = Número de etapas en el pipeline Las longitudes desbalanceadas de las distintas etapas reducen el incremento. El tiempo necesario para “llenar” y “vaciar” el pipeline reduce el incremento total de velocidad. Pipeline: El Pentium I de INTEL Pipeline dual de 5 etapas con una unidad de búsqueda común La arquitectura “Superescalar” μP Pentium II con 5 unidades de ejecución Paralelismo a nivel de μP Multiprocesadores y Multicomputadoras El “Set” de instrucciones μP 6800: 72 instrucciones => 197 Códigos de Operación μP Z80: 158 instrucciones => 693 Códigos de Operación Los Registros de la CPU (I) Los Registros de la CPU(II)