20
9/29/2016 1 DCH1B3 – Konfigurasi Perangkat Keras Komputer DCH1B3 Konfigurasi Perangkat Keras Komputer 9/29/2016 1 Cache Memory (Associative Mapping)

DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

Embed Size (px)

Citation preview

Page 1: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 2: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 3: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 4: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 5: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 6: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 7: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 8: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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 ?

Page 9: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 10: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 11: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 12: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 13: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 14: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 15: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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)

Page 16: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 17: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 18: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 19: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

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

Page 20: DCH1B3 Konfigurasi Perangkat Keras Komputer Cache Memory ... · Tag merupakan identitas blok memori ... Konfigurasi Perangkat Keras Komputer Associative Mapping - Baca data (2) CPU

9/29/2016

20

12-C

RS-0

106 REVIS

ED

8 F

EB 2

013

DCH1B3 – Konfigurasi Perangkat Keras Komputer

THANK YOU