Pertemuan 7 Memori Internal - · PDF fileAturan blok – blok mana yang diletakkan dalam...

41
Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 7 Memori Internal Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com

Transcript of Pertemuan 7 Memori Internal - · PDF fileAturan blok – blok mana yang diletakkan dalam...

Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013

Pertemuan 7

Memori Internal

Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com

Pengemasan (Packging)

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pengemasan (Packging)

Gambar (a)

EPROM yang merupakan keping 8 Mbit yang diorganisasi sebagai 1Mx8.

Organisasi dianggap sebagai kemasan satu word per keping.

Kemasan terdiri dari 32 pin, yang merupakan salah satu ukuran kemasan keping standar

Gambar (b) Keping 16 Mbit yang diorganisasikan sebagai 4M

x 4. Terdapat sejumlah perbedaan dengan keping

ROM, karena ada operasi tulis maka pin – pin data merupakan input/output yang dikendalikan oleh WE (write enable) dan OE (output enable).

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pengemasan (Packging)

Alamat word yang sedang diakses. Untuk 1M word, diperlukan sejumlah 20 buah (220 = 1M).

Data yang akan dibaca, terdiri dari 8 saluran (D0 –D7) Catu daya keping adalah Vcc

Pin grounding Vss

Pin chip enable (CE). Karena mungkin terdapat lebih dari satu keping memori yang terhubung pada bus yang sama maka pin CE digunakan untuk mengindikasikan valid atau tidaknya pin ini. Pin CE diaktifkan oleh logik yang terhubung dengan bit berorde tinggi bus alamat ( diatas A19)

Tegangan program (Vpp).

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pengemasan (Packging)

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Koreksi Error

Dalam melaksanakan fungsi penyimpanan, memori semikonduktor dimungkinkan mengalami kesalahan.

Kesalahan berat yang biasanya merupakan kerusakan fisik memori

Kesalahan ringan yang berhubungan data yang disimpan.

Kesalahan ringan dapat dikoreksi kembali.

Koreksi kesalahan data yang disimpan diperlukan dua mekanisme

Mekanisme pendeteksian kesalahan

Mekanisme perbaikan kesalahan

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache Memori

Cache memory merupakan memori yang memiliki kecepatan sangat tinggi, digunakan sebagai perantara antara RAM dan CPU. Memori ini mempunyai kecepatan lebih tinggi daripada RAM, tetapi harganya lebih mahal.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

•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

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache Memori

•Memori ini digunakan untuk menjembatani perbedaan kecepatan CPU yang sangat tinggi dengan kecepatan RAM yang jauh lebih rendah.

•Dengan menggunakan cache, 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.

Cache Memori

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

•Kecepatan access register lebih tinggi dibanding kecepatan access Main Memory.

•Agar kerja CPU lebih effisien, maka diantara CPU dan Main Memory dipasang Cache Memory atau disebut Buffer Memory untuk mengurangi waktu tunda (idle time) yang terjadi ketika berlangsungnya lintas data, instruksi dan hasil proses dari CPU ke Main Memory atau sebaliknya.

•Tanpa Cache Memory, CPU harus menunggu sampai data atau instruksi diterima dari Main Memory atau menunggu hasil proses selesai direkamkan di Main Memory baru proses selanjutnya bisa dilaksanakan.

•Cache Memory berfungsi meningkatkan kecepatan melakukan proses.

Cache Memori

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache Memori

Mempercepat kerja memori sehingga mendekati kecepatan prosesor.

Memori utama lebih besar kapasitasnya namun lambat operasinya, sedangkan cache memori berukuran kecil namun lebih cepat.

Cache memori berisi salinan memori utama

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache Memori

Ukuran cache memori adalah kecil, semakin besar kapasitasnya maka akan memperlambat proses operasi cache memori itu sendiri, disamping harga cache memori yang sangat mahal

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Organisasi Cache Memori

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cara Kerja Memori Cache

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.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

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.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Elemen Cache Memori

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Kapasitas Cache

AMD mengeluarkan prosesor K5 dan K6 dengan cache yang besar (1MB), kinerjanya tidak bagus

Intel mengeluarkan prosesor tanpa cache untuk alasan harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an, kinerjanya sangat buruk terutama untuk operasi data besar, floating point, 3D

Sejumlah penelitian telah menganjurkan bahwa ukuran cache antara 1KB s.d. 512KB akan lebih optimum.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Ukuran Blok Cache

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.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Ukuran blok, blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan menyebabkan data menjadi tertindih setelah blok itu diambil. Dengan meningkatnya ukuran blok, maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta,sehingga menjadi lebih kecil kemungkinannya untuk di perlukan dalam waktu dekat

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pemetaan (Cache)

Cache mempunyai kapasitas yang kecil dibandingkan memori utama.

Aturan blok – blok mana yang diletakkan dalam cache.

Terdapat tiga metode, yaitu :

pemetaan langsung,

pemetaan asosiatif, dan

pemetaan asosiatif set

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pemetaan Langsung

Teknik paling sederhana, yaitu teknik ini memetakan blok memori utama hanya ke sebuah saluran cache saja

i = j modulus m dan m = 2r dimana :

i = nomer saluran cache j = nomer blok memori utama m = jumlah saluran yang terdapat dalam cache

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Fungsi Pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Pemetaan asosiatif dapat mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pemetaan Assosiatif

