Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 7 Memori Internal Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com
Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013
Pertemuan 7
Memori Internal
Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com
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
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
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
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.