chace memory

30
  

Upload: iman-budi-hutomo

Post on 18-Jul-2015

442 views

Category:

Documents


2 download

TRANSCRIPT

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 1/30

 

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 2/30

Cache Memory   2

Cache Memory

A.  Pengertian Memori

Memori adalah bagian dari komputer tempat program – program dan data –  

datadisimpan. Bebarapa pakar komputer (terutama dari Inggris) menggunakan

istilah store atau storage untuk memori, meskipun kata storage sering digunakan

untuk menunjuk ke penyimpanan disket. Tanpa sebuah memori sebagai tempat

untuk mendapatkan informasi guna dibaca dan ditulis oleh prosesor maka tidak 

akan ada komputer  –  komputer digital dengan sistem penyimpanan program.

Walaupun konsepnya sederhana, memori komputer memiliki aneka ragam jenis,

teknologi, organisasi, unjuk kerja dan harganya. Dalam bab ini akan dibahas

mengenai memori internal dan bab selanjutnya membahas memori eksternal.

Perlu dijelaskan sebelumnya perbedaan keduanya yang sebenarnya fungsinya

sama untuk penyimpanan program maupun data.  Memori internal adalah memori

yang dapat diakses langsung oleh prosesor. Sebenarnya terdapat beberapa macam

memori internal, yaitu register yang terdapat di dalam prosesor, cache memori dan

memori utama berada di luar prosesor. Sedangkan memori eksternal adalah

memori yang diakses prosesor melalui piranti I/O, seperti disket dan hardisk.

1.   Jenis Memori (Media Penyimpanan)

Memori merupakan media penyimpanan data pada komputer, yang mana

media penyimpanan data dalam computer dibagi menjadi 2 jenis yaitu :

a.   Memori Internal

Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori

internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam

memori utama dapat berupa data atau program. Secara lebih tinci, fungsi dari

memori utama adalah :

Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke

ALU (Arithmetic and Logic Unit) untuk diproses

o  Menyimpan daya hasil pemrosesan ALU senelum dikirimkan ke

peranti keluaran

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 3/30

Cache Memory   3

o  Menampung program/instruksi yang berasal dari peranti masukan atau

dari peranti pengingat sekunder

Memori biasa terbagi dibedakan menjadi dua macam: ROM dan Ram.

Selain itu, terdapat pula memori yang disebut cache memory.

b.   Memory Eksternal

Merupakan memori tambahan yang berfungsi untuk menyimpan data atau

program.Contoh: Hardisk, Floppy Disk dllHubungan antara Chace Memori,

Memori Utama dan Memori eksternal Berbagai Jenis Memori Eksternal :

1.  Berdasarkan Jenis Akses Data

Berdasarkan jenis aksesnya memori eksternal dikelompokkan menjadi dua

 jenis yaitu :

a. DASD (Direct Access Storage Device) di mana ia mempunyai akses

langsung terhadap data.

Contoh :

  Magnetik (floppy disk, hard disk).

  Removeable hard disk (Zip disk, Flash disk).

  Optical Disk.

b. SASD (Sequential Access Storage Device) : Akses data secara tidak 

langsung (berurutan), seperti pita magnetik.

2.  Berdasarkan Karakteristik Bahan 

Berdasarkan karakteristik bahan pembuatannya, memori eksternal

digolongkan menjadi beberapa kelompok sebagai berikut:

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.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 4/30

Cache Memory   4

c. Optical Disk 

Optical disk terbuat dari bahan-bahan optik, seperti dari resin

(polycarbonate) dan dilapisi permukaan 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.

Pada memori Internal computer terdapat suatu memori yaitu cache

memori. Berikut ini akan dijelaskan mengenai Cache Memory .

B.  Pengertian 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 1. di bawah ini

menunjukkan posisi cache memory yang diletakkan antara prosesor (CPU)

dengan main memory. Sedangkan gambar 2. memperlihatkan sistem interkoneksi

untuk cache memory.

Gambar 1. Gambar Posisi Cache Memory pada Sistem Memory.

Gambar 2. Gambar Sistem Interkoneksi yang terkait dengan Cache Memory.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 5/30

Cache Memory   5

Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat

menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut

cache  memory adalah tempat menympan data sementara. Cara ini dimaksudkan

