Anda di halaman 1dari 10

BAB 4

CACHE MEMORY

4.1 COMPUTER MEMORY SYSTEM GAMBARAN UMUM

TUJUAN PEMBELAJARAN Setelah mempelajari bab ini, Anda harus dapat:

Mempresentasikan gambaran umum karakteristik utama sistem memori komputer dan penggunaan
hierarki memori.

Jelaskan konsep dasar dan maksud darieachmemori.

• Discuss elemen kunci dari desain cache.

• DiBandingkan antara pemetaan langsung, pemetaan asosiatif, dan set-asosiatif


pemetaan.
• Jelaskan alasan untuk menggunakanmultipltingkatecache.

• Memahami implikasi kinerja berbagai tingkat memori.

Sebuahlthough tampakdigly sederhana dalam konsep, pameran memori komputer mungkin wid
kisaranestjenis, teknologi, organisasi, kinerja, dan biaya setiap fitur dari komputer system. Tidak ada satu
technology optimal dalam memenuhimemori persyaratanuntuk sistem komputer. Sebuahs sebuah
consequence, khaskomputer system dilengkapi denganhirarki subsistem memori, beberapa internal ke
sistem(directly diakses oleh prosesor)dan beberapa eksternal (diakses oleh prosesor visebuah I /modulO) .

Bab ini dan next fokus pada elemen memori internal, while Bab 6 dikhususkan untuk memori
eksternal. Untuk memulai, bagian pertama meneliti karakteristik kunci dari memori komputer. Sisa bab
ini membahas elemen penting dari semua sistem komputer modern:cache memori.

4.2 SISTEM MEMORY KOMPUTER GAMBARANEW

Karakteristik Sistem Memori Subjek yang kompleks dari memori komputer menjadi lebih mudah
dikelola jika kita mengklasifikasikan sistem memori berdasarkankarakteristik utamanya. Palingpenting
dari ini
tercantum dalam Tabel 4.1.

Istilah lokasi pada Tabel 4.1 mengacu pada apakah memori internal dan eksternal untuk
komputer. Memori internal sering disamakan dengan memori utama. Tetapi ada bentuk lain dari memori
internal. Prosesor membutuhkan memori lokal sendiri, dalam bentuk register (misalnya, lihat Gambar
2.3). Selanjutnya, seperti yang akan kita lihat, unit kontrol bagiandari processor mungkin
sebuahlsehingga membutuhkan memori internalnya sendiri. Wewill defer diskusi of kedua yang terakhir
jenisintememorirnal untuk later bab. Cache adalah bentuk lain dari memori internal. Memori eksternal
terdiri dari perangkat penyimpanan peripheral seperti disk dan pita, yang dapat diakses oleh prosesor
melalui I / O. pengontrol
Karakteristik memori yang jelas adalah kapasitasnya. Untuk memori internal, ini biasanya
dinyatakan dalam bentuk byte (1 byte = 8 bit) atau kata-kata. Panjang kata yang umum adalah 8, 16, dan
32 bit. Exkapasitas memori ternal biasanya dinyatakan dalam byte.
Konsep terkait adalah unit transfer. Untuk memori internal, unit transfersetara dengan jumlahsaluran
listrik yang masuk dan keluar dari memori

Tabel 4.1 Karakteristik Utama Sistem Memori Komputer

module. Ini mungkin sama dengan panjang kata, tetapi seringkali lebih besar, seperti 64, 128, atau 256
bit. Untuk memperjelas poin ini, pertimbangkan tiga konsep terkait untuk memori internal.
mengurangi frekuensi akses. Kami examine thisconcept secara lebih detail ketika kita membahas cache,
kemudian dalam bab ini, dan memori virtual dalam Bab 8. singkat Penjelasandisediakan pada saat ini.
Penggunaan dua tingkat memori untuk mengurangi waktu akses rata-rata berfungsi pada prinsipnya,
tetapi hanya jika kondisi (a) sampai (d) berlaku. Dengan menggunakan berbagai teknologi nologies, ada
spektrumsistem memori yang memenuhi kondisi (a) hingga (c). Untungnya, kondisi (d) juga umumnya
berlaku.

Dasar untukvalsayaditykondisi (d) adalahPrincipledikenal sebagai lokalitas referensi [DENN68].


Selama eksekusi dari program, memori merujuk ences oleh prosesor, untuk kedua instruksi dan data,
sepuluhd cluster. Program biasanya berisi sejumlahloop berulang dan subroutdalames. Setelah loop atau
sub rutin dimasukkan, ada referensi berulang untuk satu set kecil dalamstructions. Dengankata lain,
operasi pada tabel dan larikdalamakses volve ke kumpulandata yang terkelompok kata-kata. Lebih
panjang period waktu, cluster dalam perubahan digunakan, tetapi selama periodesingkat, waktu yang
prosesor adalahterutama worrajadengan cluster tetap referensi memori.
4.3 PRINSIP MEMORY CACHE

