tugas arsitektur dan organisasi komputer - cache...

32
i Arsitektur dan Organisasi Komputer { Cache Memory } Dosen : Drs. Eko Polosoro, MM, MT Kelas : XB Nama : Iis Widya Harmoko Ronal Chandra Yoga Prihastomo MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI LUHUR 2011

Upload: danghanh

Post on 16-May-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 i 

 

   Arsitektur dan Organisasi Komputer { Cache Memory }

Dosen : Drs. Eko Polosoro, MM, MT Kelas : XB Nama : Iis Widya Harmoko Ronal Chandra Yoga Prihastomo

       

MMAAGGIISSTTEERR IILLMMUU KKOOMMPPUUTTEERR

UUNNIIVVEERRSSIITTAASS BBUUDDII LLUUHHUURR 22001111

  

 

      

Page 2: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 ii 

 

KKaattaa PPeennggaannttaarr

Dengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

“Arsitektur dan Organisasi Komputer” sesuai waktu yang telah ditentukan.

Dalam makalah ini kami mengambil tema mengenai Cache Memory. Cache memory

merupakan memori yang memiliki kecepatan sangat tinggi, digunakan sebagai perantara

antara Main Memory dan CPU. Memori ini mempunyai kecepatan lebih tinggi daripada Main

Memory, namun harganya lebih mahal. Cache memory digunakan untuk menjembatani

perbedaan kecepatan CPU yang sangat tinggi dengan kecepatan RAM yang jauh lebih rendah.

Dengan menggunakan cache memory, sejumlah data dapat dipindahkan ke memori ini dalam

sekali waktu, dan kemudian ALU akan mengambil data tersebut dari memori ini. Dengan

pendekatan seperti ini, pemrosesan data dapat dilakukan lebih cepat daripada kalau CPU

mengambil data secara langsung dari RAM.

Seperti pepatah mengatakan: “Tak ada gading yang tak retak”. Oleh karena itu, kami

mohon masukan dari makalah yang telah kami sajikan guna penyempurnaan pada penulisan

makalah ini.

Jakarta, 18 Juni 2011 Hormat kami, Tim Penyusun

Page 3: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 iii 

 

DDaaffttaarr IIssii Kata Pengantar ......................................................................................................... ii Daftar Isi .................................................................................................................... iii Daftar Gambar ......................................................................................................... iv Daftar Tabel .............................................................................................................. v BAB I MAIN MEMORY 1.1. Pendahuluan ................................................................................................... 1 1.2. Pengelompokkan Memory ............................................................................. 2 1.3. Jenis Memory ................................................................................................ 3 1.4. Hubungan Antara CPU dengan Main Memory dal Alat-alat I/O .................. 5 1.5. Karakteristik Sistem Memory ........................................................................ 8 BAB II CACHE MEMORY 2.1. Cache Memory .............................................................................................. 9 2.2. Level Cache Memory .................................................................................... 10 2.3. Kapasitas Cache ............................................................................................. 12 2.4. Ukuran Blok .................................................................................................. 12 BAB III MAPPING CACHE MEMORY 3.1. Pemetaan ........................................................................................................ 14 3.2. Algoritma Penggantian .................................................................................. 21 3.3. Write Policy ................................................................................................... 22 3.4. Miss Cache .................................................................................................... 23 BAB IV PENUTUP ................................................................................................... 24 DAFTAR PUSTAKA LAMPIRAN

Page 4: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 iv 

 

DDaaffttaarr GGaammbbaarr Gambar 1.1. Vaccum Tubes ...................................................................................... 3

Gambar 1.2. Mesin Vaccum Tubesdengan Magnetic Core Storage ......................... 4

Gambar 1.3. Single LayerTthin Film dengan Ta2N Resistors .................................. 4

Gambar 1.4. Semiconductor Storage berbentuk SIMM ............................................ 4

Gambar 1.5. Josephson Junction Chip ...................................................................... 5

Gambar 1.6. Delta-Doped Charged Coupled Devices (CCD) ................................... 5

Gambar 1.7. Keterhubungan CPU, MM, dan I/O ...................................................... 6

Gambar 1.8. Keterhubungan CPU, MM, dan I/O melalui Register .......................... 6

Gambar 2.1. Posisi Cache Memory pada Sistem Memory ........................................ 9

Gambar 2.2. Sistem Interkoneksi yang terkait dengan Cache Memory ..................... 9

