Bagian 9
Hirarki Memori
e d te
Trend o og pe
teknologi y pa a
penyimpanan
Referensi locality
Cache pada hirarki memori
2
Random Access Memory (RAM)
Karakteristik
RAM dibungkus
dib k dalam
d l paket
k berbentuk
b b k chip
hi
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
D t
Datanya h
harus di
di-refresh
f h setiap
ti 10-100
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
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
Memory
controller
64-bit doubleword pd main memory alamat A
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
da e eta a ya 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
da e u ggu munculnya
u cu ya word
o d data.
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
d setiap
i permukaank terdapat
d li k
lingkaran konsentrik
k ik yang disebut
di b track.
k
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 0
permukaan 1
permukaan 2
piringan 1
permukaan 3
permukaan 4
permukaan 5 piringan 2
spindle
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
s
e
22
Operasi Hard Disk
Head
H dbbaca/tulis
/t li
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 ppencarian dan delayy 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
2 500 llebih
bih lambat
l b t dari
d i DRAM
25
Blok Logika Hard Disk
ALU
system bus memory bus
I/O main
bus interface
bridge memory
I/O bus
main
bus interface
memory
I/O bus
main
bus interface
memory
I/O bus
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
s
10,000
SRAM access time
1,000
CPU cycle time
100
10
1
1980 1985 1990 1995 2000
year
33
Locality
s p locality
Prinsip oca ty :
Program cenderung untuk memakai ulang data dan
instruksi yang letaknya berdekatan dengan yang
sebelumnya
b l digunakan,
di k atau
t yang pernah h
mereferensikannya.
Temporal locality : sesuatu yang pernah
direferensikan cenderung akan direferensikan
kembali pada waktu yang tidak lama.
Spatial
S i l locality
l li : sesuatu yang letak
l k alamatnya
l
berdekatan cenderung untuk direferensikan secara
bersama p pada satu waktu
34
Locality
Co to locality
Contoh oca ty :
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
A k h fungsi
Apakah f i di bawah
b h ini
i i memiliki
iliki locality
l lit yang baik
b ik ?
p
Apakah g berikut memiliki localityy yang
fungsi y g baik ?
37
Contoh Locality
p
Lakukan permutasi p
pada p sehingga
loop gg fungsi
g dapat
p
melacak array 3D a[] dengan pola stride-1 reference
(dan menghasilkan locality spasial yang baik).
38
Hirarki Memori
p perilaku
Beberapa p p
dasar pada hardware dan software :
Teknologi penyimpanan yang cepat memiliki biaya per byte
lebih tinggi dan kapasitas lebih rendah
Perbedaan kecepatan antara CPU dan memori bertambah lebar
Program yang dibuat dengan baik cenderung untuk memiliki
locality yang baik
Setiap perilaku dasar tersebut saling mengisi satu sama
lain dengan baik
Diusulkan untuk mengelola
g memori dan sistem
penyimpanan yang dikenal dengan hirarki memori.
39
Hirarki Memori
Kecepatan semakin tinggi, L0:
harga per bit semakin mahal, register Register pada CPU menyimpan word
ukuran semakin kecil data yang diambil dari L1 cache
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
g
Perangkat p y p cepat
penyimpan p dan kecil,, berfungsi
g sebagai
g
area antara dengan data yang berada pada penyimpan
yang lambat dan besar.
Ide dasar dari hirarki memori :
Untuk setiap k, devais pada level k yang lebih cepat dan kecil
merupakan cache dari devais yang lebih lambat dan besar pada
l
level
l k+1
Mengapa hirarki memori digunakan ?
Program
g cenderungg untuk mengakses
g data pada
p level k lebih
sering dari data pada level k+1
Penyimpan pada level k+1 dapat lebih lambat, besar dan harga
per bit lebih rendah
p
41
Cache Pada Hirarki Memori
Devais penyimpan yang lebih
kecil, cepat dan mahal pada
Level k: 48 9 14
10 3 level k merupakan cache
dari subset blok pada level k+1
0 1 2 3
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*
12 9 14 3 Program menemukan b dalam cache level
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
k+1. Misalnya blok 12.
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”
korban ?
k+1: 8 9 10 11 Placement policy : dimana blok baru
12 13 14 15 diletakkan. Misalnya b mod 4
p
Replacement policy
p y : blok mana yyangg
harus terusir ? Misalnya LRU
43
Konsep Umum Cache