Você está na página 1de 10

ArquitecturadeComputadores

Clase07:Rendimiento
DepartamentodeIngenieradeSistemas
UniversidaddeAntioquia
U i
id dd A i
i
20112

Arquitectura de Computadores (2011-2)

Medidadelrendimiento
f

Desdeelpuntodevistadelcomprador
h

Dadounconjuntodecomputadores,cultiene:

Desdelaperspectivadeldiseador
h

Antevariasalternativasdediseo,culrepresenta:

Elmejorrendimiento
Elmenorcosto
Lamejorrelacincosto/rendimiento

Lamejoraderendimientomsimportante
Elmenorcosto
Lamejorrelacincosto/rendimiento

E b
Enamboscasossonnecesarios

i
Unareferenciaparalacomparacin
h Unamedidaparalaevaluacin
h

Nuestroobjetivoesconocerculessonlosefectosysuimportanciade
diferentesfactoresdelaarquitecturasobreelrendimientoglobaldelsistema(y
elcosto)
2

Arquitectura de Computadores (2011-2)

Definicinderendimiento

Airbus A310

Airbus A310

Boeing 777

Boeing 777

Boeing 747

Boeing 747

BAC/Sud Concorde

BAC/Sud Concorde
Douglas DC-8-50

Douglas DC-8-50
0

100 200 300 400 500


Passenger Capacity

Airbus A310

Airbus A310

Boeing 777

Boeing 777

Boeing 747

Boeing 747

BAC/Sud Concorde

BAC/Sud Concorde

Douglas DC-8-50

2000 4000 6000 8000 1E+


04
Cruising Range (miles)

Douglas DC-8-50
0

500

1000

1500

Cruising Speed (mph)

100000 200000 300000 400000

Passengers x mph

Arquitectura de Computadores (2011-2)

Tiempoderespuestaythroughput
f

Tiempoderespuesta
Tiempotranscurridodesdeeliniciodeunatareahastasuculminacin(tiempo
deejecucin)
h

Throughput
Cantidadtotaldetrabajohechaenuntiempodeterminado(anchodebanda)
h

Importanteparalosusuariosindividuales

Importanteparalosencargadosdedatacenters

Senecesitandiferentesmedidasderendimientoyconjuntosdeaplicaciones
S

it dif
t did d di i t j t d li i

paraevaluarloscomputadoresembebidosydeescritorio,loscualesestn
enfocadoseneltiempoderespuesta,ylosservidores,loscualesseenfocanen
elthroughput

Arquitectura de Computadores (2011-2)

Rendimientoytiempodeejecucin
f

Paramaximizarelrendimiento,esnecesariominimizareltiempodeejecucin
Rendimiento
e d e toX =1/Tiempo
/ e po_de_ejecuc
de ejecucin
X

SiXesn vecesmsrpidoqueY,entonces:
RendimientoX
Tiempo_de_ejecucinY
=
=n
RendimientoY
Tiempo_de_ejecucinX

Arquitectura de Computadores (2011-2)

Medicindeltiempodeejecucin
f

Eltiempoeslaunidaddemedidaporexcelenciadelrendimientodeun
computador
h

Elcomputadorquerealicelamismacantidaddetrabajoenelmenortiempoesel
msrpido

Tiempotranscurrido(tiempoderespuesta)
h

Tiempototalparacompletarunatarea,incluyendotodoslosaspectosinvolucrados

Determinaelrendimientodelsistema

Procesamiento,accesoamemoria,I/O,sistemaoperativo(SO),inactividad

LaCPUesunrecursocompartido
h

TiempodeCPU

TiempoconsumidoporlaCPUenelprocesamientodeuntrabajodado
DescontandotiempoI/O,tiempodedicadoaotrostrabajos
ComprendeeltiempodeCPUdelprogramadeusuarioyeltiempodeCPUdelSO
RendimientodelaCPU TiempodeCPUdeusuario

Arquitectura de Computadores (2011-2)

Tasadereloj
f

Casitodosloscomputadoresempleanunrelojconunafrecuenciaconstante
quegobiernalaoperacindelhardwaredigital
Clock period
Clock (cycles)
Data transfer
and computation
Update state

