|
|||||||||||||||||||||||||||||||||||||||||||
|
GVP travaille sur une carte accélératrice 68060 pour Amiga 4000, et Commodore a annoncé que la nouvelle gamme d'Amiga à venir utilisera le nouveau processeur de Motorola. Présentation Le 68060, décrit en détail par un document de Motorola, semble être plein de promesses. Il allie une architecture 32 bits, comprenant plusieurs unités de traitement en parallèle, à une consommation réduite permettant des fréquences élevées de fonctionnement.
Elle est chargée d'exécuter les opérations logiques et arithmétiques, elle est composée d'un contrôleur d'acquisition d'instructions, d'un contrôleur d'exécution d'instructions, et d'un cache de branchement. Le contrôleur d'acquisition d'instructions Il est composé d'une chaîne d'acquisition des instructions et d'une liaison par circuits logiques au cache de branchements. La chaîne d'acquisition consiste en quatre étapes, permettant d'acquérir les instructions en mémoire avant leur utilisation effective par le contrôleur d'exécution d'instructions. L'acquisition continue des instructions permet de laisser le moins longtemps possible le contrôleur d'exécution inactif, d'où des performances machine accrues. Chaque instruction doit passer par ces quatre étapes avant l'exécution :
Le contrôleur d'exécution d'instructions Son architecture comprend deux chaînes d'exécution d'instructions, une logique de liaison avec l'unité de calcul en virgule flottante, ainsi qu'avec les caches et les gestionnaires de mémoire. Les deux chaînes d'exécution sont indépendantes et peuvent fonctionner simultanément sur deux instructions différentes au cours du même cycle machine. Résultat : on peut avoir virtuellement et vu de l'extérieur des instructions qui s'exécutent en des temps inférieurs à la durée d'un cycle machine ! Chaque exécution d'instruction s'exécute en six phases :
Le cache de branchements Il est prévu pour contenir la ligne de code à laquelle pointent les instructions de branchement présentes dans la chaîne d'acquisition d'instructions. Ainsi, dès qu'une telle instruction se présente, et qu'il y a branchement effectif, la chaîne d'acquisition des instructions se continue à l'endroit indiqué par le cache de branchements, au lieu de continuer de façon séquentielle. Ceci permet d'effectuer les branchements à la place du contrôleur d'exécution, ce qui fait gagner du temps machine. L'unité de traitement des nombres en virgule flottante Fonctionnant en parallèle avec l'unité de traitement des entiers, elle permet de multiples calculs en virgule flottante avec compatibilité IEEE. De plus, elle est compatible avec le MC68040 et les coprocesseurs MC68881 et MC68882. Comme cette unité est intégrée au 68060, cela élimine les accès à des coprocesseurs extérieurs, pour une rapidité de traitement accrue. Les instructions IEEE non implémentées de façon matérielle dans le 68060 sont émulées logiciellement pour une compatibilité IEEE complète. La gestion de la mémoire et des adresses Elle est effectuée par les deux gestionnaires de mémoire (MMU). L'un d'eux est destiné aux instructions, l'autre aux données ; et chacun d'eux contient un cache d'adressage. Le 68060 peut en effet adresser jusqu'à 4 Giga-octets. Bien que la plupart des systèmes comportent a ce jour beaucoup moins de 4 Go de mémoire, cette quantité peut être atteinte par l'utilisation de mémoire virtuelle (à la GigaMem). Les MMU sont donc là pour gérer cette quantité impressionnante de mémoire, par pages de 4 ou 8 ko, et permettent quelques fonctions utiles. Par exemple, il est possible de protéger l'accès de certaines zones mémoire. Ils fonctionnent bien entendu en parallèle avec les autres unités du 68060, toujours dans un but d'accroissement de puissance machine. Les caches d'instructions et de données Le 68060 utilise doublement la technologie des caches, car il possède un cache pour les instructions, et un autre cache indépendant pour les données (8 ko chacun). Ceci permet de réduire de manière substantielle les accès externes en mémoire. Le caractère indépendant des caches autorise des acquisitions de données et d'instructions simultanées, tout en laissant libres les bus externes pour les autres unités de traitement. Ce genre de superposition d'activités permet au microprocesseur d'exécuter de multiples instructions en interne pendant un accès externe en mémoire pour une autre instruction. A noter aussi, le 68060 a la capacité d'assurer une cohérence entre ses caches et la mémoire externe utilisée sur le moment. En effet, il peut surveiller le bus externe pendant son utilisation par d'autres unités, ce qui lui permet de mettre à jour les caches ou pas. On peut configurer (à l'aide d'un drapeau) les cycles de bus externes comme "surveillables" ou non, et dans le cas où la surveillance est autorisée, le circuit chargé de celle-ci a un accès prioritaire aux caches par rapport aux unités d'exécution des instructions. La gestion de consommation Le 68060 a une architecture de faible consommation, due à l'utilisation de logiques statiques. Seules les commutations des circuits logiques utilisés entraînent une consommation, donc le 68060 ne consomme que lorsqu'il travaille. En fait, cela rend la consommation proportionnelle à la quantité d'instructions traitées par seconde, et donc à la fréquence. Comme il travaille à 50 ou 66 MHz, on comprend la tactique de Motorola visant à gérer la consommation intelligemment de manière à faire des économies. En effet, il faut savoir que plus un composant consomme, plus il chauffe : donc, pour de hautes consommations, la température peut devenir dangereuse pour le composant lui-même. Pour parer à cela, le 68060 est alimenté en 3,3 V au lieu de 5 V, d'où une chute de consommation de 40 à 60%. Ensuite, il est possible de désactiver la plupart des unités de traitement et des gestionnaires, pour des économies de température. Enfin, l'instruction LPSTOP permet de bloquer les circuits actifs du microprocesseur, arrêtant ainsi l'exécution. Dans ce mode d'attente, la consommation est très largement réduite. On faire tout redémarrer grâce à une interruption, ou un réinitialisation du microprocesseur. Un mot pour finir Le tout dernier de la série des 680x0 paraît posséder des capacités fortement alléchantes : de plus, sa compatibilité avec ses prédécesseurs doit permettre de développer rapidement des logiciels qui pourront exploiter sa puissance. Maintenant, nous n'avons plus qu'à attendre la série des Amiga 5000, à base de 68060, pour se faire une idée plus concrète de ses capacités.
|