Motorola 68040

microprocesseur
MC 68040
Description de cette image, également commentée ci-après
Processeur Motorola 68LC040.
Informations générales
Production 1990
Fabricant Motorola
cpuid Non implémenté
Performances
Fréquence 25 MHz à 40 MHz
Spécifications physiques
Boîtier QFP 184 broches et PGA 179 broches
Architecture et classification
Architecture CISC 32 bits
Boutisme gros-boutiste
Historique

Le Motorola 68040 est un microprocesseur CISC 32 bits de la famille m68k de Motorola, produit en 1990. Il succède au Motorola 68030 et précède le Motorola 68060. Le 68050 fut un projet abandonné, il était aux 68040 ce qu'étaient le 68030 au 68020, une gravure plus fine, et des mémoires caches plus importantes.

Caractéristiques techniques modifier

Le 68040 est le premier membre de la famille 680x0 avec coprocesseur arithmétique incorporé. Il inclut toutes les fonctionnalités qui étaient autrefois externes, à savoir l'unité de calcul en virgule flottante et la MMU (qui fut ajoutée dans le 68030). Il dispose aussi de caches séparés d'instructions et de données de 4 kilooctets chacun. Il est entièrement pipeliné, avec six étages.

Outre l'optimisation des unités arithmétiques et de calcul des adresses effectives, et la possibilité d'exécuter deux instructions entières par cycle (pourvu qu'elles ne soient pas interdépendantes), le cache de données du 68040 fonctionne en mode différé (write back). Son architecture s'enrichit donc d'une unité de supervision du bus (bus snooping), fonctionnelle y compris en mode DMA, destinée à invalider les copies privées des données, ou bien à forcer une vidange en cas d'accès externe à une donnée modifiée dans le cache (cohérence de cache, cache coherency).

La FPU dans les 68040 est une version très simpliste des Motorola 68881 et 68882, privée des fonctions transcendantes IEEE (à part les quatre opérations, elle ne sait calculer que les racines carrées). Le logiciel de support de virgule flottante de Motorola (FPSP) suppléait à ces instructions par des interruptions logicielles. Comme il s'agissait d'une émulation, l'usage intensif de fonctions transcendantes provoquait d'énormes ralentissements.

La dissipation thermique a été l'un des points d'achoppement du 68040. Alors que par cycle d'horloge il fournissait le double de performance du déjà ancien 68030, la complexité de la puce et l'alimentation électrique nécessaire pour sa grande surface et les grands caches provoquait une accumulation de chaleur. Ceci affecta les capacités d'évolution du processeur qui ne passera jamais la barre des 40 MHz. Une évolution à 50 MHz fut prévue, mais abandonnée. Les premiers overclockeurs réussirent cependant avec des radiateurs et des ventilateurs (exceptionnels pour l'époque).

Le 68040 était censé être concurrent de l'Intel 80486 mais ses performances étaient inférieures[1], alors que, jusqu'ici, les microprocesseurs m68k, à génération égale, avaient toujours été meilleurs que leurs équivalents x86, notamment en raison de leur plus grand nombre de registres internes.

68LC040 modifier

Le 68LC040 est un 68040 sans FPU.

68EC040 modifier

Le 68EC040 est un 68040 sans FPU ni MMU.

Utilisations modifier

Par Apple modifier

Pour de très nombreux modèles de sa gamme d'ordinateurs personnels Macintosh, notamment les Macintosh Centris et Quadra, des Performa et des PowerBook.

Par Bull modifier

Pour le serveur Bull DPX2/360.

Par Commodore International modifier

Pour l'ordinateur personnel Amiga 4000.

Par NeXT modifier

Pour la station de travail NeXTstation.

Notes et références modifier

  1. 17,8 SPECint92 pour un Motorola M4420A4 équipé d'un 68040 à 40 MHz, contre 28,8 SPECint92 pour un Siemens Nixdorf MX300 Model 75 équipé d'un 80486DX à 50 MHz.