Anda di halaman 1dari 15

Soal 2008

3.a Terangkan karakteristik memori berdasarkan lokasi, Location, Capacity, Unit of


transfer, Access method, Performance, Physical type, Physical characteristics,
Organisation
a. Location
Register : memori yang berada dalam CPU, sebagai memori sementara dalam
perhitungan maupun pengolahan data dalam prosesor

Internal : berada diluar chip CPU pengaksesan langsung ke CPU, memori utama dan
cache memori

External : perangkat penyimpan tambahan seprti disk, pita yang dapat diakses oleh
CPU melalui I/O

b. Capacity
Memori Internal
- kapasitas dinyatakan dalam byte (1 byte =
8 bit) atau word.
- panjang satu word 8, 16, 32 bit.

Memori External
- kapasitas dinyatakan dalam byte.
- biasanya lebih besar kapasitasnya daripada
memori internal, hal ini disebabkan karena
teknologi dan sifat penggunaannya yang berbeda.

c. Unit of transfer
Internal
-

Unit transfer sama dengan banyaknya saluran data ke dalam dan keluar
modul memori.

External
- Jumlah blok transfer selalu lebih besar dari word 64, 128, 256 bit
Addressable unit
-

Dalam beberapa sistem sering disebut word.


Sistim lain memperbolehkan pengalamatan pada tingkatan byte.

d. Access method
Sequential
- diorganisir dalam unit-unit data/RECORD
- akses harus dibuat dalam urutan linier spesifik
- pembacaan akan dilakukan secara urut
- contoh : unit pita
Direct

Setiap blok dan record memiliki alamat unik berdasarkan lokasi fisiknya

waktu akses variabel

akses dilakukan secara langsung pada alamat memori

contoh : unit disk

Random / acak
- pengalamatan dengan sistem fisik wired-in /pengalamatan langsung.
- waktu akses memori bersifat konstan.
- tidak tergantung pada urutan akses.
- contoh : sistem meori utama dan cache.
Associative

merupakan jenis random akses

memungkinkan pembandingan lokasi bit yang diinginkan untuk


pencocokan

data dicari berdasarkan isinya bukan alamatnya dalam memori

contoh : cache memori

e. Performance

Access time

pada memori random waktu access adalah waktu yang dibutuhkan untuk
melakukan operasi baca atau tulis.

pada memori non random waktu access merupakan waktu yang dibutuhkan untuk
melakukan operasi baca atau tulis pada lokasi tertentu.

Memory cycle time


: konsep ini digunakan pada random acccess memory dan terdiri dari access time
ditambah dengan waktu yang diperlukan transient agar hilang pada saluran sinyal.

Transfer rate
: kecepatan data transfer ke unit memori atau dari unit memori.

f. Physical type

Memori Semikonduktor teknologi VLSI


contoh : RAM

Memori magnetik
contoh : disk dan pita.

Optik
contoh : CD dan DVD

Magneto-optik.
contoh : buble, hologram

g. Physical characteristics

volatile memory,
: informasi akan hilang apabila daya listriknya dimatikan

non-volatile
: memory tidak hilang walau daya listriknya hilang.

Memori permukaan magnetik non volatile


Semikonduktor volatile dan non-volatile
h. Organisation
3.b terangkan hal2 yang harus di pertimbangkan dalam rancangan cache memori

3.c. Macam-macam pemetaan/mapping


1. Direct mapping
Setiap block dari memori utama hanya memetakan ke dalam satu baris cache. Jika suatu
block ditemukan di cache, maka block tersebut selalu ditemukan pada tempat yang
sama.
Nomor baris dihitung menggunakan rumus berikut: i = j modulo m di mana
i = Nomor baris cache
j = Nomor block pada memori utama
m = Jumlah baris di cache
Struktur alamat: Setiap alamat memori utama dibagi menjadi 3 bagian
-

Least Significant Bits (LSB) w mengidentifikasikan word unik dalam sebuah block

Remaining Bits (RB) s menetapkan block yang terdapat dalam memori. RB dibagi
menjadi dua bagian

LSB r dari total s mengidentifikasikan baris yang ditempati dalam cache

Most Significant Bits (MSB) s-r secara tunggal mengiddentifikasi block dalam
baris dari cache

Panjang Alamat (address length) = (s + w) bits


Jumlah unit yang dialamati (number of addressable units) = 2s+w words/ bytes
Ukuran block (block size) = lebar baris (line width) = 2w words/bytes
Jumlah block dalam memori (number of blocks in main memory) = 2s+ w/2w = 2s
Jumlah baris dalam cache (number of lines in cache) = m = 2r
Ukuran Tag (size of tag) = (s r) bits
Kelebihan dan kekurangan:
-

Sederhana

Tidak Mahal

Lokasi tetap untuk block tertentu

Jika sebuah program mengakses 2 block yang dipetakan pada baris yang sama,
kemungkinan gagal sangat tinggi (thrasing)

Contoh
-

Alamat Bus 24 bit

Pengenal (identifier) 2 bit word

Pengenal block 22 bit

Label (tag) 8 bit = 22-14

Baris/ Slot 14 bit

Tidak ada dua block yang berada dalam baris yang sama mempunyai label (tag)
yang sama

Cek isi dari cache dengan menemukan baris dan membandingkan label (tag)

2. Associative Mapping
Sebuah block pada memory utama bisa mengisi pada sebarang baris pada cache
Alamat memori diintrepetasikan sebagai:
-

Least significant bits (LSB) w = posisi word pada block

Most significant bits (MSB) s = Tag digunakan untuk mengidentifikasikan block


yang mana disimpan pada baris tertentu

Pencocokan tag setiap baris harus melalui pengujian tertentu


Pencarian cache menjadi mahal dan lambat
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) = 2 s+ w/2w =
2s
Jumlah baris dari cache (number of lines in cache) = tidak bisa ditentukan
Ukuran Tag = s bits

3. Set Associative Mapping

Panjang alamat (address length) adalah s+w bits


Cache di bagi dalam sejumlah himpunan tertentu, v = 2d
k blocks/lines dapat dimuat pada setiap set
k lines pada cache disebut k-way set associative mapping
Jumlah baris dalam cache (number of lines in a cache) = vk = k2d
Ukuran tag (Size of tag) = (s-d) bits
Gabungan dari Direct dan Associative
k = 1, direct mapping

v = 1, associative mapping
Setiap set memuat sejumlah baris, pada dasarnya jumlah baris dibagi sebanyak jumlah
himpunannya
Block tertentu memetakan ke sebarang baris pada himpunan spesifik
Cara yang biasa digunakan menggunakan 2 baris tiap set
Disebut 2-way associative mapping
Block tertentu bisa berada pada salah satu dari 2 baris pada satu himpunan spesifika one
of 2 lines in only one specific set
Perbaikan yang cukup signifikant dibanding direct mapping
3d. Macam-macam write policy pada cache memory
Ada dua macam metode dasar penulisan cache :

Write-through

Operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache memori
sehingga data selalu valid.
Kekurangan teknik ini adalah :
-

Lalu lintas data ke memori utama dan cache sangat tinggi

Mengurangi kinerja sistem, bisa terjadi hang

Write back

Teknik me-minimalisasi penulisan dengan cara penulisan pada cache saja.


Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada memori
utama.
Masalah : manakala data di memori utama belum di-update telah diakses modul I/O sehingga
data di memori utama tidak valid

Selain kedua metode di atas adapula metode lain yaitu Multi cache.

Multi cache untuk multiprosesor.


Masalah yang lebih kompleks.

Masalah validasi data tidak hanya antara cache dan memori utama

Antar cache harus diperhatikan Kapasitas, Satuan Transfer, Metode Akses, Kinerja, Tipe
Fisik dan Karakteristik Fisik.

Soal 2010
2a. Sama dengan jawaban 3c soal 2008
2b. Macam-macam algoritma pemetaan cache memori
Macam-macam algoritma:
1.

Least Recently used (LRU)


Blok yang diganti adalah blok yang paling lama di cache dan tidak digunakan
Kelebihan:
- Paling efektif
- Mempunyai hit ratio tinggi
data yang sering digunakan saja yang ditaruh di
cache
- Paling mudah diimplementasikan pada two-way set associative mapping
(digunakan sebuah bit tambahan = USE bit, line yang direfer
USE bit = 1))
Contoh:
Kapasitas cache hanya 4 baris sedangkan jumlah blok data jauh lebih banyak. Jika
urutan pengaksesan data adalah:
a b c d c b a b c kemudian datang data e maka data yang diganti adalah ???
Jawaban: d
Kalau data yang diakses sebelum data e adalah d, maka data yang diganti ???
Jawaban: a (a lebih lama tidak diakses dibanding d)

2. First in first out (FIFO)


Blok yang diganti adalah blok yang paling awal berada di cache
Contoh:
Kapasitas cache hanya 4 baris sedangkan jumlah blok data jauh lebih banyak. Jika
urutan pengaksesan data adalah:
a b c d c b a b c kemudian datang data e maka data yang diganti adalah ???
Jawaban: a (a paling lama/awal berada di cache)
Kalau data yang diakses sebelum data e adalah d, maka data yang diganti
adalah ???
Jawaban: a (a paling lama/awal berada di cache)
3. Least frequently used (LFU)
Blok yang paling jarang digunakan yang diganti
Setiap baris mempunyai counter
Contoh:

Kapasitas cache hanya 4 baris sedangkan jumlah blok data jauh lebih banyak. Jika
urutan pengaksesan data adalah:
a b c d c b a b c a d kemudian datang data e maka data yang diganti adalah ???
Jawaban: d (d paling jarang diakses)
Kalau urutan data yang diakses sebelum data e adalah a b c d c b a b c a d d,
maka data yang diganti adalah ???
Jawaban: (i) (nilai counter a sama dengan yang lain, tetapi karena a datang paling awal
maka a berada pada baris paling awal)
FIFO
(ii) (paling lama tidak diakses)
LRU
4.

Random
Penggantian blok dilakukan secara acak. Algoritma random adalah algoritma yang
cukup sederhana juga selain algoritma FIFO. Dalam algoritma ini, halaman yang dipilih
menjadi korban dipilih secara acak. Meskipun terdengar asal, tetapi algoritma ini relatif
low cost, karena tidak memerlukan stack, queue atau counter. Dibandingkan dengan
FIFO, rata-rata kasus menunjukkan page fault rate algoritma random lebih rendah
daripada algoritma FIFO. Sedangkan dibandingkan dengan LRU, algorima random ini
lebih unggul dalam hal memory looping reference , karena algoritma random sama
sekali tidak memerlukan looping

2c. unit2 yang ada dalam core processor serta funsinya


a) Fetch/decode Unit
- Mengambil instruksi dari cache L2
- Men-decode instruksi menjadi mikro operasi
- Menyimpan hasilnya (operasi mikro) dicache instruksi L1
b) Out of order execution
- Membuat jadwal eksekusi operasi mikro sesuai dengan data dan rechource yang
tersedia
- Membuat jadwal eksekusi mikro yang mungkin akan digunakan (spekulasi)
c) Execution units
- Mengeksekusi mikro operasi
- Mengambil data yang diperlukan dari cache L1
- Menyimpan hasil pemrosesan ke register
d) Memory subsystem
- Terdiri dari cache L2 dan sistem bus
- Untuk mengakses main memory jika
terjadi cache miss
- Untuk mengakses resource I/O
2d. kebijakan penyimpanan (write policy) dlm kaitannya dengan chacce memory

Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian harus
dicek apakah data tersebut telah mengalami perubahan.
Apabila telah berubah maka data pada memori utama harus di-update.

Masalah penulisan ini sangat kompleks, apalagi memori utama dapat diakses langsung
oleh modul I/O, yang memungkinkan data pada memori utama berubah, lalu bagaimana
dengan data yang telah dikirim pada cache?
Tentunya perbedaan ini menjadikan data tidak valid

2e. terangkan perlunya chace memory pada system komputer


karena kecepatan memori utama yang rendah dibandingkan dengan kecepatan prosesor,
maka sangat diperluka sekali cache sebagai antisipasi terhadap permintaan data memori
yang akan digunakan CPU. Apabila data diambil langsung dari memori utama atau maka
akan memakan waktu lama yang menyebabkan dapat membuang waktu dengan menunggu
untuk mengskses intruksi dan data pada memory utama.
1. Mempercepat kerja memori sehingga mendekati kecepatan prosesor.
2. Memori utama lebih besar kapasitasnya namun lambat operasinya, sedangkan cache
memori berukuran kecil namun lebih cepat.
3. Cache memori berisi salinan memori utama
Maka Cache Memory masih diperlukan sekali oleh komputer.

SOAL 2009
5. Fungsi pemetaan/mapping
a). Direct mapping
Setiap block dari memori utama hanya memetakan ke dalam satu baris cache. Jika suatu
block ditemukan di cache, maka block tersebut selalu ditemukan pada tempat yang
sama.
Nomor baris dihitung menggunakan rumus berikut: i = j modulo m di mana
i = Nomor baris cache
j = Nomor block pada memori utama
m = Jumlah baris di cache
Struktur alamat: Setiap alamat memori utama dibagi menjadi 3 bagian
-

Least Significant Bits (LSB) w mengidentifikasikan word unik dalam sebuah block

Remaining Bits (RB) s menetapkan block yang terdapat dalam memori. RB dibagi
menjadi dua bagian

LSB r dari total s mengidentifikasikan baris yang ditempati dalam cache

Most Significant Bits (MSB) s-r secara tunggal mengiddentifikasi block dalam
baris dari cache

Panjang Alamat (address length) = (s + w) bits


Jumlah unit yang dialamati (number of addressable units) = 2s+w words/ bytes
Ukuran block (block size) = lebar baris (line width) = 2w words/bytes
Jumlah block dalam memori (number of blocks in main memory) = 2s+ w/2w = 2s
Jumlah baris dalam cache (number of lines in cache) = m = 2r
Ukuran Tag (size of tag) = (s r) bits
Kelebihan dan kekurangan:
-

Sederhana

Tidak Mahal

Lokasi tetap untuk block tertentu

Jika sebuah program mengakses 2 block yang dipetakan pada baris yang sama,
kemungkinan gagal sangat tinggi (thrasing)

Contoh
-

Alamat Bus 24 bit

Pengenal (identifier) 2 bit word

Pengenal block 22 bit

Label (tag) 8 bit = 22-14

Baris/ Slot 14 bit

Tidak ada dua block yang berada dalam baris yang sama mempunyai label (tag)
yang sama

Cek isi dari cache dengan menemukan baris dan membandingkan label (tag)

b). Associative Mapping


Sebuah block pada memory utama bisa mengisi pada sebarang baris pada cache
Alamat memori diintrepetasikan sebagai:
-

Least significant bits (LSB) w = posisi word pada block

Most significant bits (MSB) s = Tag digunakan untuk mengidentifikasikan block


yang mana disimpan pada baris tertentu

Pencocokan tag setiap baris harus melalui pengujian tertentu


Pencarian cache menjadi mahal dan lambat
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) = 2 s+ w/2w =
2s
Jumlah baris dari cache (number of lines in cache) = tidak bisa ditentukan
Ukuran Tag = s bits

c). Set Associative Mapping


Panjang alamat (address length) adalah s+w bits
Cache di bagi dalam sejumlah himpunan tertentu, v = 2d
k blocks/lines dapat dimuat pada setiap set
k lines pada cache disebut k-way set associative mapping
Jumlah baris dalam cache (number of lines in a cache) = vk = k2d
Ukuran tag (Size of tag) = (s-d) bits
Gabungan dari Direct dan Associative
k = 1, direct mapping

v = 1, associative mapping
Setiap set memuat sejumlah baris, pada dasarnya jumlah baris dibagi sebanyak jumlah
himpunannya
Block tertentu memetakan ke sebarang baris pada himpunan spesifik
Cara yang biasa digunakan menggunakan 2 baris tiap set

Disebut 2-way associative mapping


Block tertentu bisa berada pada salah satu dari 2 baris pada satu himpunan spesifika one
of 2 lines in only one specific set
Perbaikan yang cukup signifikant dibanding direct mapping
6. Macam-macam write policy pada cache memory
Ada dua macam metode dasar penulisan cache :
a). Write-through
Operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache
memori sehingga data selalu valid.
Kekurangan teknik ini adalah :
-

Lalu lintas data ke memori utama dan cache sangat tinggi

Mengurangi kinerja sistem, bisa terjadi hang

b) Write back
Teknik me-minimalisasi penulisan dengan cara penulisan pada cache saja.

Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada
memori utama.
Masalah : manakala data di memori utama belum di-update telah diakses modul I/O
sehingga data di memori utama tidak valid

Selain kedua metode di atas adapula metode lain yaitu Multi cache.

Multi cache untuk multiprosesor.


Masalah yang lebih kompleks.

Masalah validasi data tidak hanya antara cache dan memori utama

Antar cache harus diperhatikan Kapasitas, Satuan Transfer, Metode Akses, Kinerja, Tipe
Fisik dan Karakteristik Fisik.
c) Write Once

100. Jumlah cache - barangkali ada inimah


Singel level
Hanya ada satu level cache(sudah ditinggalkan)
Multi level
Terdiri dari 2 level cache atau lebih. Mempercepat tersedianya data yang dibutuhkan CPU.
Kelebihannya memperbaiki performansi. Kekurangan perancangan cache lebih rumit
(ukuran, algoritma, write policy, dll)
Unified

Data dan intruksi disimpan pada tempat yang sama (dalam satu cache). Kelebihan hit rate
lebih tinggi daripada split cache, perancangan dan implementasi terfokus pada satu cache.
Kekurangan tidak mendukung pipeline, dapat terjadi contention cache.
Split
Cache dibagi 2 sehingga data dan intruksi disimpan pada tempat terpisah. Kelebihan
memndukung eksekusi intruksi secara paralel, mencegah contention cache antara
fetch/decode intruksi dan eksekusi performasi lebih baik

Anda mungkin juga menyukai