cache memory

30
Nama : David Eka Kristianto NIM : 130533608210 OFF : PTI C’13 Pengertian Cache Cache adalah suatu tempat untuk menyimpan sesuatu secara sementara, mekanisme untuk mempercepat transfer data dengan cara menyimpan data yang telah di akses di suatu buffer, dengan harapan jika data yang sama akan diakses, akses akan menjadi lebih cepat. 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. Dalam ilmu komputer , cache adalah komponen yang meningkatkan kinerja dengan transparan menyimpan data seperti bahwa masa depan bahwa data permintaan dapat dilayani lebih cepat. Data yang disimpan dalam cache merupakan nilai-nilai yang telah dihitung sebelumnya atau duplikat dari nilai aslinya yang disimpan di tempat lain. Jika diminta Untuk biaya yang efisien dan untuk mengaktifkan lookup data yang efisien, cache terbilang kecil. Namun demikian, cache telah terbukti sangat efektif dalam berbagai bidang komputasi karena akses pola khas aplikasi komputer memiliki wilayah referensi . Referensi menunjukkan lokalitas temporal jika data diminta lagi yang telah baru-baru ini sudah diminta. Referensi menunjukkan lokalitas spasial jika data yang diminta secara fisik disimpan dekat dengan data yang telah diminta. Dalam terminology 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. Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network). Dalam terminologi TI, cache adalah suatu simpanan salinan data sementara, tempat menyimpan nilai yang terbaru atau tersering diakses agar data tersebut dapat lebih cepat diambil. Jika suatu data telah tersimpan di cache, data dapat dibaca dari sana dan tidak perlu diambil langsung dari medium penyimpanan aslinya, yang biasanya lebih lambat kecepatannya.

Upload: david-eka

Post on 18-Jan-2016

90 views

Category:

Documents


6 download

DESCRIPTION

Cache Memory- Pengertian- Fungsi- Spesifikasi- Struktur- Cara kerja- contoh Gambar

TRANSCRIPT

Page 1: Cache Memory

Nama : David Eka Kristianto

NIM : 130533608210

OFF : PTI C’13

Pengertian Cache

Cache adalah suatu tempat untuk menyimpan sesuatu secara sementara, mekanisme untuk mempercepat transfer data dengan cara menyimpan data yang telah di akses di suatu buffer, dengan harapan jika data yang sama akan diakses, akses akan menjadi lebih cepat. 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.

Dalam ilmu komputer , cache adalah komponen yang meningkatkan kinerja dengan transparan menyimpan data seperti bahwa masa depan bahwa data permintaan dapat dilayani lebih cepat. Data yang disimpan dalam cache merupakan nilai-nilai yang telah dihitung sebelumnya atau duplikat dari nilai aslinya yang disimpan di tempat lain. Jika diminta Untuk biaya yang efisien dan untuk mengaktifkan lookup data yang efisien, cache terbilang kecil. Namun demikian, cache telah terbukti sangat efektif dalam berbagai bidang komputasi karena akses pola khas aplikasi komputer memiliki wilayah referensi . Referensi menunjukkan lokalitas temporal jika data diminta lagi yang telah baru-baru ini sudah diminta. Referensi menunjukkan lokalitas spasial jika data yang diminta secara fisik disimpan dekat dengan data yang telah diminta.

Dalam terminology 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. Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network).

Dalam terminologi TI, cache adalah suatu simpanan salinan data sementara, tempat menyimpan nilai yang terbaru atau tersering diakses agar data tersebut dapat lebih cepat diambil. Jika suatu data telah tersimpan di cache, data dapat dibaca dari sana dan tidak perlu diambil langsung dari medium penyimpanan aslinya, yang biasanya lebih lambat kecepatannya.

Page 2: Cache Memory

Penggunaan kata ini dalam TI dimulai pada tahun 1967 sewaktu redaktur IBM Systems Journal, Lyle R. Johnson, mengusulkannya kata ini sebagai istilah yang lebih deskriptif daripada high-speed buffer untuk menjelaskan pengembangan memori komputer pada Model 85, varian dari keluarga produk IBM System/360. Jurnal yang mengandung istilah ini diterbitkan pada tahun 1968 dan sejak itu istilah cache digunakan secara luas dengan maknanya yang sekarang dalam literatur komputer.

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

1. Software chace (caching disk controller); akan mempercepat akses data pada disk dengan menyimpan data yang baru saja digunakan dalam memori.

2. Hardware chace (on−the−board chace); akan mempercepat akses memori itu sendiri dengan menyimpan data yang baru saja digunakan dalam memori.

Struktur Sistem Cache

Memori utama terdiri dari sampai dengan 2n word beralamat, dengan masing-masing word mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya. Dengan demikian, ada M = 2n/K blok. Cache terdiri dari C buah baris yang masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit dibandingkan dengan banyaknya blok memori utama (C << M). Di setiap saat, beberapa subset blok memori berada pada baris dalam cache. jika sebuah word di dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. karena terdapat lebih banyak blok bila dibanding dengan baris, maka setiap baris tidak dapat menjadi unik dan permanen untuk dipersempahkan ke blok tertentu mana yang disimpan. Tag biasanya merupakan bagian dari alamat memori utama.

