Es m1 01 Fund Hout

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Fundamentos del Diseño de Computadores

Fundamentos del Diseño de Computadores


Arquitectura de Computadores

J. Daniel García Sánchez (coordinador)

Departamento de Informática
Universidad Carlos III de Madrid

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 1/27


Fundamentos del Diseño de Computadores

Licencia Creative Commons


c Este trabajo se distribuye bajo licencia Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Usted es libre de:

Compartir – copiar y redistribuir el material en cualquier medio o formato.


El licenciador no puede revocar estas libertades mientras cumpla con los términos de la licencia.

Bajo las condiciones siguientes:

b Reconocimiento – Debe reconocer adecuadamente la autoría, proporcionar un enlace a la licencia e indicar si se han
realizado cambios. Puede hacerlo de cualquier manera razonable, pero no de una manera que sugiera que tiene el apoyo del
licenciador o lo recibe por el uso que hace.
e NoComercial – No puede utilizar el material para una finalidad comercial.
d CompartirIgual – Si remezcla, transforma o crea a partir del material, debe distribuir su contribución bajo la misma licencia
del original.

No hay restricciones adicionales – No puede aplicar términos legales o medidas tecnológicas que legalmente restrinjan
realizar aquello que la licencia permite.

Texto completo de la licencia disponible en


https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 2/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

1 Perspectiva histórica

2 Clasificación de computadores

3 Paralelismo

4 Arquitectura del Computador

5 Conclusión

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 3/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Tecnología
ASCI Red Computer: 1.3 TFLOPS Samsung S22: 1.2 – 2.2 TFLOPS

By Sandia National Laboratories, Public Domain By Trusted Reviews, Creative Commons BY-NC-ND 4.0
https://commons.wikimedia.org/w/index.php?curid= https://www.trustedreviews.com/versus/samsung-galaxy-s22-ult
28171282 ra-vs-samsung-galaxy-s22-plus-vs-samsung-galaxy-s22-4207904

1997 2022
cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 4/27
Fundamentos del Diseño de Computadores
Perspectiva histórica

Primera revolución: El microprocesador

La revolución del microprocesador.


Generada a partir de un único cambio.
Suficientes transistores (25,000) en un único chip para un procesador de 16 bits.
Ventajas:
Más rápido: Menos salidas del chip.
Más barato: Todo en un chip.
Nuevos segmentos de mercado generados por la innovación.
Computadores de escritorio, CD/DVD, portátiles, consolas de videojuego,
decodificadores TV, cámaras digitales, MP3, GPS, . . .
Impacto en mercados existentes:
Supercomputadores, mainframes, . . .

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 5/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Primer microprocesador

Intel 4004 (1971).


Dominio de aplicación: Calculadoras.
Tecnología: 10,000 nm.
Datos:
2300 transistores. Intel 4004, foto de Rostislav Lisovy
13 mm2.
108 KHz.
12 Voltios.
Características:
Datos de 4 bits.
Camino de datos en un ciclo.
Unicom 141P Calculator 3 foto de Michael
Holley.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 6/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Efectos de los microprocesadores

Producción en masa de microprocesadores.


Fuerte reducción de coste unitario.
Crecimiento de la fracción de computadores basados en microprocesadores.

Cambios significativos en el mercado:


Eliminación casi total de la necesidad de programación en ensamblador.
Sistemas operativos estandarizados e independientes del fabricante.
UNIX → Linux.
Reducción de costes para nuevas arquitecturas.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 7/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Segunda revolución

Extracción del paralelismo implícito a nivel de instrucción (ILP).


El hardware tiene recursos que pueden usarse en paralelo.

Elementos:
Segmentación: Permitió incrementar frecuencias de reloj.
Cachés: Necesarias para incrementar las frecuencias de reloj.
Coma flotante: Integradas en el chip.
Incremento en la profundidad del pipeline y especulación de salto.
Emisión múltiple: Arquitecturas superescalares.
Planificación dinámica: Ejecución fuera de orden.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 8/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Culminación de procesadores de un núcleo


Intel Pentium 4 (2003).
Dominio de aplicación: Escritorio/Servidor.
Tecnología: 90 nm (1/100x).
Datos:
55M transistores (20,000x).
101 mm2 (10x).
Die of Intel Pentium 4
(Northwood) 3.4 GHz (10,000x).
Source: http://gecko5
4000.free.fr
1.2 Volts (1/10x).
Características:
Datos de 32/64 bits (16x).
Segmentación en 22 etapas (más tarde 31).
3-4 instrucciones por ciclo (superescalar).
Dos niveles de caché en chip.
Paralelismo de datos (SIMD).
Hyper-threading.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 9/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Tercera revolución

