Anda di halaman 1dari 8

JOBSHEET

Arsitektur dan Organisasi Komputer

“Cache”

Disusun oleh:

Program Studi Teknik Informatika


Jurusan Teknik Elektro

POLITEKNIK NEGERI SEMARANG


2020
I. Tujuan Instruksional Khusus
Setelah menyelesaikan praktikkum ini, mahasiswa diharapkan dapat:
1. Menjelaskan tentang Direct Mapping pada cache
2. Menjelaskan tentang cache hit dan miss
3. Menjelaskan tentang 2-way-Set-Associative dan 4-way-Set-Associative pada cache
4. Menjelaskan pengaruh cache size dan bentuk mapping

II. Teori Dasar


Pada umumnya, memori yang lebih kecil bersifat lebih lambat dari pada memori yang
lebih besar, kecuali terhadap CPU yang paling lambat. Kinerja sistem akan terganggu
apabila peralatan yang cepat harus menunggu sistem memori mengakses data. Peralatan
tersebut bisa berupa peralatan I/O atau CPU, dan sistem memori bisa berupa memori utama
atau peralatan eksternal. Karena pemakai komputer nampaknya selalu menginginkan
memori yang lebih besar, maka para perancang komputer harus secara seksama
mempertimbangkan keseimbangan daya jual antara biaya memori dan kinerjanya. Salah satu
cara untuk mengurangi degradasi kinerja yang diakibatkan oleh memori yang lambat adalah
dengan menggabungkan memori cache ke dalam sistem. Memori cache adalah buffer
kecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data
yang berdekatan dalam memori utama. Dengan memasukkan memori cache antara peralatan
cepat dan sistem memori yang lebih lambat, perancang dapat memberikan sistem memori
yang cepat.
CPU-OS Simulator memiliki Data Cache Simulator. Untuk mengaksesnya, klik
tombol Show Cache yang ada pada Cache-Pipeline Tab di layar tampilan utama CPU-OS
Simulator seperti pada gambar 1.
Gambar 1. Layar tampilan Data Cache Window
Pada layar tampilan Data Cache Window tersebut, terdapat block size, chace type, Set
Blocks, dan chace size yang dapat dipilih berdasarkan jenis dan kapasitas yang diinginkan.
Untuk tampilannya dapat dilihat dalam bentuk grafik, chace stats, dan layar cache data.

III. PRAKTIKUM
1. Buat program berikut ini
MOV #0, R01
STB R01, @R01
CMP #63, R01
JEQ 31
ADD #1, R01
JMP 6
HLT
Program di atas menulis data angka dari 0 sampai dengan 63 pada lokasi alamat memori
0 sampai dengan 63. Jalankan program tersebut dan amati pada layar Program Data
Memory seperti pada gambar 9 ! Klik tombol Show Cache sehingga keluar tampilan
seperti pada gambar 13, lalu bersihkan dengan mengklik tombol Flush. Konfigurasi ulang
cache dengan spesifikasi: Block Size = 4, Cache Type = Direct Mapped, Cache Size = 16,
Write Policy = Write- Back.
Kemudian sisipkan kode berikut di bawah set instruksi JMP 6:
LDB 0, R00
LDB 1, R00
LDB 2, R00
LDB 3, R00
Eksekusi set instruksi di atas dengan cara mengklik tombol Step yang ada pada tampilan
utama seperti pada gambar 1. Amati dan isi tabel di bawah ini !
Address Data Hits Block

Hits % Hits
Misses % Misses

Masukkan set instruksi berikut di bawah set instruksi LDB 3, R00


LDB 4, R00
Eksekusi set instruksi tersebut dengan mengklik tombol Step, amati isi data pada layar
Program Data Memory lalu isi tabel berikut
Address Data Block

Dari hasil pengamatan anda, buatlah kesimpulannya !


2. Bersihkan cache dengan mengklik tombol Flush pada layar Data Cache. Lalu
masukkan set instruksi berikut di bawah set instruksi terakhir.
LDB 16, R00
LDB 32, R00
Eksekusilah hanya 3 set instruksi berikut dengan cara klik set instruksi yang ingin
dijalankan lalu klik tombol Step yang ada pada layar tampilan utama seperti pada gambar
1.
LDB 0, R00
LDB 16, R00
LDB 32, R00

Ulangi langkah di atas dua kali, amati apa yang terjadi lalu isilah tabel di bawah ini
Address Data Hits Block

Hits % Hits
Misses % Misses

Dari hasil pengamatan anda, berikan kesimpulannya !


3. Konfigurasi cache dengan spesifikasi: Block Size = 4, Cache Type = Set Associative,
Cache Size = 16, Set Blocks = 2-way, Write Policy = Write-Back. Sisipkan set instruksi
berikut di bawah set instruksi LDB 4, R00:

LDB 8, R00
LDB 12, R00

Eksekusi set instruksi dengan urutan sebagai berikut satu persatu (dengan menekan
tombol Step):
LDB 0, R00
LDB 4, R00
LDB 8, R00
LDB 12, R00
Amati lalu isilah tabel berikut:
Address Set Block
0000
0004
0008
0012

Konfigurasi ulang cache dengan merubah Set Blocks-nya menjadi 4-way. Eksekusi set instruksi dengan
urutan sebagai berikut:
LDB 0, R00
LDB 4, R00
LDB 8, R00
LDB 12, R00

Amati, lalu isi tabel berikut:


Address Set Block
0000
0004
0008
0012
Bersihkan cache dengan mengklik tombol Flush pada layar Data Cache. Dari
program tersebut, eksekusi hanya dua set instruksi berikut satu persatu:

LDB 0, R00
LDB 16, R00
Ulangi langkah di atas tiga kali, amati, lalu isi tabel berikut:
Address Data Hits

Hits % Hits
Misses % Misses
Dari hasil pengamatan anda, berikan kesimpulannya !
4. Buka layar Compiler seperti pada gambar 11. Buat program seperti di bawah, lakukan proses Compile,
kemudian Load In Memory
program CacheTest
var a array(50) byte
i = 49
for n = 0 to 49
p = a(n) + a(i)
i = i – 1
next
end

Pastikan pilihan Charts pada layar Data Cache (seperti pada gambar 1) aktif. Pilih parameter cache
yang sesuai, jalankan program, amati lalu isilah tabel berikut (pastikan sebelum menjalankan program
dengan spesifikasi baru, anda menekan tombol dahulu tombol Reset Program pada layar tampilan
utama simulator seperti pada gambar 1 dan Write Policy pada layar Data Cache seperti pada gambar 1
adalah Write-Back):
Direct Mapping (cache size mulai dari 16 sampai dengan 256)
16 32 64 128 256

2-way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256)
16 32 64 128 256

4-way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256)
16 32 64 128 256

8-way Set Associative Mapping (cache size mulai dari 32 sampai dengan 128)
32 64 128

Dari hasil pengamatan anda, berikan kesimpulannya !

Anda mungkin juga menyukai