Anda di halaman 1dari 11

MAKALAH

ORGANISASI DAN ARSITEKTURE KOMPUTER

CACHE MEMORY

FAKULTAS ILMU KOMPUTER

UNIVERSITAS AMIKOM YOGYAKARTA

2021/2022
Struktur Sistem Memori

??????????????????????????????

Pengertian dan Prinsip Kerja Cache Memori

PENGERTIAN CACHE MEMORY


Memori utama yang digunakan sisterm komputer pada awalnya dirasakan masih
lambat kerjanya dibandingkan dengan kinerja CPU, sehingga perlu dibuat sebuah memori
yang dapat membantu kerja memori utama tersebut, sebagai perbandingan waktu akses
memori cache lebih cepat 5-10 kali dibandingkan memori utama.

Cache memory adalah memori yang memiliki kecepatan sangat tinggi yang digunakan
sebagai perantara antara RAM dan CPU. Memori ini mempunyai kecepatan yang lebih
tinggi daripada RAM. Memori ini digunakan untuk menjembatani perbedaan kecepatan
CPU yang sangat tinggi dengan kecepatan RAM yang jauh lebih rendah. Jika processor
membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache. Jika data
ditemukan, processor akan langsung membacanya dengan delay yang sangat kecil. Tetapi
jika data tidak ditemukan, processor akan mencarinya pada RAM.
Cache adalah memory berukuran kecil yang sifatnya temporary (sementara). Cache
umumnya terbagi menjadi beberapa jenis, seperti L1 cache, L2 cache dan L3 cache.
Walaupun ukuran filenya sangat kecil, namun keceptannya sangat tinggi. Dalam terminologi
hardware, istilah ini biasanya merujuk pada memory berkecepatan tinggi yang
menjembatani aliran data antara processor dengan memory utama (RAM) yang biasanya
memiliki kecepatan jauh lebih rendah.

Jenis-Jenis RAM
1. DRAM (Dynamic Random Access Memory) adalah jenis RAM yang
menyimpan setiap bit data yang terpisah dalam kapasitor dalam satu sirkuit terpadu.
Data yang terkandung di dalamnya harus disegarkan secara berkala oleh CPU agar
tidak hilang. Hal ini membuatnya sangat dinamis dibandingkan dengan memori
lainnya.
2. SRAM (Static Random Access Memory) adalah jenis RAM (sejenis memori
semikonduktor) yang tidak menggunakan kapasitor. Hal ini mengakibatkan SRAM
tidak perlu lagi disegarkan secara berkala seperti halnya dengan DRAM.
3. EDORAM (Extended Data Out Random Accses Memory) adalah jenis RAM
yang dapat menyimpan dan mengambil isi memori secara bersamaan, sehingga
kecepatan baca tulisnya pun menjadi lebih cepat. Umumnya digunakan pada PC
terdahulu sebagai pengganti Fast Page Memory (FPM) RAM. Seperti FPM DRAM,
EDO RAM memiliki kecepatan maksimal 50MHz EDO RAM uga harus
membutuhkan L2 Cache untuk membuat semuanya berjalan dengan cepat, namun jika
user tidak memilikinya, maka EDO RAM akan berjalan jauh lebih lambat.
4. FPM RAM (Fast Page Mode DRAM) adalah model DRAM paling lama.
Masalah yang sering muncul dari FPM DRAM adalah kecepatan transfernya yang
lambat yakni maksimum 50MHz.
5. SDRAM (Synchronous Dynamic Random Acces Memory). SDRAM bukanlah
sebuah ekstensi dari seri EDO RAM yang lama, namun merupakan tipe baru dari
DRAM. SDRAM mulai berjalan dengan kecepatan transfer 66MHz, sementara mode
halaman DRAM dan EDO yang lebih lama akan berjalan di maksimal 50MHz.
6. DDR (Double Data Rate SDRAM). DDR pada dasarnya memiliki kecepatan
transfer dua kali lipat daripada SDRAM. DDR RAM juga kompatibel dengan
SDRAM secara fisik, namun menggunakan bus parallel yang sama, sehingga
membuat implemnetasi lebih mudah dibandingkan RDRAM, yang merupakan
teknologi berbeda.
7. RDRAM (Rambus Dynamic Random Acces Memory) adalah salah satu tipe
dari RAM dinamis sinkron yang diproduksi oleh Rambus Corporation menggunakan
Bus Speed sebesar 800 MHz tetapi memiliki jalur data yang sempit (8 bit).
Jenis-jenis memory Eksternal
1. Berdasarkan Karakteristik Bahan

