Accueil » Actualité » L’architecture Zen en détail : comprendre le cache, les coeurs, les optimisations

L’architecture Zen en détail : comprendre le cache, les coeurs, les optimisations

Zen est annoncé comme le sauveur d’AMD qui permettra à ses processeurs de rivaliser avec le haut de gamme d’Intel. Les nouvelles informations sur l’architecture du fabricant montrent aujourd’hui que la firme a appris de ses erreurs.

Comme promis lors de sa conférence de presse concurrençant l’IDF 2016, AMD a donné de nouvelles informations sur son architecture Zen lors de la conférence Hot Chips qui s’est déroulée à Cupertino. La firme explique avoir beaucoup travaillé sur le cache L3 de son processeur, un des gros défauts des Bulldozer qui possédaient une mémoire tampon lente de type 64-way associative. Le fabricant passe ainsi à une structure 16-way associative qui a la particularité de grandement réduire les temps de latence. C’est aussi une mémoire « victime », c’est-à-dire qu’elle stocke les informations qui sont éjectées des caches L1 et L2.

Optimiser les unités de calculs

Image 19 : L'architecture Zen en détail : comprendre le cache, les coeurs, les optimisationsLes cœurs ont reçu un nombre important d’optimisations. Le décodeur peut maintenant envoyer quatre instructions par cycle d’horloge et Zen s’inspire des architectures d’Intel pour proposer un cache stockant des opérations déjà décodées pour ne pas avoir à décoder et envoyer les mêmes instructions plusieurs fois d’affilé. Ce cache alimente une file contenant des micros opérations, un système qui n’existait pas dans les Bulldozer, et qui peut envoyer six instructions par cycle.

Chaque cœur dispose de quatre unités de calculs arithmétiques, chacune intégrant six pipelines. Bulldozer n’en avait que quatre, ce qui était considéré comme un goulot d’étranglement important. On trouve aussi deux unités de calculs en virgule flottante qui sont composées de deux pipelines pour les additions et deux pipelines pour les multiplications. Bulldozer n’avait que trois pipeline en tout. L’unité de calculs arithmétique utilise un registre de 168 entrées, contre 160 pour l’unité de calculs en virgule flottante. Les deux unités envoient leurs informations dans une file capable de stocker 192 entrées et qui peut traiter huit instructions par cycle, contre quatre auparavant.

À lire aussi :
Notre comparatif de processeurs

Alimenter le processeur

Image 20 : L'architecture Zen en détail : comprendre le cache, les coeurs, les optimisationsAMD a aussi beaucoup travaillé sur la façon dont les cœurs sont alimentés en données et instructions. La firme explique ainsi avoir optimisé son système de prédiction de branchement pour améliorer sa précision. Tout comme dans les Bulldozer, celui du Zen est découplé, c’est-à-dire qu’il peut commencer son travail avant le processus de recherche d’instructions dans le but d’alimenter le processeur en données plus rapidement à l’aide d’un algorithme interne. Si la prédiction est juste, cela améliore grandement les latences. Les unités de chargement et stockage peuvent, quant à elles, effectuer 72 chargements out-of-order, ce qui place l’architecture d’AMD au même niveau que les Skylake d’Intel.

Le Simultaneous MultiThreading (SMT), le concurrent de l’HyperThreading, utilise quant à lui un système d’analyse interne permettant de déterminer le thread le plus important afin de lui accorder plus de ressources si nécessaire. Il sera aussi possible de tagger des threads dans le cas où certaines opérations ont des temps de latence impératifs. On peut par exemple penser à la gestion des données envoyées par un écran tactile, qui ont besoin d’être traitées immédiatement. Enfin, Zen inaugure de nouvelles instructions propres à AMD et destinées aux serveurs et centre de données. Certaines visent aussi à rattraper Intel comme RDSEED, qui optimise la création d’un numéro aléatoire, ou les instructions accélérant le chiffrement SHA1/SHA256.