Hoeveel x86-processoren met heel veel kernen ken je dan? Ik ken er geen namelijk. Wel een aantal GPUs met veel meerdere "cores".
Kijk eens naar de Niagara-processoren. Die zijn dan Sparc, ze komen in ontwerp erg overeen met de Larabee. Zelfs het aantal threads, 4 per kern, komt overeen.
LRB mag dan x86 uitvoeren en gebaseerd zijn op oude Pentium cores, moderne CPUs hebben meestal bergen cache, branche-prediction, OoOE en meer van die ongein, en LRB heeft dat allemaal niet.
Klopt, de Larabee is gebaseerd op de oorspronkelijke Pentium en die had dat niet. Desondanks was de Pentium toch een volwaardige processor, het feit dat deze funcitonaliteit ontbreekt is geen argument dat de Larabee geen processor is.
Omgekeerd hebben CPUs doorgaans ook geen 16-wide SIMD eenheden of texture units.
GPU's hebben doorgaans ook geen 16-brede SIMD-eenheden. Zoals gezegd, GPU's gebruiken hele primitieve kernen, maar het aantal is nogal groot. De recente Radeon's hebben 800 kernen, dat is dus ordes meer dan de Larabee. De kernen zijn geen volwaardige processorkernen, ze zijn in staat de de HLSL of GLSL uit te voeren, maar ook niet mee dan dat.
De textureunit is het belangrijkste GPU-kenmerk dat de Larabee heeft.
En als LRB eerder gewoon een CPU is, waarom hebben we dan de Larrabee New Instructions nodig?
Een x86-kern is (per definitie) al redelijk complex. Het aantal kernen dat je op een die kwijt kunt zal dus altijd lager liggen dan je bij echte GPU-kernen kan bereiken. Het gevolg is dat, om met de meerdere teraflops die een GPU heeft te kunnen concurreren, de rekenkracht per kern omhoog moet. De meest logische methode is de SIMD-eenheid te verbreden.
Bovendien moet het mogelijk zijn de SIMD-eenheid efficiënter te gebruiken, immers, de 800 losse kernen van een Radeon kunnen allemaal aan onafhankelijke data rekenen, bij SIMD moeten gegevens in array-structuren worden aangeboden.
Larrabee New Instructions voorzien in de bredere SIMD-eenheid en in instructies om gegevens die niet in array-vorm staan alsnog in een SIMD-register te krijgen. Dit is op GPU-gebied volledig onverkend terrein.
Niet dat ik wil ontkennen dat Larrabee niet ook gewoon een CPU is. De chip zou zelfs gewoon een normaal OS kunnen draaien, maar dat is niet mijn punt. Ja, LRB heeft alle x86 features, maar het verschilt verder zo radicaal van een gewone CPU, en leent zoveel van moderne (en zeker toekomstige) GPUs dat het gewoon in die categorie valt. Dat was toch ook gewoon het doel van LRB?
Ik zou de Larrabee definiëren als een poging om dezelfde prestaties die specialistische hardware leveren te behalen met generieke hardware. Als dat lukt hebben we geen specialistische GPU-hardware meer nodig en de Larrabee heeft een aantal nieuwe concepten die de zogeheten "Stream"-rekenkracht van een CPU flink te verhogen, mogelijk tot GPU-niveau's, wat het mogelijk maakt de GPU in software te implementeren.
Of Intel daarin slaagt zal moeten blijken. Zowel ATi als Nvidia hebben aangegeven een Larrabee-achtig ontwerp in het verleden overwogen te hebben, maar dat het voor hen niet zinvol leek om de 3D-oorlog te winnen. Je moet er dus rekening mee houden dat de Larrabee niet de snelste GPU gaat zijn en het moet hebben van zijn x86-compatibiliteit en grotere flexibiliteit.