cache memory

Post on 12-Dec-2015

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

bll

TRANSCRIPT

CACHE MEMORY

BY: Y. Palopak, S.Si., MT.

Karakteristik Memori

Lokasi

Kapasitas

Unit transfer

Metode Akses

Kinerja

Jenis fisik

Sifat-sifat fisik

Organisasi

Lokasi

CPU (register)

Internal (main memori)

External (secondary memori)

Kapasitas

Ukuran Word

Satuan alami organisasi memori

Banyaknya words

atau Bytes

Satuan Transfer

Internal

Jumlah bit dalam sekali akses

Sama dengan jumlah saluran data (= ukuran word)

External

Dalam satuan block yg merupakan kelipatan word

Addressable unit

Lokasi terkecil yang dpt dialamati secara uniq

Secara internal biasanya sama dengan Word

Untuk disk digunakan satuan Cluster

Metode Akses

Sekuensial

Mulai dari awal sampai lokasi yang dituju

Waktu akses tergantung pada lokasi data dan lokasi sebelumnya

Contoh tape

Direct

Setiap blocks memilki address yg unique

Pengaksesan dengan cara lompat ke kisaran umum (general vicinity)

ditambah pencarian sekuensial

Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya

contoh disk

Metode Akses

Random

Setiap lokasi memiliki alamat tertentu

Waktu akses tdk tergantung pada urutan akses sebelumnya

Contoh RAM

Associative

Data dicarai berdasarkan isinya bukan berdasarkan alamatnya

Waktu akses tdk tergantung terhadap lokasi atau pola akses

sebelumnya

Contoh: cache

Performance

Access time

Waktu untuk melakukan operasi baca-tulis

Memory Cycle time

Diperlukan waktu tambahan untuk recovery sebelum

akses berikutnya

Access time + recovery

Transfer Rate

Kecepatan transfer data ke/dari unit memori

Jenis Fisik

Semiconductor

RAM

Magnetic

Disk & Tape

Optical

CD & DVD

Karakteristik

Volatil

Non Volatil

Erasable

Non Erasable

Organisasi

Susunan fisik bit-bit untuk membentuk word

Kendala Rancangan

Berapa banyak?

Capacity

Seberapa cepat?

Time is money

Berapa mahal?

Hirarki Memory

Desain memory dipangaruhi oleh beberapa hal, yaitu : kecepatan, kapasitas, dan cost.

Terdapat beberapa kaitan yang menjadi trade off dalam upaya desain memory :

Semakin cepat waktu akses, semakin mahal cost per-bit.

Semakin besar kapasitas memory, cost tiap bit semakin murah.

Semakin besar kapasistas, semakin lambat waktu aksesnya.

Hierarki

Registers

L1 Cache

L2 Cache

Main memory

Disk cache

Disk

Optical

Tape

Hirarki Memory

Semakin menurun maka terjadi: a. Penurunan biaya per bit

b. Peningkatan kapasitas

c. Peningkatan waktu akses

d. Penurunan frekuensi akses

Cache Memory

Idealnya, kecepatan processor harus diimbangi oleh

kecepatan memory yang dalam hal ini adalah main

memory.

Cache memory adalah memori berkapasitas terbatas,

berkecepatan tinggi yang lebih mahal dibanding

memori utama.

Cache memori terletak diantara memori utama dan

register CPU, dan berfungsi agar CPU tidak langsung

mengacu ke memori utama tetapi di cache memori

yang kecepatan aksesnya lebih tinggi. Metode ini

akan meningkatkan kinerja system.

CACHE MEMORY

Kecepatan memori utama sangat rendah dibandingkan

kecepatan prosessor modern.

Untuk performa yang baik, prosessor tidak dapat

membuang waktunya dengan menunggu untuk

mengakses instruksi dan data pada memori utama.

Karenanya sangat penting untuk memikirkan suatu skema

yang mengurangi waktu dalam mengakses informasi.

Karena kecepatan memori utama dibatasi oleh batasan

elektronik dan packaging, maka solusinya harus dicari

pada sistem arsitektur yang berbeda.

Solusi yang efisien adalah menggunakan memori

cache cepat yang sebenarnya membuat memori

utama tampak lebih cepat bagi prosesor daripada

sebenarnya.

Buffer berkecepatan tinggi yang digunakan untuk

menyimpan data yang diakses pada saat itu dan

data yang berdekatan dalam memori utama

Waktu akses memori cache lebih cepat 5 – 10 kali

dibandingkan memori utama

Solusinya … ?

Berdasarkan kondisi yang dijelaskan sebelumnya, designer mencoba untuk merancang memory yang berkapasitas besar, namun tetap memperhatikan faktor performa.

