BAB IV MEMORY KOMPUTER Jika Central Processing Unit (CPU) atau merupakan “otak” dari sebuah komputer, maka memory merupakan komponen pembantu kerja CPU dalam melakukan kegiatan pemrosesan data atau pengeksekusian sebuah perintah. Program-program dan perintah yang akan dieksekusi oleh prosessor, sebelumnya disimpan terlebih dahulu dalam sebuah memori. Beberapa tokoh juga mendefinisikan memori sebagai berikut : Memori merupakan bagian dari komputer tempat berbagai program dan data-data disimpan. (Tanembaum, 2001) Secara umum, memori merupakan workspace (area kerja) dari prosesor komputer. Sedangkan Memori utama dalam sebuah komputer merupakan tempat penyimpanan sementara dimana dibutuhkan oleh prosesor yang akan mengoperasikan program atau data tertentu. (Scott Mueller, 2003)
HIRARKI MEMORI Sebuah sistem komputer memiliki berbagai jenis memori yang memiliki kinerja, kapasitas dan kecepatan berbeda-beda sesuai dengan tingkat hirarkinya. Memori yang memiliki hirarki paling atas, memiliki tingkat kecepatan yang paling tinggi tetapi memiliki tingkat kapasitas (kemampuan penyimpanan data) paling rendah. Sesuai dengan tingkat hirarkinya, memori dalam sebuah komputer dapat dibedakan sebagai berikut : Register Cache Memory (Static RAM) Internal Cache
External Cache Memori Utama (Dynamic RAM) Memory Skunder Magnetic Disk Optical Disk
Elektronis
Mekanis
Magnetic Tape
Register Register merupakan memori dengan hirarki yang paling tinggi. Berada dalam chip sebuah prosesor dan merupakan bagian integral dari prosesor itu sendiri. Register merupakan memori dengan kemampuan proses paling cepat, dimana proses baca dan tulis dilakukan dalam satu siklus detak.
Cache Memory Cache Memory atau dalam bahasa Indonesia disebut memori cashe merupakan memori yang berada pada hirarki kedua setelah register. Cashe memiliki kapasitas kecil tetapi berkecepatan tinggi dan dipasang di antara prosesor dan memori utama. Memori ini dibuat dilatar belakangi oleh adanya perbedaan kecepatan operasi antara prosesor dan memori utama bisa menjadi kendala bagi dicapainya efisiensi kerja sistem komputer. Cashe memori juga disebut dengan nama static RAM. Disebut “static”, karena terbuat dari bahan yang sifatnya statis. Penggunaan bahan statis menyebabkan memori cashe dapat melakukan proses dengan sangat cepat, tetapi harganya mahal. Disamping itu
bahan statis merupakan bahan yang cepat panas sehingga tidak tepat jika digunakan dalam jumlah besar. Ditinjau dari lokasi pemasangannya, memori cashe terdiri dari dua jenis yaitu : Internal Cache (on-chip). Merupakan memori cashe yang dipasang langsung dalam sebuah prosesor. Kapasitas umumnya sekitar 8 KB. Waktu yang diperlukan untuk mengakses data adalah beberapa siklus detak. External Cache (Memori Cashe level kedua). Memori ini memiliki kapasitasnya lebih besar dari Internal Cache dan ditempatkan di luar chip prosesor.
Memori Utama Jika memori cashe merupakan memori yang terbuat dari bahan statis, maka memori utama dibuat dari bahan yang bersifat dinamis sehingga juga disebut sebagai dynamic RAM. Bahan yang bersifat dinamic merupakan kebalikan dari bahan yang bersifat static. Harganya lebih murah, tidak cepat panas, tetapi proses yang dilakukannya tidak secepat memori statis. Orang mengenal memory utama dengan hanya menyebutnya sebagai RAM (Random Access Memory). Memori ini disebut sebagai memori utama, karena memori ini langsung berhubungan dengan prosesor dalam menyediakan program dan data yang dibutuhkannya. Memori utama menghubungkan prosesor dengan memori sekunder untuk dapat melakukan tugas pengolahan data dengan baik.
Memori Sekunder Memori ini disebut secondary memory karena menyediakan media penyimpanan sekunder dalam jangka waktu lama untuk program dan data yang kadang-kadang dibutuhkan, tetapi tidak secara aktif. Biasanya terdiri dari unit disk yang terhubung secara elektronik ke sistem. Operasi I/O dibutuhkan disini untuk mengakses informasi yang tersimpan dalam memori sekunder ini. Contoh memori sekunder adalah hard disk, floppy disk, optical disk, dan lain sebagainya.
Gambar 4.1. Hubungan harga dan waktu akses memory (Rudi Hartanto, 2004)
Gambar di atas menunjukkan hubungan antara harga dengan waktu akses beberapa jenis memori yang sudah dibahas di muka. Sumbu X menunjukkan perbandingan harga per byte memori dalam rupiah, sedangkan sumbu Y menunjukkan waktu akses satu unti informasi dalam sebuah memori. Dari grafik tersebut terlihat bahwa register memiliki waktu akses yang paling cepat dengan harga per byte paling mahal. Sedangkan megnetic tape memiliki waktu akses yang paling lambat dengan harga per byte yang paling murah.
MEMORI UTAMA Memori utama bersifat volatile (sementara) dimana hanya menyipan data dan program selama komputer hidup (memiliki power/daya listrik).
Pada saat komputer bekerja, memori utama (RAM) mengambil data dan program dari memori sekunder (Hardisk, Floppy, dll) untuk diolah. Data dan program yang diambil tersebut adalah data dan program copy-an. Sementara data dan program copy-an diolah, data dan program yang asli masih tetap utuh dalam memori sekunder. CPU mengeksekusi data dan program dari RAM dan menyimpan hasil pengolahannya juga pada RAM. Jika ingin menyimpan hasil pengolahan secara permanen, maka perubahan data dan program tersebut harus dikirim kembali ke memori sekunder (save file to disk). Pada saat proses shutdown atau reset, semua data yang telah diubah ketika proses pengolahan harus disimpan pada tempat penyimpanan permanen (memori skunder) sehingga di masa mendatang dapat digunakan lagi. Ketika komputer mati secara tiba-tiba, yang mungkin disebabkan mati lampu, maka apapun yang disimpan dalam memori utama akan hilang (karena sifatnya yang volatile). Sehingga penting bagi operator untuk menyipan secara periodik pekerjaannya ketika komputer sedang aktif untuk menghindari hilangnya data secara mendadak tersebut.
SATUAN DAN PENGALAMATAN MEMORY Informasi digital dapat disimpan dengan membedakan nilai-nilai tertentu seperti voltase atau arus. Hal ini tentu berbeda dengan ukuran-ukuran kuantitas fisik suatu perangkat.
Gambar 4.2. Format tipe primary memory word
Bit adalah satuan pokok dari memori yang dapat berisi hanya sebuah angka “0” atau “1”. Bit berkumpul membentuk Byte (8 bit sama dengan 1 Byte). Sedangkan byte berkumpul membentuk Word. Sebagai contoh, sebuah komputer dengan word 32 bit, berarti memiliki 4 byte/word. Demikian juga sebuah komputer dengan word 64 bit, berarti memiliki 8 byte/word. Jumlah bit yang dapat diakses dalam satu siklus memory disebut sebagai memory width atau memory word length. Pada komputer modern, memory word biasanya berupa angka integer dengan panjang dalam byte.
Memory Address Memory terdiri dari sejumlah “Cell” yang dapat menyimpan sepotong informasi. Setiap cell menyimpan sebuah angka yang disebut “alamat”. Jika sebuah memory memiliki “n” cell, maka memory tersebut akan memiliki alamat 0 sampai dengan n-1.
Gambar 4.2. Contoh Mengorganisasikan Memori 96 Bit dengan pengalamatan 16 bit
Ada beberapa jenis metode pengalamatan dalam sebuah komputer seperti misalnya pengalamatan 8 bit, 12 bit, 16 bit dan lain-lain. Tabel di bawah ini menunjukkan jumlah bit-bit per cell untuk beberapa komputer terkenal : Komputer
Bit/cell
Burroughs B1700
1
IBM PC
8
DEC PDP 8
12
IBM 1130
16
XDS 940
24
Electrologika X8
27
CDC 3600
48
CDC Cyber
60
Pengaturan Byte dalam Memory Secara umum, terdapat dua cara pengaturan Byte dalam sebuah memori. Dua cara tersebut adalah big endian dan litle endian. Big Endian merupakan sistem penomoran memory komputer yang dimulai dari ujung terbesar ke ujung terkecil.
Sedangkan Little Endian merupakan sistem penomoran memory komputer yang dimulai dari ujung terkecil ke ujung terbesar.
STRUKTUR MEMORI UTAMA Berikut adalah struktur antara CPU, dalam kaitannya dengan Chace dan memori utama.
Gambar 4.3. Struktur Memori
Pada gambar di atas, terlihat bahwa di dalam memori utama terdapat beberapa unit penting yaitu : MDR (Memory Data register), merupakan unit yang digunakan untuk menampung data yang dipilih dan untuk diteruskan ke Prosesor. MAR (Memory Address Register), merupakan unit yang digunakan untuk menampung alamat memori yang dikirim dari Prosesor. Pemilih Fungsi Read/Write, merupakan unit yang memberikan perintah input (write) dan output (read) kepada elemen memori lainnya. Berikut adalah urutan langkah pembacaan data di dalam Memori Utama : 1. Program Counter di dalam Prosesor mengirimkan alamat ke Memori Utama. 2. Alamat data yang dikirim dari Program Counter Processor tersebut, pada memori utama diterima oleh MAR (Memory Address Register). 3. Setelah alamat data berada di dalam MAR, selanjutnya ditranslasikan ke dalam isyarat pilih yang akan meng-enable elemen memori yang diinginkan. Penerjemahan dilakukan dengan menggunakan rangkaian dekoder seperti pada gambar di bawah ini.
Gambar 4.4. Untai Dekoder 3 X 8
4.
Alamat pada MAR akan mengenable salah satu jalur pilih vertikal yang selanjutnya akan mengenable pula masing-masing posisi bit di dalam lokasi memori yang terpilih. Setelah alamat yang diinginakn dicari dan ditemukan di dalam Memori Utama, selanjutnya data atau program yang ada di dalamnya dikopi ke dalam MDR (Memory Data Register).
5.
Data atau program yang telah ditemukan tersebut dikirim ke prosesor melalui MDR.