organisasi komputer

24

Click here to load reader

Upload: ardyan-r-herlambang

Post on 05-Jul-2015

534 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ORGANISASI KOMPUTER

ORGANISASI KOMPUTER

CACHE MEMORY

KELOMPOK KU

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

TAHUN AJARAN 2010-2011

Page 2: ORGANISASI KOMPUTER

KATA PENGANTAR

Puji syukur atas kehadirat Tuhan Yang Maha Esa atas rahmat dan petunjuk-Nya

sehingga kami dapat menyelesaikan tugas paper dengan judul CACHE MEMORY, yang

mana paper ini disusun bertujuan untuk memenuhi tugas Organisasi Komputer.

Kami mengucapkan terima kasih kepada semua pihak yang telah membantu kami

sehingga paper ini dapat kami selesaikan.

Kami menyadari bahwa masih terdapat kekurangan dan keterbatasan dalam penyajian

data di paper ini. Oleh karena itu, kami mengharapkan kritik dan saran yang

membangun dari semua pembaca demi kesempurnaan paper ini. Demikian, semoga

paper ini berguna dan dapat menambah pengetahuan pembaca.

Jakarta, Maret 2011

Penyusun

ii

Page 3: ORGANISASI KOMPUTER

DAFTAR ISI

COVER i

KATA PENGANTAR ii

DAFTAR ISI iii

BAB I PENDAHULUAN 1

Latar Belakang 1

BAB II PEMBAHASAN 2

II. 1. CACHE MEMORY 2

II. 1. 1. Hirarki Sistem Memori 2

II. 1. 2. Pengertian Cache Memory 5

II. 1. 5. Level Cache Memory 5

II. 1. 6. Cara Kerja Cache Memori 6

II. 2. ELEMEN RANCANGAN 7

II. 3. KAPASITAS CACHE 8

II. 4. UKURAN BLOK 9

II. 5. FUNGSI PEMETAAN 9

II. 5. 1. Pemetaan Langsung (Direct Mapping) 10

II. 5. 2. Pemetaan Asosiatif (Associative Mapping) 11

II. 5. 3. Pemetaan Asosiatif Set (Set Associative Mapping) 12

BAB III PENUTUP 13

DAFTAR PUSTAKA 14

iii

Page 4: ORGANISASI KOMPUTER

BAB I

PENDAHULUAN

Latar Belakang

Pada rancangan prosesor modern dengan beberapa tingkat pipeline, upaya untuk

mengisi penuh seluruh pipeline dengan instruksi dan data perlu dilakukan agar operasi

sistem komputer secara keseluruhan efisien.

Perbedaan kecepatan operasi antara prosesor dan memori utama bisa menjadi kendala

bagi dicapainya efisiensi kerja sistem komputer. Bila prosesor bekerja jauh lebih cepat

daripada memori utama maka setiap kali prosesor mengambil instruksi atau data,

diperlukan waktu tunggu yang cukup lama. Waktu tunggu tersebut akan lebih berarti bila

digunakan untuk memproses data.

Kendala ini menyebabkan diperlukannya cache, yakni memori berkapasitas kecil tetapi

berkecepatan tinggi, yang dipasang di antara prosesor dan memori utama. Instruksi dan

data yang sering diakses oleh prosesor ditempatkan dalam cache sehingga dapat lebih

cepat diakses oleh prosesor. Hanya bila data atau instruksi yang diperlukan tidak

tersedia dalam cache barulah prosesor mencarinya dalam memori utama.

Cache umumnya menggunakan memori 4tatic yang mahal harganya, sedangkan

memori utama menggunakan memori dinamik yang jauh lebih murah. Sistem komputer

akan bekerja sangat cepat apabila seluruh sistem memori utamanya menggunakan

memori 4tatic, tetapi akibatnya harga sistem komputer akan menjadi sangat mahal.

Selain itu, karena hamburan panas pada memori 4tatic lebih besar, sistem komputer

yang menggunakan memori statik ini akan menghasilkan panas yang berlebihan.

1

Page 5: ORGANISASI KOMPUTER

BAB II

PEMBAHASAN

II. 1. CACHE MEMORY

II. 1. 1. Hirarki Sistem Memori

Hierarki memori memang disusun sedemikian rupa agar semakin ke bawah, memori

dapat mengalami hal-hal berikut:

• Peningkatan waktu akses (access time) memori (semakin ke bawah

semakin lambat, semakin ke atas semakin cepat)

• Peningkatan kapasitas (semakin ke bawah semakin besar, semakin ke

atas semakin kecil)

