Accueil🇫🇷Chercher

Zilog Z80000

Le Z80000 est le microprocesseur 32 bits lancĂ© par la sociĂ©tĂ© Zilog en 1986. Sa version CMOS Ă©tait le Z320.

Éléments d'architecture

Un sous-ensemble de l'architecture du Z80000 Ă©tait implĂ©mentĂ© dès 1979 dans le processeur 16 bits Z8000, ce qui permettait d'utiliser avec un Z80000 les pĂ©riphĂ©riques conçus pour le Z8000, tels que le contrĂ´leur de communication sĂ©rie Z8030 et le contrĂ´leur DMA Z8016. Le Z80000 pouvait exĂ©cuter un code compilĂ© pour le Z8000[1], mais pas d'un Zilog Z80, et n'Ă©tait donc pas compatible avec l'architecture x86 d'Intel. Remarquablement Ă©conome en silicium (Ă  peine 91 000 transistors), il Ă©tait conceptuellement assez en avance sur ses concurrents d'Intel mais sa commercialisation Ă©choua complètement en raison des retards pris pour le finaliser (annoncĂ© dès 1983, il ne fut mis sur le marchĂ© qu'Ă  partir de 1986), des difficultĂ©s Ă  fiabiliser son prĂ©dĂ©cesseur Z8000 qui avait Ă©tĂ© commercialisĂ© prĂ©maturĂ©ment avec de nombreux bugs, et surtout, de son incompatibilitĂ© avec les processeurs x86 d'Intel qui Ă©taient l'architecture de rĂ©fĂ©rence.

Les caractéristiques avancées du Z80000 étaient les suivantes :

  • L'exĂ©cution des instructions Ă©tait entièrement pipelinĂ©e[2] sur six niveaux, permettant un certain parallĂ©lisme dans l'utilisation des ressources câblĂ©es du circuit :
  1. INSTRUCTION FETCH :
    • IncrĂ©mentation du compteur ordinal (pointeur d'instruction).
    • Comparaison des Ă©tiquettes (tags) du cache intĂ©grĂ©.
  2. INSTRUCTION DECODING :
  3. ADDRESS CALCULATION :
    • Calcul des adresses logiques.
    • Comparaison des Ă©tiquettes du cache de conversion d'adresses (Translation Lookaside Buffer).
    • DĂ©termination des adresses physiques Ă  partir du cache de conversion d'adresses.
  4. OPERAND FETCH :
    • Comparaison des Ă©tiquettes du cache intĂ©grĂ©.
    • Lecture des donnĂ©es cachĂ©es.
  5. EXECUTION :
    • Lecture des registres.
    • Calculs arithmĂ©tiques et logiques.
    • Écriture des registres.
  6. OPERAND STORE :
    • Mise Ă  jour des indicateurs binaires.
    • Écriture des donnĂ©es en cache.
    • Écriture des donnĂ©es en mĂ©moire.
  • Comme le Z8000, ce processeur pouvait fonctionner selon un mode système et un mode normal (contrĂ´lĂ©s par le bit #14 du FLAGS & CONTROL WORD) afin d'isoler les applications des fonctions du système d'exploitation. Seuls les codes s'exĂ©cutant en mode système pouvaient accĂ©der aux fonctions d'entrĂ©e/sortie et aux registres de contrĂ´le, ainsi qu'Ă  l'espace mĂ©moire en mode système. Une pile sĂ©parĂ©e pour les modes système et normal sĂ©curisait encore davantage l'architecture.
  • Le Z80000 utilisait des adresses logiques sur 32 bits, lui permettant d'adresser jusqu'Ă  Gio de mĂ©moire vive. La conversion des adresses logiques en adresses physiques Ă©tait gĂ©rĂ©e par une unitĂ© de gestion mĂ©moire intĂ©grĂ©e[3] qui supportait Ă©galement la pagination de la mĂ©moire vive en pages de Kio. Trois formats d'adressage pouvaient ĂŞtre sĂ©lectionnĂ©s Ă  l'aide de deux bits du FLAGS & CONTROL WORD (bits #15 Étendu/Compact et #10 LinĂ©aire/SegmentĂ©) :
  1. Compact : un espace d'adressage uniforme de 64 Kio sur 16 bits Ă©quivalent au mode non-segmentĂ© du Z8000
  2. SegmentĂ© : un espace d'adressage segmentĂ© de Gio sur 32 bits, et non Gio car le bit de poids fort de l'adresse logique Ă©tait utilisĂ© pour spĂ©cifier la taille du segment :
  3. LinĂ©aire : un espace d'adressage uniforme de Gio sur 32 bits
  • Les seize registres gĂ©nĂ©raux 32 bits (RR0, RR2 .. RR28, RR30) pouvaient ĂŞtre accĂ©dĂ©s comme huit registres 64 bits (RQ0, RQ4 .. RQ24, RQ28). Les huit premiers registres gĂ©nĂ©raux 32 bits (RR0, RR2 .. RR12, RR14) pouvaient Ă©galement ĂŞtre accĂ©dĂ©s comme seize registres 16 bits (R0, R1 .. R14, R15), dont les huit premiers (R0, R1 .. R6, R7) pouvaient Ă  leur tour ĂŞtre accĂ©dĂ©s comme seize registres bits (RH0, RL0, RH1, RL1 .. RH6, RL6, RH7, RL7).
  • Un cache associatif de 256 octets structurĂ© en seize blocs de 16 octets Ă©tait intĂ©grĂ© au circuit du processeur et servait de cache de niveau 1 Ă  la fois pour les instructions et les donnĂ©es.
  • Le Z80000 Ă©tait conçu pour supporter les configurations multiprocesseurs, Ă  l'aide d'un registre dĂ©diĂ© (le HARDWARE INTERFACE CONTROL REGISTER) qui permettait de spĂ©cifier certains aspects de la configuration matĂ©rielle environnant le Z80000 tels que la cadence d'un processeur, sa largeur de bus et le nombre d'Ă©tats d'attente par dĂ©faut.

Notes et références

  1. À condition qu'il n'y ait pas d'appel aux unités de gestion mémoire Z010 et Z015.
  2. Pour mémoire, il fallut attendre 1989 et 1990 pour voir arriver sur le marché respectivement l'Intel 80486 et le Motorola 68040 entièrement pipelinés.
  3. Motorola sortit une MMU intégrée en 1987 avec le 68030.
  4. Le Z8070 n'a jamais été finalisé, et sa conception a été abandonnée avant terme.

Voir aussi

Articles connexes

Liens externes

Bibliographie

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.