Anda di halaman 1dari 53

William Stallings

Organisasi komputer
dan Arsitektur
Edisi 6

Bab 4
Cache Memory
karakteristik
• tempat
• Kapasitas
• Unit transfer
• metode akses
• prestasi
• jenis fisik
• Karakter fisik
• Organisasi
tempat
• CPU
• Intern
• Luar
Kapasitas
• kata ukuran
—Unit alami organisasi
• Jumlah kata
—atau Bytes
Unit Transfer

• Intern
—Biasanya diatur oleh lebar data bus
• Luar
—Biasanya blok yang jauh lebih besar daripada kata
• Unit beralamat
—Lokasi terkecil yang dapat ditangani secara unik
—kata internal
—Cluster di M $ disk
Metode akses (1)

• Sekuensial
— Mulai dari awal dan membaca dalam rangka
— Waktu akses tergantung pada lokasi data dan lokasi
sebelumnya
— misalnya pita
• Langsung
— blok individu memiliki alamat unik
— Akses adalah dengan melompat ke sekitarnya ditambah
pencarian sekuensial
— Waktu akses tergantung pada lokasi dan lokasi sebelumnya
— misalnya disk yang
Metode akses (2)

• Acak
— alamat individu mengidentifikasi lokasi persis
— Waktu akses independen dari lokasi atau akses sebelumnya
— misalnya RAM
• asosiatif
— Data terletak oleh perbandingan dengan isi sebagian dari toko
— Waktu akses independen dari lokasi atau akses sebelumnya
— misalnya tembolok
Hirarki memori
• register
—di CPU
• memori internal atau Main
—Dapat mencakup satu atau lebih tingkat cache
—“RAM”
• memori eksternal
—backing store
Hirarki Memori - Diagram
prestasi

• Waktu akses
—Waktu antara menyajikan alamat dan mendapatkan
data yang valid
• Memori Waktu siklus
—Waktu mungkin diperlukan untuk memori untuk
“memulihkan” sebelum akses berikutnya
—waktu siklus akses + recovery
• transfer Rate
—Tingkat di mana data dapat dipindahkan
Jenis fisik
• semikonduktor
—RAM
• magnetik
—Disk & Tape
• optical
—CD & DVD
• Lainnya
—Gelembung
—hologram
Karakter fisik
• Menunda
• Keriangan
• dihapus
• Konsumsi daya
Organisasi
• penataan fisik bit dalam kata-kata
• Tidak selalu jelas
• misalnya interleaved
Garis bawah
• Berapa banyak?
—Kapasitas
• Seberapa cepat?
—Waktu adalah uang
• Betapa mahalnya?
Daftar hirarki
• register
• L1 Cache
• L2 Cache
• Memori utama
• cache disk
• cakram
• optical
• Tape
Jadi, Anda ingin cepat?
• Hal ini dimungkinkan untuk membangun sebuah
komputer yang hanya menggunakan RAM statis
(lihat nanti)
• Ini akan menjadi sangat cepat
• Ini akan membutuhkan ada cache
—Bagaimana Anda bisa menyimpan tembolok?
• Ini akan biaya jumlah yang sangat besar
Lokalitas Referensi
• Selama pelaksanaan program, referensi memori
cenderung klaster
• misalnya loop
Cache
• sejumlah kecil memori cepat
• Duduk antara memori utama normal dan CPU
• Mungkin terletak pada CPU chip atau modul
Cache operasi - Sekilas
• CPU meminta isi dari lokasi memori
• Periksa cache untuk data ini
• Jika ada, mendapatkan dari cache (cepat)
• Jika tidak hadir, membaca diperlukan blok dari
memori utama ke cache
• Kemudian memberikan dari cache ke CPU
• Cache termasuk tag untuk mengidentifikasi blok
memori utama adalah di setiap slot Cache
Desain Cache
• Ukuran
• pemetaan Fungsi
• penggantian Algoritma
• menulis Kebijakan
• Ukuran blok
• Jumlah Cache
Ukuran tidak penting
• Biaya
—Lebih cache mahal
• Kecepatan
—Lebih cache lebih cepat (sampai titik tertentu)
—Memeriksa cache untuk data yang membutuhkan
waktu
Organisasi Cache khas
pemetaan Fungsi
• Cache dari 64kByte
• blok Cache dari 4 byte
—yaitu cache 16K (214) Baris 4 bytes
• 16MB memori utama
• alamat 24 bit
—(224= 16M)
Pemetaan langsung
• Setiap blok memori utama peta untuk hanya
satu baris cache
—yaitu jika blok dalam cache, harus berada di satu
tempat tertentu
• Alamat ini dalam dua bagian
• Setidaknya w-bit menunjukkan kata unik
• -S-bit menentukan satu blok memori
• MSBs dibagi menjadi field jalur cache r dan tag
dari sr (paling signifikan)
Pemetaan langsung
Struktur alamat

