Está en la página 1de 30

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?
Bibliografía

1. J. L. HENNESSY and D. A. PATTERSON.


Computer Architecture. A Quantitative Approach,
Morgan Kaufmann, 3rd 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.

2
Contenidos

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

3
Evolución de los Computadores

Posibilidades

Capacidades
Promueve Prestaciones

Tecnología Arquitectura Aplicaciones


Posibilidades Selección

Posibilidades Demanda
Restricciones
Nuevas Económicas
Restricciones Generación

Mercado
Fundamental
Fuerte
Visible
Adaptado de Vajapeyam/Valero (Computer, Abril 2001)

4
Computadores, Aplicaciones y Mercados (I)
60 70 80 90 00

Mainframes
Servidores
Grandes
computadores para
aplicaciones de
Minicomputadores
negocios y científicas Aplicaciones científicas
de gran volumen. en laboratorios y
pequeñas WWW
organizaciones
Redes

PCs y
Microprocesadores Estaciones de
Trabajo

Computadores
Rápido crecimiento (tecnología y herramientas de diseño): Embebidos
electrónica digital de altas prestaciones, videojuegos,
teléfonos móviles, tarjetas inteligentes, conmutadores,….

5
Aplicaciones y Mercados: Cálculo Científico (I)

Gigaflops

6
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…

Compromiso
– Localidad: Acceso rápido a los datos e instrucciones necesarios (jerarquía de
memoria…).

7
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 -
2
Dimensiones 24,4x0,91 m 8x8 mm2 3x10-6
Reloj 100 kHz 20 MHz* 200
Potencia 174 kW 0.5 W* 1/348000
* = estimado

8
Influencia de la Tecnología (I)

Aumento de velocidad de
los dispositivos: O(a) Aumento de la
Reducción de tamaño Capacidad de
de dispositivos (a) Procesamiento
Aumento del número de O(a3)
dispositivos: O(a2)

Aumento de la
Aumento de la
Aumento del número de Capacidad de
capacidad de los CI
dispositivos: O(b2) Procesamiento
(b)
O(b2)

Aumento de la
Cambio de tecnología Aumento de la velocidad
Capacidad de
(Ej. CMOS a AsGa) de los dispositivos
Procesamiento

9
Influencia de la Tecnología (II)

¿A qué ritmo mejora la tecnología?

• 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

Ley de Moore (1979): El número de El aumento de la densidad de


Transistores por Circuito Integrado se dobla dispositivos, su velocidad, y el tamaño
cada 18-24 meses (asumiendo precio de los CI permitirían hasta un
constante del CI):
72%-88% de mejora anual de la
Entre un 40% y un 57% de mejora anual capacidad de procesamiento del CI.

10
Influencia de la Tecnología (III)

Generaciones de Computadores

70’s: 25% -
30% en
mainframes y
minicomputadores

Final de los 70:


35%
Microprocesador

Tecnología + Arquitectura Tecnología

11
Influencia de la Tecnología (IV)

Mejora relativa de
Prestaciones en
Microprocesadores

Tecnología +
Tecnología
Arquitectura

12
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

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

13
Influencia de la Tecnología (VI)

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 Consecuencias en la reducción del


más lentos
tiempo de ciclo y en el IPC:
De crecimientos del 50% se puede
pasar al 12%-17%

Arquitecturas sencillas y/o


con comunicaciones
locales: VLIW, CMPs
En un ciclo de reloj se puede acceder a
(Multiprocesadores en un
menos área del CI chip)
Arquitectura de Computadores I. Tema 1. Lección 2
14
Influencia de la Tecnología (VII)

Aumento de la densidad de transistores y el funcionamiento a


frecuencias mayores ⇒ Aumento de la Potencia disipada por los CI

El consumo es esencial
30
en:
Ejemplo:
25 • Plataformas
En el Alpha, la potencia
portátiles y móviles
20 W/cm2 consumida casi ha
llegado a 30 W/cm2: • Servidores de altas
15
Tres veces la usual en prestaciones a base
un plato de computadores
10
21064 21164 21264 21364 caliente interconectados
(clusters):
Micr W (pico) MH mm2
mm2 V TIC: 8% de consumo en
o21064 30 z200 234 3.3 USA

21164 50 300 299 3.3


21264 72 667 302 2.0
21364 100 1000 350 1.5

Arquitectura de Computadores I. Tema 1. Lección 2


15
Mejoras en la Arquitectura

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)

16
Segmentación de Cauce

1 2 3

Unidad no
segmentada Tiempo sin segmentación de tres operaciones

Tiempo con segmentación


de las tres operaciones
A B C D 1 1 1 1
2 2 2 2
El diseño de la unidad
se realiza de forma que 3 3 3 3
cada una de las fases Una vez acaba la primera
A, B, C, y D de la operación (tiempo de
latencia de inicio) cada
misma se puedan
intervalo de tiempo igual al
ejecutar tiempo de etapa se termina
independientemente otra operación