Gambar 2.3. Contoh Level Cache pada Processor ..................................................... 11

Gambar 3.1. Organisasi Direct Mapping .................................................................... 15

Gambar 3.2. Contoh Pengalamatan Direct Mapping .................................................. 16

Gambar 3.3. Organisasi Associative Mapping ........................................................... 17

Gambar 3.4. Contoh Pengalamatan Associative Mapping ......................................... 18

Gambar 3.5. Organisasi K-Way Set Associative Mapping ........................................ 19

Gambar 3.6. Contoh Pengalamatan 2-Way Associative Mapping ............................. 20

Page 5: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 v 

 

DDaaffttaarr TTaabbeell Tabel 1.1. Karakteristik Sistem Memori ................................................................. 8

Tabel 3.1. Direct Mapping ....................................................................................... 17

Tabel 3.2. Associative Mapping .............................................................................. 19

Tabel 3.3. Set Associative Mapping ......................................................................... 21

Page 6: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 1 

 

BBAABB II MMAAIINN MMEEMMOORRYY

1.1. Pendahuluan

Main Memory (memory utama) atau lebih dikenal sebagai memori adalah sebuah

array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan,

atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Main

memory berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh

CPU atau perangkat I/O. Main-memory termasuk tempat penyimpanan data yang

sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.

Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan

manajemen memori seperti: menjaga track dari memori yang sedang digunakan dan

siapa yang menggunakannya; memilih program yang akan di-load ke memori; dan

mengalokasikan dan mendealokasikan memoryspace sesuai kebutuhan.

Main memory dapat dibayangkan sebagai kumpulan kotak-kotak yang masing dapat

menyimpan suatu penggal informasi baik berupa data maupun instruksi. Umumnya

1 byte memory terdiri dari 8 bit dan tiap bit diwakili oleh 1 atau 0. Kombinasi bit

dalam1 byte tersebut membentuk suatu kode yang mewakili isi dari lokasi memory.

Kode yang digunakan untuk mewakilinya tergantung dari komputer yang digunakan,

dapat membentuk sistem kode BCD (Binary-Coded Decimal), sistem kode SBCDIC

(Standard Binary Coded Decimal Interchange Code), sistem kode EBCDIC

(Extended Binary Coded Decimal Interchange Code) atau sistem kode ASCII

(American Standard Code for Information Interchange).

Misalnya suatu komputer mempunyai kapasitas memory 256 KB atau 262.144 byte,

yang berarti mempunyai 262.144 lokasi memori. Alamat dari memori ini adalah

bernomor 000000 sampai dengan 262.143.

Page 7: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 2 

 

1.2. Pengelompokkan Memory

Main memory terdiri dari:

A. RAM (Random Access Memory)

Merupakan memori yang dapat diisi dan diambil isinya oleh pemrogram. Semua

data dan program yang dimasukkan lewat alat input akan disimpan terlebih

dahulu di RAM. Struktur dari RAM, dibagi menjadi:

1. Input Storage, digunakan untuk menampung input yang dimasukkan lewat

alat input;

2. Program Storage, digunakan untuk menyimpan semua instruksi program

yang akan diproses;

3. Working Storage, digunakan untuk menyimpan data yang akan diolah dan

hasil dari pengolahan;

4. Output Storage, digunakan untuk menampung hasil akhir dari pengolahan

data yang akan ditampilkan ke alat output.

B. ROM (Read Only Memory)

Memori ini hanya dapat dibaca saja, programer tidak bisa mengisi sesuatu ke

dalam ROM. Isi ROM sudah diisi oleh pabrik pembuatnya berupa sistem operasi

yang terdiri dari program-program pokok yang diperlukan oleh sistem komputer,

seperti program untuk mengatur penampilan karakter, pengisian tombol kunci

dan bootstrap program.

Bootstrap program diperlukan pada waktu pertama kali sistem komputer

diaktifkan, yang proses ini disebut dengan istilah booting, yang terdiri dari:

1. Cold booting, yaitu proses mengaktifkan sistem komputer pertama kali untuk

mengambil bootsrap program dari keadaan listrik komputer mati.

2. Warm booting, yaitu proses pengulangan pengambilan bootstrap program

dalam keadaan komputer masih hidup.

Page 8: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 3 

 

Instruksi yang tersimpan di ROM disebut dengan microinstruction atau microcode

atau disebut juga firmware. Isi dari ROM tidak boleh hilang atau rusak, karena dapat

