Anda di halaman 1dari 76

,

Cache Memory (Memori Cache)

 Cache memori difungsikan mempercepat kerja memori sehingga mendekati

kecepatan prosesor.
 Konsepnya dijelaskan pada gambar a) dan gambar b). Dalam organisasi

komputer, memori utama lebih besar kapasitasnya namun lambat operasinya,


sedangkan cache memori berukuran kecil namun lebih cepat. Cache memori
berisi salinan memori utama.
,

1
Cache Memory

 Pada saat CPU membaca sebuah word memori, maka dilakukan pemeriksaan

untuk mengetahui apakah word tersebut berada dalam cache memori.


 Bila ada dalam cache memori maka dilakukan pengiriman ke CPU, bila tidak

dijumpai maka dicari dalam memori utama, selanjutnya blok yang berisi
sejumlah word tersebut dikirim ke cache memori dan word yang diminta CPU
dikirimkan ke CPU dari cache memori.

2
Cache Memory
,

 Karena fenomena lokalitas referensi, ketika blok data diberikan ke dalam cache

memori, terdapat kemungkinan bahwa word-word berikutnya yang berada


dalam satu blok akan diakses oleh CPU.
 Konsep ini yang menjadikan kinerja memori lebih baik.

3
Cache Memory

Sehingga dapat disimpulkan bahwa


,

kerja cache adalah antisipasi


terhadap permintaan data memori
yang akan digunakan CPU.
 Apabila data diambil langsung dari
memori utama bahkan memori

Gambar a. eksternal akan memakan waktu


lama yang menyebabkan status ,

tunggu pada prosesor.

4
Organisasi Cache

5
Gambar b.
Cache Memory
,

Memori Cache merupakan :

1) Memori cepat dengan kapasitas yang sedikit


2) Terletak antara main memory dengan CPU
3) Bisa saja diletakkan dalam chip CPU atau module tersendiri

6
Cache Memory
,

 Ukuran cache memori adalah kecil, semakin besar kapasitasnya maka akan
memperlambat proses operasi cache memori itu sendiri, disamping harga
cache memori yang sangat mahal.
\

7
Cache Memory

Operasi pada Cache

1. CPU meminta isi data dari lokasi memori tertentu


2. Periksa data tersebut di cache
3. Jika ada ambil dari cache (cepat)
4. Jika tidak ada, baca 1 block data dari Main memory ke cache
5. Ambil dari cache ke CPU
6. Cache berisi tags untuk identitas block dari Main memory yang berada di
cache
8
Desain Cache

1. Ukuran : size
2. Fungsi Mapping
3. Algoritma penggantian : replacement algorithm
4. Cara penulisan : write policy
5. Ukuran : Block
6. Jumlah : Cache

9
Kapasitas Cache

 Menentukan ukuran memori cache sangatlah penting untuk mendongkrak

kinerja komputer. Dari segi harga cache sangatlah mahal tidak seperti memori
utama.
 Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan

ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan


memperlambat proses.
.

10
Kapasitas Cache
,

 Beberapa merek prosesor di pasaran beberapa waktu lalu, AMD


mengeluarkan prosesor K5 dan K6 dengan cache yang besar (1Mb) tetapi
kinerjanya kurang bagus.

 Intel pernah mengeluarkan prosesor tanpa cache untuk alasan harga yang

murah, yaitu seri Intel Celeron pada tahun 1998-an hasil kinerjanya sangat
buruk terutama untuk operasi data besar, floating point, 3D.
 Intel Celeron versi berikutnya sudah ditambah cache sekitar 128Kb.
,

11
Kapasitas Cache
,

 Lalu berapa idealnya kapasitas cache?


 Sejumlah penelitian telah menganjurkan bahwa ukuran cache antara 1Kb dan

512Kb akan lebih optimum.

12
Kapasitas Cache

Size
1) Cost
 Semakin besar semakin mahal