Soporte a paralelismo explícito de datos y de hilos.


Hardware ofrece recursos paralelos y software especifica su uso.
El paralelismo deja de ser ocultado por el hardware.
Razón: Beneficios cada vez menores de ILP.

Elementos:
Instrucciones vectoriales: Intel SSE, AVX, AVX-2, . . .
Soporte general para aplicaciones multi-hilo.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 10/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Procesadores multi-core

Intel Core i7 (2009).


Dominio de aplicación: Escritorio / Servidor.
Tecnología: 45 nm (1/2x).
Datos:
774M transistores (12x).
296 mm2 (3x).
3.2 GHz – 3.6 GHz (≈1x).
0.7 – 1.4 Voltios (≈1x).
Die of Intel Core i7 (Nehalem)
Características: Source: www.legitreviews.com

Datos de 128 bits (2x).


Segmentación de 14 etapas (0.5x).
4 instrucciones por ciclo (≈1x).
Tres niveles de caché en chip.
SIMD, hyper-threading
4 cores (4x).

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 11/27


Fundamentos del Diseño de Computadores
Perspectiva histórica

Tendencias arquitectónicas

Paralelismo a nivel de instrucción:


Ejecución paralela de instrucciones.
Imposible mejorar significativamente ILP desde 2003-2005.
El hardware y el compilador conspiran para ocultar detalles al programador.
Programador con vista muy simplificada del hardware.

Nuevos modelos para mejorar rendimiento:


Data-Level Parallelism (DLP).
Thread-Level Parallelism (TLP).
Request-Level Parallelism (RLP).

IMPORTANTE: Todos ellos requieren reestructurar las aplicaciones para


conseguir los incrementos de rendimiento prometidos.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 12/27


Fundamentos del Diseño de Computadores
Clasificación de computadores

1 Perspectiva histórica

2 Clasificación de computadores

3 Paralelismo

4 Arquitectura del Computador

5 Conclusión

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 13/27


Fundamentos del Diseño de Computadores
Clasificación de computadores

Clases de computadores

Internet de las cosas y computación empotrada.


Dispositivos Móviles Personales (PMD – Personal Mobile Devices).
Computadores de escritorio.
Servidores.
Clusters y Computadores de Escala de Almacén (WSC – Warehouse Scale
Computers).

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 14/27


Fundamentos del Diseño de Computadores
Clasificación de computadores

Actividad

1 Lee la sección 1.2 – Classes of Computers (páginas 6–10).


Fuente: Computer Architecture: A Quantitative Approach. 6th Ed.
Hennessy and Patterson. Morgan Kaufmann. 2017.

2 Aspectos clave:
¿Cómo definirías cada clase de computador?
¿Cuáles son los factores críticos a considerar?
Precio de sistema frente a precio de microprocesador.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 15/27


Fundamentos del Diseño de Computadores
Paralelismo

1 Perspectiva histórica

2 Clasificación de computadores

3 Paralelismo

4 Arquitectura del Computador

5 Conclusión

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 16/27


Fundamentos del Diseño de Computadores
Paralelismo

Velocidad de máquina secuencial

Una máquina secuencial de 1 TFLOP (1012 FLOPS):


Los datos deben viajar una cierta distancia (r ) desde memoria a CPU.
1 dato elemental por ciclo:
⇒ 1012 veces por segundo ⇒ 10−12 s. por ciclo.
Datos viajando a la velocidad de la luz: c = 3 · 108 m/s.
r = 3 · 108 · 10−12 = 0.3mm

1 TB de datos en superficie de 0.3 mm2 :


Cada dato debería almacenarse en 3 Ángstrom (aprox.).
¡El tamaño de un átomo pequeño!

CONCLUSIÓN: Aproximación secuencial no factible.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 17/27


Fundamentos del Diseño de Computadores
Paralelismo

Tipos de paralelismo

Paralelismo: La única alternativa para mejorar el rendimiento.

Restricciones:
Consumo energético.
Costes.

Tipos de paralelismo en las aplicaciones:


