Vous êtes sur la page 1sur 102

INTRODUCCIN AL PARALELISMO E

INCREMENTO DE PRESTACIONES
Tema 1

Integrantes:

Arce Tupacyupanqui, Paulo


Infantes Fernndez, Christian
Prado Bolaos, Vladimir
Quicaa Garay, Rousver
Ramrez Llerena, Nilton
Zavala Riveros, Vladimir

1.1. EL CONCEPTO DE ARQUITECTURA:


El Trmino Arquitectura
primera vez en 1964:

fue

usado

por

Es la estructura del computador que un


programador en lenguaje mquina debe
conocer para escribir un programa correcto
(independiente del tiempo)
Posteriormente el concepto de arquitectura
se ha ampliado a partir de describir al
computador como un conjunto de niveles de
abstraccin estructurados jerrquicamente.

1.1.1. Niveles de Descripcin de un Computador:


Con los aos, se propusieron estructuras
como:
Niveles conceptuales de Blaaw: son 3
niveles:
La Arquitectura : Define el comportamiento
funcional del computador.
La
Configuracin :
Organizacin
del
computador en funcin a transferencia
entre registros y flujos de informacin.
La Realizacin : Tecnologa de elementos
usados
para
implementar
una
configuracin.

Niveles estructurales de Bell y Newell:


Describen al computador
mediante una
aproximacin de
capas. Propusieron 5
niveles:
Componente
Electrnico
Digital
Transferencia entre registros (RT)
Procesador-memoria-interconexin(PMS)

Niveles de interpretacin de Levy:


El
computador
funcionalmente
est
constituido
por
mquinas
virtuales
superpuestas que interpretan instrucciones
de su nivel, ayudando a la mquina de nivel
superior y aprovechando la ayuda de la del
nivel inferior. Se distinguen:
Aplicaciones
Lenguaje de alto nivel
Sistema operativo
Instrucciones maquina
Microinstrucciones

Distribucin
de
Niveles
EstructuralFuncional:
Integra los niveles de Bell y Newell con los de
Levy y Tanenbaum.
Los elementos de un nivel se usan como
cajas negras en el nivel superior para el
estudio separado de cada nivel.
Se basa en que es posible una descripcin en
trminos de :
- La Estructura y Organizacin (arquitectura
concreta) definida por los componentes e
interconexiones adems de los flujos de
control y datos.
- Su Funcionamiento (arquitectura abstracta),
los recursos de un nivel son usados por
niveles superiores.

Nivel software superiores

Nivel de Sistema Operativo

Nivel de Sistema Computador

A
R
Q
U
I
T
E
C
T
U
R
A

S
O
F
T
W
A
R
E

Nivel RT

Nivel de Lgica Digital

Nivel de Circuito Electrnico

Nivel de componentes

T
E
C
N
O
L
O
G

H
A
R
D
W
A
R
E

Descripcin del Grfico:


Posible jerarqua
en niveles de abstraccin. Las
descripciones a continuacin son objeto de estudio
del nivel Inferior y se usan como componentes en el
Superior.
Primer Nivel (de Componentes): Uniones PN, Metales,
Polisilicio para construir Transistores, Resistencias,
Condensadores.
Segundo Nivel (de Circuito Electrnico): Puertas
Lgicas, Biestables, Osciladores.
Tercer Nivel (de Lgica Digital):Multiplexores, Circuitos
Aritmticos, Registros, Contadores, Memorias.
Cuarto Nivel (de Transferencia entre Registros o RT):
Procesadores, Interfaces de E/S, Chipsets.
Quinto Nivel (de Sistema Computador): Sistemas de
Cmputo,
Programas
en
Lenguaje
Mquina
y
Ensamblador.
Sexto Nivel (de Sistema Operativo): Interfaz entre
hardware y software (interfaz de transferencia de
datos), uso de recursos hardware y los programas por
el usuario.
Niveles Superiores (o Niveles Software): Ms alejados
de la mquina. Es el nivel de programas escritos en
lenguaje de Alto Nivel (Nivel de Compilador).

Aspectos a considerarse en cada Nivel de


Abstraccin:
En cada nivel se plantean problemas relativos
al Anlisis y Diseo de los Bloques
propios del nivel, utilizando criterios de
Eficiencia (Coste de Implementacin y
Prestaciones proporcionadas).
Deben considerarse los Procedimientos para
el
Anlisis
y
Diseo
disponibles,
Herramientas y Lenguajes de descripcin
formales usados (Ejm: Verilog o VHDL), los
Procedimientos
de
Comprobacin
de
Funcionamiento Correcto.

Aspectos a considerarse en cada Nivel de Abstraccin


( Arquitectura Abstracta, Arquitectura Concreta, Diseo y
Eficiencia)

La Descripcin de niveles presentada


corresponde a un computador de Flujo o de
Control (Von Neumann).
Un Modelo Computacional diferente puede
considerar una estructura de niveles de
abstraccin distinta: la forma de programar
un computador puede diferir al no existir un
nivel RT ya que en vez de esto la
implementacin es Analgica (Descripcin
Tridimensional de Sima).
Hay aspectos de un Nivel de abstraccin que
pueden ser visibles en otros Niveles
(evidente en el desarrollo de compiladores
para Computadores Paralelos y procesadores
VLIW).

Es necesario conocer la Arquitectura y las


interacciones entre los elementos del
computador
para
un
aprovechamiento
eficiente de la capacidad de cmputo que
ofrecen algunas Arquitecturas Paralelas.
Al estar disponibles Computadores Paralelos
a precios asequibles, el desarrollo de
Aplicaciones Paralelas se ha hecho ms
importante.
Tambin ha tomado importancia el desarrollo
de arquitecturas para optimizar el Consumo
de Energa.

