0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan40 halaman

Fungsi dan Contoh Cache Memory

Cache memory berfungsi untuk mempercepat akses CPU ke memory utama dengan menyimpan blok data yang sering diakses. Terdiri dari tiga elemen utama yaitu ukuran blok, algoritma penggantian, dan fungsi pemetaan alamat blok ke cache. Fungsi pemetaan meliputi pemetaan langsung, asosiatif, dan set asosiatif yang membedakan cara penentuan lokasi blok di cache.

Diunggah oleh

Yeshee S
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan40 halaman

Fungsi dan Contoh Cache Memory

Cache memory berfungsi untuk mempercepat akses CPU ke memory utama dengan menyimpan blok data yang sering diakses. Terdiri dari tiga elemen utama yaitu ukuran blok, algoritma penggantian, dan fungsi pemetaan alamat blok ke cache. Fungsi pemetaan meliputi pemetaan langsung, asosiatif, dan set asosiatif yang membedakan cara penentuan lokasi blok di cache.

Diunggah oleh

Yeshee S
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

CACHE MEMORY

Cara pembacaan pada cache :


• CPU meminta data 1 alamat
• Data akan dicari di lokasi cache
• Jika ada maka akan langsung dikirim ke CPU
• Jika tidak ditemukan, cache akan meminta atau mengambil 1
blok data yang mengandung alamat yang diminta dari main
memori.
• Akan dikirim satu blok data ke cache, cache akan mengirim 1
alamat yang diminta CPU
• Sisa data dari main memori akan disimpan di cache
Elemen Rancangan Cache :
a. Size / Kapasitas
b. Mapping Function/Fungsi Pemetaan
c. Replacement Algorithm/Algoritma Pengganti
d. Write Policy /Cara Penulisan
e. Block Size / Ukuran Blok
f. Number of Caches / Jumlah Cache
Size / Kapasitas
Ukuran memori cache sangatlah penting untuk
mendongkrak kinerja komputer.
Semakin besar kapasitas cache tidak berarti
semakin cepat prosesnya,
dengan ukuran besar akan terlalu banyak gate
pengalamatannya sehingga akan memperlambat
proses.
Mapping Function
Cache memori yang besar akan mengurangi
kecepatan pada saat pencarian data.
Terdapat tiga metode, yaitu
a. pemetaan langsung,
b. pemetaan asosiatif, dan
c. pemetaan asosiatif set.
Direct Maping/Pemetaan Langsung
Setiap blok pada main memori terpetakan hanya
satu baris pada cache
Alamat dari CPU akan dibagi 2 bagian untuk
menentukan word berapa dan sisa blok.
Fungsi pemetaan diimplementasikan dengan
menggunakan alamat, yang terdiri dari tiga field
(tag, line, word)
Contoh :
1. Suatu sistem komputer memiliki memori
utama sebesar 16 Mbyte, memiliki cache
sebesar 64 Kbyte. Transfer data antara
memori utama dengan cache dalam ukuran
blok besarnya 4 byte. Jika digunakan
pemetaan langsung (direct mapping)
tunjukkan masing-masing berapa bit untuk
tag, slot/line dan word.
Penyelesaian:
• Memori utama :16 MB= 220 + 24 = 224  lebar alamat = 24 bit
• Size blok :4 B = 22  lebar word = 2 bit
• Cache :64 KB = 64 KB = 16 K
4B
16 K = 210 + 24 = 214  lebar Line/slot=14 bit

Jadi direct mapping untuk main memori 16MB, cache 64KB dan ukuran
blok = 4B menjadi
24 bit 8 bit tag 14 bit line/slot 2 bit word

Tag = 24 -14 -2
= 8 bit
2. Pemetaan langsung/ direct mapping :
Main memori cache memori
Tag data data
tag 0 1 2 3
FE
16339C 16 FE DC BA 98
DC
BA
98

Bagaimana Penyelesaiannya?????
Step Penyelesaian:

1. Cari pemetaan alamatnya (jika menggunakan


direct mapping) cari: berapa tag, line dan
word
2. Alamat hexa 16339C di konversi ke biner
3. Ambil LSB untuk bit word.
4. Sisa digit biner diambil sebesar line dan
dihitung ulang.
5. Sisa digit dari word dan line adalah tag.
Penyelesaian :
8 bit tag 14 bit line/slot 2 bit word

16339C konfersi ke biner


1 6 3 3 9 c
0001 0110 0011 0011 1001 1100
tag=16 line = 0CE7 word = 0

Jadi masukan data 16339C dengan direct


mapping dihasilkan
alamat tag = 16, line/slot = 0CE7 dan word = 0
3. Suatu sistem komputer memiliki memori utama
sebesar 512 Mbyte, memiliki cache sebesar 512
Kbyte. Transfer data antara memori utama
dengan cache dalam ukuran blok besarnya 32
byte. Jika digunakan pemetaan langsung (direct
mapping) tunjukkan masing-masing berapa bit
untuk tag, slot/line dan word.
4. Berapa lebar alamat jika besar memory utama
adalah
a. 256 MB
b. 512 KB
c. 512 MB
Assosiatif Mapping
Setiap blok memori utama dapat dimuat ke
sembarang saluran cache.
Alamat memori utama diinterpretasikan dalam
field tag dan field word oleh kontrol logika
cache.
Alamat memori utama diinterpretasikan dalam
field tag dan field word oleh kontrol logika
cache
Associative Mapping Address Structure
Word
24 bit Tag 22 bit 2 bit

24 bit alamat  16Mbyte dari main memori


2 bit word (4 byte block)
22 bit tag
Tag 22 bit harus disimpan dalam blok data
32 bit pada cache.
Contoh :
1. Diket : memori = 16 MB
cache = 64 KB
blok =4B
• Memori :16 MB= 220 + 24 = 224 lebar alamat = 24 bit
• Size blok :4 B = 22  lebar word = 2 bit

Jadi assosiative mapping untuk main memori 16MB,cache


64KB dan ukuran blok=4B menjadi
Word
24 bit Tag 22 bit 2 bit
2. Dengan diberikan data
sama :
main memori 16 MB,
alamat data 16339C
Set Assosiative Mapping
Terbagi dari tag, set dan word
Cache dibagi beberapa set
Setiap set berisi beberapa line

Macam Set Assosiative mapping :


a. Two-way set (2-way set)  dalam 1 line terdapat 2 set.
b. Four-way set (4-way set)  dalam 1 line terdapat 4
set.
Contoh:

1. Soal sama…
diket : memori 16 MB
cache 64 KB
blok 4B
Buat dalam two-way set ?

2. Dari main memori seperti soal satu diberikan


masukan data : 16339C cari dengan 2-way set ?
Penyelesaian:

1. 16 MB = 220 + 24 = 224  alamat masuk= 24 bit


4 KB = 22  lebar word = 2 bit
64 = 64 KB = 16 K = 16 K = 8 K
4 B 2
8 K = 210 + 2 3 = 213  set 13 bit

24 bit Tag = 9 bit Set = 13 bit Word = 2 bit


2. 16339C  di binerkan
0001 0110 0011 0011 1001 1100
tag = 02C set = 0CE7 W = 0

Jadi 16339C dengan two-way set data masuk


pada alamat 0CE7 dengan t = 02C.
S = 0CE7 dan w = 0.
Gambar contoh two way set

Anda mungkin juga menyukai