Memori berkapasitas terbatas, memori ini berkecepatan tinggi dan lebih mahal dibandingkan memory utama. Berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem.

Cache telah terbukti sangat efektif dalam berbagai bidang komputasi karena akses pola khas aplikasi komputer memiliki wilayah referensi . Referensi menunjukkan lokalitas temporal jika data diminta lagi yang telah baru-baru ini diminta sudah. Referensi menunjukkan lokalitas spasial jika data yang diminta secara fisik disimpan dekat dengan data yang telah diminta sudah.

Cache terdiri dari kolam entri. Setiap entri memiliki datum (sebuah nugget data) – salinan dari datum yang sama di beberapa backing store. Setiap entri juga memiliki tag, yang menentukan identitas dari datum di backing store yang masuk adalah salinan.

Page 3: Cache Memory

Elemen Rancangan Cache

Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.

Fungsi Pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Pemetaan asosiatif dapat mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache.Hal ini menurut artikel dari Yulisdin Mukhlis, ST., MT

Algoritma Penggantian, terdiri dari Least Recently Used (LRU), First in First Out (FIFO), Least Frequently Used (LFU), Acak. Algoritma penggantian digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode algoritma penggantian yaitu Write-through dan Write-back.Write-through adalah Cache dan memori utama diupdate secara bersamaan waktunya. Sedangkan Write-back melakukan update data di memori utama hanya pada saat word memori telah dimodifikasi dari cache.

Ukuran blok, blok-blok yang berukuran Iebih besar mengurangi jumlah blok yang menempati cache. Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan menyebabkan data menjadi tertindih setelah blok itu diambil. Dengan meningkatnya ukuran blok, maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta,sehingga menjadi lebih kecil kemungkinannya untuk di perlukan dalam waktu dekat.(Dikutip dari artilek milik Yulisdin “Mukhlis, ST., MT”)

Line size, Jumlah cache, Satu atau dua dua tingkat, kesatuan atau terpisah

Operasi Cache

Ketika klien cache (CPU, web browser, sistem operasi ) perlu mengakses datum dianggap ada di backing store, ia akan mengecek cache pertama. Jika sebuah entri dapat ditemukan dengan tag

Page 4: Cache Memory

yang cocok dengan yang diinginkan dari datum, datum dalam entri digunakan sebagai gantinya. Situasi ini dikenal sebagai cache hit. Jadi, misalnya, sebuah program web browser akan mengecek cache lokal pada disk untuk melihat apakah ia memiliki salinan lokal dari isi halaman web pada URL tertentu. Dalam contoh ini, URL tag, dan isi dari halaman web datum tersebut. Persentase akses yang menghasilkan hits cache dikenal sebagai hit rate atau rasio hit cache.

Situasi alternatif, ketika cache dikonsultasikan dan ditemukan tidak berisi datum dengan tag yang diinginkan, telah menjadi dikenal sebagai cache miss. Pembatas uncached sebelumnya diambil dari toko dukungan selama penanganan lewatkan biasanya disalin ke dalam cache, siap untuk akses berikutnya.

Selama cache miss, CPU biasanya menyemburkan beberapa entri lain untuk membuat ruang untuk pembatas uncached sebelumnya. Theheuristik digunakan untuk memilih entri untuk mengeluarkan dikenal sebagai pengganti kebijakan . Satu kebijakan populer pengganti, “Least Recently Used” (LRU), menggantikan entri paling terakhir digunakan. Cache lebih efisien menghitung frekuensi penggunaan terhadap ukuran isi yang tersimpan, serta latency dan throughputs baik untuk cache dan backing store. Sementara ini bekerja dengan baik untuk sejumlah besar data, latency panjang dan throughputs lambat, seperti yang dialami dengan hard drive dan Internet, tidak efisien untuk digunakan dengan cache CPU.

Ketika sebuah sistem datum menulis ke cache, harus pada titik tertentu menulis datum yang ke toko dukungan juga. Waktu menulis ini dikendalikan oleh apa yang dikenal sebagai kebijakan menulis.

Dalam write-through cache, setiap menulis ke cache menyebabkan menulis sinkron ke toko dukungan.

Atau, di write-back cache, menulis tidak segera mencerminkan ke store. Sebaliknya, cache menandai lokasi yang telah ditulis di atas dan tanda lokasi-lokasi sebagai kotor. Data di lokasi tersebut ditulis kembali ke backing store ketika data mereka diusir dari cache, berpengaruh disebut sebagai lazy write. Untuk alasan ini, sebuah kesalahan pembacaan di-write-back cache sering memerlukan 2 akses memori untuk layanan: satu untuk mengambil datum yang diperlukan, dan satu untuk menulis data diganti dari cache untuk store.

Kebijakan lain juga dapat memicu write-back data. Klien dapat membuat banyak perubahan ke datum dalam cache, dan kemudian secara eksplisit memberitahu cache untuk menulis kembali datum tersebut.