untuk 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:

  Kapasitas relatif lebih kecil dari main memory, tetapi memiliki

kecepatan yang relativ lebih tinggi dibanding main memory; 

  Cache memory merupakan suatu memori buffer (salinan data) bagi

memori utama;

  Meskipun cache menggunakan informasi yang tersimpan dalam

memori utama, tetapi ia tidak berhadapan secara langsung dengan

memori utama;

  Word  yang disimpan didalam cache memory adalah word  yang

diambil dari main memory, yang dikerjakan sesuai perintah CPU. 

C. Fungsi Cache Memory

Cache memori difungsikan mempercepat kerja memori sehingga

mendekati kecepatan prosesor. Konsepnya dijelaskan pada gambar 3. dan gambar

4. Dalam organisasi komputer, memori utama lebih besar kapasitasnya namun

lambat operasinya, sedangkan cache memori berukuran kecil namun lebih cepat.

Cache memori berisi salinan memori utama.

Pada saat CPU membaca sebuah word memori, maka dilakukan

pemeriksaan untuk mengetahui apakah word tersebut berada dalam cache memori.

Bila ada dalam cache memori maka dilakukan pengiriman ke CPU, bila tidak 

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 6/30

Cache Memory   6

dijumpai maka dicari dalam memori utama, selanjutnya blok yang berisi sejumlah

word tersebut dikirim ke cache memori dan word yang diminta CPU dikirimkan

ke CPU dari cache memori. Karena fenomena lokalitas referensi, ketika blok data

diberikan ke dalam cache memori, terdapat kemungkinan bahwa word-word

berikutnya yang berada dalam satu blok akan diakses oleh CPU. Konsep ini yang

menjadikan kinerja memori lebih baik.

Gambar 3. Hubungan cache memori

Sehingga dapat disimpulkan bahwa kerja cache adalah antisipasi terhadap

permintaan data memori yang akan digunakan CPU. Apabila data diambil

langsung dari memori utama bahkan memori eksternal akan memakan waktu lama

yang menyebabkan status tunggu pada prosesor.

Ukuran cache memori adalah kecil, semakin besar kapasitasnya maka akan

memperlambat proses operasi cache memori itu sendiri, disamping harga cache

memori yang sangat mahal.

Gambar 4. Organisasi cache memori

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 7/30

Cache Memory   7

D.  Jenis Cache Memory

Cache memori berdasarkan tempat ada dua macam, yaitu

  Cache memori yang terdapat pada internal processor, cache

memory jenis ini kecepatan aksesnya sangat tinggi dan harganya

sangat mahal. Hal ini bisa terlihat pada processor yang berharga

mahal seperti P4, P3, AMD-Athlon, dll. Semakin tinggi kapasitas

L1,L2 cache memori maka semakin mahal dan semakin cepat

processor.

  Cache memori yang terdapat di luar processor, yaitu berada pada

motherboard, memori jenis ini kecepatan aksesnya sangat tinggi,

meskipun tidak secepat cache memori jenis pertama (yang ada

pada internal processor). Semakin besar kapasitasnya maka

semakin mahal dan cepat. Hal ini bisa kita lihat pada motherboard

dengan beraneka ragam kapasitas cache memori, yaitu 256 kb, 512

kb, 1 Mb, 2 Mb, dll.

Ada tiga jenis cache , yaitu:

1.  Cache level 1 (L1) , bagian dari chip mikroprosesor atau bagian internal

dari chip prosesor. Kapasitasnya berkisar antara 8 – 256 Kb.

2.  Cache level 2 (L2), bukan merupakan bagian dari chip mikroprosesor.

Cache ini sering tercantum di dalam iklan-iklan komputer. Cache level 2

(L2) terdiri dari chip-chip SRAM. Kapasitasnya berkisar antara 64 Kb s.d.

2 Mb.

3.  Cache level 3(L3), terletak pada mainboard atau motherboard atau

merupakan cache yang terpisah dari chip mikroprosesor. Cache jenis ini

biasanya hanya terdapat pada komputer-komputer yang sangat canggih.

Cache level 3(L3) sering diistilahkan L2 Advanced transfer cache.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 8/30

Cache Memory   8

Chace sebagai perantara antara CPU dengan memori. Ada 2 jenis chace, yaitu:

a.  Software chace (caching disk controller); akan mempercepat akses

data pada disk dengan menyimpan data yang baru saja digunakan

dalam memori.

b.  Hardware chace (on−the−board chace); akan mempercepat akses

memori itu sendiri dapat menyimpan data yang baru saja digunakan

dalam memori.

Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri

cache terdiri dari 2 yaitu

a.  Memori Cache

merupakan SRAM berkecepatan tinggi

data yang disimpan merupakan kopi dari data memori utama yang terpilih

pada saat itu atau data yang baru disimpan yang belum berada didalam

memori.

b.  Address Tag (Tag Alamat)

Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa

informasi valid.

E.  Cara Kerja Cache Memory

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 dalamdunia komputer adalah

memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 9/30

Cache Memory   9

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.

Cara kerja Cache adalah :

  Ketika CPU mengakses memori maka system penyimpanan akan

mengirim alamat fisik cache

  Membandingkan alamat fisik tersebut dengan semua tag alamat untuk 

mengetahui apakah ia menyimpan kopi dari sebuah data.

  Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses

memori ke word yang telah ada didalam memori cache tersebut secara

cepat megembalikan item data yang diminta.

  Cache MISS adalah situasi yang terjadi ketika peralatan meminta

akses ke data yang tidak berada dalam cache, cache akan menjemput

item tersebut dari memori, dimana hal ini mebutuhkan waktu yang

lebih lama dari cache hit.

  Jika cache tidak menyimpan data, maka akan terjadi cache miss dan

cache akan menyampaikan alamat ke system memori utama untuk 

membaca.

  Jika data yang dating dari memori utama, maka CPU atau cache akan

menyimpan kopinya dengan diberi tag alamat yang tepat

Ada 2 sebab mengapa cache bekerja dengan baik :

• Cache beroperasi secara paralel dengan CPU 

Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan

mengganggu kinerja CPU.

• Prinsip Lokalitas Referensi 

CPU akan meminta data baru

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 10/30

Cache Memory   10

Setiap cache mempunyai dua sub system yaitu :

• Tag Subsystem 

Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang

diminta.

• Memory subsistem 

Menyimpan dan mengantarkan data.

F.  Letak Cache Memory

L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah

menyatu dengan chip prosesor (berada di dalam keping prosesor). Sedangkan

letak L2 cache, ada yang menyatu dengan chip prosesor, ada pula yang terletak di

luar chip prosesor, yaitu di motherboard dekat dengan posisi dudukan prosesor.

Pada era prosesor intel 80486 atau sebelumnya, letak L2 cache kebanyakan berada

di luar chip prosesor. Chip cache terpisah dari prosesor, berdiri mandiri dekat chip

prosesor. Sejak era prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi

dengan chip prosesor (menyatu dengan keping prosesor). Posisi L2 cache selalu

terletak antara L1 cache dengan memori utama (RAM). Sedangkan L3 cache

belum diimplementasikan secara umum pada semua jenis prosesor. Hanya

prosesor-prosesor tertentu yang memiliki L3 cache. Cache memory yang letaknya

terpisah dengan prosesor disebut cache memory   non integrated atau  diskrit

(diskrit artinya putus atau terpisah). Cache memory yang letaknya menyatu

dengan prosesor disebut cache memory integrated ,  on-chip, atau  on-die 

(integrated  artinya   bersatu/menyatu/ tergabung,  on-chip artinya   ada pada

 chip).L1 cache ( Level 1 cache) disebut pula dengan istilah  primary cache, first

 cache, atau level one cache. L2 cache disebut dengan istilah   secondary cache,

 second level cache, atau level two cache.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 11/30

Cache Memory   11

Gambar 5. Letak Memori

G.  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).

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 12/30

Cache Memory   12

H.  Prioritas Penyimpanan dan Pengambilan Data 

Dalam mekanisme kerjanya, data yang akan diproses oleh prosesor,

pertama kali dicari di L1 cache, bila tidak ada maka akan diambil dari L2 cache,

kemudian dicari di L3 cache (bila ada). Jika tetap tidak ada, maka akan dicari di

memori utama. Pengambilan data di L2 cache hanya dilakukan bila di L1 cahe

tidak ada.