1.1.2. Definicin de Arquitectura del Computador:


Segn la descripcin de niveles anterior,
Arquitectura del Computador se refiere a las
Arquitecturas Abstracta y Concreta tanto en
el nivel de SC como en el nivel de RT.
La Arquitectura Concreta en el nivel SC
incluye a los procesadores, memorias,
interfaces de E/S con arquitecturas abstracta
y concreta de nivel RT.
La Arquitectura Abstracta de un Procesador
tiene 2 puntos de vista:
Del
Programador
(Modelo
de
Programacin).
Del Diseador de Hardware (Modelo
Hardware).

Modelo de Programacin :
Equivale al Lenguaje Mquina. Expresado en
el Espacio de memoria disponible, Registros
de Datos y de Estado y las Formas de operar
con estos registros. Tiene 2 niveles de
Privilegio: el nivel de usuario y el nivel de
sistema.

Modelo Hardware :
Es considerado como un bloque constructivo
de un computador, donde se distinguen: las
Interfaces de E/S, de Interrupciones y de
Programa.
La Arquitectura Concreta de un procesador
es la Microarquitectura.

Arquitectura:
Conjunto de instrucciones, recursos y
caractersticas del procesador que son
visibles al software que se ejecuta en el
mismo.
Microarquitectura:
Conjunto de recursos y mtodos utilizados
para satisfacer las especificaciones que
establece
la
arquitectura.
Define
las
especificaciones para la implementacin
lgica,
la
cual
determina
las
especificaciones para la implementacin
fsica.

Arquitectura abstracta del Procesador desde el


Programador y el Diseador de Hardware

El Sistema Operativo, que constituye un nivel


de abstraccin por encima del de SC,
tambin tiene:
Arquitectura
Abstracta ,
que
es
una
especificacin funcional con 4 Interfaces: de
Usuario, para Aplicaciones, la Lgica con
Control de Perifricos y la de Transferencia
de Datos.
Arquitectura Concreta que se describe en
funcin de la Abstracta de los componentes
del nivel de SC.
Tomando
en
cuenta
lo
explicado
anteriormente e incluyendo el nivel de
Sistema Operativo podemos determinar el
mbito de estudio de la Arquitectura de
Computadores y su Objeto de estudio.

mbito de Estudio de la Arquitectura de


Computadores:
Conjunto de instrucciones, recursos y
caractersticas del procesador que son
visibles al software que se ejecuta en el
mismo.
Lenguaje Mquina, Microarquitectura del
procesador y la interfaz para los programas.
Interaccin
de
los
elementos
del
computador.
Interfaz para programas de alto nivel y los
Mdulos de control del computador.
Procedimientos Cuantitativos de evaluacin.
Tendencias de evolucin.

Objeto de Estudio de la Arquitectura de


Computadores:
Evaluar prestaciones y caractersticas del
computador,
adems
de
analizar
su
desempeo identificando los cuellos de
botella que limitaran sus prestaciones.
Disear y/o configurar un sistema para que
se ajuste a los requisitos establecidos.
Aprovechar
las
caractersticas
del
computador para desarrollar aplicaciones
eficaces, que cumplan con las prestaciones
requeridas.

1.2. EVOLUCIN Y PRESTACIONES DE LAS


ARQUITECTURAS:
La Arquitectura de Computadoras utiliza:
Evaluacin cualitativa de prestaciones.
Coste de las arquitecturas.
Un planteamiento cuantitativo de la
arquitectura se basa en:
Experimentacin.
Medida.
Anlisis de mquinas anteriores.
De ese estudio surgen principios que
formalizados permiten el desarrollo de
mejores computadores.

Sociedad de la Informacin :
Inicialmente el desarrollo de computadores
se daban por aplicaciones de calculo
cientfico.
Esta situacin ha cambiado debido a que la
accesibilidad ha ido en aumento implicando
mayor numero de usuarios.
La transformacin del computador:
- Calculadora compleja procesador de
informacin elemento dentro de sistemas
(telecomunicacin, control, produccin).

Incidencia socio-econmica:
Creacin de la industria informtica al
amparo de un mercado capaz de generar
beneficios.
Permiti la evolucin de computador. .
Red Socio-tcnica:
Beneficia tanto al fabricante como los
usuarios.
Desarrollo de los supercomputadores con la
creacin de:
- Cray Research Inc. a partir de Control
Data Corporation.
- Cray Computer Corporation a partir de
Cray Research Inc.

Evolucin de los computadores:


Determinada por:
Posibilidades que ofrece las mejoras
tecnolgicas.
Condiciones
que
establecen
las
aplicaciones dominantes en el mercado .
Hay que tener en cuenta:
Relacin entre Arquitectura Tecnologa.
Interaccin entre Aplicaciones Mercado.

Ley de Moore :
Conjetura basada en ciertas observaciones
empricas que establece que el numero de
transistores en un circuito integrado se
duplica cada ao y medio o dos aos.
La
tecnologa
electrnica
continua
mejorando
dando
paso
a
nuevas
restricciones
en
el
diseo
de
las
Microarquitecturas en relacin con:
Consumo de Potencia.
Comunicacin
local
integrado.

en

el

circuito

El Mercado:
Los nuevos mercados:
Generan presin sobre la tecnologa al
plantear restricciones de consumo.
Contribuyen a definir nuevas aplicaciones
para las que hay una demanda potencial.
Por lo tanto:
El mercado impone al diseo de la
arquitectura una serie de restricciones en
cuanto coste, prestaciones, consumo y
tiempo.

1.2.1. Un modelo sencillo de prestaciones:


tiempo de CPU de un programa:
Para el proceso de evolucin y perspectivas
futuras se utiliza la expresin:

donde:
- Tiempo de CPU o tarea determinada
- Nmero de instrucciones
- Nmero medio de ciclos
- Perodo de reloj

CPI:
El valor CPI (numero medio de ciclos por
instruccin) se pude expresar como:

donde:
- Nmero medio de ciclo de tipo i
- Nmero de instrucciones de tipo i
ya que (i = 1,,n)

Objetivo en el diseo de un computador:


Un objetivo fundamental es reducir el
tiempo de ejecucin de los programas T tarea .
NI depende del repertorio de instrucciones
y del compilador.
CPI
determinado
instrucciones
y
computador.

por
repertorio
organizacin

depende de la tecnologa
organizacin del computador.

de

de
del

la

Diseo:
Durante el proceso de diseo:
Elegir entre distintas alternativas.
Establecer compromiso entre distintas
dimensiones de del espacio de diseo.
Los modelos matemticos:
Acotar espacio de exploracin en etapas
preliminares de diseo.
Son insuficientes para predecir las
prestaciones
que
resulta
de
las
decisiones de diseo.

1.2.1. Consecuencias de la evolucin prevista en la


tecnologa:
Tecnologa DRAM.
Densidad: 40%-60% anual (cuadruplica en 3-4 aos)
Ciclo: se reduce un tercio cada 10 aos
Ancho de banda: crece dos veces ms rpido que la
latencia se reduce
Tecnologa de Disco.
Densidad: recientemente ms del 100% anual
(cuadruplica en 2 aos), antes de 1990 creca un 30%
anual (se dobla en tres aos).
Tiempo de acceso: se reduce un tercio cada 10 aos
Tecnologa de Red.
Ancho de banda: 10 Mb/s a 100 Mb/s en 10 aos, 100
Mb/s a 1 Gb/s en 5 aos

El impacto de la tecnologa se produce en muchos casos


de forma discontinua:
Cuando los CI MOS pasaron a integrar entre 25k y 50k
se pudo integrar un micro de 32 bits
A finales de los 80 se pudo integrar caches de primer
nivel en los chips

Algunas predicciones sobre la evolucin tecnolgica


[SIA99]

Reduccin del tamao caracterstico de la Tecnologa


Los retardos de comunicacin se hacen mayores
que los tiempos de conmutacin de los transistores:

Las lneas se hacen ms lentas (mayor resistividad) y los


transistores ms rpidos.

En un ciclo de reloj se puede acceder a menos rea del CI.

Aumento de la densidad de transistores y el


funcionamiento a frecuencias mayores Aumento de la
Potencia disipada por los CI.
El consumo es
esencial en:
a) Plataformas
porttiles y mviles
b) Servidores de altas
prestaciones a
base de
computadores
interconectados
(clusters):
8000 computadores y
2300 m2 de Intel
consume unos 2
Megawatios (25% del
costo de
mantenimiento).
TIC: 8% de consumo en
USA

Influencia de la tecnologa en la potencia disipada en un


circuito integrado utilizamos la siguiente expresin:
C: Consumo dinmico.
A: Coeficiente de actividad del
circuito.
V: la tensin
f: frecuencia de reloj

: Icorto ,
corriente que fluye entre
fuente y tierra.
t : Instante que fluye
Ishort al conmutar la puerta

Ajuste de la frecuencia de funcionamiento por parte del


S.O., paralelismo, optimizacin del uso de la memoria y los
buses, etc.

: Corriente de

prdidas

* :

La mejora de
prestaciones no
puede continuar
mucho
incrementando la
potencia
consumida:
Mejoras a nivel del
proceso de
fabricacin Mejoras
a nivel de los
circuitos Mejoras a
nivel de la
arquitectura

1.2.3. Consecuencias de la evolucin de las


aplicaciones y los mercados:
Nuevas aplicaciones
desarrollo de nuevas
computador.

influirn en
arquitecturas

el
de

Aplicaciones que estn influyendo en el


desarrollo:
Computacin ubicua.
Internet y multimedia.
Clculo
cientfico:
programas
de
investigacin
de
gobiernos
u
organizaciones
(industria
de
supercomputadores).

En 1992 el Departamento de Defensa de EEUU plante el


programa HPCC (High-Performance Computing and
Communication) y se plantearon unas aplicaciones que
desbordaban
las
capacidades
computacionales
y
requisitos para abordarlas.
La
Unin
Europea
tambin
ha
impulsado
la
supercomputacin con diversas iniciativas: programa
Espirit HPCN (High-Performance & Networking)
Tambin
el
programa
ASCI
(Advanced
Strategic
Computing Initiative)
Estos programas persiguen disponer de sistemas que
satisfagan los requisitos de computo de los simuladores
numricos de alta precisin en aplicaciones relacionadas
con la seguridad del arsenal nuclear de EEUU:
Simular fenmenos fsicos 3D que produce un misil
nuclear.
Modelado del clima global.
Otras: farmacuticas,
aeroespaciales, estudio de la
combustin, etc.

La supercomputacin tiene un inters considerable para


empresas de sectores econmicos diversos.

Aplicaciones
computacionales:

con

necesidades

El movimiento de un fluido: Tanto en rgimen


laminar como turbulento se describe a travs
de las ecuaciones no lineales de Navier-Stokes.
La resolucin de estas ecuaciones para
nmeros de Reynolds elevados y geometras
complejas (utilizados en aeronutica) que
necesita velocidades y cantidades de memoria
elevadas.
El diseo de un avin: Necesita clculos
relacionados con su aerodinmica realizados a
partir del flujo en torno del avin.
Comprensin de los mecanismos de la visin:
Para conocer el funcionamiento del cerebro,
tambin
para
aplicaciones
en
medicina,
robtica, etc.