Entitas selain cache dapat mengubah data di backing star, dalam hal salin dalam cache bisa menjadi basi. Atau, ketika klien meng-update data di cache, salinan data di cache lain akan menjadi

Page 5: Cache Memory

basi. Protokol komunikasi antara manajer cache yang menyimpan data yang konsisten dikenal sebagai protokol koherensi .

Aplikasi Cache

CPU Cache adalah cache yang digunakan oleh unit pengolahan sentral dari sebuah komputer untuk mengurangi waktu rata-rata untuk mengakses memori . Cache-nya lebih kecil, memory yang lebih cepat yang menyimpan salinan data dari yang paling sering digunakan di memori utama. Selama mengakses memori cache, rata-rata latensi dari akses memori akan lebih dekat dengan latency cache daripada latency dari memori utama.

Cache Halaman atau Disk Cache , adalah sebuah “transparan” penyangga yang didukung halaman disk disimpan di memori utama (RAM) oleh sistem operasi untuk akses cepat. Halaman cache biasanya diimplementasikan dalam kernel dengan paging manajemen memori, dan benar-benar transparan untuk aplikasi. Semua memori tidak langsung dialokasikan ke aplikasi yang biasanya digunakan untuk cache halaman. Hard disk membaca dalam kecepatan rendah dan akses acak memerlukan biaya mahal

Page 6: Cache Memory

dibandingkan dengan memori utama (ini adalah mengapa upgrade RAM biasanya menghasilkan perbaikan signifikan dalam ‘kecepatan komputer dan responsif). Caching disk terpisah disediakan di sisi perangkat keras, oleh RAM atau NVRAM chip berdedikasi yang terletak baik dalam disk controller (di dalam hard disk drive; tepat disebut disk buffer ) atau dalam sebuah array disk controller . Memori seperti ini sebaiknya tidak keliru dengan cache halaman.

Web cache adalah cache dari dokumen web (misalnya, halaman HTML , gambar ) untuk mengurangi pemakaian bandwidth, server load, dan lag . Sebuah web cache menyimpan salinan dokumen melewati itu; kunjungan berikutnya mungkin puas dari cache jika kondisi tertentu terpenuhi.

Pengertian Cache Memory

Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya. Cache memory ini ada diantara Main Memory dan Register pemroses, berfungsi agar pemroses tidak langsung mengacu pada memori utama agar kinerja dapat ditingkatkan. Seperti halnya RAM, lebih banyak cache memory adalah lebih baik, akan tetapi biasanya cache pada CPU dan hard drive tidak dapat diupgrade menjadi lebih banyak. Contoh yang dapat dilihat misalnya adalah pada CPU Pentium II terdapat 512 KiloByte cache, dan pada hard drive IBM 9LZX SCSI terdapat 4 MegaBytes cache. Seperti halnya RAM, pada umumnya

Page 7: Cache Memory

data akan dilewatkan dulu pada cache memory sebelum menuju komponen yang akan menggunakannya (misalnya CPU). Selain itu cache memory menyimpan pula sementara data untuk akses cepat. Kecepatan cache memory juga menjadi unsur yang penting. Sebagai contoh, CPU Pentium II memilki cache sebesar 12 k, dan CPU Celeron memiliki cache sebesar 128 k, akan tetapi cache pada Pentium II berjalan pada 1/2 kali kecepatan CPU, sementara cache pada Celeron berjalan dengan kecepatan sama dengan kecepatan CPU. Hal ini merupakan tradeoff yang membuat kecepatan Celeron dalam hal-hal tertentu kadang-kadang malah bisa mengalahkan Pentium II.

Cache memori dapat menympan 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.

Chace memory terbagi menjadi dua yaitu :

1. Cache Memory yang terdapat pada internal Processor , chace 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 Chace memori maka semakin mahal dan semakin ceppat Processor.

1. Chace Memory yang terdapat diluar Processor, yaitu berada pada MotherBoard, memori jenis ini kecepatan aksesnya sangat tinggi, meskipun tidak secepat chache 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 chace memory yaitu 256kb, 512kb, 1Mb, 2Mb dll.

Level Memori Cache

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.

Page 8: Cache Memory

Pada rancangan prosesor terdahulu cache memori ini tidak diletakkan pada chip prosesor, sehingga akses ke cache L2 lebih lambat daripada cache L1. Akan tetapi, waktu aksesnya lebih cepat. Prosesor terbaru biasanya sudah mencaplok cache L2 ke dalam chip prosesor sehingga mempercepat akses ke cache memory ini. Cache L2 bisa berkapasitas sampai 2 MB. Biasanya, semakin besar memori cache semakin baik pula kinerja prosesor tersebut. Ini sebabnya mengapa kinerja Intel Celeron lebih rendah dibandingkan lini Pentium walaupun memiliki prosesor dengan cache L2 yang lebih kecil dibandingkan prosesor Intel Pentium dengan frekuensi yang sama.

Tetapi ini tergantung juga pada aplikasi apa yang dijalankan oleh komputer. Anehnya, aplikasi mulitmedia dan game yang dianggap menuntut kinerja lebih tinggi tidak terlalu terpengaruh dengan kurangnya cache L2 pada Celeron.

