NIM : L200180180
Kelas :C
Laporan Tugas
Organisasi dan Arsitektur Komputer
Pertemuan 12
Chapter 17 : Parallel Processing
b. Hardware Solutions
i. Directory Protocol
Protokol direktoru mengumpulkan dan mengurus informasi tentang
dimana baris kopian tinggal. Biasanya, disana ada pengsentralan
kontroler yang menjadi bagian dari kontroler main memory, dan
sebuah direktori terdaftar di main memory. Direktori terdiri dari
informasi pernyataan global tentang konten dari variasi kolak cache.
Dimana kontroler individual cache membuat sebuah permintaan,
centralized controller menecek dan perintah penting untuk data
trasfer diantara memori dan cache atau diantara cache. Ini juga
bertanggungjawab untuk menjaga pernyataan informasi tetap
terupdate.
ii. Snoopy Protocol
Snoopy protokol membagikan tanggungjawab untuk mengurus
koherensi cache diantara semua kontroler cache didalam
multiprosesor. Sebuah cache harus mengakui ketika sebuah baris
yang dipegangnya dapat dibagikan dengan cache lainnya. Ketika ada
aksi update dijalankan di baris shared cache, dia harus
mengumumkan ke semua cache dengan broadcast mekanisme. Setiap
cache kontroler dapat ‘snoop’ ke jaringan untuk mengobservasi
notifikasi broadcast tadi, dan bertindak sedemikian rupa.
c. The MESI Protocol
Untuk menhasilkan kekonsistenan cache di sebuah SMP, data cache
kadang menudukung protokol yang disebut dengan MESI. Untuk MESI, data
cache terdiri dari dua status bit per tag, jadi setiap baris dapat menjadi satu
dari empat tahap :
Modified : baris didalam cache telah dimodifikasi dan tersedia
hanya di cache ini.
Exclusive : baris yang didalam cache adalah sama dengan yang ada
di main memori dan tidak menyajikan di cache lain.
Shared : baris didalam cache adalah cache yang sama dengan yang
ada di main memori dan mungkin tersedia untuk cache lainnya.
Invalid : baris didalam cache tidak terdiri dari data valid.
Tabel 17.1 merupakan ringkasan dari empat tahap diatas. Gambar 17.6
menampilkan bagian diagram dari MESI Protocol.
Read miss : ketika sebuah read miss terjadi didalam cache lokal, prosesor
menginisasi sebuah memori untuk membaca baris dari main memori yang
mengandung alamat yang hilang. Prosesor memasukkan sinyal ke bus dan
memberitahukan ke semua unit prosesor/cache untuk ‘snoop’ semua
transaksi.
Read Hit : ketikasebuah read hit terjadi didalam cache lokal, prosesor
membaca kebutuhan item. Disana tidak ada pergantian state, state tinggal
modified, shared, dan exclusive.
Write miss : ketika sebuah write miss terjadi, prosesor menginisasi sebuah
memori pembaca untuk membaca barus dari main memori yang mengandung
alamat yang hilang. Untuk tujuan ini, prosesor mengisukan sinyal ke bus yang
berisi ‘read-with-intent-to-modify-’. ketika baris terisikan, langsung segera
ditandai modified.
Write hit : ketika write hit terjadi di cache lokal, efeknya tergantung dari
current state dari baris di lokal cache :
Shared : sebelum mngupdate, prosesor harus mendapatkan
kepemilikan ekslusif dari baris. Sinyal prosesor bermasuksud
didalam bus, setiap prosesor yang memiliki copyan dari baris
yang gagal.
Exclusive : prosesor sudah memiliki kontrol ekslusif dari baris
ini, dan melakukan update dan transisi salinan dari baris dari
ekslusif ke modified.
Modified : proseseor sudah memiliki kontrol ekslusif dari baris
ini dan sudah menandai baris sebagai modified dan
menjalankan update.