Pertemuan 7
Memori Internal
Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Hanif Fakhrurroja
@hanifoza
[email protected]
http://hanifoza.wordpress.com
Pengemasan (Packging)
©Hanif Fakhrurroja, 2013
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).
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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).
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Pengemasan (Packging)
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Cache Memori •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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Cache Memori • 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. ©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Organisasi Cache Memori
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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. ©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Elemen Cache Memori
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Fungsi Pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan masingmasing 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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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=vxk
©Hanif Fakhrurroja, 2013
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
Algoritma Penggantian 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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Level Memori Cache
Cache memori ada tiga level
yaitu L1,L2 dan L3
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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.
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
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?
©Hanif Fakhrurroja, 2013
http://hanifoza.wordpress.com
Istilah penting yang berhubungan
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.
LRU (Least Recently Used) adalah algoritma penggantian cache.
COAST, Cache on the stick adalah bentuk khusus L2, yang dapat digantiganti 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