¿Cuáles son las diferencias entre un procesador Cell y AMD / Intel?

Cell es una construcción completamente diferente,
a nivel de hardware, puede ser más fácil nombrar cosas que no son diferentes. Todavía intentaré resumir algunos puntos clave, esperando que la memoria sea suficiente (no toqué uno en mucho tiempo * ).

En primer lugar, las unidades de procesamiento en la celda tienen capacidades diferentes, en contraste con los núcleos múltiples x86, donde los núcleos tienden a ser copias entre sí. Específicamente, la célula tiene un núcleo destinado a controlar y dirigir los otros, y ocho elementos de procesamiento sinérgico (SPEs). Ambos tipos de unidades se basan en la arquitectura Power, por lo que las instrucciones de hardware son diferentes de los modelos AMD e Intel.

Por ejemplo, puedo esbozar una visión general (muy) aproximada de sus interiores; esto no es del todo exacto, pero puede ser suficiente para reunir ideas aproximadas:

Retrato impresionista de una célula (con varias libertades artísticas tomadas)

En el fondo, los núcleos de procesamiento de los SPE y su maestro no son radicalmente diferentes, pero la forma en que manejan la memoria sí lo es; el grande tiene un caché y se comporta más o menos como los procesadores a los que la mayoría de los programadores están acostumbrados. Los SPE tienen un almacenamiento local rápido, pero a diferencia de los cachés coherentes de múltiples núcleos de sabor a vainilla, estos se abordan explícitamente, por lo que cuando un SPE escribe algo en la tienda local, el hardware no se encarga de notificar a los demás que algo ha cambiado. . La consecuencia es que el software debe poner trabajo en qué datos se almacenan de manera muy explícita y mantener un esquema de intercambio de mensajes para asegurarse de que cada SPE obtenga los datos que necesita cuando es necesario.

Las unidades SPE están conectadas en 4 anillos (dos en cada dirección), lo que hace que la transferencia de datos sea más rápida entre vecinos en el anillo que cuando debe viajar uno o dos saltos. Finalmente, la memoria en la que cada SPE tiene que almacenar el código del programa es limitada, por lo que si uno necesita ejecutar un código que es demasiado grande, el programa en sí debe hacer malabarismos con las secciones cargadas y asegurarse de no superponer partes que dependen de cada uno otro.

Quizás sea mejor utilizar el esquema de interconexión amigable con los vecinos en los programas que pueden canalizar su trabajo, es decir , acusar a un SPE de realizar un trabajo parcial en una secuencia de datos que pasan, el siguiente hacer otra parte, y así sucesivamente, para que la eficiencia está en su apogeo cuando todos ellos operan como trabajadores de fábricas a lo largo de una línea de montaje.

Un punto distintivo de la célula es cómo expone explícitamente la estructura de sus componentes internos para permitir que los programadores adapten su software. Eso es especial porque difiere del enfoque que las familias x86 (y también otras variantes de Power) han tomado hasta ahora, que es más bien ocultar el diseño de hardware de los programadores y agregar invenciones intrincadas para que los programas se ejecuten más rápido sin cambiar mucho el código fuente.

Encontrar un procesador como este con un programa originalmente escrito para chips con todas las comodidades habituales es un desafío. Si el programa se ajusta al diseño del procesador y puede reescribirse para hacer un uso óptimo de las funciones, puede ejecutarse extremadamente rápido. Si el programa es menos adecuado, demasiado grande para modificarlo convenientemente, o no hay un especialista en células a la mano para adaptarlo, se hace necesario utilizar una capa intermedia de software que emule los mecanismos de otros procesadores, a expensas del potencial de rendimiento superior.

De grano grueso como es, espero que esto haya hecho un resumen legible de algunas diferencias de Cell de los procesadores AMD / Intel, lo que lo hace especial, y que su rendimiento depende no solo de la Cell en sí, sino también de lo que está acostumbrado. lograr.

Eso deja un punto final sobre el uso de células en la investigación intensiva en procesamiento. No creo que sea exacto decir que Cell se usa mucho : ha sido parte de desarrollos importantes (quizás el más famoso que apareció en el IBM Roadrunner recientemente desmantelado), pero afirmar que Cells domina el campo sería una exageración; una gran cantidad de códigos científicos nunca se han ejecutado en uno. Es emocionante siempre que las máquinas innovadoras superen el rendimiento, pero para la mayoría de los programas de computación de alto rendimiento, las grandes inversiones en hardware y las amplias modificaciones del código están fuera de discusión cuando los retornos son incluso un poco inciertos; Hay años de productividad en juego si los desarrolladores no logran poner una nueva computadora en buen uso rápidamente.

* Descargo de responsabilidad: no he realizado ningún desarrollo serio en Cell, y mi exposición limitada no fue mucho después de su lanzamiento. Asumo que las cadenas de herramientas y el soporte de la biblioteca de software se han expandido desde entonces, por lo que el contenido de esta respuesta puede estar un poco desactualizado. Un desarrollador de juegos de PlayStation3 probablemente tendría una visión más matizada del estado actual de las cosas.

More Interesting

¿Cómo podemos hacer cumplir la práctica de investigación ética dentro de la comunidad científica?

¿Cuáles son algunos avances recientes en la economía del comportamiento?

La humanidad tiene un conocimiento muy profundo en campos muy específicos. Si todo ese conocimiento se conociera en todos los campos, ¿qué preguntas podríamos responder que ahora no tienen respuesta?

¿Cuáles son algunas de las áreas emergentes de la ciencia que se pueden investigar en el laboratorio escolar?

¿Puedo hacer investigación física desde casa?

¿Hay alguna evidencia científica que entre en conflicto con la idea de PC de que todas las razas son iguales?

¿Cuál es el problema científico más grave al que no se le presta atención?

¿Por qué los perros pequeños viven más que los perros grandes?

¿Cuál es tu conferencia científica anual favorita?

¿Cuál es el programa de investigación más antiguo del mundo?

¿Con qué frecuencia las personas se BSing cuando escriben la sección 'discusiones y resultados futuros' de sus trabajos científicos?

¿Cuál es la última investigación sobre prevención o interrupción de tornados?

¿Por qué las personas sienten que es necesario realizar estudios de investigación sobre cosas simples que la mayoría de las personas ya saben?

¿Cuáles son los temas de investigación sobre microbiología en medicina?

¿Pueden las personas con grandes habilidades técnicas y matemáticas tener más impacto en un campo como la biología de sistemas que aquellos que fueron entrenados como biólogos?