“KELOMPOK 3”
STUDI KASUS : CACHE MEMORY
kami berlindung kepada Allah dari kejahatan diri kami dan keburukan perbuatan kami.
kelompok ini. Shalawat beserta salam semoga senantiasa terlimpah curahkan kepada
Tugas makalah ini diajukan untuk memenuhi salah satu syarat tugas mata
kuliah Arsitektur Komputer. Walaupun makalah yang kami susun masih jauh dari
kami mohon maaf bila dalam makalah ini terdapat kesalahan pada penulisan, apabila
ada kritik dan saran yang bersifat membangun terhadap makalah ini, kami sangat
berterima kasih. Demikian makalah ini kami susun.Semoga dapat berguna untuk kita
semua. Amin
Wassalamualikum Wr.Wb
i
DAFTAR ISI
DAFTAR PUSTAKA
ii
BAB I
PENDAHULUAN
Organisasi dan Arsitektur Komputer merupakan salah satu bidang ilmu utama
pembangun body of knowledge dalam teknik komputer/sistem computer (ACM &
IEEE, 2015). Hal ini terlihat dari besarnya proporsi yang dialokasikan untuk bidang
ilmu ini yaitu 60 core hours dari 420 core hours yang tersedia. Matakuliah ini
bertujuan untuk memberikan pemahaman kepada mahasiswa tentang bagaimana
computer bekerja.
Cache adalah sebuah memori kecil yang sangat cepat yang diposisikan
diantara processor dan main memori. Tujuannya adalah agar main memori terkesan
bekerja lebih cepat dari sudut pandang processor. Keefektifan pendekatan ini
berdasarkan pada property program computer yang disebut locality of reference
(Hamacher, Vranesic, Safwat, & Manjikian, 2012).
Cache memory berisi salinan sebagian isi dari memori (Patterson & Hennessy,
2014). Ketika processor berusaha untuk membaca sebuah word dari memory, maka
terlebih dahulu dilakukan pencarian terhadap word tersebut di cache. Jika ada, maka
word tersebut dikirim ke processor, jika tidak maka sebuah blok memori yang berisi
word yang diminta processor tersebut dikirim ke processor, dan pada saat yang sama
word tersebut juga disalin ke cache. Karena ada kecendrungan processor untuk
mereferensi isi memori secara berurutan (locality of reference), maka kemungkinan
besar word yang berikutnya diperlukan oleh processor sudah berada dalam cache,
sehingga processor tidak perlu mencari word tersebut ke main memory. Dengan
demikian, kinerja sistem secara keseluruhan dapat meningkat, karena processor tidak
selalu harus meminta word yang dibutuhkannnya ke main memory yang dalam hal
kecepatan jauh lebih rendah dibanding dengan kecepatan cache.
1
BAB II
PEMBAHASAN
Cache memory adalah jenis memori komputer yang digunakan untuk menyimpan data
yang sering digunakan atau data yang mungkin akan digunakan oleh prosesor komputer
dalam waktu dekat. Cache memory berperan penting dalam meningkatkan kinerja komputer
dengan mempercepat akses data oleh prosesor. Berikut adalah beberapa fungsi utama dari
cache memory:
Cache berisi salinan sebagian isi memori utama. Pada saat CPU membaca sebuah word
memory, dilakukan pemeriksaan untuk mengetahui apakah word berada berada di cache. Jika
word berada di cache, maka akan dikirimkan ke CPU yang dikenal sebagai proses HITT. Jika
tidak ada, maka blok memori utama yang terdir idari sejumlah word tetap akan diletakkan di
cache yang dikenal sebagai proses MISS dan selanjutnya dikirim ke CPU.
Cache memory berisi copy dari sebagian isi dari main memory. Processor akan mencari
word pada cache memory terlebih dahulu jika membutuhkan suatu word. Jika word yang
2
Jika word yang dicari tidak ada, maka beberapa blok dari main memory akan di load ke
Cache memory menyimpan salinan data dan instruksi yang sering digunakan oleh
prosesor. Karena cache memory berada dekat dengan prosesor, akses ke data dalam
cache lebih cepat daripada mengakses data dari RAM (Random Access Memory) yang
lebih lambat. Dengan demikian, cache memory membantu mempercepat waktu akses
prosesor terhadap data dan instruksi yang diperlukan untuk menjalankan program.
b) Mengurangi Latensi
Latensi adalah waktu yang diperlukan untuk mendapatkan data dari memori.
Dengan menyimpan salinan data yang sering digunakan di cache, prosesor dapat
menghindari latensi yang terkait dengan mengambil data dari memori utama (RAM).
Hal ini mengurangi waktu tunggu prosesor dan meningkatkan responsifitas sistem.
berjalan lebih cepat dan merespons perintah pengguna dengan lebih cepat karena data
dengan menyimpan data yang sering digunakan di tingkat yang lebih dekat dengan
prosesor. Hal ini mengurangi beban pada sistem memori utama, memungkinkan
3
penggunaan bandwidth memori yang lebih efisien untuk operasi-operasi yang
menunggu instruksi dari memori utama setiap kali diperlukan, yang memungkinkan
Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas.
Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai berikut:
a) Register Mikroprosesor
Ukurannya yang paling kecil tapi memiliki waktu akses yang paling cepat,
umumnya hanya 1 siklus CPU saja. Register adalah memory internal yang didesain
4
untuk dapat menyimpan data lebih cepat dibandingkan memory utama. Register berada
dalam hirarki memory tertinggi dalam struktur dia atas, hal ini menunjukkan register
paling cepat dalam pengaksesan data,paling dekat dengan memory utama dan paling
User Visibel Register, register CPU yang dapat digunakan oleh pemrogram,
dengan menggunakan set intsruksi memungkinkan satu buah register atau lebih
Control dan Status Register, register yang digunakan oleh unit kontrol untuk
mengintrol operasi CPU dan oleh program sistem operasi untuk mengontrol
eksekusi program.
b) Cache mikroprosesor
tingkatan-tingkatannya sendiri:
Level 1, memiliki ukuran paling kecil di antara semua cache, sekitar puluhan
Level 2, memiliki ukuran yang lebih besar dibandingkan dengan cache level-1, yakni
sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte, atau lebih besar.
nilai latency kira-kira 2 kali hingga 10 kali. Cache level-2 ini bersifat opsional.
Beberapa prosesor murah dan prosesor sebelum Intel Pentium tidak memiliki cache
level-2.
5
Level 3, memiliki ukuran yang lebih besar dibandingkan dengan cache level-2, yakni
sekitar beberapa megabyte tapi agak lambat. Cache ini bersifat opsional. Umumnya
digunakan pada prosesor-prosesor server dan workstation seperti Intel Xeon atau
Intel Itanium. Beberapa prosesor desktop juga menawarkan cache level-3 (seperti
halnya Intel Pentium Extreme Edition), meski ditebus dengan harga yang sangat
tinggi.
c) Main Memory
Memiliki akses yang jauh lebih lambat dibandingkan dengan memori cache,
dengan waktu akses hingga beberapa ratus siklus CPU, tapi ukurannya mencapai satuan
gigabyte. Waktu akses pun kadang-kadang tidak seragam, khususnya dalam kasus
ROM ( Read Only memory) yaitu memory yang hanya bisa dibaca saja datanya atau
programnya. Pada PC, ROM terdapat pada BIOS ( Basic Input Output System ) yang
terdapat pada Mother Board yang berfungsi untuk men-setting peripheral yang ada
pada system. Contoh: AMIBIOS, AWARD BIOS, dll. ROM untuk BIOS terdapat
beragam jenis diantaranya jenis Flash EEPROM BIOS yang memiliki kemampuan
untuk dapat diganti programnya dengan software yang disediakan oleh perusahhan
RAM (Random Acces Memory), memiliki kemampuan untuk dirubah data atau
6
d) Penyimpan Cadangan Lokal
Magnetic Disk
primer dalam bentuk memory magnetik drum, atau inti, memory inti tali, memory
film tipis, memory twistor atau memory gelembung. Juga tidak seperti hari ini, pita
Optical Tape
Optical tape adalah media untuk penyimpanan optik pada umumnya terdiri dari
strip panjang dan sempit dari plastik ke mana pola dapat ditulis dan dari mana pola
bisa dibaca kembali. Ini beberapa saham teknologi dengan stok film bioskop dan
teknologi ini adalah kemungkinan kapasitas penyimpanan yang jauh lebih besar
File Sistem Terdistribusi ( Distributed File System ) adalah file sistem yang
sebuah network.
Cloud Server
7
Teknologi cloud memungkinkan beberapa server dijadikan “satu” berfungsi
sebagai storage (disk virtual), beberapa server lain (Host) di”satu”kan berfungsi
sebagai computing node (CPU virtual). Diatas platform cloud tersebut bisa berjalan
server virtual (Guest) membentuk suatu network VLAN seperti layaknya server-
server fisik yang terhubung dengan LAN. Dimana tiap pelanggan memiliki secure
VLAN masing-masing yang tidak bisa saling memasuki. Sehingga aplikasi business
1. Size Cache
8
Menentukan ukuran memori cache sangatlah penting untuk mendongkrak kinerja
komputer. Dari segi harga cache sangatlah mahal tidak seperti memori utama. Semakin
besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan
terlalu banyak gate pengalamatannya sehingga akan memperlambat proses. Kita bisa melihat
beberapa merek prosesor di pasaran beberapa waktu lalu. AMD mengeluarkan prosesor K5
dan K6 dengan cache yang besar (1MB) tetapi kinerjanya tidak bagus. Kemudian Intel
pernah mengeluarkan prosesor tanpa cache untuk alasan harga yang murah, yaitu seri Intel
Celeron pada tahun 1998-an hasil kinerjanya sangat buruk terutama untuk operasi data besar,
floating point, 3D. Intel Celeron versi berikutnya sudah ditambah cache sekitar 128KB. Lalu
berapa idealnya kapasitas cache? Sejumlah penelitian telah menganjurkan bahwa ukuran
Ukuran cache disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin
besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam
pengalamatan cache.
2. Mapping Cache
Cache mempunyai kapasitas yang kecil dibandingkan memori utama. Pemetaan cache
merupakan aturan blok – blok mana yang diletakkan dalam cache. Terdapat tiga metode,
yaitu:
a) Pemetaan Langsung, teknik paling sederhana, yaitu teknik ini memetakan blok memori
blok memori utama dapat dimuat ke sembarang saluran cache. Alamat memori utama
diinterpretasikan dalam field tag dan field word oleh kontrol logika cache. Tag secara
9
unik mengidentifikasi sebuah blok memori utama. Mekanisme untuk mengetahui suatu
blok dalam cache dengan memeriksa setiap tag saluran cache oleh kontrol logika cache.
Fleksibilitas dalam penggantian blok baru yang ditempatkan dalam cache. Kelebihan
pemetaan ini adalah algoritma penggantian dirancang untuk memaksimalkan hit ratio,
c) Pemetaan Asosiatif Set, menggabungkan kelebihan yang ada pada pemetaan langsung
dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set–set. Alamat memori
utama diinterpretasikan dalam tiga field, yaitu: field tag, field set, field word. Setiap blok
3. Replacement Algorithm
dalam memori cache yang lama dengan data baru. Dalam pemetaan langsung tidak
diperlukan algoritma ini, namun dalam pemetaan asosiatif dan asosiatif set, algoritma ini
mempunyai peranan penting untuk meningkatkan kinerja cache memori. Banyak algoritma
penggantian yang telah dikembangkan, namun dalam buku ini akan dijelaskan algoritma
yang umum digunakan saja. Algoritma yang paling efektif adalah Least Recently Used
(LRU), yaitu mengganti blok data yang terlama berada dalam cache dan tidak memiliki
Yaitu mengganti blok data yang awal masuk. Inti dari algoritma ini adalah simple /
paling sederhana karena prinsipnya sama seperti prinsip antrian tak berprioritas. Page
yang masuk terlebih dahulu maka yaitu yang akan keluar duluan juga. Untuk algoritma
10
ini menggunakan structure data stack. Jadi kerjanya yaitu dimana kalau tidak ada frame
yang kosong saat terjadi page fault maka korban yang dipilih adalah frame dengan stack
paling bawah seperti hal nya halaman yang sudah lama tersimpan didalam memory maka
dari itu algoritma ini juga bisa memindahkan page yang sering digunakan.
optimal dengan sedikit cost yang lebih besar. ama seperti algoritma optimal,
linked list untuk mendata halaman mana yang paling lama tidak terpakai.
Linked list inilah yang membuat cost membesar, karena harus meng-update
11
Contoh gambar dari Algoritma page LFU
4. Write Policy
lokasi memori yang saat ini ditahan dalam cache. Dijelaskan lebih rinci di sini, kedua
penulisan pada cache saja. Ketika sistem menulis ke lokasi memori yang saat
ini dipegang dalam cache, itu hanya menulis informasi baru pada baris cache
yang sesuai. Ketika garis cache akhirnya diperlukan untuk beberapa alamat
memori lain, data yang diubah adalah "menulis kembali" ke memori sistem.
Jenis cache yang memberikan performa yang lebih baik dari cache write-
utama dan sekaligus pada cache memori sehingga data selalu valid. Ketika
sistem menulis ke lokasi memori yang saat ini dipegang dalam cache, itu
menulis informasi baru baik ke baris cache yang tepat dan lokasi memori itu
12
sendiri pada saat yang sama. Jenis cache menyediakan kinerja buruk dari
keuntungan dari konsistensi internal, karena cache tidak pernah tidak sinkron
dengan memori apa adanya dengan cache write-back. Kekurangan teknik ini
Bus Watching with Write Through, yaitu setiap cache controller akan
memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila ada
Non Cacheable Memory, yaitu hanya bagian memori utama tertentu yang
merupakankegagalan cache.
5. Block Size
Karena ukuran blok meningkat dari ukuran yang sangat kecil ke ukuran yang lebih
besar, rasio klik pada awalnya akan meningkat karena prinsip lokalitas, yang menyatakan
bahwa data dalam sekitar kata yang direferensikan kemungkinan akan direferensikan dalam
waktu dekat. Sebagai ukuran blok meningkat, lebih baiknya data dibawa ke cache. Dua efek
13
Blok yang lebih besar dapat mengurangi jumlah blok yang masuk ke dalam cache.
Karena masing-masing blockfetch menimpa isi cache lama, sejumlah kecil hasil blok
Sebagai blok besar, setiap kata tambahan menjauh dari yang diminta kata dan karena itu
6. Cache Type
Cache dapat dibagi menjadi beberapa jenis berdasarkan fungsinya, seperti cache
instruksi (untuk menyimpan instruksi program), cache data (untuk menyimpan data hasil
eksekusi instruksi).
a) Cache Instruksi
Cache instruksi adalah tipe cache yang dirancang khusus untuk menyimpan
instruksi program yang akan dieksekusi oleh unit pemrosesan pusat (CPU). Ketika CPU
instruksi. Jika instruksi yang diperlukan sudah ada di cache instruksi, CPU dapat
untuk mengambil instruksi, yang biasanya lebih lambat dibandingkan dengan cache.
Cache data adalah tipe cache yang dirancang untuk menyimpan data yang
data, data tersebut pertama-tama dicari dalam cache data. Jika data yang diperlukan
sudah ada di cache data, CPU dapat mengambilnya dengan cepat tanpa harus
mengakses memori utama. Cache data membantu mengurangi waktu akses ke memori
14
utama untuk membaca atau menulis data, meningkatkan kinerja aplikasi yang
Cache hit, jika data yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut
“hit”. Permintaan dapat dilayani dengan cepat.Maksud urutan unit dari rendah hingga tinggi
yaitu: Streamer – Hardisk Memori – Second Level – First level – CPU cache.
Cache miss, bila data yang diminta tidak ada dalam cache, harus diambil dari unit
Burst mode, dalam modus cepat ini cache mengambil banyak data sekaligus dari unit
dibawahnya. Ia mengambil lebih dari yang dibutuhkan dengan asumsi, data yang diminta
COAST, Cache on the stick adalah bentuk khusus L2, yang dapat diganti-ganti seperti
15
RAM dan ditempatkan pada modul.
DRAM, memori dinamik (”Dynamic Random Access Memory) adalah bentuk yang paling
umum. DRAM hanya menggunakan sebuah kapasitor untuk menyimpan, sehingga kecil
dan murah untuk kapasitas besar. Kekurangannya: kecepatannya tidak begitu tinggi.
SRAM, memori statik (Static RAM) ini menggunakan sakelar elektronik (flip-flop) untuk
menyimpan. secara teknis flip-flop pada RAM lebih rumit dari kapasitor pada DRAM.
Karena lebih cepat, SRAM biasanya digunakan untuk cache L1 atau L2.
perkembangan lebih lanjut dari DRAM. Akses pada memori disinkronkan dengan
First level cache (L1), ini tingkat cache teratas dalam hirarki, dengan kapasitas memori
Second level cache (L2), cache level dua ini memiliki kapasitas lebih besar dari L1, tetapi
lebih lambat dan murah. Cache L2 masih lebih cepat dibandingkan dengan RAM.
Write back (WB), cache digunakan tidak hanya saat membaca, tetapi juga dalam proses
menulis.
16
Write through (WT), mementingkan keamanan: cache hanya digunakan saat membaca,
sedangkan untuk menulis ditunggu hingga memori yang dituju selesai menulis.
Gambar-Gambar Cache
17
DAFTAR PUSTAKA
https://www.academia.edu/23173334/STRUKTUR_CPU_DAN_CACHE_MEMORY
https://www.scribd.com/doc/240490760/Cache-Memory
https://grahakarya.com/blog/pengertian-cache-memory-fungsi-jenis-serta-cara-kerjanya
https://ivansa.github.io/tulisan/komputer/hirarki-memori/
https://lms-paralel.esaunggul.ac.id/course/view.php?id=3623#section-3
https://journal.widyatama.ac.id/index.php/jitter/article/download/117/108
18