Cache memory dirancang untuk menggabungkan waktu akses memori yang mahal, high
kecepatan memori dikombinasikandengan ukuran memori besar lebih murah,kecepatan rendah memori.
Konsep ini sayaLLUdidemonstrasikan pada Gambar 4.3a. Ada relatifly besar dan lambat memori utama
togetdirinya dengan lebih kecil,lebih memori cachecepat.Cache berisi salinan bagian dari memori utama.
Saat prosesor mencoba membaca kata memori, pemeriksaan dilakukan untuk menentukanapakah kata
tersebut ada dalam cache. Jika demikian, kata tersebut dikirim ke prosesor. Jika tidak, satu blok memori
utama, yang terdiri dari sejumlah kata tetap, dibacakan ke cache dan kemudian kata itu dikirim ke
pengolah. Karena fenomena locality dari reference, ketika sebuah blok data diambilke dalam cache untuk
memenuhi memori referetunggal,beras ada kemungkinan bahwa akan adareferensi di masa depan ke
lokasi memori yang sama atau kata-kata lain di blok .
Gambar 4.3b menggambarkan penggunaan beberapa level cache. Cache L2 adalah smenurunkan
dan typically larger dari cacheL1, dan cache L3 adalah smenurunkan dan biasanya lebih besar dari cache
L2. Gambar 4.4 menggambarkan struktur cache/maisistemn-memori. Main mem ory consist hingga
2”dialamatkan, kata dengan setiap kata memiliki n-bit yang alamatunik.Untukkeperluan aplikasi,
memori ini dianggap terdiri dari sejumlah blokpanjangnya tetap K yang kata-kata. Yaitu, ada M = 2 "/K
blok di memori utama. Cache terdiri dari m bloks, called baris. Setiap baris berisi kata-kata K,

Mengacu pada dasar unit cache, istilah garis digunakan, daripada blok jangka, untuk dua anak
rea: (1) toakekosongan kebingungan dengan blok memori utama, yang berisi jumlah yang sama kata-kata
data sebagai baris cache; dan (2) karena garis cache tidak hanya mencakup K kata-kata dari data, seperti
blok memori utama, tapilbegitu termasuk tag dancontrolbit.
Gambar 4.4 Tembolok/Struktur Memori Utama

ditambah tag beberapa bit. Setiap baris juga menyertakanbit kontrol (tidak ditampilkan), seperti bit untuk
menunjukkan apakah baris telah dimodifikasi sejak dimuat ke dalam cache. Panjang garis, tidak termasuk
tag dan bit kontrol, adalah ukuran garis.garis Ukuranmungkin sekecil 32 bit, dengan setiap "kata" menjadi
satu byte, dalam hal ini ukuran garis adalah 4 byte. Jumlah garis jauh lebih sedikit dari jumlah blok
memori utama (m <M) . pada setiap saat, beberapa subset blok dari

Resides di baris dalam cache. Jika sebuah kata dalam blok memori read,yang blok ditransfer
kedarie baris cache. Karenare lebih blok daripada garis, sebuah garis individual tidak dapat secara unik
dan permanen didedikasikan untuk blok tertentu. Dengan demikian, setiap baris termasuktag thdi
mengidentifikasi blok tertentu yang sedang disimpan. Tag ini biasanya merupakan bagian dari alamat
memori utama, seperti dijelaskan nanti di bagian ini.
Gambar 4.5 mengilustrasikan operasi baca. Prosesor menghasilkanbaca alamat(RA) dari sebuah
kata untuk dibaca. Jika kata tersebut terkandung dalamcache, kata itu akan dikirim ke prosesor. blok yang
berisi kataitu dimuat ke dalam cache,dan kata itu dikirim ke prosesor Gambar 4.5 menunjukkan
duaterakhir ini operasiterjadi secara paralel dan mencerminkan organisasi yang ditunjukkan pada F igure
4.6, yang khas daricoorganisasi cache yangntemporary. Dalam organ inisayazatipada,cache
menghubungkan prosesor melaluidata,kontrol, dan baris alamat. Baris data dan alamat juga
melampirkanbuffer data dan alamat, yang menyerang bus system.

yang memori utama adalah reached . Ketika cache hit terjadi, data dan alamat penggemar ers yang
disabled dan komunikasi hanya antara prosesor dan cache, dengan tidak ada lalu lintas sistem bus. Ketika
terjadi cache miss , alamat yang diinginkan dimuat ke bus sistem dandata dikembalikan melalui buffer
data ke cache dan prosesor. Dalam orga lainnyanilisasis, cache secara fisik sela antaraprosesor dan
memori utama untuk semua jalur data, alamat, dan kontrol. Dalam kasus terakhir ini, untuk cache yang
ketinggalan, kata yang diinginkan pertama kali dibaca ke dalam cache dan kemudian ditransfer dari cache
ke prosesor.
Diskusi tentang parameter kinerja yang terkait dengan penggunaan cache terkandung dalam Lampiran
4A.
4.4 Desain Elemen