Mengatasi kekurangan pemetaan langsung Tiap 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.

Fleksibilitas dalam penggantian blok baru yang ditempatkan dalam cache

Kelebihan : Algoritma penggantian dirancang untuk memaksimalkan hit ratio, yang pada pemetaan langsung terdapat kelemahan

Kekurangan : kompleksitas rangkaian sehingga mahal secara ekonomi

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Pemetaan Assosiatif Set

Menggabungkan kelebihan yang ada pada pemetaan

langsung dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set–set. Alamat memori utama diinterpretasikan dalam tiga field,

yaitu: field tag, field set, field word. Setiap blok memori utama dapat dimuat dalam

sembarang saluran cache. Cache dibagi dalam v buah set, yang masing –masing

terdiri dari k saluran

m = v x k

i = j modulus v dan v = 2d dimana : i = nomer set cache j = nomer blok memori utama m = jumlah saluran pada cache

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Algoritma Penggantian, terdiri dari Least Recently Used (LRU), First in First Out (FIFO), Least Frequently Used (LFU), Acak. Algoritma penggantian digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode algoritma penggantian yaitu Write-through dan Write-back. Write-through adalah Cache dan memori utama diupdate secara bersamaan waktunya. Sedangkan Write-back melakukan update data di memori utama hanya pada saat word memori telah dimodifikasi dari cache.

Algoritma Penggantian

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Write Policy – Mengapa ?

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

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Write Policy –”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

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Write Policy –”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

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Write Policy-Multi cache Multi cache untuk multi prosesor

Masalah yang lebih kompleks.

Masalah validasi data tidak hanya antara cache dan memori utama

Antar cache harus diperhatikan

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Level Memori Cache

Cache memori ada tiga level yaitu L1,L2 dan L3

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

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 128 Kb

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

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.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

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.

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache

split cache

Mesin–mesin superscalar seperti Pentium dan PowerPC

Menekankan pada paralel proses dan perkiraan – perkiraan eksekusi yang akan terjadi.

Kelebihan utama split cache

Mengurangi persaingan antara prosesor instruksi dan unit eksekusi untuk mendapatkan cache, hal ini sangat utama bagi perancangan prosesor–prosesor pipelining

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Kesimpulan

Memori adalah bagian dari komputer tempat program program dan data – data disimpan

Elemen dasar memori adalah sel memori. Sel memori dipresentasikan dengan bilangan biner 1 atau 0. Sel memori mempunyai kemampuan untuk ditulisi dan dibaca.

Untuk mempelajari sistem memori secara keseluruhan, harus mengetahui karakteristik – karakteristik kuncinya yaitu: Lokasi, Kapasitas, Satuan Transfer, Metode Akses, Kinerja, Tipe Fisik dan Karakteristik Fisik.

Untuk memperoleh keandalan sistem ada tigapertanyaan yang diajukan: Berapa banyak ? Berapa cepat? Berapa mahal?

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Cache hit, jika data yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut "hit". Permintaan dapat dilayani dengan cepat. Maksud urutan unit dari rendah hingga tinggi yaitu: Streamer - Hardisk Memori - Second Level - First level - CPU cache. Cache miss, bila data yang diminta tidak ada dalam cache, harus diambil dari unit dibawahnya yang cukup memakan waktu. Ini disebut miss (gagal) Burst mode, dalam modus cepat ini cache mengambil banyak data sekaligus dari unit dibawahnya. Ia mengambil lebih dari yang dibutuhkan dengan asumsi, data yang diminta berikutnya letaknya berdekatan.

Istilah penting yang berhubungan

LRU (Least Recently Used) adalah algoritma penggantian cache. COAST, Cache on the stick adalah bentuk khusus L2, yang dapat diganti-ganti seperti RAM dan ditempatkan pada modul. DRAM, memori dinamik (''Dynamic Random Access Memory) adalah bentuk yang paling umum. DRAM hanya menggunakan sebuah kapasitor untuk menyimpan, sehingga kecil dan murah untuk kapasitas besar. Kekurangannya: kecepatannya tidak begitu tinggi. SRAM, memori statik (Static RAM) ini menggunakan sakelar elektronik (flip-flop) untuk menyimpan. secara teknis flip-flop pada RAM lebih rumit dari kapasitor pada DRAM. Karena lebih cepat, SRAM biasanya digunakan untuk cache L1 atau L2. SDRAM, memori dinamik tersinkronisasi (Synchronous DRAM) merupakan perkembangan lebih lanjut dari DRAM. Akses pada memori disinkronkan dengan frekuensi sistim prosesor sehingga menghemat waktu. Pada motherboard modern, SDRAM berfungsi sebagai pengganti langsung DRAM.

First level cache (L1), ini tingkat cache teratas dalam hirarki, dengan kapasitas memori terkecil, termahal dan tercepat. Second level cache (L2), cache level dua ini memiliki kapasitas lebih besar dari L1, tetapi lebih lambat dan murah. Cache L2 masih lebih cepat dibandingkan dengan RAM. Write back (WB), cache digunakan tidak hanya saat membaca, tetapi juga dalam proses menulis. Write through (WT), mementingkan keamanan: cache hanya digunakan saat membaca, sedangkan untuk menulis ditunggu hingga memori yang dituju selesai menulis.

©Hanif Fakhrurroja, 2013