4 Memori Cache

50
LOGO CACHE MEMORY

Transcript of 4 Memori Cache

Page 1: 4 Memori Cache

LOGO

CACHE MEMORY

Page 2: 4 Memori Cache

Karakteristik

LokasiKapasitasSatuan transferMetode aksesKinerjaJenis fisisKarakteristik fisikOrganisasi

Page 3: 4 Memori Cache

Lokasi

CPUInternalEksternal

Page 4: 4 Memori Cache

Kapasitas

Word size Satuan alami dari organisasi

Number of word atau Bytes

Page 5: 4 Memori Cache

Satuan Transfer

Internal Biasanya ditentukan oleh lebar bus data

Eksternal Biasanya sebuah blok yang jauh lebih besar

daripada sebuah word/kataSatuan yg dapat dialamati

Lokasi terkecil yang dapat dialamati secara unik Didalamnya tersimpan kata Kluster pada disk-disk M$

Page 6: 4 Memori Cache

Metode Akses (1)

Berurutan (Sequential) Dimulai pada bagian awal dan dibaca sesuai dengan

urutannya. Waktu akses tergantung pada lokasi data dan lokasi

sebelumnya. Misal tape

Langsung Tiap satuan blok mempunyai alamat unik Akses melompat ke suatu lokasi digabung dengan

pencarian berurutan Waktu akses tergantung pada lokasi yang dicari dan

lokasi sebelumnya misal disk

Page 7: 4 Memori Cache

Metode Akses (2)

Random Alamat individual menunjukkan lokasi secara tepat Waktu akses tergantung pada lokasi atau akses

sebelumnya misal RAM

Asosiatif Data ditempatkan berdasarkan perbandingan dengan

konten dari porsi penyimpanan Waktu akses tidak bergantung pada lokasi atau akses

sebelumnya Misal cache

Page 8: 4 Memori Cache

Hirarki Memory

Registers dalam CPU

Internal Memory atau Memory Utama Bisa meliputi satu atau lebih level cache “RAM”

Memory Eksternal Penyimpanan cadangan

Page 9: 4 Memori Cache

Diagram Hirarki Memory

Page 10: 4 Memori Cache

Kinerja

Waktu akses Waktu antara penyajian alamat dan perolehan

data yang benarWaktu siklus memory

Waktu yang diperlukan oleh memory untuk pulih (“recover”) sebelum akses berikutnya

Waktu siklus dalam akses + pemulihanLaju Transfer

Laju data dapat dipindahkan

Page 11: 4 Memori Cache

Jenis-jenis fisis

Semikonduktor RAM

Magnetik Disk & Tape

Optikal CD & DVD

Lainnya Bubble Hologram

Page 12: 4 Memori Cache

Karakteristik fisis

Decay (penurunan kemampuan)Volatility (kerentanan)Erasable (bisa dihapus)Power consumption (konsumsi daya)

Page 13: 4 Memori Cache

Organisasi

Pengaturan fisik dari bit-bit ke kata-kataTidak selalu demikianMisal pengacakan (interleaved)

Page 14: 4 Memori Cache

Garis dasar (bottom line)

Seberapa banyak? Kapasitas

Seberapa cepat? Waktu adalah uang

Seberapa mahal?

Page 15: 4 Memori Cache

Daftar Hirarki

RegisterL1 CacheL2 CacheMemory utamaDisk cacheDiskOptikalTape

Page 16: 4 Memori Cache

Perlu cepat?

Dimungkinkan untuk mebangun sebuah komputer yang hanya menggunakan RAM statis

Komputer ini akan sangat cepatKomputer ini tidak memerlukan cache

Bagaimana bisa meng-cache cache?Komputer ini akan sangat mahal

Page 17: 4 Memori Cache

Lokalitas Rujukan

Selama proses eksekusi sebuah program, memory merujuk ke klaster.

Misal loop-loop

Page 18: 4 Memori Cache

Cache

Memory cepat yang berukuran kecilBerada diantara memory utama dan CPUMungkin diletakkan dalam chip CPU atau modul

Page 19: 4 Memori Cache

Cache/Struktur Memory Utama

Page 20: 4 Memori Cache

Operasi Cache – overview

CPU meminta isi dari lokasi memoryCek cache untuk data iniJika ada, ambil dari cache (cepat)Jika tidak ada, baca blok yang diinginkan dari

memory utama ke cacheKemudian kirimkan dari cache ke CPUCache meliputi tanda untuk menunjukkan

memory utama yang berada pada setiak slot cache

Page 21: 4 Memori Cache

Diagram alir-Operasi baca Cache

Page 22: 4 Memori Cache

Perancangan Cache

Ukuran Fungsi-fungsi pemetaan

Langsung Asosiatif Asosiatif set

Algoritma penempatan ulang/penggantian Aturan penulisan Ukuran blok Jumlah cache

Page 23: 4 Memori Cache

Ukuran bukan masalah

Biaya Lebih banyak cache makin mahal

