Anda di halaman 1dari 12

Tugas Arsitektur Komputer

Konsep Cache Memory dan Mapping Cache Memory

Nama : Luh Made Jero Nanda Ananda


NIM : 19103146
Kelas : AA Malam

STMIK STIKOM INDONESIA


DENPASAR
2020
Chace Memory
Cache Memory adalah memori yang berukuran kecil yang bersifat temporary (sementara). Ukuran
file sangat kecil, tetapi kecepatannya sangat tinggi. Dalam terminologi hadware, istilah ini biasanya
mengacu pada memori berkecepatan tinggi yang menghubungkan aliran data antara prosesor dan memori
utama (RAM) yang biasanya lebih lambat.

Penggunaan cache harus meminimalkan hambatan dalam aliran data antara prosesor dan RAM.
Dalam terminologi perangkat lunak, istilah ini merujuk pada area penyimpanan sementara untuk banyak
file yang sering diakses (biasanya digunakan pada jaringan). Cache umumnya dibagi menjadi beberapa
jenis, seperti: B. L1 cache, L2 cache dan L3 cache.

Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat untuk menyembunyikan
atau arsip sementara. Menurut definisi cache memori adalah lokasi sementara untuk data. Metode yang
dimaksudkan adalah untuk meningkatkan transfer data dengan menyimpan data yang sedang diakses. Jadi
jika ada data yang ingin Anda akses itu adalah data yang sama dan aksesnya lebih cepat.

Cache memory adalah memori tipe-SDRAM yang memiliki kapasitasnya terbatas tetapi
kecepatannya sangat tinggi dan dengan harga yang lebih mahal daripada memori utama. Cache memori
ini terletak antara registri dan RAM (memori utama) sehingga pemrosesan data tidak merujuk langsung
ke memori utama.
 Cara Kerja Cache Memory
Ketika prosesor mengeksekusi perintah eksekusi untuk pertama kalinya, prosesor menemukan dan
mengumpulkan informasi dari cache L1. Proses ini biasa disebut sebagai hit. Jika informasi yang
diperlukan oleh prosesor tidak tersedia di cache L1, prosesor segera mencari di cache L2. Mencari
informasi dalam cache L2 biasanya membutuhkan waktu lebih lama daripada mencari informasi dalam
cache L1.

Cache level 1 (L1) adalah bank memori yang terintegrasi dalam chip CPU. Inventaris dua tingkat
(L2) adalah area pementasan sekunder yang melayani cache L1. Meningkatkan ukuran cache L2 dapat
mempercepat beberapa aplikasi, tetapi tidak berpengaruh pada yang lain.

Cache ini bisa berada di chip terpisah dalam modul paket multichip atau bisa juga berupa bank
chip terpisah di motherboard. Memori cache L2 dapat diintegrasikan ke dalam chip CPU.

L2 cache terdiri dari dua komponen utama yang menjadi penyimpanan data dan ram. Penyimpanan
data adalah area di mana ketepatan waktu informasi atau data dipertahankan. RAM adalah area kecil
memori yang digunakan oleh cache untuk mengelola penempatan data dalam cache. Ukuran memori
utama yang dikendalikan oleh RAM dapat di-cache. Cache L2 dari model PC terbaru biasanya diatur oleh
chipset di bagian “Norton”.

 Kecepatan cache memory


Transfer data dari cache L1 ke prosesor lebih cepat daripada dari cache L2 ke cache L3.
Kecepatannya mendekati kecepatan protokol. Cache L1 ini sudah di kunci di prosesor pada kecepatan
yang sama. Cache L1 secara fisik tidak terlihat oleh mata telanjang.

Cache L1 adalah lokasi pertama yang diakses prosesor saat mencari sumber data. Kapasitas
penyimpanan data terkecil, tergantung pada jenis prosesor, antara puluhan ribu dan ribuan byte. Untuk
beberapa jenis prosesor Pentium, kapasitasnya adalah 16 KB yang dibagi menjadi dua bagian yaitu H. 8
KB untuk menyimpan instruksi dan 8 KB untuk menyimpan data.

Transfer data tercepat kedua setelah cache L1 adalah cache L2. Prosesor dapat mengembalikan
data dari cache L2 built-in (on-chip) lebih cepat daripada dari cache L2 non-built. Kapasitas penyimpanan
data lebih besar dari L1 cache, ada 128 KB, 256 KB, 512 KB, 1 MB, 2 MB dan bahkan 8 MB antara
ratusan ribu byte dan jutaan byte, tergantung pada jenis prosesor. Kapasitas penyimpanan data untuk cache
L3 bahkan lebih besar dan bisa ratusan juta byte.

 Fungsi dan Tujuan Cache Memory


