Page suivante - Page précédente - Table des matières

8. Les octets et leur multiples

Quand l'architecture Alpha fut présentée, elle était unique par rapport aux autres architectures RISC en empêchant les lectures et écritures sur 8 et 16 bits. Elle supportait les lectures et écritures sur 32 et 64 bits (mot long et quadruple mot, dans la terminologie Digital). Les co-architectes (Dick Sites et Rich Witek) justifiaient ce choix par ces avantages :

  1. Le support des octets dans le cache et le sous-système mémoire tend à ralentir les accès pour les quantités de 32 et 64 bits.
  2. Le support des octets rend difficile la création d'un circuit de correction d'erreur haute-vitesse dans le cache et le sous-système mémoire.

L'Alpha compense par de puissantes instructions pour la manipulation des octets et des groupes d'octets dans les registres de 64 bits. Les tests de performances standard pour les opérations sur les chaînes de caractères (par exemples, certains tests de Byte) montrent que l'Alpha se comporte très bien pour la manipulation des octets.

L'absence de lectures et écritures sur octet a des répercussions sur certains sémaphores logiciels et sur la conception des sous-systèmes d'entrées/sorties. La solution de Digital au problème des entrées/sorties est d'utiliser certaines lignes d'adresse de bas niveau pour spécifier la taille des données pendant les transferts de données, et de les décoder en masque d'octets. Cet adressage dénommé "adressage clairsemé" gâche une partie de l'espace d'adressage et rend l'espace d'entrées/sorties non contigü (j'en dirais plus sur cet adressage clairsemé quand j'aurai fini par l'écrire). Notez que l'espace d'entrées/sorties, dans ce contexte, se réfère à toutes les ressources présentes sur le bus PCI et comprend aussi bien l'espace mémoire PCI que l'espace d'entrées/sorties PCI.

Avec l'apparition du 21164A, l'architecture Alpha a été étendue pour inclure l'adressage des octets. L'exécution des nouvelles instructions sur un processeur plus ancien déclenchera une exception PALcode OPCDEC, pour que le PALcode puisse gérer cet accès. Cela aura une incidence sur les performances. Les ramifications de ceci font que l'utilisation de ces instructions devraient (à mon humble avis) être limitée aux pilotes de périphériques plutôt qu'aux applications.

Ces nouvelles possibilité de lecture et écriture au niveau octet signifient que de futurs chipsets pourront supporter un espace d'entrées/sorties contigü.


Page suivante - Page précédente - Table des matières