Kecepatan Lebih banyak cache lebih cepat (sampai pada

suatu nilai tertentu) Mengecek cache untuk data butuh banyak waktu

Page 24: 4 Memori Cache

Organisasi Cache Tipikal

Page 25: 4 Memori Cache

Perbandingan Ukuran CacheProsesor Jenis Tahun diluncurkan Cache L1 Cache L2 Cache L3

IBM 360/85 Mainframe 1968 16 to 32 kB - -

PDP-11/70 Minicomputer 1975 1 kB - -

VAX 11/780 Minicomputer 1978 16 kB - -

IBM 3033 Mainframe 1978 64 kB - -

IBM 3090 Mainframe 1985 128 to 256 kB - -

Intel 80486 PC 1989 8 kB - -

Pentium PC 1993 8 kB/8 kB 256 to 512 kB -

PowerPc 601 PC 1993 32 kB - -

PowerPC 620 PC 1996 32 kB/32 kB - -

PowerPC G4 PC/Server 1999 32 kB/32 kB 256 to 1 MB 2 MB

IBM S/390 G4 Mainframe 1997 32 kB 256 kB 2 MB

IBM S/390 G6 Mainframe 1999 256 kB 8 MB -

Pentium 4 PC/Server 2000 8 kB/8 kB 256 kB -

IBM SP High end server/ supercomputer

2000 64 kB/32 kB 8 MB -

CRAY MTAn Supercomputer 2001 8 kB 2 MB -

Itanium PC/Server 2001 16 kB/16 kB 96 kB 4 MB

SGI Origin 2001 High end server 2001 32 kB/32 kB 4 MB -

Itanium 2 PC/Server 2002 32 kB 256 kB 6 MB

IBM POWER5 High end server 2003 64 kB 1,9 MB 36 MB

CRAY XD-1 Supercomputer 2004 64 kB/64 kB 1 MB -

Page 26: 4 Memori Cache

Fungsi Pemetaan

Cache sebesar 64kByteBlok cache sebesar 4 bytes

yaitu cache sebesar 16k (214) terdiri dari 4 bytes16MBytes memory utama24 bit alamat

(224=16M)

Page 27: 4 Memori Cache

Pemetaan Langsung

Setiap blok dari memory utama dipetakan ke hanya satu jalur cache Misal jika semuah blok ada dalam cache, maka

harus berada pada tempat tertentuAlamat ditempatkan pada dua bagianBit yang paling kurang signifikan w

menunjukkan word (kata) unikBit paling signifikan s (MSB) menunjukkan satu

blok memoryBit MSB dibagi ke dalam sebuah area jalur

cache r dan sebuah tanda s-r (paling signifikan)

Page 28: 4 Memori Cache

Pemetaan Langsung Struktur Alamat

24 bit alamat 2 bit penunjuk kata (blok 4 byte) 22 bit penunjuk blok

8 bit tanda (=22-14) 14 bit slot atau jalur

Dua blok pada jalur yang sama mempunyai area Tag (tanda) yang tidak sama

Cek isi cache dengan mencari jalur dan pengecekan Tag

Tag s-r Line or Slot r Word w

8 14 2

Page 29: 4 Memori Cache

Pemetaan Langsung Tabel Jalur Cache

Jalur Cache Blok Memory Utama

0 0, m, 2m, 3m…2s-m

1 1,m+1, 2m+1…2s-m+1

. .

. .

. .

m-1 m-1, 2m-1,3m-1…2s-1

Page 30: 4 Memori Cache

Organisasi Cache Pemetaan Langsung

Page 31: 4 Memori Cache

Co

nto

h P

emetaan

Lan

gsu

ng

Page 32: 4 Memori Cache

Ringkasan Pemetaan Langsung

Panjang alamat = (s + w) bitsJumlah yang dapat dialamati = 2s+w kata atau

bytesUkuran blok = ukuran jalur = 2w kata atau bytesJumlah blok dalam memory utama = 2s+ w/2w =

2sJumlah jalur dalam cache = m = 2rUkuran tanda (tag) = (s – r) bit

Page 33: 4 Memori Cache

Pemetaan Langsung (Kelebihan dan kekurangan)

SederhanaTidak mahalLokasi tetap untuk blok yg diberikan

Jika sebuah program mengakses 2 blok yang dipetakan ke jalur yang sama berulang-ulang, jumlah kehilangan cache sangat tinggi

Page 34: 4 Memori Cache

Pemetaan Asosiatif

Sebuah blok memory utama dapat dimuat ke dalam jalur manapun dari cache.

Alamat memory dinyatakan dalam tanda (tag) dan kata (word)

Tag secara unik menunjukkan blok memorySetiap tag jalur diuji kesesuaiannyaPencarian cache mahal

Page 35: 4 Memori Cache

Organisasi Cache Asosiatif Penuh

Page 36: 4 Memori Cache

Co

nto

h P

emetaan

Aso

siatif

