Memori merupakan tempat menampung data dan kode instruksi program. Kode instruksi program akan dibaca dari memori ke register prosesor untuk dieksekusi baris demi baris. Manajemen memori berkaitan dengan aktivitas pengelolaan penggunaan memori pada saat komputer aktif dan menjalankan proses-proses. Pada saat komputer dimatikan, kode instruksi program dan data yang telah diolah juga butuh disimpan secara permanen agar dapat digunakan pada kesempatan lain. Namun pengelolaan memori permanen ini dilakukan oleh manajemen berkas yang akan dibahas pada materi berikutnya.

Hierarki Organisasi Memori Pada Sistem Komputer

Pada gambar diatas menunjukkan hierarki organisasi memori pada sistem komputer secara umum. Pada Tingkatan paling atas terdapat register yang secara fisik berada pada chip prosesor. Contoh memori register adalah register IR (Instruction Register) yang digunakan untuk menampung kode instruksi yang akan dieksekusi oleh prosesor, register AX,BX,CX,DX dan register lainnya untuk menampung data dan informasi status eksekusi kode instruksi.

Kapasitas penyimpanan register umumnya sangat terbatas agar ukuran chip prosesor tetap kecil. Alasan lainnya adalah membuat kapasitas penyimpanan register yang besar dan berkecepatan sama dengan clock prosesor akan membuat fabrikasi chip komputer menjadi sangat mahal dan tidak ekonomis. Itu sebabnya dalam organisasi memori komputer terdapat memori utama.

Memori utama umumnya dapat diakses secara random sehingga disebut dengan RAM (Random Access Memory), dan volatile, yaitu jika komputer dimatikan maka datanya juga turut hilang. Memori utama lebih ekonomis dibandingkan register, sehingga dapat diproduksi dengan kapasitas penyimpanan yang lebih besar misalnya 512 Mbyte atau 1GByte.

Namun sayangnya kecepatan transfer data dari memori utama ke prosesor sangat lambat jika dibandingkan dengan kecepatan eksekusi prosesor. Misalnya , spesifikasi komputer seperti Pentium IV 1,7GHz memiliki front bus berkecepatan 400MHz. Ini artinya terdapat selisih kecepatan eksekusi prosesor dan transfer data dari memori ke prosesor sebesar 4 kali. Ini berarti setiap kali terjadi transfer data dari memori utama ke register prosesor, prosesor harus menunggu (idle) sebanyak 4 siklus eksekusi.

Untuk mengatasi perbedaan kecepatan ini maka digunakan tekni caching untuk memori utama menggunakan cache. Memori cache terbagi menjadi L1 cache dan L2 cache dan umumnya berada dalam prosesor. Contoh kapasitas memori cache adalah 256 Kbyte, 512 Kbyte memori utama. Kecepatan transfer dari memori cache ke register lebih cepat dibanding transfer data dari memori utama ke register , yaitu mengikuti kecepatan clock prosesor.

Prinsip kerja caching adalah sebagai salinan bayangan dari data atau kode instruksi di memori utama. Jadi setiap data cache memiliki asosiasi dengan data di memori utama. Setiap kali prosesor mengakses instruksi ataupun data dari memori utama maka prosesor akan memeriksa apakah terdapat salinannya di cache. Kalau ada maka instruksi atau data tersebut akan diambil langsung dari cache tanpa butuh mengakses memori utama. Jika ternyata data tidak di cache maka akan diperbarui secara blok. Mekanisme pembaharuan cache umumnya dilakukan dengan dukungan perangkat keras.

Tingkat paling bawah dari hierarki organisasi memori adalah memori sekunder (secondary memory), umunya berupa disk, yang penyimpanan bersifat permanen, non-volatile. Kapasitas penyimpanan disk cenderung besar, misalnya 160GB. Namun kecepatan transfer datanya jauh lebih lambat dibandingkan dengan memori utama.

Memori sekunder menggunakan ruang pada media penyimpanan, baik berupa suatu file khusus maupun partisi khusus, sebagai perluasan dari memori utama untuk mengatasi kemungkinan terjadinya kekurangan ruang memori utama. Tepatnya, penggunaan memori sekunder dapat meningkatkan jumlah proses yang dapat dijalankan komputer atau dengan kata lain meningkatkan tingkat konkurensi sistem komputer. Teknik pemakaian memori sekunder ini disebut pula teknik memori maya (virtual memory)

Penggunaan kapasitas memori sekunder umumnya diatabasi , misalnya 2 kali ukuran memori utama. Alasan dari pembatasan tersebut adalah pengaksesan ke memori sekunder yang terlalu sering akan menyebabkan penurunan kinerja sistem komputer secara signifikan.

Pengorganisasian memori komputer seperti yang dijelaskan sebelumnya berutujuan atara lain untuk meningkatkan kecepatan akses kode instruksi maupun data oleh prosesor meningkatkan utilitas prosesor dengan mengurangi waktu menganggur, idle , prosesor, dan memperbesar kapasitas penyimpanan sistem memori komputer.

Secara umum , semakin bawah tingkatannya pada hierarki pengorganisasian memori maka harga persatuan byte dari memori semakin murah, kapasitas penyimpanan per peranti semakin besar, frekuensi pengaksesan semakin kurang dan kecepatan akses (baca dan transfer) semakin lambat.