[gull] Linux sur processeur Core Duo?
Daniel Cordey
dc at mjt.ch
Mon Aug 14 13:09:09 CEST 2006
On Monday 14 August 2006 12:51, Marc Mongenet wrote:
> C'est du code x86 qui est chargé pour être mis dans les caches.
Je ne parlais que de la cache instruction (quand elle est separee de la cache
data).
> - Mais, au moment de charger dans le cache d'instruction L1, un
> petit pré-décodage peut être fait, et quelques méta-informations
> conservées avec chaque instruction dans le cache, ce qui fait que
> ce qui est stocké en cache d'instruction L1 a une largeur d'un
> multiple un peu supérieur à 8.
Oui. mais c'est surtout a largeur du bus memeoire qui impose le nombre
de "mots" charge en une seule fois dans la cache de plus haut niveau. En
general, un bus de 128 bits va faire que l'on charge 4 instructions 32 bits a
la fois. Maintenant, j'avoue ne pas avoir suivi les details des bus
larges "256 bits" et leurs modes de gestion des multi-cores... Mais, ce
seront tres certainement des multiples de 4 mots 32 bits ou plus; j'imagine.
> - Le Pentium 4 charge l'instruction x86, mais fait le décodage complet
> pour sauver des µops dans le cache L1. Du coup le cache
> d'instructions du Pentium 4 s'appelle un "trace cache" et si l'on
> observe un boot Linux sur Pentium 4 on peut lire:
> "CPU: Trace cache: 12K uops, L1 D cache: 8K"
Donc, la cache de niveau 1 Inst. est 50% plus grande que la cache data du meme
niveau... Mais ce n'est pas la cache de niveau 1 qui est connectee
directement au bus memoire. ET c'est de cette derniere dont je parle quand il
s'agit des "load" groupes. Ce qui est fait entre les caches L1,L2 et L3 est
naturellement interne au CPU. Meme si celui-ci est en fait un dual-core. Dans
ce cas, on a une sorte de cache-bus entre les cores du chip. Ce bus a une
largeur et un frequence differente de celle du bus memoire.
dc
> EPIC est une évolution du concept VLIW.
Oui.
dc
More information about the gull
mailing list