Cache memory digunakan untuk mempercepat akses data di komputer karena cache memory
menyimpan data atau informasi yang telah diakses oleh buffer dan membuat pekerjaan prosesor lebih
mudah. Dari sini dapat disimpulkan bahwa fungsi memori cache adalah sebagai berikut:

1. Mempercepat akses ke data di komputer


2. Memfasilitasi kerja prosesor
3. Menjembatani perbedaan kecepatan antara CPU dan memori utama
4. Mempercepat kinerja penyimpanan.

 Tipe-tipe Cache Memory


1. Memory Cache
Memory cache sering disebut sebagai cache RAM. Ini adalah bagian dari memori yang
dibuat dengan RAM statis kecepatan tinggi. Jenis cache ini lebih efektif karena hampir semua
program dapat berulang kali mengakses data atau perintah yang sama. Ini berarti bahwa semakin
banyak informasi yang disimpan dalam, semakin sering komputer menggunakan cache ini
daripada menggunakan RAM yang relatif lebih lambat.
Cache memori memiliki tiga level. Anda pasti akan menemukan label L1 cache, L2 cache
atau L3 cache dalam kemasan perangkat komputer Anda atau dalam informasi teknis. L1 adalah
nama untuk cache internal, itu berada di area antara CPU dan RAM. Cache ini memiliki kecepatan
akses maksimum. Ukuran memori berkisar dari 8 KB, 64 KB dan 128 KB.
Sedangkan L2 adalah cache eksternal dengan kapasitas lebih besar dari 256 KB hingga 2
MB. Dalam hal kecepatan L2 sebenarnya lebih lambat dari L1. Terakhir, cache L3 biasanya
digunakan dalam model komputer baru yang memiliki lebih dari satu prosesor, misalnya Dual
Core atau Quad Core. L3 bertindak sebagai pengontrol data yang diakses oleh cache L2 dan oleh
masing-masing inti prosesor.
2. Disk Cache
Disk cache tidak berbeda secara signifikan dari cache memori dan didasarkan pada prinsip
yang sama. Alih-alih menggunakan data SRAM kecepatan tinggi, Disk cache sebenarnya
menggunakan memori konvensional atau yang disebut RAM dinamis yang relatif lebih lambat.
Cara Kerjanya Saat Anda menjalankan aplikasi yang meminta data dari hard drive, aplikasi
pertama-tama akan memeriksa apakah data tersedia di buffer memori. Cache disk dapat secara
signifikan mempengaruhi kecepatan aplikasi karena mekanisme ini jauh lebih cepat daripada
mengembalikan data dari komponen disk.

 Level Cache Memory


Ada tiga level cache memori, yaitu L1, L2 dan L3. Cache memori level 1 (L1) adalah cache
memori (cache internal) yang terletak di prosesor. Cache memory ini memiliki kecepatan akses tercepat
dan harganya paling mahal. Ukuran memori berkisar dari 8 KB, 64 KB dan 128 KB. Cache Level 2 (L2)
memiliki kapasitas lebih besar dari 256 KB hingga 2 MB.

Namun, cache L2 ini lebih lambat dari cache L1. Cache L2 terpisah dari prosesor atau disebut
sebagai cache eksternal. Sedangkan cache level 3 hanya milik prosesor yang memiliki lebih dari satu unit,
misalnya dual-core dan quad-core. Fungsinya untuk mengecek data dari L2 cache masing-masing inti
prosesor.

Jika prosesor membutuhkan data, pertama-tama prosesor akan mencarinya dalam cache. Ketika
data sudah didapat, prosesor segera membacanya dengan penundaan yang sangat sedikit. Jika data yang
dicari tidak ditemukan, prosesor akan mencari dalam RAM yang kecepatannya lebih lambat.

Secara umum, cache dapat memberikan data yang diperlukan ke prosesor untuk mengurangi efek
operasi RAM yang lambat. Dengan cara ini, bandwidth memori ditingkatkan dan kerja prosesor menjadi
lebih efisien. Selain itu, peningkatan kapasitas memori cache juga meningkatkan kecepatan operasi
keseluruhan komputer.

Dua jenis cache yang banyak digunakan di dunia komputer adalah memory caching dan disk
caching. Implementasi dapat menjadi bagian khusus dari memori utama komputer atau media
penyimpanan data berkecepatan tinggi khusus.
Implementasi caching sering disebut sebagai cache memori dan terdiri dari memori komputer tipe
SDRAM kecepatan yang tinggi. Sedangkan implementasi caching disk menggunakan bagian dari memori
komputer.

 Stuktur Sistem Cache Memory


