Simulaci - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Simulaci

Description:

Se copia A desde L1 a L2. L1. L2. Mem. D. C. A. A. B. B. Caso 3 ... Se copia B desde L1 a L2. Se copia TAG de C a L1. Se marca el bloque C en L1 como v lido ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 25
Provided by: serdisD
Category:
Tags: desde | hace | simulaci

less

Transcript and Presenter's Notes

Title: Simulaci


1
Simulación de la Memoria Cache
  • Práctica 3
  • Arquitectura de Computadores

2
Simulador sim-cache
  • Intalación
  • Descargar simplesim_3v0d.tar.gz
  • gzip d tar xvf
  • make config-alpha
  • make sim-cache
  • Se genera el ejecutable sim-cache

3
Simulador Cache Inclusiva sim-cache
  • ./sim-cache

-maxinst ltuintgt 0
maximum number of inst's to execute -cachedl1
ltstringgt dl1256321l l1 data
cache config, i.e., ltconfiggtnone -cachedl2
ltstringgt ul21024644l l2 data
cache config, i.e., ltconfiggtnone -cacheil1
ltstringgt il1256321l l1 inst
cache config, i.e., ltconfiggtdl1dl2none -cache
il2 ltstringgt dl2 l2
instruction cache config, i.e.,
ltconfiggtdl2none ltnamegtltnsetsgtltbsizegtltassocgt
ltreplgt ltnamegt - name of the cache being
defined ltnsetsgt - number of sets in the
cache ltbsizegt - block size of the cache
ltassocgt - associativity of the cache ltreplgt
- block replacement strategy, 'l'-LRU, 'f'-FIFO,
'r'-random Examples-cachedl1
dl14096321l -dtlb dtlb128409632r
Opciones por defecto -cachedl1
dl1256321l l1 data cache config,
-cachedl2 ul21024644l l2 data cache
config, -cacheil1 il1256321l l1 inst
cache config, -cacheil2 dl2 l2
instruction cache config,
4
Simulador sim-cache
  • ./sim-cache -maxinst 100000 gcc-200.eio

sim simulation statistics sim_num_insn
100000 total number of instructions
executed sim_num_refs 25861
total number of loads and stores
executed dl1.accesses 25931
total number of accesses dl1.hits
24211 total number of hits dl1.misses
1720 total number of
misses dl1.replacements 1464
total number of replacements dl1.writebacks
744 total number of
writebacks dl1.miss_rate 0.0663
miss rate (i.e., misses/ref) ul2.accesses
3414 total number of
accesses ul2.hits 2210
total number of hits ul2.misses
1204 total number of misses ul2.replacements
0 total number of
replacements ul2.writebacks 0
total number of writebacks ul2.miss_rate
0.3527 miss rate (i.e., misses/ref)
5
Simulador en código fuente
  • SimpleScalar sim-cache
  • Ficheros sim-cache.c, cache.c
  • Función cache_access (en cache.c)

unsigned int /
latency of access in cycles / cache_access(struct
cache_t cp, / cache to access /
enum mem_cmd cmd, / access type,
Read or Write / md_addr_t addr,
/ address of access / void
vp, / ptr to buffer for
input/output / int nbytes,
/ number of bytes to access /
tick_t now, / time of access /
byte_t udata, / for
return of user data ptr / md_addr_t
repl_addr) / for address of replaced block
/
6
Objetivo de la Práctica 3
  • Construir un simulador para la cache exclusiva a
    partir de sim-cache

7
Implementación Cache Exclusiva
  • Se estudian los 6 casos posibles,
    independientemente de que sea lectura o escritura
  • Caso 1 Acceso al Bloque A
  • con la cache completamente vacía
  • Caso 2 Nuevo acceso al Bloque A
  • Caso 3 Acceso al Bloque B
  • Caso 4 Acceso al Bloque C
  • Caso 5 Nuevo acceso al Bloque B
  • Caso 6 Acceso al Bloque D

8
Caso 1
  • Acceso al Bloque A
  • Bloque A en L1 y L2 no son válidos
  • Fallo en L1
  • Fallo en L2

L1
L2
D
C
B
A
Mem
9
Caso 1
  • Acciones
  • Se escribe la TAG en L1
  • Se marca el bloque como válido
  • Equivalente a copiar A en L1

A
L1
L2
D
C
B
A
Mem
10
Caso 2
  • Nuevo Acceso al Bloque A
  • Acierto en L1
  • Acciones
  • Ninguna (devolver la latencia de L1)

A
L1
L2
D
C
B
A
Mem
11
Caso 3
  • Acceso al Bloque B
  • Fallo en L1
  • Fallo en L2
  • Bloque en L2 no es válido

A
L1
L2
D
C
A
B
Mem
12
Caso 3
  • Acciones
  • Se copia A desde L1 a L2

A
L1
A
L2
D
C
A
B
Mem
13
Caso 3
  • Acciones
  • Se copia TAG de B en L1
  • Se marca el bloque B como válido

B
L1
A
L2
D
C
A
B
Mem
14
Caso 4
  • Acceso al Bloque C
  • Fallo en L1
  • Fallo en L2
  • Bloque B en L2 no es válido

B
L1
A
L2
D
B
A
C
Mem
15
Caso 4
  • Acciones
  • Se copia B desde L1 a L2

B
L1
A
B
L2
D
B
A
C
Mem
16
Caso 4
  • Acciones
  • Se copia B desde L1 a L2
  • Se copia TAG de C a L1
  • Se marca el bloque C en L1 como válido

C
L1
A
B
L2
D
B
A
C
Mem
17
Caso 5 Intercambio
  • Acceso al Bloque B
  • Fallo en L1
  • Acierto en L2
  • Bloque B en L2 es válido

C
L1
A
B
L2
D
C
A
B
Mem
18
Caso 5 Intercambio
  • Acciones
  • Se intercambia C en L1 con B en L2

C
C
L1
B
A
L2
D
C
A
B
Mem
19
Caso 5 Intercambio
  • Acciones
  • Se intercambia C en L1 con B en L2

C
B
L1
B
A
L2
D
C
A
B
Mem
20
Caso 5 Intercambio
  • Acciones
  • Se intercambia C en L1 con B en L2
  • No es necesario hacer writeback de C

C
B
L1
C
A
L2
D
C
A
B
Mem
21
Caso 6
  • Acceso al Bloque D
  • Fallo en L1
  • Fallo en L2
  • Bloque de B en L2 es válido suponer que es el
    que ocupa A

B
L1
C
A
L2
C
B
A
D
Mem
22
Caso 6
  • Acciones
  • Se hace writeback de A

B
L1
C
A
L2
C
B
A
D
Mem
23
Caso 6
  • Acciones
  • Se hace writeback A
  • Se copia B en L2

B
L1
C
B
L2
C
B
A
D
Mem
24
Caso 6
  • Acciones
  • Se hace writeback A
  • Se copia B en L2
  • Se actualiza D en L1

D
L1
C
B
L2
C
B
A
D
Mem
Write a Comment
User Comments (0)
About PowerShow.com