2) Speed
a. Semakin besar semakin cepat
b. Check data di cache perlu waktu

 Ukuran cache memori adalah kecil, semakin besar kapasitasnya akan

memperlambat proses operasi cache memori itu sendiri, disamping itu harga
cache memori yang sangat mahal.
13
Kapasitas Cache

Ukuran Blok
 Elemen rancangan yang harus diperhatikan lagi adalah ukuran blok. Telah

dijelaskan adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah
penting.
 Apabila blok berukuran besar ditransfer ke cache akan menyebabkan hit ratio

mengalami penurunan karena banyaknya data yang dikirim disekitar


referensi. Tetapi apabila terlalu kecil, dimungkinkan memori yang akan .

dibutuhkan CPU tidak tercakup.


14
Ukuran Blok

Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi :


a)Blok–blok yang berukuran lebih besar mengurangi jumlah blok yang
menempati cache. Karena isi cache sebelumnya akan ditindih.
b)Dengan meningkatnya ukuran blok maka jarak setiap word tambahan menjadi
lebih jauh dari word yang diminta, sehingga menjadi lebih kecil
kemungkinannya untuk digunakan cepat.

15
Ukuran Blok
,

 Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan,

tergantung pada karakteristik lokalitas programnya dan tidak terdapat nilai


optimum yang pasti telah ditemukan.
 Ukuran antara 4 hingga 8 satuan yang dapat dialamati (word atau byte) cukup

beralasan untuk mendekati nilai optimum.


,

16
Fungsi Mapping (pemetaan)

 Telah kita ketahui bahwa cache mempunyai kapasitas yang kecil dibandingkan

memori utama.
 Sehingga diperlukan aturan blok–blok mana yang diletakkan dalam cache.
,

Entrepreneur  University - UPB


 Terdapat tiga metode, yaitu Pemetaan Langsung, Pemetaan Asosiatif, dan

Pemetaan Asosiatif Set.

17
Fungsi Mapping (pemetaan)
,

1) Ukuran Cache : 64kbyte


2) Ukuran block : 4 bytes
a. diperlukan 16k (214) alamat per alamat 4 bytes
b. Jumlah jalur alamat cache 14
3) Main memory : 16MBytes
4) Jalur alamat perlu 24 bit
,

 (2 =16M)
24

18
Metode Mapping (pemetaan)

1. Direct Mapping (pemetaan langsung)

 Pemetaan langsung adalah teknik yang paling sederhana, yaitu teknik ini
memetakan blok memori utama hanya ke sebuah saluran cache saja. Gambardi
bawah menjelaskan mekanisme pemetaan langsung.

19
Metode Mapping (pemetaan)
,

1) Setiap block main memory dipetakan hanya ke satu jalur cache


 Jika suatu block ada di cache, maka tempatnya sudah tertentu

2) Address terbagi dalam 2 bagian


3) LS-w-bit menunjukkan word tertentu
4) MS-s-bit menentukan 1 blok memori
5) MSB terbagi menjadi field jalur cache r dan tag sebesar s-r (most
significant) ,

20
Organisai Cache Direct Mapping

21
Organisai Cache Direct Mapping

22
Organisai Cache Direct Mapping
,

i = j modulus m dan m = 2r, dimana :


i = nomer saluran cache
j = nomer blok memori utama
m = jumlah saluran yang terdapat dalam cache
Fungsi pemetaan diimplementasikan dengan menggunakan alamat, yang terdiri

dari tiga field (tag, line, word), lihat gambar di bawah.


.

23
Organisai Cache Direct Mapping
,

w = word, adalah bit paling kurang berarti yang mengidentifikasikan word atau
byte unik dalam blok memori utama.
s = byte sisa word yang menspesifikasi salah satu dari 2S blok memori utama.
Cache logik menginterpretasikan bit–bit S sebagai suatu tag s–r bit (bagian paling
berarti dalam alamat) dan field saluran r bit.

24
Organisai Cache Direct Mapping