Memori utama terdiri dari maksimal 2n beralamat word, dengan setiap kata memiliki alamat n-bit
yang unik. Untuk keperluan pemetaan, memori ini dapat terdiri dari sejumlah blok yang memiliki
panjang kata K untuk setiap blok. Oleh karena itu ada blok M = 2n / K. Cache terdiri dari baris C,
masing-masing berisi kata K, dan jumlah baris jauh lebih sedikit daripada jumlah blok memori utama
(C).

 Letak Cache Memory di komputer


1. Cache internal prosesor (on chip) sehingga tidak diperlukan bus eksternal. Karena waktu akses
sangat singkat, seperti halnya dengan prosesor mahal seperti P4, P3, AMD-ATHLON dll. Semakin
tinggi kapasitas L1, L2 cache, semakin mahal prosesornya.
2. Cache eksternal prosesor (off chip) pada motherboard dan sangat cepat, jika tidak secepat jenis
cache memori pertama. Semakin tinggi kapasitas, semakin mahal dan lebih cepat. Jenis memori ini
dapat dilihat pada motherboard dengan kapasitas berbeda yaitu 256 kB, 512 kB, 1 MB, 2 MB dll.
Mapping Cache Memory

 Pengertian Mapping (Pemetaan)


Saluran cache lebih sedikit dibandingkan dengan blok memori utama sehingga diperlukan
algoritma untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu, diperlukan juga
alat untuk menentukan blok memori utama mana yang sedang memakai saluran cache. Pemilihan fungsi
pemetaan akan menentukan bentuk organisasi cache. Terdapat tiga metode yang digunakan yaitu :
1. Pemetaan Langsung (Direct Mapping)
Pemetaan langsung adalah teknik yang paling sederhana, yaitu teknik ini memetakan blok
memori utama hanya ke sebuah saluran cache saja. Jika suatu block ada di cache, maka tempatnya
sudah tertentu. Keuntungan dari direct mapping adalah sederhana dan murah. Sedangkan kerugian
dari direct mapping adalah suatu blok memiliki lokasi yang tetap (jika program mengakses 2 blok
yang di map ke line yang sama secara berulang-ulang, maka cache-miss sangat tinggi).
Berikut penjelasan lebih detail :
 Setiap blok pada main memory dipetakan dengan line tertentu pada cache. i = j modulo C di
mana i adalah nomor line pada cache yang digunakan untuk meletakkan blok main memory
ke-j.
 Jika M = 64 dan C = 4, maka pemetaan antara line dengan blok menjadi seperti berikut :
Line 0 can hold blocks 0, 4, 8, 12, ...
Line 1 can hold blocks 1, 5, 9, 13, ...
Line 2 can hold blocks 2, 6, 10, 14, ...
Line 3 can hold blocks 3, 7, 11, 15, ...
 Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu:
1) Tag identifier
2) Line number identifier
3) Word identifier (offset)
 Word Identifier berisi informasi tentang lokasi word atau unit addressable lainnya dalam line
tertentu pada cache.
 Line Identifier berisi informasi tentang nomor fisik (bukan logika) line pada chace
 Tag Identifier disimpan pada cache bersama dengan blok pada line.
 Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu yang menyimpan copy
alamat tsb ditentukan, jika blok tempat lokasi data tersebut sudah dikopi dari main memory
ke cache.
 Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang dimaksud ada line
tsb.

Keuntungan Menggunakan Direct Mapping antara lain :


1) Mudah dan Murah diimplementasikan
2) Mudah untuk menentukan letak salinan data main memory pada chace.
Kerugian menggunakan Direct Mapping antara lain :
1) Setiap blok main memory hanya dipetakan pada 1 line saja.
2) Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok yang dipetakan
pada line yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk
dan keluar data ke/dari cache, sehingga hit ratio mengecil.
Hit Ratio adalah perbandingan antara jumlah ditemukannya data pada cache
dengan jumlah usaha mengakses cache.
2. Pemetaan Asosiatif (Associative Mapping)
Pemetaan asosiatif mengatasi kekurangan pemetaan langsung dengan cara mengizinkan
setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dengan pemetaan
assosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke dalam cache.
Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang diperlukan untuk
menguji tag seluruh saluran cache secara parallel, sehingga pencarian data di cache menjadi lama.
 Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
 Diharapkan akan mengatasi kelemahan utama Direct Mapping.
 Harus menguji setiap cache untuk menemukan blok yang diinginkan.
- Mengecek setiap tag pada line
- Sangat lambat untuk cache berukuran besar.
 Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag
dan word offset.
 Melakukan pencarian ke semua tag untuk menemukan blok.
 Cache dibagi menjadi 2 bagian :
- Lines dalam SRAM
- Tag dalam associative memory

 Keuntungan Associative Mapping : Cepat dan fleksibel.


 Kerugian Associative Mapping : Biaya Implementasi, misalnya untuk cache ukuran 8
