You are on page 1of 47

Tecnologa y

Abstraccin
Computacional
Chapter 1 Computer Abstractions and Technology 2
La revolucin Computacional
Progreso en la tecnologa computacional
Impulsada por la Ley de Moore
Hace que las aplicaciones novedosas sean
posibles.
Computadoras en automviles
Telfonos Inteligentes
El proyecto de Genoma Humano
World Wide Web
Motor de Bsqueda
Las computadoras son pervasivas

1
.
1

I
n
t
r
o
d
u
c
t
i
o
n

Chapter 1 Computer Abstractions and Technology 3
Clases de Computadoras
Computadoras de Escritorio
Propsito general, variedad de software
Objeto de un balance entre el desempeo y el costo
Servidores
Basados en Red
Alta capacidad, desempeo y fiabilidad
Van de servidores pequeos a tamao de un edificio
Embedded computers
Ocultas como un componente del sistema
Restricciones rigurosas de potencia/desempeo/costo
Chapter 1 Computer Abstractions and Technology 4
El mercado de los procesadores
Chapter 1 Computer Abstractions and Technology 5
Que aprenderan
La interfaz hardware/software
Como determinar el desempeo del programa
y como puede ser mejorado
Como el los diseadores de hardware mejoran
el desempeo
Diseo de sistemas embebidos basados en
microcontrolador
Interrupciones y adquisicin de seales
analgicas
Comunicaciones por estndares bsicos
seriales y paralelos
Chapter 1 Computer Abstractions and Technology 6
Entendiendo el Desempeo
Algoritmo
Determina el numero de operaciones ha ejecutar
Lenguaje de Programacin, compilador,
arquitectura
Determina el numero de instrucciones de maquina
ejecutadas por operacin
Procesador y sistema de memoria
Determina que tan rpido se ejecutan las
instrucciones
Sistemas de E/S (incluyendo el Sistema Operativo)
Determina que tan rpido se ejecutan las operaciones
de E/S
Chapter 1 Computer Abstractions and Technology 7
Debajo de tu programa
Software de Aplicacin
Escrito en lenguajes de alto-nivel
Software de sistema
Compilador: traduce el codigo del lenguaje
de alto nivel al codigo de maquina.
Sistema Operativo: Codigo de Servicio
Manejando Entrada/Salids
Administrando la memoria y
almacenamiento
Programando tareas y comparticin de
recursosresources
Hardware
Procesador, memoria, controladores I/O

1
.
2

B
e
l
o
w

Y
o
u
r

P
r
o
g
r
a
m

Chapter 1 Computer Abstractions and Technology 8
Niveles de cdigo de programa
Lenguajes de Alto Nivel
Nivel de abstraccin prximo al
nivel del problema
Proporciona portabilidad y
productividad
Lenguaje ensamblador
Representacin textual de
instrucciones
Representacin en Hardware
Dgitos Binarios(bits)
Codificacin de instrucciones y
datos
Chapter 1 Computer Abstractions and Technology 9
Componentes de una Computadora
Son los mismos componentes
para todos los tipos de
computadoras
Desktop, server,
embedded
Entrada/Salida incluye
Dispositivos de interfaz-usuario
Display, keyboard, mouse
Dispositivos de almacenamiento
Hard disk, CD/DVD, flash
Adaptadores de Red
Para comunicacin con otras
computadoras

1
.
3

U
n
d
e
r

t
h
e

C
o
v
e
r
s

The BIG Picture
Chapter 1 Computer Abstractions and Technology 10
Anatoma de una Computadora
Output
device
Input
device
Input
device
Network
cable
Chapter 1 Computer Abstractions and Technology 11
Anatoma de un Mouse
Mouse ptico
LED ilumina el escritorio
Pequea cmara de baja
resolucin
Procesador de imgenes
bsico
Busca movimientos en x, y
Botones y rueda
Toma el lugar de los
mouse mecnicos con
rueda-giratoria (roller-ball)

