CODINGLA BIBLE DU CPC 6128

La bible du CPC 6128 : 1.01.01 L'organisation de la mémoire

Il y a encore 5 ans, les ordinateurs disposant de 16 K de RAM étaient considérés comme bien armés. Mais depuis l'apparition du Commodore 64, les limites de la mémoire ont été nettement repoussées. Un constructeur de micro-ordinateurs n'a de chances suffisantes de prendre une part du marché que si les magiques 64 apparaissent sur sa machine.
Mais comme les prix des composants de mémoire ont fortement chuté ces derniers mois, le fait qu'un ordinateur soit doté de 64 K octets (comme le 664) ou de 128 K octets (6128), influe peu sur son prix de revient.

D'ailleurs, il n'est pas très difficile de placer une mémoire de 64 K dans un ordinateur puisque les processeurs 8-bits, qui sont les plus répandus, peuvent tous adresser une zone de 64 kilo-octets. Le Z80 du CPC peut lui aussi adresser 64 K de mémoire sans truc particulier. Mais cela suffit normalement tout juste pour la mémoire RAM et c'est tout.
Il faut donc recourir à un procédé spécial, le bank-switching, si l'on veut pouvoir adresser plusieurs mémoires avec ce type de processeurs. Ce procédé permet en effet de choisir entre des zones de mémoire (qu'on appelle banques) ROM et RAM qui se chevauchent. Il s'agit d'un procédé qui n'utilise pas de solution matériel mais a uniquement recours à un logiciel qui organise la cohabitation des ROM et des RAM aux mêmes adresses.

Cette solution logiciel a été remarquablement mise en oeuvre par les développeurs de l'ordinateur. Sur le CPC 6128, l'adressage du bloc supplémentaire de 64 K de RAM est également réalisé grâce à ce procédé.

Le CPC 6128 présente donc l'image suivante: (remarque: sur le CPC 664, le principe est le même, si ce n'est que la banque supplémentaire de 64 K fait défaut) 64 K de RAM sont adressés directement. Parallèlement à la RAM se trouvent une moitié de la ROM dans les 16 K inférieurs (&0000 à &3FFF) et l'autre moitié de la ROM dans les 16 K supérieurs (&C000 à &FFFF), ainsi que, sur toute la zone d'adresses, la banque supplémentaire de 64 K de RAM (cette dernière n'est cependant pas adressable aussi directement).

Les 16 K inférieurs de ROM contiennent le système d'exploitation et un bloc de routines arithmétiques. Dans le système d'exploitation se trouvent toutes les routines dont le CPC a besoin pour lire par exemple un caractère tapé au clavier, pour placer un caractère ou un point sur l'écran mais c'est également le système d'exploitation qui commande le lecteur de cassette et l'interface imprimante ainsi que le son.

Dans les 16 K supérieurs se trouve l'interpréteur Basic. Ces 16 K n'ont pas de fonction spéciale. Il est possible de connecter dans cette zone jusqu'à 252 ROMs supplémentaires. C'est ainsi que les routines nécessaires pour la gestion du lecteur de disquette sont placées dans une ROM qui 'partage' cette zone avec le Basic.

La disposition de la mémoire est représentée par la figure 1.1.1.1

★ ANNÉE: ???

Page précédente : La bible du CPC 6128 : 1.01.00 Ce que vous devez absolument savoir sur votre machine

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 355 millisecondes et consultée 484 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.