En algunos sitios los confunden porque permite tener 2 hilos de ejecución simultáneos. Pero también los núcleos de la X360 permiten eso (6 hilos en total) y nadie habla de que la X360 tiene 6 núcleos.
También Windows XP y Linux dibujan dos TUX o dos gráficas en el task admin cuando se usan Pentium 4/ Xeon HT, y estos son mononúcleo.
LuzbelFullHD escribió:
De http://en.wikipedia.org/wiki/Cell_%28microprocessor%29
"Note that the relationship between cores and threads is a common source of confusion. The PPE core is dual threaded and manifests in software as two independent threads of execution while each active SPE manifests as a single thread. In the PlayStation 3 configuration as described by Sony, the Cell processor provides nine independent threads of execution."
De http://barrapunto.com/journal.pl?op=display&uid=19560&id=15379
"El PPE es un PowerPC de 64 bits y doble núcleo bastante especial"
Si te fijas las nuevos núcleos de Linux al arrancar dibujan un pingüino por cada core encontrado . Al arrancar en la PS3 se ven 2 cores ( y en algunos kernels parcheados aparecen los 6 SPE como mini-pingüinos ). También puedes verlo al hacer cat al /proc/cpuinfo
Si entrar en detalles técnicos, lo que quiero decir es que en Linux de la PS3 se aprovecha sin problema esta característica de 2 hilos "hardware" y en ese sentido no está capado.
1 solo programa monohilo no notará mejoría, pero el sistema global si se aprovecha de esto.
Supongo que esto es lo que tu llamas "multithreading simultáneo", pero vamos, que hay un soporte hardware para ese "multithreading simultáneo" y no es un multithread conseguido por el kernel de linux por software ( que también lo tienes)
Si, correcto. Los SPE son coprocesadores muy especializados en procesamiento vectorial.
Pero son potentorros, comparado con , por ejemplo, los VU de la PS2 o un coprocesador matemático clásico. Aquí puedes meter ( con las obvias restricciones de memoria ) y trabajar tranquilamente con C++
Lo malo, la poca memoria, que no acceden de forma directa a la memoria principal ( todo va a base de peticiones DMA explicitamente programadas ) y que el rendimiento escalar es muy pobre.
Pero para el tipo de procesamiento en paralelo que se da en los juegos se les puede sacar mucho partido. Eso si, hay que currarselo o usar middleware diseñado especificamente para currarselo por ti.
A ver , el hipervisor obviamente tiene que estar por ahí detrás en el modo hipervisor del PPE (por encima en privilegios del modo kernel )
Pero el que uno de los SPE no esté disponible en linux, hace sospechar que es bloqueado y utilizado en exclusiva por el hipervisor.
La verdad es que no sé si hay una referencia oficial por algún lado a que el SPE capado lo use el hipervisor . pero ¿ qué otra razón habría para quitarte el acceso a un SPE en linux cuando te dan acceso a los otros ?
Si, hay acuerdo en general a que el rendimiento en código, digamos normal , del Cell no es bueno, pero es que ese no es su propósito.
Como diseño para aplicaciones multimedia me parece muy interesante y el que se te permita jugar con el desde linux es muy interesante desde un punto de vista academico.
La pena, como te digo, es que tengas que adaptar todo tu código para sacar partido de los SPE. Una arquitectura de acceso unificado a la memoria facilitaría mucho las cosas, pero seguro tendría impacto en el rendimiento y en el coste.
