4 memori cache
TRANSCRIPT
LOGO
CACHE MEMORY
Karakteristik
LokasiKapasitasSatuan transferMetode aksesKinerjaJenis fisisKarakteristik fisikOrganisasi
Lokasi
CPUInternalEksternal
Kapasitas
Word size Satuan alami dari organisasi
Number of word atau Bytes
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$
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
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
Hirarki Memory
Registers dalam CPU
Internal Memory atau Memory Utama Bisa meliputi satu atau lebih level cache “RAM”
Memory Eksternal Penyimpanan cadangan
Diagram Hirarki Memory
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
Jenis-jenis fisis
Semikonduktor RAM
Magnetik Disk & Tape
Optikal CD & DVD
Lainnya Bubble Hologram
Karakteristik fisis
Decay (penurunan kemampuan)Volatility (kerentanan)Erasable (bisa dihapus)Power consumption (konsumsi daya)
Organisasi
Pengaturan fisik dari bit-bit ke kata-kataTidak selalu demikianMisal pengacakan (interleaved)
Garis dasar (bottom line)
Seberapa banyak? Kapasitas
Seberapa cepat? Waktu adalah uang
Seberapa mahal?
Daftar Hirarki
RegisterL1 CacheL2 CacheMemory utamaDisk cacheDiskOptikalTape
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
Lokalitas Rujukan
Selama proses eksekusi sebuah program, memory merujuk ke klaster.
Misal loop-loop
Cache
Memory cepat yang berukuran kecilBerada diantara memory utama dan CPUMungkin diletakkan dalam chip CPU atau modul
Cache/Struktur Memory Utama
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
Diagram alir-Operasi baca Cache
Perancangan Cache
Ukuran Fungsi-fungsi pemetaan
Langsung Asosiatif Asosiatif set
Algoritma penempatan ulang/penggantian Aturan penulisan Ukuran blok Jumlah 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
Organisasi Cache Tipikal
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 -
Fungsi Pemetaan
Cache sebesar 64kByteBlok cache sebesar 4 bytes
yaitu cache sebesar 16k (214) terdiri dari 4 bytes16MBytes memory utama24 bit alamat
(224=16M)
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)
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
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
Organisasi Cache Pemetaan Langsung
Co
nto
h P
emetaan
Lan
gsu
ng
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
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
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
Organisasi Cache Asosiatif Penuh
Co
nto
h P
emetaan
Aso
siatif
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
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
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
Pemetaan Asosiatif Set (Contoh)
Himpunan angka 13 bitJumlah blok dalam memory utama adalah
modulo 213 000000, 00A000, 00B000, 00C000 … dipetakan
ke himpunan yang sama
Organisasi Cache Asosiatif Set Dua Arah
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
Pem
etaan A
sosiatif S
et 2 Arah
(Co
nto
h)
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
Algoritma Penggantian (1)Pemetaan Langsung
Tidak ada pilihanSetiap blok hanya memetakan ke satu jalurMengganti jalur tersebut
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
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
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!
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
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