Uncore (en français : hors-coeur) est un terme utilisé par Intel pour décrire les fonctions d’un microprocesseur qui ne se trouvent pas dans le cœur, mais qui doivent être étroitement connectées au cœur pour atteindre des performances élevées[1]. Il est appelé « agent système » depuis la sortie de la microarchitecture Sandy Bridge[2].
Les cœurs de processeur contiennent typiquement les composants du processeur impliqués dans l’exécution des instructions, dont l'ALU, le FPU et les caches L1 et L2. En revanche, les fonctions de l'uncore incluent les contrôleurs QPI, le cache L3, le pipeline d’agent snoop, le contrôleur de mémoire intégré (iMC), le complexe racine de PCI Express sur puce et le contrôleur Thunderbolt[3]. D’autres contrôleurs de bus tels que SPI et LPC (en) font partie du chipset[4].
La conception de l'uncore provient de son origine en tant que northbridge. Cette conception réorganise les fonctions critiques pour le cœur, les rendant physiquement plus proches du coeur sur la puce, réduisant ainsi leur latence d’accès.
Plus précisément, la microarchitecture de l'uncore est décomposée en un certain nombre d’unités modulaires. L’interface principale du coeur est la boîte de cache (CBox), qui s’interface avec le cache de dernier niveau (LLC) et est responsable de la gestion de la cohérence du cache. Plusieurs liaisons QPI internes et externes sont gérées par des unités de couche physique, appelées PBox. Les connexions entre les PBox, la CBox et un ou plusieurs iMC (MBox) sont gérées par le contrôleur de configuration système (UBox) et un routeur (RBox)[5].
La suppression des contrôleurs de bus série de l’uncore permet d’augmenter les performances en permettant à l’horloge uncore (UCLK) de fonctionner à une fréquence de base de 2,66 GHz, avec des limites d’overclocking supérieures à 3,44 GHz[6]. Cette fréquence d’horloge accrue permet au cœur d’accéder à des fonctions critiques (telles que l’iMC) avec une latence nettement inférieure, réduisant généralement les temps d’accès du cœur à la DRAM de 10 ns ou plus.