Internal : berada diluar chip CPU pengaksesan langsung ke CPU, memori utama dan
cache memori
External : perangkat penyimpan tambahan seprti disk, pita yang dapat diakses oleh
CPU melalui I/O
b. Capacity
Memori Internal
- kapasitas dinyatakan dalam byte (1 byte =
8 bit) atau word.
- panjang satu word 8, 16, 32 bit.
Memori External
- kapasitas dinyatakan dalam byte.
- biasanya lebih besar kapasitasnya daripada
memori internal, hal ini disebabkan karena
teknologi dan sifat penggunaannya yang berbeda.
c. Unit of transfer
Internal
-
Unit transfer sama dengan banyaknya saluran data ke dalam dan keluar
modul memori.
External
- Jumlah blok transfer selalu lebih besar dari word 64, 128, 256 bit
Addressable unit
-
d. Access method
Sequential
- diorganisir dalam unit-unit data/RECORD
- akses harus dibuat dalam urutan linier spesifik
- pembacaan akan dilakukan secara urut
- contoh : unit pita
Direct
Setiap blok dan record memiliki alamat unik berdasarkan lokasi fisiknya
Random / acak
- pengalamatan dengan sistem fisik wired-in /pengalamatan langsung.
- waktu akses memori bersifat konstan.
- tidak tergantung pada urutan akses.
- contoh : sistem meori utama dan cache.
Associative
e. Performance
Access time
pada memori random waktu access adalah waktu yang dibutuhkan untuk
melakukan operasi baca atau tulis.
pada memori non random waktu access merupakan waktu yang dibutuhkan untuk
melakukan operasi baca atau tulis pada lokasi tertentu.
Transfer rate
: kecepatan data transfer ke unit memori atau dari unit memori.
f. Physical type
Memori magnetik
contoh : disk dan pita.
Optik
contoh : CD dan DVD
Magneto-optik.
contoh : buble, hologram
g. Physical characteristics
volatile memory,
: informasi akan hilang apabila daya listriknya dimatikan
non-volatile
: memory tidak hilang walau daya listriknya hilang.
Least Significant Bits (LSB) w mengidentifikasikan word unik dalam sebuah block
Remaining Bits (RB) s menetapkan block yang terdapat dalam memori. RB dibagi
menjadi dua bagian
Most Significant Bits (MSB) s-r secara tunggal mengiddentifikasi block dalam
baris dari cache
Sederhana
Tidak Mahal
Jika sebuah program mengakses 2 block yang dipetakan pada baris yang sama,
kemungkinan gagal sangat tinggi (thrasing)
Contoh
-
Tidak ada dua block yang berada dalam baris yang sama mempunyai label (tag)
yang sama
Cek isi dari cache dengan menemukan baris dan membandingkan label (tag)
2. Associative Mapping
Sebuah block pada memory utama bisa mengisi pada sebarang baris pada cache
Alamat memori diintrepetasikan sebagai:
-
v = 1, associative mapping
Setiap set memuat sejumlah baris, pada dasarnya jumlah baris dibagi sebanyak jumlah
himpunannya
Block tertentu memetakan ke sebarang baris pada himpunan spesifik
Cara yang biasa digunakan menggunakan 2 baris tiap set
Disebut 2-way associative mapping
Block tertentu bisa berada pada salah satu dari 2 baris pada satu himpunan spesifika one
of 2 lines in only one specific set
Perbaikan yang cukup signifikant dibanding direct mapping
3d. Macam-macam write policy pada cache memory
Ada dua macam metode dasar penulisan cache :
Write-through
Operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache memori
sehingga data selalu valid.
Kekurangan teknik ini adalah :
-
Write back
Selain kedua metode di atas adapula metode lain yaitu Multi cache.
Masalah validasi data tidak hanya antara cache dan memori utama
Antar cache harus diperhatikan Kapasitas, Satuan Transfer, Metode Akses, Kinerja, Tipe
Fisik dan Karakteristik Fisik.
Soal 2010
2a. Sama dengan jawaban 3c soal 2008
2b. Macam-macam algoritma pemetaan cache memori
Macam-macam algoritma:
1.
Kapasitas cache hanya 4 baris sedangkan jumlah blok data jauh lebih banyak. Jika
urutan pengaksesan data adalah:
a b c d c b a b c a d kemudian datang data e maka data yang diganti adalah ???
Jawaban: d (d paling jarang diakses)
Kalau urutan data yang diakses sebelum data e adalah a b c d c b a b c a d d,
maka data yang diganti adalah ???
Jawaban: (i) (nilai counter a sama dengan yang lain, tetapi karena a datang paling awal
maka a berada pada baris paling awal)
FIFO
(ii) (paling lama tidak diakses)
LRU
4.
Random
Penggantian blok dilakukan secara acak. Algoritma random adalah algoritma yang
cukup sederhana juga selain algoritma FIFO. Dalam algoritma ini, halaman yang dipilih
menjadi korban dipilih secara acak. Meskipun terdengar asal, tetapi algoritma ini relatif
low cost, karena tidak memerlukan stack, queue atau counter. Dibandingkan dengan
FIFO, rata-rata kasus menunjukkan page fault rate algoritma random lebih rendah
daripada algoritma FIFO. Sedangkan dibandingkan dengan LRU, algorima random ini
lebih unggul dalam hal memory looping reference , karena algoritma random sama
sekali tidak memerlukan looping
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
SOAL 2009
5. Fungsi pemetaan/mapping
a). Direct mapping
Setiap block dari memori utama hanya memetakan ke dalam satu baris cache. Jika suatu
block ditemukan di cache, maka block tersebut selalu ditemukan pada tempat yang
sama.
Nomor baris dihitung menggunakan rumus berikut: i = j modulo m di mana
i = Nomor baris cache
j = Nomor block pada memori utama
m = Jumlah baris di cache
Struktur alamat: Setiap alamat memori utama dibagi menjadi 3 bagian
-
Least Significant Bits (LSB) w mengidentifikasikan word unik dalam sebuah block
Remaining Bits (RB) s menetapkan block yang terdapat dalam memori. RB dibagi
menjadi dua bagian
Most Significant Bits (MSB) s-r secara tunggal mengiddentifikasi block dalam
baris dari cache
Sederhana
Tidak Mahal
Jika sebuah program mengakses 2 block yang dipetakan pada baris yang sama,
kemungkinan gagal sangat tinggi (thrasing)
Contoh
-
Tidak ada dua block yang berada dalam baris yang sama mempunyai label (tag)
yang sama
Cek isi dari cache dengan menemukan baris dan membandingkan label (tag)
v = 1, associative mapping
Setiap set memuat sejumlah baris, pada dasarnya jumlah baris dibagi sebanyak jumlah
himpunannya
Block tertentu memetakan ke sebarang baris pada himpunan spesifik
Cara yang biasa digunakan menggunakan 2 baris tiap set
b) Write back
Teknik me-minimalisasi penulisan dengan cara penulisan pada cache saja.
Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada
memori utama.
Masalah : manakala data di memori utama belum di-update telah diakses modul I/O
sehingga data di memori utama tidak valid
Selain kedua metode di atas adapula metode lain yaitu Multi cache.
Masalah validasi data tidak hanya antara cache dan memori utama
Antar cache harus diperhatikan Kapasitas, Satuan Transfer, Metode Akses, Kinerja, Tipe
Fisik dan Karakteristik Fisik.
c) Write Once
Data dan intruksi disimpan pada tempat yang sama (dalam satu cache). Kelebihan hit rate
lebih tinggi daripada split cache, perancangan dan implementasi terfokus pada satu cache.
Kekurangan tidak mendukung pipeline, dapat terjadi contention cache.
Split
Cache dibagi 2 sehingga data dan intruksi disimpan pada tempat terpisah. Kelebihan
memndukung eksekusi intruksi secara paralel, mencegah contention cache antara
fetch/decode intruksi dan eksekusi performasi lebih baik