menyebabkan sistem komputer tidak berfungsi. ROM bersifat non volatile, artinya

isinya tidak hilang bila listrik komputer dimatikan. Jenis-jenis ROM:

1. PROM (Programmable Read Only Memory), yaitu ROM yang dapat diprogram

sekali saja dan tidak dapat diubah kembali

2. EPROM (Erasable Programmable Read Only Memory), yaitu ROM yang dapat

dihapus dengan sinar ultra violet serta dapat diprogram kembali berulang-ulang

3. EEPROM (Electrically Erasable Programmable Read Only Memory), yaitu

ROM yang dapat dihapus secara elektronik dan dapat diprogram kembali

1.3. Jenis Memory

Berdasarkan komponen yang digunakan terbagi atas :

A. Vacuum Tubes

Komputer generasi pertama ENIAC tahun 1946 menggunakan komponen tabung

hampa udara untuk main memory. Memori ini relatif berukuran besar dan tiap-

tiap tabung hampa udara mewakili 1 bit.

Gambar 1.1 – Gambar Vacuum Tubes

B. Magnetic Core Storage

Digunakan sekitar tahun 1960-1970. Terdiri dari ribuan cincin magnetik kecil

berukuran 18 mm dengan lubang berdiameter 10 mm. Tiap-tiap core dihubung-

kan dengan kabel kawat membentuk suatu bidang core (core plane) dan

ditumpuk membentuk suatu core stack.

Page 9: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 4 

 

Masing-masing core dapat menyimpan 1 bit bila dimagnetasi dengan suatu arus

listrik dari dua arah jurusan yang masing-masing bermuatan ½ arus.

Gambar 1.2 – Gambar Mesin Vacuum Tube dengan Magnetic Core Storage

C. Planar Thin-Film Storage

Terbuat dari lempengan tipis keramik atau metal tembus pandang yang berisi

kumpulan besi nikel berbentuk empat persegi panjang kecil dihubungkan

dengan kabel-kabel.

Gambar 1.3 – Gambar Single LayerTthin Film dengan Ta2N Resistors

D. Semiconductor Storage

Mulai banyak digunakan sejak tahun 1970-an hingga sekarang. Terbuat dari

VLSI (Very Large Scale Integration) yaitu meletakkan sejumlah besar circuit ke

dalam suatu chip. Teknologi yang digunakan adalah MOS (Metal Oxide

Semiconductor) dan bersifat volatile.

Gambar 1.4 – Gambar Semiconductor Storage berbentuk Single In-line Memory Module (SIMM)

Page 10: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 5 

 

E. Josephson Junction

Diciptakan oleh Brian Josephson dari Inggris. Merupakan memori yang dapat

melakukan switch dari bit 1 ke bit 0 atau sebaliknya dengan kecepatan yang

tinggi, yaitu kurang dari sepertriliun detik. Menggunakan suatu tempat tertutup

yang berisi helium cair dengan suhu sekitar -200 derajat celcius.

Gambar 1.5 – Gambar Josephson Junction Chip

F. Charged-Coupled Device (CCD)

Merupakan memori yang terdiri dari ribuan metal bujur sangkar berukuran kecil

yang masing-masing dapat menyimpan informasi digit binari dalam bentuk

beban elektronik (electric charge)

Gambar 1.6 – Gambar Delta-Doped Charged Coupled Devices (CCD)

1.4. Hubungan Antara CPU dengan Main Memory dan Alat-Alat I/O

Berikut ini adalah hubungan antara CPU dengan main memory dan alat-alat I/O:

A. BUS

Disebut juga pathway, merupakan suatu sirkuit yang merupakan jalur

transportasi informasi antara dua atau lebih alat-alat dalam sistem komputer. Bus

yang menghubungkan antara CPU dengan main memory disebut dengan internal

bus, sedangkan yang menghubungkan CPU dengan alat-alat input/output disebut

external bus.

Page 11: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 6 

 

Jenis-jenis bus :

1. Data bus, yaitu bus yang digunakan untuk jalur transportasi data dan

instruksi;

2. Address bus, yaitu bus yang digunakan untuk jalur transportasi untuk alamat

di main memory untuk data atau instruksi yang akan diambil atau direkam;

3. Control bus, yaitu bus yang digunakan untuk mengirimkan signal sebagai

pemberitahuan akan dikirimkan suatu informasi atau telah diterimanya

informasi yang dikirimkan dari satu alat ke alat yang lain.

