Estructura de Computadores: Arquitecturas de Alto Rendimiento de la Universidad Europea

Diapositivas de la Universidad Europea sobre Estructura de Computadores. El Pdf explora arquitecturas de computadores de alto rendimiento, como procesadores vectoriales, superescalares y VLIW, así como GPU y arquitecturas neuronales. Este material de Informática para Universidad incluye diagramas y tablas comparativas para facilitar la comprensión.

Ver más

15 páginas

Estructura de
computadores
Tema 18. Máquinas de alto
rendimiento
Estructura de computadores
Tema 18. Máquinas de alto rendimiento
2
© Copyright Universidad Europea. Todos los derechos reservados.
Índice
Objetivos de aprendizaje ............................................................... 3
1. Presentación ........................................................................... 3
2. Procesadores vectoriales ............................................................. 4
3. Procesadores superescalares y VLIW ............................................... 5
4. Superescalares versus segmentados ................................................ 6
5. Procesadores en array ................................................................ 7
6. GPU (Graphics Processor Unit) ...................................................... 8
7. Arquitecturas neuronales ............................................................ 9
8. Arquitecturas sistólicas ............................................................ 10
9. Arquitecturas DP pipeline ......................................................... 11
10. Transputers ......................................................................... 12
11. Resumen ............................................................................ 13
Referencias bibliográficas ............................................................. 14

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Estructura de computadores

Máquinas de alto rendimiento

ue
Universidad
EuropeaEstructura de computadores
Tema 18. Máquinas de alto rendimiento

Índice

Objetivos de aprendizaje
3
1. Presentación
3
2. Procesadores vectoriales.
4
3. Procesadores superescalares y VLIW
5
4. Superescalares versus segmentados.
6
5. Procesadores en array.
7
6. GPU (Graphics Processor Unit)
8
7. Arquitecturas neuronales
9
8. Arquitecturas sistólicas
10
9. Arquitecturas DP pipeline
11
10. Transputers
12
11. Resumen
13
Referencias bibliográficas
14

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
2Estructura de computadores
Tema 18. Máquinas de alto rendimiento

Objetivos de aprendizaje

Los objetivos que se pretenden alcanzar en este recurso son los siguientes:
· Identificar este tipo de arquitecturas y saber cuál es la más adecuada para
cada dominio de aplicación.
· Indagar sobre las tendencias actuales en diseño de ordenadores de alto
rendimiento.
· Analizar las diferencias existentes entre cada tipo de arquitecturas avanzadas.

1. Presentación

10Gb/s
M.2
En 1966, Flynn estableció una clasificación del paralelismo que todavía hoy es utilizada
para describir las arquitecturas de procesamiento intenso. La clasificación de Flynn
se basa en dos características:
· Número de instrucciones que ejecutan en paralelo: una instrucción (single
instruction) o múltiples (multiple instructions).
· Número de fuentes de datos que se tratan en paralelo: una entrada (single
data) o múltiples (multiple data).
Sobre la base de estas características, la clasificación de Flynn establece cuatro tipos
de arquitecturas según el paralelismo utilizado en instrucciones y datos:

TipoDescripciónEjemplos
SISDSingle Instruction, Single Data.Monoprocesador convencional.
SIMDSingle Instruction, Multiple Data.Procesador vectorial, procesador en
array.
MISDMultiple Instruction, Single Data.No existen arquitecturas de este tipo.
MIMDMultiple Instruction, Multiple
Data.
Sistemas multinúcleo y
multiprocesador.

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
3Estructura de computadores
Tema 18. Máquinas de alto rendimiento
En este recurso no profundizaremos en ninguna, pero aprenderemos la estructura, el
funcionamiento y la aplicación de las siguientes arquitecturas avanzadas:
· Procesadores vectoriales.
· Arquitecturas escalares y VLIW.
· Arquitecturas en array.
· Arquitecturas de procesamiento de gráficos (GPU).
· Arquitecturas neuronales.
· Arquitecturas sistólicas.
· DP Pipeline.
· Transputers.

2. Procesadores vectoriales