Efek pemetaan tersebut adalah blok – blok memori utama diberikan ke saluran
cache seperti berikut ini:

25
Organisai Cache Direct Mapping
,

 Jadi dalam metode ini pemetaan adalah bagian alamat blok memori utama

sebagai nomor saluran cache.


 Ketika suatu blok data sedang diakses atau dibaca terhadap saluran yang

diberikan, maka perlu memberikan tag bagi data untuk membedakannya


dengan blok–blok lain yang dapat sesuai dengan saluran tersebut.

26
Organisai Cache Direct Mapping

Pada gambar di bawah ini menyajikan contoh pemetaan langsung dengan


m = 16K, maka pemetaannya :

27
Organisai Cache Direct Mapping
,

 Perlu diketahui bahwa tidak ada dua buah blok yang dipetakan ke nomer

saluran yang sama memiliki tag sama.


,

 Sehingga 000000, 010000, …., FF0000 masing – masing memiliki tag 00, 01,

…., FF. 28
Contoh Direct Mapping

29
Struktur Alamat Direct Mapping
Tag s-r Line or Slot r Word w

8 14 2

a) 24 bit address
b) 2 bit : word identifier (4 byte block)
c) 22 bit: block identifier
i. 8 bit tag (=22-14)
ii. 14 bit slot atau line
d) 2 blocks pada line yang sama tidak boleh memiliki tag yang sama
e) Cek isi cache dengan mencari line dan Tag

30
Table Cache Line pada Direct Mapping
,

 Teknik pemetaan ini sederhana dan mudah diimplementasikan, namun


kelemahannya adalah terdapat lokasi cache yang tetap bagi sembarang blok–
blok yang diketahui.
 Dengan demikian, apabila suatu program berulang–ulang melakukan word
referensi dari dua blok yang berbeda memetakan saluran yang sama maka
blok–blok itu secara terus–menerus akan di-swap ke dalam cache sehingga hit
rasionya akan rendah. ,

31
Metode Mapping (pemetaan)

Keuntungan & Kerugian Direct Mapping

1) Relatif lebih sederhana


2) Harga relatif murah
3) Suatu blok memiliki lokasi yang tetap
 Jika program mengakses 2 block yang di map ke-line yang sama secara
berulang-ulang, maka cache-miss sangat tinggi

32
Metode Mapping (pemetaan)

2. Associative Mapping

 Pemetaan asosiatif mengatasi kekurangan pemetaan langsung dengan cara

setiap blok memori utama dapat dimuat ke sembarang saluran cache.


 Alamat memori utama diinterpretasikan dalam field tag dan field word oleh

kontrol logika cache.


 Tag secara unik mengidentifikasi sebuah blok memori utama.
,

33
Associative Mapping
,

Pemetaan asosiatif

1) Blok main memori dapat di simpan ke cache line mana saja


2) Alamat Memori di interpresi sebagai tag dan word
3) Tag menunjukan identitas block memori
4) Setiap baris tag dicari kecocokannya
5) Pencarian data di Cache menjadi lama ,

34
Associative Mapping

 Mekanisme untuk mengetahui suatu blok dalam cache dengan memeriksa

setiap tag saluran cache oleh kontrol logika cache.


 Dengan pemetaan ini didapat fleksibilitas dalam penggantian blok baru yang

ditempatkan dalam cache. Algoritma penggantian dirancang untuk


memaksimalkan hit ratio, yang pada pemetaan langsung terdapat kelemahan
dalam bagian ini.
 Kekurangan pemetaan asosiatif adalah kompleksitas rangkaian sehingga
relatif mahal secara ekonomi. .

35
Organisasi Cache Fully Associative

36
36
Contoh Associative Mapping

37
Struktur Address Associative Mapping

Tag 22 bit Word


2 bit

1) 22 bit tag disimpan untuk blok data 32 bit


