★ CODING ★ CLASSEURS WEKA ★ CLASSEURS WEKA : Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
2/6 - L'horloge interne | Coding Classeurs Weka |
Les AMSTRAD CPC 464, 664 et 6128 sont bâtis autour d'un microprocesseur Z 80 A « tournant » à 4 MHz, ce qui est relativement rapide : beaucoup d'ordinateurs personnels équipés d'autres microprocesseurs se contentent de 1 MHz,La famille Z 80 comprend cependant des composants plus rapides (Z 80 B : 6MHz) et plus lents (2 80 CPU : 2,5 MHz), ce qui fait que le choix effectué se situe dans une très bonne moyenne. Le Z 80 A doit donc recevoir sur sa broche 6 (CLK ou dock) un signal rectangulaire de 4 MHz, c'est-à-dire quatre millions d'impulsions ou périodes d'horloge par seconde. Cette fréquence est dérivée d'un signal à 16 MHz produit par un oscillateur à quartz équipé de deux inverseurs appartenant soit à un 74LS00 (TTL Schottky), soit à un 74HCU04 (CMOS rapide). La division par quatre est opérée dans le circuit « Gate Array » ou « ULA », qui en profite pour élaborer d'autres fréquences à partir de cette référence très stable. La fréquence de tous les sons pouvant être émis par l'AMSTRAD est donc obligatoirement un sous-multiple de 1 MHz, puisque le synthétiseur fonctionne par division de fréquence. En même temps, la précision obtenue sur la sortie « audio » sera celle du quartz, c'est-à-dire extrêmement bonne. Par contre, il ne sera pas possible de synthétiser n'importe quelle fréquence : les notes de musique seront « arrondies » au plus proche sous-multiple de 1 MHz, ce qui peut être perceptible pour une oreille très « juste ». Il ne pourra pas non plus être question de produire, par exemple, les paires de fréquences utilisées pour composer des numéros de téléphone en code « multifréquences » car la « résolution » offerte est très inférieure à la tolérance acceptée par les centraux. Retenons donc que la stabilité des fréquences générées est excellente, mais que l'erreur par rapport à la fréquence désirée peut être relativement importante, particulièrement aux fréquences les plus hautes qui correspondent à de plus petits rapports de division. Pour produire des fréquences inaccessibles au générateur de son, on peut toutefois songer à piloter un port de sortie (par exemple le STROBE de l'imprimante) par une routine en langage machine soigneusement « accordée ». Ce procédé, qui peut être employé pour toutes sortes d'autres « chronométrages », exploite le fait que la fréquence d'horloge est le véritable « chef d'orchestre » du microprocesseur : chaque instruction exécutée, chaque opération effectuée, dure un nombre entier de périodes d'horloge (0,25 microseconde pour 4 MHz). Pour étalonner une routine (ou une partie de routine), il suffit d'additionner le nombre de périodes d'horloge correspondant à chaque instruction, en tenant compte des différents « chemins » possibles (par exemple selon le résultat de comparaisons). On peut donc dire que l'unité de temps dans laquelle compte le microprocesseur est la microseconde. Pour calculer la durée d'exécution d'une routine, la connaissance du nombre de cycles machine (voir annexe 2 de la partie 11 ) ne suffit pas : certains cycles comportent plus de périodes d'horloge que d'autres. Le tableau 1 donne donc la durée d'exécution des principales instructions, exprimée en périodes d'horloge de 0,25 µS. En théorie, on pourrait envisager d'altérer la durée d'exécution des instructions et la fréquence des sons émis par le synthétiseur, en modifiant légèrement la fréquence du quartz de l'oscillateur d'horloge. En pratique, ce genre d'intervention risque de fausser la fréquence des signaux vidéo produits par le contrôleur d'écran, qui travaille lui aussi par division de la fréquence auxiliaire de 1 MHz : l'affichage écran pourrait alors se trouver sérieusement perturbé. Cette solution n'est toutefois pas à écarter à 100 % lorsqu'il s'agit de résoudre des problèmes très spéciaux, pour lesquels le moniteur n'est pas forcément indispensable. On se souviendra cependant que les routines de gestion des différents autres périphériques (lecteur de cassettes ou de disquettes, imprimante, etc.) sont évidemment cadencées par la même horloge, et ne supportent guère d'importants écarts.
|