You are on page 1of 47

ARQUITECTURA e INGENIERÍA de COMPUTADORES

Bloque 1: Introducción a la Arquitectura e
Ingeniería de los Computadores
Lección 1: Concepto de Arquitectura
¿Por qué es posible comprar hoy un PC con más
prestaciones que un Cray 1?¿Qué hace
diferentes dos arquitecturas?
2
Bibliografía
1. J. L. HENNESSY and D. A. PATTERSON.
Computer Architecture. A Quantitative Approach,
Morgan Kaufmann, 3
rd
edition, 2003.
2. D. SIMA and T. FOUNTAIN, and P. KACSUK.
Advanced Computer Architectures: A Design Space Approach,
Addison Wesley, 1997.
3. J. ORTEGA, M. ANGUITA y A. PRIETO.
Arquitectura de Computadores,
Thomson, 2005.
3
1. Estrategias para mejorar las prestaciones de los
computadores
1. Interacción entre tecnología, aplicaciones y arquitectura
2. Paralelismo y localidad
2. Clasificación de las arquitecturas
Contenidos
4
Arquitectura Tecnología
Mercado
Aplicaciones
Posibilidades
Restricciones
Económicas
Selección
Demanda
Nuevas
Restricciones
Posibilidades
Posibilidades
Capacidades
Prestaciones
Promueve
Generación
Fundamental
Fuerte
Visible
Adaptado de Vajapeyam/Valero (Computer, Abril 2001)
Evolución de los Computadores
5
60 70 80 90 00
PCs y
Estaciones de
Trabajo
Servidores
Microprocesadores
Mainframes
Grandes
computadores para
aplicaciones de
negocios y científicas
de gran volumen.
Minicomputadores
Aplicaciones científicas
en laboratorios y
pequeñas
organizaciones
Redes
WWW
Computadores
Embebidos
Rápido crecimiento (tecnología y herramientas de diseño):
electrónica digital de altas prestaciones, videojuegos,
teléfonos móviles, tarjetas inteligentes, conmutadores,….
Computadores, Aplicaciones y Mercados (I)
6
Aspecto Sobremesa Servidores Empotrados
Precio ($) 1000 – 10.000 10.000 – 10M 10 – 100.000
Precio por módulo
microprocesador ($)
100 - 1000
200 – 2000
(por procesador)
0.20 – 200
(por procesador)
Microprocesadores
vendidos/año (2000)
150M 4M
300M
( 32 y 64 bits sólo)
Objetivos de diseño
Precio-prestaciones
Prestaciones de gráficos
(integrar capacidades en
los procesadores) e I/O.
Integrar
microprocesadores en
arquitecturas
multiprocesador, I/O de
altas prestaciones
Fiabilidad, rendimiento,
escalabilidad
Incorporar técnicas de
microprocesadores de
altas prestaciones con las
restricciones de precio,
consumo. Altas
prestaciones específicas
para la aplicación
Computadores, Aplicaciones y Mercados (II)
7
Tiempo
48-horas
Modelado
Plasma 3D
Tiempo
72 horas
Biología
Estructural
Diseño
Farmacéutico
Dinámica
química
Memoria
(Gbytes)
0.1 1 10 100 1000 10000 100000 1000000
0.01
0.1
1
10
100
1000
Genoma Humano
Cambio Climático
Dinámica de Fluidos Viscosos
Modelado de Semiconductores
Modelado de Superconductores
Cromodinámica cuántica
Circulación de Océanos
1980 1988 1991 1993 1995
10000
100000
1
2
3
TOP500 (Nov2001)
Tiempo
48-horas
Modelado
Plasma 3D
Tiempo
72 horas
Biología
Estructural
Diseño
Farmacéutico
Dinámica
química
Memoria
(Gbytes)
0.1 1 10 100 1000 10000 100000 1000000
0.01
0.1
1
10
100
1000
Genoma Humano
Cambio Climático
Dinámica de Fluidos Viscosos
Modelado de Semiconductores
Modelado de Superconductores
Cromodinámica cuántica
Circulación de Océanos
1980 1988 1991 1993 1995
10000
100000
1
2
3
TOP500 (Nov2001)
Gigaflops
Aplicaciones y Mercados: Cálculo Científico (I)
8
Aplicaciones y Mercados: Cálculo Científico (II)
Ejemplos fuera de las posibilidades actuales:
1. La resolución de las ecuaciones para un flujo turbulento en un ala
(ecuaciones no-lineales de Navier-Stokes) con número de Reynolds de 10
6

