Anda di halaman 1dari 53

+

William Stallings
Computer Organization
and Architecture
9th Edition
Chapter 4
+

Cache Memory
Karakteristik Utama Sistem
Memori Komputer

Table 4.1 Key Characteristics of Computer Memory Systems


+
Karakteristik Sistem Memory
 Lokasi
 Apakah memori bersifat internal ataupun external dari
komputer
 Internal memory sering disamakan dgn memory utama
 Prosesor membutuhkan memori lokalnya sendiri, dlm bentuk
register
 Cache adalah bentuk lain internal memory
 External memory terdiri dari perangkat periferal yg dpt
diakses prosesor melalui kontroller I/O

 Kapasitas
 Memory biasanya dinyatakan dalam byte

 Satuan transfer
 Bagi internal memory satuan transfer sama dgn jumlah jalur
listrik yg masuk dan keluar dari modul memori
Metode utk Mengakses Satuan Data
 Sequential access:
 Memory disusun dalam satuan data yg disebut record. Akses harus dilakukan
secara berurutan.
 Informasi alamat yg tersimpan digunakan utk membedakan record2 dan
membantu dlm proses pengambilan kembali
 Menggunakan mekanisme read-write bersama, yg harus dipindahkan
dari lokasinya sekarang ke lokasi yg diinginkan, sambil melewati dan
menolak record2 yg ada di antaranya.
 Yg berarti waktu utk mengakses sebuah record tertentu bisa sangat
bervariasi.
 Direct access:
 Seperti akses sekuensial, direct access juga menggunakan mekanisme read-
write bersama.
 Tetapi masing2 blok atau record memiliki alamat unik berdasarkan lokasi
fisiknya.
 Akses dilakukan scr langsung (direct) ke daerah record tujuan ditambah
pencarian, menghitung, atau menunggu scr sekuensial hingga sampai ke
lokasi finalnya.
 Waktu akses juga bervariasi.
Metode utk Mengakses Satuan Data

 Random access:
 Setiap lokasi yg bisa dialamati memiliki mekanisme pengalamatan yg
unik dan permanen.
 Waktu utk mengakses sebuah lokasi tidak dipengaruhi rangkaian akses
sebelumnya dan besarnya tetap
 Yg berarti setiap lokasi dpt dipilih scr acak (random), dipanggil dan
diakses scr langsung.
 Memori utama dan bbrp cache bersifat random access.

3/27/2021
Metode utk Mengakses Satuan Data

 Associative:
 Merupakan tipe memori random access yg memungkinkan utk
membuat perbandingan lokasi bit yg diinginkan dlm sebuah word
utk suatu pencocokan, dan melakukan hal ini pd seluruh word scr
serentak.
 Jadi sebuah word diambil berdasarkan bagian dari isinya dan
bukan berdasarkan alamatnya.
 Sebagaimana memori random access biasa, setiap lokasi
memiliki mekanisme pengalamatannya sendiri, dan waktu
pengambilannya tetap, tdk dipengaruhi lokasi maupun akses
sebelumnya.
 Memori cache dpt menggunakan akses associative.

3/27/2021
Method of Accessing Units of Data
Sequential Direct Random
Associative
access access access

Each addressable A word is retrieved


Memory is organized into
Involves a shared read- location in memory has a based on a portion of its
units of data called
write mechanism unique, physically wired- contents rather than its
records
in addressing mechanism address

Each location has its own


The time to access a
Individual blocks or addressing mechanism
Access must be made in given location is
records have a unique and retrieval time is
a specific linear independent of the
address based on constant independent of
sequence sequence of prior
physical location location or prior access
accesses and is constant
patterns

Any location can be


Cache memories may
selected at random and
Access time is variable Access time is variable employ associative
directly addressed and
access
accessed

Main memory and some


cache systems are
random access
Kapasitas dan Kinerja

Dua karakteristik paling penting pada


memory

Ada tiga parameter kinerja yg digunakan:

Waktu akses (latency): Waktu siklus memory: Kecepatan transfer:


•Utk random-access memory, •Konsep yg terutama diterapkan pd •Merupakan kecepatan
merupakan waktu yg diperlukan random-access memory dan pemindahan data ke atau dari
utk melakukan operasi read atau terdiri dari waktu akses ditambah satuan memory.
write. waktu tambahan lainnya, sebelum •Utk random-access memory, sama
•Waktu sejak alamat diberikan ke akses berikutnya bisa mulai. dgn 1/(waktu siklus).
memory hingga data telah •Waktu tambahan ini mungkin
tersimpan atau bisa dipakai. dibutuhkan agar arus transien
•Utk memory yg bukan-random- benar2 hilang pd jalur2 signal atau
access, waktu akses adl waktu yg utk membangkitkan data yg
diperlukan utk menempatkan dibaca scr destruktif.
mekanisme read-write pd lokasi •Waktu siklus memory berkaitan
yg diinginkan. dgn system bus, bukan prosesor.
+ Memory
 Bentuk yg paling umum adalah:
 Semiconductor memory
 Memori permukaan-magnetik
 Optical
 Magneto-optical

 Beberapa karakteristik penyimpanan data yg penting:


 Volatile memory
 Informasi meluruh scr alami atau hilang ketika daya listrik
dimatikan
 Nonvolatile memory
 Stlh direkam, informasi akan tetap sama tanpa menjadi rusak
sampai diubah dgn sengaja
 Tidak butuh listrik utk menyimpan informasi
+
Memory
 Memori permukaan-magnetik
 Bersifat nonvolatile
 Semiconductor memory
 Dapat bersifat volatile atau nonvolatile
 Nonerasable memory
 Tidak bisa diubah, kecuali dgn merusak unit
penyimpannya
 Memori semikonduktor spt ini disebut read-only memory
(ROM)

 Utk memori random-access, masalah utama dlm


perancangannya adl organisasinya
 Organisasi merujuk kpd bagaimana penyusunan bit menjadi
word

3/27/2021
+
Memory Hierarchy

 Batasan perancangan memori komputer dapat dirangkum


menjadi tiga pertanyaan:
 Berapa besar, berapa cepat, berapa mahal

 Ada imbal-balik antara kapasitas, waktu akses, dan harga


 Waktu akses lebih cepat, harga per bit lebih mahal
 Kapasitas lebih besar, harga per bit lebih murah
 Kapasitas lebih besar, waktu akses lebih lambat

 Jalan keluar dilema memori adalah bukan dgn


mengandalkan pada sebuah komponen atau teknologi
memori, tapi dgn menerapkan hirarki memori
+ Memory Hierarchy - Diagram
Cache and Main Memory
Cache/Main Memory Structure
Cache Read
Operation
+
Organisasi Cache yg Umum
Elements of Cache Design

Table 4.2 Elements of Cache Design


+
Cache Addresses
Virtual Memory

 Virtual memory
 Fasilitas yg memungkinkan program memberi alamat memory
dari sudut pandang logical, tanpa harus memperhatikan berapa
jumlah memori fisik yg tersedia.
 Ketika digunakan, field alamat pd instruksi mesin berisi alamat
virtual
 Utk pembacaan dari dan penulisan ke memori utama, sebuah
hardware memory management unit (MMU) menterjemahkan
setiap alamat virtual menjadi alamat fisik dlm memori utama
+

Logical
and
Physical
Caches
Table 4.3

Cache
Sizes of
Some
Processors

aTwo values
separated
by a slash refer to
instruction and
data caches.

b Both caches are


instruction only;
no data caches.
Mapping Function
 Karena jumlah baris cache lebih sedikit daripada jumlah
blok2 memori utama, dibutuhkan suatu algoritma utk
memetakan blok2 memori utama menjadi baris2 cache

 Ada tiga teknik yg bisa digunakan:

Direct Associative Set Associative


• Teknik paling sederhana • Memungkinkan setiap blok • Kompromi yg menunjukkan
memory utama dimuat ke kekuatan dari teknik2
• Memetakan setiap blok
sembarang baris cache direct dan associative
memory utama menjadi
sambil mengurangi
hanya satu baris cache yg • Logic kendali cache kelemahannya
mungkin menerjemahkan sebuah
alamat memory hanya sbg
sebuah Tag dan field Word
• Utk menentukan apakah
sebuah blok ada di dlm
cache, logic kendali cache
harus memeriksa apakah
ada Tag yg sama pd setiap
baris scr serempak
+

Direct

Mapping
Direct Mapping Cache Organization
+ Direct

Mapping