Ini disebabkan karakter aplikasi tersebut yang tidak terlalu memerlukan cache. Jenis aplikasi yang menjadi korban dengan kurangnya cache L2 pada lini Celeron adalah aplikasi kantor.

Pentingnya cache memory ini bisa dilihat dari apa yang dilakukan Intel pada model prosesor Pentium 4 Extreme Edition. Intel tidak cukup puas dengan dua jenis cache memory. Model tercepat Pentium 4 ini menambahkan cache ketiga (cache L3) untuk menggenjot kinerja prosesor.

Cara Kerja Memori Cache

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.

Page 9: Cache Memory

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.

Istilah dalam Cache

Cache hit, jika data yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut “hit”. Permintaan dapat dilayani dengan cepat. Maksud urutan unit dari rendah hingga tinggi yaitu: Streamer – Hardisk Memori – Second Level – First level – CPU cache.

Cache miss, bila data yang diminta tidak ada dalam cache, harus diambil dari unit dibawahnya yang cukup memakan waktu. Ini disebut miss (gagal)

Page 10: Cache Memory

Burst mode, dalam modus cepat ini cache mengambil banyak data sekaligus dari unit dibawahnya. Ia mengambil lebih dari yang dibutuhkan dengan asumsi, data yang diminta berikutnya letaknya berdekatan.

LRU (Least Recently Used) adalah algoritma penggantian cache. COAST, Cache on the stick adalah bentuk khusus L2, yang dapat diganti-ganti seperti

RAM dan ditempatkan pada modul. DRAM, memori dinamik (”Dynamic Random Access Memory) adalah bentuk yang paling

umum. DRAM hanya menggunakan sebuah kapasitor untuk menyimpan, sehingga kecil dan murah untuk kapasitas besar. Kekurangannya: kecepatannya tidak begitu tinggi.

SRAM, memori statik (Static RAM) ini menggunakan sakelar elektronik (flip-flop) untuk menyimpan. secara teknis flip-flop pada RAM lebih rumit dari kapasitor pada DRAM. Karena lebih cepat, SRAM biasanya digunakan untuk cache L1 atau L2.

SDRAM, memori dinamik tersinkronisasi (Synchronous DRAM) merupakan perkembangan lebih lanjut dari DRAM. Akses pada memori disinkronkan dengan frekuensi sistim prosesor sehingga menghemat waktu. Pada motherboard modern, SDRAM berfungsi sebagai pengganti langsung DRAM.

First level cache (L1), ini tingkat cache teratas dalam hirarki, dengan kapasitas memori terkecil, termahal dan tercepat.

Second level cache (L2), cache level dua ini memiliki kapasitas lebih besar dari L1, tetapi lebih lambat dan murah. Cache L2 masih lebih cepat dibandingkan dengan RAM.

Write back (WB), cache digunakan tidak hanya saat membaca, tetapi juga dalam proses menulis.

Page 11: Cache Memory

Write through (WT), mementingkan keamanan: cache hanya digunakan saat membaca, sedangkan untuk menulis ditunggu hingga memori yang dituju selesai menulis.

Page 12: Cache Memory

Gambar-Gambar Cache

Page 13: Cache Memory

Gambar Perbandingan Kecepatan Akses antara CPU dan Main Memory

Prinsip Cache Memori Cache memori difungsikan mempercepat kerja memori sehingga mendekati kecepatan prosesor. Konsepnya dijelaskan pada gambar 4.6 dan gambar 4.7. 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 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.

Page 14: Cache Memory

Gambar 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 Organisasi cache memori

Elemen Rancangan pada memori Cache 1. Ukuran Cache 2. Fungsi Pemetaan 3. Algoritma Penggantian 4. Ukuran Blok

Page 15: Cache Memory

1. Ukuran 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 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 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 data 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].

Ukuran cache disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.

Fungsi Pemetaan (Mapping)

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

Pemetaan langsung adalah teknik yang paling sederhana, yaitu teknik ini memetakan blok memori utama hanya ke sebuah saluran cache saja. i = j modulus m dan m = 2r Dimana : i = nomer saluran cache j = nomer blok memori utama m = jumlah saluran yang terdapat dalam cache

Fungsi pemetaan diimplementasikan dengan menggunakan alamat, yang terdiri dari tiga field (tag, line, word). w = word, adalah bit paling kurang berarti yang mengidentifikasikan word atau byte unik dalam blok memori utama. s = byte sisa word yang menspesifikasi salah satu dari 2S blok memori utama. Cache logik menginterpretasikan bit – bit S sebagai suatu tag s – r bit (bagian paling berarti dalam alamat) dan field saluran r bit. Efek pemetaan tersebut adalah blok – blok memori utama diberikan ke saluran cache seperti berikut ini:

Jadi dalam metode ini pemetaan adalah bagian alamat blok memori utama sebagai nomer saluran cache. Ketika suatu blok data sedang diakses atau dibaca terhadap saluran yang diberikan, maka perlu memberikan tag bagi data untuk membedakannya dengan blok – blok lain yang dapat

