FUNGSI PEMETAAN (MAPPING)

            Karena saluran cache lebih sedikit dibandingkan dengan blok memori utama, diperlukan algoritma untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu diperlukan alat untuk menentukan blok memori utama mana yang sedang memakai saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk organisasi cache. Pemilihan fungsi pemetaan seperti langsung, asosiatif dan asosiatif set akan menentukan bentuk organisasi cache.

Dapat digunakan tiga jenis metode, yaitu sebagai berikut :

1. Pemetaan Langsung (Direct Mapping)

Pemetaan ini memetakan masing-masing blok memori utama hanya ke satu saluran cache saja. Jika suatu block ada di cache, maka tempatnya sudah tertentu. Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. Cache diakses dengan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word. Keuntungan dari direct mapping adalah sederhana dan murah. Sedangkan kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui, kerugian lainnya adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sangat tinggi).

2. Pemetaan Asosiatif (Associative Mapping)

Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke dalam cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel, sehingga pencarian data di cache menjadi lama.

Mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dalam hal ini, cache control logic menginterpretasikan alamat memori hanya sebagai sebuah field tag dan field word. Field tag secara unik mengidentifikasi suatu blok memori utama. Untuk menentukan apakah suatu blok berada di dalam cache, maka cache control logic harus secara simultan memeriksa setiap tag saluran yang sesuai. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika sebuah blok di baca ke dalam cache. Kekurangan pemetaan ini adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara parallel.

3. Pemetaan Asosiatif Set (Set Associative Mapping)

Pada pemetaan ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line. Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan langsung dan pemetaan asosiatif.

HASIL DISKUSI (TENTANG PEMETAAN ASOSIATIF)

Sebuah block pada memory utama bisa mengisi pada sebarang baris pada cache

  • Panjang alamat (address length) = (s + w) bits
  • Jumlah unit yang bisa dialamati (number of addressable units) = 2s+w words/bytes
  • Ukuran block (block size) = ukuran baris (line size) = 2w words/bytes
  • Jumlah dari block pada memori utama (number of blocks in main memory) = 2s+ w/2w = 2s
  • Jumlah baris dari cache (number of lines in cache) = tidak bisa ditentukan
  • Ukuran Tag = s bits

Contoh Soal:

Suatu sistem komputer memiliki memory utama sebesar 512 Mbyte, memiliki cache sebesar 128 Kbyte. Transfer data antara memory utama dengan cache dalam ukuran block yang besarnya 8 byte, jika digunakan pemetaan Asosiative Mapping, tunjukkan masing-masing berapa bit untuk TAG (T), dan WORD (W).

Diketahui :  Memory : 512 MB

            Cache : 128 KB

            1 Block : 8 Byte

            Dit : T  W  ?

Jawab:

Maka lebar alamat = 512 MB =  220 .  29 = 229 = 29 bit.

1 Block 8 Byte =  23 , Maka Wordnya =  3 bit.

Maka besar TAG = Memori – Lebar Word = 29 – 3 (word) = 26 bit

Sehingga,

T = 26

 W = 3

FLOATING-POINT

 

Floating-point atau bilangan titik mengambang, adalah sebuah format bilangan yang dapat digunakan untuk merepresentasikan sebuah nilai yang sangat besar atau sangat kecil. Bilangan ini direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian eksponen (E). Bagian mantisa menentukan digit dalam angka tersebut, sementara eksponen menentukan nilai berapa besar pangkat pada bagian mantisa tersebut (pada posisi titik desimal). Sebagai contoh, bilangan 314600000 dan bilangan 0.0000451 dapat direpresentasikan dalam bentuk bilangan floating point: 3146E5 dan 451E-7 (artinya 3146 * 10 pangkat 5, dan 451 * 10 pangkat -7).

Kebanyakan CPU atau mikroprocessor sederhana tidak mendukung secara langsung operasi terhadap bilangan floating-point ini, karena aslinya mikroprosesor ini hanya memiliki unit aritmetika dan logika, serta unit kontrol yang beroperasi berdasarkan pada integer saja.

Perhitungan atau kalkulasi terhadap nilai floating point pada jenis mikroprosesor sederhana dapat dilakukan dengan menggunakan perangkat lunak, sehingga operasinya sangat lambat. Untuk itulah, sebuah prosesor tambahan dibutuhkan untuk melakukan operasi terhadap jenis bilangan ini, yang disebut dengan unit titik mengambang.

 

Sumber:

Buku William Stallings – Computer Organization and Architecture Designing for Performance (8th Edition)