2013
CacheMemory–
Direct Mapping
[ Arsitektur Komputer ]
FARHAM HARVIANTO 1211601685
MERY CHRISMES ARUAN 1211601891
NICO BUSTANUL A. 1211601883
Magister Ilmu Komputer
Cache Memory
2013
CacheMemory–Direct Mapping
DAFTAR ISI
HALAMAN JUDUL ............................................................................................... 1
DAFTAR ISI ............................................................................................................ 2
BAB I. PENDAHULUAN ........................................................................................ 3
1.1 LATAR BELAKANG .................................................................................. 3
BAB II. CACHE MEMORY ................................................................................... 4
2.1 CACHE MEMORY .................................................................................... 4
2.2 LEVEL CACHE MEMORY ....................................................................... 6
2.3 KAPASITAS CACHE MEMORY............................................................... 8
2.4 UKURAN BLOK.......................................................................................... 8
BAB III. MAPPING CACHE MEMORY .............................................................. 9
3.1 DIRECT MAPPING..................................................................................... 9
BAB I
Cache Memory | Magister Komputer 2
CacheMemory–Direct Mapping
PENDAHULUAN
Main Memory (memory utama) atau lebih dikenal sebagai memori adalah sebuah
array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau
bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Main memory
berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau
perangkat I/O. Main-memory termasuk tempat penyimpanan data yang sementara
(volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen memori seperti: menjaga track dari memori yang sedang digunakan dan
siapa yang menggunakannya; memilih program yang akan di-load ke memori dan
mengalokasikan dan mendealokasikan memory space sesuai kebutuhan.
Main memory dapat dibayangkan sebagai kumpulan kotak-kotak yang masing
dapat menyimpan suatu penggal informasi baik berupa data maupun instruksi.
Umumnya 1 byte memory terdiri dari 8 bit dan tiap bit diwakili oleh 1 atau 0.
Kombinasi bit dalam1 byte tersebut membentuk suatu kode yang mewakili isi dari
lokasi memory.
1.1 LATAR BELAKANG
Prinsip lokalitas membantu untuk mempercepat akses memori utama dengan
memperkenalkan memory kecil yang sangat cepat dikenal sebagai MEMORIES
CACHE yang memegang blok dari instruksi yang terakhir direferensikan .
Karena saluran cache memory lebih sedikit dibandingkan dengan blok memori
utama, maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam
saluran cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan
bentuk organisasi cache memory. Telah kita ketahui bahwa cache memory
mempunyai kapasitas yang kecil dibandingkan memori utama. Sehingga diperlukan
aturan blok-blok mana yang diletakkan dalam cache memory. Terdapat tiga metode,
yaitu pemetaan langsung (direct mapping), pemetaan asosiatif, dan pemetaan asosiatif set.
Penulis akan membahas tentang Direct Mapping pada cache memory.
BAB II
Cache Memory | Magister Komputer 3
CacheMemory–Direct Mapping
CACHE MEMORY
2.1 Cache Memory
Cache memory merupakan lokasi data sementara antara prosesor dengan main
memory. Penempatan cache memory ditujukan untuk mengurangi gap antara
kecepatan prosesor dengan kecepatan main memory. Gambar 2.1 di bawah ini
menunjukkan posisi cache memory yang diletakkan antara prosesor (CPU)
dengan main memory.
Word Cache Block
CPU Memory
Memory
Gambar 2.1 Posisi Cache Memory
Sedangkan gambar 2.2 memperlihatkan sistem interkoneksi untuk cache memory.
Gambar 2.2 Sistem Interkoneksi
Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat
menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut cache
memory adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk
Cache Memory | Magister Komputer 4
CacheMemory–Direct Mapping
meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache
memory tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama
maka maka akses akan dapat dilakukan lebih cepat. Cache memory ini adalah memori
tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang
sangat tinggi dan harga yang lebih mahal dari memori utama. Cache memory ini
terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak
langsung mengacu pada memori utama.
Karakteristik cache memory adalah sebagai berikut:
a. Kapasitas relatif lebih kecil dari main memory, tetapi memiliki kecepatan
yang relatif lebih tinggi dibanding main memory.
b. Cache memory merupakan suatu memori buffer (salinan data) bagi memori
utama.
c. Meskipun cache menggunakan informasi yang tersimpan dalam memori
utama, tetapi ia tidak berhadapan secara langsung dengan memori utama.
d. Word yang disimpan didalam cache memory adalah word yang diambil dari
main memory, yang dikerjakan sesuai perintah CPU.
Fungsi umum dari cache memory adalah sebagai berikut :
a. Mempercepat Akses data pada computer.
b. Meringankan kerja prosessor.
c. Menjembatani perbedaan kecepatan antara cpu dan memory utama.
d. Mempercepat kinerja memory.
Cache Memory memiliki letak yang berbeda-beda disetiap computer, secara umum
letak cache memori terdapat di dua tempat, yaitu :
a. Terdapat di dalam Processor (on chip )
Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus
eksternal, maka waktu aksesnya akan sangat cepat sekali.
b. Terdapat diluar Processor(off chip)
Berada pada MotherBoard, memori jenis ini kecepatan aksesnya sangat cepat,
meskipun tidak secepat chache memori jenis pertama.
Cache Memory | Magister Komputer 5
CacheMemory–Direct Mapping
2.2 Level Cache Memory
Hingga saat ini, cache memory terbagi atas tiga level yaitu L1, L2 dan L3.
a. Cache memory memori level 1 (L1) adalah cache memory yang terletak
dalam prosesor (internal cache). Cache memory ini memiliki kecepatan akses
paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai
dari 8KB, 64KB dan 128KB. Berguna untuk menyimpan secara sementara
instruksi dan data, dan memastikan bahwa prosesor memiliki supply data
yang stabil untuk diproses sementara memori mengambil dan menyimpan
data baru. L1 cache (Level 1 cache) disebut pula dengan istilah primary cache,
first cache, atau level one cache. Transfer data dari L1 cache ke prosesor
terjadi paling cepat Kecepatannya mendekati kecepatan register.
b. Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu
berkisar antara 256KB sampai dengan 2MB. Namun, cache memory L2 ini
memiliki kecepatan yang lebih rendah dari cache memory L1. Cache memory
L2 terletak terpisah dengan prosesor atau disebut dengan external cache.
Berguna untuk menyimpan sementara instruksi dan data, dan memastikan
bahwa prosesor memiliki supply data yang stabil untuk diproses sementara
memori mengambil dan menyimpan data baru. (Level 2 cache) secondary
cache, second level cache, atau level two cache.
c. Cache memory level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih
dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk
mengontrol data yang masuk dari tembolok L2 dari masing-masing inti
prosesor, dan juga ketika terdapat cache yang hilang ”missing” pada cache
L1&L2. L3 cache memiliki ukuran lbih besar dibandingkan L1 dan L2
namun kecepatan transfernya lebih lama dari L1cache dan L2 Cache.
Level 2 atau L2 cache merupakan bagian dari strategi penyimpanan multi level
untuk meningkatkan performa komputer. Terdapat tiga level cache yang
digunakan pada komputer, yaitu L1, L2 dan L3 cache. Tiap-tiap cache tersebut
menjembatani jarak (gap) diantara processor yang sangat cepat, dengan memori
RAM (Random Access Memory) yang jauh lebih lambat.
Cache Memory | Magister Komputer 6
CacheMemory–Direct Mapping
Sementara desainnya terus mengalami perubahan, L1 cache biasanya telah
terintegrasi (built in) ke dalam processor, sementara L2 cache biasanya
terintegrasi pada motherboard (bersamaan dengan L2 cache). Namun, beberapa
processor kini menggabungkan L2 cache serta L1 cache, dan bahkan beberapa
diantaranya juga menggungkan L3 cache. Kecepatan yang paling tinggi terdapat
pada L1 cache, kemudian menurun pada L2 dan L3 cache. Namun kebalikannya,
semakin besar angka cache, maka semakin besar pula kapasitas penyimpanan
datanya.
Gambar 2.3 Gambaran Umum Cache Level
Tugas dari cache processor adalah untuk mengantisipasi data request, sehingga
ketika pengguna mengakses sebuah program yang sering digunakan, sebagai
contohnya, instruksi-instruksi yang dibutuhkan untuk menjalankan program
tersebut telah siap digunakan, disimpan pada cache. Ketika hal ini terjadi, CPU
dapat memproses request tanpa adanya jeda (delay), sehingga dapat
meningkatkan performa komputer secara drastis. CPU pertama-tama akan
memeriksa L1 cache, diikuti dengan L2 dan L3 cache. Jika processor telah
menemukan bit data yang dibutuhkan, maka disebut dengan cache hit. Namun
jika cache tidak menyediakan bit data yang dibutuhkan, processor mendapatkan
sebuah cache miss, dan data perlu ditarik dari RAM yang lebih lambat atau hard
disk yang juga lebih lambat.
Cache Memory | Magister Komputer 7
CacheMemory–Direct Mapping
2.3 Kapasitas Cache Memory
Menentukan ukuran cache memory sangatlah penting untuk mendongkrak
kinerja komputer. Dari segi harga cache memory 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.
2.4 Ukuran Blok
Elemen rancangan yang harus diperhatikan lagi adalah ukuran blok. Telah
dijelaskan adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah
penting. Apabila blok berukuran besar ditransfer ke cache akan menyebabkan hit
ratio mengalami penurunan karena banyaknya data yang dikirim disekitar
referensi. Tetapi apabila terlalu kecil, dimungkinkan memori yang akan
dibutuhkan CPU tidak tercakup.
a. Blok-blok yang berukuran lebih besar mengurangi jumlah blok yang
menempati cache. Karena isi cache sebelumnya akan ditindih.
b. Dengan meningkatnya ukuran blok maka jarak setiap word tambahan
menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil
kemungkinannya digunakan cepat.
Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan,
tergantung pada karakteristik lokalitas programnya dan tidak terdapat nilai
optimum yang pasti telah ditemukan. Ukuran antara 4 hingga 8 satuan yang dapat
dialamati (word atau byte) cukup beralasan untuk mendekati nilai optimum.
Cache Memory | Magister Komputer 8
CacheMemory–Direct Mapping
BAB III
MAPPING CACHE MEMORY
Saluran cache memory lebih sedikit dibandingkan dengan blok memori utama,
maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam saluran
cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan bentuk
organisasi cache memory. Telah kita ketahui bahwa cache memory mempunyai
kapasitas yang kecil dibandingkan memori utama. Sehingga diperlukan aturan blok-
blok mana yang diletakkan dalam cache memory. Terdapat tiga metode, yaitu
pemetaan langsung (direct mapping), pemetaan asosiatif, dan pemetaan asosiatif set.
3.1 Direct Mapping
Ingat bahwa pemetaan langsung diberikan setiap blok memori untuk baris
tertentu dalam cache. Jika garis adalah semua siap diambil oleh blok memori
ketika blok baru perlu dimuat, blok lama dibuang. Gambar di bawah ini
menunjukkan bagaimana beberapa blok dipetakan ke baris yang sama di cache.
Baris ini adalah satu-satunya garis yang masing-masing blok dapat dikirim ke.
Dalam kasus angka ini, ada 8 bit di bagian identifikasi blok alamat memori.
Gambar 3.1 Pembagian Blok pada cache memory
Alamat ini dibagi menjadi tiga bagian: (sr) MSB bit mewakili tag yang akan disimpan
dalam garis cache sesuai dengan blok disimpan dalam baris, r bit di tengah
mengidentifikasi garis blok selalu disimpan dalam, dan LSB bit w mengidentifikasi
setiap kata dalam blok. Ini berarti bahwa:
Cache Memory | Magister Komputer 9
CacheMemory–Direct Mapping
a. 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
meletakkanblok main memory ke-j.
b. 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, ...
c. Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu:
- Tag identifier
- Line number identifier
- Word identifier (offset)
d. Word identifier berisi informasi tentang lokasi word atau unit addressable
lainnya dalam line tertentu pada cache.
e. Line identifier berisi informasi tentang nomor fisik (bukan logika) line pada
cache.
f. Tag identifier disimpan pada cache bersama dengan blok pada line.
- Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu
yangmenyimpan copy alamat tsb ditentukan, jika blok tempat lokasi
datatersebut sudah dikopi dari main memory ke cache.
- Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang
dimaksud ada pada line tsb.
Cache Memory | Magister Komputer 10
CacheMemory–Direct Mapping
Gambar 3.2 Organisasi Direct Mapping
Keuntungan menggunakan Direct Mapping antara lain:
- Mudah dan murah diimplementasikan.
- Mudah untuk menentukan letak salinan data main memory pada cache.
Kerugian menggunakan Direct Mapping antara lain:
- Setiap blok main memory hanya dipetakan pada 1 line saja.
- 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, sehinggahit
ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannyadata
pada cache dengan jumlah usaha mengakses cache.
Cache Memory | Magister Komputer 11