Page 37: 4 Memori Cache

Tag 22 bitWord2 bit

Pemetaan Asosiatif Struktur Alamat

22 bit tag disimpan dalam setiap 32 bit blok data Membandingkan area tag dengan masukan tag dalam

cache untuk mengecek pengaksesan (hit) 2 bit yang paling kurang signifikan mengidentifikasi kata

16 bit yang mana yang dibutuhkan dari blok data yang terdiri dari 32 bit

Misal Alamat Tag Data Jalur Cache FFFFFC FFFFFC 24682468 3FFF

Page 38: 4 Memori Cache

Ringkasan Pemetaan Asosiatif

Panjang alamat = (s + w) bitsJumlah satuan yang dapat dialamati = 2s+w

kata atau bytesUkuran blok = ukuran jalur = 2w kata atau bytesJumlah blok dalam memory utama = 2s+ w/2w =

2sJumlah jalur dalam cache = tidak ditentukanUkuran tag = s bit

Page 39: 4 Memori Cache

Pemetaan Asosiatif Set

Cache dibagi menjadi beberapa set/himpunanSetiap himpunan terdiri dr sejumlah jalurSebuah blok yang diberikan memetakan ke jalur

manapun dalam himpunan yang diberikan Misal Block B dapat berada di jalur manapun

dalam himpuan iMisal 2 jalur per himpunan

2 cara pemetaan asosiatif Sebuah blok yang diberikan dapat pada salah

satu dari 2 jalur dalam sebuah himpunan saja

Page 40: 4 Memori Cache

Pemetaan Asosiatif Set (Contoh)

Himpunan angka 13 bitJumlah blok dalam memory utama adalah

modulo 213 000000, 00A000, 00B000, 00C000 … dipetakan

ke himpunan yang sama

Page 41: 4 Memori Cache

Organisasi Cache Asosiatif Set Dua Arah

Page 42: 4 Memori Cache

Pemetaan Asosiatif Set Struktur Alamat

Menggunakan area himpunan untuk menentukan himpunan cache yang dilihat

Membandingkan area tag untuk melihat jika terdapat hit (akses)

Misal Jmlh alamat Tag Data Jmlh himpunan 1FF 7FFC 1FF 12345678 1FFF 001 7FFC 001 11223344 1FFF

Tag 9 bit Himpunan 13 bitKata2 bit

Page 43: 4 Memori Cache

Pem

etaan A

sosiatif S

et 2 Arah

(Co

nto

h)

Page 44: 4 Memori Cache

Ringkasan Pemetaan Asosiatif Set

Panjang Alamat = (s + w) bitJumlah satuan yg bisa dialamati = 2s+w kata

atau byteUkuran blok = ukuran jalur = 2w kata atau byteJumlah blok dalam memory utama = 2dJumlah jalur dalam himpunan = kJumlah himpunan = v = 2dJumlah jalur dalam cache = kv = k * 2dUkuran tag = (s – d) bit

Page 45: 4 Memori Cache

Algoritma Penggantian (1)Pemetaan Langsung

Tidak ada pilihanSetiap blok hanya memetakan ke satu jalurMengganti jalur tersebut

Page 46: 4 Memori Cache

Algoritma Penggantian (2)Asosiatif dan Asosiatif Set

Algoritma diimplementasikan pd perangkat keras (kecepatan)

Penggunaan baru yang paling jarang (Least Recently used (LRU))

Misal dalam 2 cara asosiatif himpunan Blok mana yang lru?

First in first out (FIFO) Mengganti blok yang terlama berada dalam cache

Penggunaan yang paling jarang Mengganti blok yang paling sedikit diakses

Random

Page 47: 4 Memori Cache

Kebijakan Penulisan /Write Policy

Tidak boleh menindas sebuah blok cache kecuali memory utama dimutakhirkan

CPU jamak mungkin mempunyai cache masing-masing

I/O mungkin mengalamati memory utama secara langsung

Page 48: 4 Memori Cache

Jalur penulisan

Seluruh penulisan mengarah ke memory utama seperti halnya cache.

CPU jamak dapat memonitor trafik pada memory utama untuk menjaga cache lokal tetap terbarukan

Banyak trafikMemperlambat penulisanIngat penulisan bagus melalui cache!

Page 49: 4 Memori Cache

Write back

Updates initially made in cache onlyUpdate bit for cache slot is set when update

occursIf block is to be replaced, write to main memory

only if update bit is setOther caches get out of syncI/O must access main memory through cacheN.B. 15% of memory references are writes

Page 50: 4 Memori Cache

Pentium 4 Cache 80386 – no on chip cache 80486 – 8k using 16 byte lines and four way set associative

organization Pentium (all versions) – two on chip L1 caches

Data & instructions Pentium III – L3 cache added off chip Pentium 4

L1 caches• 8k bytes• 64 byte lines• four way set associative

L2 cache • Feeding both L1 caches• 256k• 128 byte lines• 8 way set associative

L3 cache on chip