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)