Lebih jelasnya proses baca tulis data yang dilakukan oleh prosesor ke

memori utama dapat dijelaskan sebagai berikut:

Ketika data dibaca/ditulis di memori utama (RAM) oleh prosesor,

salinan data beserta address-nya (yang diambil/ditulis di memori

utama) disimpan juga di cache. Sewaktu prosesor memerlukan

kembali data tersebut, prosesor akan mencari ke cache, tidak perlu

lagi mencari di memori utama.

Jika isi cache penuh, data yang paling lama akan dibuang dan

digantikan oleh data yang baru diproses oleh prosesor. Proses ini

dapat menghemat waktu dalam proses mengakses data yang sama,

dibandingkan jika prosesor berulang-ulang harus mencari data ke

memori utama.

Secara logika, kapasitas cache memory yang lebih besar dapat membantu

memperbaiki kinerja prosesor, setidak-tidaknya mempersingkat waktu yang

diperlukan dalam proses mengakses data.

I.  Hierarki Cache di Prosesor Modern

 a.  Specialized caches 

Pipelined CPU mengakses memori dari beberapa poin dalam pipa:

instruksi menjemput, virtual-ke-terjemahan alamat fisik, dan data fetch (lihat

klasik RISC pipa). Desain alami adalah dengan menggunakan cache fisik yang

berbeda untuk masing-masing titik-titik ini, sehingga tidak ada satu sumber daya

fisik harus dijadwalkan untuk melayani dua titik dalam jaringan pipa. Dengan

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 13/30

Cache Memory   13

demikian, secara alami pipa berakhir dengan setidaknya tiga cache terpisah

(instruksi, BIS, dan data), masing-masing khusus terhadap peran tertentu.

Pipa dengan instruksi dan data terpisah cache, sekarang dominan, yang

dikatakan memiliki arsitektur Harvard. Awalnya, frase ini disebut mesin dengan

instruksi dan data yang terpisah kenangan, yang terbukti sama sekali tidak 

populer. CPU modern memiliki satu-memori arsitektur von Neumann.

 b. Victim cache 

Korban Cache adalah cache digunakan untuk menyimpan blok diusir dari

cache pada CPU penggantian. Cache korban terletak di antara cache utama dan

 jalan isi ulang, dan hanya memegang blok yang diusir dari cache utama. Cache

korban biasanya sepenuhnya asosiatif, dan dimaksudkan untuk mengurangi

 jumlah konflik meleset. Banyak program yang biasa digunakan tidak memerlukan

pemetaan asosiatif untuk semua akses. Pada kenyataannya, hanya sebagian kecil

dari mengakses memori dari program memerlukan associativity tinggi. Cache

korban eksploitasi properti ini dengan menyediakan associativity tinggi hanya

akses ini. Ini diperkenalkan oleh Norman Jouppi pada tahun 1990.

 c.  Trace cache 

Salah satu contoh yang lebih ekstrem spesialisasi Trace cache adalah yang

ditemukan dalam mikroprosesor Intel Pentium 4. Sebuah trace Cache adalah

mekanisme untuk mengambil instruksi meningkatkan bandwidth dan mengurangi

konsumsi daya (dalam kasus Pentium 4) dengan menyimpan jejak-jejak instruksi

yang sudah diambil dan diterjemahkan.

Diakui secara luas yang paling awal publikasi akademik trace cache oleh Eric

Rotenberg, Steve Bennett, dan Jim Smith pada tahun 1996 mereka kertas “Trace

Cache: Pendekatan Latency Rendah ke Tinggi Mengambil Instruksi Bandwidth.” 

Sebuah Penyimpanan Trace cache instruksi baik setelah mereka telah

diterjemahkan, atau karena mereka pensiun. Secara umum, instruksi yang

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 14/30

Cache Memory   14

ditambahkan untuk melacak cache dalam kelompok-kelompok yang mewakili

blok dasar baik perorangan atau dinamis jejak instruksi. Blok dasar terdiri dari

kelompok non-instruksi cabang yang berakhir dengan sebuah cabang. A dinamis

trace ( “trace path”) hanya berisi instruksi yang hasilnya benar -benar digunakan,

dan menghilangkan instruksi yang diambil berikut cabang (karena mereka tidak 

dijalankan); jejak yang dinamis bisa menjadi dasar Rangkaian dari beberapa blok.