Cuanto mayor es una organización empresarial, más crecen las responsabilidades y el
volumen de esas. Por tanto, la evolución natural de las organizaciones los lleva a ir
repartiendo las responsabilidades sobre las actividades que se van desarrollando.
Los procesadores vectoriales son un ejemplo de procesadores SIMD (un
solo flujo de instrucciones, múltiples flujos de datos). Se utilizan
normalmente en aplicaciones que requieren procesamiento intenso sobre
estructuras de datos, como el tratamiento de imágenes. Históricamente
se han asociado los procesadores vectoriales a los computadores de la
familia CRAY, creados por la compañía CRAY Inc. (CRAY, 2016).
Su principal característica es que la ALU (Unidad Aritmeticológica) está segmentada
en varias ALU que pueden trabajar de forma secuencial sobre los datos o en paralelo.
En la figura se muestra un esquema de un procesador vectorial. Las ALU pueden ser
vectoriales o escalares (operan con registros vectores o registros).
El controlador puede distribuir las operaciones y datos a las diferentes ALU para que
operen en paralelo. La ALU en lugar de trabajar solamente con registros individuales,
el procesador vectorial almacena los operandos y los resultados de las operaciones en
vectores (registros vectores).
Los procesadores vectoriales fueron la base de los supercomputadores entre los años
80 y 90. Los procesadores vectoriales se utilizan sobre todo para trabajar con grandes
estructuras de datos como aplicaciones que requieren tratamiento de imágenes.

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
4Estructura de computadores
Tema 18. Máquinas de alto rendimiento

Procesadores vectoriales: Esquema

LISTA DE OPERACIONES
UNIDAD DE CONTROL
DISTRIBUCIÓN PROCESOS
ALU 1
ALU 2
ALU 3
ALU 4
V
V
V
UNIDAD DE MEMORIA
Figura 1. Procesadores vectoriales.

Instrucciones vectoriales

Los procesadores vectoriales incluyen operaciones vectoriales en su juego de
instrucciones, entre las que destacamos las siguientes:
· addv.d: suma dos vectores con valores de doble precisión.
· addvs.d y mulvs.d: suma un registro escalar a cada miembro de un vector.
· mulvs.d: multiplica un registro escalar a cada miembro de un vector.
· Iv: carga de datos de doble precisión en un vector.
· sv: almacenamiento en memoria de los datos de doble precisión de un vector.
O
o

3. Procesadores superescalares y VLIW

Por procesador escalar entendemos aquel procesador que tiene varias unidades de
ejecución, lo que permite paralelizar la ejecución de instrucciones, aunque la
distribución instrucciones se hace de forma secuencial.

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
5Estructura de computadores
Tema 18. Máquinas de alto rendimiento
En los procesadores superescalares existen varias unidades de ejecución segmentadas
que trabajan de forma paralela ejecutando instrucciones independientes. La
distribución de instrucciones se hace en paralelo.

Esquema de un procesador superescalar

En la figura inferior se muestra un esquema de un procesador superescalar:
Instrucciones
UE1
UE 2
UE3
Figura 2. Esquema de un procesador superescalar.
Los procesadores VLIW siguen la misma estructura y funcionamiento que
los procesadores superescalares. La diferencia entre un procesador VLIW y
un procesador superescalar es que el VLIW trabaja con instrucciones multi-
operación independientes entre sí. Los procesadores superescalares
utilizan hardware para detectar y resolver o minimizar el impacto de las
dependencias entre instrucciones.

4. Superescalares versus segmentados

Imaginemos un procesador segmentado de cinco etapas:
Búsqueda
Decodificación
Búsqueda de
operandos
Ejecución
Almacenamiento
de resultados
Si comparamos la ejecución de cuatro instrucciones independientes en un procesador
segmentado y en un procesador superescalar de dos unidades de ejecución
segmentadas, el resultado sería el siguiente:

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
6Estructura de computadores
Tema 18. Máquinas de alto rendimiento

Ejecución de instrucciones en procesadores

