CODINGCLASSEURS WEKA ★ Comment exploiterr toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

8/1.1 - La prise d'extensionCoding Classeurs Weka

8/1.1 - La prise d'extension

La plus grande des prises du panneau arrière de l'AMSTRAD (dont l'appellation exacte peut varier selon les modèles) est la prise d'extension (Fig. 1).
 


Fig. 1

C'est ce connecteur qui offre les plus grandes possibilités à l'amateur imaginatif, mais c'est aussi celui qui peut causer les plus gros dégâts en cas de fausse manoeuvre.

Outre quelques connexions qui ne servent que dans des cas très précis, cette prise donne en effet accès aux bus du microprocesseur Z 80.

On sait que ce circuit (petit boîtier en plastique muni de 40 broches) est le coeur de l'ordinateur : c'est lui qui coordonne le fonctionnement de tous les autres circuits de la machine, en exécutant en permanence le programme enregistré dans la mémoire ROM ou dans une cartouche extérieure.
Pour remplir ce rôle, le microprocesseur doit être électriquement relié à tous ses « périphériques ».

Pour limiter à un niveau acceptable le nombre de ces connexions, il a été imaginé qu'un certain nombre de lignes desservent à la fois (en « parallèle ») tous les circuits devant communiquer avec le Z 80. Ces lignes,

véritables « autoroutes internes » sont les bus. En envoyant certains signaux sur ces bus, le Z 80 peut informer tel ou tel périphérique ou telle ou telle mémoire qu'il désire établir un contact. Le périphérique se met alors en état de recevoir des données, ou envoie au microprocesseur les données réclamées, strictement à son tour.

Trois bus distincts sont nécessaires pour cela :

1 °) Le bus de données est bidirectionnel : ses huit lignes (DO à D7) peuvent véhiculer des octets (groupes de huit bits) du Z 80 vers les périphériques, ou des périphériques vers le microprocesseur. Il transporte les informations devant être enregistrées ou lues en mémoire, ou entrant et sortant par les périphériques (écran, clavier, imprimante, disquette, cassette, manettes, etc.)

Outre les échanges imposés par le programme en cours d'exécution, ce bus amène au microprocesseur, depuis la mémoire ROM, tes instructions qu'il exécutera immédiatement et fidèlement.

2°) Le bus d'adresses, lui, ne véhicule ses informations que du microprocesseur vers des circuits extérieurs (mémoires, périphériques, etc.). C'est par lui que te Z 80 avertit.les autres circuits qu'il désire communiquer avec eux. Comme il possède seize lignes, il peut distinguer 216 « adresses » différentes, c'est-à-dire 65536 (on parle volontiers de 64 K, 1 K valant 1024).

Pour dépasser 64 K de mémoire, il est donc nécessaire de recourir à des artifices d'agencement de ces mémoires sur les bus.

A côté des mémoires, le Z 80 peut aussi sélectionner des « ports » d'entrée-sortie, servant à échanger des octets non plus avec des mémoires, mais avec des périphériques (circuits de son, imprimante, manettes de jeu, etc.).

3°) Le bus de commande permet au microprocesseur d'indiquer à ses circuits associés s'il s'adresse à une mémoire ou à un port, s'il désire recevoir des octets ou au contraire s'il va en envoyer. Il gère également des fonctions très particulières comme les interruptions ou le rafraîchissement des mémoires dynamiques.
La figure 2 résume cette architecture selon laquelle sont conçus tous les systèmes à microprocesseurs, malgré des variantes de détail.

Apparaissent en même temps les principales broches du connecteur d'extension de l'AMSTRAD qui, on le voit, sont reliées au coeur même de la machine.
En plus de tous les signaux des bus, on remarque des signaux spécifiques AMSTRAD, élaborés par les circuits de sélection de la machine : ROMEN, ROMDIS, RAMRD, RAMDIS sont notamment utilisés pour piloter les mémoires ROM et RAM internes de l'ordinateur, et pourront contribuer à simplifier l'étude des circuits de sélection d'éventuelles mémoires externes.
 


Fig. 3


--------------------------------------
    A           B          Sortie
--------------------------------------
   fermé    fermé      cas interdit
   ouvert   ouvert   "haute impédance"
   ouvert   ferme           0
   fermé    ouvert          1
--------------------------------------



Fig. 4

Un tel circuit de sélection est, en effet, indispensable pour interfacer une mémoire ou un périphérique sur les bus : en réalisant une combinaison logique entre certaines lignes d'adresse et des signaux de commande tels que MREQ (accès à la mémoire), IORQ (accès aux ports), RD (lecture) ou WR (écriture), il élabore le signal destiné à la broche de sélection du circuit de mémoire ou de port. C'est ce processus de décodage des bus qui permet de placer un boîtier de mémoire ou un périphérique à l'endroit voulu dans la carte de la mémoire de la machine.

Pourtant, tous ces boîtiers sont bel et bien branchés ensemble sur les bus 1 Comment est-ce donc possible ?

La figure 3 donne l'explication ; le bus de données est du type « trois états » : chaque ligne du bus arrivant sur un boîtier rencontre normalement une « haute impédance », les « interrupteurs » A et B étant tous deux ouverts. Cela permet au circuit de lire les informations circulant sur le bus, ou de rester inactif. Sur demande expresse du microprocesseur, via son circuit de sélection, il peut cependant fermer l'un ou l'autre des interrupteurs A et B, mais évidemment pas les deux à la fois : il impose alors un état 1 ou 0 à la ligne de bus.

Evidemment, il faut à tout prix éviter que l'interrupteur A d'un circuit relié au bus puisse se fermer en même temps que l'interrupteur B d'un autre : il y aurait court-circuit et très vraisemblablement destruction d'un ou plusieurs composants. C'est pourquoi l'adjonction de compléments de mémoire (RAM ou ROM) ou de périphériques (cartes d'entrée-sortie, etc.) exige une très sérieuse étude théorique : brancher les bus d'adresse et de données est très simple, mais élaborer le signal de sélection correct est une toute autre affaire.

 

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 145 millisecondes et consultée 653 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.