Una de las consecuencias de la ley de Moore, es


el
abaratamiento
de
la
capacidad
de
procesamiento, pues el coste de la potencia de
cmputo se ha reducido(entre 30 y 100%), as hay
mayores usuarios con acceso (utilizados en
videojuegos, lectores de Blu-ray,
celulares,
impresoras, televisores, etc.)
Computadores embebidos estn sustituyendo a
circuitos analgicos en multitud de dispositivos.
Es mas comn ahora el trmino Ubiquitous
computing o Pervasive computing (computacin
ubicua)para referirse a hardware , software y
aplicaciones relacionadas con las interfaces
persona - computador e interaccin computador
mundo real.

En la computacin ubicua la comunicacin


entre
dispositivos
de
cmputo
es
fundamental, por lo tanto el internet y la web
son elementos clave.
Los servicios son aplicaciones decisivas, las
cuales demandan computadores (servidores)
que puedan ejecutar las aplicaciones a
travs de la red (con buen nivel de velocidad,
disponibilidad, facilidad de mantenimiento,
seguridad y escalabilidad. ).

El internet ha dado nuevas perspectivas para


aplicaciones
(comercio
electrnico,
enseanza a distancia, televisin digital, etc.)
que requieren un mayor procesamiento de
video y audio (multimedia), se caracterizan
por grandes volmenes de datos, las
restricciones de tiempo real y continuidad en
el tiempo.
Esto nos da la necesidad de sistemas
capaces de acceder, almacenar, procesar y
distribuir estos ficheros media a travs de
entornos de comunicacin heterogneos.

1.3. EL PARALELISMO EN LAS ARQUITECTURAS:


Un ejemplo de paralelismo se tiene en el uso de
memorias caches en multiprocesadores. Con ellas se
reducen los accesos a los niveles de la jerarqua mas
lentos y se evitan colisiones en los elementos
compartidos (redes, buses, etc.) pero ocasionan
problemas de coherencia a los que hay que dedicar
recursos.
Se
utiliza
mas
transistores
en
un
microprocesador para
aumentar el tamao
de la cache interna, o
para incrementar el
numero de unidades
funcionales, unidades
de emisin, etc., y
explotar
un
mayor
paralelismo
entre
instrucciones.

1.3.1. Clasificacin de las arquitecturas paralelas:


Se implemento siguiendo dos lneas principales:
Replicacin de elementos.- incluyendo unidades funcionales,
procesadores, mdulos de memoria, etc., entre los que se
distribuye el trabajo. As , ejemplos a nivel de sistema de esta
alternativa
son
los
multiprocesadores,
los
canales/
procesadores de E/S, y a nivel de procesador tenemos el uso de
varias unidades funcionales en los procesos superescalares,
VLIW y vectoriales.

Segmentacin de cauce (pipelining).- tcnica a travs de la cual


un elemento (unidad funcional, procesador, circuito, etc.) se
divide en una serie de etapas que funcionan de forma
independiente, y por las que van pasando los operandos,
instrucciones, etc., procesados por el elemento. De esta forma,
dicho elemento esta realizando simultneamente operaciones
distintas en diferentes etapas de su procesamiento. por ejemplo,
en los procesadores vectoriales permiten aprovechar el
paralelismo de datos al ejecutar una operacin con conjuntos de
operandos diferentes.

Un procesador superescalar con segmentacin de cauce de cinco


etapas, capaz de ejecutar dos instrucciones por ciclo. Puede tener dos
instrucciones en cada etapa de segmentacin, para un total de hasta
10 instrucciones (se muestra en verde) ejecutadas simultneamente.

La taxonoma de Flynn.- divide el universo de los


computadores en cuatro clases que surgen al considerar
que en un computador se procesa una o varias secuencias o
flujo de instrucciones, que actan sobre una o varias
secuencias o flujo de datos.

As se habla de:
Computadores SISD: un nico flujo de
instrucciones (SI, Single Instruction)
procesa operandos y genera resultados,
definiendo un nico flujo de datos (SD,
Single Data).

Computadores SIMD: un nico flujo


de instrucciones (SI) procesa
operandos y genera resultados,
definiendo varios flujos de datos
(MD, Multiple Data), dado que cada
instruccin codifica realmente
varias operaciones iguales, cada
una actuando sobre operadores
distintos.

Computadores
MIMD:
el
computador
ejecuta
varias
secuencias o flujos distintos de
instrucciones
(MI,
Multiple
Instructions), y cada uno de ellos
procesa operandos y genera
resultados definiendo un nico
flujo de instrucciones, de forma
que existen tambin varios flujos
de datos (MD) uno por cada flujo
de instrucciones.

Computadores MISD: se ejecutan


varios
flujos
distintos
de
instruccin (MI) aunque todos
actan sobre el mismo flujo de
datos (SD).

La mejora de prestaciones y el paralelismo que aprovechan


las arquitecturas SIMD y MIMD se pueden entender
estimando los tiempos de procesamiento que se tendra
para un trozo de cdigo, como el ejemplo siguiente:
Computador SISD:

El cdigo C1.1 implica realizar 12 operaciones (4 sumas, 4


restas y 4 multiplicaciones) mas las correspondientes al
control de bucle (que despreciamos aqu). Una ejecucin
del cdigo anterior en un SISD, y si se consideran tiempos
del mismo orden para todas las operaciones (cuestin esta
poco realista), precisa por tanto del orden de 12 intervalos
de tiempo.

En un Computador SIMD:

En este caso, se necesitaran 3 intervalos de tiempo. Es


