| ★ CODING ★ Apprendre pas à pas la programmation en assembleur Z80 par Roudoudou ★ Les différents composants de l'ordinateur ★ |
| Fonctionnement d'un Amstrad au démarrage |
Que se passe-t'il au démarrage d'un Amstrad CPC/Plus?La première chose que fait l'ordinateur, c'est exécuter un programme situé en ROM. Dès la première microseconde après l'allumage, le Z80 va lire la mémoire morte (ROM) située à l'adresse zéro. Simple, basique. Le Gate Array qui s'occupe de filtrer la mémoire sélectionne la ROM basse par défaut, le processeur ne lit jamais la mémoire vive (RAM) au démarrage, et c'est heureux car elle peut contenir n'importe quoi! Dans l'animation ci-dessous, au ralentit, l'ordinateur redémarre. On voit à gauche le contenu de la mémoire vive uniquement. À droite, c'est ce que voit le Z80 "au travers" du Gate Array. On remarque une différence en haut, soit le premier 1/4 de la mémoire, plus précisemment la première page de 16K (16384 octets). Ce sont les données du programme BIOS (firmware+BASIC). Le Z80 exécute ce programme. Dans l'ordre, si vous regardez bien, plusieurs choses vont se passer. - D'abord des données sont copiées au tout début de la mémoire (tout en haut à gauche). Note : On voit qu'il reste de la mémoire non initialisée.Le Z80 est toujours en train d'exécuter un programme. C'est le firmware/BASIC. Il attend vos ordres. Et comme on le remarque sur le mapping visuel de ce que voit le processeur, sa ROM est connectéepresque en permanence, car c'est là qu'est localisé son programme principal, qui s'occupe de gérer les couleurs, les interruptions, le son, le clavier. L'autre chose importante est de savoir que vous ne disposez pas (depuis le Basic) de toute la mémoire disponible. Il y a quelques centaines d'octets au début de la mémoire et plusieurs kilo-octetssituées peu après la zone #A000 jusqu'en #C000 qui est l'adresse de début de la mémoire attribuée par défaut à l'écran vidéo.
|