Page 16: Cache Memory

sesuai dengan saluran tersebut. Disajikan contoh pemetaan langsung dengan m = 16K, maka pemetaannya: Perlu diketahui bahwa tidak ada dua buah blok yang dipetakan ke nomer saluran uang sama memiliki tag sama. Sehingga 000000, 010000, …., FF0000 masing-masing memiliki tag 00, 01, …., FF. Contoh pemetaan langsung: Teknik pemetaan ini sederhana dan mudah diimplementasikan, namun kelemahannya adalah terdapat lokasi cache yang tetap bagi sembarang blok – 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. Pemetaan Assosiatif

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. Pemetaan Assosiatif Set

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 pemetaan asosiatif set, cache dibagi dalam v buah set, yang masing –masing terdiri dari k saluran. Hubungan yang terjadi adalah : m = v x k i = j modulus v dan v = 2d dimana : i = nomer set cache j = nomer blok memori utama m = jumlah saluran pada cache contoh yang menggunakan pemetaan asosiatif set dengan dua saluran pada masing-masing set, yang dikenal sebagai asosiatif set dua arah. Nomor set mengidentifikasi set unik dua saluran di dalam cache. Nomor set ini juga memberikan jumlah blok di dalam memori utama, modulus 2. Jumlah blok menentukan pemetaan blok terhadap saluran. Sehingga blok-blok 000000, 00A000,…, FF1000 pada memori utama dipetakan terhadap set 0 cache. Sembarang blok tersebut

Page 17: Cache Memory

dapat dimuatkan ke salah satu dari kedua saluran di dalam set. Perlu dicatat bahwa tidak terdapat dua blok yang memetakannya terhadap set cache yang sama memiliki nomor tag yang sama. Untuk operasi read, nomor set dipakai untuk menentukan set dua saluran yang akan diuji. Kedua saluran di dalam set diuji untuk mendapatkan yang cocok dengan nomor tag alamat yang akan diakses. Penggunaan dua saluran per set ( v = m/2, k = 2), merupakan organisasi asosiatif set yang paling umum. Teknik ini sangat meningkatkan hit ratio dibandingkan dengan pemetaan langsung. Asosiatif set empat arah (v = m/4, k = 4) memberikan peningkatan tambahan yang layak dengan penambahan harga yang relatif rendah. Peningkatan lebih lanjut jumlah saluran per set hanya memiliki efek yang sedikit. Algoritma Penggantian

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

Banyak algoritma penggantian yang telah dikembangkan, namun dalam buku ini akan dijelaskan algoritma yang umum digunakan saja. Algoritma yang paling efektif adalah Least Recently Used (LRU), yaitu mengganti blok data yang terlama berada dalam cache dan tidak memiliki referensi. Algoritma lainnya adalah:

1. First In First Out (FIFO), yaitu mengganti blok data yang awal masuk. Inti dari algoritma ini

adalah simple / paling sederhana karena prinsipnya sama seperti prinsip antrian tak berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan keluar duluan juga. Untuk algoritma ini menggunakan structure data stack. Jadi kerjanya yaitu dimana kalau tidak ada frame yang kosong saat terjadi page fault maka korban yang dipilih adalah frame dengan stack paling bawah seperti hal nya halaman yang sudah lama tersimpan didalam memory maka dari itu algoritma ini juga bisa memindahkan page yang sering digunakan.

Page 18: Cache Memory

Contoh gambar dari Algoritma page FIFO

Utamanya algoritma ini di anggap cukup mengatasi pergantian page sampai pada tahun 70-

an, pada saat itu juga Belady menemukan keganjalan pada algoritma ini dan dikenal dengan anomali Belady. Anomali Belady itu sendiri ialah keadaan dimana page fault rate meningkat seiring dengan pertambahannya jumlah frame.

Contoh gambar dari Anomali BeladyAlgoritma page Modifikasi FIFO

Algoritma FIFO murni jarang digunakan, tetapi dikombinasikan (modifikasi). Kelemahan FIFO yang jelas adalah algoritma dapat memilih memindahkan page yang sering digunakan yang lama berada di memori. Kemungkinan ini dapat dihindari dengan hanya memindahkan page tidak

Page 19: Cache Memory

diacu Page ditambah bit R mencatat apakah page diacu atau tidak. Bit R bernilai 1 bila diacu dan bernilai 0 bila tidak diacu. Variasi dari FIFO antara lain:

- Algoritma penggantian page kesempatan kedua (second chance page replacement algorithm) - Algoritma penggantian clock page (clock page replacement algorithm)

Algoritma yang pertama adalah algoritma second chance. Algoritma second chance berdasarkan pada algoritma FIFO yang disempurnakan. Algoritma ini menggunakan tambahan berupa reference bit yang nilainya 0 atau 1. Jika dalam FIFO menggunakan stack , maka second chance menggunakan circular queue . Halaman yang baru di-load atau baru digunakan akan diberikan nilai 1 pada reference bit-nya. Halaman yang reference bit-nya bernilai 1 tidak akan langsung diganti walaupun dia berada di antrian paling bawah (berbeda dengan FIFO). Urutan langkah kerja algoritma second chance adalah sebagai berikut:

a. pabila terjadi page fault dan tidak ada frame yang kosong, maka akan dilakukan razia (pencarian korban) halaman yang reference bit-nya bernilai 0 dimulai dari bawah antrian (seperti FIFO).

b. Setiap halaman yang tidak di- swap (karena reference bit-nya bernilai 1), setiap dilewati saat razia reference bit-nya akan diset menjadi 0.

Contoh gambar dari Algoritma page Modifikasi FIFO

2. Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai referensi paling sedikit.

Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih besar. ama seperti algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma ini memakai linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list inilah yang membuat cost membesar, karena harus meng-update linked list tiap saat ada halaman yang di akses.

Page 20: Cache Memory

Contoh gambar dari Algoritma page LRU

Teknik lain adalah algoritma Random, yaitu penggantian tidak berdasakan pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat secara acak.

1. WRITE POLICY Kebijakan menulis cache yang menentukan bagaimana menangani menulis ke lokasi

memori yang saat ini ditahan dalam cache. Dijelaskan lebih rinci di sini, kedua jenis kebijakan adalah:

Write-Back Cache: yaitu teknik meminimasi penulisan dengan cara penulisan pada cache saja. Ketika sistem menulis ke lokasi memori yang saat ini dipegang dalam cache, itu hanya menulis informasi baru pada baris cache yang sesuai. Ketika garis cache akhirnya diperlukan untuk beberapa alamat memori lain, data yang diubah adalah "menulis kembali" ke memori sistem. Jenis cache yang memberikan performa yang lebih baik dari cache write-through, karena menghemat (memakan waktu) menulis siklus ke memori.

Write-Through Cache: yaitu operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache memori sehingga data selalu valid. Ketika sistem menulis ke lokasi memori yang saat ini dipegang dalam cache, itu menulis informasi baru baik ke baris cache yang tepat dan lokasi memori itu sendiri pada saat yang sama. Jenis cache menyediakan kinerja buruk dari menulis-kembali, tapi lebih sederhana untuk menerapkan dan memiliki keuntungan dari konsistensi internal, karena cache tidak pernah tidak sinkron dengan memori apa adanya dengan cache write-back. Kekurangan teknik ini adalah menjadikan lalu lintas data ke memori utama dan cachesangattinggi sehingga mengurangi kinerja sistem, bahkan bisa terjadi hang.

Bus Watching with Write Through yaitu setiap cache controller akan memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila ada operasi tulis di alamat yangdatanya 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.•

Page 21: Cache Memory

Non Cacheable Memory yaitu hanya bagian memori utama tertentu yang digunakansecara bersama. Apabila ada mengaksesan data yang tidak di share merupakankegagalan cache.

Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian harusdicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah maka data padamemori utama harus di-update. Masalah penulisan ini sangat kompleks, apalagi memoriutama48dapat diakses langsung oleh modul I/O, yang memungkinkan data pada memori utama berubah.

2. LINE SIZE

Dalam Tipografi Line size adalah lebar ditempati oleh blok mengeset teks , diukur dalam inci , picas dan poin . Sebuah blok teks atau paragraf memiliki panjang garis maksimum yang sesuai dengan desain yang ditentukan.

