PDF de programación - Máquinas de alto rendimiento

Imágen de pdf Máquinas de alto rendimiento

Máquinas de alto rendimientográfica de visualizaciones

Publicado el 9 de Julio del 2019
122 visualizaciones desde el 9 de Julio del 2019
756,0 KB
19 paginas
Creado hace 3a (24/08/2016)
Máquinas de alto rendimiento





© Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la

Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción,

puesta a disposición del público y en general cualquier otra forma de explotación de toda o parte

de la misma.



La utilización no autorizada de esta obra, así como los perjuicios ocasionados en los derechos de

propiedad intelectual e industrial de la Universidad Europea de Madrid, S.L.U., darán lugar al
ejercicio de las acciones que legalmente le correspondan y, en su caso, a las responsabilidades

que de dicho ejercicio se deriven.




Máquinas de alto rendimiento



Contenido



Presentación ........................................................................................................................ 4

Procesadores vectoriales ..................................................................................................... 6

Procesadores superescalares y VLIW .................................................................................. 8

Superescalares versus segmentados ................................................................................... 9

Procesadores en array ....................................................................................................... 11

GPU (Graphics Processor Unit) .......................................................................................... 12

Arquitecturas neuronales .................................................................................................. 13

Arquitecturas sistólicas ...................................................................................................... 15

Arquitecturas DP pipeline .................................................................................................. 16

Transputers ........................................................................................................................ 17

Resumen ............................................................................................................................ 18

Referencias bibliográficas .................................................................................................. 19



© Universidad Europea de Madrid. Todos los derechos reservados.

3



Máquinas de alto rendimiento



Presentación



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:

Tipo

SISD

SIMD

MISD

Descripción

Ejemplos

Single Instruction, Single Data.

Monoprocesador convencional.

Single Instruction, Multiple Data.

Procesador vectorial, procesador en Array.

Multiple Instruction, Single Data.

No existen arquitecturas de este tipo.

MIMD

Multiple Instruction, Multiple Data.

Sistemas multinúcleo y multiprocesador.



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.



© Universidad Europea de Madrid. Todos los derechos reservados.

4



Máquinas de alto rendimiento



Objetivos

Los objetivos que se pretenden alcanzar con este recurso son los siguientes:



Identificar este tipo de arquitecturas y a 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.



© Universidad Europea de Madrid. Todos los derechos reservados.

5



Máquinas de alto rendimiento



Procesadores vectoriales

Cuanto mayor es una organización empresarial, más crecen las responsabilidades y el volumen de ésas.

Por tanto, la evolución natural de las organizaciones les 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 Aritmético-Ló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.



© Universidad Europea de Madrid. Todos los derechos reservados.

6



Máquinas de alto rendimiento



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.





lv: carga de datos de doble precisión en un vector.

sv: almacenamiento en memoria de los datos de doble precisión de un vector.



7


© Universidad Europea de Madrid. Todos los derechos reservados.


Máquinas de alto rendimiento



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.

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.

En la figura inferior se muestra un 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.



8


© Universidad Europea de Madrid. Todos los derechos reservados.


Máquinas de alto rendimiento



Superescalares versus segmentados

Imaginemos un procesador segmentado de cinco etapas:



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:

Ejecución de cuatro instrucciones en un procesador segmentado



Ejecución de cuatro instrucciones en un procesador superescalar



© Universidad Europea de Madrid. Todos los derechos reservados.

9



Máquinas de alto rendimiento



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



© Universidad Europea de Madrid. Todos los derechos reservados.

10



Máquinas de alto rendimiento



Procesadores en array

Los procesadores en array se componen de un único procesador con varias unidades aritmético-lógicas

(ALU).

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.



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 rendi
  • Links de descarga
http://lwp-l.com/pdf16253

Comentarios de: Máquinas de alto rendimiento (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad