# Pentium II

Le Pentium II désigne la sixième génération de microarchitecture (« P6 ») d'Intel et les microprocesseurs compatibles x86 introduits le 7 mai 1997. Contenant 7,5 millions de transistors (27,4 millions dans le cas du Dixon mobile avec 256 ko de cache L2 on-die), le Pentium II était une version améliorée du premier coeur de la génération P6 du Pentium Pro, qui contenait 5,5 millions de transistors. Toutefois, son sous-système de cache L2 était inférieur à celui des Pentium Pro. Il s'agit d'un microprocesseur à cœur unique.

## Vue d'ensemble

Le microprocesseur Pentium II était largement basé sur la microarchitecture de son prédécesseur, le Pentium Pro, mais avec quelques améliorations significatives.
Contrairement aux processeurs Pentium et Pentium Pro précédents, le Pentium II était logé dans un module à fente plutôt que dans un socket. Le processeur et les composants associés se trouvaient sur une carte fille similaire à une carte d'extension classique, dans une cartouche en plastique. Un dissipateur thermique fixe ou amovible était placé sur un côté, parfois avec son propre ventilateur.
Intel a pris la décision de concevoir un boîtier plus imposant afin de séparer le cache secondaire du processeur tout en maintenant une connexion étroite via un back-side bus (en). À la différence du Pentium Pro, où le cache L2 intégré fonctionnait à la même fréquence que le processeur, dans le cas du Pentium II, ce cache opère à la moitié de cette fréquence. Malgré cela, pour compenser, son associativité a été augmentée à 16 voies, comparé aux 4 voies du Pentium Pro, et sa capacité est demeurée à 512 ko, soit le double de la plus petite option de 256 ko sur le Pentium Pro$^,$$^,$. Le recours au cache externe a permis de remédier aux problèmes de rendement limité rencontrés avec le Pentium Pro, facilitant ainsi l'introduction du Pentium II à un niveau de prix accessible au grand public$^,$.
Les performances d'exécution du code 16 bits ont été améliorées sur le Pentium II, comblant ainsi une lacune notable du Pentium Pro, grâce à l'ajout de caches de registres de segments. À cette époque, la plupart des logiciels grand public utilisaient encore partiellement du code 16 bits pour diverses raisons. De plus, le problème des registres partiels a été résolu grâce à l'introduction d'un drapeau interne permettant d'éviter les rinçages du pipeline dans la mesure du possible. Pour compenser la lenteur du cache L2, le Pentium II était équipé de 32 ko de cache L1, soit le double de celui du Pentium Pro, ainsi que de 4 tampons d'écriture (contre 2 sur le Pentium Pro). Ces tampons pouvaient être utilisés par l'un ou l'autre pipeline, contrairement au Pentium Pro où ils étaient dédiés à un seul pipeline$^,$. De plus, le Pentium II fut le premier processeur basé sur le P6 à mettre en œuvre le jeu d'instructions SIMD Intel MMX sur entiers, déjà présent sur le Pentium MMX.
Le Pentium II était une version plus grand public du Pentium Pro. Il était moins cher à fabriquer en raison de la mémoire cache L2 séparée et plus lente. Les performances 16 bits améliorées et la prise en charge MMX en faisaient un meilleur choix pour les systèmes d'exploitation grand public, tels que Windows 9x, et les applications multimédias. La pénalité de performance de la mémoire cache L2, plus lente et moins chère, a été atténuée par le doublement de la mémoire cache L1 et par des améliorations architecturales pour les codes hérités. Les performances générales du processeur ont été améliorées tout en réduisant les coûts$^,$.
Tous les Pentium II Klamath et certains des premiers Pentium II Deschutes utilisent un contrôleur de cache L2 combiné à une puce de RAM tag qui ne permet de mettre en cache que 512 Mo ; bien qu'il soit théoriquement possible d'installer plus de RAM, cela se traduirait par des performances très lentes. Si cette limite n'était pratiquement pas pertinente pour l'utilisateur domestique moyen à l'époque, elle constituait un problème pour certains utilisateurs de stations de travail ou de serveurs. On peut supposer qu'Intel a délibérément mis en place cette limite pour distinguer le Pentium II de la gamme Pentium Pro, plus haut de gamme, qui dispose d'une zone de mémoire cache complète de 4 Go. La révision '82459AD' de la puce sur certains Pentium II à 333 MHz et sur tous les Pentium II à 350 MHz et plus a levé cette restriction et a également offert une zone de mémoire cache complète de 4 Go$^,$.