• Peningkatan jarak dengan prosesor (semakin ke bawah semakin jauh,

semakin keatas semakin dekat)

• Penurunan harga memori tiap bitnya (semakin ke bawah semakin semakin

murah, semakin ke atas semakin mahal)

Page 6: ORGANISASI KOMPUTER

2

Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas.

Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai berikut:

1. Register mikroprosesor :

Ukurannya yang paling kecil tapi memiliki waktu akses yang paling

cepat,umumnya hanya 1 siklus CPU saja.

2. Cache mikroprosesor : yang disusun berdasarkan kedekatannya dengan

prosesor (level-1, level-2, level-3, dan seterusnya).

Memori cache mikroprosesor dikelaskan ke dalam tingkatan-tingkatannya sendiri:

1. level-1 : memiliki ukuran paling kecil di antara semua cache, sekitar

puluhan kilobyte saja. Kecepatannya paling cepat di antara semua cache.

2. level-2 : memiliki ukuran yang lebih besar dibandingkan dengan cache

level-1, yakni sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte,

atau lebih besar. Meski demikian, kecepatannya lebih lambat

dibandingkan dengan level-1, dengan nilai latency kira-kira 2 kali hingga

10 kali. Cache level-2 ini bersifat opsional. Beberapa prosesor murah dan

prosesor sebelum Intel Pentium tidak memiliki cache level-2.

3. level-3 : memiliki ukuran yang lebih besar dibandingkan dengan cache

level-2, yakni sekitar beberapa megabyte tapi agak lambat. Cache ini

bersifat opsional. Umumnya digunakan pada prosesor-prosesor server

dan workstation seperti Intel Xeon atau Intel Itanium. Beberapa prosesor

desktop juga menawarkan cache level-3 (seperti halnya Intel Pentium

Extreme Edition), meski ditebus dengan harga yang sangat tinggi.

Page 7: ORGANISASI KOMPUTER

3

3. Memori utama : memiliki akses yang jauh lebih lambat dibandingkan dengan

memori cache, dengan waktu akses hingga beberapa ratus siklus CPU, tapi

ukurannya mencapai satuan gigabyte. Waktu akses pun kadang-kadang tidak

seragam, khususnya dalam kasus mesin-mesin Non-Uniform Memory Access

(NUMA).

4. Cache cakram magnetis : yang sebenarnya merupakan memori yang digunakan

dalam memori utama untuk membantu kerja cakram magnetis.

5. Cakram magnetis

6. Tape magnetis

7. Cakram Optik

Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory

manager.Di era multiprogramming ini, memory manager digunakan untuk mencegah

satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary

memory, mengatur swapping antara memori utama dan disk ketika memori utama

terlalu kecil untuk memegang semua proses.

Tujuan dari manajemen ini adalah untuk:

1. Meningkatkan utilitas CPU.

2. Data dan instruksi dapat diakses dengan cepat oleh CPU.

3. Efisiensi dalam pemakaian memori yang terbatas.

4. Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien.

Page 8: ORGANISASI KOMPUTER

4

II. 1. 2. Pengertian Cache Memory

Cache beasal dari kata cash. Dari istilah tersebut cache adalah tempat

menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut

cache memori  adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk

meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache

tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka

maka akses akan dapat dilakukan lebih cepat.Cache memori ini adalah memori

tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat

tinggi dan harga yang lebih mahal dari memori utama. Cache memori ini terletak antara

register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu

pada memori utama.

II. 1. 3. Level Cache Memory

Cache memori ada tiga level yaitu L1,L2 dan L3. Cache memori level 1 (L1) adalah

cache memori yang terletak dalam prosesor (cache internal). Cache ini memiliki

kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang

mulai dari 8Kb, 64Kb dan 128Kb.Cache level 2 (L2) memiliki kapasitas yang lebih besar

yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun cache L2 ini memiliki

kecepatan yang lebih rendah dari cache L1. Cache L2 terletak terpisah dengan prosesor

atau disebut dengan cache eksternal. Sedangkan cache level 3 hanya dimiliki oleh

prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya

adalah untuk mengontrol data yang masuk dari cache L2 dari masing-masing inti

prosesor.

Page 9: ORGANISASI KOMPUTER

5

II. 1. 4. Cara Kerja Cache Memori

Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache.

Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat

kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM

yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang

dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi.

Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih

efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan

kecepatan kerja komputer secara keseluruhan.

Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory

caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari

memori utama komputer atau sebuah media penyimpanan data khusus yang

berkecepatan tinggi.

Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari

memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan

implementasi disk caching menggunakan sebagian dari memori komputer.