Example
• Ukuran cache 64Kbyte
• Data dikirim antara cache dgn
memori utama sbg blok 4 byte,
yg berarti organisasi cache adl
64KB / 4B = 16K baris = 214
baris msg2 baris sebesar 4 byte
• Memori utama berukuran
16Mbyte, dgn ukuran alamat utk
setiap byte adl 24 bit (224 = 16M)
• Memori utama terdiri dari
16MB/4B = 4M blok msg2
sebesar 4 byte
+
+
Rangkuman Pemetaan Direct

 Panjang alamat = (s + w) bit

 Jumlah unit yg bisa dialamati = 2s+w word atau byte

 Ukuran block = ukuran baris = 2w word atau byte

 Jumlah block di memory utama = 2s+ w/2w = 2s

 Jumlah baris dalam cache = m = 2

 Ukuran tag = (s – r) bit


+
Cache Korban (Victim)

 Awalnya diusulkan sbg pendekatan utk mengurangi conflict


miss pd cache dgn pemetaan direct tanpa mempengaruhi
waktu aksesnya

 Cache yg fully associative

 Ukuran yg umum adalah 4 s/d 16 baris cache

 Ditempatkan antara L1 cache yg pemetaannya direct dgn


level memori berikutnya
Fully Associative Cache Organization
+
Associative

Mapping

Example
+
+
Rangkuman Pemetaan Associative

 Address length = (s + w) bits

 Number of addressable units = 2s+w words or bytes

 Block size = line size = 2w words or bytes

 Number of blocks in main memory = 2s+ w/2w = 2s

 Number of lines in cache = undetermined

 Size of tag = s bits


+
Set Associative Mapping

 Merupakan kompromi yg menunjukkan kelebihan


pendekatan direct dan asosiatif sambil mengurangi
kelemahan masing-masing

 Cache terdiri atas sejumlah set

 Setiap set berisi sejumlah baris

 Suatu blok tertentu dapat dipetakan ke sembarang baris


dalam satu set tertentu

 mis. 2 baris per set


 2 way associative mapping
 Satu blok dapat dimasukkan ke dalam salah satu dari 2 baris
dalam salah satu set saja
+

Mapping From
Main Memory
to Cache:

k-Way
Set Associative
k-Way
Set
Associative
Cache
Organization
3/27/2021
+
Set Associative Mapping Summary

 Address length = (s + w) bits

 Number of addressable units = 2s+w words or bytes

 Block size = line size = 2w words or bytes

 Number of blocks in main memory = 2s+w/2w=2s

 Number of lines in set = k

 Number of sets = v = 2d

 Number of lines in cache = m=kv = k * 2d

 Size of cache = k * 2d+w words or bytes

 Size of tag = (s – d) bits


+
Varying Associativity Over Cache Size
+
Algoritma Penggantian

 Jika cache sudah penuh, ketika sebuah blok baru dibawa ke


dalam cache maka salah satu blok yang sudah ada harus
diganti

 Untuk direct mapping hanya ada satu baris yang sudah


ditentukan untuk setiap blok sehingga tidak ada pilihan lain

 Untuk teknik associative dan set-associative maka


dibutuhkan sebuah algoritma penggantian

 Agar dapat berkecepatan tinggi, maka algoritma harus


diimplementasikan di hardware
+ Empat algoritma penggantian
yang paling umum:
 Least recently used (LRU)
 Paling efektif
 Menggantikan blok dalam set yang paling lama berada dalam cache
tanpa ada direferensi/dipanggil
 Karena implementasinya yang sederhana, LRU menjadi algoritma
penggantian yang paling populer

 First-in-first-out (FIFO)
 Gantikan blok dalam set yang sudah paling lama berada dalam cache
 Mudah diimplementasi sebagai teknik round-robin atau buffer
melingkar

 Least frequently used (LFU)


 Gantikan blok dalam set yang direferensi paling sedikit
 Dapat diimplementasikan dgn menghubungkan counter dgn setiap
baris
Write Policy

Ketika sebuah blok dalam cache Ada dua masalah yg


akan diganti, ada dua kasus yang harus ditangani:
harus dipertimbangkan:

Jika blok lama dalam cache belum


diubah maka dapat ditimpa dgn blok Kemungkinan ada lebih dari satu device
baru tanpa harus menuliskan blok lama memiliki akses ke memori utama
ke memori

Masalah yg lebih rumit terjadi ketika