kbyte dibutuhkan 1024 x 17 bit associative memory untuk menyimpan tag identifier.
3. Pemetaan Asosiatif Set (Set Associative Mapping)
Pada pemetaan ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line.
Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan langsung dan
pemetaan asosiatif.
 Merupakan kompromi antara Direct dengan Full Associative Mapping.
 Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line (k)
 Setiap blok dapat diletakkan di sebarang line dengan nomor set: nomor set = j modulo v
Jika sebuah set dapat menampung X line, maka cache disebut memiliki X way set
associative cache. Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau
4-way set associative mapping.

Keuntungan menggunakan Set Associative Mapping antara lain:


a) Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor line (dapat
menggunakan line yang kosong), sehingga thrashing dapat diperkecil
b) Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untuk melakukan
perbandingan tag lebih sederhana.

A. Algoritma Penggantian
Algoritma penggantian adalah suatu mekanisme pergantian blok-blok dalam memori cache yang
lama dengan data baru. Dalam pemetaan langsung tidak diperlukan algoritma ini, namun dalam pemetaan
assosiatif dan asosiatif set, algoritma ini mempunyai peranan penting untuk meningkatkan kinerja cache
memori.
Banyak algoritma penggantian yang telah dikembangkan, algoritma yang paling efektif adalah
Least Recently Used (LRU), yaitu mengganti blok data yang terlama berada dalam cache dan tidak
memiliki referensi. Algoritma lainnya adalah First In First Out (FIFO), yaitu mengganti blok data yang
awal masuk. Kemudian Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai
referensi paling sedikit. Teknik lain adalah algoritma Random, yaitu penggantian tidak berdasarkan
pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat secara acak.

B. Write Policy
Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian harus dicek apakah
data tersebut telah mengalami perubahan. Apabila telah berubah maka data pada memori utama harus di-
update. Masalah penulisan ini sangat kompleks, apalagi memori utama dapat diakses langsung oleh modul
I/O, yang memungkinkan data pada memori utama berubah, lalu bagaimana dengan data yang telah
dikirim pada cache? Tentunya perbedaan ini menjadikan data tidak valid.
Teknik yang dikenal diantaranya, write through, yaitu operasi penulisan melibatkan data pada
memori utama dan sekaligus pada cache memori sehingga data selalu valid. Kekurangan teknik ini adalah
menjadikan lalu lintas data ke memori utama dan cache sangat tinggi sehingga mengurangi kinerja system,
bahkan bisa terjadi hang.
Teknik lainnya adalah write back, yaitu teknik meminmasi penulisan dengan cara penulisan pada
cache saja. Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada memori
utama. Masalah yang timbul adalah manakala dat di memori utama belum di-update telah diakses modul
I/O sehingga data di memori utama tidak valid.
Penggunaan multi cache terutama untuk multi prosesor akan menjumpai masalah yang lebih
kompleks. Masalah validasi data tidak hanya antara cache dan memori utama saja, namun antar cache juga
harus diperhatikan.
Pendekatan penyelesaian masalah yang dapat dilakukan adalah dengan :
1) Bus Watching with Write Through
Yaitu setiap cache controller akan memonitoring bus alamat untuk mendeteksi adanya operasi
tulis. Apabila ada operasi tulis di alamat yang datanya digunakan bersama maka cache
controller akan menginvalidasi data cache-nya.
2) Hardware Transparency
Yaitu adanya perangkat keras tambahan yang menjamin semua updating data memori utama
melalui cache direfleksikan pada seluruh cache yang ada.
3) Non Cacheable Memory
Yaitu hanya bagian memori utama tertentu yang digunakan secara bersama. Apabila ada
pengaksesan data yang tidak di-share merupakan kegagalan cache.

C. Miss Cache
Saat miss menulis, anda bisa punya pilihan antara membawa blok ke cache (writeallocate) atau
tidak (write-no-allocate). Saat miss membaca, anda selalu membawa blok ke cache (lokalitas spasial atau
temporal) - Blok mana yang diganti :
- Tidak ada pilihan untuk direct-mapped cache,
- Memilih secara acak way yang akan diganti,
- Mengganti way yang paling jarang dipakai (LRU),
- Penggantian FIFO (round-robin)

Tipe miss cache adalah sebagai berikut:


1) Miss Wajib : Terjadi saat pertama kali word memori diakses.
Merupakan miss untuk cache yang infinit.
2) Miss Kapasitas : Terjadi karena program menyentuh banyak word yang lain sebelum
menyentuh ulang word yang sama. Merupakan miss untuk cache fullyassociative.
3) Miss Konflik : Terjadi karena dua work dipetakan ke lokasi yg sama di cache.
Merupakan missyang terjadi ketika berganti dari cache fully-associative ke direct-mapped.

Anda mungkin juga menyukai