a) Punched Card atau kartu berlubang : Merupakan kartu kecil berisi lubang-
lubang yang menggambarkan berbagai instruksi atau data. Kartu ini dibaca melalui
puch card reader yang sudah tidak digunakan lagi sejak tahun 1979.
b) Magnetic disk : Magnetic Disk merupakan disk yang terbuat dari bahan yang
bersifat magnetik, Contoh : floppy dan harddisk.
c) Optical Disk : Optical disk terbuat dari bahan-bahan optik, seperti dari resin
(polycarbonate) dan dilapisipermukaan yang sangat reflektif seperti alumunium.
Contoh : CD dan DVD
d) Magnetic Tape : Sedangkan magnetik tape, terbuat dari bahan yang bersifat
magnetik tetapi berbentuk pita, seperti halnya pita kaset tape recorder.

2 .Berdasarkan jenis akses data


a) DASD (Direct Access Storage Device)
Mempunyai akses langsung terhadap data. Contohnya : Magnetik (floppy disk, hard
disk), Removeable hard disk (Zip disk, Flash disk), Optical Disk dll.
b) SASD (Sequential Access Storage Device)
Mempunyai akses data secara tidak langsung(berurutan), seperti pita magnetik.

Fungsi dan Kegunaan Cache Memory


Cache berfungsi sebagai tempat penyimpanan sementara untuk data atau
instruksi yang diperlukan oleh processor. Secara gampangnya, cache berfungsi untuk
mempercepat akses data pada komputer karena cache menyimpan data/informasi yang
telah diakses oleh suatu buffer, sehingga meringankan kerja processor.
Dalam Internet sebuah proxy cache dapat mempercepat proses browsing dengan cara
menyimpan data yang telah diakses di komputer yang berjarak dekat dengan
komputer pengakses. Jika kemudian ada user yang mengakses data yang sama, proxy
cache akan mengirim data tersebut dari cache-nya, bukan dari tempat yang lama
diakses. Dengan mekanisme HTTP, data yang diberikan oleh proxy selalu data yang
terbaru, karena proxy server akan selalu mencocok kan data yang ada di cache-nya
dengan data yang ada di server luar
Kecepatan Cache Memory
Transfer data dari L1 cache ke prosesor terjadi paling cepat dibandingkan L2
cache maupun L3 cache (bila ada). Kecepatannya mendekati kecepatan register. L1
cache ini dikunci pada kecepatan yang sama pada prosesor. Secara fisik L1 cache
tidak bisa dilihat dengan mata telanjang. L1 cache adalah lokasi pertama yang diakses
oleh prosesor ketika mencari pasokan data. Kapasitas simpan datanya paling kecil,
antara puluhan hingga ribuan byte tergantung jenis prosesor. Pada beberapa jenis
prosesor pentium kapasitasnya 16 KB yang terbagi menjadi dua bagian, yaitu 8 KB
untuk menyimpan instruksi, dan 8 KB untuk menyimpan data.

