Come ho scritto anche nel mio profilo qui su Appunti Digitali, quella dei videogiochi è una grande passione che mi porto dietro da tantissimo tempo (34 anni), ma in tale periodo pochi sono gli eventi che hanno caratterizzato il passaggio alle nuove ere o generazioni.
Da questo punto di vista le console hanno rappresentato una sorta di cartina al tornasole del progresso tecnologico, e l’avvicendamento fra vecchie e nuove ha segnato l’introduzione della successiva generazione a “n bit”…
8, 16, 32, 64 e persino a 128 e 256 bit. Sembra che più o meno a ogni nuova generazione sia corrisposto un “raddoppio” dei “bit” che vengono sistematicamente appioppati loro (anche se ormai sembra essere in disuso questo tipo di nomenclatura; raramente ho sentito parlare di console “a 256 bit”).
Ovviamente si tratta di un’etichettatura che tecnicamente ha ben poco senso, perché significherebbe marchiare un’intera generazione come “a n bit”, in quanto non è detto che tutti gli elementi che ne fanno parte possano essere classificati come tali. A maggior ragione se manca un oggettivo “metro” di paragone…
Qui arriva la prima nota dolonte. Non esiste, infatti, nessuna unità di misura universalmente riconosciuta per indicare che l’architettura di un sistema sia “a n bit”. Le prese di posizione in tal senso sono, quindi, del tutto arbitrarie.
Questo sostanzialmente per due motivi. Il primo è che un sistema è costituito da diversi componenti, che non sono necessariamente etichettabili tutti allo stesso modo. Il secondo è che affibbiare un’etichetta a un singolo componente è, di per sé, abbastanza difficile da realizzare.
Trattando del primo caso e supponendo che a ogni componente sia sempre possibile attribuire una certo “numero di bit”, come si potrebbe arrivare a definire quelli dell’intero sistema? Con una media tradizionale? O una media pesata (dando a ogni componente un grado di “importanza”) e, in questo caso, in che modo si potrebbero definire i pesi? Ancora, scegliendo l’elemento a cui attribuiamo maggior “prestigio”? O altro ancora, perché le possibilità sono innumerevoli.
Se prendiamo un computer moderno o una console, gli elementi che li compongono sono diversi. L’onnipresente CPU (e magari più d’una), il chipset, il bus o collegamento punto-punto che li connette, la GPU (anche più d’una), la memoria centrale e/o quella della GPU, con a sua volta le memorie collegate alla CPU e/o al chipset e/o alla GPU tramite un bus o collegamento punto-punto dedicato, ancora chipset che integrano GPU, tra non molto anche CPU che integrano GPU, e chissà cos’altro ci riserverà il futuro.
Le variabili in gioco sono parecchie, ognuna più o meno “misurabile” in termini di “bit” (avendo prefissato che sia possibile farlo) e, pertanto, è difficile stabilire quali di esse potrebbero concorrere alla definizione dei “bit” dell’intera architettura del sistema, con quale importanza ciascuna, e con quale metodo.
La tendenza che ho riscontrato finora è stata quella di utilizzare la CPU come unico metro di paragone, ma si tratta di una valutazione ampiamente soggettiva, sebbene abbastanza “sensata”, poiché tale scelta si fa risalire sostanzialmente al ruolo che essa svolge nel sistema (e il suo acronimo parla chiaro: Central Processing Unit).
Ma in un sistema realizzato con diverse GPU (o elementi computazionali in generale) e una sola CPU (anche di scarsa “potenza”, poiché avrebbe l’unico compito di coordinarle spartendo loro il lavoro) la sua importanza sarebbe sicuramente relativa e, pertanto, prendendola come misura dell’insieme, questo verrebbe a sua volta “ridimensionato”.
Il primo esempio che mi viene in mente in tal senso è il Jaguar, ultima console della mitica Atari, che è costituita da diversi elementi:
- Motorola 68000 a “16 bit” (citata in tal modo da Atari e dal resto dell’industry dei videogiochi) in qualità di control processor
- DSP RISC a 32 bit per gestire effetti grafici
- DSP RISC a 32 bit per gestire effetti sonori (stessa architettura del precedente)
- RISC dedicato a 64 bit per gestire gli oggetti visuali
- Blitter a 64 bit per l’elaborazione delle scene
- Memory controller a 32 bit (per la gestione degli accessi alla memoria da parte degli elementi che processano la grafica)
- Bus verso la memoria a 64 bit
Atari l’ha pubblicizzata e venduta come console “a 64 bit”, ovviamente sulla base degli elementi classificabili come tali. Puro marketing, insomma (e non gliene si può fare una colpa). In realtà la CPU è rappresentata dal 68000, anche se è stata fatta passare soltanto come processore “di controllo” (quello che coordina tutti gli elementi).
Pertanto se dovessimo prendere la sola CPU come termine di paragone dell’intero sistema, questo dovrebbe essere classificato come “16 bit” (o come “32 bit”, se considerassimo l’ISA, come ho scritto in un articolo a lui dedicato), ma a mio avviso sarebbe riduttivo perché ha diversi altri elementi “significativi”. Viceversa, prendendo però uno di questi coprocessori a “64 bit” si correrebbe il rischio di sopravvalutarlo.
Una situazione diametralmente opposta si presenta col PCEngine di NEC, avente CPU a 8 bit (derivata dal 65SC02) e due chip a 16 bit per gestire la grafica. Dal punto di vista della qualità dei titoli prodotti competeva col SuperNintendo (dotato del 65816 a 16 bit come CPU) e il Genesis/MegaDrive della Sega (che montava un “classico” Motorola 68000). Come per il Jaguar, optare per la CPU o per i coprocessori grafici sminuirebbe o esalterebbe troppo questa console.
Come si può vedere, è veramente difficile etichettare un sistema. Anche togliendo di mezzo CPU e GPU/chip video, i pochi elementi rimasti (bus e/o collegamenti punto-punto, chipset, memorie) non mi sembrano sufficientemente “prestigiosi” da poter essere utilizzati per fornire una qualche misura all’intera piattaforma.
Personalmente penso che la classificazione dell’architettura di un sistema rimarrà ancora uno di quei problemi sui quali non sarà possibile prendere oggettivamente posizione e ciò, purtroppo, contribuirà alla diffusione delle classiche leggende metropolitane, come quelle sulle fantascientifiche console a 128 o più bit…