Jika minimal satu operasi tulis pernah banyak prosesor terhubung ke bus yg
dilakukan thd salah satu word pd baris sama dan setiap prosesor punya cache
cache maka memori utama harus di- lokal sendiri - jika sebuah word diubah
update dgn menuliskan baris cache tsb dlm satu cache maka berpeluang
ke blok memori, sebelum memasukkan membuat word di cache-cache yg lain
blok yg baru tidak valid lagi
+
Write Through
and Write Back
 Write Through
 Teknik paling sederhana
 Semua operasi write dilakukan baik ke memori utama maupun ke cache
 Kelemahan utama teknik ini adl menimbulkan trafik memori yg cukup
besar dan dapat menyebabkan bottleneck

 Write Back
 Meminimalkan penulisan ke memori
 Update hanya dilakukan pd cache
 Sebagian memori utama menjadi tidak valid sehingga akses oleh modul
I/O hanya dobolehkan melalui cache
 Hal ini membutuhkan rangkaian rumit dan berpotensi bottleneck
Ukuran Baris
Ketika sebuah
blok data diambil Dua akibat khusus
Ketika ukuran akan timbul:
dan disimpan ke blok meningkat
cache, bukan maka semakin
• Blok yg lebih besar akan
hanya word yg mengurangi jumlah blok yg
banyak data muat ke dalam cache
diinginkan tapi berguna yg bisa • Ketika blok menjadi lebih
sejumlah word yg dibawa ke besar maka setiap word
berdekatan juga tambahan menjadi lebih
cache jauh drpd word yg diminta
terambil

Ketika ukuran Hit ratio akan mulai


blok bertambah menurun ketika blok
maka hit ratoi pd semakin besar dan
awalnya juga peluang
meningkat krn menggunakan
prinsip lokalitas informasi yg baru
diambil menjadi
lebih kecil drpd
peluang
menggunakan
kembali informasi yg
harus digantikan
+ Multilevel Caches
 Dgn meningkatnya kepadatan logic maka telah menjadi mungkin
utk membuat cache pd chip yg sama dgn prosesor

 Cache yg on-chip mengurangi aktifitas bus luar dan


mempercepat waktu eksekusi dan meningkatkan kinerja
keseluruhan sistem
 Ketika instruksi atau data yg diminta ada pd cache on-chip, maka
akses bus tidak perlu lagi
 Akses cache on-chip dapat selesai jauh lebih cepat dibanding siklus
bus dgn waktu tunggu-nol
 Maka pd saat tsb bus dapat melakukan transfer data yg lain

 Cache dua-level:
 Internal cache dirancang sbg level 1 (L1)
 External cache dirancang sbg level 2 (L2)

 Potensi penghematan dgn cache L2 bergantung kpd banyaknya


hit pd kedua cache L1 dan L2
Hit Ratio (L1 & L2)
For 8 Kbyte and 16 Kbyte L1
+ Unified vs Split Caches
 Sudah awam untuk membagi/split cache:
 Satu khusus untuk instruction
 Satu khusus untuk data
 Keduanya berada pada level yg sama, biasanya sbg dua cache L1

 Kelebihan unified (disatukan) cache:


 Hit rate lebih tinggi
 Menyeimbangkan beban pengambilan instruksi dan data scr otomatis
 Hanya satu cache yg perlu dirancang dan diimplementasikan
 Tren menuju split caches pada L1 dan unified cache utk level-level
yg lebih tinggi

 Kelebihan split cache:


 Menghilangkan persaingan cache antara unit instruction fetch/decode
unit dan unit execution
 Penting utk pipelining
Pentium
4
Cache

Table 4.4 Intel Cache Evolution


Pentium 4 Block Diagram
Pentium 4 Cache Operating Modes

CD = Cache Disabled ; NW = Not Write-Through

Table 4.5 Pentium 4 Cache Operating Modes


ARM Cache Features

Table 4.6 ARM Cache Features


ARM Cache and Write Buffer Organization
+ Summary Cache
Memory
Chapter 4

 Characteristics of Memory  Elements of cache design


Systems  Cache addresses
 Location  Cache size
 Capacity  Mapping function
 Unit of transfer  Replacement algorithms

 Memory Hierarchy  Write policy


 Line size
 How much?
 Number of caches
 How fast?
 How expensive?  Pentium 4 cache organization
 Cache memory principles  ARM cache organization

Anda mungkin juga menyukai