Gambar 1.7 – Gambar Keterhubungan CPU, MM, dan I/O

Di dalam internal bus, hubungan antara CPU dengan main memory melalui data bus

yang dihubungkan dengan memory data register (MDR), address bus yang

dihubungkan dengan memory address register (MAR) dan control bus yang

dihubungkan dengan control unit.

Gambar 1.8 – Gambar Keterhubungan CPU, MM, dan I/O melalui Register

Page 12: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 7 

 

B. I/O PORT

Alat-alat input/output tidak dilekatkan langsung dengan bus tetapi melalui suatu

I/O port atau I/O interface. Alat-alat input/output dapat berkomunikasi dengan

CPU dengan cara mengirimkan informasi yang akan dikomunikasikan lewat bus.

Informasi yang dikirim dari alat input/output (peripheral device) ke main

memory atau ke register di CPU diletakan di I/O port dan dikirimkan lewat data

bus. Demikian juga bila informasi dari main memory akan dikirimkan ke

peripheral device juga melalui data bus dan diterima di I/O port. Cara ini disebut

juga dengan program-controlled I/O. Cara ini banyak diterapkan pada alat I/O

yang hanya dapat menangani satu karakter atau 1 byte atau 1 word saja tiap saat

misalnya keyboard.

C. DMA CONTROLLER

Untuk peripheral device yang mempunyai kecepatan tinggi, tidaklah ekonomis

untuk pengiriman informasi byte per byte atau word per word, dan akan lebih

ekonomis bila pengiriman informasi dilakukan sekaligus per blok informasi. Bila

informasi dikirim sekaligus per blok dan CPU harus selalu mengawasi

pengiriman informasi, maka akan terjadi suatu waktu yang terbuang (idle time).

DMA (Direct Memory Access) merupakan suatu konsep yang akan membuat

komunikasi informasi antara peripheral device dengan main memory akan lebih

efisien. DMA controller mempunyai suatu processor sendiri di dalamnya

berupa IC khusus yang akan menangani operasi baca dan tulis antara main

memory dan device peripheral.

Dengan cara DMA ini, CPU cukup sekali saja memberi signal ke DMA

controller untuk melakukan pengiriman sejumlah blok data antara main memory

dengan device peripheral, yang selanjutnya urusan pengiriman data tersebut

akan dilakukan oleh processor di DMA tanpa turut campur dari CPU, sehingga

dapat melakukan pekerjaan yang lain.

Cara DMA ini biasanya digunakan untuk device peripheral yang mempunyai

kecepatan tinggi yang membutuhkan pengiriman blok data yang besar, misalnya

hard disk drive.

Page 13: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 8 

 

D. I/O CHANNEL

I/O Channel adalah suatu DMA controller yang digunakan bersama-sama untuk

sejumlah alat-alat I/O. Masing-masing alat I/O dihubungkan dengan suatu

channel lewat suatu controller. Sebuah controller dapat digunakan untuk

sejumlah alat-alat I/O sejenis, misalnya akan digunakan dua atau lebih disk drive

pada sebuah komputer.

1.5. Karakteristik Sistem Memori

Adapun karakteristik sistem memori adalah sebagaimana tabel berikut:

Karakteristik Keterangan

Lokasi 1. CPU 2. Internal (main) 3. External (secondary)

Kapasitas 1. Ukuran word 2. Jumlah word

Satuan Transfer 1. Block 2. Word

Metode Akses 1. Sequential Access 2. Direct Access 3. Random Access 4. Associative Access

Kinerja 1. Access Time 2. Cycle Time 3. Transfer Rate

Tipe Fisik 1. Semi konduktor 2. Magnetik

Karakteristik Fisik 1. Volatile/Non-Volatile 2. Eraseable/Non-Eraseable

Tabel 1.1. Tabel Karakteristik Sistem Memori

Page 14: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 9 

 

BBAABB IIII CCAACCHHEE MMEEMMOORRYY

2.1. Cache Memory

Cache memory merupakan lokasi data sementara antara prosesor dengan main

memory. Penempatan cache memory ditujukan untuk mengurangi gap antara

kecepatan prosesor dengan kecepatan main memory. Gambar 2.1. di bawah ini

menunjukkan posisi cache memory yang diletakkan antara prosesor (CPU) dengan

main memory. Sedangkan gambar 2.2. memperlihatkan sistem interkoneksi untuk

cache memory.