Transfer data tercepat kedua setelah L1 cache adalah L2 cache. Prosesor dapat
mengambil data dari cache L2 yang terintegrasi (on-chip) lebih cepat dari pada cache
L2 yang tidak terintegrasi. Kapasitas simpan datanya lebih besar dibandingkan L1
cache, antara ratusan ribu byte hingga jutaan byte, ada yang 128 KB, 256 KB, 512
KB, 1 MB, 2 MB, bahkan 8 MB, tergantung jenis prosesornya. Kapasitas simpan data
untuk L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte)
Desain Cache Pada Sistem Komputer
Pada rancangan prosesor modern dengan beberapa tingkat pipeline, upaya
untuk mengisi penuh seluruh pipeline dengan instruksi dan data perlu dilakukan agar
operasi sistem komputer secara keseluruhan efisien.
Perbedaan kecepatan operasi antara prosesor dan memori utama bisa menjadi kendala
bagi dicapainya efisiensi kerja sistem komputer. Bila prosesor bekerja jauh lebih cepat
daripada memori utama maka setiap kali prosesor mengambil instruksi atau data,
diperlukan waktu tunggu yang cukup lama. Waktu tunggu tersebut akan lebih berarti
bila digunakan untuk memproses data.
Kendala ini menyebabkan diperlukannya cache, yakni memori berkapasitas kecil
tetapi berkecepatan tinggi, yang dipasang di antara prosesor dan memori utama.
Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam cache
sehingga dapat lebih cepat diakses oleh prosesor. Hanya bila data atau instruksi yang
diperlukan tidak tersedia dalam cache barulah prosesor mencarinya dalam memori
utama.
Cache umumnya menggunakan memori statik yang mahal harganya, sedangkan
memori utama menggunakan memori dinamik yang jauh lebih murah. Sistem
komputer akan bekerja sangat cepat apabila seluruh sistem memori utamanya
menggunakan memori statik, tetapi akibatnya harga sistem komputer akan menjadi
sangat mahal. Selain itu, karena hamburan panas pada memori statik lebih besar,
sistem komputer yang menggunakan memori statik ini akan menghasilkan panas yang
berlebihan

Hirarki Sistem Memory


Pada sistem komputer terdapat berbagai jenis memori, yang berdasarkan kecepatan
dan posisi relatifnya terhadap prosesor, bisa disusun secara hirarkis.

Puncak hirarki sistem “memori” komputer adalah register yang berada dalam chip
prosesor dan merupakan bagian integral dari prosesor itu sendiri. Isi register-register
itu bisa dibaca dan ditulisi dalam satu siklus detak.

Level hirarki berikutnya adalah memori cache internal (on-chip). Kapasitas cache
internal yang sering disebut sebagai cache level pertama ini umumnya sekitar 8 KB.
Waktu yang diperlukan untuk mengakses data atau instruksi dalam cache internal ini
sedikit lebih lama dibandingkan register, yakni beberapa siklus detak.
Prosesor-prosesor mutakhir dilengkapi dengan cache level kedua yang kapasitasnya
lebih besar dan ditempatkan di luar chip. Prosesor P6 (Pentium Pro), misalnya, cache
level pertamanya berkapasitas 8KB untuk data dan 8 KB untuk instruksi. Cache level
keduanya berkapasitas 256 KB, yang merupakan keping terpisah tetapi dikemas
menjadi satu dengan prosesornya. Selama program dieksekusi, sistem komputer
secara terus menerus memindah-mindahkan data dan instruksi ke berbagai tingkat
dalam hirarki sistem “memori”.

Data dipindahkan menuju ke puncak hirarki bila diakses oleh prosesor, dan
dikembalikan lagi ke hirarki yang lebih rendah bila sudah tidak diperlukan lagi. Data-
data tersebut ditransfer dalam satuan-satuan yang disebut “blok”; satu “blok” dalam
cache disebut satu “baris”. Umumnya, data yang berada pada suatu level hirarki
merupakan bagian dari data yang disimpan pada level di bawahnya.
Program komputer pada umumnya tidak mengakses memori secara acak. Besar
kecenderungannya bahwa bila program mengakses suatu word maka dalam waktu
dekat word tersebut akan diakses lagi. Hal ini dikenal sebagai prinsip lokalitas
temporal. Juga besar kecenderungannya bahwa dalam waktu dekat word yang berada
di dekat word yang baru diakses akan diakses juga.
Yang terakhir ini dikenal sebagai prinsip lokalitas spatial. Karena sifat lokalitas
temporal, maka harus diperhatikan word yang telah ada dalam cache, dan karena sifat
lokalitas spatial maka perlu diperhatikan kemungkinan memindahkan beberapa word
yang berdekatan sekaligus.

Metode Akses

Sequential Access
 Memori diorganisasikan menjadi unit-unit data, yang disebut record.
 Akses dibuat dalam bentuk urutan linier yang spesifik.
 Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu
proses pencarian.
 Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan
cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record.
 Waktu access record sangat bervariasi.
 Contoh sequential access adalah akses pada pita magnetik

Direct Access

 Seperti sequential access, direct access juga menggunaka shared read/write


mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan
lokasi fisik.
 Akses dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk
mencapai lokasi akhir.
 Waktu aksesnya bervariasi.
 Contoh direct access adalah akses pada disk.

Random Access
 Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung.
 Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses
sebelumnya dan bersifat konstan.
 Contoh random access adalah sistem memori utama.

Associative Access
 Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya.
 Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri.
 Waktu pencariannya tidak bergantung secara konstan terhadap lokasi atau pola access
sebelumnya.
 Contoh associative access adalah memori cache.

Fungsi Pemetaan/Mapping

????????????????????????????????????????

Algoritma Penggantian Blok

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
asosiatif dan asosiatif set, algoritma ini mempunyai peranan penting untuk meningkatkan kinerja
cache memori.

Berikut beberapa contoh algoritma penggantian blok:

1. Least recently used (LRU)

Prinsip dari algoritma ini adalah mengganti halaman yang tidak akan terpakai lagi
dalam waktu lama, sehingga efisiensi pergantian halaman meningat (page fault yang terjadi
berkurang) dan terbebas dari anomali Belady. Strategi ini akan menghasilkan jumlah page-
fault paling sedikit. Algoritma ini memiliki page fault rate paling rendah diantara semua
algoritma di semua kasus. Akan tetapi, optimal belum berarti sempurna karena algoritma ini
ternyata sangat sulit untuk diterapkan. Sistem tidak dapat mengetahui halaman-halaman mana
saja yang akan digunakan berikutnya.

Contoh:

Data: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6

Maka apabila algoritma ini terjadi pada 3 frame hasilnya sebagai berikut.

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
1 1 1 4 4 4 5 5 5 1 1 1 7 7 7 2 2 2 2 2
- 2 2 2 2 2 2 6 6 6 6 3 3 3 3 3 3 3 3 3
- - 3 3 3 1 1 1 2 2 2 2 2 6 6 6 1 1 1 6
M M M M H M M M M M H M M M H M M H H M

 (1,2,3) Miss, dimasukkan kedalam frame.


 (1,2,3) => (4,2,3) 4 menggantikan 1 karena 1 menempati periode waktu paling lama
belum digunakan.
 (4,2,3) => (4,2,3) Hit karena nilai 2 masih ada di frame.
 Dst…

Total Miss = 15
2. First in first out (FIFO)

Algoritma ini menggunakan struktur data stack. Apabila tidak ada frame kosong saat
terjadi page fault, maka korban yang dipiluh adalah frame yang berada di stack paling bawah,
yaitu halaman yang berada paling lama berada di memori. Algoritma ini adalah algoritma
yang paling sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak
berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga.

Contoh:

Data: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6

Maka apabila algoritma ini terjadi pada 3 frame hasilnya sebagai berikut.

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
1 1 1 4 4 4 4 6 6 6 6 3 3 3 3 2 2 2 2 6
- 2 2 2 2 1 1 1 2 2 2 2 7 7 7 7 1 1 1 1
- - 3 3 3 3 5 5 5 1 1 1 1 6 6 6 6 6 3 3
M M M M H M M M M M H M M M H M M H M M

 (1,2,3) Miss, 3 dimasukkan kedalam frame/blok memori.


 (1,2,3) => (4,2,3) Miss, 4 menggantikan 1 karena 1 merupakan entri paling tua.
 (4,2,3) => (4,2,3) Hit, karena nilai 2 masih ada di frame.
 Dst…

Total miss : 16

3. Least frequently used (LFU)

Algoritma ini mengasumsikan kelas-kelas bernomor lebih rendah akan baru akan
digunakan kembali dalam waktu relatif lama.Algoritma ini mudah dipahami dan
diimplementasikan. Implementasi algoritma ini sangat efisien karena tak banyak langkah
dalam pemilihan page. Algoritma ini memang tidak optimal, tapi dalam kondisi-kondisi
normal telah memadai.
Contoh:

Data: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

Maka apabila algoritma ini terjadi pada 3 frame hasilnya sebagai berikut.

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 3 3 3 3 3 3 3 3 3 3 3
-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-1 -1 1 1 1 3 3 3 2 2 2 2 2 1 2 2 1 7 7 1
M M M M H M H M M M H H H M M H M M H M

 (7,0,1) Miss dimasukkan kedalam frame/blok memori


 (2,0,1) Miss 2 menggantikan 7.
 (2,0,1) Hit 0 masih ada di blok memori.
 Dst…

Total Miss: 13

Anda mungkin juga menyukai