tutorato architettura degli elaboratori - unife.it · architettura degli elaboratori - tutorato -...

57
Architettura degli elaboratori - Tutorato - Dott. Damiano Braga Architettura degli elaboratori Tutorato Dott. Damiano Braga

Upload: docong

Post on 18-Feb-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Architettura degli elaboratori

Tutorato

Dott. Damiano Braga

Page 2: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Before we start..

[email protected]

Orario

• 18 Maggio h. 11.30-13.30 aula F6• 26 Maggio h. 11.30-13.30 aula F6• 7 Giugno h. 14.00-16.00 aula F4

Page 3: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Consideriamo una cache a 64 blocchi e una dimensione di blocco di 16 byte. A quale # di blocco corrisponde l’indirizzo del byte 1200?

(indirizzo blocco) modulo (# blocchi nella cache)

# blocco =

indirizzo del byte / byte per blocco

indirizzo blocco =

Page 4: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

il blocco con tale indirizzo contiene tutti gli indirizzi compresi tra :

inf ( indirizzo del byte/ byte per blocco) * byte per blocco

inf ( indirizzo del byte/ byte per blocco) * byte per blocco + (byte per blocco -1 )

e

Page 5: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

quindi visto che abbiamo 16 byte per blocco, il byte di indirizzo 1200 si trova nel blocco di indirizzo

inf(1200/16) =75

che corrisponde al blocco della cache 75 mod 64= 11

Page 6: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Consideriamo una cache a mappatura diretta costituita da 2^8 righe aventi 2 parole ( di 32 bit ciascuna) per riga, inizialmente vuota. Per ognuno dei seguenti indirizzi:

0x 123450340x 123450380x CAFFE2300x CEC102300x 123450300x 00000F3C0x CEC10238

Page 7: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

si divida ciascun indirizzo nei campi che contraddistinguono il tag, indice (riga di cache), e la colonna.

bit INDIRIZZO

A CB

A = tag B = individua la rigaC = individua la parola

D = displacement (byte all’interno della parola)

D

Page 8: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

0x (12345034 )

0001 0010 0011 0100 0101 0000 0011 0100

binary

Page 9: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1) Displacement

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

log_2( # parole) = log_2(2) = 1 bit LSB

0001 0010 0011 0100 0101 0000 0011 0100

Page 10: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

2) 2 parole = 2^1= 2

1 bit per individuare una parola

0001 0010 0011 0100 0101 0000 0011 0100

la parola individuata è la parola 0

Page 11: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

3) 2^8 righe = 2^8

8 bit per individuare la riga

0001 0010 0011 0100 0101 0000 0011 0100

la riga individuata è la 13

Page 12: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

4)i MSB rimanenti sono il tag

32-8-1-1 bit

0001 0010 0011 0100 0101 0000 0011 0100

Page 13: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

0x (12345038 )

0001 0010 0011 0100 0101 0000 0011 1000

binary

Page 14: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1) Displacement

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

log_2( # parole) = log_2(2) = 1 bit LSB

0001 0010 0011 0100 0101 0000 0011 1000

Page 15: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

2) 2 parole = 2^1= 2

1 bit per individuare una parola

0001 0010 0011 0100 0101 0000 0011 1000

la parola individuata è la parola 0

Page 16: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

3) 2^8 righe = 2^8

8 bit per individuare la riga

0001 0010 0011 0100 0101 0000 0011 1000

la riga individuata è la 14

Page 17: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

4)i MSB rimanenti sono il tag

32-8-1-1 bit

0001 0010 0011 0100 0101 0000 0011 1000

Page 18: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

0x (CAFFE230 )

1100 1010 1111 1111 1110 0010 0011 0000

binary

Page 19: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1) Displacement

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

log_2( # parole) = log_2(2) = 1 bit LSB

1100 1010 1111 1111 1110 0010 0011 0000

Page 20: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

2) 2 parole = 2^1= 2

1 bit per individuare una parola

1100 1010 1111 1111 1110 0010 0011 0000

la parola individuata è la parola 0

Page 21: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

3) 2^8 righe = 2^8

8 bit per individuare la riga

1100 1010 1111 1111 1110 0010 0011 0000

la riga individuata è la 140

Page 22: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

4)i MSB rimanenti sono il tag

32-8-1-1 bit

1100 1010 1111 1111 1110 0010 0011 0000

Page 23: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Completate voi per esercizio:

0x CEC102300x 123450300x 00000F3C0x CEC10238

Page 24: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1010 0010 1011 0100 1100 0000 0011 1101

Partendo da questo indirizzo e sapendo che il displacement e i bit per identificare la parola sono 3 ciascuno, e che vi sono 4 bit per identificare la riga ricava:

- indirizzo in hex- quante sono le parole per riga, e quante sono le righe- la riga, la parola e il tag identificate da questo indirizzo

Page 25: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

0x (A2B4C03D )

1010 0010 1011 0100 1100 0000 0011 1101

binary

Page 26: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

1) Displacement

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