Gambar 2.1. Gambar Posisi Cache Memory pada Sistem Memory.

Gambar 2.2. Gambar Sistem Interkoneksi yang terkait dengan Cache Memory.

CPU

Cache

Memory

Main Memory

Word Transfer

Block Transfer

Page 15: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 10 

 

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

menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut cache

memory adalah tempat menympan data sementara. Cara ini dimaksudkan untuk

meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache

memory tersebut, sehingga apabila ada data yang ingin diakses adalah data yang

sama maka maka akses akan dapat dilakukan lebih cepat. Cache memory ini adalah

memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan

yang sangat tinggi dan harga yang lebih mahal dari memori utama. Cache memory

ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data

tidak langsung mengacu pada memori utama.

Karakteristik cache memory adalah sebagai berikut:

Kapasitas relatif lebih kecil dari main memory, tetapi memiliki kecepatan yang

relativ lebih tinggi dibanding main memory;

Cache memory merupakan suatu memori buffer (salinan data) bagi memori

utama;

Meskipun cache menggunakan informasi yang tersimpan dalam memori utama,

tetapi ia tidak berhadapan secara langsung dengan memori utama;

Word yang disimpan didalam cache memory adalah word yang diambil dari main

memory, yang dikerjakan sesuai perintah CPU.

2.2. Level Cache Memory

Hingga saat ini, cache memory terbagi atas tiga level yaitu L1, L2 dan L3. Cache

memory memori level 1 (L1) adalah cache memory yang terletak dalam prosesor

(internal cache). Cache memory ini memiliki kecepatan akses paling tinggi dan

harganya paling mahal. Ukuran memori berkembang mulai dari 8KB, 64KB dan

128KB. Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu

berkisar antara 256KB sampai dengan 2MB. Namun, cache memory L2 ini memiliki

kecepatan yang lebih rendah dari cache memory L1. Cache memory L2 terletak

terpisah dengan prosesor atau disebut dengan external cache.

Page 16: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 11 

 

Sedangkan cache memory level 3 hanya dimiliki oleh prosesor yang memiliki unit

lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol

data yang masuk dari tembolok L2 dari masing-masing inti prosesor.

Level 2 atau L2 cache merupakan bagian dari strategi penyimpanan multi level

untuk meningkatkan performa komputer. Terdapat tiga level cache yang digunakan

pada komputer, yaitu L1, L2 dan L3 cache. Tiap-tiap cache tersebut menjembatani

jarak (gap) diantara processor yang sangat cepat, dengan memori RAM (Random

Access Memory) yang jauh lebih lambat.

Sementara desainnya terus mengalami perubahan, L1 cache biasanya telah

terintegrasi (built in) ke dalam processor, sementara L2 cache biasanya terintegrasi

pada motherboard (bersamaan dengan L2 cache). Namun, beberapa processor kini

menggabungkan L2 cache serta L1 cache, dan bahkan beberapa diantaranya juga

menggungkan L3 cache. Kecepatan yang paling tinggi terdapat pada L1 cache,

kemudian menurun pada L2 dan L3 cache. Namun kebalikannya, semakin besar

angka cache, maka semakin besar pula kapasitas penyimpanan datanya.

Gambar 2.3. Gambar Contoh Level Cache pada Processor.

Tugas dari cache processor adalah untuk mengantisipasi data request, sehingga

ketika pengguna mengakses sebuah program yang sering digunakan, sebagai

contohnya, instruksi-instruksi yang dibutuhkan untuk menjalankan program tersebut

telah siap digunakan, disimpan pada cache. Ketika hal ini terjadi, CPU dapat

memproses request tanpa adanya jeda (delay), sehingga dapat meningkatkan

performa komputer secara drastis.

Page 17: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 12 

 

CPU pertama-tama akan memeriksa L1 cache, diikuti dengan L2 dan L3 cache.

Jika processor telah menemukan bit data yang dibutuhkan, maka disebut dengan

cache hit. Namun jika cache tidak menyediakan bit data yang dibutuhkan,

processor mendapatkan sebuah cache miss, dan data perlu ditarik dari RAM yang

lebih lambat atau hard disk yang juga lebih lambat.

2.3. Kapasitas Cache

Menentukan ukuran cache memory sangatlah penting untuk mendongkrak kinerja

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

utama. Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan

ukuran besar akan terlalu banyak 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 memory yang besar (1MB) tetapi

