Teknik Informatika
Universitas Trunojoyo Madura
2019
Daftar isi
Daftar Isi
Daftar Isi 1
Chapter 4 Cache Memory 2
4.1 Computer Memory System Overview 3
4.2 Cache Memory Principles 3
4.3 Elements of Cache Design 3
4.4 Pentium 4 Cache Organization 5
4.5 ARM Cache Organization 6
1
Chapter 4
Cache Memory
a. Word: unit yang memang harus ada pada organisasi memori. Ukuran kata biasanya
sama dengan jumlah bit yang digunakan untuk mewakili integer dan panjang instruksi
b. Addressable units: di beberapa sistem, addressable units adalah “kata”. Namun banyak
sistem memungkinkan pengalamatan pada level byte
c. Unit of transfe : dalam memori utama, ini berarti jumlah bit dibaca dari atau ditulis ke
dalam memori pada satu waktu.
Perbedaan lain di antara jenis memori adalah metode mengakses unit data, yaitu :
1. Sequential Access
Memori diorganisasikan menjadi unit-unit data, yang disebut record.
Akses dibuat dalam bentuk urutan linier yang spesifik.
Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk
membantu proses pencarian.
2. Direct Access
Akses dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk
mencapai lokasi akhir.
Waktu aksesnya bervariasi.
Contoh direct access adalah akses padadisk.
3. Random Access
Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara
langsung.
Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses
sebelumnya dan bersifat konstan.
Contoh random access adalah sistem memori utama.
4. Associative Access
Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya.
Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri.
Waktu pencariannya tidak bergantung secara konstan terhadap lokasi atau pola
access sebelumnya.
2. Hirarki Memori
2
Sebagian memori utama dapat digunakan sebagai penyangga untuk menahan data
sementara yang akan dibacakan ke disk. Teknik seperti itu, terkadang disebut sebagai disk
cache, meningkatkan kinerja dengan dua cara :
o Disk menulis adalah gugus. Daripada banyak transfer data kecil, kami memiliki
transfer data yang besar. Ini meningkatkan kinerja disk dan meminimalkan
keterlibatan prosesor.
o Beberapa data yang ditujukan untuk Write-out dapat dirujuk oleh program sebelum
dump ke disk berikutnya. Dalam hal ini, data yang diambil dengan cepat dari cache
perangkat lunak daripada perlahan-lahan dari disk.
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.
2. 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.
3
3. Fungsi Pemetaan
Karena ada lebih sedikit baris cache dari blok memori utama, algoritma diperlukan untuk
memetakan blok memori utama ke dalam garis cache.
4. Pemetaan Langsung
PEMETAAN LANGSUNG. 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 :
5. 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.
Dalam kasus ini, cache terdiri dari sejumlah set, yang masing-masing terdiri dari sejumlah
baris. Hubungan tersebut :
Mana
v = jumlah set
7. Algoritma Pengganti
setelah cache diisi, ketika blok baru dibawa ke cache, salah satu blok yang ada harus diganti.
Untuk pemetaan langsung, hanya ada satu baris pos-Sible untuk blok tertentu, dan tidak ada
pilihan yang mungkin. Untuk teknik asosiatif dan set-asosiatif, algoritma penggantian
diperlukan.
4
8. Kebijakan Menulis
• Menonton bus dengan menulis melalui: setiap kontroler cache memonitor baris alamat
untuk mendeteksi operasi tulis ke memori oleh Master bus lainnya.
• Memori yang tidak dapat di-cache: hanya sebagian memori utama yang dibagikan oleh
lebih dari satu prosesor, dan ini ditetapkan sebagai noncacheable.
9. 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. Dua efek tertentu datang ke dalam bermain:
• Blok yang lebih besar mengurangi jumlah blok yang masuk ke dalam cache.
• Sebagai blok menjadi lebih besar, setiap kata tambahan lebih jauh dari kata yang
diminta dan karena itu kurang mungkin diperlukan dalam waktu dekat.
1. Caches Multilevel. Sebagai kepadatan logika telah meningkat, hal itu telah menjadi
mungkin untuk memiliki cache pada chip yang sama seperti prosesor: pada chip cache.
Dibandingkan dengan cache dicapai melalui bus eksternal, cache on-chip mengurangi
aktivitas bus eksternal prosesor dan karena itu mempercepat waktu eksekusi dan
meningkatkan kinerja sistem secara keseluruhan.
2. 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.
1. Untuk ukuran cache yang diberikan, cache terpadu memiliki rasio klik yang lebih
tinggi daripada pemisahan cache karena menyeimbangkan beban antara instruksi
dan pengambilan data secara automati-Cally.
1. 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.
5
2. 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.
3. Unit Exekusi
Unit ini mengeksekusi operasi mikro, mengambil yang diperlukan data dari L1 data cache
dan sementara menyimpan hasil dalam register.
4. 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.