Paralelismo de datos: Una operación aplicada a muchos datos.
Ejemplo: Aplicar la misma operación a todos los píxeles de una imagen.
Paralelismo de tareas: Tareas operan independientemente y en paralelo.
Ejemplo: Una cadena de filtros aplicada a una secuencia de imágenes.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 18/27


Fundamentos del Diseño de Computadores
Paralelismo

Paralelismo hardware

ILP: Instruction-Level Parallelism.


Explota paralelismo de datos con ayuda del compilador (segmentación,
ejecución especulativa, . . . ).
Arquitecturas Vectoriales y GPUs.
Explota paralelismo de datos aplicando la misma operación a varios datos en
paralelo.
TLP: Thread-Level Parallelism.
Explota paralelismo de datos o tareas en hardware altamente acoplado.
Permite interacciones entre hilos.
RLP: Request-Level Parallelism.
Explota paralelismo entre tareas altamente desacopladas.
cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 19/27
Fundamentos del Diseño de Computadores
Paralelismo

Taxonomía de Flynn (1966)

Una clasificación de arquitecturas paralelas posibles.


SISD: Single Instruction Stream / Single Data Stream.
Mono-procesador.
Puede usar técnicas de ILP.
SIMD: Single Instruction Stream / Multiple Data Streams.
Las mismas instrucciones ejecutadas por procesadores diferentes sobre datos
distintos.
Alternativas: Procesadores vectoriales, extensiones multimedia y GPUs.
MISD: Multiple Instructions Streams/ Single Data Stream.
No se conocen implementaciones comerciales.
MIMD: Multiple Instructions Streams / Multiple Data Streams.
Cada procesador opera sobre sus propios datos ⇒ Paralelismo de tareas.
cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 20/27
Fundamentos del Diseño de Computadores
Paralelismo

Más sobre MIMD

Variedad de arquitecturas MIMD:


Arquitecturas altamente acopladas.
TLP (Thread-Level Parallelism): Arquitecturas Multi/Many-core.
Arquitecturas débilmente acopladas:
RLP (Request-Level Parallelism): Clusters y WSCs.

MIMD es:
Más flexible y general que SIMD.
Más caro que SIMD.
Requiere suficiente granularidad de tareas.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 21/27


Fundamentos del Diseño de Computadores
Arquitectura del Computador

1 Perspectiva histórica

2 Clasificación de computadores

3 Paralelismo

4 Arquitectura del Computador

5 Conclusión

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 22/27


Fundamentos del Diseño de Computadores
Arquitectura del Computador

Actividad

1 Read la sección 1.3 – Defining Computer Architecture (páginas 11–18).


Fuente: Computer Architecture: A Quantitative Approach. 6th Ed.
Hennessy and Patterson. Morgan Kaufmann. 2017.

2 Aspectos clave:
Busque la definición actual de Arquitectura de Computador.
Cuál es el significado de ISA?
Identifique y comprenda las siete dimensiones de las ISAs.
¿Cuáles son los subconjuntos de la ISA de RISC-V?

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 23/27


Fundamentos del Diseño de Computadores
Conclusión

1 Perspectiva histórica

2 Clasificación de computadores

3 Paralelismo

4 Arquitectura del Computador

5 Conclusión

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 24/27


Fundamentos del Diseño de Computadores
Conclusión

Resumen

Una secuencia de revoluciones:


Microprocesadores → RISC con ILP y cachés → multi-cores.

Nuevos modelos mejoran rendimiento (DLP, TLP, RLP), pero requieren


reestructurar las aplicaciones.
Diversidad en clases de computadores con variación en propiedades y
requisitos.
IoT/Empotrados, PMDs, Escritorio, Servidores, Cluster/WSC.

Nuevas arquitecturas que combinan SIMD y MIMD.

Diferencia entre ISA y arquitectura.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 25/27


Fundamentos del Diseño de Computadores
Conclusión

Referencias

Computer Architecture: A Quantitative Approach. 6th Ed.


Hennessy and Patterson. Morgan Kaufmann. 2017.
Secciones 1.1, 1.2 y 1.3.

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 26/27


Fundamentos del Diseño de Computadores
Conclusión

Fundamentos del Diseño de Computadores


Arquitectura de Computadores

J. Daniel García Sánchez (coordinador)

Departamento de Informática
Universidad Carlos III de Madrid

cb e a – Arquitectura de Computadores – Grupo ARCOS – http://www.arcos.inf.uc3m.es 27/27

También podría gustarte