Hal ini memungkinkan unit fetch instruksi prosesor untuk mengambil beberapa

dasar blok, tanpa harus khawatir tentang cabang di aliran eksekusi.

 d.   Multi-level caches 

Masalah lainnya adalah fundamental cache tradeoff antara tingkat latensi

dan memukul. Cache lebih besar lebih baik tingkat terkena tapi lagi latency.

Untuk mengatasi tradeoff ini, banyak komputer yang menggunakan beberapa

tingkat cache, dengan cache cepat kecil didukung oleh lebih lambat cache.

Multi-level cache umumnya beroperasi dengan memeriksa terkecil Level 1

(L1) cache pertama; jika hit, prosesor berlangsung dengan kecepatan tinggi. Jika

cache misses yang lebih kecil, lebih besar berikutnya cache (L2) dicentang, dan

seterusnya, sebelum memori eksternal dicentang.

Sebagai perbedaan latency antara memori utama dan cache tercepat telah

menjadi lebih besar, beberapa prosesor telah mulai memanfaatkan sebanyak tiga

tingkat on-chip cache. Misalnya, Alpha 21164 (1995) memiliki 96 KB on-die

cache L3; IBM Power4 (2001) memiliki 256 MB L3 cache off-chip, dibagi di

antara beberapa prosesor; Itanium 2 (2003) memiliki 6 MB terpadu tingkat 3 (L3)

cache on-die; Intel Xeon MP kode produk bernama “Tulsa” (2006) fitur 16 MB

on-die cache L3 dibagi antara dua prosesor cores; AMD Phenom II (2008)

memiliki hingga 6 MB on-die unified L3 cache; dan Intel Core i7 (2008)

mempunyai 8 MB on-die unified L3 cache yang inklusif, bersama-sama oleh

semua core. Manfaat dari suatu L3 cache tergantung pada pola akses aplikasi.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 15/30

Cache Memory   15

J.  Elemen Rancangan

Walaupun terdapat banyak implementasi cache, namun dari sisi organisasi

maupun arsitekturnya tidak banyak macamnya.

Tabel 1. Unsur  – unsur rancangan cache memori

K.  Level Cache Memory

Hingga saat ini, cache memory terbagi atas tiga level yaitu L1, L2 dan L3.

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. 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.

Sedangkan 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. Level 2 atau L2 cache merupakan bagian dari strategi penyimpanan

multi level untuk meningkatkan performa komputer. Terdapat tiga level cache

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 16/30

Cache Memory   16

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.

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 6. Gambar Contoh Level Cache pada Processor.

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,

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 17/30

Cache Memory   17

processor mendapatkan sebuah cache miss, dan data perlu ditarik dari RAM yang

lebih lambat atau hard disk yang juga lebih lambat.

L.  Kapasitas Cache

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. Kita bisa melihat beberapa merek prosesor

di pasaran beberapa waktu lalu. AMD mengeluarkan prosesor K5 dan K6 dengan

cache memory yang besar (1MB) tetapi kinerjanya tidak bagus. Kemudian Intel

pernah mengeluarkan prosesor tanpa cache  memory 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 memory sekitar 128KB. Lalu berapa idealnya

kapasitas cache memory? Sejumlah penelitian telah menganjurkan bahwa ukuran

cache antara 1KB dan 512KB akan lebih optimum.

M.  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 disekitarreferensi. 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.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 18/30

Cache Memory   18

2.  Dengan meningkatnya ukuran blok maka jarak setiap word 

tambahan menjadilebih 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.

N.  Pemetaan

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.

1.  Direct Mapping

  Setiap blok pada main memory dipetakan dengan line tertentu pada

cache.

i = j modulo C 

di mana i adalah nomor line pada cache yang digunaka untuk 

meletakkan blok main memory ke-j.

  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, ...

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 19/30

Cache Memory   19

  Pada cara ini, address pada main memory dibagi 3  field  atau

bagian, yaitu:

o  Tag identifier.

o  Line number identifier

o  Word identifier (offset)

Pada gambar 3.1. tampak skema organisasi cache secara  Direct 

 Mapping.

  Word identifier  berisi informasi tentang lokasi word atau unit

