Professional Documents
Culture Documents
puede asumirse que (ciclos de reloj por programa) = (instrucciones por programa)?
NO: diferentes instrucciones tardan diferentes cantidades de tiempo:
La multiplicacin tarda ms ciclos que la suma
Operaciones en punto flotante tardan ms que operaciones en punto fijo
Instrucciones con acceso a memoria tardan ms que con acceso a registros
(tiempo de CPU) = (ciclos de reloj por programa) (tiempo de ciclo)
= (ciclos de reloj por programa) / (frecuencia de reloj)
14
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
tiempo (ciclos)
1
i
n
s
t
r
.
2
i
n
s
t
r
.
3
i
n
s
t
r
.
4
(ciclos de reloj por programa) = (instrucciones por programa) (ciclos promedio por instruccin)
Los ciclos promedio por instruccin (CPI) se calculan como una suma ponderada
del nmero de ciclos que tarda por separado cada tipo de instruccin
Operacin Frecuencia Ciclos CPI % tiempo
ALU 50% 1 .5 23%
Load 20% 5 1.0 45%
Store 10% 3 .3 14%
Branch 20% 2 .4 18%
2.2
15
estructura y tecnologa de estructura y tecnologa de computadores computadores
de quin dependen las instrucciones por programa?:
programadores / compiladores / arquitectura del repertorio de instrucciones
de quin depende el tiempo de ciclo?:
tecnologa / organizacin
de quin dependen los ciclos promedio por instruccin?:
organizacin / arquitectura del repertorio de instrucciones
(tiempo de CPU) = (instrucciones por programa) CPI (tiempo de ciclo)
ninguna de las variables por separado
es medida de rendimiento
3. medidas de rendimiento 3. medidas de rendimiento
El rendimiento se evala ejecutando programas reales
programas de juguete: 10~100 lneas de cdigo con resultado conocido
programas de prueba (benchmarks) sintticos: simulan la frecuencia de operaciones y
operandos de un abanico de programas reales
fragmentos de programas reales
programas tpicos con cargas de trabajo fijas
16
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
MIPS (Millones de instrucciones por segundo) MIPS (Millones de instrucciones por segundo)
MIPS = (instrucciones por programa) / (tiempo ejecucin 10
6
)
MIPS = (frecuencia de reloj) / (CPI 10
6
)
Problemas
Depende del repertorio de instrucciones
El tiempo que tarda en ejecutarse una misma instruccin y el n de instrucciones mquina
que genera el compilador puede variar de un repertorio a otro
Dos programas distintos pueden tener comportamientos opuestos
La medida de MIPS puede variar mucho de un programa a otro
Existen instrucciones que tardan ms tiempo en ejecutarse que otras
Los programas en los que abundan instrucciones rpidas tardan menos en ejecutarse
Los programas en los que abundan instrucciones lentas tardan ms en ejecutarse
Los fabricantes suelen dar medidas de MIPS muy optimistas
Utilizan programas donde predominan instrucciones que tardan poco en ejecutarse
Existen, adems, otras mtricas muy populares pero que pueden resultar engaosas por
no incluir todas las variables anteriormente estudiadas.
17
estructura y tecnologa de estructura y tecnologa de computadores computadores
MFLOPS (Millones de instrucciones en punto flotante por segundo) MFLOPS (Millones de instrucciones en punto flotante por segundo)
MFLOPS = (instrucciones en punto flotante por programa) / (tiempo ejecucin 10
6
)
Las instrucciones en punto flotante son las que ms tardan en ejecutarse
Son una medida algo ms fiable del rendimiento real del computador
Problemas
Depende del repertorio de instrucciones en punto flotante
No todos los computadores ofrecen las mismas operaciones en punto flotante
Dos programas distintos pueden tener comportamientos opuestos
Es intil para muchos programas
Los programas enteros (sin operaciones en punto flotante) no pueden medirse en MFLOPS
Existen instrucciones en punto flotante de distinto tiempo de ejecucin
Por ejemplo: suma, resta, ... son rpidas; divisin, seno, exponencial, ... Son lentas
Los fabricantes pueden dar tambin medidas de MFLOPS demasiado optimistas
Conclusin Conclusin
MIPS y MFLOPS son medidas parciales poco indicativas por si solas
3. medidas de rendimiento 3. medidas de rendimiento
18
estructura y tecnologa de estructura y tecnologa de computadores computadores
3. medidas de rendimiento 3. medidas de rendimiento
medio de
transporte
viaje desde
Madrid (h)
mejora
viaje
completo (h)
mejora
real
caminando 50 1 70 1
bicicleta 20 2.5 40 1.8
moto 4 12.5 24 2.9
coche 1.67 30 21.27 3.2
tren 0.33 150 20.33 3.4
Cuando se pretende mejorar el rendimiento, debe tenerse en cuenta que la mejora
de un aspecto de la mquina no incrementa el rendimiento global en una cantidad
proporcional al tamao de la mejora
se pretende viajar desde el Yelmo a Ciudad Real y el viaje se realiza en 2 fases: del
Yelmo a Madrid (20h caminando) y de Madrid a Ciudad Real (en otro medio de transporte)
Ley de Amdahl: El aumento del rendimiento global que se obtiene mejorando
algn aspecto de un sistema est limitado por la fraccin de tiempo en la que
dicho aspecto mejorado puede ser usado
(t.e. tras la mejora) = (t.e. no afectado) + (t.e. afectado / cantidad de la mejora)
...hacer comn el caso rpido o acelerar el caso comn
19
estructura y tecnologa de estructura y tecnologa de computadores computadores
Generaciones de computadores Generaciones de computadores
1 Generacin (1946-1957) 1 Generacin (1946-1957)
ENIAC (1946)
Primer computador de propsito especial
Peso: 30 toneladas; Superficie: 1.400 m
2
; Consumo: 140 KW
Potencia clculo: 5000 sumas/seg
Difcil de programar. Mediante conmutadores y cables
Primeros computadores comerciales (Aos 50)
UNIVAC I y II (Eckert & Mauchly)
IBM Serie 700
Programacin en lenguaje mquina
4. perspectiva histrica 4. perspectiva histrica
Generacin Fechas Caractersticas Tecnolg. Potencia de clculo
Primera 1946-1957 Vlvula de vaco 0,04 MIPS
Segunda 1958-1964 Transistores 0,2 MIPS
Tercera 1965-1971 Circuitos integrados 1 MIPS
Cuarta 1972-1988 Microprocesador 10 MIPS
Quinta 1988- Sistema basados en micro > 100 MIPS
20
estructura y tecnologa de estructura y tecnologa de computadores computadores
2 Generacin (1958 - 1964) 2 Generacin (1958 - 1964)
El transistor
Inventado por los laboratorios Bell en 1947
Ms pequeos, baratos y menor consumo que las vlvulas de vaco
Computadores de menor coste y tamao, ms fiables mayores prestaciones
Principales computadores comerciales
DEC PDP-1
IBM Serie 7000
UNIVAC 1100
Otras innovaciones
Programacin en lenguajes de alto nivel (Fortran, Cobol, ...)
Canales de E/S
Memoria virtual
Interrupciones para la E/S
4. perspectiva histrica 4. perspectiva histrica
21
estructura y tecnologa de estructura y tecnologa de computadores computadores
3 Generacin (1965 - 1971) 3 Generacin (1965 - 1971)
El circuito integrado (CI)
Integracin de mltiples componentes (transistores, resistencias, condensadores, .. )
en un mismo CI de silicio
Reduce enormemente el tiempo de fabricacin, el tamao y el coste del computador
Aumenta an ms la fiabilidad y las prestaciones
Principales computadores comerciales
DEC PDP-8
IBM Series 360 y 370
UNIVAC 1108
CDC series 6600, 7800 y Cyber
Otras innovaciones
Microprogramacin
Interrupciones con prioridades
Memoria cache
Controladores DMA
Nuevos lenguajes de programacin (Basic, APL, Pascal)
Sistemas operativos robustos (MVS de IBM, VMS de DEC)
4. perspectiva histrica 4. perspectiva histrica
22
estructura y tecnologa de estructura y tecnologa de computadores computadores
4 Generacin (1972 - 1988) 4 Generacin (1972 - 1988)
El microprocesador
Aumento constante en escala de integracin (LSI, VLSI): se duplica cada ao
La escala LSI permite integrar todos los componentes de un procesador en un mismo chip
Nace el MICROPROCESADOR
Primer microprocesador: intel 4004 (procesador de 4 bits, 1971)
Aparece el computador personal (IBM/PC)
Microsoft desarrolla el primer sistema operativo: MS-DOS
Principales procesadores de esta generacin
De 8 bits: intel 8008, 8080; Motorola 6502, 6800
De 16 bits (ao 78): intel 8086, 80286; Motorola 68000, 68010
De 32 bits (aos 85): intel 80386; Motorola 68020, 68030
Surge el procesador con conjunto reducido de instrucciones (RISC)
MIPS R2000 (32 bits, ao 1986)
Supercomputadores vectoriales y paralelos
Basados en tecnologa ECL
Muy caros de fabricar y mantener
Cray, NEC, Hitachi, Fujitsu
Aparecen las redes de computadores
i4004
4. perspectiva histrica 4. perspectiva histrica
23
estructura y tecnologa de estructura y tecnologa de computadores computadores
5 Generacin (1988 - ...) 5 Generacin (1988 - ...)
Sistemas basados en microprocesador
Contina crecimiento en la escala de integracin:
Ms de 15 millones de transistores por chip
Se abaratan los precios de los microprocesadores y aumentan sus prestaciones
Aparece el procesador superescalar, capaz de lanzar varias instrucciones por ciclo de reloj
La increble relacin coste-prestaciones del microprocesador hace de ste el elemento bsico de:
Computadores personales
PC (i486, Pentium, Pentium II)
Machintosh (Motorola 68030, 40, PowerPC)
Estaciones de trabajo (Work-Stations)
Sun (SuperSparc, UltraSparc I, UltraSparc II)
DEC (Alpha 21064, 21164, 21264)
Silicon Graphics (MIPS R4000, R5000, R8000, R10000)
IBM (RS/6000)
Supercomputadores paralelos basados en microprocesadores
Multicomputadores de de memoria distribuida (Cray T3E, IBM SP2)
Multiprocesadores de memoria compartida (SG Origin 2000, Sun SparcServer, HP
PA8000)
4. perspectiva histrica 4. perspectiva histrica