2) tag field dibandingkan dg tag entry dalam cache untuk pengecekan data
3) LS 2 bits dari address menunjukkan 16 bit word yang diperlukan dari 32 bit
data block
4) Contoh :
a. Address Tag Data Cache line
b. FFFFFC FFFFFC 24682468 3FFF 38
Metode Mapping (pemetaan)

3. Set Associative Mapping

a) Pemetaan asosiatif set menggabungkan kelebihan yang ada pada pemetaan


langsung dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set– set.
b) Pemetaan asosiatif set prinsipnya adalah penggabungan kedua pemetaan
sebelumnya.

39
Set Associative Mapping
,

c) Alamat memori utama diinterpretasikan dalam tiga field, yaitu: field tag, field
set, dan field word. Hal ini mirip dalam pemetaan langsung. Setiap blok
memori utama dapat dimuat dalam sembarang saluran cache. Gambar di
bawah menjelaskan organisasi pemetaan asosiatif set.

40
Set Associative Mapping

 Dalam pemetaan asosiatif set, cache dibagi dalam v buah set, yang masing –

masing terdiri dari k saluran. Hubungan yang terjadi adalah :

m=vxk
i = j modulus v dan v = 2d dimana :
i = nomer set cache
j = nomer blok memori utama
m = jumlah saluran pada cache .

41
Set Associative Mapping
.

1) Cache dibagi dalam sejumlah sets


2) Setiap set berisi sejumlah line
3) Suatu blok di maps ke line mana saja dalam set
 misalkan Block B dapat berada pada line mana saja dari set i
4) Contoh : per-set ada 2 line
a. 2 way associative mapping

b. Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set

42
Set Associative Mapping

Contoh Set Associative Mapping

a. Nomor set 13 bit


b. Nomor Block dlm main memori adl modulo 213
000000, 00A000, 00B000, 00C000 … map ke set yang sama

43
Organisasi Cache :
Two Way Set Associative

UPB
Entrepreneur  University -
44
Struktur Address :
Set Associative Mapping
Tag 9 bit Set 13 bit Word
2 bit

1) set field untuk menentukan set cache set yang dicari


2) Bandingkan tag field untuk mencari datanya
3) Contoh:
4) Address Tag Data Set number
1FF 7FFC 1FF 12345678 1FFF
001 7FFC 001 11223344 1FFF
45
Set Associative Mapping

 Gambar di bawah ini menjelaskan contoh yang menggunakan pemetaan

asosiatif set dengan dua saluran pada masing-masing set, yang dikenal
sebagai asosiatif set dua arah.
 Nomor set mengidentifikasi set unik dua saluran di dalam cache. Nomor set

ini juga memberikan jumlah blok di dalam memori utama, modulus 2.

46
Set Associative Mapping
,

 Jumlah blok menentukan pemetaan blok terhadap saluran. Sehingga blok-blok

000000, 00A000,…,FF1000 pada memori utama dipetakan terhadap set 0


cache. Sembarang blok tersebut dapat dimuatkan ke salah satu dari kedua
saluran di dalam set.
 ⇨ Perlu dicatat bahwa tidak terdapat dua blok yang memetakannya terhadap

set cache yang sama memiliki nomor tag yang sama. Untuk operasi read,
nomor set dipakai untuk menentukan set dua saluran yang akan diuji. Kedua .

saluran di dalam set diuji untuk mendapatkan yang cocok dengan nomor tag
alamat yang akan diakses. 47
Contoh Two Way Set Associative Mapping

48
Replacement Algorithms (Algoritma penggantian)

 Yang dimaksud Algoritma Penggantian adalah suatu mekanisme pergantian

blok–blok dalam memori cache yang lama dengan data baru.


 Dalam pemetaan langsung tidak diperlukan algoritma ini, namun dalam

pemetaan asosiatif dan asosiatif set, algoritma ini mempunyai peranan penting
untuk meningkatkan kinerja cache memori.