addressable lainnya dalam line tertentu pada cache. 

   Line identifier berisi informasi tentang nomor fisik (bukan logika)

line pada cache.

  Tag identifier disimpan pada cache bersama dengan blok pada line.

o  Untuk setiap alamat memory yang dibuat oleh CPU, line

tertentu yang menyimpan copy alamat tsb ditentukan, jika

blok tempat lokasi data tersebut sudah dikopi dari main

memory ke cache.

o  Tag yang ada pada line akan dicek untuk melihat apakah

benar blok yang dimaksud ada pada line tsb 

Gambar 7. Gambar Organisasi Direct Mapping.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 20/30

Cache Memory   20

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,

sehingga hit ratio mengecil.  Hit ratio adalah perbandingan antara jumlah

ditemukannya data pada cache dengan jumlah usaha mengakses cache.

Gambar 8. Gambar Contoh Pengalamatan Direct Mapping.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 21/30

Cache Memory   21

Ringkasan direct mapping nampak pada tabel berikut:

Tabel 2. Tabel Direct Mapping

2.  Associative Mapping

  Memungkinkan blok diletakkan di sebarang line yang sedang tidak 

terpakai.

  Diharapkan akan mengatasi kelemahan utama Direct Mapping.

  Harus menguji setiap cache untuk menemukan blok yang diinginkan.

o Mengecek setiap tag pada line

o Sangat lambat untuk cache berukuran besar.

  Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2

field saja, yaitu tag dan word offset .

Gambar 9. Gambar Organisasi Associative Mapping.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 22/30

Cache Memory   22

  Melakukan pencarian ke semua tag untuk menemukan blok.

  Cache dibagi menjadi 2 bagian :

o lines dalam SRAM

o tag dalam associative memory

Gambar 10. Gambar Contoh Pengalamatan Associative Mapping. 

  Keuntungan Associative Mapping: cepat dan fleksibel.

  Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte

dibutuhkan 1024 x 17 bit associative memory untuk menyimpan tag

identifier . Ringkasan associative mapping nampak pada tabel berikut:

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 23/30

Cache Memory   23

Tabel 3. Tabel Associative Mapping

3.  Set Associative Mapping

 Merupakan kompromi antara Direct dengan Full Associative Mapping.

  Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki

sejumlah line (k)

  Setiap blok dapat diletakkan di sebarang line dengan nomor set:

 nomor set = j modulo v

Gambar 11. Gambar Organisasi K-Way Set Associative Mapping.

  Jika sebuah set dapat menampung X line, maka cache disebut memiliki

Xway set associative cache. 

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 24/30

Cache Memory   24

  Hampir semua cache yang digunakan saat ini menggunakan organisasi 2

atau 4-way set associative mapping.

Gambar 12. Gambar Contoh Pengalamatan 2-Way Associative Mapping.

Keuntungan menggunakan Set Associative Mapping antara lain:

  Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor

line (dapat menggunakan line yang kosong), sehingga thrashing dapat

diperkecil

  Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur

untuk melakukan perbandingan tag lebih sederhana.

Ringkasan set associative mapping nampak pada tabel berikut:

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 25/30

Cache Memory   25

Tabel 4. Tabel Set Associative Mapping

O.  Algoritma Penggantian

Yang dimaksud algoritma penggantian adalah suatu mekanisme pergantian

blokblok dalam cache memory 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 memory.

Banyak algoritma penggantian yang telah dikembangkan. Algoritma yang

paling efektif adalah Least Recently Used (LRU), yaitu mengganti blok data yang

terlama berada dalam cache memory dan tidak memiliki referensi. Algoritma

lainnya adalah First In First Out  (FIFO), yaitu mengganti blok data yang awal

masuk. Kemudian Least Frequently Used (LFU) adalah mengganti blok data yang

mempunyai referensi paling sedikit. Teknik lain adalah algoritma  Random, yaitu

penggantian tidak berdasakan pemakaian datanya, melainkan berdasarkan slot dari

beberapa slot kandidat secara acak.

P.  Write Policy

Apabila suatu data telah diletakkan pada cache memory 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 komplek, apalagi memori utama dapat diakses langsung oleh

modul I/O, yang memungkinkan data pada memori utama berubah, lalu

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 26/30