Periododereloj:duracindeunciclodereloj
h

Ej:500ps =0.5ns =5001012 s

Frecuenciadereloj(tasadereloj):ciclosporsegundo
Inversodelperiododereloj
h Ej:2.0GHz=2000MHz=2.0109Hz
h

Arquitectura de Computadores (2011-2)

TiempodeCPU
f

Tiempoconsumidoenlaejecucindeunaaplicacindeterminada:

CPU Time = CPU Clock Cycles Clock Cycle Time


=
f

CPU Clock Cycles


Clock Rate

Elrendimientosepuedemejorar:
Reduciendoelnmerodeciclosderelojnecesariosparaejecutarlaaplicacin
Reduciendoeltiempodeciclodereloj(incrementandolafrecuenciadereloj)
h Eldiseadordehardwarenormalmenteestableceuncompromisoentreelnmero
deciclosderelojnecesariosparaejecutarunprogramaylafrecuenciadereloj
h
h

Muchastcnicasquereducenelnmerodeciclosderelojtambinincrementaneltiempo
deciclo
Ej:diseandoinstruccionesmscomplejasparaejecutarelmismoprogramaperoque
tomanmstiempoenejecutarse

Arquitectura de Computadores (2011-2)

TiempodeCPU(Ejemplo)
f

UncomputadorA,conunafrecuenciaderelojde1.3GHz,ejecutaunprograma
en2segundos.OtrocomputadorBejecutaelmismoprogramaen1.6
segundos,perorequiere1.8vecesmsciclosderelojqueelcomputadorApara
hacerlo.CuleslafrecuenciaderelojdelcomputadorB?

Arquitectura de Computadores (2011-2)

Nmerodeinstruccionesyciclosporinstruccin
f

Eltiempodeejecucindependedelnmerodeinstruccionesenelprograma:
CPU Clock Cycles = Instruction Count Cycles per Instruction
CPU Time = IC CPI Clock Cycle Time
=

IC CPI
Clock Rate

Ecuacinderendimiento
f

Instruction count (IC):Nmerodeinstruccionesejecutadasporunprograma

Cycles perinstruction (CPI):Nmeromediodeciclosporinstruccin

f
f

Dependedelprograma,laISAyelcompilador
p
p g
,
y
p
Nmeromediodeciclosderelojquetomacadainstruccinparaejecutarse
f Aunquediferentesinstruccionespuedentomartiemposdiferentes
DependedelaISAyelhardwaredelaCPU
ElCPIestilparacomparardosimplementacionesdiferentesdelamismaISA
f Elconteodeinstruccionesparaunprogramaeselmismo
10

Arquitectura de Computadores (2011-2)

CPI(Ejemplo)
f

LoscomputadoresAyBimplementanlamismaISA.ElcomputadorAtieneun
tiempodeciclode250ps yunCPIde2.0paraunprogramadado.El
computadorBtieneuntiempodeciclode500ps yunCPIde1.2paraelmismo
programa Culcomputadoresmsrpidoyporcunto?
programa.Culcomputadoresmsrpidoyporcunto?

11

Arquitectura de Computadores (2011-2)

ConsideracionessobreelCPI
f

Sidiferentestiposdeinstruccionestomandiferentesciclosderelojpara
ejecutarse:
n

CPU Clock Cycles = (CPIi Instruction Count i )


i=1

CPIglobal:

CPU Clock Cycles n


Instruction Count i
= CPIi
CPI =

Instruction Count
Instruction Count
i=1
Frecuencia relativa
f

ElCPIglobaldependedelinstruction mix (unamedidadelafrecuenciarelativa


decadatipodeinstruccinenunoovariosprogramas)
12

Arquitectura de Computadores (2011-2)

ConsideracionessobreelCPI(Ejemplo)
f

Dossecuenciasalternativasdecdigocompiladoparauncomputadoren
particulartienenlassiguientescaractersticas:
Class

CPIforclass

ICinsequence1

ICinsequence2

Hardware
Compilador

Culsecuenciadecdigoejecutaelmayornmerodeinstrucciones?Cules
msrpida?CuleselCPIglobalparacadasecuencia?

