Z80000

Z80000

Zilog Z80000

Le Z80000 est le microprocesseur 32 bits lancé par la société Zilog en 1986.

Sommaire

Éléments d'architecture

Un sous-ensemble de l'architecture du Z80000 était implémentée 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), et surtout des difficultés à fiabiliser son prédécesseur Z8000 qui avait été commercialisé prématurément avec de nombreux bugs.

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 du cache intégré
  2. INSTRUCTION DECODING :
    • Lecture dans le cache d'instruction
    • Génération des micro-instructions
  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 logiciels et les fonctions du système d'exploitation. Seuls les codes s'exécutant en mode système pouvaient accéder aux fonction 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 adresse logiques sur 32 bits, lui permettant d'adresser jusqu'à 4 Go de mémoire physique. 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 physique en pages de 1 Ko. 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 Ko sur 16 bits équivalent au mode non-segmenté du Z8000
  2. Segmenté : un espace d'adressage segmenté de 2 Go sur 32 bits, et non 4 Go car le bit de poids fort de l'adresse logique était utilisé pour spécifier la taille du segment :
    • ou bien 32 768 segments de 64 Ko avec déplacements sur 16 bits
    • ou bien 128 segments de 16 Mo avec déplacements sur 24 bits
  3. Linéaire : un espace d'adressage uniforme de 4 Go sur 32 bits
  • Le fichier de registres comprenait seize registres généraux de 32 bits qui pouvaient être utilisés comme accumulateurs, index ou pointeurs en mémoire. Deux autres registres (FRAME POINTER et STACK POINTER, respectivement pointeurs de cadre et de pile) étaient utilisés pour chaîner les appels de procédures avec les instructions CALL, ENTER, EXIT et RETURN. Un registre 32 bits était utilisé comme pointeur de programme tandis qu'un registre 16 bits contenait le mot d'état machine et les indicateurs binaires (FLAGS & CONTROL WORD), qui étaient sauvegardés implicitement lors des interruptions et des trappes. Neuf autres registres spéciaux étaient utilisés pour contrôler l'état du processeur, la configuration système et la gestion de la mémoire.
  • 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 8 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. A 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

Ce document provient de « Zilog Z80000 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Z80000 de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Z80000 — El Z80000 es un procesador de 32 bits de Zilog, presentado en 1986, siendo una expansión de su predecesor de 16 bits, el Zilog Z8000. Incluye capacidades de multiproceso, un pipeline de memoria de seis niveles y una cache de 256 bytes. Su sistema …   Wikipedia Español

  • Zilog Z80000 — Le Z80000 est le microprocesseur 32 bits lancé par la société Zilog en 1986. Sa version CMOS était le Z320. Sommaire 1 Éléments d architecture 2 Notes et références 3 Voir aussi …   Wikipédia en Français

  • Zilog Z80000 — Der 1986 veröffentlichte Zilog Z80000 war ein für seine Zeit fortschrittlicher Mikroprozessor. Es handelt sich um eine 32 Bit Architektur, die mit Pipelines arbeitete und über einen Cache von 256 Byte verfügte, der softwaremäßig eingefroren… …   Deutsch Wikipedia

  • Zilog Z80000 — The Z80000 was Zilog s 32 bit processor from 1986, an expansion of its 16 bit predecessor, the Zilog Z8000. It included multiprocessing capability, a six stage instruction pipeline, and a 256 byte cache. Its memory addressing system could access… …   Wikipedia

  • Zilog — Zilog, Inc. Type Public Traded as NASDAQ: ZILG Industry Semiconductors Founded 1974 …   Wikipedia

  • ZiLOG — Zilog, auch ZiLOG geschrieben, ist ein Hersteller von 8 Bit Mikroprozessoren mit Sitz in San Jose, Kalifornien. Das bekannteste Produkt war der zum Intel 8080 kompatible, aber leistungsfähigere Z80 aus dem Jahr 1976. Zilog wurde 1974 von Federico …   Deutsch Wikipedia

  • Zilog Z80 — One of the first Z80 microprocessors manufactured; the date stamp is from June 1976. Produced 1976 Common manufacturer(s) Zilog …   Wikipedia

  • Z-80 — Zilog Z80 im 40 poligen DIP NEC µPD780C, NEC Version eines Z80 Der Zilog Z80 (manchmal auch „Z 80“) ist ein 8 Bit Mikroprozessor, der vo …   Deutsch Wikipedia

  • Z80 — Zilog Z80 im 40 poligen DIP NEC µPD780C, NEC Version eines Z80 Der Zilog Z80 (manchmal auch „Z 80“) ist ein 8 Bit Mikroprozessor, der vo …   Deutsch Wikipedia

  • Z80a — Zilog Z80 im 40 poligen DIP NEC µPD780C, NEC Version eines Z80 Der Zilog Z80 (manchmal auch „Z 80“) ist ein 8 Bit Mikroprozessor, der vo …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”