Sumber :

http://id.wikipedia.org/wiki/Tembolok_%28komputer%29

Page 10: ORGANISASI KOMPUTER

6

II. 2. ELEMEN RANCANGAN

Walaupun terdapat  banyak  implementasi  cache, namun dari  sisi  organisasi  maupun

arsitekturnya tidak banyak macamnya.

Unsur Macam

Kapasitas -

Ukuran Blok -

Mapping 1. Direct Mapping

2. Associative Mapping

3. Set Associative Mapping

Algoritma Pengganti 1. Least Recently Used (LRU)

2. First In First Out (FIFO)

3. Least Frequently Used (LFU)

4. Random

Write Policy 1. Write Through

2. Write Back

3. Write Once

Jumlah Cache 1. Single atau dua level

2. Unified atau split

Tabel unsur-unsur rancangan cache memori

Page 11: ORGANISASI KOMPUTER

7

II. 3. KAPASITAS CACHE

Menentukan ukuran memori  cache  sangatlah penting  untuk  mendongkrak  kinerja

komputer. Dari  segi  harga  cache  sangatlah mahal  tidak  seperti  memori  utama.

Semakin besar kapasitas  cache  tidak  berarti  semakin cepat  prosesnya, dengan

ukuran besar  akan terlalu banya gate pengalamatannya sehingga akan memperlambat

proses.

Kita  bisa  melihat  beberapa  merek  prosesor  di  pasaran beberapa  waktu lalu. AMD

mengeluarkan prosesor K5 dan K6 dengan cache yang besar (1MB) tetapi kinerjanya

tidak bagus. Kemudian Intel pernah mengeluarkan prosesor tanpa cache untuk alasan

harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an hasil kinerjanya sangat

buruk terutama untuk operasi datan besar, floating point, 3D. Intel Celeron versi

berikutnya sudah ditambah cache sekitar 128KB.

Lalu berapa  idealnya  kapasitas  cache?  Sejumlah penelitian telah menganjurkan

bahwa ukuran cache antara 1KB dan 512KB akan lebih optimum [STA96].

Page 12: ORGANISASI KOMPUTER

8

II. 4. UKURAN BLOK

Elemen rancangan yang  harus  diperhatikan lagi  adalah ukuran blok. Telah dijelaskan

adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah penting. Apabila blok

berukuran besar  ditransfer  ke  cache  akan  menyebabkan hit  ratio mengalami 

penurunan karena  banyaknya data  yang  dikirim  disekitar  referensi. Tetapi  apabila 

terlalu kecil, dimungkinkan  memori  yang akan dibutuhkan CPU  tidak  tercakup.

Apabila  blok  berukuran besar  ditransfer  ke  cache, maka akan terjadi :

1. Blok -blok  yang  berukuran lebih besar  mengurangi  jumlah blok  yang 

menempati cache. Karena isi cache sebelumnya akan ditindih.

2. Dengan meningkatnya  ukuran blok  maka  jarak  setiap word tambahan menjadi 

lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya

digunakan cepat.

Hubungan antara  ukuran blok  dan hit  ratio sangat  rumit  untuk  dirumuskan,

tergantung pada  karakteristik  lokalitas  programnya  dan tidak  terdapat  nilai  optimum 

yang  pasti  telah ditemukan. Ukuran antara  4 hingga  8 satuan yang  dapat  dialamati 

(word atau byte)  cukup beralasan untuk mendekati nilai optimum [STA96].

II. 5. FUNGSI PEMETAAN

Telah kita  ketahui  bahwa  cache  mempunyai  kapasitas  yang  kecil  dibandingkan

memori utama. Sehingga diperlukan aturan blok-blok mana yang diletakkan dalam

cache. Terdapat tiga metode, yaitu :

pemetaan langsung

pemetaan asosiatif, dan

pemetaan asosiatif set

Page 13: ORGANISASI KOMPUTER

9

II. 5. 1. Pemetaan Langsung (Direct Mapping)

Pemetaan langsung  adalah teknik  yang  paling  sederhana, yaitu teknik  ini 

memetakan blok memori  utama  hanya  ke  sebuah saluran cache  saja.

Teknik  pemetaan ini  sederhana  dan mudah diimplementasikan, namun kelemahannya

adalah terdapat  lokasi  cache  yang  tetap bagi  sembarang  blo-blok  yang  diketahui.

Dengan demikian, apabila suatu program berulang-ulang melakukan word referensi dari

dua blok yang berbeda  memetakan saluran yang sama maka blok-blok itu secara terus-

menerus akan di-swap ke dalam cache sehingga hit rasionya akan rendah.

