Vous êtes sur la page 1sur 2

Td1.

2- cache-memories Archi2- Rahmoun


EX1:
On considère une mémoire hiérarchique (centrale + cache) par :

- Taille de la mémoire = 1 giga mots de 16 bits (adressable par mots de 16 bits)


- Taille du cache= 1 méga mots de 16 bits (adressable par mots de 16 bits)
- Des blocks de cache de taille 256 mots de 16 bits
Pour les différentes structures du cache suivantes :
a- Cache directe (direct mapped cache)
b- Cache totalement associatif (fully associative cache)
c- Cache associatif à 2 voies (2-way set-associative cache)
d- Cache associatif à 4 voies (4-way set-associative cache)
e- Cache associatif à 8 voies (8-way set-associative cache)
Questions : Pour les 5 différentes structures du cache
1- Calculer les structures d’adresses dans le cache;
2- Calculer le nombre de blocks dans le cache ;
3- Calculer le nombre d’ensembles dans le cache

Solution :
MC : Adresse= 30 bits (Mots à 2 Bytes (16 bits)

Block=256 mots ; offset=8 bits

Dans MC : nbre de blocks= 230/28= 222 = 4 Mega blocks dans MC

Dans Cache : 1 M mots : il y a 220/28= 212 = 4 Kilo blocks dans cache(12 bits adresse pour block dans cache)

a- Direct mapping : tag :10 bits index : 12 bits offset :8 bits


b- Fully associative : tag : 22 bits offset : 8 bits
c- 2-way associative : nbre de sets= 212/2= 211 = 2K sets dans cache :
tag :11 index :11 offset :8
d- 4-way associative : tag :12 index :10 offset :8 (1 K sets dans cache, set = 4 blocks)
e- 8-way associative : tag :13 index :9 offset :8 (512 sets dans cache, set = 8 blocks)
Exercice 2: Un cache possède une capacité de 64 KO, des lignes de 128 octets, et un degré
d’associativité égal à 4. Le système qui contient le cache utilise des adresses de 32 bits.

1- Donnez le format d’adresses dans le cache.


2- Pour chacune des adresses ci-dessus, indiquez le numéro de l’ensemble (set) contenu dans le cache ;
et celui de l’octet référencé dans la ligne du cache.
Adresses : 0xABC89987 ; 32651987 ; 228945DB ; 48569CAC

Vous aimerez peut-être aussi