04 Memori Cache

download 04 Memori Cache

of 58

  • date post

    17-Jan-2016
  • Category

    Documents

  • view

    87
  • download

    23

Embed Size (px)

description

Materi Memori Cache

Transcript of 04 Memori Cache

  • Organisasi dan Arsitektur Komputer

    William Stallings

    Edisi 7

    Bab 4

    Memory Cache

  • Karakteristik

    Lokasi

    Kapasitas

    Satuan transfer

    Metode akses

    Kinerja

    Jenis fisis

    Karakteristik fisik

    Organisasi

  • Lokasi

    CPU

    Internal

    Eksternal

  • Kapasitas

    Ukuran kata

    Satuan alami dari organisasi

    Jumlah kata

    atau Bytes

  • Satuan Transfer

    Internal

    Biasanya ditentukan oleh lebar bus data

    Eksternal

    Biasanya sebuah blok yang jauh lebih besar daripada sebuah kata

    Satuan 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 benar

    Waktu siklus memory

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

    Waktu siklus adalam akses + pemulihan

    Laju 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-kata

    Tidak selalu demikian

    Misal pengacakan (interleaved)

  • Garis dasar (bottom line)

    Seberapa banyak?

    Kapasitas

    Seberapa cepat?

    Waktu adalah uang

    Seberapa mahal?

  • Daftar Hirarki

    Register

    L1 Cache

    L2 Cache

    Memory utama

    Disk cache

    Disk

    Optikal

    Tape

  • Perlu cepat?

    Dimungkinkan untuk mebangun sebuah komputer yang hanya menggunakan RAM statis

    Komputer ini akan sangat cepat

    Komputer 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 kecil

    Berada diantara memory utama dan CPU

    Mungkin diletakkan dalam chip CPU atau modul

  • Cache/Struktur Memory Utama

  • Operasi Cache overview

    CPU meminta isi dari lokasi memory

    Cek cache untuk data ini

    Jika ada, ambil dari cache (cepat)

    Jika tidak ada, baca blok yang diinginkan dari memory utama ke cache

    Kemudian kirimkan dari cache ke CPU

    Cache meliputi tanda untuk menunjukkan memory utama yang berada pada setiak slot cache

  • Diagram alir-Operasi baca Cache

  • Perancangan Cache

    Ukuran

    Fungsi-fungsi pemetaan

    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 Cache

    Prosesor 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 64kByte

    Blok cache sebesar 4 bytes

    yaitu cache sebesar 16k (214) terdiri dari 4 bytes

    16MBytes memory utama

    24 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 tertentu

    Alamat ditempatkan pada dua bagian

    Bit yang paling kurang signifikan w menunjukkan word (kata) unik

    Bit paling signifikan s (MSB) menunjukkan satu blok memory

    Bit MSB dibagi ke dalam sebuah area jalur cache r dan sebuah tanda s-r (paling signifikan)

  • Pemetaan Langsung

    Struktur Alamat

    Tag s-r Line or Slot r Word w

    8 14 2

    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

  • Pemetaan Langsung

    Tabel Jalur Cache

    Jalur Cache Blok Memory Utama

    0 0, m, 2m, 3m2s-m

    1 1,m+1, 2m+12s-m+1

    m-1 m-1, 2m-1,3m-12s-1

  • Organisasi Cache Pemetaan Langsung

  • Contoh

    Pemetaan

    Langsung

  • Ringkasan Pemetaan Langsung

    Panjang alamat = (s + w) bits

    Jumlah yang dapat dialamati = 2s+w kata atau bytes

    Ukuran blok = ukuran jalur = 2w kata atau bytes

    Jumlah blok dalam memory utama = 2s+ w/2w = 2s

    Jumlah jalur dalam cache = m = 2r

    Ukuran tanda (tag) = (s r) bit

  • Pemetaan Langsung (Kelebihan dan

    kekurangan)

    Sederhana

    Tidak mahal

    Lokasi 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 memory

    Setiap tag jalur diuji kesesuaiannya

    Pencarian cache mahal

  • Organisasi Cache Asosiatif Penuh

  • Contoh

    Pemetaan Asosiatif

  • Tag 22 bit Word

    2 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) bits

    Jumlah satuan yang dapat dialamati = 2s+w kata atau bytes

    Ukuran blok = ukuran jalur = 2w kata atau bytes

    Jumlah blok dalam memory utama = 2s+ w/2w = 2s

    Jumlah jalur dalam cache = tidak ditentukan

    Ukuran tag = s bit

  • Pemetaan Asosiatif Himpunan

    Cache dibagi menjadi beberapa himpunan

    Setiap himpunan terdiri dr sejumlah jalur

    Sebuah blok yang diberikan memetakan ke jalur manapun dalam himpunan yang diberikan

    Misal Block B dapat berada di jalur nmanapun dalam himpuan i

    Misal 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 Himpunan

    Contoh

    Himpunan angka 13 bit

    Jumlah blok dalam memory utama adalah modulo 213

    000000, 00A000, 00B000, 00C000 dipetakan ke himpunan yang sama

  • Organisasi Cache Asosiatif Himpunan

    Dua Jalan

  • Pemetaan Asosiatif Himpunan

    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 Jml