Saat ini istilah memori digunakan untuk menggambarkan ruang penyimpanan data yang datang ke dalam chip komputer, dan kata penyimpanan itu sendiri digunakan untuk menggambarkan memori yang ada di dalam disk. Selain itu, terkadang istilah memori biasanya digunakan pula sebagai perangkat memori external atau perangkat memori yang bisa dibawa kemana-mana. Beberapa komputer saat ini juga menggunakan memori virtual, yang memiliki daya yang besar pada sebuah hardisk. Setiap komputer saat ini telah dilengkapi dengan memori, dan biasanya memori tersebut dinamakan memori utama atau disebut dengan RAM. Di dalam sebuah komputer memori utama ditempatkan dalam bentuk deretan kotak metal. Setiap Komputer dapat menampung informasi dalam bentuk byte. Komputer yang telah memiliki 1 megabyte memori dapat menampung lebih dari satu juga bytes informasi atau character.
RAM (Random Acces Memory) Adalah salah satu memory didalam komputer yang bersifat sementara(apabila komputer dimatikan maka semua intruksi maupun data yang ada di memory akan hilang) yang digunakan untuk menampung instruksi atau program, untuk memproses data-data yang telah diproses dan menunggu untuk dikirim ke output device, secondary storage atau juga communication device.Sebagai contoh di dalam task manager di bagian processes ada memory usage nah program2 itu disimpan sementara di dalam ram.
Memori adalah istilah generik bagi tempat penyimpanan data dalam komputer. Beberapa jenis memori yang banyak digunakan adalah sebagai berikut:
• Register prosesor
• RAM atau Random Access Memory
• Cache Memory (SRAM) (Static RAM)
• Memori fisik (DRAM) (Dynamic RAM)
• Perangkat penyimpanan berbasis disk magnetis
• Perangkat penyimpanan berbasis disk optik
• Memori yang hanya dapat dibaca atau ROM (Read Only Memory)
• Flash Memory
• Punched Card (kuno)
• CD atau Compact Disk
• DVD

Dalam pembicaraan mengenai arsitektur komputer seperti arsitektur von Neumann, misalnya, kapasitas dan kecepatan memori dibedakan dengan menggunakan hierarki memori. Hierarki ini disusun dari jenis memori yang paling cepat hingga yang paling lambat; disusun dari yang paling kecil kapasitasnya hingga paling besar kapasitasnya; dan diurutkan dari harga tiap bit memori-nya mulai dari yang paling tinggi (mahal) hingga yang paling rendah (murah).

1.1. MEMORI RAM SEMIKONDUKTOR
Memori semikonduktor tersedia dalam rentang kecepatan yang luas. Waktu
siklusnya berada pada rentang 100ns hingga kurang dari 10ns. Pada saat
diperkenalkan pertama kali pada akhir tahun 1960­an, memori tersebut lebih mahal daripada memori inti magnetik. Karena perkembangan teknologi VLSI (Very Large Scale Integration) yang sangat cepat, biaya memori semikonduktor telah menurun secara drastis. Akibatnya, teknologi tersebut sekarang digunakan secara eksklusif dalam menerapkan memori.

1.2. CACHE MEMORY
Cache memory adalah memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal dibanding memori utama. Cache memori terletak diantara memori utama dan register CPU, dan berfungsi agar CPU tidak langsung mengacu ke memori utama tetapi di cache memori yang kecepatan aksesnya lebih tinggi. Metode ini akan meningkatkan kinerja system. Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Untuk meningkatkan kinerja, saat ini cache ditanamkan di prosesor. Kecepatan memori utama sangat rendah dibandingkan kecepatan prosessor modern. Untuk performa yang baik, prosessor tidak dapat membuang waktunya dengan menunggu untuk mengakses instruksi dan data pada memori utama. Karenanya sangat penting untuk memikirkan suatu skema yang mengurangi waktu dalam mengakses informasi. Karena kecepatan memori utama dibatasi oleh batasan elektronik dan packaging, maka solusinya harus dicari pada sistem arsitektur yangberbeda. Solusi yang efisien adalah menggunakan memori cache cepat yang sebenarnya membuat memori utama tampak lebih cepat bagi prosesor daripada sebenarnya.

Keefektifan mekanisme cache didasarkan pada properti program computer yang disebut locality of reference. Analisa program menunjukkan bahwa sebagian besar waktu eksekusinya digunakan sebagai routine dimana banyak instruksi dieksekusi secara berulangkali. Instruksi tersebut dapat merupakan loop sederhana, nested loop, atau beberapa prosedur yang berulang kali saling memanggil. Pola detail aktual dari rangkaian instruksi tidaklah penting – yang utama adalah banyak instruksi dalam area program yang terlokalisasi dieksekusi berulangkali selama beberapa periode, dan bagian program yang lain relatif jarang diakses. Disebut locality of reference. Hal ini memanifestasikan dirinya dalam dua cara: temporal dan spasial. Yang pertama berarti bahwa instruksi yang baru dieksekusi tampaknya akan dieksekusi lagi dengan segera. Aspek spasial berarti instruksi yang dekat dengan instruksi yang baru saja dieksekusi (dengan mengacu pada alamat instruksi) tampaknya juga akan dieksekusi dengan segera. Jika segmen program aktif dapat diletakkan dalam memori cache dengan cepat, maka waktu eksekusi total dapat direduksi secara signifikan.
Secara konseptual, operasi memori cache sangat sederhana. Sirkuit kontrol memori didesain untuk memanfaatkan properti locality of reference. Aspek temporal locality of reference menyatakan bahwa kapanpun suatu item informasi (instruksi atau data) pertama kali diperlukan, maka item tersebut sebaiknya dibawa kedalam cache dimana item tersebut akan tetap tinggal hingga diperlukan lagi. Aspek spasial menyatakan daripada mengambil hanya satu item dari memori utama ke cache, akan berguna untuk mengambil juga beberapa item yang terletak pada alamat yang berdekatan. Digunakan istilah blok untuk mengacu pada set lokasi alamat beberapa ukuran yang berdekatan. Istilah lain yang sering digunakan untuk mengacu pada blok cache adalah jalur cache. Perhatikan pengaturan sederhana pada gambar berikut. Pada saat request Read diterima dari prosessor, isi blok word memori yang berisi lokasi tertentu ditransfer ke cache satu word tiap satu waktu. Selanjutnya, pada saat program mengacu pada suatu lokasi pada blok ini, maka isi yang dimaksud dibaca langsung dari cache. Biasanya, memori cache dapat menyimpan sejumlah blok pada tiap waktu tertentu, tetapi jumlah ini kecil dibandingkan dengan jumlah total blok dalam memori utama. Hubungan antara blok memori utama dan yang ada di dalam cache ditentukan dengan fungsi mapping. Pada saat cache penuh dan word memori (instruksi atau data) yang tidak berada di dalam cache direferensi, hardware control cache harus memutuskan blok mana yang harus dihapus untuk menghasilkan ruang bagi blok baru yang berisi word tereferensi.
Kumpulan aturan untuk menentukan keputusan tersebut merupakan algoritma pergantian (replacement algorithm). Prosessor tidak perlu tahu pasti tentang keberadaan cache tersebut. Prosessor cukup hanya mengeluarkan request Read dan Write menggunakan alamat yang mengacu ke lokasi dalam memori. Sirkuit kontrol cache menentukan apakah word yang diminta saat ini berada dalam cache. Jika ya, operasi Read atau Write dilakukan pada lokasi cache yang sesuai. Dalam hal ini, dinyatakan telah terjadi Read atau Write hit. Pada operasi Read, memori utama tidak terlibat. Untuk operasi Write, system dapat berjalan dengan dua cara. Pada teknik pertama, yang disebut protokol writethrough, lokasi cache dan lokasi memori utama diupdate secara bersamaan. Teknik kedua adalah hanya mengupdate lokasi cache dan menandainya sebagai terupdate dengan bit flag yang sesuai, sering disebut bit dirty atau modified. Lokasi memori word diupdate kemudian, pada saat blok yang berisi word bertanda ini dipindahkan dari cache untuk memberi ruang baru bagi blok baru. Teknik ini disebut protocol write back, atau copy back. Protokol write through lebih sederhana, tetapi menghasilkan operasi Write yang tidak perlu dalam memori utama pada saat word cache tertentu diupdate beberapa kali selama cache recidencynya. Perhatikan bahwa protokol write back dapat pula menghasilkan operasi Write yang tidak perlu karena pada saat blok cache dituliskan kembali ke memori maka semua word pada blok dituliskan kembali, bahkan jika hanya word tunggal yang diubah pada saat blok berada di dalam cache. Pada saat word yang dituju dalam operasi Read tidak berada di dalam cache, terjadi Read miss. Blok word yang berisi word yang diminta dicopy dari memori utama ke dalam cache. Setelah seluruh blok diload ke dalam cache, maka word yang diminta diteruskan ke prosessor. Kemungkinan lain, word ini dapat dikirim ke prosessor segera setelah dibaca dari memori utama. Pendekatan yang terakhir, yang disebut load through, atau early restart, mengurangi periode tunggu prosessor, tetapi menghasilkan sirkuit yang lebih kompleks. Selama operasi Write, jika word yang dituju tidak berada di dalam cache, maka terjadi write miss. Kemudian, jika protokol write through digunakan, maka informasi tersebut ditulis ke langsung ke memori utama. Dalam protokol write back, blok yang berisi word yang dituju mulamula dibawa ke dalam cache, dan kemudian word di dalam cache yang dimaksud di overwrite dengan informasi baru.

