cache memory

35
Daftar Isi BAB I PENDAHULUAN............................................1 1.1. LATAR BELAKANG........................................1 1.2. RUMUSAN MASALAH.......................................3 1.3. TUJUAN................................................3 BAB II.......................................................3 LANDASAN TEORI...............................................3 2.1 Pengertian Cache Memory................................3 2.2 Sejarah Cache Memory...................................5 2.3 Letak cache memory.....................................9 2.4 Cara Kerja Cache Memory...............................10 BAB III.....................................................19 PEMBAHASAN..................................................19 3.1 Pemetaan (Mapping)....................................19 3.2 DIRECT MAPPING........................................19 3.3 ASSOCIATVE MAPPING....................................22 3.4 SET ASSOCIATIVE MAPPING.................................24 BAB IV......................................................26 PENUTUP.....................................................26

Upload: faza-aja

Post on 05-Jul-2015

2.233 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Cache Memory

Daftar IsiBAB I PENDAHULUAN.............................................................................................................1

1.1. LATAR BELAKANG............................................................................................1

1.2. RUMUSAN MASALAH........................................................................................3

1.3. TUJUAN.................................................................................................................3

BAB II......................................................................................................................................3

LANDASAN TEORI....................................................................................................................3

2.1 Pengertian Cache Memory............................................................................................3

2.2 Sejarah Cache Memory.................................................................................................5

2.3 Letak cache memory.....................................................................................................9

2.4 Cara Kerja Cache Memory.........................................................................................10

BAB III...................................................................................................................................19

PEMBAHASAN.......................................................................................................................19

3.1 Pemetaan (Mapping)..................................................................................................19

3.2 DIRECT MAPPING........................................................................................................19

3.3 ASSOCIATVE MAPPING...............................................................................................22

3.4 SET ASSOCIATIVE MAPPING............................................................................................24

BAB IV...................................................................................................................................26

PENUTUP..............................................................................................................................26

Page 2: Cache Memory

BAB I

PENDAHULUAN

1.1. LATAR BELAKANGAkhir - akhir ini perkembangan IT di Dunia sangat pesat, mulai dari perkembangan

sofware ingga hardware seperti prosesor dan memoril. Takdapat dipungkiri lagi

computer sekarang sangat membantu manusia dalam mengerjakan tugas manusia.

Perusahaan-perusahaan persaingan computer sekarang semakin ketat yang

mengakibatkan harga bisa dijangkau masyarakat menengah kebawah.

Perbedaan kecepatan operasi antara prosesor dan memori utama bisa menjadi

kendala bagi dicapainya efisiensi kerja sistem komputer..Kendala ini menyebabkan

diperlukannya cache, yakni memori berkapasitas kecil tetapi berkecepatan tinggi,

yang dipasang di antara prosesor dan memori utama. Cache umumnya menggunakan

memori statik yang mahal harganya, sedangkan memori utama menggunakan

memori dinamik yang jauh lebih murah. Disini kami mencoba akan menerangkan

apa itu cache memory.

Page 3: Cache Memory

1.2. RUMUSAN MASALAHAdapun masalah yang kami ambil dalam makalah ini, yaitu

1. Bagaiamana cara kerja cache memory?

2. Bagaiamana cara kerja mapping pada memory?

1.3. TUJUAN

Adapun tujuan penulisan dalam makalah ini, yaitu

1. Untuk mengetahui cara kerja memori

2. Untuk mengetahui cara kerja cache memori

Page 4: Cache Memory

BAB II

LANDASAN TEORI

2.1 Pengertian Cache MemoryKecepatan memori utama sangat rendah dibandingkan dengan kecepatan prosesor

modern. Untuk perfoma yang baik, prosesor tidak dapat membuang waktunya

dengan menunggu untuk mengskses intruksi dan data pada memory

utama.Karenanya, sangat penting untuk  memikirkan suatu skema yang mengurangi

waktu dalam mengakses informasi. Karena kecepatan unit memori utama dibatasi

oleh batasan elektronik dan packaging, maka solusinya harus dicaridalam pengaturan

arsitekture yang berbeda. Solusi yang efisien adalah menggunakan memory cache

cepat yang sebenarnya membuat memori utama tampak lebih cepat bagi prosesor

daripada sebenarnya.

Keefektifan mekanisme cahe didasarkan pada property program computer yang

disebut locality of reference. Analisa program menunjukan bahwa sebagian besar

waktu eksekusinya digunakan untuk rountine dimana banyak intrksi dieksekusi

secara berulangkali. Instruksi tersebut dapat merupakan loop sederhana,nested loop,

atau beberapa prosedur yang berulangkali saling memanggil. Pola detil actual dari

rangkaian instruksi tidaklah penting, yang utama adalah banyak intruksi dalam area

program yang terlokalisasi dieksekusi berulangkali selama beberapa periode, dan

baian program yang lain relatifjarang diakses. Disebut locality of reference. Hal ini

memanifestasikan dirinnya dalam dua cara : temporal dan spatial. Yang pertama

berarti bahwa instruksi yang baru dieksekusi tampaknya akan dieksekusi lagi segera.

Aspek spatial berarti instruksi yang dekat dengan instruksi yang baru saja

dieksekusi(mengacu pada alamat instruksi) tampaknya juga akan dieksekusi segera.

Page 5: Cache Memory

Secara konseptual, operasi memori cache sangat sederhana. Sirkuit control memori

didesain untuk memanfaatkan properti locality of reference. Aspek temporal locality

of reference menyatakan bajwa kapanpun suatu item informasi pertama kali

diprlukan , maka item tersebut sebaiknya dibawa kedalam cache dimana item

tersebut akan tetap tinggal hingga diperlukan lagi. Aspek spatial menyatakann

daripada mengambil hanya satu item dari memori utama ke cache, akan berguna

untuk mengambil beberapa item yang terletak pada alamat yang berdekatan.Istilah

yang mengacu pada blok cache adalah jalur cache.

Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat

menyembunyikan atau tempat menyimpan sementara.

Cache memori  adalah tempat menyimpan 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 bagian 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.

Page 6: Cache Memory

Gambar 2.1 Posisi cahce memory pada system memory

2.2 Sejarah Cache Memory

Kami melihat di memori komputer digital awal, lihat Sejarah komputer - Memori

Core, dan menyebutkan bahwa standar sekarang RAM (Random Access Memory)

adalah memori chip. Hal ini sesuai dengan aplikasi sering dikutip dari Hukum Moore

(Gordon Moore adalah salah satu pendiri Intel). Hal ini menyatakan bahwa

kepadatan komponen pada sirkuit terpadu, yang dapat diparafrasekan sebagai kinerja

per unit cost, dua kali lipat setiap 18 bulan. Awal memori inti memiliki waktu siklus

dalam mikrodetik, hari ini kita berbicara dalam nanodetik.

Anda mungkin akrab dengan istilah cache, sebagaimana diterapkan pada PC. Ini

adalah salah satu kinerja fitur yang disebutkan ketika berbicara tentang CPU terbaru,

atau Hard Disk. Anda dapat memiliki cache L1 atau L2 pada prosesor, dan cache

disk dari berbagai ukuran. Beberapa program memiliki cache juga, juga dikenal

sebagai penyangga, misalnya, saat menulis data ke cd burner. Awal program CD

burner telah 'overruns'. Hasil akhir ini adalah pasokan baik coaster!

Sistem Mainframe telah menggunakan cache selama bertahun-tahun. Konsep ini

menjadi populer pada 1970-an sebagai cara untuk mempercepat waktu akses

Page 7: Cache Memory

memori. Ini adalah saat ketika memori inti sedang dihapus dan digantikan dengan

sirkuit terpadu, atau keripik. Meskipun chip jauh lebih efisien dari segi ruang fisik,

mereka memiliki masalah lain keandalan dan panas. Chips dari desain tertentu lebih

cepat, lebih panas dan lebih mahal dibandingkan chip desain yang lain, yang lebih

murah, tetapi lebih lambat. Kecepatan selalu menjadi salah satu faktor paling penting

dalam penjualan komputer, dan insinyur desain selalu waspada terhadap cara-cara

untuk meningkatkan kinerja.

Sekarang kami memperkenalkan 'kecepatan tinggi' memori dengan siklus waktu,

mengatakan 250 nanoseconds antara CPU dan memori utama. Ketika kami meminta

petunjuk pertama, di lokasi 100, memori cache permintaan alamat 100, 101, 102 dan

103 dari inti semua memori pada saat yang sama, dan mereka tetap dalam cache. 100

adalah instruksi ke CPU untuk diproses, dan selanjutnya meminta, untuk 101, yang

diisi dari cache. Demikian pula 102 dan 103 akan lebih meningkat di ulangi

kecepatan 250ns. Sementara itu cache memori telah meminta berikutnya 4 alamat,

104-107. Ini terus sampai prediksi 'di sebelah lokasi' adalah salah. Proses ini

kemudian diulang kembali ke cache dengan data yang baru alamat jangkauan. J

prediksi alamat dengan benar, ketika berada di lokasi diminta Cache adalah cache

dikenal sebagai 'hit'.

Jika memori utama tidak inti, tetapi lambat chip memori, yang tidak memperoleh

sebagai besar, tapi masih perbaikan. Mahal kecepatan tinggi memori hanya

diperlukan untuk sebagian kecil dari kapasitas memori utama yang murah.

Pemrogram juga dapat merancang program-program yang sesuai cache operasi,

misalnya dengan membuat sebuah cabang instruksi dalam satu lingkaran mengambil

instruksi berikutnya untuk semua kasus, kecuali ujian akhir, mungkin count = 0, bila

terjadi cabang. 

Page 8: Cache Memory

Sekarang mempertimbangkan kecepatan keuntungan yang akan dibuat dengan disk.

Menjadi mekanis perangkat, disk bekerja milidetik, sehingga memuat sebuah

program atau data dari disk sangat lambat dibandingkan, bahkan untuk memori inti -

1000 kali lebih cepat! Juga ada waktu mencari dan latensi untuk dipertimbangkan.

(Hal ini dapat dilihat di artikel lain pada disk.) 

Anda mungkin telah mendengar istilah DMA dalam kaitannya dengan PC. Ini

merujuk kepada Direct Memory Access. Yang berarti bahwa data dapat ditransfer ke

atau dari harddisk langsung ke memori, tanpa harus melalui semua komponen

lainnya. Mainframe dalam komputer, yang biasanya I / O atau Input / Output

prosesor memiliki akses langsung ke memori, menggunakan data yang ditempatkan

di sana oleh Processor. Jalur ini juga di dukung dengan menggunakan cache

memori. 

Dalam PC, CPU chip kini telah dibangun di-cache. Level 1, atau L1, Cache adalah

cache utama di CPU yang SRAM atau Static RAM. Ini adalah kecepatan tinggi (dan

lebih mahal) dibandingkan dengan memori DRAM atau Dynamic RAM, yang

digunakan untuk sistem memori. L2 cache, SRAM juga dapat dimasukkan dalam

CPU atau eksternal pada motherboard. Memiliki kapasitas yang lebih besar dari L1

cache.

Konsep memori cache didasarkan pada fakta bahwa komputer secara inheren mesin

pemrosesan sekuensial. Tentu saja salah satu keuntungan besar dari program

komputer adalah dapat 'cabang' atau 'melompat' keluar dari urutan - subyek artikel

lain dalam seri ini. Namun, masih ada waktu cukup ketika satu instruksi berikut lain

untuk membuat buffer atau cache tambahan yang berguna untuk komputer.

Page 9: Cache Memory

Ide dasar dari cache adalah untuk memprediksi data apa yang dibutuhkan dari

memori untuk diproses dalam CPU. Pertimbangkan sebuah program, yang terdiri

dari instruksi seri, masing-masing disimpan di sebuah lokasi di memori, mengatakan

dari alamat 100 ke atas. Instruksi pada lokasi 100 adalah membaca memori dan

dieksekusi oleh CPU, maka instruksi berikutnya dibaca dari 101 lokasi dan

dilaksanakan, kemudian 102, 103 dll

Jika memori yang dimaksud adalah memori inti, mungkin akan memakan waktu 1

mikrodetik untuk membaca sebuah instruksi. Jika prosesor mengambil, mengatakan

100 nanodetik untuk mengeksekusi instruksi, ia kemudian harus menunggu 900

nanodetik untuk instruksi berikutnya (1 mikrodetik = 1000 nanodetik). Kecepatan

ulangi efektif CPU adalah 1 mikrodetik. . (Times dan dikutip kecepatan yang khas,

tetapi tidak mengacu pada perangkat keras yang spesifik, hanya memberikan

gambaran dari prinsip-prinsip yang terlibat.)

2.3 Letak cache memory

L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah menyatu

dengan chip prosesor (berada di dalam keping prosesor). Sedangkan letak L2 cache,

ada yang menyatu dengan chip prosesor, ada pula yang terletak di luar chip prosesor,

yaitu di motherboard dekat dengan posisi dudukan prosesor. Pada era prosesor intel

80486 atau sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor.

Chip cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era

prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi dengan chip prosesor

(menyatu dengan keping prosesor). Posisi L2 cache selalu terletak antara L1 cache

dengan memori utama (RAM). Sedangkan L3 cache belum diimplementasikan

Page 10: Cache Memory

secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang

memiliki L3 cache.

Cache memory yang letaknya terpisah dengan prosesor disebut cache memory non

integrated atau diskrit (diskrit artinya putus atau terpisah). Cache memory yang

letaknya menyatu dengan prosesor disebut cache memory integrated, on-chip,

atau on-die(integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada

chip).

L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache,

ataulevel one cache. L2 cache disebut dengan istilah secondary cache, second level

cache, ataulevel two cache.

Page 11: Cache Memory

Gambar 2.2 Ilustrasi cache memory, bus, chipset, memori utama,

dan komponen lainnya

2.4 Cara Kerja Cache Memory

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

Page 12: Cache Memory

semakin besar juga akan meningkatkan kecepatan kerja computer secara

keseluruhan.

Dua jenis cache yang sering digunakan dalam dunia computer adalah memory

caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari

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

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.

2.5 Hirarki Memory

Page 13: Cache Memory

Gambar 2.3 Hirarki memory

1. Inboard Memori.

Inboard memori adalah memori yang dapat diakses langsung oleh

prosesor Inboard memori dibagi menjadi 3:

a. Register Memori.

Merupakan jenis memori dengan kecepatan akses yangpaling cepat ,

memori ini terdapat pada CPU/ prosesor.

Contoh : Register Data, Register Alamat, Stack Pointer Register, Memori

Addres Register, Instruction Register, dll.

b. Cache Memori.

Meupakan memori berkapasitas kecil yang lebih mahal dari memori

utama. Cache memori terletak antara memori utama dan register pemroses,

berfungsi agar pemroses tidak langsung mengacu pada memori utama agar

kinerja dapat ditingakan.

Page 14: Cache Memory

Cache Memory ini ada dua macam 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 cepat

Processor.

2. 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.

c. Memori utama

Memori Utama Memori yang berfungsi untuk menyimpan data dan

program. Jenis Memori Utama :

1. ROM ( Read Only memory) yaitu memory yang hanya bisa dibaca

saja datanya atau programnya. Pada PC, ROM terdapat pada BIOS

( Basic Input Output System ) yang terdapat pada Mother Board yang

berfungsi untuk men-setting peripheral yang ada pada system.

Contoh: AMIBIOS, AWARD BIOS, dll. ROM untuk BIOS terdapat

beragam jenis diantaranya jenis Flash EEPROM BIOS yang

memiliki kemampuan untuk dapat diganti programnya dengan

software yang disediakan oleh perusahhan pembuat Mother Board,

Page 15: Cache Memory

yang umumnya penggantian tersebut untuk peningkatan unjuk kerja

dari peripheral yang ada di Mother Board.

2. RAM (Random Acces Memory) yang memiliki kemampuan untuk

dirubah data atau program yang tersimpan didalamnya. Ada bebrapa

jenis RAM yang ada dipasaran saat ini :

· SRAM

· EDORAM

· SDRAM

· DDRAM

· RDRAM

· VGRAM

2. Outboard Storage

Outboard Storage adalah penyimpanan yang memiliki kapasitas

lebih besar dari pada inboard memori, dan bersifat non-voltaile, serta digunakan