## Variantes
### Klamath

Le microprocesseur Klamath Pentium II original (code produit Intel 80522) fonctionnait à 233, 266 et 300 MHz et était produit avec un procédé en 0,35 μm$^,$$^,$$^,$, mais la version à 300 MHz n'est devenue disponible en grandes quantités que plus tard en 1997$^,$ .Ces CPU avaient un bus frontal à 66 MHz et étaient initialement utilisés sur des cartes mères équipées du chipset vieillissant Intel 440FX Natoma conçu pour le Pentium Pro$^,$$^,$. Les systèmes basés sur le Pentium II utilisant le chipset Intel 440LX Balboa ont largement popularisé la SDRAM (qui devait remplacer la EDO RAM et avait déjà été introduite avec le 430VX), ainsi que le bus graphique AGP.
Le 14 juillet 1997, Intel a annoncé une version du Pentium II Klamath avec un cache L2 ECC de 2× 72 bits pour les serveurs d'entrée de gamme, par opposition au cache L2 non ECC de 2× 64 bits des modèles ordinaires. Les bits supplémentaires lui confèrent une capacité de correction des erreurs intégrée au matériel, sans incidence sur les performances. La variante peut être déterminée par le numéro de pièce du processeur.

### Deschutes

Le coeur Deschutes Pentium II (80523), qui a fait ses débuts à 333 MHz en janvier 1998, a été produit avec un procédé en 0,25 μm et consomme beaucoup moins d'énergie$^,$. La taille de la puce est de 113 mm$^2$. La variante à 333 MHz a été le dernier processeur Pentium II à utiliser l'ancien bus frontal à 66 MT/s ; tous les modèles Deschutes-ultérieurs ont utilisé un FSB à 100 MT/s. Plus tard en 1998, des Pentium II fonctionnant à 266, 300, 350, 400 et 450 MHz ont également été commercialisés$^,$.
Le coeur Deschutes a introduit les instructions FXSAVE et FXRSTOR pour la sauvegarde et la restauration rapides du contexte FPU. Vers la fin de sa durée de vie, des puces Deschutes capables de fonctionner à 500 MHz dans les limites des spécifications de refroidissement et de conception d'Intel ont été produites. Toutefois, elles n'ont pas été commercialisées. Plutôt que de détruire des unités dont le multiplicateur était déjà verrouillé, les unités Deschutes qui avaient été testées et verrouillées avec un multiplicateur de 5 ont été vendues comme étant à 333 MHz. Pour ce faire, l'option bus 100 MHz a été désactivée.
Alors que Klamath dispose de 4 puces de cache et simule le double port par entrelacement (2 x 64 bits) pour une légère amélioration des performances sur les accès simultanés, Deschutes ne dispose que de 2 puces de cache et offre des performances de cache L2 légèrement inférieures à la même vitesse d'horloge. En outre, Deschutes dispose toujours d'un cache L2 avec ECC.

### Pentium II OverDrive

En 1998, le coeur Deschutes en 0,25 μm a été utilisé pour créer le processeur Pentium II Overdrive, qui visait à permettre aux utilisateurs de Pentium Pro en entreprise de mettre à niveau leurs serveurs vieillissants$^,$. En combinant le cœur Deschutes dans un boîtier flip-chip avec une puce de cache L2 pleine vitesse de 512 ko provenant du Pentium II Xeon dans un module compatible Socket 8, on obtient un processeur à 300 ou 333 MHz pouvant fonctionner sur un bus frontal à 60 ou 66 MHz$^,$$^,$. Cette combinaison a permis de réunir certains des aspects les plus attrayants du Pentium II et du Pentium II Xeon. Le Pentium II mobile "Dixon" émulerait cette combinaison avec 256 ko de cache à pleine vitesse.

### Dixon

Plus tard, en 1999, le coeur Dixon en 0,25 ; 0,18 (400 MHz) μm avec 256 ko de cache pleine vitesse on-die a été produit pour le marché mobile$^,$. Les critiques ont montré que le cœur Dixon était le type de Pentium II le plus rapide qui ait été produit.