Cache Memory   26

bagaimana dengan data yang telah dikirim pada cache? Tentunya perbedaan ini

menjadikan data tidak valid.

Teknik yang dikenalkan diantaranya, write through, yaitu operasi

penulisan melibatkan data pada memori utama dan sekaligus pada cache memory

sehingga data selalu valid. Kekurangan teknik ini adalah menjadikan lalu lintas

data ke memori utama dan cache memory sangat tinggi sehingga mengurangi

kinerja sistem, bahkan bisa terjadi hang. Teknik lainnya adalah write back , yaitu

teknik meminimasi penulisan dengan cara penulisan pada cache memory saja.

Pada saat akan terjadi penggantian blok data cache memory maka baru diadakan

penulisan pada memori utama. Masalah yang timbul adalah manakala data di

memori utama belum diupdate telah diakses modul I/O sehingga data di memori

utama tidak valid.

Penggunaan multi cache terutama untuk multiprocessor  adan menjumpai

masalah yang lebih komplek. Masalah validasi data tidak hanya antara cache

memory dan memori utama saja, namun antar cache memory   juga harus

diperhatikan. Pendekatan penyelesaian masalah yang dapat dilakukan adalah

dengan :

   Bus Watching with Write Through, yaitu setiap cache controller akan

memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila

ada operasi tulis di alamat yang datanya digunakan bersama maka cache

controller akan menginvalidasi data cache-nya.

   Hardware Transparency, yaitu adanya perangkat keras tambahan yang

menjamin semua updating data memori utama melalui cache direfleksikan

pada seluruh cache yang ada.

  Non Cacheable Memory, yaitu hanya bagian memori utama tertentu yangdigunakan secara bersama. Apabila ada mengaksesan data yang tidak di

share merupakan kegagalan cache.

Q.  Miss Cache

Saat miss menulis, anda bisa punya pilihan antara membawa blok ke cache

(writeallocate) atau tidak (write-no-allocate). Saat miss membaca, anda selalu

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 27/30

Cache Memory   27

membawa blok ke cache (lokalitas spasial atau temporal) - blok mana yang

diganti:

  tidak ada pilihan untuk direct-mapped cache

  memilih secara acak way yang akan diganti

  mengganti way yang paling jarang dipakai (LRU)

  penggantian FIFO (round-robin)

Tipe miss cache adalah sebagai berikut:

   Miss wajib: terjadi saat pertama kali word memori diakses. Merupakan

miss untuk cache yang infinit. 

   Miss kapasitas: terjadi karena program menyentuh banyak word yang lain

sebelum menyentuh ulang word yang sama. Merupakan miss untuk cache

 fullyassociative.

   Miss konflik: terjadi karena dua work  dipetakan ke lokasi yg sama di

cache. Merupakan miss yang terjadi ketika berganti dari cache fully-

associative ke direct -mapped .

R.  Jumlah Cache

Terdapat dua macam letak cache. Berada dalam keping prosesor yang

disebut on chip cache atau cache internal. Kemudian berada di luar chip prosesor

yang disebut off chip cache atau cache eksternal. Cache internal diletakkan dalam

prosesor sehingga tidak memerlukan bus eksternal,  akibatnya waktu aksesnya

akan cepat sekali, apalagi panjang lintasan internal bus prosesor sangat   pendek 

untuk mengakses cache internal. Cache internal selanjutnya disebut cache tingkat 

1 (L1). 

Cache eksternal berada diluar keping chip prosesor yang diakses melalui

bus eksternal. Pertanyaannya, apakah masih diperlukan cache eksternal apabila

telah ada cache internal? Dari 49 pengalaman, masih diperlukan untuk 

mengantisipasi permintaan akses alamat yang belum tercakup dalam cache

internal. Cache eksternal selanjutnya disebut cache tingkat 2 (L2).

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 28/30

Cache Memory   28

Selanjutnya terdapat perkembangan untuk memisah cache data dan cache

instruksi yang disebut unified cache. Keuntungan unified cache adalah :

o  Unified cache memiliki hit rate yang tinggi karena telah dibedakan

antara informasi

o  data dan informasi instruksi.

o  Hanya sebuah cache saja yang perlu dirancang dan

diimplementasikan.