dalam kurun waktu tertentu. Contoh dari outboard storage ini antara lain:

a. Magnetic Disk

Adalah simpana luar yang terbuat dari satu atau lebih pringan yang

bentuknya seperti piringan hitam yang terbuat dari metal atau dari plastik

dan permukaannya dilapisi dengan magnet iron-oxide, dan

memiliki Read/Write protect notch ( lubang proteksi baca dan tulis ).

Page 16: Cache Memory

b. Hard Disk

Terbuat dari piringan keras dari bahan alumunium atau keramik yang

dilapisi dengan zat magnetik kapasitas dari hard disk berkisar antara 5

megabyte sampai 1 gigabyte.saat ini komputer telah menggunakan

kapasitas hard disk hingga 80 gigabyte lebih.

3. Off-line Storage

Off-line storage tergolong dalam penyimpana yang lambat karena

masih menggunakan pita magnetik. Riskannya penggunakan dana lama

masa pakai membuat jenis penyimpanan ini saangat jarang digunakan. Contoh :

1. Cardride tape.

2. WORM, dll.

Tipe Memori, Waktu dan Pengontrolan.

Tipe memori berdasarkan tempat dan pengaksesan prosesor dibedakan

menjadi:

1. Memori Internal

Page 17: Cache Memory

Register

Main Memory

Chache Memory

Memori Eksternal

Magnetik Disk

Floppy Disk

IDE Disk

SCSI Disk

RAID

Optical Disk

CDROM

CD-R

CD-RW

DVD Pita Magnetik

Pengontrolan memori dapat dijabarkan :

1. Sequential access

Memori diorganisasi menjadi unit unit data yang disebutrecord.Akses harus

dibuat dalam bentuk urutan linier yang spesifik. Informasi pengalamatan yang

disimpan dipakai untuk memisahkan record record dan untuk membantu proses

pencarian.Terdapat shared read/write mechanism untuk penulisan/pembacaan

memorinya. Pita magnetik merupakan memori yang menggunakan metode

sequential access.

2. Direct access

Page 18: Cache Memory

Sama sequential access terdapat shared read/writemechanism. Setiap blok

dan record memiliki alamat unik berdasarkan lokasi fisiknya. Akses dilakukan

langsung pada alamat memori. Disk adalah memori direct access

3. Random access

Setiap lokasi memori dipilih secara random dan diakses serta dialamati

secara langsung. Contohnya adalah memori utama.

4. Associative access

Jenis random akses yang memungkinkan pembandingan lokasi bit yang

diinginkan untuk pencocokan. Data dicari berdasarkan isinya bukan

alamatnya dalam memori. Contoh memori ini adalah cache memori

Waktu akses memori dapat dijabarkan :

1. Access time

Bagi random access memory, waktu akses adalah waktu yang dibutuhkan

untuk melakukan operasi baca atau tulis.Memori non-random akses merupakan

waktu yang dibutuhkan dalam melakukan mekanisme baca atau tulis pada lokasi

tertentu.

2. Memory cycle time

Konsep ini digunakan pada random access memory terdiri dari access time

ditambah dengan waktu yang diperlukan transient agar hilang pada

saluran sinyal.

3. Transfer rate

Kecepatan data transfer ke unit memori atau dari unit memori.

1.Random access memory sama dengan 1/(cycle time).

2. Non-random access memory dengan perumusan :

TN = TA + (N/R)

Page 19: Cache Memory

TN = waktu rata rata untuk membaca atau menulis N bit

TA = waktu akses rata rata

N = jumlah bitR = kecepatan transfer dalam bit per detik (bps)

Page 20: Cache Memory

BAB III

PEMBAHASAN

3.1 Pemetaan (Mapping)

Karena M jauh lebih besar dari C, maka harus dipikirkan cara meletakkan

setiap blok main memory pada line dalam cache memory. Paling tidak ada 3 macam

cara menyalin blok ke dalam line, yaitu Direct Mapping, Associative Mapping dan

Set Associative Mapping.

3.2 DIRECT MAPPING– Setiap blok pada main memory dipetakan dengan line tertentu pada cache.

i = j modulo C

di mana i adalah nomor line pada cache yang digunakan untuk meletakkan blok main