Menandai sr Line atau Slot r Kata w


8 14 2

• alamat 24 bit
• 2 bit kata identifier (4 byte blok)
• 22 bit blok identifier
— 8 bit tag (= 22-14)
— 14 bit Slot atau jalur
• Tidak ada dua blok di baris yang sama memiliki lapangan
Tag yang sama
• Periksa isi cache dengan mencari line dan memeriksa Tag
Pemetaan langsung
Cache Baris Tabel
• baris cache blok memori utama
diadakan
• 0 0, m, 2m, 3m ... 2s-m
• 1 1, m + 1, 2m + 1 ... 2s-m
+1

• m-1 m-1, 2m-1,3m-1 ... 2s-1


Pemetaan langsung Organisasi Cache
Pemetaan langsung Contoh
Pemetaan Ringkasan langsung
• panjang alamat = (s + w) bit
• Jumlah unit beralamat = 2s + w kata-kata atau byte
• ukuran blok size = baris = 2w kata-kata atau byte
• Jumlah blok di memori utama = 2s + w/ 2w = 2s
• Jumlah baris dalam cache = m = 2r
• Ukuran tag = (s - r) bit
Langsung Pemetaan pro & kontra
• Sederhana
• Murah
• lokasi tetap untuk diberikan blok
—Jika program mengakses 2 block yang di map ke line
yang sama berulang-ulang, cache misses yang
sangat tinggi
Pemetaan asosiatif
• Sebuah blok memori utama dapat memuat ke
setiap baris cache
• alamat memori ditafsirkan sebagai tag dan kata
• Tag secara unik mengidentifikasi blok memori
• tag setiap baris ini diperiksa untuk pertandingan
• Cache pencarian akan mahal
Organisasi Cache sepenuhnya asosiatif
Asosiatif Pemetaan Contoh
Pemetaan asosiatif
Struktur alamat

Kata
Menandai 22 bit 2 bit
• 22 tag bit disimpan dengan setiap blok 32 bit data
• Bandingkan tag field dengan tag entri dalam
cache untuk memeriksa hit
• Paling signifikan 2 bit alamat mengidentifikasi 16
bit kata diperlukan dari blok data 32 bit
• misalnya
—Alamat Menandai Data baris cache
—FFFFFC FFFFFC 24682468 3FFF
Asosiatif Pemetaan Ringkasan
• panjang alamat = (s + w) bit
• Jumlah unit beralamat = 2s + w kata-kata atau byte
• ukuran blok size = baris = 2w kata-kata atau byte
• Jumlah blok di memori utama = 2s + w/ 2w = 2s
• Jumlah baris dalam cache = belum ditentukan
• Ukuran tag = s bit
Set Pemetaan asosiatif
• Cache dibagi menjadi beberapa set
• Setiap set berisi sejumlah baris
• Sebuah blok yang diberikan peta untuk setiap
baris dalam himpunan
—misalnya Block B dapat dalam garis set i
• misalnya 2 baris per set
—2 cara pemetaan asosiatif
—Sebuah blok yang diberikan bisa dalam salah satu
dari 2 baris hanya dalam satu set
Set Pemetaan asosiatif
Contoh
• 13 bit nomor set
• nomor blok dalam memori utama adalah modulo
213
• 000.000, 00A000, 00B000, 00C000 ... peta
untuk set yang sama
Two Way Set Associative Organisasi
Cache
Set Pemetaan asosiatif
Struktur alamat