log_2( # parole) = log_2(8) = 3 bit LSB

1010 0010 1011 0100 1100 0000 0011 1101

Page 27: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

2) 8 parole = 2^3= 8

3 bit per individuare una parola

1010 0010 1011 0100 1100 0000 0011 1101

la parola individuata è la parola 7

Page 28: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

3) 16 righe = 2^4

4 bit per individuare la riga

la riga individuata è la 0

1010 0010 1011 0100 1100 0000 0011 1101

Page 29: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

2^ 8 righe 2 parole per riga

Ogni riga = 32 bit

4)i MSB rimanenti sono il tag

1010 0010 1011 0100 1100 0000 0011 1101

tag = 84501600

Page 30: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Abbiamo una cache a 8 parole a mappatura diretta che è inizialmente vuota. Si supponga di voler effettuare un accesso per ogni indirizzo fornito. Si indichi se si tratta

di un hit o di un miss:

222622261631618

Page 31: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 22

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (22) = (10110)10 2

B) 22 mod 8 = 6 = (110)2

cache index

C) cache vuota miss

Page 32: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 n0 1 1 n1 0 0 n1 0 1 n1 1 0 n1 1 1 n

cache vuota

Page 33: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 n0 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache dopo 1 miss

Page 34: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 26

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (26) = (11010)10 2

B) 26 mod 8 = 2 = (010)2

cache index

C) cache miss

Page 35: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 n0 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache prima 2 miss

Page 36: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache dopo 2 miss

Page 37: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 22

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (22) = (10110)10 2

B) 22 mod 8 = 6 = (110)2

cache index

C) cache hit

Page 38: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache

Page 39: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 26

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (26) = (11010)10 2

B) 26 mod 8 = 2 = (010)2

cache index

C) cache hit

Page 40: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache

Page 41: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 16

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (16) = (10000)10 2

B) 26 mod 8 = 0 = (000)2

cache index

C) cache miss

Page 42: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 n0 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache

Page 43: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache prima

Page 44: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 3

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (3) = (00011)10 2

B) 3 mod 8 = 3 = (011)2

cache index

C) cache miss

Page 45: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 11 110100 1 1 n1 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache prima

Page 46: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 11 110100 1 1 s 0 0 0 0 0 111 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache

Page 47: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 16

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (16) = (10000)10 2

B) 16 mod 8 = 0 = (000)2

cache index

C) cache hit

Page 48: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 11 110100 1 1 s 0 0 0 0 0 111 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache

Page 49: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indirizzo 18

cache 8 parole => 2^3 = 8 3 LSB dell’indirizzo indicano l’indice del blocco in cache

A) (18) = (10010)10 2

B) 18 mod 8 = 0 = (010)2

cache index

C) cache miss.. Perchè!?!?

Page 50: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 11 110100 1 1 s 0 0 0 0 0 111 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache prima

Page 51: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

A ) prima si controlla se il dato è valid o meno (S o N)

B ) il tag deve essere controllato ed uguale al campo presente in cache

C ) A e B ? HIT altrimenti miss

Page 52: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

indice V Tag Dato0 0 0 s 10 100000 0 1 n0 1 0 s 10 100100 1 1 s 0 0 0 0 0 111 0 0 n1 0 1 n1 1 0 s 10 101101 1 1 n

cache dopo

Page 53: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si calcoli l’hit rate e la miss rate sull’esercizio precedente:

Freq. Hit = # hit / # tot accessi

Freq. Miss = # miss / # tot accessi

Freq. Hit = 1- Freq.Miss

Page 54: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si calcoli l’hit rate e la miss rate sull’esercizio precedente:

# tot accessi = 8

# miss = 5

# hit = 3

hit rate = 3/8miss rate = 5/8

Page 55: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Consideriamo una cache a mappatura diretta costituita da 2^8 righe aventi 2 parole ( di 32 bit ciascuna) per riga, inizialmente vuota. Per ognuno dei seguenti indirizzi:

0x 123450340x 123450380x CAFFE2300x CEC102300x 123450300x 00000F3C0x CEC10238

si dica per ogni accesso se si tratta di hit o missSi calcoli hit rate e miss rate

Page 56: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

Si calcoli il numero tot di bit necessari per una cache a corrispondenza diretta contenente 64KB di dati e blocchi

di una parola ipotizzando indirizzi da 32 bit?

# tot bit = 2^n * (B+T+V)

n dimensione indiceB dimensione del bloccoT dimensione del tagV dimensione del bit di validitàT= 32 - (n+2)

Page 57: Tutorato Architettura degli elaboratori - unife.it · Architettura degli elaboratori - Tutorato - Dott. Damiano Braga il blocco con tale indirizzo contiene tutti gli indirizzi compresi

Architettura degli elaboratori - Tutorato - Dott. Damiano Braga

64KB 16KWORD

2^14 parole

Per ogni blocco ci sono 32 bit x dato+ campo tag e bit validità

T = 32- 14 -2

# tot bit = 2^14 * (32+(32- 14 -2 )+1)

= 784 Kbit = 98 K