1 / 62

Memori Utama Konsep Asas Random-Access-Memory (RAM) Read-Only Memory (ROM)

CMPD 114 : Chapter 4 (chapter 5 text book). Memori Utama Konsep Asas Random-Access-Memory (RAM) Read-Only Memory (ROM) Kelajuan, Saiz dan Kos Cache Memory Virtual (Maya) Memory. Konsep Asas. Bilangan lokasi dalam memori utama menunjukkan saiz ruang alamat bagi sesebuah komputer.

devi
Download Presentation

Memori Utama Konsep Asas Random-Access-Memory (RAM) Read-Only Memory (ROM)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMPD 114 : Chapter 4 (chapter 5 text book) Memori Utama • Konsep Asas • Random-Access-Memory (RAM) • Read-Only Memory (ROM) • Kelajuan, Saiz dan Kos • CacheMemory • Virtual (Maya) Memory

  2. Konsep Asas • Bilangan lokasi dalam memori utama menunjukkan saiz ruang alamat bagi sesebuah komputer. • Sebagai contoh: 1. Komputer dengan alamat 16-bit: 216 = 64K 2. Komputer dengan alamat 32-bit: 232 = 4G 3. Komputer dengan alamat 40-bit: 240 = 1 TERA

  3. Byte Address 0 0 1 2 3 4 4 5 6 7 8 8 9 10 11 • Kebanyakan komputer moden menggunakan pengalamatan byte iaitu muatan satu lokasi memori adalah sebanyak 1 byte, Jadi lokasi tersebut diberikan alamat mengikut byte-byte.

  4. Memori utama direkabentuk agar dapat menyimpan dan mengambil data sepanjang satu perkataan. • Panjang perkataan ialah bilangan bit yg boleh disimpan atau diambil dengan hanya sekali capaian sahaja ke memori utama. • Contoh: Untuk mengambil/menyimpan 1 byte dalam komputer yg menggunakan byte addressable dengan alamat 32-bit, maka: • 30 bit yg pertama menentukan perkataan yg perlu dicapai.

  5. 2 bit yg terakhir menentukan byte mana dalam perkataan tersebut. • Penghantaran data antara memori utama dan CPU akan melalui daftar iaitu MDR dan MAR. • Jika MAR boleh menyimpan sepanjang k-bit dan MDR sepanjang n-bit, maka memori utama akan mempunyai 2k lokasi. Semasa memory cycle, sebanyak n-bit data boleh dihantar antara memori utama dan CPU.

  6. CPU Main Memory MAR MDR Up to 2k addressable locations Word length = n bits

  7. Penghantaran ini akan melalui bus pemproses yg mempunyai k-line alamat dan n-line data. • Kelajuan memori utama boleh diukur dengan: 1. masa capaian memori (memory access time) iaitu mengira tempoh masa permulaan sesuatu operasi dengan masa operasi tersebut tamat. Contohnya: tempoh masa antara isyarat Read dikeluarkan sehingga isyarat MFC dikeluarkan. 2. masa kitaran memori (memory cycle time) iaitu lengahan (delay) masa minimum yang diperlukan antara 2 operasi Read.

  8. Biasanya masa kitaran memori (MCT) adalah lebih lama sedikit daripada masa capaian memori (MAT) bergantung kepada perlaksanaan dalam unit memori. • Memori utama direkabentuk menggunakan menggunakan semikonduktor integrated circuit. • Oleh kerana kelajuan CPU adalah lebih tinggi berbanding memori utama, maka masa capaian memori menjadi bottleneck sistem komputer.

  9. Terdapat beberapa cara dan teknik untuk mengurangkan masa capaian memori iaitu: 1. Memori Cache - merupakan satu unit memori yang kecil dan laju yang diletakkan antara CPU dan memori utama. Ia akan menyimpan segmen aturcara yg sedang aktif dan data-datanya. 2. Memory Interleaving - memori utama dibahagikan kepada beberapa modul dan menyusun alamat-alamat supaya ia boleh diletakkan dalam modul-modul yang berlainan. Jika terdapat capaian ke memori utama yg melibatkan alamat-alamat yg berjujukan, maka capaian tersebut akan dilakukan secara serentak ke modul-modul yg berlainan.

  10. 3. Memori Maya (Virtual Memory) - alamat yang digunakan oleh aturcara adalah alamat maya yg berlainan dengan alamat sebenar lokasi memori utama iaitu alamat fizikal. Alamat maya perlu diterjemahkan oleh litar kawalan memori ke alamat fizikal. Ruang alamat maya akan dipetakan ke alamat fizikal iaitu tempat sebenar data disimpan. Tugas pemetaan ini dilakukan oleh unit pengurusan memori.

  11. Random Access Memory (RAM) • Sebahagian dari memori utama di mana data dan arahan disimpan secara sementara semasa perlaksanaan arahan. • RAM membenarkan kita • menulis data ke dalam memori (write) dan membenarkan kita membaca data dari memori (read) • Data / arahan akan terhapus jika suis ditutup (volatile).

  12. Terdapat 2 jenis RAM iaitu: 1. Statik (SRAM) - berkelajuan tinggi (masa pengambilan data (capaian) cepat.) - tidak memerlukan denyutan elektrik yang berulang untuk mengekalkan memori. - berkeupayaan untuk mengekalkan keadaannya selagi terdapat bekalan arus elektrik. keburukan: - mahal

  13. 2. Dinamik (DRAM) - digunakan pada komputer peribadi. - densiti tinggi ( banyak ruang ingatan) - lebih murah keburukan: - memerlukan denyutan elektrik yang berulang untuk mengekalkan kandungan memori.

  14. Read Only Memory (ROM) • Merujuk kepada ruang memori yg mengandungi maklumat untuk memulakan komputer di mana ia disediakan oleh pengeluar komputer. • Kandungan memorinya kekal. • ROM hanya boleh melakukan proses baca sahaja dan data tidak boleh ditulis ke dalamnya • Kandungan ROM tidak akan terhapus jika suis terpadam (non-volatile).

  15. Jenis-jenis ROM: 1. PROM (Programmable ROM) - cip hanya boleh diprogram sekali sahaja. - kandungan memorinya tidak boleh diubah. 2. EPROM (Erasable Programmble ROM) - program yg ditulis boleh dipadam, diubah dan ditulis semula. - menggunakan cahaya ultraviolet untuk memadam kandungan.

  16. 3. EEPROM (Electrically Erasable Programmble ROM) - cip memori yang boleh dipadam dan diprogramkan semula menggunakan elektrik.

  17. Kelajuan, Saiz dan Kos • Sebuah memori yang baik adalah laju, mempunyai kapasiti yang besar dan murah. • SRAM adalah sebuah memori yang laju tetapi mahal kerana sel asasnya memerlukan 6 transistor. • Adalah tidak praktikal jika satu memori yang besar dibina menggunakan SRAM.

  18. Alternatif lain yang ada ialah dengan menggunakan DRAM yang lebih murah kerana bilangan transistor yang diperlukan untuk satu sel adalah lebih kecil tetapi ia lambat. • Walaupun DRAM membenarkan memori utama bersaiz di antara 10 MB diimplementkan di atas kos yang murah, saiz ini adalah kecil jika dibandingkan dengan program-program besar yang mempunyai data yang banyak. • Penyelesaian kepada masalah ini ialah dengan menggunakan storan sekunder seperti pita magnetik.

  19. Walau bagaimanapun capaian ke atasnya adalah lebih lambat jika dibandingkan dengan capaian ke atas memori utama. • Kesemua jenis memori ini digunakan oleh komputer. • Hirarki memori boleh dilihat di dalam rajah 5.12.

  20. CPU Increasing size Increasing speed Increasing cost per bit Secondary cache Primary cache Main Memory Magnetic disk secondary Figure 5.12: Hirarki Memori

  21. Rajah 5.12 menunjukkan dua jenis memori cache iaitu primary cache dan secondary cache. • Primary Cache terletak pada cip CPU. Ia bersaiz kecil dan ia perlu melaksanakan pelbagai tugas. • Secondary cache adalah lebih besar dan terletak di antara primary cache dan memori utama. • Semua data/maklumat yang dihantar ke memori akan melalui kedua-dua unit ini.

  22. Semasa perlaksanaan sesuatu program, kelajuan capaian memori adalah penting. • Cara untuk menguruskan operasi memori adalah dengan membawa data dan arahan yang akan digunakan ke unit yang paling hampir dengan CPU. • Mekanisma yang boleh digunakan adalah seperti memori cache.

  23. Memori Cache • Rasional penggunaan cache adalah berdasarkan kepada konsep “Locality of Reference”. • Konsep ini merujuk kepada arahan-arahan dari suatu lokasi dalam suatu bahagian program dilaksanakan secara berulangan dalam tempoh masa tertentu, manakala bahagian program yang lain dicapai dan dilaksanakan tidak sekerap bahagian di atas.

  24. Arahan-arahan ini terdiri daripada gelung yang ringkas (simple loop), gelung tersarang (nested loop) atau beberapa tatacara yang memanggil antara satu sama lain secara berulangan. • Konsep ini boleh dibahagikan kepada dua jenis: 1. Temporal • arahan-arahan yang baru dilaksanakan berkemungkinan besar untuk dilaksanakan lagi. 2. Spatial • arahan-arahan yang berdekatan dengan arahan-arahan yang baru dilaksanakan juga berkemungkinan besar untuk dilaksanakan lagi.

  25. Berdasarkan ciri-ciri ini, penggunaan mekanisma cache dapat mengurangkan masa perlaksanaan secara keseluruhan dengan membawa masuk blok arahan tertentu ke dalam memori cache. • Memori cache merupakan satu unit memori yang bersaiz kecil dan berkelajuan tinggi yang terletak di antara CPU dan memori utama. • Ia akan menyimpan segmen aturcara yang sedang aktif beserta dengan datanya. • Apabila terdapat permintaan Read dari CPU, kandungan satu blok memori utama akan dihantar ke cache dengan satu perkataan pada satu masa.

  26. Apabila terdapat rujukan pada sebarang lokasi dalam blok ini, ia akan diambil secara terus dari cache dan bukannya dari memori. • Oleh kerana memori cache adalah kecil dan hanya boleh menyimpan hanya beberapa blok pada satu masa, maka perhubungan antara blok-blok memori utama dengan blok-blok cache perlu ditentukan melalui fungsi pemetaan (mapping function). • Sekiranya terdapat lokasi yang dirujuk oleh arahan tidak terdapat dalam cache sedangkan

  27. cache telah penuh, unit kawalan cache perlulah menentukan blok manakah perlu dikeluarkan dari cache agar blok yang baru yang mengandungi lokasi yang dirujuk dapat dibawa ke cache. Ia dipanggil replacement algorithm. • Semasa operasi Read/Write, sekiranya lokasi yang dirujuk berada di dalam cache, ia dipanggil Read/Write hit. • Bagi operasi Readia tidak akan melibatkan memori utama.

  28. Bagi operasi Write terdapat dua cara: 1. Write-through • lokasi cache dan lokasi memori utama diupdate secara serentak. 2. Write-back / copy-back • hanya update lokasi cache sahaja dan untuk menandakan ia telah diupdate, dirty/modify bit digunakan. • lokasi memori utama akan diupdate kemudian apabila blok yang mengandungi lokasi yang ditanda ini perlu dikeluarkan dari cache.

  29. Fungsi Pemetaan (Mapping Functions) • fungsi pemetaan adalah cara bagaimana untuk menentukan blok yang manakah dalam memori utama yang akan ditempatkan ke dalam cache. • Terdapat tiga kaedah untuk memetakan blok memori utama ke cache iaitu: 1. Direct-Mapping 2. Associative-Mapping 3. Set Associative-Mapping

  30. 1. Direct-Mapping • melalui kaedah ini, blok j dari memori utama dipetakan kepada: blok j = [ blok j ] mod [ bilangan blok dalam cache] • Contoh: Andaikan, • Cache mempunyai 128 blok dengan 16 perkataan setiap blok. • Memori utama mempunyai 64k perkataan yang dibahagikan kepada 4k blok dengan 16 perkataan setiap blok.

  31. Blok 0 dipetakan kepada : 0 mod 128 = Blok 0 cache Blok 1 dipetakan kepada : 1 mod 128 = Blok 1 cache Blok 2 dipetakan kepada : 2 mod 128 = Blok 2 cache Blok 3 dipetakan kepada : 3 mod 128 = Blok 3 cache dan seterusnya … • Jadi blok-blok 0, 128, 256, … dari memori utama dipetakan kepada Blok 0 dalam cache. Blok-blok 1, 129, 257, … dari memori utama dipetakan kepada Blok 1 dalam cache dan seterusnya …

  32. Blok 0 Blok 1 Blok 127 tag Blok 128 tag Blok 129 tag Blok 255 Blok 256 Blok 257 Blok 4095 Blok 0 Figure 5.14: Direct-mapped Cache Blok 1 Blok 127

  33. Oleh kerana lebih dari satu blok dari memori utama dipetakan ke satu blok yang sama dalam cache, maka pertembungan mungkin berlaku walaupun cache belum penuh. • Kedudukan sesuatu blok dalam cache yang dibawa masuk dari memori utama ditentukan oleh alamat lokasi memorinya.

  34. Main memory address Tag Block Word • Alamat boleh dibahagikan kepada 3 medan : Word : bit-bit dalam medan ini menentukan perkataan manakah antara perkataan-perkataan dalam satu blok cache. Block : bit-bit dalam medan ini menentukan blok manakah ia dalam cache. Tag : menentukan blok manakah antara blok-blok yang mungkin menduduki sesuatu blok dalam cache.

  35. Contoh: Word : Bil perkataan perblok dalam cache = 16 = 2w = 24  word = 4 bit Blok : Bilangan blok dalam cache = 128 = 2b = 27  Block = 7 bit

  36. Tag 5 Block 7 Word 4 Tag : Bilangan blok yang mungkin menduduki sesuatu blok dalam cache = Bil blok memori utama Blok blok cache = 4096 128 = 32 = 2t = 25  Tag = 5 bit

  37. Kebaikan direct mapping ialah ianya senang dilaksanakan. • Keburukannya pula ialah tidak fleksibel.

  38. 2. Associative-Mapping • blok memori utama boleh dipetakan ke mana-mana blok dalam cache. • Bebas memilih lokasi cache untuk menyimpan blok memori utama selagi cache tidak penuh. • Sekiranya cache telah penuh, blok baru yang hendak di bawa masuk akan menghapuskan blok yang sedia ada dalam cache. • Keburukan associative-mapping ialah kos adalah lebih tinggi daripada direct-mapped kerana perlu mencari ke seluruh cache untuk mengetahui

  39. samada suatu blok itu berada dalam cache atau tidak. • Medan alamat dibahagikan kepada 2 sahaja: • Contoh: Andaikan, Cache mempunyai 128 blok dengan 16 perkataan. Memori utama bersaiz 4096 blok. Tag Word

  40. Word : Bilangan word perblok = 16 = 2w = 24  Word = 4 bit Tag : Bilangan blok yg mungkin menduduki sesuatu blok dalam cache atau bil blok dalam memori utama. = 4096 = 212 = 2t  Tag = 12 bit

  41. 3. Set Associative-Mapping • gabungan antara teknik direct-mapping dan associative mapping • beberapa blok dalam cache digabungkan menjadi satu set dan blok dari memori utama boleh dipetakan ke mana-mana blok dalam set tersebut. • Untuk menentukan satu blok iaitu blok k dipetakan ke set mana: blok k = [ blok k ] mod [ bilangan set dalam cache]

  42. Masalah pertembungan yang dihadapi dalam teknik direct-mapping dapat di atasi kerana terdapat beberapa pilihan blok dalam satu set. • Kos juga dapat dikurangkan kerana tidak perlu melakukan carian ke keseluruhan cache tetapi hanya pada set tertentu sahaja. • Contoh: Setiap set dalam cache 128 blok dengan16 perkataan mempunyai 2 blok. Jadi, terdapat 128 / 2 = 64 set dalam cache.

  43. Blok 0 Blok 1 Blok 63 tag Blok 0 Set 0 Blok 64 tag Blok 1 Blok 65 tag Blok 2 Set 1 tag Blok 3 Blok127 Blok 128 tag Blok 126 Blok 129 Set 63 tag Blok 127 Blok 4095 Figure 5.16: Set-associative-mapped cache with two blocks per set

  44. Tag Set Word • Medan alamat dibahagikan kepada 3 medan: • Contoh: Andaikan, Cache mempunyai 128 blok dengan 16 perkataan perblok. Memori utama bersaiz 4096 blok.  Word : Bilangan word perblok = 16 = 24  Word = 4 bit

  45. Set : Bilangan set dalam cache = 64 = 26  Set = 6 bit Tag : Bilangan blok yg mungkin menduduki sesuatu blok dalam cache = Bilangan blok memori utama Bilangan set dalam cache = 4096 64 = 64 = 26  Tag = 6 bit

  46. Algorithma Penggantian (Replacement Algorithm) • apabila terdapat suatu blok baru hendak dibawa ke cache dan kandungan cache telah penuh, unit kawalan cache perlu menentukan blok manakah yang boleh di`overwrite` atau digantikan. • Melalui prinsip `locality of reference`, blok yg baru dirujuk mempunyai kebarangkalian yang tinggi untuk dirujuk lagi kemudiannya. • Jadi apabila suatu blok itu hendak di`overwrite`, ia mestilah terdiri daripada blok yang lama tidak dirujuk oleh pemproses.

  47. Blok ini dipanggil Least Recently Used (LRU) dan teknik ini dipanggil algoritma penggantian LRU. • Algoritma ini boleh dilaksanakan dengan menggunakan pembilang bagi setiap blok dalam cache. 1. Apabila berlaku ‘hit’: • pembilang blok yang baru dirujuk disetkan kepada 0. • pembilang-pembilang yg bernilai kurang daripada nilai pembilang blok baru yang dirujuk ditambah 1. • Pembilang-pembilang yang lain tidak berubah.

  48. 2. Apabila berlaku ‘miss’ tetapi cache belum penuh: • pembilang blok yang baru dibawa masuk ke cache disetkan kepada 0. • nilai pembilang-pembilang lain ditambah 1. 3. Apabila berlaku ‘miss’ dan cache telah penuh: • blok yang mempunyai nilai paling besar dikeluarkan dan blok baru dibawa masuk. Pembilang blok baru disetkan kepada 0. • Nilai pembilang lain ditambah 1.

  49. Memori Maya (Virtual Memory) • Apabila sesuatu program dilaksanakan, ia akan dibawa masuk ke memori utama. • Walaubagaimanapun mungkin berlaku keadaan di mana muatan memori utama tidak cukup besar bagi program tersebut. • Jadi, sebahagian dari program yang belum dilaksanakan akan dibiarkan dalam storan sekunder dahulu. Hanya bahagian program yang dilaksanakan sahaja dibawa masuk ke memori utama.

  50. Apabila terdapat bahagian/segmen program yang perlu dibawa masuk ke memori utama yg telah penuh, ia perlulah menggantikan segmen yang telah sedia ada dalam memori utama. Proses penggantian ini dilakukan oleh sistem pengoperasian. • Teknik memori maya adalah teknik di mana program dan blok data dipindahkan di antara memori utama dan storan sekunder secara automatik apabila ia diperlukan untuk perlaksanaan.

More Related