necesita 200 horas en un computador de 1 petaFLOPS con memoria de
mayor del Terabyte.
2. En el diseño de un avión se necesitan determinados cálculos relacionados con
la aerodinámica del avión y que se realizan a partir de simulaciones del flujo
en torno al avión. Dado que hay que realizar repetidos cálculos, si los
tiempos de ejecución se limitan a 15 minutos, se requeriría un computador
capaz de alcanzar 1 exaFLOPS con una memoria mayor de 1 Gbyte.
3. El sistema visual humano consta de unos 10
8
receptores que convergen, a
través de varias capas de neuronas, a las 10
6
células ganglionares cuyos
axones van desde el ojo al cerebro, donde se puede estimar que existen del
orden de 2x10
9
neuronas. Para simular el sistema visual humano en tiempo
real se necesita una velocidad de 6x10
14
(600 teraFLOPS).
9
Aplicaciones de Cálculo Científico: Predicción del Tiempo
• Resolver las ecuaciones del modelo de
circulación general de la atmósfera en
coordenadas esféricas, utilizando una
retícula tridimensional que, en cada punto
tiene asociada una ecuación diferencial
• Si se considera una retícula con puntos
separados 400 Kms., y se dispone de una
máquina de 100 MFLOPS (Cray 1), predecir
el tiempo de 24 horas necesita 100 minutos.
• Si se reduce la retícula a unos 40 Kms entre
puntos, la predicción de 24 horas necesitaría
aproximadamente 24 horas en el mismo
ordenador.
• A más capacidad de cálculo es posible
cálculos con más precisión en un tiempo
determinado, y mejora la predicción a largo
plazo (dado el carácter caótico de la
atmósfera).
10
Aplicaciones y Mercados: Multimedia (I)
Muchas de las nuevas aplicaciones distribuidas utilizan procesamiento
conjunto de vídeo y audio continuos. Esto tiene una serie de implicaciones
en la arquitectura:
– Almacenamiento y recuperación de la información en tiempo real:
• Las imágenes de vídeo sólo tienen sentido si se suministran a una velocidad adecuada
a la cámara, la captura de imágenes debe hacerse a una velocidad determinada y el
almacenamiento debe realizarse de forma que los datos no se sobre escriban. Las
señales utilizadas (vídeo, audio,..) deben estar sincronizadas
– Gran capacidad de almacenamiento y velocidades de transferencia
elevadas
• La arquitectura debe proporcionar formas rápidas y eficaces de almacenar, recuperar y
procesar la información (Audio MPEG: 384 Kb/s; Audio calidad CD: 1.4 Mb/s; Vídeo
MPEG2: 0.42 MB/s; Vídeo HDTV: 81 MB/s)
• Las caches no son lo suficientemente grandes para manejar eficazmente los volúmenes
de datos utilizados (localidad baja)
11
Aplicaciones y Mercados: Multimedia (II)
– Mucha localidad de acceso a instrucciones:
• Las aplicaciones de procesado de imágenes y señal consumen la mayor parte del
tiempo en la ejecución de pequeños bucles.
• La optimización de estos bucles de puede tener un efecto importante en la ganancia
de velocidad que se consigue en estos programas (incluso puede aconsejar el uso del
ensamblador).
– Paralelismo de datos y tamaño de los tipos de datos
• Existe mucho paralelismo de datos en las aplicaciones y normalmente no se necesitan
precisiones de más de 16 bits (diferencias inapreciables en imágenes y sonidos).
– Alternativas
• Instrucciones SIMD en arquitecturas de procesador de propósito general
(MMX y SSE en Intel, VIS en Sparc, MVI en Alpha, MAX2 en PA-RISC)
• Procesadores de procesamiento digital de señales (DSPs)
• Procesadores VLIW
12
Aplicaciones y Mercados: Internet
• Si el ancho de banda de comunicación es elevado y barato, la ubicación
de la potencia de cómputo es irrelevante
• El comercio electrónico, la enseñanza a distancia, la TV digital, la
publicidad dirigida, etc. demandan servidores potentes.
• Prestaciones que se requieren en las arquitecturas:
– Velocidad
– Disponibilidad
– Escalabilidad
– Mantenimiento fácil
– Seguridad
13
Aplicación de Internet: GOOGLE (I)
• El número de páginas indexadas en la Web ha crecido en un factor de 1000 entre
1994 y 1997 y de 10 entre 1997 y el 2000.
• Sin embargo, se sigue manteniendo en torno a 10 (los 10 primeros) el número de
resultados de una búsqueda que se consideran útiles por el usuario.
• El principal requisito es de la disponibilidad: el servicio debe proporcionarse en
cualquier momento.
• El ancho de banda es vital dada la cantidad de accesos que se producen al
servicio: en el 2000 se sirvieron 1000 peticiones por segundo buscando e
indexando más de 1000 millones de páginas.
• Puesto que se interactúa con personas, el tiempo de latencia no debe ser
elevado: en Google se fija en torno a 0.5 segundos (incluyendo los retardos de
red).
• Se debe explorar la red periódicamente para tener actualizada la información de
búsqueda: cada página web del mundo se visita una vez al mes.
• Se guarda una copia local del texto de la mayoría de las páginas.
14
Aplicación de Internet: GOOGLE (II)
• Google utilizaba (Diciembre de 2000) más de 6000 procesadores y 12000 discos
(de aproximadamente 1 Petabyte)
• Organizado en tres sitios (dos en el Silicon Valley y uno en Virginia), cada uno
conectado a Internet con un enlace OC48 (2488 Mbit/s). En los tres sitios están
replicados el índice de búsqueda (unos pocos terabytes) y una copia de páginas
en cache (del mismo orden).
• Cada servidor es un cluster: 40 racks (80 PCs cada uno) y cada rack está
conectado mediante 4 enlaces Gigabit Ethernet a 2 conmutadores de 128x128
redundantes. Cada conmutador está conectado a través de un línea OC48 (2.4
Gbit/s) a internet (a través de un conmutador Cisco 12000) y a través de una
línea OC12 (622 Mbit/s) a otro de los sitios redundantes. Hay un rack próximo a
cada conmutador con UPS y PCs para monitorización, equilibrado de carga, etc.
• Los PCs (en el 2000) eran bastante estándar: ATA/IDE drives (40-80 Gbytes), 256
Mbytes de SDRAM, procesadores Celeron 533 MHz – Pentium III 800 MHz.
Sistema Operativo Linux.
• Cada rack de 80 PCs consume 4500 W (55 W/PC) en 1 m2 y unos 60 A.
• El sitio de 40 racks descrito tiene un coste de entre !4.5 millones y !6 millones.
15
• Explorar la Web (se hace semanalmente) para actualizar la información disponible de los
sitios necesita más ancho de banda:
) / ( 26
) ( 60 60 24
) / ( 8 ) / ( 4000 ) / ( 000 . 000 . 70
s Mbit
segundos x x
Byte bits x consulta Bytes x dia consultas
!
) / ( 53
) ( 7 ) / ( 60 60 24
) / ( 8 ) / ( 4000 ) ( 000 . 000 . 000 . 1
s Mbit
dias x dia segundos x x
Byte bits x consulta Bytes x páginas
!
2x
5.000.000.000(Bytes)x8(bits / Byte)
24x60x60(segundos / dia)x7(dias)
!132(Mbit / s)
Aplicación de Internet: GOOGLE (III)
• Una respuesta típica a una consulta es de unos 4000 bytes
• Aproximadamente se producen unos 70 millones de consultas diarias
• Demanda media de ancho de banda: (1% del ancho de banda del enlace)
• La información se recoge en uno de los sitios, pero el índice final y la cache de páginas
(unos 5 TBytes) deben replicarse en los otros dos sitios:
• El crecimiento de Google es de un 20% al mes y el número de páginas indexadas se dobla
cada año desde 1997.
16
Aplicaciones y Mercados: Computadores Empotrados
• Los computadores embebidos sustituyen la electrónica analógica en
muchos aparatos y dispositivos y en móviles, DVDs, video-juegos, etc.
• En estos sistemas se exige:
– Consumo de potencia reducido
– Prestaciones elevadas específicas para la aplicación (aplicaciones que
requieren procesadores de 8 o 16 bits de menos de un euro hasta
procesadores de altas prestaciones que ejecutan giga instrucciones por
segundo y cuesta cientos de euros en video juegos y conmutadores de red,
tiempo real, etc.)
– Coste reducido
– Memoria reducida (ajustada a la capacidad de un chip): reducir código y
datos (uso de optimizaciones en ensamblador)
• Arquitecturas: VLIW, DSPs
17
Ejemplo: Computador de Bolsillo Itsy (Compaq)
Permite ejecutar aplicaciones como el
reconocimiento continuo del habla y
decodificación MPEG-1 en tiempo real
– Peso: 130 g.
– Dimensiones: 118x65x16 (mm)
• Procesador: StrongARM (191MHz)
• DRAM: 32 MBytes (EDO 50 ns)
• Flash: 32 MBytes (90 ns)
• Consumo: 2.2 Wxhora (3.3 V / 1.5 o
1.23 V el procesador)
Ejemplo: Cuadricópteros (Parrot)
• Robots voladores de cuatro hélices
• La combinación actividad-inactividad de los motores permiten control en
vuelo de los 4 grados de libertad (yaw, roll, pitch & altitude)

18
Ejemplo: Cuadricópteros
• Ejemplo cuadriocóptero: Parrot AR.Drone
• Procesador Parrot 6 ARM9 468 MHz ARM926EJ Risc CPU
• Prestaciones y características
• Raffaello D’Andrea: The astounding athletic power of quadricopters
• Vijay Kumar: Robots that fly… and cooperate

19
20
Compromiso
Mejora de Prestaciones
• Avances en la Tecnología
– Limites: conforme se disminuye el tamaño de los transistores aumenta su
velocidad, pero también aumenta la resistencia de las líneas de conexión
entre ellos, y por tanto el retardo de las comunicaciones dentro del chip


• Innovación en Arquitectura de Computadores
– Paralelismo: Paralelismo entre instrucciones (ILP) y paralelismo entre
transferencias, hebras, tareas, procesos…


– Localidad: Acceso rápido a los datos e instrucciones necesarios (jerarquía de
memoria…).
21
Influencia de la Tecnología
Eniac Eniac-on-chip Variación
Tubos de vacío 18,000 -
Transistores - 250,000
Resistencias 170,000 -
Capacidades 10,000 -
Dimensiones 24,4x0,91 m
2
8x8 mm
2
3x10
-6

Reloj 100 kHz 20 MHz* 200
Potencia 174 kW 0.5 W* 1/348000
* = estimado
22
Reducción de tamaño
de dispositivos (a)
Aumento de tamaño
de los CI (b)
Cambio de tecnología
(Ej. CMOS a AsGa)
Influencia de la Tecnología (I)
Aumento de la velocidad
de los dispositivos
Aumento de la
Capacidad de
Procesamiento
(?)
Aumento del número de
dispositivos: O(b2)
Aumento de la
Capacidad de
Procesamiento
O(b2)
Aumento de velocidad de
los dispositivos: O(a)
Aumento del número de
dispositivos: O(a2)
Aumento de la
Capacidad de
Procesamiento
O(a3)
23
Influencia de la Tecnología (II)
¿A qué ritmo mejora la tecnología?
El aumento de la densidad de
dispositivos, su velocidad, y el tamaño
de los CI permitirían hasta un
72%-88% de mejora anual de la
capacidad de procesamiento del CI.
Ley de Moore (1979): El número de
Transistores por Circuito Integrado se dobla
cada 18-24 meses (asumiendo precio
constante del CI):
Entre un 40% y un 57% de mejora anual
• Densidad de Transistores: 35% anual
(DRAMs: 40%-60% anual)
• Velocidad de Transistores: 16% anual
(DRAMs: latencia un 33% y ancho de
banda por chip un 66% en 10 años)
• Tamaño del dado: 10%-20% anual
• Número de Transistores/Chip: 55%
anual
24




Primera

Segunda

Tercera

Cuarta

Años

1946-54

1955-63

1964-70

1971-

Tecnología
(dispositivos
y período de
reloj)

Tubos de vacío
Memorias de
líneas de
retardo
ms

Transistores.
Memorias de núcleos
de ferritas
µs

C.I. (SSI y MSI)
Memorias de C.I.

ns

C.I. (LSI y VLSI)
Memorias DRAM

ns

Arquitectura
y
Estructura

Aritmética de
punto fijo

Aritmética exponencial
Registros índices
Procesadores de E/S

Microprogramación
Memorias cachés
Memoria Virtual

Microprocesadores.
Arquitecturas RISC y
paralelas

S. Operativos

sin S.O.

Monitores "batch"

Multiprogramación
Multiprocesamiento

S.O. en red
S.O. distribuidos

Computado-
res represen-
tativos

ENIAC,
UNIVAC I
IBM 702,650

IBM 1401, 1620, 7094
UNIVAC 1004
CDC 1604

IBM 360, 370
DEC PDP mini-
comp. UNIVAC
1100

DEC VAX, Alpha
DG Eclipse, Aviion
Cray-1, IBM-PC
HP 9000/750 WS

C.I.: Circuito Integrado; L: Lenguaje; WS: estaciones de trabajo; PC: computadores personales
Tecnología + Arquitectura Tecnología
70’s: 25% -
30% en
mainframes y
minicomputadores

Final de los 70:
35%
Microprocesador
Influencia de la Tecnología (III)
Generaciones de Computadores
25
Mejora relativa de
Prestaciones en
Microprocesadores
Tecnología
Tecnología +
Arquitectura
Influencia de la Tecnología (IV)
26
El impacto de la tecnología se produce en muchos casos de forma discontinua:
- Cuando los CI MOS pasaron a integrar entre 25k y 50k transistores, se pudo integrar un
micro de 32 bits
- A finales de los 80 se pudo integrar caches de primer nivel en los chips
Influencia de la Tecnología (V)
• Tecnología DRAM.
– Densidad de integración: 40%-60% anual (cuadruplica en 3-4 años)
– Ciclo de reloj: se reduce un tercio cada 10 años
– Ancho de banda: crece dos veces más rápido que la latencia se reduce
• Tecnología de Disco.
– Densidad de integración: recientemente más del 100% anual (cuadruplica en
2 años), antes de 1990 crecía un 30% anual (se dobla en tres años).
– Tiempo de acceso: se reduce un tercio cada 10 años
• Tecnología de Red.
– Ancho de banda: 10 Mb/s a 100 Mb/s en 10 años, 100 Mb/s a 1 Gb/s en 5
años
27
256M-256G
64M-64G
Tecnologia (micras)
0
0,05
0,1
0,15
0,2
0,25
0,3
1995 2000 2005 2010 2015
DRAM
uP
Tecnologia (micras)
0
0,05
0,1
0,15
0,2
0,25
0,3
1995 2000 2005 2010 2015
DRAM
uP
Capacidad DRAM (Mbits)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1995 2000 2005 2010 2015
Maxima
Prod.
Transistores/Chip (Millones)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1995 2000 2005 2010 2015
Trans/CI
Frecuencia Máxima (MHz)
0,E+00
5,E+02
1,E+03
2,E+03
2,E+03
3,E+03
3,E+03
4,E+03
1995 2000 2005 2010 2015
Frec(Max)
0.25-0.05
0.20-0.03
11M-1,4B
750M-3G
256M-256G
64M - 64G
256M-256G
64M-64G
Tecnologia (micras)
0
0,05
0,1
0,15
0,2
0,25
0,3
1995 2000 2005 2010 2015
DRAM
uP
Tecnologia (micras)
0
0,05
0,1
0,15
0,2
0,25
0,3
1995 2000 2005 2010 2015
DRAM
uP
Capacidad DRAM (Mbits)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1995 2000 2005 2010 2015
Maxima
Prod.
Transistores/Chip (Millones)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1995 2000 2005 2010 2015
Trans/CI
Frecuencia Máxima (MHz)
0,E+00
5,E+02
1,E+03
2,E+03
2,E+03
3,E+03
3,E+03
4,E+03
1995 2000 2005 2010 2015
Frec(Max)
Tecnologia (micras)
0
0,05
0,1
0,15
0,2
0,25
0,3
1995 2000 2005 2010 2015
DRAM
uP
Capacidad DRAM (Mbits)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1995 2000 2005 2010 2015
Maxima
Prod.
Transistores/Chip (Millones)
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1995 2000 2005 2010 2015
Trans/CI
Frecuencia Máxima (MHz)
0,E+00
5,E+02
1,E+03
2,E+03
2,E+03
3,E+03
3,E+03
4,E+03
1995 2000 2005 2010 2015
Frec(Max)
0.25-0.05
0.20-0.03
11M-1,4B
750M-3G
256M-256G
64M - 64G
Influencia de la Tecnología (VI)
Algunas predicciones sobre la evolución tecnológica [SIA99]
Arquitectura de Computadores I. Tema 1. Lección 2
28
Influencia de la Tecnología (VII)
Reducción del tamaño característico de la Tecnología ! Los retardos de
comunicación se hacen mayores que los tiempos de conmutación de los transistores:
– Las líneas se hacen más lentas (mayor resistividad) y los transistores más rápidos.
Transistores
más lentos
En un ciclo de reloj se puede acceder a
menos área del CI
Arquitecturas sencillas y/o
con comunicaciones
locales: VLIW, CMPs
(Multiprocesadores en un
chip)
Consecuencias en la reducción del
tiempo de ciclo y en el IPC:
De crecimientos del 50% se puede
pasar al 12%-17%
Arquitectura de Computadores I. Tema 1. Lección 2
29
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:
• Plataformas
portátiles y móviles
• Servidores de altas
prestaciones a base
de computadores
interconectados
(clusters):
8000 computadores y 2300
m
2
de Intel consume unos 2
Megawatios (25% del costo
de mantenimiento).
TIC: 8% de consumo en
USA
10
15
20
25
30
21064 21164 21264 21364
W/cm
2
1.5 350 1000 100 21364
2.0 302 667 72 21264
3.3 299 300 50 21164
3.3 234 200 30 21064
V mm2 MHz W (pico) Micro
1.5 350 1000 100 21364
2.0 302 667 72 21264
3.3 299 300 50 21164
3.3 234 200 30 21064
V mm
2
MHz W (pico) Micro
Ejemplo:
En el Alpha, la potencia
consumida casi ha
llegado a 30 W/cm
2
:
Tres veces la usual en
un plato caliente
Influencia de la Tecnología (VIII)
30
Potencia = ACV
2
f+ tAVI
short
+ VI
leak
Consumo dinámico al
cargar y descargar la
capacidad a la salida de
una puerta Si se reduce
V se reduce el consumo
de potencia pero
disminuye la frecuencia
a la que funciona
Debida a la
corriente I
short
que
fluye durante un
instante t al
conmutar una
puerta
Debida a la corriente
I
leakeage
que es
independiente del
estado de la puerta
y aumenta al
reducirse la tensión
umbral en los
transistores
f
max
= B (V – V
thres
)
2
/V I
leak
= H exp(-qV
thres
/KT)
Al reducir V hay que reducir V
thres
y aumenta la importancia de I
leak
Potencia = ACV
2
f+ tAVI
short
+ VI
leak
Consumo dinámico al
cargar y descargar la
capacidad a la salida de
una puerta Si se reduce
V se reduce el consumo
de potencia pero
disminuye la frecuencia
a la que funciona
Debida a la
corriente I
short
que
fluye durante un
instante t al
conmutar una
puerta
Debida a la corriente
I
leakeage
que es
independiente del
estado de la puerta
y aumenta al
reducirse la tensión
umbral en los
transistores
f
max
= B (V – V
thres
)
2
/V I
leak
= H exp(-qV
thres
/KT)
Al reducir V hay que reducir V
thres
y aumenta la importancia de I
leak
La mejora de
prestaciones no
puede continuar
mucho
incrementando la
potencia consumida:

Mejoras a nivel del
proceso de
fabricación
Mejoras a nivel de los
circuitos

Mejoras a nivel de
la arquitectura

Ajuste de la frecuencia de funcionamiento por parte
del S.O., paralelismo, optimización del uso de la
memoria y los buses, etc.
Influencia de la Tecnología (IX)
31
Paralelismo
Segmentación de los cauces (pipeline)
Cada elemento se divide en una serie de etapas por las que van pasando los operandos,
instrucciones,… al ser procesados. El funcionamiento independiente de de cada etapa permite que
se puedan ejecutar distintas operaciones, instrucciones,.. concurrentemente.
• Diseño de procesadores (paralelismo entre instrucciones o ILP): procesadores segmentados
(procesadores superescalares y VLIW, procesadores vectoriales)
• Diseño de unidades funcionales: sumadores segmentados, multiplicadores segmentados,….
Repetición de elementos
Utilizar varias unidades funcionales, procesadores, módulos de memoria, etc. para distribuir el trabajo.
• Nivel de sistema: multiprocesadores, controladores de DMA, procesadores de I/O..
• Nivel de procesador: varias unidades funcionales (procesadores superescalares, VLIW,
Vectoriales…)
Localidad
Acercar datos e instrucciones al lugar donde se necesitan para que el acceso a los mismos sea lo más
rápido posible (jerarquía de memoria)
Mejoras en la Arquitectura
32
1 2 3
1 1 1 1
2 2 2 2
3 3 3 3
A C D B
El diseño de la unidad
se realiza de forma que
cada una de las fases
A, B, C, y D de la
misma se puedan
ejecutar
independientemente
Tiempo sin segmentación de tres operaciones
Tiempo con segmentación
de las tres operaciones
Una vez acaba la primera
operación (tiempo de
latencia de inicio) cada
intervalo de tiempo igual al
tiempo de etapa se termina
otra operación
Unidad no
segmentada
Segmentación de Cauce
33
Cray 1: Múltiples Unidades Funcionales (ejecución paralela de operaciones distintas)
Tarjeta SMP SHV de Intel
Varios Procesadores (mejora
capacidad de cómputo)
Varias ranuras PCI (mejorar I/O)

Canales/Procesadores I/O permiten
concurrencia entre operaciones de
E/S y cómputo
Repetición de Elementos
34
Jerarquía de Memoria: reducir el tiempo de acceso a coste razonable
Alpha 21164
Caches On-chip
Registros internos
Localidad
35

1. Estrategias para mejorar las prestaciones de los computadores

2. Clasificación de las arquitecturas
1. Según los flujos de instrucciones y datos (Flynn)
2. Según el tipo y el nivel de paralelismo (Sima)

Contenidos
36
Como toda clasificación, una clasificación (o taxonomía) de arquitecturas
persigue dividir el conjunto de los computadores en una serie de clases de
forma que, si se sabe la clase a la que pertenece un computador,
automáticamente se conocen una serie de características interesantes del
mismo.
Flujos de
Instrucciones
Flujos de Datos
Uno
(Single)
Varios
(Multiple)
Uno
(Single)
SISD MISD
Varios
(Multiple)
SIMD MIMD
Taxonomía de Flynn (66)
Clasificaciones de Arquitecturas
37
CPU
UP
MM
Descripción Estructural
Descripción Funcional
Corresponde a los computadores uni-procesador
for i:=1 to 4 do
begin
C[i]:=A[i]+B[i];
F[i]:=D[i]-E[i];
G[i]:=K[i]*H[i];
end;
FD
FI
SISD (Un flujo de instrucciones y un flujo de datos)
38
Descripción
Estructural
Descripción
Funcional
for all EPi(i:=1 to 4) do
begin
C[i]:=A[i]+B[i];
F[i]:=D[i]-E[i];
G[i]:=K[i]*H[i];
end;
ADDV C,A,B
SUBV F,D,E
MULV G,K,H
Procesadores
Vectoriales
Procesadores
Matriciales
Aprovechan paralelismo de datos
CPU
Descripción
Estructural
SIMD (Un flujo de instrucciones y varios flujos de datos)
39
C[1]=A[1]+B[1]
F[1]=D[1]-E[1]
G[1]=K[1]*H[1]
C[2]=A[2]+B[2]
F[2]=D[2]-E[2]
G[2]=K[2]*H[2]
C[3]=A[3]+B[3]
F[3]=D[3]-E[3]
G[3]=K[3]*H[3]
C[4]=A[4]+B[4]
F[4]=D[4]-E[4]
G[4]=K[4]*H[4]
EP1 EP2 EP3 EP4
C = A+B
F = D – E
G = K*H
UC
Procesador Matricial
Procesador Vectorial
ADDV
SUBV
MULTV
A[i]
B[i]
C[i]
D[i]
E[i]
F[i]
K[i]
H[i]
G[i]
Sumador
Restador
Multiplicador
Flujo de Instrucciones
Flujos de Datos
Flujo de Instrucciones
Flujos de
Datos
Ejemplo de Ejecución SIMD
40
Data
CPUs
Descripción
Funcional
Descripción Estructural
Corresponde a los Multiprocesadores: Puede aprovechar paralelismo funcional
for i:=1 to 4 do
begin
C[i]:=A[i]+B[i];
end;

Proc 1
for i:=1 to 4 do
begin
F[i]:=D[i]-E[i];
end;

Proc 2
for i:=1 to 4 do
begin
G[i]:=K[i]*H[i];
end;

Proc 3
MIMD (Varios flujos de instrucciones y de datos)
41
• No existen computadores que funcionen según este modelo
• Se puede implementar un modelo MISD sobre un modelo
MIMD con las correspondientes primitivas de sincronización
CPUs
MISD (Varios flujos de instrucciones y uno de datos)
42
Tipos de Paralelismo
Paralelismo de Datos
La misma función, instrucción, etc. se ejecuta en paralelo pero en cada una de esas
ejecuciones se aplica sobre un conjunto de datos distinto

Paralelismo Funcional
Varias funciones, tareas, instrucciones, etc. (iguales o distintas) se ejecutan en
paralelo
Niveles de Paralelismo Funcional (según el tipo de entidades funcionales que se
ejecutan en paralelo):
1. Nivel de Instrucción (ILP) (Granularidad Fina)
2. Nivel de Bucle o Hebra (Thread) (Granularidad Fina-Media)
3. Nivel de Procedimiento (Procesos) (Granularidad Media)
4. Nivel de Programa (Granularidad Gruesa)
Arquitectura
S.O. y
Usuario
43
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
Inst. 1
Inst. 2
Inst. 1
Inst. 2
Inst. 3
Inst. 4
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
Inst. 1
Inst. 2
Inst. 3
Inst. 4
5T
Procesador no segmentado
1/(5T)
Procesador Segmentado
1/(T)
Procesador Superescalar o WLIW
2/(T)
Paralelismo entre Instrucciones (ILP) (I)
44
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
Inst. 1
Inst. 2
Inst. 1
Inst. 2
Inst. 3
Inst. 4
5T
Procesador no segmentado
1/(5T)
Procesador Segmentado
1/(T)
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
Inst. 1
Inst. 2
Inst. 3
Inst. 4
Procesador Supersegmentado
1/(T/2)=2/T
Paralelismo entre Instrucciones (ILP) (II)
45
E/S IF ID OF
Datos Escalares
Datos Vectoriales
Flujo
Instr.
Control
Reg. Escalares
Cauces Esc.
Reg. Vectoriales
Cauces Vector.
Unidad Escalar
Unidad Vectorial Procesador
Vectorial
Memoria
Principal
Unidad
LOAD/STORE
E/S IF ID OF
Datos Escalares
Datos Vectoriales
Flujo
Instr.
Control
Reg. Escalares
Cauces Esc.
Reg. Vectoriales
Cauces Vector.
Unidad Escalar
Unidad Vectorial Procesador
Vectorial
Memoria
Principal
Unidad
LOAD/STORE
a2
a1
a3
a4
b2
b1
b3
b4
a1+b1
a2+b2
a3
b3
a4
b4
a5
b5
a6
b6
a7
b7
a8
b8
Registros
Vectoriales
Cauce Vectorial
Registro Vectorial
a2
a1
a3
a4
b2
b1
b3
b4
a1+b1
a2+b2
a3
b3
a4
b4
a5
b5
a6
b6
a7
b7
a8
b8
Registros
Vectoriales
Cauce Vectorial
Registro Vectorial
El procesamiento de
instrucciones está
segmentado y se
utilizan múltiples
unidades funcionales
Paralelismo de datos:
cada instrucción vectorial
codifica una operación
sobre todos los
componentes del vector
Unidades funcionales
segmentadas
Procesadores Vectoriales: ILP y Paralelismo de Datos
46
Taxonomía de Flynn Paralelismo Funcional Paralelismo de Datos
SISD
Proc. Segmentados
Proc. Superescalares
Proc. VLIW
SIMD
Proc. Vectoriales
Proc. Matriciales
Proc. Sistólicos
MIMD
Memoria Compartida: Acceso
Uniforme (SMPs), Acceso no
Uniforme o Distribuida
(NUMA, COMA)
Paso de Mensajes (NORMA):
Multicomputadores, Clusters
Tipos de Arquitecturas según Paralelismo y Taxonomía de Flynn
47
Para ampliar …
• Páginas Web:
– bwrc.eecs.berkeley.edu/CIC/summary
– www.geek.com/procspec/procspec.htm
– www.research.digital.com/wrl/projects/Itsy/index.html
• Artículos de Revistas:
– Hennessy, J.: “The Future of Systems Research”. IEEE Computer, pp.27-33.
Agosto, 1999.
– Hennessy, J.; Jouppi, P.: “Computer Technology and Architecture: An
Evolving Interaction. IEEE Computer, pp.18-29. Septiembre, 1991.
– Vajapeyan, S.; Valero, M.: “Early 21st Century Processors”. IEEE Computer,
pp. 47-50, April 2001.