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 bab berikutnya.
Gambar 5.1 Hierarki organisasi memori pada sistem komputer
Gambar 5.1 menunjukkan hierarki organisasi memori pada sistem kom- puter secara umum. Pada tingkatan paling atas terdapat register yang secara fisik berada dalam 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 intruksi.
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 prosesor 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 penyimpan yang lebih besar misalnya 512 Mbyte atau 1 GByte.
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,7 GHz 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 perbedaaan kecepatan ini maka digunakan teknik caching untuk memori utama menggunakan memori cache. Memori cache terbagi menjadi L1 cache dan L2 cache dan umumnya berada dalam prosesor. Contoh kapasitas memori cache adalah 256 Kbyte, 512 Kbyte ataupun 2 Mbyte, jauh lebih kecil jika dibandingkan dengan kapasitas 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 di cache memiliki asosiasi dengan data di memori utama. Setiap kali prosesor mengakses intruksi 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 ada di cache maka cache akan diperbaharui secara blok. Mekanisme pembaharuan cache umumnya dilakukan dengan dukungan perangkat keras.
Tingkat paling bawah dari hierarki organisasi memori adalah memori sekunder (secondary memory), umumnya berupa disk, yang penyim panannya bersifat permanen, non-volatile. Kapasitas penyimpanan disk cenderung besar, misalnya 160 GB. Namun kecepatan transfer datanya jauh lebih lambat dibandingkan dengan memori utama.
Memori sekunder menggunakan ruang pada media penyimpan, baik be- rupa 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 dibatasi, 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 bertujuan antara lain untuk meningkatkan kecepatan akses kode instruksi maupun data oleh prosesor, meningkatkan utilitas prosesor dengan me ngurangi waktu menganggur, idle, prosesor, dan memperbesar kapasitas penyimpanan sistem memori komputer.
Secara umum, semakin bawah tingkatannya pada hierarki pengorganisasi an memori maka harga per satuan byte dari memori semakin murah kapasitas penyimpanan per peranti semakin besar, frekuensi pengaksesan semakin kurang dan kecepatan akses (baca dan transfer) semakin lambat
Tidak ada komentar:
Posting Komentar