Panjang garis ditentukan oleh parameter tipografi berdasarkan formal jaringan dan template dengan beberapa tujuan dalam pikiran, keseimbangan dan fungsi untuk fit dan mudah dibaca dengan kepekaan terhadap gaya estetika dalam tipografi . Typographers menyesuaikan panjang baris untuk membantu keterbacaan atau pas copy. Teks dapat siram kiri dan kanan compang-camping , rata kanan kiri dan bergerigi, atau dibenarkan mana semua garis dengan panjang yang sama. Dalam panjang garis yang tepat pengaturan compang-camping bervariasi untuk membuat tepi kanan compang-camping garis yang bervariasi panjangnya. Kadang-kadang ini dapat secara visual memuaskan. Untuk pengaturan yang benar dibenarkan dan compang-camping typographers dapat menyesuaikan panjang baris untuk menghindari yang tidak diinginkan tanda hubung , sungai ruang putih, dan kata-kata yatim / karakter pada akhir baris (misalnya: "The", "Aku", "Dia", "Kami"). NUMBER OF CACHES & PENJELASAN PENTIUM 4 DAN POWERPC Number Of Caches a. Cache Satu Tingkat (First level cache) Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosesor (lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache di prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang paling penting dan paling sering diakses. Biasanya data di sini adalah data yang telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi (High Priority). b. Cache dua tingkat (Second level cache) Memori L2 Cache ini terletak terletak di MotherBoard (lebih spesifik lagi: modul COAST : Cache On A STick. Bentuk khusus dari L2 yang mirip seperti Memory Module yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi dengan Processor Module. Di L2 Cache ini,

Page 22: Cache Memory

kapasitasnya lebih besar dari pada L1 Cache. Ukurannya berkisar antara 256 KB—2MB. Biasanya , L2 Cache yang besar diperlukan di MotherBoard untuk Server. Kecepatan akses sekitar 10ns (nano second). Pentium 4 Pentium 4 adalah mikroprosesor generasi ketujuh yang dibuat oleh Intel Corporation dan dirilis pada bulan November 2000 meneruskan prosesor Intel Pentium III. Nama Perkenalan generasi awalnya adalah Willamette, kemudian dikembangkan kembali dengan nama perkenalan Northwood, Prescott dan Cedar-Mill. PowerPC Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak konsep arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor RISC I Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe yang ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801 menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT pada tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang sebanding atau yang lebih baik. IBM RISC System/6000 merupakan mesin RISC superscalar yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER. IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC superscalar. Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu 1. 601,merupakan mesin 32-bit yang ditujukan untuk membawa arsitektur PowerPC kepasar secepat mungkin. 2. 603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer portable dengan implementasi yang lebih efesien. 3. 604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop, dengan menggunakan teknik rancangan superscalar lanjutan guna mendapatkan kinerja yang lebih baik. 4. 620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk register 64-bit dan lintasan data.

Page 23: Cache Memory

Pentium 4 Cache Organisasi Pentium 4 memiliki tiga level cache.

Tingkat 1 cache adalah cache split dan 8KB adalah dalam ukuran dan empat arah setasosiatif. Ini berarti bahwa setiap set terdiri dari empat baris dalam cache. Algoritma pengganti digunakan untuk ini adalah "paling baru digunakan" algoritma. Ukuran baris adalah 64 byte.

Pentium 4 yang menggunakan "Hyper-Pipelined Technology" untuk kinerja. Pipa adalahpipa 20-tahap, yang berarti bahwa 20 instruksi dapat dijalankan secara bersamaan. Inimerupakan perbaikan dari pipa Pentium III yang hanya diperbolehkan 10.

Dengan pipa yang lebih lama, lebih sedikit pekerjaan yang sebenarnya sedangdilakukan sebagai lebih banyak waktu didedikasikan untuk mengisi pipa. Oleh karena itu, Pentium 4 pipa harus dijalankan pada frekuensi yang lebih tinggi untuk melakukanpekerjaan yang sama sebagai pipa lebih pendek III Pentium.

Intel menggunakan mesin out-of order eksekusi spekulatif ditingkatkan dengan Pentium 4 menggunakan algoritma prediksi canggih untuk mendapatkan petunjuk lebih lanjut untuk menjalankan menggunakan lebih dalam out-of-order sumber daya, sampai dengan 126 instruksi dalam penerbangan. Ini adalah tiga kali petunjuk dalam penerbangan dari dengan prosesor Pentium III. Mesin ini meningkatkan pada mispredictions jumlah cabang dari Pentium III sekitar 33%. Hal ini dilakukan dengan menggunakan buffer cabang target 4KB untuk menyimpan cabang terakhir sertaalgoritma cabang canggih prediksi.

Tingkat 1 cache adalah kecil untuk mengurangi latency, mengambil 2 siklus untuk hitcache data integer dan 6 siklus untuk floating point. Tingkat 1 data cache memiliki kebijakan menulis-kembali, tetapi konfigurasi dinamis memungkinkan ini diubah untuk menulis-melalui. Daripada cache 1 instruksi tingkat klasik, Pentium 4 menggunakan cache jejak yang mengambil keuntungan dari algoritma prediksi cabang maju. Setelah instruksi telahditerjemahkan ke

Page 24: Cache Memory

dalam RISC gaya instruksi yang disebut micro-ops, mereka disimpandi cache jejak. Enam micro-ops disimpan untuk setiap baris jejak. Cache jejak dapat menyimpan hingga 12K micro-ops. Sejak instruksi telah diterjemahkan, hardware tahu tentang apapun cabang dan mengambil instruksi yang mengikuti cabang. Masalahmungkin terjadi dalam kasus cabang bersyarat jika yang salah diprediksi dan banyakpetunjuk tambahan yang tidak diperlukan telah pra-diambil dan diterjemahkan ke dalam cache. Kami juga harus menunggu untuk cache untuk mengambil instruksi yang benardari cache tingkat 2 jika cabang benar tidak disimpan dalam cache. Ini bisa memakan waktu hingga 7 siklus, lebih jika cabang tidak ditemukan dalam cache 2 tingkat. Keuntungan dari cache jejak adalah bahwa jika prediksi bekerja dengan baik, cachedapat menyediakan tiga micro-ops per siklus untuk scheduler eksekusi. Ini juga berarti bahwa sejak jejak cache hanya menyimpan instruksi yang benar-benar akan dieksekusi, itu adalah membuat lebih efisien penggunaan ruang terbatas. Tingkat 2 cache adalah cache bersatu dan 256KB dalam ukuran. Ukuran garis adalah 128 byte dan itu adalah delapan cara set asosiatif. Ini berarti bahwa setiap set terdiri dari delapan baris dalam cache. Peningkatan ukuran dan set ukuran berarti bahwa itu akan mengurangi kemungkinan terjadi miss saat mengakses cache ini, meningkatkan efektivitas sebagai trade-off untuk kecepatan direduksi. Peningkatan ukuran garisdapat menyebabkan latency lebih tinggi untuk isi ulang line, sehingga Pentium 4menggunakan bus 400MHz sistem menggunakan sebuah jam 100MHz yang memberikan data rate sebesar 3.2GB / s untuk menebus latency. Sistem bus memiliki panjang byte akses 64, membutuhkan 2 memori utama mengakses untuk mengisi baris 2 cache tingkat. Tingkat 2 cache mempekerjakan hardware pra-fetcher untuk mengisi 2 baris cache untuk mengambil keuntungan dari lokalitas referensi. Perangkat keras memonitorsejarah cache misses untuk mencoba untuk membantu menghindari yang tidak perlupra-menjemput. Para cache level 3 adalah delapan arah set associative dan memiliki ukuran garis 128byte. Semua cache menggunakan sebuah algoritma "paling baru digunakan" pengganti. POWER PC CACHE ORGANIZATION Memori komputer ini diatur dalam suatu hirarki. Pada tingkat tertinggi (paling dekat dengan prosesor) adalah register prosesor. Selanjutnya muncul satu atau lebih level cache. Ketika beberapa tingkatan yang digunakan, mereka dilambangkan L1, L2, dll ... Selanjutnya muncul utama memori, yang biasanya terbuat dari memori acak-akses dinamis (DRAM). Semua ini dianggap internal ke sistem komputer. Itu hirarki terus dengan memori eksternal, dengan tingkat berikutnya biasanya menjadi tetap hard disk, dan satu atau lebih tingkat di bawah yang terdiri dari removable media seperti kartrid ZIP, optical disk, dan tape. Sebagai salah satu turun hirarki memori, orang menemukan penurunan biaya / bit, meningkatkan kapasitas, dan waktu akses lebih lambat. Akan lebih baik untuk hanya menggunakan memori tercepat, tapi karena itu adalah memori yang paling mahal, kita trade off waktu akses dan biaya

Page 25: Cache Memory

dengan menggunakan lebih dari memori lambat. Caranya adalah dengan mengatur data dan program di memori sehingga kata-kata memori yang diperlukan biasanya dalam tercepat memori. Secara umum, ada kemungkinan bahwa akses paling depan ke memori utama oleh prosesor akan ke lokasi baru mengakses. Jadi cache secara otomatis mempertahankan salinan beberapa kata terakhir digunakan dari DRAM. Jika cache dirancang dengan benar, maka sebagian besar waktu prosesor akan meminta kata-kata memori yang sudah di cache. Organisasi cache yang PowerPC telah berkembang dengan arsitektur keseluruhan dari keluarga PowerPC, mencerminkan pengejaran tanpa henti kinerja yang adalah kekuatan pendorong untuk semua desainer mikroprosesor. Pentium 4 Core Processor • Fetch / Decode Unit Wahai Fetch instruksi dari cache L2 O Decode ke dalam mikro-operasi o Toko mikro-operasi di L1 cache • Out-of-order eksekusi logika o Jadwal mikro-operasi o Berdasarkan data ketergantungan dan ketersediaan sumber daya o Semoga jadwal eksekusi spekulatif waktu mengizinkan • Pelaksanaan unit o Melaksanakan mikro-operasi o Mengambil data yang dibutuhkan dari data cache L1 o Untuk sementara menyimpan hasil dalam register • Memori subsistem o Termasuk L2 cache dan bus sistem Pentium 4 Desain penalaran • Instruksi dekoding ke RISC seperti instruksi yang disebut mikro-operasi • Sederhana, panjang tetap mikro-operasi mengaktifkan pipelining superscalar dan jadwal teknik yang meningkatkan kinerja • Instruksi yang rumit untuk memecahkan kode - variabel panjang dengan banyak pilihan • Kinerja ditingkatkan dengan memisahkan penjadwalan bentuk decoding dan pipelining • Cache Data menulis kembali - dapat dikonfigurasi untuk menulis melalui • L1 cache dikendalikan oleh 2 bit dalam register kontrol O CD - cache menonaktifkan O NW - tidak menulis-melalui O INVD - instruksi yang membatalkan (flushes) cache O WNINVD - instruksi yang menulis kembali cache dan kemudian membatalkan cache

Page 26: Cache Memory
Page 27: Cache Memory
Page 28: Cache Memory
Page 29: Cache Memory

Sumber Referensi :

Stallings, William. 2010. Computer Organization and Architecture 8th Edition. Prentice Hall.

http://penchenk.blogspot.com/2009/05/pengertian-cache.html

http://terminaltechno.blog.uns.ac.id/2009/06/19/perbedaan-cache-main-and-virtual-memory/

http://www.detikinet.com/read/2009/11/19/114448/1244699/398/cache

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

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

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

http://williamstallings.com/ComputerOrganization/COA8e-Instructor/index.html

http://www.tomshardware.com/reviews/athlon-l3-cache,2416-2.html

Page 30: Cache Memory