decir cuatro veces menos que en el computador SISD, como
es de esperar, teniendo en cuenta que se estn incluyendo 4
unidades de proceso.

Esquema de procesamiento de 3 instrucciones SIMD en un


computador con 4 unidades de proceso

Computador MIMD: para ejecutar el cdigo C1.1, existen


distintas posibilidades de aprovechamiento del paralelismo.

El cdigo C1.3 se consideran 3 procesadores (proc1,


proc2, proc3), y cada uno ejecuta una operacin distinta
con los cuatro componentes de los distintos vectores. En
este caso, el coste temporal seria de 4 unidades de
tiempo: tres veces menos que en la implementacin
secuencial.
Tambin se puede utilizar un MIMD con cuatro
procesadores, en el que cada uno de ellos realiza las tres
operaciones con una de las cuatro componentes de los
vectores. En este caso, el intervalo se reducira a 3
intervalos. En esta situacin se dice que el computador
MIND utiliza una implementacin SPMD del problema
(Simple Program Multiple Data).

La taxonoma de Flynn pone de manifiesto dos tipos de


paralelismo que pueden aprovecharse segn la plataforma
de computo:
El paralelismo de Datos: se explota cuando una misma
funcin, instruccin, etc., se ejecuta repetidas veces en
paralelo con datos diferentes. Se explota en las maquinas
correspondientes a la clase SIMD , aunque tambin se
puede considerar que se aprovecha en las plataformas
MIND, que permiten varios flujos de datos, cuando la
aplicacin en cuestin se implementa como un programa
paralelo SPMD.

Esquema de procesamiento de 3 instrucciones SIMD en un


computador con 4 unidades de proceso

Paralelismo
Funcional:
se
aprovecha
cuando
las
funciones, bloques, instrucciones, etc., (iguales o
distintas) que intervienen en la aplicacin, se ejecutan en
paralelo. Se dispone de paralelismo funcional en el:
1.

2.

3.

4.

Nivel de Instrucciones u Operaciones: (ILP, Instruction


Level Parallelism).- Cuando se ejecutan en paralelo
las instrucciones de un programa. Nivel de
granularidad mas fina.
Nivel de bucle: Cuando se ejecutan en paralelo
distintas iteraciones de un bucle o secuencia de
instrucciones de un programa. Granularidad finamedia.
Nivel de funciones: En el que distintos procedimientos
que
constituyen
un
programa
se
ejecutan
simultneamente. Granularidad media.
Nivel de Programas: Cuando la plataforma ejecuta en
paralelo
programas
diferentes
que
pueden
corresponder, o no, a una misma aplicacin.
Granularidad mas gruesa.

Desde el punto de vista de Flynn, solo las arquitecturas


MIMD (y MISD) pueden implementar paralelismo funcional.
En las siguientes figuras se muestran varios esquemas que
dan una idea simplificada e ideal del funcionamiento de
distintas arquitecturas que aprovechan el paralelismo ILP.

Los procesadores segmentados, al disponer de una


Microarquitectura que implementa las distintas fases o
etapas de una instruccin (E1, E2,) en elementos de
circuito que pueden trabajar de forma independiente,
permiten que se aprovechen varias instrucciones, cada una
en una fase de su procesamiento. De esta forma, una ve que
termina la primera instruccin y se ha llenado el cauce, se
puede terminar una instruccin por ciclo (T) en el caso
ideal.

En
la
figura
se
ilustran
diferentes
estrategias
de
mejora
de
prestaciones
comparando
procesadores
superescalares
y
supersegmentados.
Todos
ellos
proporcionan
un
factor de mejora de
2 con respecto al
procesador
segmentado
de
partida, que a su
vez mejora en un
factor
de
5
al
procesador
no
segmentado

Arquitectura segn el tipo de paralelismo que aprovechan y su


ubicacin en la Taxonoma de Flynn

1.4. EVALUACIN DE PRESTACIONES DE UN


COMPUTADOR:
Existen diversas medidas para esta Evaluacin:

Tiempo de Respuesta.- Lo que tarda el computador en


procesar una entrada (trabajo o programa, instruccin,
etc.).
Productividad (Throughput).- Nro. de entradas procesadas
por unidad de tiempo.
Funcionalidad.- Tipos de entradas diferentes que es capaz
de procesar (tipos de instrucciones diferentes del
procesador)
Expansibilidad.- Poder ampliar la capacidad de
procesamiento aadiendo bloques a la arquitectura
existente.
Escalabilidad.- Poder ampliar el sistema sin que haya
devaluacin de las prestaciones.
Eficiencia.- Relacin entre las prestaciones obtenidas y el
coste de conseguirlas (Eficiencia=prestaciones/coste).

El peso de estas prestaciones y el nombre que reciben


dependen del elemento en estudio. Por Ejm, en la
organizacin de memoria de un computador, las
Entradas son accesos a memoria y las medidas ms
utilizadas son: Tiempo de Respuesta (Latencia de
memoria),
Productividad
(Ancho
de
banda)
y
Escalabilidad.
La nueva expresin de la frmula citada en la seccin
1.2.1 servir para reflejar las caractersticas de los
procesadores en cuanto al aprovechamiento del
paralelismo entre instrucciones:

Ejemplos de valores caractersticos de CPE, IPE y CPI


segn
las
Microarquitecturas
Segmentadas,
Superescalares y VLIW.