Dalam rancangan cache yang dipetakan langsung:

- menyimpan satu tag per baris dalam link tag-nya

- selama pengaksesan memori, cache menggunakan bit-bit tengah alamat

sebagai indeks ke larik tagnya

- tag dicocokkan dengan 16-bit teratas dari alamat memori yang diakses

- jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke processor.

Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan dari

memori utama.

- Hanya memerlukan satu kali pembandingan untuk setiap akses ke cache.

- Cocok untuk sistem komputer yang memerlukan frekuensi detak tinggi.

Page 14: ORGANISASI KOMPUTER

10

II. 5. 2. Pemetaan Asosiatif (Associative Mapping)

Pemetaan asosiatif  mengatasi  kekurangan pemetaan langsung  dengan cara  setiap

blok  memori utama dapat dimuat ke sembarang saluran cache. Alamat memori utama

diinterpretasikan dalam field tag dan field word oleh kontrol logika cache. Tag secara

unik mengidentifikasi sebuah blok memori utama.

Mekanisme  untuk  mengetahui  suatu blok  dalam  cache  dengan memeriksa  setiap

tag saluran cache  oleh kontrol  logika  cache. Dengan pemetaan ini  didapat 

fleksibilitas  dalam penggantian blok  baru yang  ditempatkan dalam  cache. Algoritma 

penggantian dirancang  untuk memaksimalkan hit  ratio, yang  pada  pemetaan

langsung  terdapat  kelemahan dalam  bagian ini. Kekurangan pemetaan asosiatif

adalah kompleksitas rangkaian sehingga mahal secara ekonomi.

Dalam rancangan cache asosiatif:

- Suatu blok data dapat ditempatkan pada baris cache manapun.

- Alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi.

- Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi

membentuk tag untuk dicocokkan dengan rujukan.

- Cache asosiatif penuh harus punya mekanisme untuk menentukan ke

dalam baris mana blok ditempatkan.

- Blok dapat ditempatkan dalam baris manapun yang kosong. Bila semua

baris cache penuh harus ditentukan blok mana yang dikeluarkan dari

cache.

- Digunakan prinsip LRU (Least Recently Used) yakni blok yang paling lama

tidak dipakai dikeluarkan dari cache.

- Cukup mahal mengimplementasikannya

Page 15: ORGANISASI KOMPUTER

- Resiko: memperbanyak implementasi rangkaian hardware untuk

membandingkan tag terhadap semua baris cache.

11

II. 5. 3. Pemetaan Asosiatif Set (Set Associative Mapping)

Pemetaan asosiatif  set  menggabungkan kelebihan yang  ada  pada  pemetaan

langsung  dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set – set.

Pemetaan asosiatif  set  prinsipnya  adalah penggabungan kedua  pemetaan

sebelumnya. Alamat memori utama diinterpretasikan dalam tiga field, yaitu: field tag,

field set, dan field word. Hal  ini  mirip dalam  pemetaan langsung. Setiap blok  memori 

utama  dapat  dimuat  dalam sembarang saluran cache.

Dalam rancangan cache asosiatif set:

- Untuk memperkecil resiko pada cache asosiatif, sekaligus mengurangi

terjadinya konflik alamat, dirancang organisasi cache yang lain yakni

asosiatif set (asosiatif kelompok).

- Satu kelompok terdiri atas beberapa baris.

- Bit alamat bagian tengah menentukan kelompok beris di mana suatu blok

ditempatkan.

- Dalam setiap kelompok, cache dipetakan secara asosiatif.

- Memudahkan implementasi teknik LRU (Least Recently Used).

- Bit tengah dari alamat digunakan untuk memilih sekelompok baris (bukan

hanya satu baris seperti pada sistem pemetaan langsung). 

- Tag alamat kemudian dicocokkan dengan tag seluruh baris cache yang

dipilih. 

Page 16: ORGANISASI KOMPUTER

12

BAB III

PENUTUP

Kesimpulan

Cache sangat diperlukan untuk menunjang kinerja processor apabila cache tidak

berfungsi maka kinerja computer tidak akan maksimal.

Demikian yang bisa kami simpulkan. Semoga paper ini bisa bermanfaat bagi

semua pembaca. Apabila paper ini terdapat kekurangan maupun kesalahan

dalam penulisan maupun pembahasan kami mengucapkan mohon maaf.

Page 17: ORGANISASI KOMPUTER

13

DAFTAR PUSTAKA

http://id.wikipedia.org/wiki/Tembolok_%28komputer%29

http://google.co.id

Page 18: ORGANISASI KOMPUTER

14