1.3. MEMORI EXTENSI

Tambahan memori yang digunakan untuk membantu prosesproses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini member gambaran kasar kemampuan dari perangkat tersebut, sebagai contohmisalnya jumlah memori VGA, memori soundcard.

1.4. ROM (Read Only Memory)

Chip SRAM dan DRAM volatile, artinya chip tersebut kehilangan informasi yang disimpannya jika daya dioff. Terdapat banyak aplikasi yangmemerlukan perangkat memori yang mempertahankan informasi tersimpan jika daya dioff. Misalnya dalam komputer biasa driveharddisk digunakan untuk menyimpan sejumlah besar informasi, termasuk software sistem operasi. Pada saat komputer dion, software sistem operasi harus diload dari disk ke dalam memori. Hal ini memerlukan eksekusi program yang ”boot” sistem operasi. Karena program boot cukup besar, sebagian besar disimpan dalam disk. Prosessor harus mengeksekusi beberapa instruksi yang meload program boot ke dalam memori. Jika seluruh memori hanya terdiri dari chip memori volatile, maka prosessor tidak akan memiliki sarana untuk mengakses instruksi tersebut. Solusi praktisnya adalah dengan menyediakan sejumlah kecil memori non volatile yang menyimpan instruksi yang eksekusinya menghasilkan loading program boot dari disk. Memori non volatile digunakan secara luas dalam sistem embedded. Sistem semacam ini biasanya tidak menggunakan perangkat penyimpanan disk. Programnya disimpan dalam perangkat memori semikonduktor non volatile. Tipe memori non volatile yang berbeda telah dikembangkan. Umumnya, isi memori semacam itu dapat dibaca seakan sebagai memori SRAM atau DRAM. Tetapi proses penulisan khusus diperlukan untuk meletakkan informasi tersebut dalam memori ini. Karena operasi normalnya melibatkan hanya pembacaan data yang tersimpan, maka memori tipe ini disebut readonly memory. Data ditulis ke dalam ROM pada saat fabrikasi. Beberapa desain ROM memungkinkan data diload oleh user, sehingga menghasilkan programmable ROM (PROM). PROM menyediakan fleksibilitas dan kemudahan yang tidak dimiliki ROM. Yang terakhir lebih menarik secara ekonomi untuk menyimpan program dan data tetap pada saat ROM volume tinggi diproduksi. Akan tetapi, biaya untuk mempersiapkan mask yang diperlukan untuk menyimpan pola informasi tertentu dalam ROM menjadikannya sangat mahal pada saat hanya sejumlah kecil yang diperlukan. Dalam hal ini, PROM menyediakan pendekatan yang lebih cepat dan lebih murah karena dapat diprogram langsung oleh user.

1.5. KONFIGURASI SISTEM OPERASI DAN MANAJEMEN MEMORI

Antara manajemen memori dan konfigurasi system operasi merupakan dua hal yang tidak bisa dipisahkan. Pada dasarnya pengkonfigurasian system operasi adalah mengatur pemanfaatan memori komputer yang ada. Dalam pengkonfigurasian system operasi dikenal dua bentuk memori yaitu:
1. Physical memory

2. Virtual memori Phisycal memory adalah memori yang terdapat pada komputer secara fisik, yaitu berbentuk modul memori (RAM). Memori ini digunakan untuk mengolah data. Instruksi dan data yang akan ditampilkam ke layar monitor. Sedangkan virtual memori merupakan memori bayangan karena secara fisik memori ini tidak ada di mainboard komputer. Virtual memori merupakan memori yang dibentuk oleh system operasi dengan memanfaatkan sebagian kapasitas Hard Disk Drive. Virtual memory dibuat oleh system operasi sesuai kebutuhan akan memori yang diperlukan oleh program aplikasi. Selanjutnya sistem operasi akan mengatur proses swapping data dan instruksi antara virtual memori dengan physical memori. Dalam proses multitasking ini keseluruhan memori (physical memori) akan digunakan untuk menjalankan program secara bersamaan. Jika memori tersebut kurang maka beberapa bagian kapasitas hard disk drive untuk dipergunakan sebagai virtual memory sebesar kekurangan memori yang ada. Gagasan utama dari memori virtual adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori fisik (memori utama) dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori yang tidak diperlukan akan dikeluarkan dari memori fisik (swapout) dan diganti (swapin) oleh bagian disk yang diperlukan itu. Sedangkan untuk physical memory, dalam penggunaannya membutuhkan pengaturan tersendiri. Physical memory akan dibagi menjadi beberapa bagian memori.

1.5.1. Conventional (Base)

Memory Conventional memory adalah 640 KB pertama dari seluruh kapasitas RAM pada komputer. Seluruh system operasi akan secara otomatis menggunakan memori ini sehingga memori ini tidak memerlukan pengaturan khusus. Memori inilah yang digunakan oleh system operasi.

1.5.2. UMA (Upper Memory Area)

UMA adalah memori sebesar 384 KB setelah memori konvensional. UMA digunakan oleh komputer untuk mendukung perangkat keras yang ada, seperti display adapter. Untuk pembagian 384 K upper memori: 128 K yang pertama disebut video ram dengan alamat A0000BFFFF 128 K berikutnya digunakan untuk adapter bios dengan alamat C0000DFFFF 128 K berikutnya digunakan untuk motherboard BIOs yang digunakan untuk POST dan boot strap leaders dengan alamat E0000FFFFF.

1.5.3. Entended Memory (XMS)

Extended memory adalah memori komputer diatas MB. Sistem opersii Windows dan system aplikasi berbasis Windows dan system aplikasi berbasis Windows merupakan system yang membutuhkan memori ini.

1.5.4. High Memory Area (HMA)

HMA adalah 64 KB pertama dari XMS. Pada komputer dengan extended memory, setup system operasi bisa menempatkam system operasi(misalnya dos) pada high memory area. Dengan demikian akan menambah sisa ruang pada memori konvensional.

1.5.5. Expanded Memory (EMS)

Beberapa sistem aplikasi berbasis DOS tidak mampu menggunakan extended memory yang ada. Sistem aplikasi tersebut menggunakan kapasitas memori yang lebih tersebut dalam bentuk expanded memory. Untuk bisa mengakses expanded memory dibutuhkan expanded memory manajer seperti EMM386. Program akan menggunakan expanded memory sebesar 64Kbytes pada satu saat dan mengalamatkanya ke upper memory area yang disebut EMS page frame.

1.6. RANGKUMAN SEJARAH

Sekitar 1990, kemajuan sisitem operasi, seperti windows, muncul pada pasaran, saat itulah dimulainya persaingan RAM. Windows pertama dioperasikan pada PC dengan kapasitas memori yang dapat dialamati sebesar 2 MB, tetapi tidak lama kemudian memori berukuran 4 MB juga dapat dialamati dan kemudian menjadi standart saat itu. Perkembangan ini berlangsung selama tahun 90an, harga RAM pun semakin turun drastis.