kinerjanya tidak bagus. Kemudian Intel pernah mengeluarkan prosesor tanpa cache

memory untuk alasan harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an

hasil kinerjanya sangat buruk terutama untuk operasi data besar, floating point, 3D.

Intel Celeron versi berikutnya sudah ditambah cache memory sekitar 128KB.

Lalu berapa idealnya kapasitas cache memory? Sejumlah penelitian telah

menganjurkan bahwa ukuran cache antara 1KB dan 512KB akan lebih optimum.

2.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.

Page 18: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 13 

 

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

lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinan-

nya 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.

`

Page 19: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 14 

 

BBAABB IIIIII MMAAPPPPIINNGG CCAACCHHEE MMEEMMOORRYY

3.1. Pemetaan

Karena saluran cache memory lebih sedikit dibandingkan dengan blok memori

utama, maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam

saluran cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentu-

kan bentuk organisasi cache memory.

Telah kita ketahui bahwa cache memory mempunyai kapasitas yang kecil

dibandingkan memori utama. Sehingga diperlukan aturan blok-blok mana yang

diletakkan dalam cache memory. Terdapat tiga metode, yaitu pemetaan langsung

(direct mapping), pemetaan asosiatif, dan pemetaan asosiatif set.

1. Direct Mapping

Setiap blok pada main memory dipetakan dengan line tertentu pada cache.

i = j modulo C

di mana i adalah nomor line pada cache yang digunakan untuk meletakkan

blok main memory ke-j.

Jika M = 64 dan C = 4, maka pemetaan antara line dengan blok menjadi

seperti berikut :

Line 0 can hold blocks 0, 4, 8, 12, ...

Line 1 can hold blocks 1, 5, 9, 13, ...

Line 2 can hold blocks 2, 6, 10, 14, ...

Line 3 can hold blocks 3, 7, 11, 15, ...

Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu:

o Tag identifier.

o Line number identifier

o Word identifier (offset)

Pada gambar 3.1. tampak skema organisasi cache secara Direct Mapping.

Page 20: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 15 

 

Word identifier berisi informasi tentang lokasi word atau unit addressable

lainnya dalam line tertentu pada cache.

Line identifier berisi informasi tentang nomor fisik (bukan logika) line pada

cache.

Tag identifier disimpan pada cache bersama dengan blok pada line.

o Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu yang

menyimpan copy alamat tsb ditentukan, jika blok tempat lokasi data

tersebut sudah dikopi dari main memory ke cache.

o Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang

dimaksud ada pada line tsb.

Gambar 3.1. Gambar Organisasi Direct Mapping.

Keuntungan menggunakan Direct Mapping antara lain:

Mudah dan murah diimplementasikan.

Mudah untuk menentukan letak salinan data main memory pada cache.

Page 21: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 16 

 

Kerugian menggunakan Direct Mapping antara lain:

Setiap blok main memory hanya dipetakan pada 1 line saja.

Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses

blok yang dipetakan pada line yang sama pada cache. Blok seperti ini akan

menyebabkan seringnya sapu masuk dan keluar data ke/dari cache, sehingga

hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukan-

nya data pada cache dengan jumlah usaha mengakses cache.

Gambar 3.2. Gambar Contoh Pengalamatan Direct Mapping.

Page 22: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 17 

 

Ringkasan direct mapping nampak pada tabel berikut:

Item Keterangan

Panjang alamat (s + w) bits Jumlah unit yang dapat dialamati 2s+w words or bytes Ukuran Blok sama dengan ukuran Line 2w words or bytes Jumlah blok di memori utama 2s+ w/2w = 2s Jumlah line di cache m = 2r Besarnya tag (s – r) bits

Tabel 3.1. Tabel Direct Mapping

2. Associative Mapping

Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.

Diharapkan akan mengatasi kelemahan utama Direct Mapping.

Harus menguji setiap cache untuk menemukan blok yang diinginkan.

o Mengecek setiap tag pada line

o Sangat lambat untuk cache berukuran besar.

Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2

field saja, yaitu tag dan word offset.

Gambar 3.3. Gambar Organisasi Associative Mapping.

Page 23: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 18 

 

Melakukan pencarian ke semua tag untuk menemukan blok.

Cache dibagi menjadi 2 bagian :

o lines dalam SRAM

o tag dalam associative memory

Gambar 3.4. Gambar Contoh Pengalamatan Associative Mapping.

Keuntungan Associative Mapping: cepat dan fleksibel.

Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte

dibutuhkan 1024 x 17 bit associative memory untuk menyimpan tag identifier.

Page 24: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 19 

 

Ringkasan associative mapping nampak pada tabel berikut:

Item Keterangan

Panjang alamat (s + w) bits Jumlah unit yang dapat dialamati 2s+w words or bytes Ukuran Blok sama dengan ukuran Line 2w words or bytes Jumlah blok di memori utama 2s+ w/2w = 2s Jumlah line di cache undetermined Besarnya tag s bits

Tabel 3.2. Tabel Associative Mapping

3. Set Associative Mapping

Merupakan kompromi antara Direct dengan Full Associative Mapping.

Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki

sejumlah line (k)

Setiap blok dapat diletakkan di sebarang line dengan nomor set:

nomor set = j modulo v

Gambar 3.5. Gambar Organisasi K-Way Set Associative Mapping.

Page 25: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 20 

 

Jika sebuah set dapat menampung X line, maka cache disebut memiliki X-

way set associative cache.

Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau

4-way set associative mapping.

Gambar 3.6. Gambar Contoh Pengalamatan 2-Way Associative Mapping.

Keuntungan menggunakan Set Associative Mapping antara lain:

Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor

line (dapat menggunakan line yang kosong), sehingga thrashing dapat

diperkecil

Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untuk

melakukan perbandingan tag lebih sederhana.

Page 26: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 21 

 

Ringkasan set associative mapping nampak pada tabel berikut:

Item Keterangan

Panjang alamat (s + w) bits Jumlah unit yang dapat dialamati 2s+w words or bytes Ukuran Blok sama dengan ukuran Line 2w words or bytes Jumlah blok di memori utama 2d Jumlah line dalam set k Jumlah set V=2d Jumlah line di cache Kv = k*2d Besarnya tag (s-d) bits

Tabel 3.3. Tabel Set Associative Mapping

3.2. Algoritma Penggantian

Yang dimaksud algoritma penggantian adalah suatu mekanisme pergantian blok-

blok dalam cache memory yang lama dengan data baru. Dalam pemetaan langsung

tidak diperlukan algoritma ini, namun dalam pemetaan asosiatif dan asosiatif set,

algoritma ini mempunyai peranan penting untuk meningkatkan kinerja cache

memory.

Banyak algoritma penggantian yang telah dikembangkan. Algoritma yang paling

efektif adalah Least Recently Used (LRU), yaitu mengganti blok data yang terlama

berada dalam cache memory dan tidak memiliki referensi. Algoritma lainnya adalah

First In First Out (FIFO), yaitu mengganti blok data yang awal masuk. Kemudian

Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai

referensi paling sedikit. Teknik lain adalah algoritma Random, yaitu penggantian

tidak berdasakan pemakaian datanya, melainkan berdasarkan slot dari beberapa slot

kandidat secara acak.

Page 27: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 22 

 

3.3. Write Policy

Apabila suatu data telah diletakkan pada cache memory 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 komplek, 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.

Teknik yang dikenalkan diantaranya, write through, yaitu operasi penulisan

melibatkan data pada memori utama dan sekaligus pada cache memory sehingga

data selalu valid. Kekurangan teknik ini adalah menjadikan lalu lintas data ke

memori utama dan cache memory sangat tinggi sehingga mengurangi kinerja sistem,

bahkan bisa terjadi hang. Teknik lainnya adalah write back, yaitu teknik meminimasi

penulisan dengan cara penulisan pada cache memory saja. Pada saat akan terjadi

penggantian blok data cache memory maka baru diadakan penulisan pada memori

utama. Masalah yang timbul adalah manakala data di memori utama belum di-

update telah diakses modul I/O sehingga data di memori utama tidak valid.

Penggunaan multi cache terutama untuk multiprocessor adan menjumpai masalah

yang lebih komplek. Masalah validasi data tidak hanya antara cache memory dan

memori utama saja, namun antar cache memory juga harus diperhatikan. Pendekatan

penyelesaian masalah yang dapat dilakukan adalah dengan :

Bus Watching with Write Through, yaitu setiap cache controller akan

memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila ada

operasi tulis di alamat yang datanya digunakan bersama maka cache controller

akan menginvalidasi data cache-nya.

Hardware Transparency, yaitu adanya perangkat keras tambahan yang menjamin

semua updating data memori utama melalui cache direfleksikan pada seluruh

cache yang ada.

Non Cacheable Memory, yaitu hanya bagian memori utama tertentu yang

digunakan secara bersama. Apabila ada mengaksesan data yang tidak di share

merupakan kegagalan cache.

Page 28: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 23 

 

3.4. Miss Cache

Saat miss menulis, anda bisa punya pilihan antara membawa blok ke cache (write-

allocate) atau tidak (write-no-allocate). Saat miss membaca, anda selalu membawa

blok ke cache (lokalitas spasial atau temporal) - blok mana yang diganti:

tidak ada pilihan untuk direct-mapped cache

memilih secara acak way yang akan diganti

mengganti way yang paling jarang dipakai (LRU)

penggantian FIFO (round-robin)

Tipe miss cache adalah sebagai berikut:

Miss wajib: terjadi saat pertama kali word memori diakses. Merupakan miss

untuk cache yang infinit.

Miss kapasitas: terjadi karena program menyentuh banyak word yang lain

sebelum menyentuh ulang word yang sama. Merupakan miss untuk cache fully-

associative.

Miss konflik: terjadi karena dua work dipetakan ke lokasi yg sama di cache.

Merupakan miss yang terjadi ketika berganti dari cache fully-associative ke

direct-mapped.

Page 29: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 24 

 

BBAABB IIVV PPEENNUUTTUUPP

Cache memory merupakan memori yang memiliki kecepatan sangat tinggi, digunakan

sebagai perantara antara Main Memory dan CPU. Memori ini mempunyai kecepatan lebih

tinggi daripada Main Memory, namun harganya lebih mahal. Cache memory digunakan untuk

menjembatani perbedaan kecepatan CPU yang sangat tinggi dengan kecepatan RAM yang

jauh lebih rendah. Dengan menggunakan cache memory, sejumlah data dapat dipindahkan ke

memori ini dalam sekali waktu, dan kemudian ALU akan mengambil data tersebut dari

memori ini. Dengan pendekatan seperti ini, pemrosesan data dapat dilakukan lebih cepat

daripada kalau CPU mengambil data secara langsung dari RAM.

Page 30: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 25 

 

DDAAFFTTAARR PPUUSSTTAAKKAA Stallings, William. 2010. Computer Organization and Architecture 8th Edition.

Prentice Hall. Daftar Website: http://en.wikipedia.org/wiki/Cache_coherency http://en.wikipedia.org/wiki/Cache_algorithms http://williamstallings.com/ComputerOrganization/COA8e-Instructor/index.html http://www.tomshardware.com/reviews/athlon-l3-cache,2416-2.html

Page 31: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 26 

 

LLAAMMPPIIRRAANN

Processor Type Year L1 Cache L2 Cache L3 Cache

IBM 360/85 Mainframe 1968 16-32KB - -

PDP-11/70 Minicomputer 1975 1KB - -

WAX 11/780 Minicomputer 1978 16KB - -

IBM 3033 Mainframe 1978 64KB - -

IBM 3090 Mainframe 1985 126-256KB - -

Intel 80486 PC 1989 8KB - -

Pentium PC 1993 8KB 256-512KB -

PowerPC 601 PC 1993 32KB - -

PowerPC 620 PC 1996 32KB - -

PowerPC G4 PC/Server 1999 32KB 256KB-1MB -

IBM S/390 G4 Mainframe 1997 32KB 245KB 2MB

IBM S/390 G6 Mainframe 1999 256KB 8MB 2MB

Pentium 4 PC/Server 2000 8KB/8KB 256KB -

IBM SP High-end server 2000 64KB/32KB 8MB -

Cray MTA Supercomputer 2000 8KB 2MB -

Itanium PC/Server 2001 16KB/16KB 96KB 4MB

SGI Origin 2001 High-end server 2001 32KB/32KB 4MB -

Itanium 2 PC/Server 2002 32 KB 256KB 6MB

IBM Power5 High-end server 2003 64KB 1.9MB 36MB

Cray XD-1 Supercomputer 2004 64KB/64KB 1MB -

Tabel Perbandingan Cache Size. Sumber William Stalling.

Page 32: Tugas Arsitektur dan Organisasi Komputer - Cache Memoryepuspeduli.com/arsitektur_dan_organisasi_komputer.pdfDengan rahmat Allah SWT, kami dapat menyelesaikan tugas makalah mata kuliah

 27 

 

Gambar Perbandingan Kecepatan Akses antara CPU dan Main Memory