Publicado el 9 de Julio del 2019
557 visualizaciones desde el 9 de Julio del 2019
756,0 KB
19 paginas
Creado hace 7a (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
Comentarios de: Máquinas de alto rendimiento (0)
No hay comentarios