Pengertian Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : komputer storage, komputer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit).
Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
Ø physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
Ø Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
Ø Secondary Memory, berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan device.
Ø Gambar Hirarki Memori Komputer yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti rotating magnetic memory, optical memory, dan sequntially access memory. Akan tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga level dasar yang telah dijelaskan sebelumnya.
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.
Tujuan dari manajemen ini adalah untuk:
o Meningkatkan utilitas CPU
o Data dan instruksi dapat diakses dengan cepat oleh CPU
o Efisiensi dalam pemakaian memori yang terbatas
o Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien
Penggunaan Memory
Komponen utama dalam sistem komputer adalah Arithmetic Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Jika tanpa memory, maka komputer hanya berfungsi sebagai digital signal processing devices, contohnya kalkulator atau media player. Kemampuan memory untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai general-purpose komputer.Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan binary. Teks, angka, gambar, sudio dan video dikonversikan menjadi sekumpulan bilangan binary (binary digit atau disingkat bit). Sekumpulan bilangan binary dikenal dengan istilah BYTE, dimana 1 byte = 8 bits. Semakin besar ukuran memory-nya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (storage devices).Berikut ini beberapa gambar yang bisa mewakili bagaimana cara informasi disimpan dalam memory dan bagaimana data ditransfer dari satu bagian ke bagian lainnya.
Gambar ini saya ambil dari buku Komputers For Beginners USBORNE KOMPUTER GUIDES. Jadi kalo kita menekan tombol B, maka huruf B itu dikonversikan menjadi bilangan binary 01000010.Gambar ini juga dari buku yang sama, jadi informasi yang diterima komputer ditransfer dari satu bagian ke bagian lain, misalnya dari Arithmetic Logic unit ke RAM, melalui bus atau electronic pathways yang ada di motherboard.
Gambar ini saya ambil dari buku Komputers For Beginners USBORNE KOMPUTER GUIDES. Jadi kalo kita menekan tombol B, maka huruf B itu dikonversikan menjadi bilangan binary 01000010.Gambar ini juga dari buku yang sama, jadi informasi yang diterima komputer ditransfer dari satu bagian ke bagian lain, misalnya dari Arithmetic Logic unit ke RAM, melalui bus atau electronic pathways yang ada di motherboard.
JENIS MEMORI (MEDIA PENYIMPANAN)
Memori merupakan media penyimpanan data pada komputer, yang mana media penyimpanan data dalam komputer dibagi menjadi 2 jenis yaitu :
A. MEMORI INTERNAL
Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Secara lebih tinci, fungsi dari memori utama adalah :
Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses
Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses
Ø Menyimpan daya hasil pemrosesan ALU senelum dikirimkan ke peranti keluaran
Ø Menampung program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder
Memori biasa terbagi dibedakan menjadi dua macam: ROM dan Ram. Selain itu, terdapat pula memori yang disebut cache memory.
a. ROM
ROM (Read-Only-Memory a.k.a firmware) adalah jenis memori yang isinya tidak hilang ketika tidak mendapat aliran listrik dan pada awalnya isinya hanya bisa dibaca. ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data. Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketka komputer mulai dihidupkan. Umumnya proses yang terkandung dalam BIOS secara berurutan adalah sebagai berikut:
Ø Memeriksa isi CMOS.
CMOS (Compmentary Meta-Oxyde Semiconductor) adalah jenis cip yang memerlukan daya listrik dari baterai. Cip ini berisi memori 64-byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya peranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem.
Ø Memuat penanganan interupsi (interupt handlers) dan pengendali peranti (device driver).
Penanganan interupsi adalah program kecil yang menjadi penerjemah antara perangkat keras dan sistem operasi. Sebagai contoh , jika pemakai menekan tombol keyboard maka isyarat ini dikirimkan melalui penaganan interupsi keyboard.
Pengendali peranti adalah program yang bertindak sebagai pemberi identitas bagi perangkat keras tertentu (misalnya scanner) sehingga bisa dikenali oleh sistem operasi.
Pengendali peranti adalah program yang bertindak sebagai pemberi identitas bagi perangkat keras tertentu (misalnya scanner) sehingga bisa dikenali oleh sistem operasi.
Ø Menginisialisasi register dan manajemen daya listrik
Ø Melakukan pengujian perangkat keras (POST atau the power-on self-test) untuk memastikan bahwa semua perangkat keras dalam keadaan baik
Ø Menampilkan pengaturan-pengaturan pada system
Ø Menentukan peranti yang akan digunakan untuk menjalankan program (ex. : hard disk)
Ø Mengambil isi boot sector. Boot sector juga merupakan sebuah program kecil. Oleh BIOS program ini dimuat ke RAM dan kemudian mikroprosesor akan mengeksekusi perintah-erintah yang sudah berada dalam RAM tersebut.
Melalui prosedur di atas inilah, kemudian sistem operasi (windows, linux, solaris, dll) dimuat.
Melalui prosedur di atas inilah, kemudian sistem operasi (windows, linux, solaris, dll) dimuat.
Selain ROM, terdapat pula cip yang disebut PROM, EPROM dan EEPROM.
PROM (Progammable Read-Only-Memory) Jika isi ROM ditentukan oleh vendor, PROM dijual dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai. Setelah diisi dengan program, isi PROM tak bisa dihapus.
EPROM (Erasable Programmable Read-Only-Memory) Berbeda dengan PROM, isi EPROM dapat dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar ultraviolet. EEPROM (Electrically Erasable Programmable Read-Only0Memory)
EEPROM dapat menyimpan data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa digunakan pada kamera digital, konsol video game, dan cip BIOS.
b. RAM
PROM (Progammable Read-Only-Memory) Jika isi ROM ditentukan oleh vendor, PROM dijual dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai. Setelah diisi dengan program, isi PROM tak bisa dihapus.
EPROM (Erasable Programmable Read-Only-Memory) Berbeda dengan PROM, isi EPROM dapat dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar ultraviolet. EEPROM (Electrically Erasable Programmable Read-Only0Memory)
EEPROM dapat menyimpan data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa digunakan pada kamera digital, konsol video game, dan cip BIOS.
b. RAM
RAM (Random-Access Memory) adalah jenis memori yang isinya dapat diganti-ganti selama komputer sihidupkan dan bersifat volatile. Selain itu, RAM mempunyai sifat yakni dapat menyimpan dan mengambil data dengan sangat cepat.
Tipe RAM pada PC bermacam; antara lain DRAM, SDRAM, SRAM, RDRAM, dan EDO RAM. DRAM (Dynamic RAM) adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung di dalamnya tidak hilang.
EDO RAM (Extended Data Out RAM) adalah jenis memori yang digunakan pada sistem yang menggunakan Pentium. Cocok untuk yang memiliki bus denagan kecepatan sampai 66 MHz. SDRAM (Sychronous Dynamic RAM) adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz. SRAM (Static RAM) adalah jenis memori yang tidak memerlukan penyegaran oleh CPU agar data yang terdapat di dalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih tinggi daripada DRAM.
RDRAM (Rambus Dynamic RAM) adalah jenis memori yang lebih cepat dan lebih mahal daripada SDRAM. Memori ini biasa digunakan pada sistem yang menggunakan Pentium 4.
Tipe RAM pada PC bermacam; antara lain DRAM, SDRAM, SRAM, RDRAM, dan EDO RAM. DRAM (Dynamic RAM) adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung di dalamnya tidak hilang.
EDO RAM (Extended Data Out RAM) adalah jenis memori yang digunakan pada sistem yang menggunakan Pentium. Cocok untuk yang memiliki bus denagan kecepatan sampai 66 MHz. SDRAM (Sychronous Dynamic RAM) adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz. SRAM (Static RAM) adalah jenis memori yang tidak memerlukan penyegaran oleh CPU agar data yang terdapat di dalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih tinggi daripada DRAM.
RDRAM (Rambus Dynamic RAM) adalah jenis memori yang lebih cepat dan lebih mahal daripada SDRAM. Memori ini biasa digunakan pada sistem yang menggunakan Pentium 4.
Jenis RAM yang terdapat di pasaran :
1. SIMM (Single in-line memory module) – Mempunyai kapasitas 30 atau 72 pin. Memori SIMM 30 pin untuk kegunaan PC zaman 80286 hingga 80486 dan beroperasi pada 16 bit. Memory 72 pin banyak digunakan untuk PC berasaskan Pentium dan beroperasi pada 32 bit. Kecepatan dirujuk mengikuti istilah ns (nano second) seperti 80ns, 70ns, 60ns dan sebagainya. Semakin kecil nilainya maka kecepatan lebih tinggi. DRAM (dynamic RAM) dan EDO RAM (extended data-out RAM) menggunakan SIMM. DRAM menyimpan bit didalam suatu sel penyimpanan (storage sell) sebagai suatu nilai elektrik (electrical charge) yang harus di-refesh beratus-ratus kali setiap saat untuk menetapkan (retain) data. EDO RAM sejenis DRAM lebih cepat, EDO memakan waktu dalam output data, dimana ia memakan waktu di antara CPU dan RAM. Memori jenis ini tidak lagi digunakan pada komputer akhir-akhir ini.
SIMM 30 PIN SIMM 72 PIN
SIMM 30 PIN SIMM 72 PIN
2. DIMM (dual in-line memory module) – Berkapasitas 168 pin, kedua belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda daripada SIMM yang hanya berfungsi pada sebelah modul saja. Mensuport 64 bit penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan penganti dari DRAM, FPM (fast page memory) dan EDO . SDRAM pengatur (synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang lebih cepat. Terdapat dalam dua kecepatan yaitu 100MHz (PC100) dan 133MHz (PC133). DIMM 168 PIN
3. DDR SDRAM (double-data-rate SDRAM) – Ciri-ciri DDR SDRAM sama dengan SDRAM, tetapi pemindahan data (data transfer) mendekati kecepatan sistem jam (system clock) dan ini secara teori meningktkan kecepatan SDRAM. Dahulu digunakan sebagai memori untuk card terpisah tetapi pada saat ini pabrik komputer membuatnya pada modul memori untuk motherboard sebagai satu jalan alternatif untuk pengganti SDRAM yang mempunyai 184 pin dan terdapat dalam tiga kecpatan yaitu 266MHz, 333MHz dan 400MHz. DIMM 184PIN
4. DRDRAM (direct Rambus DRAM) – Dulu dikenali sebagai RDRAM. Adalah sejenis SDRAM yang dibuat oleh Rambus. DRDRAM digunakan untuk CPU dari Intel yang berkecepatan tinggi. Pemindahan data sama seperti DDR SDRAM tetapi mempunyai dua saluran data untuk meningkatkan kemampuan. Juga dikenali sebagai PC800 yang kerkelajuan 400MHz. Beroperasi dalam bentuk 16 bit bukan 64 bit. Pada saat ini terdapat DRDRAM berkecepatan 1066MHz yang dikenal dengan RIMM (Rambus inline memory module). DRDRAM model RIMM 4200 32-bit menghantar 4.2gb setiap saat pada kecepatan 1066MHZ.
Jenis-Jenis Memori
Komputer menggunakan beberapa jenis informasi sehingga membutuhkan beberapa jenis memori yang berbeda. Instruksi-instruksi yang mengontrol operasi dari mikrokontroler disimpan dalam memori non-volatile sehingga jika sistem tidak perlu diprogram ulang jika daya sistem hilang. Variabel dan hasil sementara bisa disimpan dalam memori yang dapat ditulis dengan mudah dan cepat saat operasi sedang berlangsung. Tidaklah penting untuk terus mengingat informasi yang ditulis saat tidak ada daya (volatile).
RAM (Random Access Memory) adalah suatu bentuk memori volatile yang dapat dibaca dan ditulis oleh CPU. Seperti definisinya, lokasi RAM dapat diakses dalam berbagai urutan (random). Memori jenis ini adalah yang paling umum digunakan oleh komputer pribadi. RAM membutuhkan area chip yang lebih lebar dibandingkan dengan ROM, sehingga RAM yang diikutsertakan dalam sistem mikrokontroler hanyalah sebagian kecil saja.
ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM adalah memori yang paling sederhana, kecil, dan murah. PROM (Programmable ROM) mirip dengan ROM kecuali bahwa dia dapat diprogram setelah proses pembuatah chip. Beberapa variasi dari PROM adalah EPROM, OTP, dan EEPROM.
EPROM (Erasable PROM) dapat dihapus dengan menyinarinya dengan cahaya ultraviolet. Mikrokontroler yang EPROM-nya bisa dihapus memiliki jendela kecil tempat proses penyinaran dilakukan. Jumlah proses penghapusan yang diijinkan terbatas tergantung pada beberapa tipe. Prosedur khusus digunakan untuk meprogram informasi ke dalam memori EPROM. Kebanyakan mikrokontroler yang memiliki EPROM menggunakan tegangan +12 volt DC saat operasi penulisan EPROM. CPU tidak dapat menulis data ke lokasi EPROM seperti halnya penulisan yang dilakukan pada RAM. Beberapa mikrokontroler memiliki rangkaian penulis EPROM yang built-in. OTP (One Time Programming) adalah EPROM yang tidak dilengkapi dengan jendela untuk penyinaran ultraviolet. Walaupun isi dari OTP adalah sama dengan EPROM yang memiliki jendela penghapusan, OTP tidak dapat dihapus karena tidak menyediakan jendela. OTP dipasarkan karena harganya lebih murah daripada EPROM yang berjendela. EEPROM (Electrically EPROM) dapat dihapus secara elektris dengan perintah yang ada dalam mikrokontroler. Agar dapat diprogramkan harga baru ke lokasi memori ini, pertama proses penghapusan harus dilakukan kemudian baru dilaksanakan beberapa langkah pemrograman. Walaupun mirip dengan RAM, tetapi EEPROM tetap memiliki sifat non-volatile dari ROM yang tidak hilang datanya walaupun daya hilang.
I/O Sebagai Tipe Memori
Informasi status dan kontrol dari I/O adalah suatu tipe dari lokasi memori yang mengijinkan sistem komputer untuk mendapatkan informasi dari dan ke dunia luar. Tipe lokasi memori ini tidak seperti memori pada umumnya karena informasi yang ada dapat berubah karena pengaruh selain dari CPU. Jenis paling sederhana dari lokasi memori I/O adalah port input dan port output sederhana. Dalam mikrokontroler 8-bit, port input sederhana terdiri dari delapan kaki yang dapat dibaca oleh CPU. Port output sederhana terdiri dari delapan kaki yang dapat dikontrol oleh CPU. Dalam kenyataannya, port output sederhana diimplementasikan dengan delapan latch dan jalur feedback yang memungkinkan CPU untuk membaca kembali apa yang sebelumnya ditulis ke port output.
Gambar di bawah memperlihatkan rangkaian ekuivalen dari satu bit RAM, satu bit port input, dan satu bit port output yang umum dan memiliki kemampuan membaca kembali. Dalam mikrokontroler nyata, rangkaian ini ada delapan untuk membentuk delapan bit RAM, port input, dan port output. Saat snyal clock high, data dari input D menuju output Q. Saat input clock low, data ditahan pada kaki output Q.
Saat CPU menyimpan informasi ke dalam RAM dalam gambar (a), sinyal WRITE diaktifkan untuk menahan data dari jalur data bus ke dalam flip-flop [1]. Latch ini akan terus mengingat data yang telah diberikan sampai terjadi proses penulisan kembali atau jika daya dihilangkan. Saat CPU membaca data dalam RAM ini, sinyal READ diaktifkan, yang kemudian mengaktifkan multiplekser [2]. Multiplekser ini membuat data dari output latch muncul kembali ke jalur data bus.
Saat CPU membaca data dari port input seperti pada gambar (b), sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [3]. Multiplekser ini akan mengirimkan data yang ada dalam buffer ke jalur data bus. Sinyal write tidak mempunyai pengaruh dalam rangkaian ini.
Saat CPU menyimpan data ke port output seperti pada gambar (c), sinyal WRITE diaktifkan untuk menahan data dari data bus menuju ke flip-flop [4]. Output dari latch ini, yang di-buffer oleh buffer driver [5], muncul sebagai harga digital pada kaki output. Saat CPU akan membaca data dari port output, sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [6]. Multiplekser ini akan menyalurkan data dari output flip-flop ke jalur data bus.
Register Kontrol dan Status Internal
Register kontrol dan status internal adalah lokasi memori I/O yang spesial. Di samping aksi sensor dan pengontrolan kaki eksternal, register ini juga melakukan aksi sensor dan pengontrolan sinyal level logika internal. Lihat gambar dan bandingkan antara RAM dengan port output. Perbedaan yang tampak hanyalah bahwa port output memiliki buffer untuk menghubungkan state dari flip-flop ke kaki eksternal. Dalam kasus bit kontrol internal, output dari buffer terhubung dengan sinyal kontrol internal tertentu. Suatu bit status internal mirip dengan bit port input tetapi bit status ini hanya melakukan aksi sensor terhadap sinyal register internal.
Mikrokontroler M68HC05 memiliki kaki-kaki I/O paralel. Arah jalur dari setiap kaki dapat diprogram dengan bit kontrol melalui software. Gambar di bawah menggambarkan I/O dua arah (bi-directional) dengan latch output dan bit kontrol arah data. Kaki suatu port dikonfigurasi sebagai output jika bit DDR (Data Direction Register) yang bersesuaian diset menjadi logika satu. Suatu kaki dikonfigurasi sebagai input jika bit DDR yang bersesuaian diset menjadi logika nol. Saat pertama kali dihidupkan atau saat reset, semua bit DDR dinolkan, sehingga konfigurasi semua kaki port adalah sebagai input. DDR ini dapat ditulis dan dibaca oleh prosesor.
Peta Memori
Karena terdapat ribuan dan bahkan lebih lokasi memori dalam suatu sistem mikrokontroler, menjadi penting untuk memiliki cara yang enak untuk menangani alamat masing-masing data dalam memori. Suatu peta memori adalah penggambaran yang mewakili semua spasi dalam memori mikrokontroler. Gambar di bawah adalah peta memori umum yang menggambarkan memori dalam MC68HC705K1.
Empat digit heksadesimal yang terletak pada bagian kiri dari gambar di bawah adalah alamat yang dimulai pada $0000 di atas dan terus bertambahsampai $03F di bagian bawah. Alamat $0000 berhubungan dengan awal lokasi memori sedangkan alamat $03FF berhubungan dengan lokasi memori akhir. Sedangkan ketrangan dalam kotak menunjukkan macam tipe dari memori dan isinya (RAM, EPROM, register I/O, dan sebagainya). Beberapa daerah, seperti register I/O, perlu dijelaskan lebih detail karena penting untuk mengetahui nama dari setiap lokasi. Setiap lokasi memori sebanyak 1024 ini memiliki delapan bit data seperti pada gambar di bawah.
Lokasi memori 256 pertama ($0000-$00FF) dapat diakses oleh komputer dengan cara khusus yang sebut dengan mode pengalamatan langsung (direct addressing mode). Register I/O on-chip dan 32 byte RAM terletak dalam area $0000-$00FF. Dalam peta memori pada gambar di bawah terlihat konfigurasi penempatan pada area ini yang dipaparkan dalam kotak yang terletak di sebelah kanan.