Architecture matérielle de la console Once Sol



Présentation

Ce document essaie de retracer progressivement, en guise de préambule aux spécifications, les choix d'architecture et de conception de notre console, sur le plan matériel (hardware).

La souche correspondante est, d'après l'appellation Once Sol, d'architecture "marguerite" (d'après sa représentation), bien éloignée des premières souches Santiago et Toronto, d'architecture "scarabée", et se situe dans un avenir encore indistinct. Il n'est toutefois pas inutile de déterminer ce vers quoi l'on voudrait tendre.

Architecture générale

L'architecture de plus haut niveau est extrêmement simple : deux acteurs principaux, la console Once Sol, et un récepteur de télévison récent. Ainsi que le secteur, un transformateur et au moins une manette de jeu (joystick).

Deux types de signaux vont de notre console au récepteur :

Deux ports joystick seront disponibles, autorisant toute une variété de manettes numériques (non-analogiques, de type bouton poussoir), y compris celles d'anciennes consoles, à y être connectées (se référer à notre étude sur les périphériques d'entrée).

Accessoirement, la console est reliée au secteur par un transformateur qui délivre en sortie un signal sinusoïdal de tension 48 V, de puissance maximale 70W. L'adaptateur secteur, étant externe, est donc interchangeable. Il permet, simplement en le remplaçant par un homologue, de s'adapter aux différentes caractéristiques du secteur de chaque pays : du moment que les caractéristiques en sortie du transformateur sont celles requises, un même modèle de console (que l'on peut donc produire en plus grande série) est susceptible de fonctionner sous tout type de conventions électriques, y compris, éventuellement, des alimentations nomades telles que cordon allume-cigare, coupleur de piles ou batteries.


Architecture générale



[Retour à la table des matières]




Architecture interne de la console

En augmentant le niveau de détail, et en n'étudiant que ce sur quoi le projet Once Sol portera (le téléviseur, le transformateur et même les périphériques d'entrée n'étant pas coeurs de cible !), on arrive à la vue synthétique de la console, ci-après.

On y distingue :

L'alimentation en courant des divers composants n'étant pas parmi les points difficiles, sachant qu'elle nervure toute la console et complique les schémas, elle n'y sera plus détaillée.


Architecture intérieure

[Retour à la table des matières]




Architecture interne, analysée sous l'angle du chipset

Parallélisme

Dans cette section, on s'intéresse aux échanges de données à l'intérieur de la console. L'architecture retenue étant fondée sur le parallèlisme, avec autant de processeurs que de sous-systèmes, il va s'agir de leur permettre de travailler, autant que possible, simultanément.

Cela implique tout d'abord un couplage lâche, autant que possible asynchrone, à base d'échanges de messages plutôt que d'appels bloquants. Ainsi, si le CPU (Central Processing Unit, le processeur principal) veut solliciter l'APU ou le GPU (respectivement Audio Processing Unit et Graphical Processing Unit), il leur transmettra une requête dans leur file d'attente et continuera d'effectuer ses propres traitements sans en attendre le résultat.

Cela permettra aussi de recourir à des primitives de plus haut niveau (ex : "trace moi tel cercle" plutôt que "voici telle suite de pixels" qui se trouvent correspondre en fait à un cercle), qui constituent le meilleur moyen de se répartir les tâches et de désengorger les bus, grâce à leur plus grande concision.

Partage des bus

Pour éviter les interblocages, il convient d'efficacement contrôler l'accès aux ressources partagées, ici, notamment, les bus. Tous les sous-systèmes sont directement interconnectés par l'intermédiaire de bus dédiés, à l'exception des étages graphique et sonore, très faiblement interdépendants.

On a donc l'assurance que chaque bus a à servir deux clients, les arbitres de bus à chacune de ses extrémités, ce qui fait au plus un client à faire attendre avant de lui accorder l'usage du bus. Ce rôle de chef d'orchestre, séquenceur et arbitre entre demandeurs, est celui du chipset.

Chipset

L'architecture retenue a pour propriété de s'accommoder d'un chipset simple. Non seulement il n'a pas à être centralisé, mais en plus, comme l'algorithme qu'il a à exécuter est élémentaire, il peut être réalisé en logique asynchrone, c'est-à-dire uniquement à l'aide de portes logiques, et non de composants discrets pilotés par une horloge. Cela permet d'espérer une rapidité plus grande, tout du moins suffisante pour piloter des composants synchrones à grande fréquence.

La convention suivante sera observée : à l'intérieur d'un sous-système et du noyau, c'est le processeur local qui dispose d'un privilège d'accès à la mémoire locale. Ceci signifie, par exemple dans le cas du sous-système audio, que l'APU est le plus prioritaire quand il s'agit d'accéder à la mémoire audio.

Suivons le parcours d'un échange typique d'informations, afin de mieux en comprendre les étapes. Supposons donc que notre CPU décide qu'un certain cercle doit s'afficher à l'écran. Le CPU, profitant de son accès privilégié à la mémoire centrale, l'accède en lecture pour charger les données servant à définir le cercle, voire pour les calculer. Les valeurs en question, présentes dans ses registres, doivent alors trouver leur chemin vers la mémoire vidéo (qui est la mémoire embarquée par le sous-système graphique, et qui ne comporte pas qu'un tampon-image de l'écran : des textures, géométries et toutes sortes de données y ont leur place aussi).

Cela nécessite donc que le CPU obtienne l'accès exclusif au bus reliant le noyau au sous-système graphique. Comment fait-il, ne serait-ce que pour formuler sa requête et viser un sous-système plutôt qu'un autre ? La solution est simple, elle repose sur des plages d'adressages, gérées sur le plan électronique par des décodeurs, qui sont faciles à réaliser. Il s'agit de découper l'espace d'adressage disponible en plages correspondant chacune à une mémoire distincte. [consulter notre étude sur l'adressage]


Architecture orientée chipset

[Retour à la table des matières]




Architecture du noyau


Architecture du noyau

[Retour à la table des matières]




Architecture du sous-système graphique


Architecture graphique

[Retour à la table des matières]




Architecture du sous-système sonore


Architecture sonore

[Retour à la table des matières]




Architecture du sous-système d'entrée-sortie


Architecture des entrée-sortie

[Retour à la table des matières]








N'hésitez pas à nous faire part de votre avis !

Si vous avez des remarques à formuler, ou si vous disposez d'informations plus détaillées ou plus récentes que celles présentées dans ce document, si vous avez remarqué des erreurs, oublis, ou points insuffisamment traités, ou si vous avez envie d'apporter une aide, aussi petite soit-elle, envoyez-nous un courriel !




[Retour en haut de page]

Dernière mise à jour : 19 Août 2004