mercredi 1 janvier 2014

xcore, rien de nouveau sous le soleil

Ce matin en suivant des liens je me suis retrouvé à lire cet article sur wikipedia. Voici un paragraphe extrait de cet article.

Each PP included its own memory of 4096 12-bit words. This memory served for both for I/O buffering and program storage, but the execution units were shared by 10 PPs, in a configuration called the Barrel and slot. This meant that the execution units (the "slot") would execute one instruction cycle from the first PP, then one instruction cycle from the second PP, etc. in a round robin fashion. This was done both to reduce costs, and because access to CP memory required 10 PP clock cycles: when a PP accesses CP memory, the data is available next time the PP receives its slot time.

En gros les PP (Peripheral Processor) sont des CPU qui gérait les E/S sur les CDC-6600. N'est-il pas frappant de voir que cet ordinateur des années 60s utilisait le même mécanisme que les xcores. C'est à dire un ensemble de registres qui maintient les états et qui partagent la même unité centrale. C'est le multi-threading des xcore discuté dans mon article précédent.

En fait la lecture de cet article nous révèle qu'il n'y a vraiment rien de nouveau sous le soleil en ce qui concerne les CPU. Le CPU du CDC-6600 datant de 1965 (presque 50 ans) avait déjà une architecture RISC avec register file. 8 registres de 60 bits pour les opérandes, 8 registres de 18 bits pour les adresses et 8 registres de 18 bits pour les incrémenteur (adressage relatif et branchements). Les CDC-7600 eu possédait une technologie très semblable au superscalaire d'Intel, c'est à dire que plusieurs instructions pouvaient être exécutées en parallèle. Son instruction stack était l'équivalent de ce qu'on appelle aujourd'hui un pipeline.

Puisque tout ce qu'on retrouve dans les CPU d'aujourd'hui existait déjà il y a 50 ans, alors qu'est-ce qui à progressé? Essentiellement la technologie des circuits intégrés. Un CDC-6600 qui était une grosse armoire nécessitant un système de refroidissement au fréon aujourd'hui tiendrais sur une petit morceau de silicium et couterait 1 ou 2$.

Bien sur au niveau des détails il y a eu quelques améliorations mais l'essentiel était déjà là. Je n'oserai plus utiliser le qualificatif de moderne pour qualifier les technologies xcore, propeller, hyper-threading, superscalar etc. La seule chose qui est moderne est notre capacité à intégrer sur des échelles de plus en plus microscopique. Certains processeurs sont maintenant gravés en 22 nanomètre, alors que le CDC-6600 était fabriqué avec des transistors bi-jonctions au silicium. C'était le premier ordinateur à utiliser des transistors au silicium et avec son clock à 10Mhz c'était l'ordinateur le plus puissant sur le marché. Un programme écris en FORTRAN pouvait exécuté 0,5 MFLOPS, le super-ordinateur de son époque.

Aucun commentaire:

Publier un commentaire