9/29/2016
1
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
DCH1B3 Konfigurasi Perangkat Keras Komputer
9/29/2016 1
Cache Memory (Associative Mapping)
9/29/2016
2
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Format alamat memori: (dari sisi cache)
• Alamat memori diinterpretasikan sebagai tag dan word
• Tag merupakan identitas blok memori
• Setiap satu baris cache mempunyai satu tag
• Tag menjadi kata kunci dalam setiap pencarian data
2 9/29/2016
Associative Mapping
Tag Word (w)
9/29/2016
3
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer 3 9/29/2016
Associative Mapping- Baca data (1)
1
2 3
9/29/2016
4
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer 4 9/29/2016
Associative Mapping - Baca data (2)
CPU membandingkan nomor tag yang akan dibaca dengan semua nomor tag yang ada di cache secara bersamaan
Jika valid CPU membandingkan nomor tag Bila nomor tag tsb ada di cache (cache hit) pilih word yang diinginkan yang terletak pada nomor tag yang diinginkan
Bila nomor tag tsb tidak ada di cache (cache miss) ambil (fetch) satu blok data sesuai dengan nomor tag yang diinginkan
1
2
3
9/29/2016
5
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Diketahui:
Main memory berukuran 16 MByte
Cache berukuran 64 kByte
1 byte = 1 alamat
1x transfer data = 1 blok memori = 1 line cache = 4 byte = 4 alamat
Sebutkan jumlah bit untuk tag dan word (w) !
Gambarkan mappingnya !
Berikan contohnya !
5 9/29/2016
Associative Mapping - Contoh(1)
9/29/2016
6
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Jawab:
– Jumlah alamat total = 16 MB/1 byte = 16 M alamat – Memory 16 MB, alamat = 24 . 220 = 224
Jumlah bit alamat yang diperlukan = 24 bit (lebar alamat)
– 1 blok = 4 alamat = 22 Jumlah bit identitas word (w) = 2 bit – Jumlah bit tag = 24 – 2 = 22 bit
6 9/29/2016
Associative Mapping - Contoh (2)
9/29/2016
7
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
Format alamat memori: (dari sisi cache)
Jumlah line cache = 64 kbyte/4 byte = 16 k line
16 k = 24 . 210 = 214 Jumlah bit line = 14 bit
Jumlah blok memori = 16 Mbyte/4 byte = 4 M blok = jumlah tag (222)
1 line cache 1 blok memori (tag), maka:
1 line cache mempunyai kemungkinan ditempati oleh 4 M blok yang berbeda
Setiap tag dapat menempati nomor line yang mana saja (tidak berhubungan dengan nomor baris)
Setiap blok memori mempunyai satu pasangan nomor tag
7 9/29/2016
Associative Mapping - Contoh (3)
≈
9/29/2016
8
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer 8 9/29/2016
Associative Mapping - Contoh (4)
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
Berapa blok data yang dapat ditampung di cache secara bersamaan ? Berapa kilo byte ?
9/29/2016
9
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
(+) Mapping setiap blok dapat dilakukan secara fleksibel (tidak terikat pada nomor line tertentu).
(+) Dapat mengatasi masalah thrashing.
(-) Diperlukan rangkaian yang lebih rumit untuk membandingkan semua tag secara paralel, karena jumlah tag sangat banyak.
9 9/29/2016
Kelebihan/Kekurangan Associative Mapping
9/29/2016
10
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Cache dibagi menjadi sejumlah set
• Setiap set terdiri dari sejumlah baris
• Setiap blok memori dipasangkan ke nomor set tertentu, tetapi boleh menempati baris mana saja dalam satu set
• Misal: jika tiap set terdiri dari 2 baris, maka:
– Model pemetaannya disebut: 2-way set associative mapping
– Setiap blok memori boleh menempati satu dari dua baris yang tersedia asalkan masih dalam satu set
10 9/29/2016
Set Associative Mapping (1)
9/29/2016
11
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Format alamat memori: (dari sisi cache)
• Untuk keperluan akses cache setiap alamat memori dibagi
menjadi 2 bagian:
– word(w) = bit-bit identitas word atau byte di dalam blok memori
– s = bit-bit identitas blok memori • set field (v): bit-bit nomor set
• tag (s-v): bit-bit identitas blok data yang ada di memori
11 9/29/2016
Set Associative Mapping (2)
Tag (s-v) Set (v) Word (w)
9/29/2016
12
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer 12 9/29/2016
Set Associative Mapping – Baca data (1)
1
2
3
4
9/29/2016
13
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
CPU membandingkan nomor tag yang akan dibaca dengan semua nomor tag di cache. Tag dalam satu set dibandingkan bersama-sama
Bila nomor tag tsb ada di cache (cache hit) pilih word yang diinginkan yang terletak pada nomor set yang diinginkan
Bila nomor tag tsb tidak ada di cache (cache miss) ambil (fetch) satu blok data sesuai dengan nomor tag dan nomor set yang diinginkan
13 9/29/2016
Set Associative Mapping – Baca data (2)
1
2
3
9/29/2016
14
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Diketahui:
Main memory berukuran 16 MByte
Cache berukuran 64 kByte
1 byte = 1 alamat
1x transfer data = 1 blok memori = 1 line cache = 4 byte = 4 alamat
Sebutkan jumlah bit untuk tag (s-v), set (v), dan word (w) !
Gambarkan mappingnya !
Berikan contohnya !
14 9/29/2016
Set Associative Mapping - Contoh(1)
9/29/2016
15
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
• Jawab:
– 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
– 1 set = 2 line jumlah set = 16k/2 = 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
15 9/29/2016
Set Associative Mapping - Contoh (2)
9/29/2016
16
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
Format alamat memori: (dari sisi cache)
16 9/29/2016
Set Associative Mapping - Contoh (3)
Tag (s-v) (9 bit)
Set (v) (13 bit)
Word (w) (2 bit)
– Jumlah alamat memori tiap tag = 213+2 = 25 . 210 = 32 k alamat
– Range alamat memori tiap tag (dalam format 24 bit) = 000000 – 007FFF, maka alamat memori : 000000, 008000, 010000, …, FF8000 selalu terletak pada set nomor yang sama (0000)
• 007FFF = 0000 0000 0111 1111 1111 1111 + 1 0000 0000 1000 0000 0000 0000 = 008000
• 008000 + 007FFF = 00FFFF = 0000 0000 1111 1111 1111 1111 + 1 0000 0001 0000 0000 0000 0000 = 010000
– Setiap alamat memori di atas bebas menempati salah satu line pada
nomor set tersebut
– Setiap satu nomor blok memori hanya dapat menempati satu nomor set
– Satu nomor set dapat dapat ditempati oleh: • 512 nomor tag berbeda tetapi nomor blok-nya sama
9/29/2016
17
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer 17 9/29/2016
Set Associative Mapping - Contoh(4)
Cara mapping: Set+word (15 bit): 3 3 9 C
011 0011 1001 1100 0 1100 1110 0111 Nomor set (13 bit): 0 C E 7
9/29/2016
18
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
(+) Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor line (dapat menggunakan line yang kosong), sehingga thrashing dapat diperkecil
(+) Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untuk melakukan perbandingan tag lebih sederhana.
18 9/29/2016
Kelebihan Set Associative Mapping
9/29/2016
19
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
William Stalling. 2013. “Computer Organization and
Architecture: Design for Performance”. 9th edition
19 9/29/2016
Referensi
9/29/2016
20
12-C
RS-0
106 REVIS
ED
8 F
EB 2
013
DCH1B3 – Konfigurasi Perangkat Keras Komputer
THANK YOU
Top Related