System-on-a-chip (SoC) : asynchronisme et économie d’énergie
L’accroissement de la densité des circuits électroniques permet aujourd’hui de produire des composants nommés System-on-a-chip ou SoC, qui réunissent sur une puce unique un ou plusieurs microprocesseurs, de la mémoire, des circuits pour le traitement du signal, les communications filaires ou radio-électriques, le traitement d’image, etc. Les SoC ne servent pas, du moins en général pas, à fabriquer des ordinateurs au sens strict du terme, mais il est très probable qu’il y en ait dans votre appareil photo numérique, dans votre téléphone portable, dans votre voiture ou dans votre machine à laver, sans oublier votre modem-routeur ADSL.
L’assemblage de ce type de système est un processus assez fascinant. Les entreprises qui dominent le marché des processeurs intégrés aux SoC, telles le britannique ARM ou l’américain Tensilica, n’ont aucune usine et ne produisent aucun objet matériel, ils vendent de la propriété intellectuelle, c’est-à-dire des dessins de processeurs conçus par leurs ingénieurs et les droits d’usage associés, livrés sur CD-ROM par exemple. Le « dessin » est fourni sous forme d’un texte écrit dans un langage de description de matériel, dont les plus connus sont Verilog et VHDL, qui décrit les opérations des circuits selon un procédé dit Register transfer level (RTL).
L’intégrateur utilise les descriptions RTL des différents composants dont il a acheté les dessins (ou qu’il a conçus lui-même) pour obtenir, au moyen d’un autre logiciel, une description de plus bas niveau (niveau porte logique), dont le résultat sera fourni en entrée d’un logiciel de placement, qui réalisera le dessin effectif du
composant SoC.
Les SoC sont le plus souvent implantés sur des circuits logiques programmables (Field-programmable gate arrays, FPGA), qui sont des composants semi-finis, produits par exemple par la firme Xilinx : des modules standard sont déjà présents sur le chip, il reste à sélectionner les chemins entre eux qui seront validés ou fermés. Les FPGA sont aussi utilisés pour réaliser des prototypes de microprocesseurs classiques, qui pourront ainsi être testés avant d’entreprendre des investissements considérables et irréversibles.
Les différents composants d’un SoC fonctionnent de manière asynchrone, comme ils sont spécialisés ils ne réalisent que les fonctions voulues par le concepteur pour un usage particulier, et de ce fait ils consomment moins d’énergie qu’un système réalisé par assemblage de composants standard discrets.