17
Contenidos

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)

18
Clasificaciones de Arquitecturas

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 Uno Varios
Flujos de Datos (Single) (Multiple)
Uno
SISD MISD
(Single)
Varios
SIMD MIMD
(Multiple)
Taxonomía de Flynn (66)

19
SISD (Un flujo de instrucciones y un flujo de datos)

Descripción Estructural Descripción Funcional

MM

FI
FD

CPU
Corresponde a los computadores uni-procesador

for i:=1 to 4 do
begin UP
C[i]:=A[i]+B[i];
F[i]:=D[i]-E[i];
G[i]:=K[i]*H[i];
end;

20
SIMD (Un flujo de instrucciones y varios flujos de datos)

Descripción Descripción
Estructural Funcional
CPU

Aprovechan paralelismo de datos

Procesadores
for all EPi(i:=1 to 4) do
begin Matriciales
C[i]:=A[i]+B[i]; ADDV C,A,B
F[i]:=D[i]-E[i]; SUBV F,D,E
G[i]:=K[i]*H[i]; Procesadores MULV G,K,H
end; Vectoriales

21
Ejemplo de Ejecución SIMD
Procesador Matricial
UC EP1 EP2 EP3 EP4
C = A+B C[1]=A[1]+B[1] C[2]=A[2]+B[2] C[3]=A[3]+B[3] C[4]=A[4]+B[4]
F=D–E F[1]=D[1]-E[1] F[2]=D[2]-E[2] F[3]=D[3]-E[3] F[4]=D[4]-E[4]
G = K*H G[1]=K[1]*H[1] G[2]=K[2]*H[2] G[3]=K[3]*H[3] G[4]=K[4]*H[4]

Flujo de Instrucciones Flujos de Datos

Procesador Vectorial
A[i] C[i]
Sumador
ADDV B[i] Flujos de
SUBV Datos
D[i] F[i]
MULTV Restador
E[i]
K[i] G[i]
Multiplicador
Flujo de Instrucciones H[i]

22
MIMD (Varios flujos de instrucciones y de datos)
Descripción
CPUs Funcional

Data

Descripción Estructural

Corresponde a los Multiprocesadores: Puede aprovechar paralelismo funcional

for i:=1 to 4 do for i:=1 to 4 do for i:=1 to 4 do


begin begin begin
C[i]:=A[i]+B[i]; F[i]:=D[i]-E[i]; G[i]:=K[i]*H[i];
end; end; end;

Proc 1 Proc 2 Proc 3

23
MISD (Varios flujos de instrucciones y uno de datos)

CPUs

• 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

24
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)
Arquitectura
2. Nivel de Bucle o Hebra (Thread) (Granularidad Fina-Media)
3. Nivel de Procedimiento (Procesos) (Granularidad Media) S.O. y
Usuario
4. Nivel de Programa (Granularidad Gruesa)

25
Paralelismo entre Instrucciones (ILP) (I)

Procesador no segmentado
Inst. 1 IF ID EX MEM WB 1/(5T)
Inst. 2 5T IF ID EX MEM WB

Inst. 1 IF ID EX MEM WB Procesador Segmentado

Inst. 2 IF ID EX MEM WB 1/(T)

Inst. 3 IF ID EX MEM WB
Inst. 4 IF ID EX MEM WB

Inst. 1 IF ID EX MEM WB Procesador Superescalar o WLIW


Inst. 2 IF ID EX MEM WB 2/(T)

Inst. 3 IF ID EX MEM WB
Inst. 4 IF ID EX MEM WB

26
Paralelismo entre Instrucciones (ILP) (II)

Procesador no segmentado
Inst. 1 IF ID EX MEM WB 1/(5T)
Inst. 2 5T IF ID EX MEM WB

Inst. 1 IF ID EX MEM WB Procesador Segmentado

Inst. 2 IF ID EX MEM WB 1/(T)

Inst. 3 IF ID EX MEM WB
Inst. 4 IF ID EX MEM WB

Inst. 1 IF ID EX MEM WB Procesador Supersegmentado

Inst. 2 IF ID EX MEM WB 1/(T/2)=2/T

Inst. 3 IF ID EX MEM WB
Inst. 4 IF ID EX MEM WB

27
Procesadores Vectoriales: ILP y Paralelismo de Datos

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

28
Tipos de Arquitecturas según Paralelismo y Taxonomía de Flynn

Taxonomía de Flynn Paralelismo Funcional Paralelismo de Datos

Proc. Segmentados
SISD Proc. Superescalares
Proc. VLIW

Proc. Vectoriales

SIMD
Proc. Matriciales
Proc. Sistólicos

Memoria Compartida: Acceso


Uniforme (SMPs), Acceso no
Uniforme o Distribuida
MIMD (NUMA, COMA)
Paso de Mensajes (NORMA):
Multicomputadores, Clusters

29
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.

30

También podría gustarte