49
Replacement Algorithms (Algoritma penggantian)

 Banyak algoritma penggantian yang telah dikembangkan, namun dalam buku

ini akan dijelaskan algoritma yang umum digunakan :


1) Algoritma yang paling efektif adalah Least Recently Used (LRU), yaitu
mengganti blok data yang terlama berada dalam cache dan tidak memiliki
referensi.

50
Replacement Algorithms (Algoritma penggantian)
.

2) Algoritma lainnya adalah First In First Out (FIFO), yaitu mengganti blok
data yang awal masuk.
3) Kemudian Least Frequently Used (LFU) adalah mengganti blok data yang
mempunyai referensi paling sedikit.
4) Teknik lain adalah algoritma Random, yaitu penggantian tidak berdasakan
pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat ,

secara acak.

51
Replacement Algorithms (Algoritma penggantian)

Replacement Algorithms (Algoritma penggantian)


Direct mapping

1. Tidak ada pilihan


2. Setiap block hanya di map ke 1 line
3. Ganti line tersebut

52
Replacement Algorithms
Associative & Set Associative
1. Hardware implemented algorithm (speed)
2. Least Recently used (LRU)
3. e.g. in 2 way set associative
 Which of the 2 block is lru?
4. First in first out (FIFO)
 replace block that has been in cache longest
5. Least frequently used
 replace block which has had fewest hits
6. Random
53
Write Policy

 Apabila suatu data telah diletakkan pada cache maka sebelum ada

penggantian harus dicek apakah data tersebut telah mengalami


perubahan.
 Apabila telah berubah maka data pada memori utama harus di-update.

Masalah penulisan ini sangat kompleks, apalagi memori utama dapat


diakses langsung oleh Modul I/O. .

54
Write Policy
,

 Yang memungkinkan data pada memori utama berubah, lalu

bagaimana dengan data yang telah dikirim pada cache ?


 Tentunya perbedaan ini menjadikan data tidak valid.

55
Write Policy

 Teknik yang dikenalkan diantaranya, write through, yaitu operasi

penulisan melibatkan data pada memori utama dan sekaligus pada cache
memori sehingga data selalu valid.
⇨ Kekurangan teknik ini adalah menjadikan lalu lintas data ke memori
utama dan cache sangat tinggi sehingga mengurangi kinerja sistem,
bahkan bisa terjadi hang. .

56
Write Policy
,

 Teknik lainnya adalah write back, yaitu teknik meminimasi penulisan

dengan cara penulisan pada cache saja.


 Pada saat akan terjadi penggantian blok data cache maka baru diadakan

penulisan pada memori utama.


 Masalah yang timbul adalah manakala data di memori utama belum di-

update telah diakses modul I/O sehingga data di memori utama tidak
valid. .

57
Write Policy
,

 Penggunaan multi cache terutama untuk multi prosesor akan


menjumpai masalah yang lebih kompleks. Masalah validasi data tidak
hanya antara cache dan memori utama saja, namun antar cache juga
harus diperhatikan.

58
Write Policy
,

Pendekatan penyelesaian masalah yang dapat dilakukan adalah dengan :


1)Bus Watching with Write Through, yaitu setiap cache controller akan

memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila


ada operasi tulis di alamat yang datanya digunakan bersama maka cache
controller akan menginvalidasi data cache-nya.

59
Write Policy

2) Hardware Transparency, yaitu adanya perangkat keras tambahan yang


menjamin semua updating data memori utama melalui cache
direfleksikan pada seluruh cache yang ada.
3) Non Cacheable Memory, yaitu hanya bagian memori utama tertentu
yang digunakan secara bersama. Apabila ada mengaksesan data yang
tidak di share merupakan kegagalan cache. ,

60
Write Policy
,

4) Must not overwrite a cache block unless main memory is up to date


5) Multiple CPUs may have individual caches
6) I/O may address main memory directly

61
Write through

1. All writes go to main memory as well as cache