Kata
Menandai 9 bit Set 13 bit 2 bit
• Gunakan bidang set untuk menentukan cache
yang diatur untuk melihat di
• Bandingkan lapangan tag untuk melihat apakah
kita memiliki hit
• misalnya
—Alamat Menandai Data menetapkan nomor
—1FF 7FFC 1FF 12345678 1FFF
—001 7FFC 001 11223344 1FFF
Two Way Set Associative Mapping
Contoh
Set Associative Mapping Ringkasan
• panjang alamat = (s + w) bit
• Jumlah unit beralamat = 2s + w kata-kata atau byte
• ukuran blok size = baris = 2w kata-kata atau byte
• Jumlah blok di memori utama = 2d
• Jumlah baris di set = k
• Jumlah set = v = 2d
• Jumlah baris dalam cache = kv = k * 2d
• Ukuran tag = (s - d) bit
Penggantian Algoritma (1)
pemetaan langsung
• Tidak ada pilihan
• Setiap blok hanya memetakan ke satu baris
• Ganti baris yang
Penggantian Algoritma (2)
Asosiatif & Set asosiatif

• Hardware dilaksanakan algoritma (kecepatan)


• Least Baru-baru ini digunakan (LRU)
• misalnya dalam 2 way set associative
—Manakah dari 2 blok lru?
• First in first out (FIFO)
—menggantikan blok yang telah dalam cache terpanjang
• Setidaknya sering digunakan
—mengganti blok yang telah memiliki hit paling sedikit
• Acak
menulis Kebijakan
• tidak harus menimpa blok cache yang kecuali
memori utama adalah up to date
• Beberapa CPU mungkin memiliki cache
individual
• I / O dapat mengatasi memori utama secara
langsung
Menulis melalui
• Semua menulis pergi ke memori utama serta
tembolok
• Beberapa CPU dapat memonitor lalu lintas
memori utama untuk menjaga lokal (untuk CPU)
cache yang up to date
• Banyak lalu lintas
• Melambat menulis

• Ingat tulis palsu melalui cache!


Menulis kembali
• Update awalnya dibuat dalam cache hanya
• Perbarui bit untuk slot cache mengatur kapan
pembaruan terjadi
• Jika blok diganti, menulis ke memori utama
hanya jika pembaruan bit diatur
• cache lainnya keluar dari sinkronisasi
• I / O harus mengakses memori utama melalui
cache yang
• NB 15% dari referensi memori yang menulis
Pentium 4 Cache
• 80.386 - tidak ada pada chip cache
• 80486 - 8k menggunakan 16 baris byte dan empat cara
mengatur organisasi asosiatif
• Pentium (semua versi) - dua pada chip cache L1
— Data & petunjuk
• Pentium 4 - L1 cache
— 8k byte
— 64 baris byte
— empat cara mengatur asosiatif
• L2 cache
— Feeding kedua cache L1
— 256k
— 128 baris byte
— 8 cara mengatur asosiatif
Pentium 4 Diagram (Sederhana)
Pentium 4 Core Processor
• Ambil / Decode Satuan
— Mengambil instruksi dari cache L2
— Decode ke mikro-ops
— Toko mikro-ops dalam cache L1
• Keluar dari logika eksekusi order
— Jadwal mikro-ops
— Berdasarkan ketergantungan data dan sumber daya
— Mungkin spekulatif mengeksekusi
• unit eksekusi
— Mengeksekusi mikro-ops
— Data dari cache L1
— Hasil dalam register
• memori subsistem
— L2 cache dan sistem bus
Pentium 4 Desain Penalaran
• Decode instruksi menjadi RISC seperti micro-ops
sebelum L1 cache
• panjang mikro-ops tetap
— pipelining superscalar dan penjadwalan
• petunjuk Pentium panjang & kompleks
• Kinerja ditingkatkan dengan memisahkan decoding dari
penjadwalan & pipelining
— (Lebih kemudian - ch14)
• data cache adalah menulis kembali
— Dapat dikonfigurasi untuk menulis melalui
• L1 cache yang dikendalikan oleh 2 bit dalam register
— CD = Cache menonaktifkan
— NW = tidak menulis melalui
— 2 petunjuk untuk membatalkan (siram) cache dan menulis
kembali kemudian membatalkan
PC Organisasi Cache listrik
• 601 - tunggal 32KB 8 way set associative
• 603 - 16kb (2 x 8kb) dua way set associative
• 604 - 32KB
• 610 - 64kb
• G3 & G4
—Cache 64KB L1
– 8 cara mengatur asosiatif
—Cache 256k, 512k atau 1M L2
– dua way set associative
PowerPC G4
Perbandingan Cache Ukuran

Anda mungkin juga menyukai