Professional Documents
Culture Documents
EL3011 - Bab04 - Hirarki Memori
EL3011 - Bab04 - Hirarki Memori
EL3011 - Bab04 - Hirarki Memori
Bagian 9
Hirarki Memori
2
Random Access Memory (RAM)
Karakteristik
RAM dibungkus dalam paket berbentuk chip
Satuan penyimpanan dasar adalah sel (1 bit per sel)
Gabungan beberapa chip RAM membentuk memori
Static RAM (SRAM)
Setiap sel menyimpan bit dalam rangkaian dgn enam transistor
Datanya akan bertahan terus, selama diberi daya
Relatif tahan terhadap gangguan, seperti noise
Lebih cepat dan mahal dari DRAM
Dynamic RAM (DRAM)
Setiap sel menyimpan bit dalam kapasitor dan transistor
Datanya harus di-refresh setiap 10-100 ms
Sensitif terhadap gangguan
Lebih lambat dan murah dibandingkan dengan SRAM
3
Perbandingan SRAM vs DRAM
4
Organisasi DRAM Konvensional
Total d x w bit, disimpan dalam d buah supersel berukuran w bit
16 x 8 DRAM chip
kolom
0 1 2 3
2 bit 0
/
alamat
1
baris
memory supersel
2
controller (2,1)
(ke CPU)
3
8 bit
/
data
8 3
/
data
ke CPU alamat
1
baris
memory
2
controller
supersel 3
8
(2,1) /
data
64-bit doubleword
8
Enhanced DRAM
9
Nonvolatile Memory
10
Struktur Bus CPU-Memori
register file
ALU
I/O main
bus interface
bridge memory
11
Proses Membaca Memori (1)
ALU
%eax
main memory
I/O bridge 0
A
bus interface x A
12
Proses Membaca Memori (2)
Main memory membaca A dari memory bus, mengambil word x,
dan meletakkannya pada bus
register file
Operasi LOAD : movl A, %eax
ALU
%eax
main memory
I/O bridge x 0
bus interface x A
13
Proses Membaca Memori (3)
ALU
%eax x
main memory
I/O bridge 0
bus interface x A
14
Proses Menulis ke Memori (1)
CPU meletakkan alamat A pada bus. Main memory membacanya
dan menunggu munculnya word data.
ALU
%eax y
main memory
I/O bridge 0
A
bus interface A
15
Proses Menulis ke Memori (2)
ALU
%eax y
main memory
I/O bridge 0
y
bus interface A
16
Proses Menulis ke Memori (3)
ALU
%eax y
main memory
I/O bridge 0
bus interface y A
17
Hard Disk
Hard disk terdiri dari beberapa piringan, masing-masing memiliki dua
permukaan.
Pada setiap permukaan terdapat lingkaran konsentrik yang disebut track.
Setiap track terbagi atas beberapa sektor yang dipisahkan oleh jarak
tertentu (gap).
track
permukaan
track k gap
Pemutar
(spindle)
sektor
18
Geometri Hard Disk
silinder k
permukaan
0 piringan
permukaan
0
1
permukaan
2 piringan
permukaan
1
3
permukaan
4
permukaan piringan
5 2
spindl
e
19
Kapasitas Hard Disk
20
Menghitung Kapasitas HardDisk
21
Operasi Hard Disk
Permukaan
Head baca/tulis diletakkan
hard disk
pada ujung lengan, dan
berputar
melayang di atas permukaan
dengan
disk ketika disk berputar
kecepatan
rotasi tetap
spindle
spindle
spindle
spindle
22
Operasi Hard Disk
Head baca/tulis
bergerak bersamaan
dari silinder ke silinder
lengan
spindle
23
Waktu Akses Hard Disk
24
Contoh Waktu Akses HardDisk
Diketahui :
Kecepatan rotasi = 7,200 RPM
Waktu pencarian rata-rata = 9 ms.
Rata2 # sektor/track = 400.
Diturunkan :
Tavg rotasi = 1/2 x (60 det/7200 RPM) x 1000 mdetik/detik = 4 mdetik
Tavg transfer = 60/7200 RPM x 1/400 sektor/track x 1000 mdetik/detik
= 0.02 mdetik
Taccess = 9 mdetik + 4 mdetik + 0.02 mdetik
Hal penting :
Waktu akses didominasi oleh waktu pencarian dan delay rotasi
Bit pertama pada sektor adalah yang paling berpengaruh.
Waktu akses SRAM sekitar 4 ndetik/doubleword, DRAM 60 ndetik
Hard disk sekitar 40.000 kali lebih lambat dari SRAM
2.500 lebih lambat dari DRAM
25
Blok Logika Hard Disk
ALU
system bus memory bus
I/O main
bus interface
bridge memory
mousekeyboard monitor
disk
27
Membaca Sektor Hard Disk (1)
CPU register file CPU memulai pembacaan hard disk
dengan menulis perintah, bilangan blok
ALU
logika, alamat memori tujuan ke suatu
port (alamat) yang diterjemahkan oleh
hard disk controller.
main
bus interface
memory
I/O bus
mousekeyboard monitor
disk
28
Membaca Sektor Hard Disk (2)
CPU register file Hard disk controller membaca sektor dan
melakukan direct memory access (DMA)
ALU
transfer ke main memory
main
bus interface
memory
I/O bus
mousekeyboard monitor
disk
29
Membaca Sektor Hard Disk (3)
CPU register file Setelah transfer DMA selesai,
hard disk controller memberitahu
ALU
CPU dengan memberikan sinyal
interupsi
main
bus interface
memory
I/O bus
mousekeyboard monitor
disk
30
Perkembangan Memori
metrik 1980 1985 1990 1995 2000 2000:1980
31
Kecepatan Clock CPU
32
Gap Kecepatan CPU - Memori
100,000,000
10,000,000
1,000,000
100,000 Disk seek time
DRAM access time
ns
10,000
SRAM access time
1,000
CPU cycle time
100
10
1
1980 1985 1990 1995 2000
year
33
Locality
Prinsip locality :
Program cenderung untuk memakai ulang data dan
instruksi yang letaknya berdekatan dengan yang
sebelumnya digunakan, atau yang pernah
mereferensikannya.
Temporal locality : sesuatu yang pernah
direferensikan cenderung akan direferensikan
kembali pada waktu yang tidak lama.
Spatial locality : sesuatu yang letak alamatnya
berdekatan cenderung untuk direferensikan secara
bersama pada satu waktu
34
Locality
Contoh locality :
sum = 0;
for (i = 0; i < n; i++)
sum += a[i];
return sum;
Data
Mereferensikan elemen array secara berurutan (pola stride-1
reference) : Spatial locality
Mereferensikan sum pada setiap iterasi : Temporal locality
Instruksi
Mereferensikan instruksi secara berurutan : Spatial locality
Berputar dalam loop secara berulang-ulang : Temporal
locality
35
Contoh Locality
37
Contoh Locality
38
Hirarki Memori
39
Hirarki Memori
Kecepatan semakin tinggi, L0:
harga per bit semakin mahal, register Register pada CPU menyimpan
word data yang diambil dari L1
ukuran semakin kecil cache.
L1: on-chip L1
cache (SRAM) L1 cache menyimpan baris-
baris cache yang diambil dari
L2 cache memory.
L2: off-chip L2
cache (SRAM) L2 cache menyimpan baris-
baris cache yang diambil
dari main memory
40
Cache
41
Cache Pada Hirarki Memori
Devais penyimpan yang lebih
kecil, cepat dan mahal pada
Level k: 8
4 9 14
10 3 level k merupakan cache
dari subset blok pada level k+1
0 1 2 3
Devais penyimpan yang
Level k+1: 4 5 6 7 besar, lambat dan murah
pada level k+1 dipartisi
8 9 10 11
menjadi blok-blok
12 13 14 15
42
Konsep Umum Cache
Program memerlukan obyek d yang
Request
14
12
12
14 disimpan dalam suatu blok b
0 1 2 3 Cache hit
Level 4* 14 Program menemukan b dalam cache level
12 9 3
k: k. Misalnya pada blok 14.
Cache miss
12
4* Request
12 B tidak terdapat pada level k, sehingga
cache level k harus mengambilknya dari
level k+1. Misalnya blok 12.
Jika cache level k penuh, maka suatu blok
0 1 2 3
harus diganti isinya. Blok mana yang
Level 4
4* 5 6 7 menjadi “korban” ?
k+1: 8 9 10 11 Placement policy : dimana blok baru
12 13 14 15 diletakkan. Misalnya b mod 4
Replacement policy : blok mana yang
harus terusir ? Misalnya LRU
43
Konsep Umum Cache