memory ke-j.

– Jika M = 64 dan C = 4, maka pemetaan antara line dengan blok menjadi seperti berikut :

Line 0 can hold blocks 0, 4, 8, 12, ...

Line 1 can hold blocks 1, 5, 9, 13, ...

Line 2 can hold blocks 2, 6, 10, 14, ...

Line 3 can hold blocks 3, 7, 11, 15, ...

– Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu

» Tag identifier.

» Line number identifier

» Word identifier (offset)

Pada gambar 6.5. tampak skema organisasi cache secara Direct Mapping.

– Word identifier berisi informasi tentang lokasi word atau unit addressable lainnya dalam

line tertentu pada cache.

– Line identifier berisi informasi tentang nomor fisik (bukan logika) line pada cache.

– Tag identifier disimpan pada cache bersama dengan blok pada line.

Page 21: Cache Memory

» Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu yang menyimpan

copy alamat tsb ditentukan, jika blok tempat lokasi data tersebut sudah dikopi dari

main memory ke cache.

» Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang dimaksud

ada pada line tsb.

Gambar 6.5. Organisasi Direct Mapping.

– Contohnya :

Memory size of 1 MB (20 address bits)

Addressable to the individual byte

Cache size of 1 K lines, each holding 8 bytes

Word id = 3 bits

Line id = 10 bits

Page 22: Cache Memory

Tag id = 7 bits

Di manakah isi main memory alamat ABCDE (dalam bilangan heksa) diletakkan

pada cache ?

ABCDE=1010101 1110011011 110

Line 39B, word 6, tag 55

Gambar 6.6. Contoh Direct Mapping

Page 23: Cache Memory

3.3 ASSOCIATVE MAPPING – Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.

– Diharapkan akan mengatasi kelemahan utama Direct Mapping.

– Harus menguji setiap cache untuk menemukan blok yang diinginkan.

» Mengecek setiap tag pada line

» Sangat lambat untuk cache berukuran besar.

– Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja,

yaitu tag dan word offset.

– Cache dibagi menjadi 2 bagian :

» lines dalam SRAM

» tag dalam associative memory

– Melakukan pencarian ke semua tag untuk menemukan blok.

– Contohnya :

Word id = 3 bits

Tag id = 17 bits

Di mana letak data alamat ABCDE pada cache ?

ABCDE = 10101011110011011 110

Cache line tidak diketahui, word offset 6, tag 1579D

– Keuntungan Associative Mapping: cepat dan fleksibel.

– Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte dibutuhkan

1024 x 17 bit associative memory untuk menyimpan tag identifier.

Page 24: Cache Memory

Gambar 6.7. Organisasi cache Associative Mapping.

3.4 SET ASSOCIATIVE MAPPING

– Merupakan kompromi antara Direct dengan Full Associative Mapping.

– Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line

(k)

– Setiap blok dapat diletakkan di sebarang line dengan nomor set :

nomor set = j modulo v

– Jika sebuah set dapat menampung X line, maka cache disebut memiliki X-way set

associative cache.

» Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-

way set associative mapping.

– Contoh untuk main memory dengan 20-bit address.

Assume the 1024 lines are 4-way set associative

Page 25: Cache Memory

1024/4 = 256 sets

Word id = 3 bits

Set id = 8 bits

Tag id = 9 bits

Where is the byte stored at main memory location ABCDE stored?

ABCDE=101010111 10011011 110

Cache set 9B, word offset 6, tag 157

Page 26: Cache Memory

BAB IV

PENUTUP

4.1 Simpulan dan Saran

cache memory itu sama fungsinya yang menyebabkan perbedaan hanyalah pada

tempat,cara kerja dan kecepatan secara spesifik. 

– Keuntungan Direct Mapping antara lain :

Mudah dan murah diimplementasikan.

Mudah untuk menentukan letak salinan data main memory pada cache.

– Kerugian

Setiap blok main memory hanya dipetakan pada 1 line saja.

Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok

yang dipetakan pada line yang sama pada cache. Blok seperti ini akan

menyebabkan seringnya sapu masuk dan keluar data ke/dari cache, sehingga hit

ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannya data

pada cache dengan jumlah usaha mengakses cache.