RESUME CHAPTER 4
CACHE MEMORY
Disusun Oleh:
Haris Muhajir Al Fatih
190411100094
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2020
Daftar Isi
Daftar Isi....................................................................................................................................................1
1. Computer Memory System Overview..............................................................................................2
[Link] Sistem Memori...........................................................................................................2
B. Hirarki Memori................................................................................................................................2
2. Cache Memory Principles.................................................................................................................3
3. Elements of Cache Design.................................................................................................................3
[Link] Cache..................................................................................................................................3
B. Ukuran Cache..................................................................................................................................4
C. Fungsi Pemetaan..............................................................................................................................4
[Link] Langsung.........................................................................................................................4
E. Pemetaan Asosiatif..........................................................................................................................4
F. Set Pemetaan Asosiatif....................................................................................................................4
[Link] Pengganti........................................................................................................................5
[Link] Menulis...........................................................................................................................5
I. Ukuran Baris....................................................................................................................................5
J. Nomor Cache...................................................................................................................................5
4. Pentium 4 Cache Organization.........................................................................................................5
Level 1 Execution Trace Cache (L1 ETC).........................................................................................6
Peningkatan Advance Transfer Cache (ATC)....................................................................................6
5. ARM Cache Organization.................................................................................................................6
Cache Memory| 1
1. Computer Memory System Overview
A. Karakteristik Sistem Memori
Memori terbagi menjadi dua, yaitu memori internal dan memori eksternal.
Karakteristik memori yang jelas adalah dalam hal kapasitasnya. Untuk memori internal
ini biasanya dinyatakan dalam hal byte (1byte = 8bits) atau kata. Terdapat tiga konsep
terkait memori internal, yaitu :
Word: merupakan satuan “alami” organisasi memori.
Addressable units: pada sejumlah sistem, adressable units adalah word. Namun
terdapat sistem dengan pengalamatan pada tingkatan byte.
Unit of transfe : adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada
suatu saat.
Dari sudut pandang pengguna, ada 2 karakteristik penting dari memori adalah
kapasitas dan kinerja. Tiga parameter kinerja yang digunakan :
1. Access time (latency) : untuk memori akses acak, ini adalah waktu yang diperlukan
untuk melakukan operasi baca atau tulis.
2. Memory cycle time : konsep ini utamanya diterapkan untuk memori akses acak yang
terdiri dari waktu akses ditambah waktu tambahan yang diperlukan sebelum waktu
akses dimulai.
3. Transfer rate : ini adalah tingkat di mana data dapat ditransfer ke dalam atau keluar
dari unit memori. Untuk random-access memory, sama dengan 1/(waktu siklus).
Untuk memori akses non-acak, hubungan berikut ini berlaku :
Dimana :
Tn = rata waktu untuk membaca atau menulis n bit
TA = rerata waktu akses
n = jumlah bit
R = laju transfer, dalam bit per detik (BPS)
B. Hirarki Memori
Hierarki Memori atau Memory Hierarchy dalam arsitektur komputer adalah
sebuah pedoman yang dilakukan oleh para perancang demi menyetarakan kapasitas,
waktu akses, dan harga memori untuk tiap bitnya. Secara umum, hierarki memori
terdapat dua macam yakni hierarki memori tradisional dan hierarki memori kontemporer.
Sebagai salah satu turun hirarki, berikut terjadi :
1. Penurunan biaya per bit
2. Meningkatkan kapasitas
3. Meningkatkan waktu akses
4. Penurunan frekuensi akses memori oleh prosesor
Cache Memory| 2
2. Cache Memory Principles
Cache Memory| 3
Gambar diasmping mengilustrasikan operasi Read. Prosesor menghasilkan
pembacaan alamat (RA) dari sebuahkata untuk dibaca. Jika kata yang terkandung dalam
cache, itu dikirim ke prosesor. Jika tidak, blok yang berisi kata tersebut dimuat ke dalam
cache, maka selanjutnya kata tersebut dikirim ke prosesor.
Pada gambar sebelumnya menunjukkan dua operasi terakhir yang terjadi secara
paralel dan mencerminkan organisasi yang ditunjukkan dalam gambar disamping, yang
merupakan ciri khas dari contemporary cache organizations. Dalam organisasi ini, cache
menghubungkan ke prosesor melalui data, kontrol, dan baris alamat. Data dan alamat
baris juga meneruskan data dan alamat buffer, yang akan diteruskan ke system bus dari
memori utama berada. Ketika terjadi hit cache, data dan alamat buffer dinonaktifkan dan
komunikasi hanya terjadi antara prosesor dan cache, tanpa lalu lintas bus sistem. Ketika
terjadi kehilangan tembolok, alamat yang diinginkan dimuat ke Bus sistem dan data
dikembalikan melalui buffer data ke cache dan prosesor.
3. Elements of Cache Design
A. Alamat Cache
Memori virtual adalah fasilitas yang
memungkinkan program untuk mengatasi
memori dari sudut pandang logis, tanpa
memperhatikan jumlah memori utama yang
tersedia secara fisik. Bila memori virtual
digunakan, bidang alamat instruksi mesin
berisi alamat virtual. Ketika alamat virtual
digunakan, perancang sistem dapat memilih
untuk menempatkan cache antara prosesor
dan MMU atau antara MMU dan memori
utama.
B. Ukuran Cache
Ada beberapa motivasi lain untuk meminimalkan ukuran cache. Semakin besar cache,
semakin besar jumlah gerbang yang terlibat dalam menangani cache. Hasilnya adalah
bahwa cache besar cenderung sedikit lebih lambat dari yang kecil-bahkan ketika
dibangun dengan teknologi sirkuit terpadu yang sama dan diletakkan di tempat yang
sama pada chip dan papan sirkuit.
C. Fungsi Pemetaan
Karena ada lebih sedikit baris cache dari blok memori utama, algoritma diperlukan
untuk memetakan blok memori utama ke dalam garis cache. Lebih jauh, berarti
diperlukan untuk menentukan blok memori utama yang saat ini menempati garis
cache. Pilihan dari fungsi pemetaan menentukan bagaimana cache diatur. Tiga teknik
dapat digunakan : langsung, asosiatif, dan mengatur asosiatif.
D. Pemetaan Langsung
Cache Memory| 4
Teknik yang paling sederhana, yang dikenal sebagai pemetaan langsung, peta masing-
masing blok memori utama hanya menjadi satu kemungkinan garis cache. Pemetaan
dinyatakan sebagai :
Dimana :
i = nomor baris cache
j = nomor blok memori utama
m = jumlah baris dalam cache
E. Pemetaan Asosiatif
Pemetaan asosiatif mengatasi kerugian pemetaan langsung dengan mengizinkan
setiap blok memori utama untuk dimuat ke dalam setiap baris cache. Dalam hal ini,
kontrol tembolok logika menafsirkan alamat memori hanya sebagai kolom tag dan
Word. Bidang tag secara unik mengidentifikasi satu blok memori utama. Untuk
menentukan apakah sebuah blok dalam cache, logika kontrol cache secara bersamaan
harus memeriksa setiap baris tag untuk sebuah pertandingan.
F. Set Pemetaan Asosiatif
Set-pemetaan asosiatif adalah kompromi yang menunjukkan kekuatan dari kedua
pendekatan langsung dan asosiatif sementara mengurangi kerugian mereka. Dalam
kasus ini, cache terdiri dari sejumlah set, yang masing-masing terdiri dari sejumlah
baris. Hubungan tersebut :
i = cache nomor set
j = nomor blok memori utama
m = jumlah baris dalam cache
v = jumlah set
k = jumlah baris di setiap set
G. Algoritma Pengganti
Untuk teknik asosiatif dan set-asosiatif, algoritma penggantian diperlukan. Untuk
mencapai kecepatan tinggi, algoritma seperti itu harus diimplementasikan dalam
perangkat keras. Sejumlah algo-rithms telah dicoba. Kemungkinan lain adalah
pertama-in-First-Out (FIFO): Ganti blok yang di set yang telah di cache terpanjang.
Kemungkinan lain yang paling tidak sering digunakan (LFU): Ganti blok yang di set
yang telah mengalami referensi paling sedikit. LFU dapat diimplementasikan dengan
menghubungkan counter dengan setiap baris.
H. Kebijakan Menulis
Cache Memory| 5
Menonton bus dengan menulis melalui: setiap kontroler cache memonitor
baris alamat untuk mendeteksi operasi tulis ke memori oleh Master bus
lainnya.
Transparansi perangkat keras: perangkat keras tambahan digunakan untuk
memastikan bahwa semua pembaruan untuk memori utama melalui cache
tercermin dalam semua tembolok.
Memori yang tidak dapat di-cache: hanya sebagian memori utama yang
dibagikan oleh lebih dari satu prosesor, dan ini ditetapkan sebagai
noncacheable.
I. Ukuran Baris
Rasio hit akan mulai menurun, namun, sebagai blok menjadi lebih besar dan
probabilitas menggunakan informasi yang baru diambil menjadi kurang dari
probabilitas menggunakan kembali informasi yang harus diganti.
J. Nomor Cache
Caches Multilevel. Sebagai kepadatan logika telah meningkat, hal itu telah
menjadi mungkin untuk memiliki cache pada chip yang sama seperti prosesor:
pada chip cache.
Unified Versus Split Caches. Ketika cache on-chip pertama kali membuat
penampilan, banyak desain terdiri dari satu cache yang digunakan untuk
menyimpan referensi untuk data dan instruksi.
4. Pentium 4 Cache Organization
Inti prosesor terdiri dari 4 komponen utama, yaitu :
A. Unit Fetch/Decode
Mengambil instruksi program dalam rangka dari L2 cache,yang decode ini menjadi
serangkaian operasi mikro, dan menyimpan hasil dalam L1 cache instruksi.
B. Out of order execution logic
Jadwal Pelaksanaan operasi mikro tunduk pada ketergantungan data dan ketersediaan
sumber daya, dengan demikian, operasi mikro dapat dijadwalkan untuk eksekusi
dalam urutan yang berbeda dari yang diambil dari aliran instruksi. Sebagai waktu
memungkinkan, unit ini jadwal spekulatif pelaksanaan operasi mikro yang mungkin
diperlukan di masa depan.
C. Unit Ekekusi
Unit ini mengeksekusi operasi mikro, mengambil yang diperlukan data dari L1 data
cache dan sementara menyimpan hasil dalam register.
D. Subsistem Memori
Unit ini termasuk cache L2 dan L3 dan system Bus, yang digunakan untuk mengakses
memori utama ketika L1 dan L2 cache memiliki cache Miss dan untuk mengakses
sumber daya I/O sistem.
Level 1 Execution Trace Cache (L1 ETC)
Cache Memory| 6
Sebagai tambahan untuk standar level 1 data cache 8 KB, Pentium 4 memasukkan 12 KB
L1 ETC. Cache tersebut menyimpan instruksi micro-op yang terbaca karena instruksi-
instruksi tersebut akan dieksekusi, mengoptimalkan efisiensi dan kinerja media
penyimpanan dengan cara menghilangkan micro-op yang terbaca dari perulangan
eksekusi utama dan hanya menyimpan instruksi micro-op tersebebut yang dibutuhkan
saja.
Peningkatan Advance Transfer Cache (ATC)
Intel telah menambah performa dari L2 ATC yang pertama kali muncul pada saat
Pentium III diluncurkan. Pentium 4 menggunakan non-blocking, asosiatif delapan jalur,
inklusif, on-die, L2 cache yang memiliki kecepatan penuh (setara dengan kecepatan
prosesor) dengan lebar lajur 256-bit. Dikarenakan clock Pentium 4 lebih cepat dari pada
Pentium III, maka L2 cache nya pun mendukung transfer data dengan data rate yang
lebih besar.
5. ARM Cache Organization
Organisasi
cache ARM telah
berevolusi dengan
keseluruhan arsitektur
ARM, mencerminkan
pengejaran tanpa henti
akan kinerja yang
merupakan kekuatan
pendorong Semua
desainer mikroprosesor.
Fitur menarik dari
arsitektur ARM adalah penggunaan buffer tulis kecil pertama-infirst Out (FIFO) untuk
meningkatkan kinerja tulis memori. Tulisan buffer adalah interpose antara cache dan
memori utama dan terdiri dari satu set Alamat dan satu set kata data. Buffer tulis kecil
dibandingkan dengan cache, dan dapat menampung hingga empat alamat independen.
Biasanya, buffer tulis diaktifkan untuk semua memori utama, meskipun mungkin selektif
dinonaktifkan di Halaman Tingkat.
Cache Memory| 7