Chapter 1 Computer Abstractions and Technology 12
Through the Looking Glass
LCD screen: picture elements (pixels)
Mirrors content of frame buffer memory
Chapter 1 Computer Abstractions and Technology 13
Opening the Box
Chapter 1 Computer Abstractions and Technology 14
Dentro del Procesador (CPU)
Datapath: desempea las operaciones
sobre los datos
Control: indica la secuencia de
operaciones en el datapath, memoria, ...
Memoria Cache
Pequea y rpida memoria SRAM para
acceso de datos inmediatos
Chapter 1 Computer Abstractions and Technology 15
Dentro del Procesador
AMD Barcelona: 4 processor cores
Chapter 1 Computer Abstractions and Technology 16
Abstracciones
Abstraccin nos ayuda a tratar con la
complejidad
Esconde los detalles de los niveles bajos
Arquitectura del conjunto de Instrucciones (ISA)
La interfaz entre hardware y software
Interfaz de Aplicacion binaria
ISA mas la interfaz del software de sistema
Implementacin
Los detalles de bajo nivel y la interfaz
The BIG Picture
Chapter 1 Computer Abstractions and Technology 17
Un lugar seguro para los datos
Memoria principal voltil
Pierde instrucciones y datos cuando se apaga
Memoria secundaria no-voltil
Magnetic disk
Flash memory
Optical disk (CDROM, DVD)
Chapter 1 Computer Abstractions and Technology 18
Networks
Comunicaciones y comparticin de recursos
Local area network (LAN): Ethernet
dentro de un edificio
Wide area network (WAN: the Internet
Wireless network: WiFi, Bluetooth
Chapter 1 Computer Abstractions and Technology 19
Technology Trends
La tecnologa
electrnica continua
evolucionando:
Incrementa el
desempeo
Incrementa capacidad
Disminuye costo

Ao Tecnologa
Relative
performance/cost
1951
Bulbos
1
1965
Transistores
35
1975
Circuitos Integrados
900
1995
Circuitos Integrados de Muy Alta Escala (VLSI)
2,400,000
2005
Circuitos Integrados de Ultra Alta Escala (ULSI)
6,200,000,000
DRAM capacity
Definiendo Desempeo
Chapter 1 Computer Abstractions and Technology 20
Chapter 1 Computer Abstractions and Technology 21
Definiendo Desempeo
Que avin tiene el mejor desempeo?
0 100 200 300 400 500
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passenger Capacity
0 2000 4000 6000 8000 10000
Douglas DC-
8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Range (miles)
0 500 1000 1500
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Speed (mph)
0 100000 200000 300000 400000
Douglas DC-
8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passengers x mph

1
.
4

P
e
r
f
o
r
m
a
n
c
e

Chapter 1 Computer Abstractions and Technology 22
Tiempo de respuesta y Throughput
Tiempo de Respuesta
Cuanto se tarda en realizar una tarea
Throughput
Trabajo total realizado por unidad de tiempo
e.g., tasks/transactions/ per hour
Como se ven afectados el tiempo de respuesta y
throughput por
Reemplazo de procesadores por versiones mas rpidas?
Sumando mas procesadores?
Nos enfocaremos en tiempo de respuesta por ahora
Chapter 1 Computer Abstractions and Technology 23
Desempeo Relativo
Desempeo = 1/ Tiempo de Ejecucin
X es n veces mas rapida que Y
n = =
X Y
Y X
Ejecucin de Tiempo Ejecucin de Tiempo
Desempeo Desempeo
Ejemplo: el tiempo que toma en ejecutarse un programa
es:
10s en A, 15s en B
Tiempo Ejecucin
B
/ Tiempo Ejecucin
A

= 15s / 10s = 1.5
Asi que A es 1.5 veces mas rapida que B
Chapter 1 Computer Abstractions and Technology 24
Midiendo el Tiempo de Ejecucin
Tiempo transcurrido
Tiempo de respuesta total, incluyendo todos los
aspectos:
Procesamiento, I/O, sobrecarga OS, tiempo de espera
Determina el desempeo del sistema
Tiempo de CPU
Tiempo gastado en procesamiento de una tarea dada
Descuenta el tiempo de E/S, comparticin con otros trabajos
Comprende el tiempo de CPU y el tiempo de Sistema
Diferentes programas son afectados de forma
diferente por el CPU y el desempeo del sistema
Chapter 1 Computer Abstractions and Technology 25
Reloj del CPU
Operacin del hardware digital es governada por
una razn de reloj constante
Reloj (ciclos)
Transferencia de
datos y computo
Estado de
actualizacin
Periodo reloj
Periodo de Reloj: duracin de un ciclo de reloj
e.g., 250ps = 0.25ns = 25010
12
s
Frecuencia de Reloj (razn): ciclos por segundo
e.g., 4.0GHz = 4000MHz = 4.010
9
Hz
Chapter 1 Computer Abstractions and Technology 26
Tiempo de CPU
El desempeo se mejora por medio de:
Reducir el numero de ciclos de reloj
Incrementar la frecuencia del reloj
Los diseadores de hardware debe ofrecer un
balance entre frecuencias de reloj y numero
de ciclos
Reloj del Razn
CPU de Reloj de Ciclos
Reloj Ciclo de Tiempo CPU de Reloj de Ciclos CPU de Tiempo
=
=
Chapter 1 Computer Abstractions and Technology 27
Ejemplo del Tiempo de CPU
Computadora A: reloj 2GHz, 10s tiempo de CPU
Disear Computadora B
Intentando llegar a 6s de tiempo de CPU
Se puede seleccionar un reloj mas rapido, pero causa 1.2 ciclos de
reloj
Que tan rapido debe ser el ciclo de reloj de la computadora B?
4GHz
6s
10 24
6s
10 20 1.2
Reloj Razn
10 20 2GHz 10s
Reloj Razn CPU Tiempo Reloj Ciclos
6s
Reloj Ciclos 1.2
CPU Tiempo
Reloj Ciclos
reloj de Razn
9 9
B
9
A A A
A
B
B
B
=

=

=
= =
=

= =
Chapter 1 Computer Abstractions and Technology 28
Numero de instrucciones y CPI
Numero de instrucciones de un programa
Determinada por el programa, ISA y el compilador
Numero de ciclos promedio por instruccin
Determinado por el hardware del CPU
Si instrucciones diferentes tienen diferente CPI
Promedio CPI debe ser afectado por la mezcla de
instrucciones
Reloj del Razn
CPI nes instruccio de Numero
Reloj Ciclo de Tiempo CPI nes instruccio de Numero CPU de Tiempo
n Instrucci por Ciclos nes instruccio de Numero reloj de Ciclos

=
=
=
Chapter 1 Computer Abstractions and Technology 29
Ejemplo CPI
Computer A: Cycle Time = 250ps, CPI = 2.0
Computer B: Cycle Time = 500ps, CPI = 1.2
Mismo ISA
Cual es mas rapida y por cuanto?
1.2
500ps I
600ps I
A
CPU Tiempo
B
CPU Tiempo
600ps I 500ps 1.2 I
B
ciclo Tiempo
B
CPI nes instruccio de No.
B
CPU Tiempo
500ps I 250ps 2.0 I
A
ciclo Tiempo
A
CPI nes instruccio de No.
A
CPU Tiempo
=

=
= =
=
= =
=
A is faster
by this much
Chapter 1 Computer Abstractions and Technology 30
CPI en Mas Detalle
Si diferentes clases de instrucciones
toman diferente numero de ciclos

=
=
n
1 i
i i
) nes instruccio de No. (CPI Reloj de Ciclos
Promedio ponderado CPI

=
|
.
|

\
|
= =
n
1 i
i
i
nes instruccio de No.
nes instruccio de No.
CPI
nes instruccio de No.
Reloj de Ciclos
CPI
Frecuencia Relativa
Chapter 1 Computer Abstractions and Technology 31
Ejemplo CPI
Secuencia de Codigo compilado alternativo
usando instrucciones en las clases A, B, C
Clases A B C
CPI por clase 1 2 3
No. de Inst. en secuencia 1 2 1 2
No. de Inst. en secuencia 2 4 1 1
Secuencia 1: IC = 5
Ciclos de Reloj
= 21 + 12 + 23
= 10
Avg. CPI = 10/5 = 2.0
Secuencia 2: IC = 6
Ciclos de Reloj
= 41 + 12 + 13
= 9
Avg. CPI = 9/6 = 1.5
Chapter 1 Computer Abstractions and Technology 32
Resumen del desempeo
Desempeo depende de:
Algoritmo: afecta el no. de instrucciones, y
posiblemente el CPI
Lenguaje de programacin: afecta el no. de
instrucciones, CPI
Compilador: afecta el no. de instrucciones, CPI
Arquitectura del Conjunto de Instrucciones: afecta el
no. de instrucciones, CPI, T
c
The BIG Picture
Reloj de Ciclo
Segundos
n Instruccio
Reloj de Ciclo
Programa
nes Instruccio
CPU de Tiempo =
Chapter 1 Computer Abstractions and Technology 33
Tendencia en Potencia
En la tecnologa de Circuitos integrados CMOS

1
.
5

T
h
e

P
o
w
e
r

W
a
l
l

Frecuencia Voltaje capacitiva Carga Potencia
2
=
1000 30 5V 1V
Chapter 1 Computer Abstractions and Technology 34
Reduciendo Potencia
Suponga que un nuevo CPU tiene
85% de carga capacitiva de un CPU viejo
15% voltaje y 15% reduccin de frecuencia
0.52 0.85
F V C
0.85 F 0.85) (V 0.85 C
P
P
4
old
2
old old
old
2
old old
old
new
= =


=
El muro de la potencia
No podemos reducir mas el voltaje
No podemos remover mas calor
De que otra manera podemos mejorar el
desempeo?
Chapter 1 Computer Abstractions and Technology 35
Desempeo del uniprocesador

1
.
6

T
h
e

S
e
a

C
h
a
n
g
e
:

T
h
e

S
w
i
t
c
h

t
o

M
u
l
t
i
p
r
o
c
e
s
s
o
r
s

Restringido por potencia, paralelismo al nivel de
instruccin, retardo de lectura de memoria
Chapter 1 Computer Abstractions and Technology 36
Multiprocesadores
Microprocesadores Multicore
Mas de un procesador por chip
Requiere explcitamente de programacin
paralela
Comparable con el paralelismo a nivel instruccin
Hardware ejecuta mltiples instrucciones al mismo tiempo
Oculta al programador
Es difcil realizarlo
Programar para mejorar el desempeo
Balancear la carga
Optimizar la comunicacin y la sincronizacin
Chapter 1 Computer Abstractions and Technology 37
Manufacturando Circuitos Integrados
Yield: proporcin de dados funcionales por
oblea

1
.
7

R
e
a
l

S
t
u
f
f
:

T
h
e

A
M
D

O
p
t
e
r
o
n

X
4

Chapter 1 Computer Abstractions and Technology 38
AMD Opteron X2 Wafer
X2: 300mm wafer, 117 chips, 90nm technology
X4: 45nm technology
Costo de los Circuitos Integrados
Relacin no-lineal entre el rea y la razn de defectos
Costo de oblea y el rea son cantidades fijas
La razn de defectos es determinada por el proceso de
manufactura
rea del dado es determinada por el diseo de la arquitectura y
el diseo de circuitos
39
2
Dado/2)) del Area area por (Defectos (1
1
Yield
Dado del Area Oblea la de Area oblea por Dados
Yield oblea por Dados
oblea por Costo
dado por Costo
+
=
~

=
Chapter 1 Computer Abstractions and Technology 40
SPEC CPU Benchmark
Programas usados para medir el desempeo
Supuestamente es una carga de trabajo actual tipica
Standard Performance Evaluation Corp (SPEC)
Desarrolla bancos de prueba para CPU, I/O, Web,
SPEC CPU2006
Tiempo transcurrido para ejecutar una seleccin de programas
Despreciable I/O, por lo que se enfoca en el desempeo del CPU
Normalizado en relacin a la maquina referencia
Se resume como la media geometrica de las razones de
desempeo
CINT2006 (integer) and CFP2006 (floating-point)
n
n
1 i
i
ejecucin de tiempo del Razon
[
=
Chapter 1 Computer Abstractions and Technology 41
CINT2006 for Opteron X4 2356
Name Description IC10
9
CPI Tc (ns) Exec time Ref time SPECratio
perl Interpreted string processing 2,118 0.75 0.40 637 9,777 15.3
bzip2 Block-sorting compression 2,389 0.85 0.40 817 9,650 11.8
gcc GNU C Compiler 1,050 1.72 0.47 24 8,050 11.1
mcf Combinatorial optimization 336 10.00 0.40 1,345 9,120 6.8
go Go game (AI) 1,658 1.09 0.40 721 10,490 14.6
hmmer Search gene sequence 2,783 0.80 0.40 890 9,330 10.5
sjeng Chess game (AI) 2,176 0.96 0.48 37 12,100 14.5
libquantum Quantum computer simulation 1,623 1.61 0.40 1,047 20,720 19.8
h264avc Video compression 3,102 0.80 0.40 993 22,130 22.3
omnetpp Discrete event simulation 587 2.94 0.40 690 6,250 9.1
astar Games/path finding 1,082 1.79 0.40 773 7,020 9.1
xalancbmk XML parsing 1,058 2.70 0.40 1,143 6,900 6.0
Geometric mean 11.7
High cache miss rates
Chapter 1 Computer Abstractions and Technology 42
SPEC Power Benchmark
El consumo de potencia del servidor a
diferentes niveles de carga de trabajo
Desempeo: ssj_ops/sec
Potencia: Watts (Joules/sec)
|
.
|

\
|
|
.
|

\
|
=

= =
10
0 i
i
10
0 i
i
potencia ssj_ops Watt por ssj_ops global
Chapter 1 Computer Abstractions and Technology 43
SPECpower_ssj2008 for X4
Target Load % Performance (ssj_ops/sec) Average Power (Watts)
100% 231,867 295
90% 211,282 286
80% 185,803 275
70% 163,427 265
60% 140,160 256
50% 118,324 246
40% 920,35 233
30% 70,500 222
20% 47,126 206
10% 23,066 180
0% 0 141
Overall sum 1,283,590 2,605
ssj_ops/ power 493
Chapter 1 Computer Abstractions and Technology 44
Pitfall: Amdahls Law
Mejorando un aspecto de una computadora y
esperando un mejoramiento proporcional en el
desempeo global

1
.
8

F
a
l
l
a
c
i
e
s

a
n
d

P
i
t
f
a
l
l
s

20
80
20 + =
n
No se puede realizar!
unaffected
affected
improved
T
factor t improvemen
T
T + =
Ejemplo: la multiplicacin toma 80s de 100s
Cuanto se debe mejorar el desempeo de la multiplicacin
para alcanzar una mejora global de 5X
Corolario: hacer el caso comn mas rpido
Chapter 1 Computer Abstractions and Technology 45
Falacia: Baja potencia en ciclos de espera
Look back at X4 power benchmark
At 100% load: 295W
At 50% load: 246W (83%)
At 10% load: 180W (61%)
Google data center
Mostly operates at 10% 50% load
At 100% load less than 1% of the time
Consider designing processors to make
power proportional to load
Chapter 1 Computer Abstractions and Technology 46
Pitfall: MIPS como Mtrica de Desempeo
MIPS: Millions of Instructions Per Second
Doesnt account for
Differences in ISAs between computers
Differences in complexity between instructions
6
6
6
10 CPI
rate Clock
10
rate Clock
CPI count n Instructio
count n Instructio
10 time Execution
count n Instructio
MIPS

=
CPI varies between programs on a given CPU
Chapter 1 Computer Abstractions and Technology 47
Concluding Remarks
Cost/performance is improving
Due to underlying technology development
Hierarchical layers of abstraction
In both hardware and software
Instruction set architecture
The hardware/software interface
Execution time: the best performance
measure
Power is a limiting factor
Use parallelism to improve performance

1
.
9

C
o
n
c
l
u
d
i
n
g

R
e
m
a
r
k
s

You might also like