Ensimag 2A
Ensimag 2A
Examen d’Architecture avancée
Filière SLE/ISI, 3 heures, tout documents autorisés.
Notation sur 30 points : choisissez les exercices qui vous conviennent le mieux.
1 Caches (8pts)
On désire implanter le mécanisme de réduction de la pénalité du miss dans les caches à correspondance directe
(direct mapped) appellé Victim Cache, inventé par Norman Jouppi de DEC. Jouppi a prouvé expérimentalement
qu’un « cache des victimes » de 4 lignes réduisait la pénalité des miss de conflits de 20% à 95%.
Le principe est le suivant : lors d’un miss, au lieu d’évincer purement et simplement la ligne du cache, le cache
va la copier dans un tout petit cache totalement associatif. Lors des miss suivants, on va vérifier simultanément à
l’accès cache usuel si l’adresse est dans le répertoire du « cache des victimes ».
– si c’est le cas, on va échanger le contenu de la ligne du cache avec celui de la ligne du « cache des victimes » ;
– si ce n’est pas le cas, le cache va chercher la ligne en mémoire, comme il le fait classiquement.
On fait ce travail sur un cache à correspondance directe (direct mapping), à écriture systématique (write through),
structurés en 64 lignes de 8 mots de 32 bits. La mémoire utilisée pour implanter le cache est une mémoire simple
accès de largeur nbits, dans laquelle il n’est possible d’écrire (et de lire) que par paquets de nbits, les lectures
et les écritures ne pouvant avoir lieu au même cycle. Le signal AP[31 :0] est l’adresse émise par le processeur, le
signal DP[31 :0] est la donnée lue par le processeur, le signal D[31 :0] est la donnée telle que disponible sur le
bus.
On ne s’intéressera dans cet exercice qu’aux lectures.
Le cache initial est réalisé à l’aide d’une seule et unique mémoire, qui contiendra donc à la fois le bit d’invalidation,
le tag et les données, simple accès, c.-à-d. que l’on ne peut pas lire et écrire dedans au même cycle. L’interface est
(reçu signifie signal reçu par la mémoire, fourni signifie signal produit par la mémoire) : DIO[n−1:0], donnée
en entrée (reçue), lors d’une écriture et produite (fournie), lors d’une lecture ; ADDR[l−1:0], adresse de l’action
(lecture ou écriture, reçue) ; OE, lecture de la memoire (reçue). La valeur 1 sur OE provoque l’apparition de la
donnée d’adresse ADDR sur le fil DIO[n−1:0] qui y reste tant que OE ne passe pas à zéro ; WE, écriture de la
memoire (reçue). La valeur 1 sur WE provoque l’écriture de DIO[n−1:0] dans la case d’adresse ADDR ;CS,
selection de la mémoire (reçue). Le répertoire et les données ne peuvent être lus ou écrits indépendamment l’un
de l’autre.
La figure 1 représente la structure du chemin de données du cache proposé avant l’insertion du « cache des
victimes ». On suppose par ailleurs qu’il y a une machine d’état qui contrôle le cache. Dans les questions qui
suivent, on sera amené à modifier des parties de ce schéma en ajoutant du matériel. On vous demande de
redessiner succinctement les parties concernées sur votre feuille d’examen et d’utiliser les noms d’entrées/sorties
spécifiés.
Question 1 Donnez la capacité du cache initial en kilobytes, du point de vue des données.
Question 2 Donnez la structure de l’adresse du point de vue du cache (nombre de bits de chacun des champs).
Question 3 Précisez la largeur n(en nombre de bits) des bus de données de la mémoire utilisée pour réaliser la
totalité du cache (répertoire + données)
On cherche à construire le schéma du chemin de données d’un cache totalement associatif de 4 lignes de 8 mots
de 32 bits, en utilisant une mémoire pour contenir les données, le répertoire étant réalisé en registres (comme le
cache totalement associatif vu en cours et en TD). On notera avec les noms suivants les signaux de cette RAM :
VDIN[p−1:0], donnée en entrée (reçue), lors d’une écriture ; VDOUT[p−1:0], donnée en sortie (fournie),
lors d’une lecture ; VADDR, adresse de l’action (lecture ou écriture, reçue) ; VOE, lecture des données du cache
(reçue) ; VWE, écriture des données dans la mémoire (reçue) ; VCS, sélection de la mémoire (reçue). Chaque
registre iutilisé pour stocker une ligne dans le répertoire possède une autorisation d’écriture (WERi) qui lui est
Examen d’architecture - 2S page - 1