Friday, March 27, 2020

ARSITEKTUR & ORGANISASI KOMPUTER (MEMORI CACHE)

MEMORI CACHE

Keberadaan memori cache dimaksudkan untuk 
mempercepat kerja dari memori utama sehingga 
mendekati kecepatan prosesor, cache memiliki salinan 
data dari memori utama. Pada saat CPU membaca 
sebuah word memori maka terlebih dahulu akan memeriksa
keberaan word tersebut didalam cache bila ditemukan 
akan langsung dikirim ke CPU bila tidak ditemukan maka 
pencarian akan dilanjutkan ke memori utama.  
Cache terhubung dengan prosesor melalui saluran data, 
kontrol dan alamat.












              Gambar Cache dan Memori Utama

Keberadaan cache bisa terletak pada prosesor yang 
disebut on chip cache atau cache internal/ cache tingkat 1 
(L1) dan berada diluar prosesor yang disebut off chip cache 
atau cache eksternal/cache tingkat 2 (L2). Pada gambar 
berikut menjelaskan konsep kerja dari prosesor menuju 
cache dengan kondisi cache hit yaitu suatu keadaan 
ditemukannya data didalam cache dan cache miss keadaan
tidak ditemukannya data didalam memori cache. Pada peristiwa 
cache hit, buffer alamat dan buffer data akan diabaikan 
komunikasi terjadi hanya diantara prosesor dan cache.
Pada keadaan cache miss alamat akan dimuat pada 
sistem bus dan data akan dikembalikan dari cache maupun 
prosesor melalui buffer data. Waktu yang digunakan untuk 
membawa wword data dari memori utama menuju prosesor
disebut sebagai miss pinallty. 



















Semakin besar ukuran cache maka semakin lambat 
unjuk kerja dari cache tersebut. Memori cache disusun 
atas sejumlah baris (disebut juga blok) dengan ukuran 
setiap baris sama dengan ukuran blok pada memori utama 
hanya saja memori utama memiliki jumlah blok yang lebih. 
Untuk itu diperlukan metode pemetaan untuk melakukan 
pemindahan word data dari keduanya.

Metode pemetaan
1. Pemetaan Langsung
blok memori utama dipetakan ke satu baris khusus 
dalam memori cache. Setiap saluran pada baris cache 
akan diberikan alamat dari blok sehingga tidak ada 
2 blok memori utama dipetakan pada baris yg sama pada cache.


















Kelebihan:
Metode ini sederhana karena tag dari baris cache hanya satu 
yang cocok dengan field tag dari memori utama yang diberikan.
Kekurangan :
Blok memori tertentu dipetakan pada suatu baris cache 
yang tetap. Jika dua blok yang sering diakses terjadi untuk 
dipetakan pada baris cache yang sama maka hit ratio pada
baris yang sering diakses kecil menyebabkan eksekusi 
program menjadi lambat.

2.    Pemetaan Asosiatif
Setiap blok memori utama akan dimuat kesembarang 
saluran cache berdasarkan tag yang dimiliki memori utama 
yang diatur oleh kontrol logika cache. Metode ini mengatasi
kekurangan pada pemetaan langsung.















Kelebihan :
Fleksibelitas tinggi. Suatu blok memori dapat dimuatkan 
pada sembarang baris cache.

Kekurangan:
Merupakan sistem yang mahal. Pengontrol cache menjadi 
komplek karena pencarian parallel terhadap perpindahan 
blok pada baris.

3.    Pemetaan Assosiatif Set
Merupakan penggabungan dari dua metode pemetaan 
langsung dan assosiatif. Jumlah total baris cache 
dikelompokan ke dalam set yang banyak. Setiap blok 
memori utama dapat dimuat dalam sembarang saluran cache.

Kelebihan:
Menyediakan fleksibelitas yang lebih baik. Terdapat pilihan 
yang banyak dalam pemetaan suatu blok memori. Selama 
pembacaan dan pencarian terjadi hanya dalam suatu set. 
Tidak seperti assosiatif pencarian dilakukan pada semua cache.

Kekurangan:
Biaya lebih mahal daripada pemetaan langsung namun tidak 
lebih mahal dari pemetaan assosiatif. 











































Algoritma Penggantian
Merupakan metode yang digunakan untuk membuat kosong 
isi dari memori cache untuk dapat dimuatkan blok data 
yang baru. Dalam pemetaan langsung tidak diperlukan algoritma
penggantian. Tiga metode algoritma penggantian yang akan 
diuraikan sebagai berikut:
·  Random Choice: memilih baris cache secara acak tanpa 
   suatu acuan.
·   First In First Out (FIFO) : memilih set yang telah berada 
   pada cache dalam waktu yang lama.
·   Least Frequently Used (LFU): mengganti blok data yang 
   mempunyai referensi paling sedikit.
·   Least recently Used (LRU) mengganti blok data terlama 
   yang berada pada cache dan tidak memiliki referensi.

Write Policy
Sebelum dilakukan penggantian terhadap data yang berada 
pada memori cache perlu dilakukan cek apakah data pada 
memori telah sama. Bila data memori utama telah usang
maka segera digantikan. Dua metode yang digunakan:

1. Write Through Policy
    Penulisan data yang sama dalam memori utama sekaligus 
    dalam memori cache. Metode ini memperlambat eksekusi 
    dikarenakan setiap saat memerlukan akses ke memori utama.
2. Write Back Policy 
    Penulisan hanya pada memori cache saja. 
    Data pada memori cache akan dipindahkan ke memori utama 
    apabila cache ingin melakukan perubahan data. Hal ini akan 
    menimbulkan masalah apabila perangkat I/O mengakses 
    data pada memori utama yang belum update.

Pendekatan yang mungkin dilakukan bagi koherensi cache 
meliputi:
· Bus Watching with Write Through, cache controller akan 
  melakukan monitoring bus alamat untuk mendeteksi setiap 
  operasi. Apabila ditemukan adanya penulisan pada alamat
  yang dipakai bersama maka data pada cache akan dianggap 
  tidak valid.
· Hardware transparency, adanya perangkat keras tambahan 
  yang menjamin semua updating data pada memori utama 
  dan cache.
· Non Cacheable Memory, hanya bagian memori utama 
  tertentu yang digunakan secara bersama oleh lebih dari 
  satu prosesor. seluruh Akses yang masuk pada bagian 
  memori ini dianggap sebagai cache miss dikarenakan data 
  tidak akan pernah disalin kedalam cache. 


Sumber : Diolah dari berbagai sumber  



                          >>>>>TERIMAKASIH<<<<<

No comments:

Post a Comment

ARSITEKTUR & ORGANISASI KOMPUTER (UNIT MASUKAN & KELUARAN)

UNIT MASUKAN DAN KELUARAN Definisi dan Fungsi: Unit masukan dan keluaran merupakan bagian komponen   utama dari sistem komputer ...