Top 10 de los artículosYouTubeGmail Goole GayRomeo Números chinos Números romanos Orkut Costco Sistema porta hepático El mundo Factbook |
News: |
| Solo Instrucción |
Múltiple Instrucción |
|
|---|---|---|
| Solo Datos |
SISD | MISD |
| Múltiple Datos |
SIMD | MIMD |
En el computar, SIMD (Single Instruction, Multiple Del ata) es una técnica empleada para alcanzar paralelismo del nivel de datos, como en a procesador del vector. Primero hecho popular en los superordenadores en grande (contrarios a MIMD el parallelization), las operaciones smaller-scale de SIMD ha llegado a ser extenso ahora en hardware del ordenador personal. El término se asocia hoy casi enteramente a estas unidades más pequeñas.
Contenido |
La primera era de las máquinas de SIMD fue caracterizada cerca superordenadores como Cray X-MP. Estas máquinas también fueron llamadas los “procesadores del vector.” Estas máquinas funcionaron encendido de largo vectores, por ejemplo agregando dos vectores de 100 números cada uno. Supercomputing se movió lejos del acercamiento de SIMD cuando MIMD los acercamientos llegaron a ser más de gran alcance, y el interés en SIMD disminuyó. Ordenadores más últimos, personales llegaron a ser comunes, y llegaron a ser bastante de gran alcance para apoyar juego en tiempo real. Esto creó una demanda total para un tipo particular de energía que computaba, y los vendedores del microprocesador dieron vuelta a SIMD para resolver la demanda. El primer SIMD ancho-desplegado para el juego era Intel MMX extensiones a x86 arquitectura. IBM y Motorola entonces agregados AltiVec a ENERGÍA la arquitectura, y allí ha sido varias extensiones a los sistemas de instrucción de SIMD para ambas arquitecturas. Todos estos progresos se han orientado hacia la ayuda para los gráficos en tiempo real, y por lo tanto se orientan hacia vectores de dos, tres, o cuatro dimensiones. Cuando las nuevas arquitecturas de SIMD necesitan ser distinguidas las más viejas, las más nuevas arquitecturas entonces se consideran las arquitecturas del “corto-vector”. Un superordenador moderno es casi siempre un racimo de las máquinas de MIMD, que pone (corto-vector) instrucciones de SIMD en ejecución. Una computadora de escritorio moderna es a menudo una máquina del multiprocesador MIMD donde cada procesador puede ejecutar instrucciones del corto-vector SIMD.
Una clase separada de procesadores existe para esta clase de tarea, referida comúnmente como Procesadores de la señal numérica, o DSPs. La diferencia principal entre DSP y otras CPU SIMD-capaces es que el DSPs es procesadores autónomos con sus el propios (a menudo difícil de utilizar) sistema de instrucción, mientras que las SIMD-extensiones confían en las porciones de uso general de CPU para manejar los detalles del programa, y las instrucciones de SIMD maneje la manipulación de datos solamente. DSPs también tiende para incluir instrucciones de manejar tipos específicos de datos, de sonido o de vídeo por ejemplo, mientras que los sistemas de SIMD están considerablemente de un propósito más genérico. DSPs funciona generalmente adentro ESPOLÓN de cuadernillo de apuntes son conducidos por las transferencias del acceso directo de memoria iniciadas del sistema huesped y tener acceso a memoria externa. Algunos DSP incluyen sistemas de instrucción de SIMD. La inclusión de los procesadores del propósito de las unidades de SIMD en general ha suplantado el uso de las virutas de DSP en sistemas informáticos, aunque continúan siendo utilizados en usos encajados. Una escala que resbala existe - el Ageia de la célula el SPUs y Unidad de proceso de la física podría ser considerado intermedio entre las CPU y DSPs, en que están optimizados para las tareas numéricas y funcionan en almacén local, pero pueden autónomo controlar sus propias transferencias son así en efecto CPU verdaderas.
Un uso que puede aprovecharse de SIMD es uno donde el mismo valor se está agregando (o se está restando) a una gran cantidad de puntos de referencias, una operación común en muchos multimedias usos. Un ejemplo estaría cambiando el brillo de una imagen. Cada uno pixel de una imagen consiste en tres valores para el brillo de las porciones rojas, verdes y azules del color. Para cambiar el brillo, los valores de R G y de B se leen en memoria, un valor se agrega (o se resta) de ellos, y se escriben los valores que resultan se retiran a la memoria.
Con un procesador de SIMD hay dos mejoras a este proceso. Para uno los datos se entienden para estar en bloques, y un número de valores se pueden cargar de una vez. En vez de una serie de instrucciones que dicen “consiga este pixel, ahora consiguen el pixel siguiente”, un procesador de SIMD tendrá una sola instrucción que diga con eficacia que “consiga las porciones de pixeles” (las “porciones” son un número que varía de diseño al diseño). Para una variedad de razones, esto puede tomar mucho menos tiempo que “consiguiendo” cada pixel individualmente, como con diseño tradicional de la CPU.
Otra ventaja es que los sistemas de SIMD incluyen típicamente solamente esas instrucciones que se puedan aplicar a todos los datos en una operación. Es decir si el sistema de SIMD trabaja cargando encima de ocho puntos de referencias inmediatamente, agregue la operación que es aplicada a los datos sucederá a los ocho valores al mismo tiempo. Aunque igual es verdad para cualesquiera superscalar el diseño del procesador, el nivel del paralelismo en un sistema de SIMD es típicamente mucho más alto.
El primer uso de las instrucciones de SIMD estaba adentro superordenadores del vector de los años 70 tempranos tales como CDC Star-100 y Texas Instruments ASC. El proceso del vector fue popularizado especialmente cerca Cray en los años 70 y los años 80.
Máquinas más últimas utilizaron un número mucho más grande de procesadores relativamente simples en a proceso masivo paralelo- configuración del estilo. Algunos ejemplos de este tipo de máquina incluyeron:
Había muchos otros a partir de esa era también.
(64 o 128 pedacitos) SIMD en reducida escala ha llegado a ser popular en las CPU de uso general, comenzando en 1989 con la introducción del Digital Equipment Corporation VAX Instrucciones del vector en el sistema de Rigel[1], y continuando a través 1997 y más adelante con las instrucciones video del movimiento (MVI) para Alfa. Las instrucciones de SIMD se pueden encontrar, a un grado o a otro, en la mayoría de las CPU, incluyendo IBM's AltiVec y SPE para PowerPC, CABALLOS DE FUERZA's PA-RISC Extensiones de la aceleración de las multimedias (Máximo), Intel's MMX e iwMMXt, SSE, SSE2, SSE3 y SSSE3, AMD's ¡3DNow!, ARCO'subsistema video del ARCO de s, SPARC's VIS, Sol's MAJC, BRAZO's NEÓN tecnología, MIPS' MDMX (MaDMaX) y MIPS-3D. IBM, Sony, Toshiba co-desarrollado Procesador de la célula'el sistema de instrucción del SPU de s es pesadamente SIMD basado.
Los sistemas de instrucción incluyen generalmente un sistema completo de instrucciones del vector, incluyendo multipliqúese, invierta y remonte. Éstos son particularmente útiles para procesar los gráficos 3D, aunque son modernos tarjetas de los gráficos con SIMD encajado han asumido el control en gran parte esta tarea de la CPU. Algunos sistemas también incluyen permutan las funciones que reembalan elementos dentro de los vectores, haciéndolos particularmente útiles para la informática y la compresión.
Moderno Unidades de proceso de los gráficos están a menudo las puestas en práctica muy amplias de SIMD, capaces de ramas, de cargas, y de almacenes en 128 o 256 pedacitos a la vez.
Adopción de los sistemas de SIMD adentro ordenador personal el software ha sido lento, debido a un número de problemas. Uno era que muchos de los sistemas de instrucción tempranos de SIMD tendieron para retardar el funcionamiento total del sistema debido a la reutilización de los registros existentes de la coma flotante. Otros sistemas, como MMX y ¡3DNow!, ofrecido la ayuda para los tipos de datos que no eran interesantes a una audiencia ancha y tenían instrucciones costosas de la conmutación de contexto de cambiar entre usar FPU y MMX registros. Los recopiladores también carecieron a menudo la ayuda que requería a programadores recurrir a lenguaje ensamblador codificación.
SIMD encendido x86 ha tenido un comienzo lento. La introducción de ¡3DNow! por AMD y SSE por Intel las materias confusas algo, pero el sistema se parece hoy haber colocado abajo (después de AMD que adopta SSE) y recopiladores más nuevos deben dar lugar a más software SIMD-permitido. Intel y AMD ahora ambos proporcionan las librer'ias matemáticas optimizadas que utilizan instrucciones de SIMD, y los alternativas abiertos de la fuente como el libSIMD y SIMDx86 han comenzado a aparecer.
Computadora de Apple tenía algo más éxito, aun cuando ellos incorporó el mercado de SIMD más adelante que el resto. AltiVec ofreció un sistema rico y puede ser programado usando recopiladores cada vez más sofisticados de Motorola, IBM y GNU, por lo tanto la programación del lenguaje ensamblador se necesita raramente. Además, muchos de los sistemas que beneficiarían de SIMD fueron proveídos por Apple sí mismo, por ejemplo iTunes y QuickTime. Sin embargo, adentro 2006, Las computadoras de Apple se movieron a los procesadores de Intel x86. Apple APIs y herramientas de desarrollo (XCode) fueron reescritos para utilizar SSE2 y SSE3 en vez de AltiVec. Apple era el comprador dominante de las virutas de PowerPC de IBM y Semiconductor de Freescale, y aunque abandonaron la plataforma que el desarrollo adicional de AltiVec se continúa en varios Arquitectura de la energía diseños de Freescale, IBM y P.A. Semi.
SIMD dentro de un registro, o SWAR, es una gama de las técnicas y de los trucos usados para SIMD de ejecución en registros de uso general en el hardware que no proporciona ninguna ayuda directa para las instrucciones de SIMD. Esto se puede utilizar para explotar paralelismo en ciertos algoritmos incluso en el hardware que no apoya SIMD directamente.
Aunque ha probado generalmente difícil de encontrar los usos comerciales sostenibles para los procesadores de SIMD, uno que ha tenido cierta medida de éxito es GAPP, que fue desarrollada cerca Lockheed Martin y llevado el sector comercial por su Teranex spin-off. Las encarnaciones recientes Del GAPP se han convertido en una herramienta de gran alcance en tiempo real proceso video los usos tienen gusto de la conversión entre los varios estándares y tarifas video del marco (NTSC to/from Amigacho, NTSC to/from HDTV formatos, etc.), el deinterlacing, reducción del nivel de ruidos de la imagen, adaptante compresión video, y realce de la imagen.
Un uso más ubicuo para SIMD se encuentra adentro juegos video: casi cada moderno consola video del juego desde entonces 1998 ha incorporado un procesador de SIMD en alguna parte en su arquitectura. Sony PlayStation 2 era inusual en que su vector-flote las unidades podría funcionar como DSPs autónomo que ejecuta sus propias corrientes de la instrucción, o como los coprocessors conducidos por instrucciones ordinarias de la CPU. los usos de los gráficos 3D tienden para prestarse bien a SIMD que procesa mientras que confían pesadamente en operaciones con 4 vectores dimensionales. Microsoft Direct3D 9.0 ahora elige en las puestas en práctica procesador-específicas runtime de sus propias operaciones de la matemáticas, incluyendo el uso de instrucciones SIMD-capaces.
Uno de los procesadores muy recientes para utilizar el proceso del vector es Procesador de la célula convertido cerca IBM en cooperación con Toshiba y Sony. Utiliza un número de procesadores de SIMD (cada uno con independiente ESPOLÓN y controlado por una CPU de los fines generales) y se engrana hacia los datasets enormes requeridos por 3D y el vídeo que procesa usos.
Los procesadores comerciales de una escala más grande SIMD están disponibles de de Tecnología de ClearSpeed, inc. y Procesadores de la corriente, inc.. ClearSpeed CSX600 (2004) tiene 96 corazones de la coma flotante. Los procesadores de la corriente son dirigidos por el arquitecto de la computadora La cuenta Dally. Su procesador Storm-1 (2007) contiene 80 corazones de SIMD controlados por una CPU de las MIPS.
|
||||||||||||||
|
Custom Search
|
© Copyright 2011 WorldLingo. Reservados todos los derechos.