Solusinya adalah kombinasi antara memory yang berkapasitas besar, dengan memory yang kapasitasnya lebih kecil dengan waktu akses yang cepat.

Memory Stack

L2 Cache

COAST: Cache on a Stick

Contoh Kasus (1)

Misalkan processor memiliki level memory 2 tingkat, tingkat 1 berisi 1000 word dengan waktu akses 0.01 µs, sedang tingkat 2 dengan kapasitas yang lebih besar 100.000 word dengan waktu akses 0.1 µs.

Jika word yang akan diakses berada pada tingkat 1, maka processor akan langsung akses.

Jika word yang akan diakses ada pada tingkat 2, maka word yang ada pada tingkat 2 akan dipindah ke tingkat 1 dan kemudian akan diakses oleh processor.

Contoh Kasus (lanjutan)

Misalkan 95% waktu akses ada pada tingkat 1, dan 5% ada pada tingkat 2.

Sehingga :

(0.95)(0.01 µs) + (0.05)(0.01 µs + 0.1 µs) = 0.0095 + 0.0055 = 0.015 µs

Nilai yang didapatkan mendekati waktu akses memory tingkat 1.

Inilah strategi yang digunakan dalam menyediakan mekanisme processing yang membutuhkan kecepatan akses dan kapasitas yang besar.

PRINSIP KERJA MEMORI CACHE

Ketika CPU mengakses memori maka system penyimpanan akan mengirim

alamat fisik ke cache dan cache berisi salinan sebagian isi memori utama

Pada saat CPU membaca sebuah word memory, dilakukan pemeriksaan

untuk mengetahui apakah word berada berada di cache

Jika word berada di cache, maka akan dikirimkan ke CPU yang dikenal

sebagai proses HITT

Jika tidak ada, maka blok memori utama yang terdir idari sejumlah word

tetap akan diletakkan di cache yang dikenal sebagai proses MISS dan

selanjutnya dikirim ke CPU

PRINSIP KERJA MEMORI CACHE

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 datang dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.

Cache memory berisi copy dari sebagian isi dari main memory.

Processor akan mencari word pada cache memory terlebih dahulu jika membutuhkan suatu word.

Jika word yang dicari ada pada cache, maka processor langsung akan membacanya.

Jika word yang dicari tidak ada, maka beberapa blok dari main memory akan di load ke cache, dan dedeliver ke processor.

PRINSIP KERJA MEMORI CACHE

Struktur Cache & Memory Structure

Operasi Baca Cache

Pemetaan Cache - mapping

Karena baris cache lebih sedikit dibanding blok memori utama

Dibutuhkan algoritma pemetaan blok-blok memori utama ke baris cache

Diperlukan perangkat untuk menentukan blok memori utama mana yang sedang memakai baris cache

Terdapat 3 teknik pemetaan

a) Direct Mapping (Pemetaan Langgsung)

b) Associative Mapping (Pemetaan Assosiatif)

c) Set Associative Mapping (Pemetaan Assosiatif Set)

Pemetaan Cache

Direct Mapping

Memetakan setiap blok memori ke dalam

satu line cache secara tetap (sesuai dengan

nomor line)

Pemetaan Cache - Langsung

Pemetaan Cache - Langsung

Pemetaan Cache - Langsung

Pemetaan Cache

Associative Mapping

Memetakan setiap blok memeori ke

sembarang baris cache (tidak terikat pada

nomor line)

Pemetaan Cache - Assosiatif

Pemetaan Cache - Assosiatif

Pemetaan Cache - Assosiatif

Pemetaan Cache

Set Associative Mapping

Memetakan setiap blok memori ke dalam satu set

tertentu yang didalamnya terdiri dari beberapa

line yang dapat digunakan secara bebas

Pemetaan Cache – Assosiatif Set

Pemetaan Cache – Assosiatif Set

Pemetaan Cache – Assosiatif Set

Pemetaan Cache – Assosiatif Set

Algoritma Penggantian

Ketika sebuah blok baru dibawa ke dalam cache salah satu dari blok yang ada harus digantikan

Untuk teknik pemetaan langsung, tidak ada pilihan lain, hanya terdapat satu kemungkinan baris bagi sembarang blok tertentu

Untuk teknik assosiatif dan assosiatif set diperlukan algoritma penggantian:

Least Recently Use (LRU): mengganti blok yang berada dalam set yang telah berada paling lama di dalam cache dengan tidak memiliki acuan

First In First Out (FIFO): menggantikan blok di dalam set yang telah berada pada cache terpanjang

Least Frequently Use (LFU): menggantikan blok di dalam set yang mengalami acuan paling sedikit

CUNM

Quis 20 Maret 2014

top related