Tabla 1. Ejecución de cuatro instrucciones en un procesador segmentado.
01234567
F1I1I2I3I4
F2I1I2I3I4
F3I1I2I3I4
F4I1I2I3I4
F5I1I2I3
Tabla 2. Ejecución de cuatro instrucciones en un procesador superescalar.
012345
I1I3
F1I2I4
I1I3
F2I2I4
I1I3
F3I2I4
I1I3
F4I2I4
I1I3
F5I2I4

La mejora respecto de ejecutar cuatro instrucciones en un procesador superescalar,
frente a uno segmentado es la siguiente:
Speed-up = 8 / 6 = 1,33 veces más rápido -> mejora del 33 %.
Si el programa constara de 1 millón de instrucciones independientes -> Speed-up =
1.000.004 / 500.004 = 2 -> mejora del 100 %.

5. Procesadores en array

Los procesadores en array se componen de un único procesador con varias unidades
aritmeticológicas (ALU).

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
7Estructura de computadores
Tema 18. Máquinas de alto rendimiento
Los procesadores en array son arquitecturas de tipo SIMD, con una única unidad de
control donde todas las ALU ejecutan la misma instrucción (ver figura).
Cada ALU ejecuta con su propia fuente de datos, lo que hace que el grado de
paralelismo depende el número de unidades de ejecución.
S
La principal diferencia entre un procesador en array y un procesador
vectorial es que los procesadores vectoriales pueden ejecutar
instrucciones independientes en paralelo y con registros vectores en
lugar de registros escalares, lo que hace que el rendimiento de los
procesadores vectoriales sea muy superior a los procesadores en array.

Procesador en array: Esquema

Reg. Instr.
UNIDAD DE
CONTROL
A1
B1
A2
B2
An
Bn
Operación
ALU 1
ALU 2
ALU n
Figura 3. Procesador en array.

6. GPU (Graphics Processor Unit)

El tratamiento de gráficos e imágenes es una de las tareas que más recursos consume
en un computador. Para mejorar esta característica en los procesadores, surgieron las
unidades de procesamiento gráfico (GPU o Graphics Processor Unit).
S
Las GPU son un complemento acelerador a los procesadores para mejorar
el rendimiento del computador cuando se trabaja con aplicaciones de
diseño gráfico o videojuegos. Las GPU son mini procesadores que solo
pueden ejecutar ciertas operaciones que operan con estructuras de datos
matriciales.

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
8Estructura de computadores
Tema 18. Máquinas de alto rendimiento
La combinación de CPU-GPU convierten a las computadoras en arquitecturas
multiprocesadores heterogéneas, donde la CPU (Central Processing Unit) ejecuta
todo aquello que no puede hacer la GPU cuando se trabaja con imágenes.
Para programar las GPU se utilizan unas interfaces de programación de alto nivel
específicas para la generación y modificación de imágenes tridimensionales, llamadas
API gráficas. Estas API constan de primitivas para dibujar vértices, líneas, polígonos,
figuras 3D basadas en triángulos y en la generación de imágenes y sombras basadas en
píxeles.
Las API gráficas más utilizadas en la actualidad son:
· OpenGL (OpenGL, 2016): es multiplataforma.
· Microsoft Direct X: en entornos Microsoft Windows (Microsoft, 2016).

7. Arquitecturas neuronales

Las arquitecturas neuronales (ANN) son computadoras de propósito específico que se
utilizan para automatizar tareas complejas que no son sencillas de implementar con
un algoritmo secuencial.
Este tipo de arquitecturas se denominan "neuronales" porque trabajan
simulando el funcionamiento de las neuronas en el sistema nervioso
humano (ver figura inferior), donde los nodos se conectan entre sí
formando "redes neuronales". Cada nodo ejecuta cálculos sencillos, pero
no lineales, es decir, el resultado puede variar en diferentes ejecuciones.
La arquitectura debe pasar un proceso de entrenamiento antes de funcionar
correctamente.
Existen tres tipos de aplicaciones de las arquitecturas neuronales:
1. Clasificación. Se recibe un elemento en forma de conjunto de datos y se
clasifica el tipo de ejemplo recibido.

ue
Universidad
Europea
@ Copyright Universidad Europea. Todos los derechos reservados.
9

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.