Namun terdapat kecenderungan untuk menggunakan split cache, terutama

pada mesin – mesin superscalar seperti Pentium dan PowerPC yang menekankan

pada paralel proses dan perkiraan  –  perkiraan eksekusi yang akan terjadi.

Kelebihan utama split cache adalah mengurangi persaingan antara prosesor

instruksi dan unit eksekusi untuk mendapatkan cache, yang mana hal ini sangat

utama bagi perancangan prosesor – prosesor pipelining.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 29/30

Cache Memory   29

KESIMPULAN

Cache memory adalah memori yang sangat cepat yang dibangun dalam

sebuah central processing unit komputer (CPU), atau ditempatkan dalam chip

yang terpisah. Fungsi memori cache untuk menyimpan instruksi yang berulang

kali diperlukan dan dapat diakses sangat cepat untuk menjalankan program,

memperbaiki sistem secara keseluruhan. Keuntungan dari memori cache adalah

bahwa CPU tidak harus menggunakan sistem bus motherboard untuk mentransfer

data. Setiap kali data harus melewati bus sistem, kecepatan transfer data

memperlambat kemampuan motherboard. CPU dapat memproses data lebih cepat

dengan menghindari hambatan yang diciptakan oleh sistem bus. Setelah sebagian

besar program terbuka dan berjalan, mereka menggunakan sumber daya yang

sangat sedikit. Ketika sumber daya ini disimpan dalam cache, program dapat

beroperasi lebih cepat dan efisien. Cache dalam sistem komputer yang

menjalankan CPU dengan cache kecil bisa memiliki benchmark yang lebih

rendah. Cache yang dibangun ke dalam CPU itu sendiri disebut sebagai Level 1

(L1) cache. Cache yang berada dalam sebuah chip yang terpisah di sebelah CPU

disebut Level 2 (L2) cache. Beberapa CPU memiliki keduanya, L1 cache dan L2

built-in dan menugaskan chip terpisah sebagai cache Level 3 (L3) cache.

Cache yang dibangun dalam CPU lebih cepat dari cache yang terpisah.

Namun, cache terpisah masih sekitar dua kali lebih cepat dari Random Access

Memory (RAM). Cache lebih mahal daripada RAM tetapi motherboard dengan

built-in cache sangat baik untuk memaksimalkan kinerja sistem. Disk caching

menerapkan prinsip yang sama pada hard disk cache memori yang juga berlaku

untuk CPU. Data hard yang sering diakses disk disimpan dalam segmen terpisahRAM untuk menghindari harus mengambilnya dari hard disk berulang-ulang.

Dalam hal ini, RAM lebih cepat daripada teknologi piringan CD yang digunakan

dalam hard disk konvensional. Situasi ini akan berubah bagaimanapun, sebab hard

disk hybrid sudah ada dimana-mana. Disk ini memiliki built-in flash memori

cache. Hard drive akan 100% mirip flash drive, menghilangkan kebutuhan untuk 

RAM disk caching, sebagai flash memory yang lebih cepat dari RAM.

5/14/2018 Chace Memory - slidepdf.com

http://slidepdf.com/reader/full/chace-memory 30/30

Cache Memory   30

DAFTAR RUJUKAN

Agus ,2010. Penjelasan tentang cache memoryhttp://agussale.com/penjelasan-tentang-cache-memory

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Yustina,2017. Apakah cache memori itu

http://wss-//id.net/blogs/yustina_yuliani_sby/archive/2007/09/24/apakah-

cache-memori-itu.aspx

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Bayu,2011. Cache Memory

http://blog.um.ac.id/bayuaji/2011/12/11/cache-memori/ 

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Wikipedia,2012. CPU Cache 

http://en.wikipedia.org/wiki/CPU_cache

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Fajar,2011. Cache Memory

http://fajar-one.blogspot.com/2011/05/cache-memori.html

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Sugeng ,2010. Cara Kerja Dioda-Dioda Zenner dan Led http://sugengriadi87.blogspot.com/2010/10/cara-kerja-dioda-dioda-zenner-

dan-led, 

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB

Fetyayu,2011. Cache Memory

http://blog.um.ac.id/fetyayu/2011/12/08/cache-memory/ 

diakses pada tanggal 4 Maret 2012 pukul 07.00 WIB