Bagian ini memberikan gambaran tentang csakitdesignn parameterdan melaporkan beberapa hasil
yang khas. Kami kadangkadang-semuamengacu pada penggunaan caches di high-performance com
puting (HPC). HPC berkaitan dengan superkomputer dan perangkat lunak mereka, terutama untuk
aplikasi ilmiah yang sayanvolve lArge Amounts of data, vektor dan matriks com putation, dan tia
menggunakan algoritma paralel. Desain cache untuk HPC sangat berbeda dibandingkan dengan platform
perangkat keras dan aplikasi lainnya. Memang, banyak peneliti telah menemukan bahwa aplikasi
HPCkurang baik pada arsitektur komputer yang menggunakan cache [BAIL93]. Peneliti lain telah
menunjukkan bahwa cache cache dapat bermanfaat dalam meningkatkan kinerjajikaaplikasiperangkat
lunakdisetel untuk mengeksploitasi cache
Meskipun ada sejumlah besar implementasi cache, ada beberapa elemen desain dasar yang
berfungsi untuk mengklasifikasikan dan membedakan arsitektur cache. Tabel 4.2 mencantumkan elemen-
elemen kunci.

Alamat Cache

Alkebanyakan semua prosesor yang tidak tertanam, dan banyak prosesor yang tertanam,
mendukung memori virtual, sebuah konsep yang dibahas pada Bab 8. Pada dasarnya, memori virtual
adalah fasilitas yang memungkinkan program untuk mengatasi memori dari sudut pandang logis, tanpa
sehubungan dengan jumlah memori utama yangtersedia secara fisik. Ketikamemori biasa digunakan,
bidang alamatmachiinstruksiberisi alamat virtual. Untuk membaca dari memori utama,manajemen
memori perangkat kerasunit(MMU) menerjemahkan setiap alamat virtual ke alamat fisik di memori
utama.
Ketika addres virtualdigunakan, perancang sistem dapat memilih untuk menempatkan cache
antara prosesor dan MMU atau antara MMU dan utama memori(Gambar4.7). Sebuah logical cache, juga
dikenal sebagai cache virtual, menyimpan data menggunakan alamat virtual. Prosesor mengakses cache
secara langsung, tanpa melalui MMU. Perangkat fisikmenyimpan data menggunakan alamat fisik memori
utama.

Satu keuntungan nyata dari cache logis adalah kecepatan akses cache lebih cepat daripada fatau
cache fisik, karena cache dapat merespons sebelum MMU melakukan alamat terjemahan. Kelemahannya
harus do dengan fakta bahwa sebagian besar virtual memori sistems pasokan setiap aplikasi dengan ruang
alamat memori virtual yang sama. Artinya, setiap aplikasi sees memori virtual yang dimulai
padaiklangaun0. Jadi, virtuyang samaalamataldalam dua applicati berbedaons mengacu pada dua different
physi cal alamat. Memori cache karena itu harus benar-benar memerah dengan setiap saklar konteks
aplikasi, atau bit tambahan harus ditambahkan ke setiap baris cache untuk mengidentifikasi ruang alamat
virtual mana yang dirujuk oleh alamat ini.
Subjek cache logis versus fisik adalah subjek yang kompleks, dan di luar cakupan buku ini.
Untuk diskusi yang lebih mendalam, lihat [CEKL97] dan [JACO08]. Ukuran Cache Item pertama di
Tabl4.2, ukuran cache, sudah dibahas. Kami would LiKe ukurancache menjadi smallcukup sehingga
keseluruhan biaya rata-rata per bit dekatbahwa memori utama saja dan cukup besar sehingga secara
keseluruhan rata-rata waktu akses dekat dengan yang cache saja . Ada beberapa motivasi lain untuk
minimizing ukuran cache. Semakin besar cache, besarr jumlah gerbang yang terlibat dalam menangani
the tembolok. Hasilnya adalah thdi cache besar cenderung slightly lebih lambat dari small ones-even
when dibangun dengan sama sayantegrated sirkuit technology dan menempatkan di tempat yang sama
pada chip dan papan sirkuit. Tersedia Chip dan papan daerah juga Limcache-nya. ukuran Karena kinerja
cache sangat sensitif terhadap sifat workload, tidak mungkin untuk mencapai"opttunggalukuran
cacheimum".
Tabel 4.3 mencantumkan ukuran cache dari beberapa proses saat ini dan sebelumnya.
Fungsi Mapping Karena ada lebih sedikit garis cache dari blok memori utama, sebuah algoritma
diperlukan untuk memetakan blok memori utama ke dalam garis cache. Selanjutnya, sarana yang
dibutuhkan untuk mencegahpenambangan yang utama blok memori skrrently menempati cache line.
Pilihan fungsi pemetaan menentukan bagaimana cache diatur. Tiga teknik dapat digunakan: langsung,
asosiatif, dan set asosiatif. Kami memeriksa masing-masing pada gilirannya. Dalam setiap kasus, kita
melihatgenerastrukturdan kemudianspesifik contoh

Anda mungkin juga menyukai