13

Arquitectura de Computadores (2011-2)

Comentariossobreelejemploanterior
f

Cuandosecomparandoscomputadoresesnecesarioobservarlostres
componentesquecombinadosayudanadeterminareltiempodeejecucin:
Nmerodeinstruccionesejecutadas
h CPI
h Tiempodeciclodereloj
h

Sialgunodelosfactoresesigual(comoeltiempodecicloenelejemplo
anterior)elrendimientosedeterminacomparandolosdemsfactores
h

ComoelCPIvaraconelinstruction mix,sedebencomparartantoelCPIcomoel
nmerodeinstrucciones,ancuandoeltiempodecicloseaelmismo

Casitodaslasopcionespropuestasparasustituirelusodeltiempocomo
medidaderendimientohanllevadoa:
Afirmacionesengaosas
h Resultadosdistorsionados
h Interpretacionesincorrectas
h

14

Arquitectura de Computadores (2011-2)

Resumensobrerendimiento
CPU Time =

Instructions Clock cycles Seconds

Program
Instruction Clock cycle

Elrendimientodeunprogramadependedelalgoritmo,ellenguaje,elcompilador,la
arquitectura,elhardwareylatecnologadefabricacin.Elefectodecadaunodeestos
aspectosenlosfactoresdelaecuacinderendimientoes:

Algoritmo:
Lenguajedeprogramacin:
Compilador:
p
ISA:
Organizacindelprocesador:
Tecnologa:

afectaelIC,posiblementeelCPI
afectaelIC yelCPI
afectaelIC yyelCPI
afectaelIC,elCPI yeltiempodeciclo
afectaelCPI yeltiempodeciclo
afectaeltiempodeciclo

15

Arquitectura de Computadores (2011-2)

Speedup
f

Elspeedup indicaqutantomsrpidaesunamquinadespusdeintroducir
algunamejoraenella,conrespectoalaversinoriginal:

Speedup =

Performanc e after enhancemen t


Performanc e without enhancemen t

Execution time without enhacement


Execution time after enhacement

16

Arquitectura de Computadores (2011-2)

Speedup (Ejemplo)
Instruction

Freq.

CPIi

FreqxCPIi

ALU

50%

0.5

0.5

Load

20%

10
1.0

04
0.4

Store

10%

0.3

0.3

Branch

20%

0.4

0.4

2.2

1.6

=
f

FreqxCPIi new

Qu tanto ms rpida sera lamquina si eltiempo medio decarga dedatos se


redujera a2ciclos?
CPUtimenew=1.6 xICxCT 2.2 /1.6 significa 37.5%ms rpida

17

Arquitectura de Computadores (2011-2)

Speedup (Ejemplo)
Instruction

Freq.

CPIi

FreqxCPIi

50%

0.5

0.5

Load

20%

10
1.0

10
1.0

Store

10%

0.3

0.3

Branch

20%

0.4

0.2

2.2

2.0

=
f

FreqxCPIi new

ALU

Qutantomsrpidaseralamquinasilogrramosqueelprocesamientode
unsaltotomeslounciclodereloj?
CPUtimenew=2.0 xICxCT 2.2 /2.0 significa 10%ms rpida

18

Arquitectura de Computadores (2011-2)

Speedup (Ejemplo)
Instruction

Freq.

CPIi

FreqxCPIi

ALU

50%

0.5

0.25

Load

20%

10
1.0

10
1.0

Store

10%

0.3

0.3

Branch

20%

0.4

0.4

2.2

1.95

=
f

FreqxCPIi new

QutantomsrpidaseralamquinasidosinstruccionesALUseejecutarana
lavez?
CPUtimenew=1.95 xICxCT 2.2 /1.95 significa 12.8%ms rpida

19

Arquitectura de Computadores (2011-2)

Lecturasrecomendadas
Computer organization anddesign.The hardware/softwareinterface,4thed.,
Chapter 1.D.PattersonandJ.Hennessy.MorganKaufmann Publishers
f Computer architecture.Aquantitative approach,3rded.,Chapter 1.J.Hennessy
andD.Patterson.MorganKaufmann Publishers
f

20

10