2. Multiple CPUs can monitor main memory traffic to keep local (to CPU)
cache up to date
3. Lots of traffic
4. Slows down writes
5. Remember bogus write through caches!

62
Write back

Write through meliputi :


1) Updates initially made in cache only
2) Update bit for cache slot is set when update occurs
3) If block is to be replaced, write to main memory only if update bit is set
4) Other caches get out of sync
5) I/O must access main memory through cache
6) N.B. 15% of memory references are writes

63
Jumlah Cache

 Terdapat dua macam letak cache. Berada dalam keping prosesor yang disebut

on chip cache atau cache internal. Kemudian berada di luar chip prosesor
yang disebut off chip cache atau cache eksternal.
1) Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus

eksternal, akibatnya waktu aksesnya akan cepat sekali, apalagi panjang


lintasan internal bus prosesor sangat pendek untuk mengakses cache internal.
Cache internal selanjutnya disebut cache tingkat 1 (L1). .

64
Jumlah Cache
,

2) Cache eksternal berada diluar keping chip prosesor yang diakses melalui
bus eksternal.
⇨ Pertanyaannya, apakah masih diperlukan cache eksternal apabila telah ada
cache internal ??
Diskusikan dengan rekan-rekan mahasiswa lainnya !

65
Pentium Cache

1) Foreground reading
2) Find out detail of Pentium II cache systems
3) NOT just from William Stallings !

66
Newer RAM Technology

1. Basic DRAM same since first RAM chips


2. Enhanced DRAM
a. Contains small SRAM as well
b. SRAM holds last line read (c.f. Cache!)
3. Cache DRAM
a. Larger SRAM component
b. Use as cache or serial buffer

67
Newer RAM Technology

Synchronous DRAM (SDRAM)


1) currently on DIMMs
2) Access is synchronized with an external clock
3) Address is presented to RAM
4) RAM finds data (CPU waits in conventional DRAM).

68
Newer RAM Technology
,

5) Since SDRAM moves data in time with system clock, CPU knows when
data will be ready.
6) CPU does not have to wait, it can do something else
7) Burst mode allows SDRAM to set up stream of data and fire it out in
block
,

69
Newer RAM Technology

1. Foreground reading
2. Check out any other RAM you can find
3. See Web site:
 The RAM Guide

70
SDRAM

71
 Pertanyaannya, apakah masih diperlukan cache eksternal apabila telah
ada cache internal ?? .

⇨ Diskusikan dengan rekan-rekan mahasiswa lainnya !

Any questions, please ???

72
Tugas-2
Arsitektur dan Organisasi Komputer

1. Jelaskan fungsi dari CPU ?


2. Apa Fungsi dan Tujuan Interupsi ?

Entrepreneur  University
3. Sebutkan dua vendor besar untuk CPU ?

– UPB
4. Jelaskan jenis signal interupsi ?
5. Bagaimana cara mengetahui type/jenis CPU/ Processor ?

73
Tugas-2
Arsitektur dan Organisasi Komputer

6. Sebutkan penggunaan bit dan byte, beri contoh sederhana ?


7. Jelaskan dengan singkat penulisan bit dan byte berkaitan dengan
penggunaan dalam internet ?

74
Tugas-2
Arsitektur dan Organisasi Komputer

8. Sebutkan apa yang dimaksud dengan bandwidth ? Beri contoh dalam


hubungannya dalam pemakaian internet ?
9. Jelaskan macam-macam ROM dan berikan contohnya ?
10. Mengapa kapasitas flashdisk yang anda beli, terlihat berkurang kapasitasnya

dari yang ditunjukkan pada label flashdisk tersebut ?

75
.

TERIMA KASIH ATAS PERHATIANNYA.


KERJAKAN TUGAS YANG DIBERIKAN DENGAN BAIK DAN BENAR, MUNGKIN BISA MENJADI SOAL UTS
76
atau UAS !

Anda mungkin juga menyukai