Descripcin:
La ejecucin de las operaciones que codifican las
instrucciones comienzan en la Etapa E3.
En un Procesador No Segmentado, todas las
instrucciones tienen igual duracin (CPI=5), el Nro. de
ciclos entre etapas de emisin ser CPE=5, y cada vez se
emite solo una instruccin (IPE=1).
En un Procesador Segmentado, se emite una instruccin
por ciclo en cada ciclo, lo que hace: CPE=1 e IPE=1.
Adems en cada ciclo se termina de ejecutar una
instruccin (CPI=1)
En Procesadores Superescalares se emiten ms de una
instruccin por ciclo en cada ciclo. En el ejemplo IPE=2 y
CPE=1, tenindose CPI=2.
El Repertorio de instrucciones que codifican una
operacin por instruccin en los ejemplos anteriores son
Repertorios Escalares.
En las arquitecturas VLIW cada instruccin puede
codificar varias operaciones (en el ejemplo seran 2
operaciones).

Para tomar en cuenta las Caractersticas de repertorio


de
instrucciones
de
acuerdo
a
las
posibles
codificaciones a partir del Nro. de instrucciones, la
frmula cambia a la siguiente forma:

Con esto se puede determinar el Nro. de operaciones


que se ejecutan en el ejemplo de procesamiento SIMD
mostrado en la figura Esquema de procesamiento de 3

instrucciones SIMD en un computador con 4 unidades


de proceso (Noper= 12).

El Tiem po de R espuesta, la Productividad y la


Funcionalidad se pueden englobar en una nica medida:
Tiempo de R espuesta para una entrada com pleja
(secuencia representativa de entradas elementales del
sistema).
Existen m edidas que pretenden caracterizar el nivel de
prestaciones de un computador y as facilitan la
comparacin entre distintos sistemas por medio de una
nica cantidad: MIPS y MFLOPS.
MIPS: (Millones de I nstrucciones por segundo) definido
por:

No sirve como m edida caracterstica de una mquina


porque varia segn el programa.
Como depende del repertorio de instrucciones, no
permite comparar mquinas con repertorios distintos.
Inversam ente proporcional a las prestaciones (valores
mayores
de
MIPS
corresponden
a
peores
prestaciones).

MFLOPS: (Millones de Operaciones en Coma Flotante


por segundo) definido por:

No es adecuada para todos los programas por


considerar slo operaciones en coma flotante.
Ni el conjunto de instrucciones en coma flotante, ni
la potencia o coste de dichas instrucciones es el
mismo en todas las mquinas.
Para mitigar esto ltimo se utilizan a veces los
MFLOPS Normalizados que dan un peso relativo a
cada instruccin y as muestran su mayor coste
respecto a la instruccin de coma flotante:

Donde i corresponde a uno de los n tipos de


instrucciones en coma flotante y Wi corresponde al
coste.

1.4.1. Conjuntos de Programas de Prueba:


Evaluar debe considerar tanto las medidas de prestaciones
propias de la arquitectura (y que permiten comparar distintas
realizaciones de esa arquitectura) como las medidas de
prestaciones que permiten comparar arquitecturas con igual uso
en el nivel de abstraccin superior.
Se requiere de un nico programa real que destaque cada
posibilidad del elemento del computador a evaluar. Sin embargo
esto resulta difcil de hallar, por lo que se han definido conjuntos
de programas de prueba (benchmarks) de todos los posibles
programas o aquellos que se ejecutan con ms frecuencia (carga
de trabajo usual en la mquina a evaluar):
Aplicaciones reales.- (Compiladores C, Word, Photoshop) que
pueden presentar problemas de portabilidad relacionados con
la dependencia del compilador o la interaccin con el Sistema
Operativo.
(aplicaciones
modificadas
para
simular
interacciones multiusuario complejas).
Ncleos
o kernels.- (bucles de Livermoore, Linpacks)
pequeos trozos de programas reales para evaluar
caractersticas especficas de una mquina o explicar las
diferencias de comportamiento entre mquinas distintas.

Programas de prueba simples o toys.- (Criba de Eratstenes,


Puzzle) programas pequeos de 10 a 100 lneas, fciles de
escribir y de resultado conocido. Como pueden entrar
completamente en la Cach, no evalan bien la interaccin de
la CPU con la memoria principal..
Programas Sintticos.- (Dhrystone, Welstone) reproducen los
porcentajes de instrucciones y uso de recursos de cargas de
trabajo reales (No realizan ninguna tarea concreta).
Con los aos se han venido consolidando instituciones que
promueven conjuntos de programas de prueba (benchmark suites),
conjuntos que se cambian peridicamente tanto para evitar
optimizaciones de los fabricantes como para ejercitar nuevas
caractersticas en computadores.
Un ejemplo de estos conjuntos son los SPEC (Standard
Performance Evaluation Corporation) para
computadores de
sobremesa y servidores. Los TPC (Transaction Processing Council)
tambin dirigidos a servidores, y los EEMBC (EDN Embedded
Microprocessor Benchmark Consortium) para computadores
embebidos.

SPEC fue fundado por compaas como DEC, MIPS Sun, HP, para
definir un conjunto de programas para medir las prestaciones de
sus productos. Se han sucedido varios conjuntos a travs de los
aos, constituidos por dos grupos de programas reales, un grupo
de programas de enteros y otro grupo de programas de coma
flotante. Evalan fundamentalmente la CPU, la memoria y el
compilador y si es preciso los programas se modifican para
mejorar su portabilidad y reducir el Efecto de las E/S.
Las prestaciones se expresan mediante medias geomtricas de
medidas relativas (velocidades, rendimientos) obtenidas con
respecto a una mquina tomada como referencia en cada edicin
de los SPEC. SPEC tambin ha propuesto otros conjuntos para
evaluaciones ms especficas (SPEC SFS para servidores NFS,
SPEC WEB para servidores web, SPECapc para aplicaciones
grficas, etc.)

1.4.2. Mejora de Prestaciones:


Cuando en un computador se pretende elevar sus prestaciones
mejorando sus recursos y elementos, se puede usar la ganancia
para evaluar hasta que punto una mejora de prestaciones se
manifiesta en las prestaciones globales. As:

Prestaciones(p) T1
Sp =
=
Prestaciones(1) Tp

Para saber hasta qu punto una mejora en un factor p en un


recurso se manifiesta en la mejora final obtenida se recurre a la
Ley de Amdahl.

Ley de Amdahl: La mejora de velocidad Sp, que se puede obtener


cuando se mejora un recurso de una mquina en un factor p est
limitada por:

SP

p
1 + f (p 1)

Ejemplo: Si un programa pasa un 35% de su tiempo de ejecucin


en una mquina realizando instrucciones de coma flotante, y se
mejora la mquina haciendo que estas instrucciones se ejecuten
en la tercera parte del tiempo (p=3), entonces la ganancia de
velocidad que se puede obtener es de:

Rpta: Sp 1.30, en otras palabras, slo un 30% mejor.

1.4.3. El Coste de un computador:


Existen modelos econmicos muy diversos que
relacionan el coste de un computador con el
precio que alcanza en el mercado nicamente
proporcionaremos algunas ideas.
El precio de un computador depende , en primer
lugar, del coste de sus componentes .este coste
decrece con el tiempo , aunque no se produzcan
cambios en la tecnologa , debido a la llamada
curva de aprendizaje (learning curve) que
ocasiona mejoras en el rendimiento de los
procesos de fabricacin.

De que depende el precio de un computador


- El costo de sus componentes
- Lo complejo del circuito integrado ,etc.
Como se abaratan los costos de la fabricacin
con el tiempo
Si se duplica el rendimiento de un proceso se
reduce ala mitad el costo
Ejemplo en la fabricacin de la memoria dram
por un Megabyte se a reducido en un 40% al
ao
5000 en 1977 a unos 5 en 1995

Evolucin del Coste de la Memoria Dram:

La Oblea:
El modo de fabricacin
de los circuitos
integrados se alcanzado un buen rendimiento en
la fabricacin de la obleas Los procesos de
fabricacin
de
los
circuitos
integrados
determinan el coste del circuito a partir del dela
oblea, el rendimiento que se alcanza en la
fabricacin de obleas, los defectos por unidad de
superficie que se introducen en el proceso.

Frmulas de los Costos de Fabricacin:

Cuando es mas complejo el CI, mayor es la


superficie y el coste:

Ley de Moore:
Al sugerir el ritmo de crecimiento en el nmero
de transistores por circuito integrado, Moore no
solo consideraba que ese ritmo vendra definido
por las limitaciones
tecnolgicas, sino que
tambin
haba que tener en cuenta
las
restricciones
econmicas que establecen los
costes de fabricacin, viene acompaado de un
incremento similar en la eficiencia
de los
circuitos , a corto y medio plazo para mantener
el ritmo de crecimiento
en las prestaciones
sera el aprovechamiento del paralelismo la
utilizacin de nuevas tecnologas, como la
basada en la naturaleza cuntica de la materia.

No se depende nicamente del coste de los


componentes. En la figura, para una estacin de
trabajo de la gama media, en el precio final de
una
estacin
de
trabajo,
el
porcentaje
correspondiente a costes
de investigacin y
desarrollo y a los beneficios del fabricante, son
mayores que un PC. En el caso de las estaciones
de trabajo, el margen de ganancia de los
fabricantes de este tipo de mquinas es menor.

PROBLEMAS:
PROBLEMA N1
Ha aparecido en el mercado una nueva versin de un
procesador, en la que la nica mejora con respecto a
la versin anterior es una unidad de coma flotante,
mejorada que permite reducir el tiempo de las
instrucciones de coma flotante a tres cuartas partes
del tiempo que consuman antes.
Suponga que en los programas que constituyen la
carga de trabajo habitual del procesador las
instrucciones de coma flotante consumen un promedio
de 13% del tiempo del procesador antiguo.

Cul es la mxima ganancia de velocidad que puede


esperarse en los programas si se sustituye el
procesador de la versin antigua por el nuevo?

Cul es la mxima ganancia de velocidad que, en


promedio, puede esperarse en los programas debido
a mejoras en la velocidad de las operaciones en coma
flotante?

f = fraccin de tiempo de
ejecucin.
P = factor de ganancia.
Sp = mejora de velocidad.

Cul debera ser el porcentaje de tiempo de clculos


con datos en coma flotante en sus programas para
esperar una ganancia mxima de al menos 4?

X representa el tiempo en que no mejora por lo tanto el


tiempo de consumo para que la ganancia de velocidad
mxima sea 4 es del 15,39%

En este ltimo caso, cunto debera reducirse el


tiempo de las operaciones en coma flotante con
respecto a la situacin inicial para que la ganancia
mxima sea 2?

X representa el tiempo en que no mejora por lo tanto el


tiempo de consumo debe ser del 7.85% por lo que del
caso anterior se debe reducir en 7.54%

PROBLEMA N2
A)Es cierto que para una determinada mejora
realizada
en
un
recurso
se
observa
experimentalmente,
que al aumentar el factor de
mejora, llega un momento en que se satura el
incremento de velocidad que se consigue?
B) es cierto que la cota para el incremento de la
velocidad que establece la ley de Amdahl crece a
medida que aumenta el valor del factor de mejora
aplicado al recurso?

Desarrollo (A):
Si es cierto.
Teniendo en cuenta:

Hacemos crecer p hasta:

Cuando ocurre esto se ha saturado el incremento de


velocidad.

Desarrollo (B):
Si es cierto pero hasta que llegue al punto de
saturacin:

Su curva tiene la siguiente forma:

Es creciente hasta el punto de saturacin donde


prcticamente se mantiene constante.

PROBLEMA N3
En un programa que se ejecuta en un procesador no
segmentado que funciona a 100MHz, hay un 20% de
instrucciones LOAD que necesitan 4 ciclos, un 15% de
instrucciones STORE que necesitan 3 ciclos, un 40% de
instrucciones con operaciones con la ALU que necesitan
6 ciclos, y un 25% de instrucciones de salto que
necesitan 3 ciclos. Si en las instrucciones con la ALU, la
operacin de la ALU consume 3 ciclos determine cul es
la mxima ganancia que se puede obtener si se mejora el
diseo de la ALU de forma que se reduce su tiempo de
ejecucin a la mitad de los ciclos. Para qu porcentaje
de con la ALU se alcanzara una ganancia mayor que 1,5
con la mejora indicada

Desarrollo (1ra Parte):

Desarrollo (2da Parte):

PROBLEMA N4
Si la tensin de alimentacin de un circuito integrado
pasa de 2V a 1.6V,
A.) A qu valor debe pasar la tensin umbral
Vumbral=0.6V para que se pueda mantener la frecuencia
de funcionamiento del circuito?
B.)Qu factor de reduccin en el consumo de potencia
dinmica se consigue considerando el factor de actividad
A, la capacidad de puerta C y la frecuencia se mantienen
constantes ?
C.)En qu porcentaje varia el termino asociado ala
corriente de perdidas en la expresin 1.3?
NOTA: T=315K, q=1.602x10^-19 culombios
K=1.381x10^-19 J/K

Desarrollo (A):
Sabemos que:

(V Vumbral ) 2
f max =
V

(1.6 Vumbral ) 2
0.98 =
1.6

f max

(2 0.6) 2
=
= 0.98
2

Vumbral = 1.9478V

Desarrollo (B):
Sabemos que:

potencia = ACV f + tAVI corto + VI leak


2

A=1 (micro a pleno rendimiento)

Adems:

q 1.602 10 19
= 8.0110 20 C / V
C= =
V
2

Desarrollo (B):
Tendremos que:

Pdinamica = ACV f
2

Pdinamica = (1)(8.01 10
9

20

)(10 )(2 )

Pdinamica = 3.204 10 W (2V )

Desarrollo (B):
Luego:

Pdinamica = (1)(8.0110

20

)(10 )(1.6 )

Pdinamica = 2.05056 10 9 W (1.6V )


Por lo tanto, se redujo en 36% la Potencia Dinmica

Desarrollo (C):
Sabemos que:

potencia = ACV f + tAVI corto + VI leak


2

Pconsumida = VI leak
Para la tensin de alimentacin =2V

I leak = e

qV umbral
KT

=e

(1.602 10 19 )( 0.6 )
( 315 )( 1.381 10 19 )

= 0.99779 A

Desarrollo (C):
Tendremos que:

Pconsumida

= VI

leak

= 1.9956 W

Para la tensin de alimentacin = 1.6V

I leak = e

qVumbral
KT

=e

(1.60210 19 )(1.9478 )
( 315 )(1.38110 19 )

= 0.99285 A

Pconsumida = VI leak = 1.5885W


Por lo tanto el trmino asociado a la corriente de
prdidas vara en un 20.39%

PROBLEMA N5
Considere una oblea de 35cm de dimetro.
A) Qu incremento se producir en el coste del
dado al pasar de dados de 0,75cm de lado a dados
de 0,80cm de lado, si el numero de defectos por
unidad de superficie no cambia y es igual a 0.6 por
cm2 ?
B) Qu pasara con el coste si a la vez que
aumenta el tamao del dado se reduce el nmero de
defectos a 0,4 por cm2?

Desarrollo (A):
Tendremos que:
Defectos_por_superficie Area_de_dado
Rendimiento_Dado = Rendimiento_de_Oblea 1 +

0.6 0.75 0.75

ren_dado1 = 0.9 1 +

ren_dado1 = 0.65
0.6 0.8 0.8
ren_dado 2 = 0.9 1 +

ren_dado2 = 0.62

Desarrollo (A):

Coste_Dado =

Coste_oblea
Dados_por_Oblea Rendimiento_Dado

Coste_Dado =

x
Dados_por_Oblea Rendimiento_Dado

(diametro/2) 2
(diametro)

Dado_por_Oblea =
Area_de_Dado
2 Area_de_dado
Dados por Oblea:

(35/2) 2
(35)
Dado_por_Oblea1 =

0.75 075
2 0.75 0.75

Dado_por_Oblea1 = 1606.76

Desarrollo (A):

(35/2) 2
(35)
Dado_por_Oblea2 =

0.8 0.8
2 0.8 0.8

Dado_por_Oblea2 = 1406.11
x
x
Coste_Dado1 =
=
1606.75 x 0.65 1044.39
x
x
=
Coste_Dado2 =
1406.11x0.62 871.79
Coste_Dado
Coste_Dado

2
1

x
1044.39
= 871.79 =
= 1.197 -- > 19.7 %
x
871.79
1044.39

Desarrollo (B):

0.4 0.8 0.8

ren_dado3 = 0.9 1 +

ren_dado3 = 0.70

Coste_Dado3 =

x
Dados_por_Oblea Rendimiento_Dado

x
x
=
Coste_Dado3 =
1406.11 0.70 984.28

Desarrollo (B):
La Comparacin de Costos del Dado:

x
Coste_Dado
3 = 984.28 = 1044.39 = 1.06 > 6%
x
984.28
Coste_Dado
1
1044.39

Vous aimerez peut-être aussi