MEMORY
Hirarki Memori
Registers
L1 Cache
L2 Cache
Main memory (RAM)
Disk cache
(pure S/W)
Disk (Harddisk)
Optical (CD, DVD)
Magnetic tape
(1)
(2)
(3)
Direct Mapping
(1)
Rumus: i = j modulo m
i = nomor baris cache
j = nomor blok main memory
m = jumlah total baris di dalam cache
s = jumlah bit tag ???
Cache line
0
1
.
.
.
m-1
Direct Mapping
(2)
Tag
(s-r) alamat memori:
Line or Slot(dari
(r) sisi cache)
Format
Word
(w)
13
3
exist
not exist
14
15
Maka:
Jumlah alamat total = 16 MB/1 byte = 16 M alamat
Memory 16 M alamat = 24 . 220 = 224 Jumlah bit alamat yang
diperlukan = 24 bit (lebar alamat)
Jumlah bit identitas word (w) = 2 bit (1 blok = 4 byte = 22)
Jumlah line cache = 64 kbyte/4 byte = 16 k line
16 k = 24 . 210 = 214 Jumlah bit line = 14 bit
Jumlah bit tag (s-r) = 24 14 2 = 8 bit
16
Word (w)
(2 bit)
3
3
9
C
0011 0011 1001 1100
Nomor baris (14 bit): 00 1100 1110 0111
0 C
E
7
Direct Mapping
- Kelebihan/kekurangan
(+) Sederhana
(+) Mudah diimplementasikan
(+) Tidak mahal
(-) Lokasi mapping setiap blok sudah
tertentu (tidak fleksibel)
(-) Dapat terjadi thrashing bila program
mengakses 2 blok yang terletak pada
line cache yang sama secara berulangulang terjadi proses swap memori
berkali-kali hit ratio menjadi rendah
19
Associative Mapping
Format alamat memori: (dari sisi cache)
Tag
Word
(w)
Associative Mapping -
Baca data
(1)
2
1
exist
not exist
21
Associative Mapping 1
Baca data
(2)
Associative Mapping -
Contoh
(1)
Diketahui:
Main memory berukuran 16 MByte
Cache berukuran 64 kByte
1 alamat = 1 byte
1x transfer data = 1 blok memori = 1 line
cache = 4 byte
Maka:
Memori 16 Mbyte = 24 . 220 = 224 Jumlah bit
alamat yang diperlukan = 24 bit
Jumlah bit identitas word (w) = 2 bit (1 blok = 4
byte = 22)
23
Associative Mapping -
Contoh
(2)
Word
(2 bit)
Associative Mapping -
Contoh
(3)
Cara mapping:
Alamat (24 bit): 1
6
3
3
9
C
0001 0110 0011 0011 1001 1100
Nomor tag (22 bit): 00 0101 1000 1100 1110 0111
0 5
8
C
E
7
Associative Mapping
Kelebihan/kekurangan
26
(1)
(2)
Set (v)
Word (w)
28
Baca data
(1)
3
2
exist
not exist
29
Baca data
(2)
Contoh
(1)
Diketahui:
Maka:
Memory 16 Mbyte = 24 . 220 = 224 Jumlah bit alamat yang
diperlukan = 24 bit
Jumlah bit identitas word (w) = 2 bit (1 blok = 4 byte = 22)
Jumlah line cache = 64 kbyte/4 byte = 16 k line
8 k set
8 k = 23 . 210 = 213 Jumlah bit set = 13 bit (0000 - 1FFF)
Jumlah bit tag = 24 13 2 = 9 bit (range: 000 1FF)
Jumlah tag = 29 = 512 tag
1 set = 2 line jumlah set = 16k/2 =
31
Contoh
(2)
Tag (s-v)
(9 bit)
Set (v)
(13 bit)
Word (w)
(2 bit)
32
Contoh
(3)
Cara mapping:
Set+word (15 bit): 3
3
9
C
011 0011 1001 1100
Nomor set (13 bit): 0 1100 1110 0111
0 C
E 7
33
- Kelebihan
diperkecil
(+) Jumlah tag lebih sedikit (dibanding
model associative), sehingga jalur
untuk melakukan perbandingan tag
lebih sederhana
34
Algoritma Penggantian
Least Recently Used (LRU)
(Replacement)
First In First Out (FIFO)
Least Frequency Used (LFU)
Random
Replacement Algorithms
(1)
Replacement Algorithms
(2)
Blok yang diganti adalah blok yang paling lama di cache dan tidak
digunakan
Kelebihan:
Paling efektif
Mempunyai hit ratio tinggi data yang sering digunakan saja
yang ditaruh di cache
Paling mudah diimplementasikan pada two-way set
associative mapping (digunakan sebuah bit tambahan = USE
bit, line yang direfer USE bit = 1))
Contoh:
Kapasitas cache hanya 4 baris sedangkan jumlah blok data
jauh lebih banyak. Jika urutan pengaksesan data adalah:
a b c d c b a b c kemudian datang data e maka data
yang diganti adalah ???
Jawaban: d
Kalau data yang diakses sebelum data e adalah d, maka data
yang diganti adalah ???
Jawaban: a (a lebih lama tidak diakses dibanding d)
37
Replacement Algorithms
(3)
e adalah
Replacement Algorithms
(4)
Random
Write Policy
(1)
Write Policy
(2)
Write Policy
(3)
43
Write Policy
(4)
44
Jenis cache
Off-chip, On-chip
Single level, Multilevel
Unified, Split
47
Jenis cache
(1)
Jenis cache
(2)
Jenis cache
(3)
turun
Dengan L2 (SRAM) mempercepat tersedianya
data yang dibutuhkan CPU
Design L2 cache:
Cache eksternal (dengan bus khusus)
Cache internal (satu chip dengan prosesor)
Kelebihan/kekurangan multilevel cache:
(+) Memperbaiki performansi
(-) Perancangan cache lebih rumit (ukuran,
algoritma, write policy, dll)
50
Jenis cache
(4)
51
Jenis cache
(5)
52
Cache Intel
80386 tanpa cache
80486:
Single on-chip
Ukuran 8 Kbyte
Ukuran line 16 byte
Four way set associative
Pentium 4
L1 caches:
Ukuran 8 Kbyte
Ukuran line 64 byte
Four way set associative
L2 cache
53
54
(1)
Fetch/Decode Unit
Mengambil instruksi dari cache L2
Men-decode instruksi menjadi mikro operasi
Menyimpan hasilnya (mikro operasi) di cache
instruksi L1
Execution units
Mengeksekusi mikro operasi
Mengambil data yang diperlukan dari cache L1
Menyimpan hasil pemrosesan ke register
55
(2)
Memory subsystem
Terdiri dari cache L2 dan sistem bus
Untuk mengakses main memory jika
terjadi cache miss
Untuk mengakses resource I/O
56
58
59