organisasi komputer
TRANSCRIPT
ORGANISASI KOMPUTER
CACHE MEMORY
KELOMPOK KU
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
TAHUN AJARAN 2010-2011
KATA PENGANTAR
Puji syukur atas kehadirat Tuhan Yang Maha Esa atas rahmat dan petunjuk-Nya
sehingga kami dapat menyelesaikan tugas paper dengan judul CACHE MEMORY, yang
mana paper ini disusun bertujuan untuk memenuhi tugas Organisasi Komputer.
Kami mengucapkan terima kasih kepada semua pihak yang telah membantu kami
sehingga paper ini dapat kami selesaikan.
Kami menyadari bahwa masih terdapat kekurangan dan keterbatasan dalam penyajian
data di paper ini. Oleh karena itu, kami mengharapkan kritik dan saran yang
membangun dari semua pembaca demi kesempurnaan paper ini. Demikian, semoga
paper ini berguna dan dapat menambah pengetahuan pembaca.
Jakarta, Maret 2011
Penyusun
ii
DAFTAR ISI
COVER i
KATA PENGANTAR ii
DAFTAR ISI iii
BAB I PENDAHULUAN 1
Latar Belakang 1
BAB II PEMBAHASAN 2
II. 1. CACHE MEMORY 2
II. 1. 1. Hirarki Sistem Memori 2
II. 1. 2. Pengertian Cache Memory 5
II. 1. 5. Level Cache Memory 5
II. 1. 6. Cara Kerja Cache Memori 6
II. 2. ELEMEN RANCANGAN 7
II. 3. KAPASITAS CACHE 8
II. 4. UKURAN BLOK 9
II. 5. FUNGSI PEMETAAN 9
II. 5. 1. Pemetaan Langsung (Direct Mapping) 10
II. 5. 2. Pemetaan Asosiatif (Associative Mapping) 11
II. 5. 3. Pemetaan Asosiatif Set (Set Associative Mapping) 12
BAB III PENUTUP 13
DAFTAR PUSTAKA 14
iii
BAB I
PENDAHULUAN
Latar Belakang
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 4tatic 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 4tatic, tetapi akibatnya harga sistem komputer akan menjadi sangat mahal.
Selain itu, karena hamburan panas pada memori 4tatic lebih besar, sistem komputer
yang menggunakan memori statik ini akan menghasilkan panas yang berlebihan.
1
BAB II
PEMBAHASAN
II. 1. CACHE MEMORY
II. 1. 1. Hirarki Sistem Memori
Hierarki memori memang disusun sedemikian rupa agar semakin ke bawah, memori
dapat mengalami hal-hal berikut:
• Peningkatan waktu akses (access time) memori (semakin ke bawah
semakin lambat, semakin ke atas semakin cepat)
• Peningkatan kapasitas (semakin ke bawah semakin besar, semakin ke
atas semakin kecil)
• Peningkatan jarak dengan prosesor (semakin ke bawah semakin jauh,
semakin keatas semakin dekat)
• Penurunan harga memori tiap bitnya (semakin ke bawah semakin semakin
murah, semakin ke atas semakin mahal)
2
Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas.
Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai berikut:
1. Register mikroprosesor :
Ukurannya yang paling kecil tapi memiliki waktu akses yang paling
cepat,umumnya hanya 1 siklus CPU saja.
2. Cache mikroprosesor : yang disusun berdasarkan kedekatannya dengan
prosesor (level-1, level-2, level-3, dan seterusnya).
Memori cache mikroprosesor dikelaskan ke dalam tingkatan-tingkatannya sendiri:
1. level-1 : memiliki ukuran paling kecil di antara semua cache, sekitar
puluhan kilobyte saja. Kecepatannya paling cepat di antara semua cache.
2. 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. Meski demikian, kecepatannya lebih lambat
dibandingkan dengan level-1, dengan 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.
3. 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.
3
3. Memori utama : 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 mesin-mesin Non-Uniform Memory Access
(NUMA).
4. Cache cakram magnetis : yang sebenarnya merupakan memori yang digunakan
dalam memori utama untuk membantu kerja cakram magnetis.
5. Cakram magnetis
6. Tape magnetis
7. Cakram Optik
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory
manager.Di era multiprogramming ini, memory manager digunakan untuk mencegah
satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary
memory, mengatur swapping antara memori utama dan disk ketika memori utama
terlalu kecil untuk memegang semua proses.
Tujuan dari manajemen ini adalah untuk:
1. Meningkatkan utilitas CPU.
2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
3. Efisiensi dalam pemakaian memori yang terbatas.
4. Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien.
4
II. 1. 2. Pengertian Cache Memory
Cache beasal dari kata cash. Dari istilah tersebut cache adalah tempat
menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut
cache memori adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk
meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache
tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka
maka akses akan dapat dilakukan lebih cepat.Cache memori ini adalah memori
tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat
tinggi dan harga yang lebih mahal dari memori utama. Cache memori ini terletak antara
register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu
pada memori utama.
II. 1. 3. Level Cache Memory
Cache memori ada tiga level yaitu L1,L2 dan L3. Cache memori level 1 (L1) adalah
cache memori yang terletak dalam prosesor (cache internal). Cache ini memiliki
kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang
mulai dari 8Kb, 64Kb dan 128Kb.Cache level 2 (L2) memiliki kapasitas yang lebih besar
yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun cache L2 ini memiliki
kecepatan yang lebih rendah dari cache L1. Cache L2 terletak terpisah dengan prosesor
atau disebut dengan cache eksternal. Sedangkan cache level 3 hanya dimiliki oleh
prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya
adalah untuk mengontrol data yang masuk dari cache L2 dari masing-masing inti
prosesor.
5
II. 1. 4. Cara Kerja Cache Memori
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache.
Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat
kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM
yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang
dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi.
Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih
efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan
kecepatan kerja komputer secara keseluruhan.
Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory
caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari
memori utama komputer atau sebuah media penyimpanan data khusus yang
berkecepatan tinggi.
Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari
memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan
implementasi disk caching menggunakan sebagian dari memori komputer.
Sumber :
http://id.wikipedia.org/wiki/Tembolok_%28komputer%29
6
II. 2. ELEMEN RANCANGAN
Walaupun terdapat banyak implementasi cache, namun dari sisi organisasi maupun
arsitekturnya tidak banyak macamnya.
Unsur Macam
Kapasitas -
Ukuran Blok -
Mapping 1. Direct Mapping
2. Associative Mapping
3. Set Associative Mapping
Algoritma Pengganti 1. Least Recently Used (LRU)
2. First In First Out (FIFO)
3. Least Frequently Used (LFU)
4. Random
Write Policy 1. Write Through
2. Write Back
3. Write Once
Jumlah Cache 1. Single atau dua level
2. Unified atau split
Tabel unsur-unsur rancangan cache memori
7
II. 3. KAPASITAS CACHE
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 banya 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 datan besar, floating point, 3D. Intel Celeron versi
berikutnya sudah ditambah cache sekitar 128KB.
Lalu berapa idealnya kapasitas cache? Sejumlah penelitian telah menganjurkan
bahwa ukuran cache antara 1KB dan 512KB akan lebih optimum [STA96].
8
II. 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.
Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi :
1. Blok -blok yang berukuran lebih besar mengurangi jumlah blok yang
menempati cache. Karena isi cache sebelumnya akan ditindih.
2. 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 [STA96].
II. 5. FUNGSI PEMETAAN
Telah kita ketahui bahwa cache mempunyai kapasitas yang kecil dibandingkan
memori utama. Sehingga diperlukan aturan blok-blok mana yang diletakkan dalam
cache. Terdapat tiga metode, yaitu :
pemetaan langsung
pemetaan asosiatif, dan
pemetaan asosiatif set
9
II. 5. 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.
Teknik pemetaan ini sederhana dan mudah diimplementasikan, namun kelemahannya
adalah terdapat lokasi cache yang tetap bagi sembarang blo-blok yang diketahui.
Dengan demikian, apabila suatu program berulang-ulang melakukan word referensi dari
dua blok yang berbeda memetakan saluran yang sama maka blok-blok itu secara terus-
menerus akan di-swap ke dalam cache sehingga hit rasionya akan rendah.
Dalam rancangan cache yang dipetakan langsung:
- menyimpan satu tag per baris dalam link tag-nya
- selama pengaksesan memori, cache menggunakan bit-bit tengah alamat
sebagai indeks ke larik tagnya
- tag dicocokkan dengan 16-bit teratas dari alamat memori yang diakses
- jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke processor.
Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan dari
memori utama.
- Hanya memerlukan satu kali pembandingan untuk setiap akses ke cache.
- Cocok untuk sistem komputer yang memerlukan frekuensi detak tinggi.
10
II. 5. 2. Pemetaan Asosiatif (Associative Mapping)
Pemetaan asosiatif mengatasi kekurangan pemetaan langsung dengan cara setiap
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
unik mengidentifikasi sebuah blok memori utama.
Mekanisme untuk mengetahui suatu blok dalam cache dengan memeriksa setiap
tag saluran cache oleh kontrol logika cache. Dengan pemetaan ini didapat
fleksibilitas dalam penggantian blok baru yang ditempatkan dalam cache. Algoritma
penggantian dirancang untuk memaksimalkan hit ratio, yang pada pemetaan
langsung terdapat kelemahan dalam bagian ini. Kekurangan pemetaan asosiatif
adalah kompleksitas rangkaian sehingga mahal secara ekonomi.
Dalam rancangan cache asosiatif:
- Suatu blok data dapat ditempatkan pada baris cache manapun.
- Alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi.
- Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi
membentuk tag untuk dicocokkan dengan rujukan.
- Cache asosiatif penuh harus punya mekanisme untuk menentukan ke
dalam baris mana blok ditempatkan.
- Blok dapat ditempatkan dalam baris manapun yang kosong. Bila semua
baris cache penuh harus ditentukan blok mana yang dikeluarkan dari
cache.
- Digunakan prinsip LRU (Least Recently Used) yakni blok yang paling lama
tidak dipakai dikeluarkan dari cache.
- Cukup mahal mengimplementasikannya
- Resiko: memperbanyak implementasi rangkaian hardware untuk
membandingkan tag terhadap semua baris cache.
11
II. 5. 3. Pemetaan Asosiatif Set (Set Associative Mapping)
Pemetaan asosiatif set menggabungkan kelebihan yang ada pada pemetaan
langsung dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set – set.
Pemetaan asosiatif set prinsipnya adalah penggabungan kedua pemetaan
sebelumnya. Alamat memori utama diinterpretasikan dalam tiga field, yaitu: field tag,
field set, dan field word. Hal ini mirip dalam pemetaan langsung. Setiap blok memori
utama dapat dimuat dalam sembarang saluran cache.
Dalam rancangan cache asosiatif set:
- Untuk memperkecil resiko pada cache asosiatif, sekaligus mengurangi
terjadinya konflik alamat, dirancang organisasi cache yang lain yakni
asosiatif set (asosiatif kelompok).
- Satu kelompok terdiri atas beberapa baris.
- Bit alamat bagian tengah menentukan kelompok beris di mana suatu blok
ditempatkan.
- Dalam setiap kelompok, cache dipetakan secara asosiatif.
- Memudahkan implementasi teknik LRU (Least Recently Used).
- Bit tengah dari alamat digunakan untuk memilih sekelompok baris (bukan
hanya satu baris seperti pada sistem pemetaan langsung).
- Tag alamat kemudian dicocokkan dengan tag seluruh baris cache yang
dipilih.
12
BAB III
PENUTUP
Kesimpulan
Cache sangat diperlukan untuk menunjang kinerja processor apabila cache tidak
berfungsi maka kinerja computer tidak akan maksimal.
Demikian yang bisa kami simpulkan. Semoga paper ini bisa bermanfaat bagi
semua pembaca. Apabila paper ini terdapat kekurangan maupun kesalahan
dalam penulisan maupun pembahasan kami mengucapkan mohon maaf.
13
DAFTAR PUSTAKA
http://id.wikipedia.org/wiki/Tembolok_%28komputer%29
http://google.co.id
14