Memori pada komputer terbagi menjadi 2 (dua) bagian :
- Primary Memory
Memori primer adalah memori yang mutlak harus dipenuhi untuk keberlangsungan sistem komputer. Tanpanya, komputer hanya seonggok perangkat elektronik yang tidak mampu bekerja sesuai tugas dan fungsi yang ditujukan kepadanya.
Memori primer ini mahal harganya, ukurannya juga tidak terlalu besar, namun memiliki kecepatan tinggi dalam aksesnya. Termasuk dalam memori primer adalah Register dan RAM (Random Access Memory).
Primary Memory bersifat volatile, artinya membutuhkan arus listrik menetap untuk mengelola data. Kehilangan arus listrik pada jenis memori ini akan membuatnya tidak dapat bekerja. - Secondary Memory
Secondary Memory lebih banyak mengarah pada penyimpanan data. Jika Primary Memory mengarah sebagai sebuah sarana untuk mengolah data, sedangkan secondary memory mengarah kepada storage device (media penyimpanan).
Disket, CD/DVD, HardDisk, Flash Disk adalah bentuk dari secondary memory. Selain itu virtual disk, swap memory juga termasuk didalamnya.
Pada sisi kecepatan, jelas secondary memory lebih lambat dibandingkan primary memory. Dari sisi harga juga lebih murah. Harga harddisk 80 GB masih lebih murah dibandingkan harga 4 GB RAM.
Secondary Memory bersifat Non-Volatile, yaitu tidak membutuhkan arus listrik menetap untuk mengelola data.
Register
Register adalah komponen primary memory yang sangat-sangat penting. Letaknya pada processor, fungsinya sebagai tempat penyimpanan sementara (temporary storage) dimana data dapat disimpan sementara pada saat proses pengolahan terjadi pada processor. Semua data nantinya harus berupa register terlebih dahulu sebelum diolah processor.
Gambar 1. Register pada Processor
(courtesy of http://pctechguide.com)
Sebagai contoh adalah proses penjumlahan. Dua bilangan atau lebih yang akan dijumlahkan harus diletakkan pada register terlebih dahulu, setelah itu dijumlahkan, hasil penjumlahan juga terletak pada register. Oleh karena itu register dapat juga disebut sebagai storage area (area penyimpanan) pada processor.
Register terletak pada processor, oleh karena itu kecepatannya sangat tinggi sekali. Register ini mengalami penambahan seiring dengan operasional processor yang didukungnya.
Sebagai contoh Processor Intel 8086 sampai dengan Intel 80286 yang hanya mampu beroperasi pada mode 16 bit, memiliki jumlah register lebih sedikit, dibandingkan processor Intel 80386 sampai dengan Intel Pentium 4 yang mampu bekerja pada mode 32 bit. Pada Core Duo, jumlah register juga ditambah, seiring dengan mode operasional 64 bit.
Register lama tidak pernah dihilangkan pada processor jenis terbaru, namun ditambah. Kondisi ini untuk menjaga kompatibilitas dengan aplikasi sebelumnya. Sekarang terjawab bukan? Mengapa aplikasi yang dulu dibuat dari komputer Intel 80386 masih dapat dijalankan pada komputer dengan processor Intel Core 2 Duo ?
Gambar 2. Register as is in Processor
(courtesy of http://schoolnet.gove.mt)
Register dapat berupa data atau alamat yang terdapat pada lokasi lain pada RAM. Jadi sifat register tersebut sebagai pointer (penunjuk) yang berupa alamat tertentu yang ditujukan untuk diproses.
Terdapat 11 (sebelas) kategori Register yang terdapat pada sistem komputer :
(courtesy of http://en.wikipedia.org/processor_register)
- User Accessible Registers, adalah kumpulan Register yang dapat diakses oleh user;
- Data Registers, adalah register yang berisi data Integer dan Float;
- Address Registers, merupakan kumpulan dari register yang berisi alamat-alamat untuk mengakses data;
- Conditional Registers bersifat Read-Only, berisi data yang bersifat nilai-nilai kebenaran (truth values), data-data bertipe boolean menjadi gambaran isi dari register ini;
- General Purpose Registers, merupakan kumpulan register yang penggunaannya sering atau pada umumnya (general) digunakan (purpose) untuk beroperasi;
- Floating Point Registers terdapat pada mikroprosessor lama sebelum Intel 8088, digunakan untuk menyimpan data bertipe desimal (float);
- Constant Registers berisi nilai-nilai konstan, seperti 0, 1 dan Pi (3.14)
- Vector Registers terdapat pada supercomputer atau mainframe untuk membantu pemrosesan secara vector (vector processing). Penjelasan lanjutan tentang vector processing pada materi lain.
- Special Purpose Registers adalah kumpulan register yang digunakan untuk kebutuhan-kebutuhan khusus (special) misalnya program counter, stack pointer dan status pointer.
- Model Specific Registers berisi data-data yang menunjukkan setting dari komputer itu sendiri.
- Control and Status Registers merupakan kumpulan dari register yang berisi kendali dari urutan susunan aplikasi seperti pada program counter. Selain itu juga register instruksi dan program status word (PSW) termasuk jenis register ini.
Keunggulan, kemampuan dan kecepatan CPU juga dipengaruhi oleh register. CPU 32 bit dapat diartikan memiliki register selebar 32 bit (4 Byte), oleh karena itu CPU tersebut dapat mengelola data selebar 32 bit. Dapat kita bandingkan dengan CPU 16 bit bukan ? berarti data selebar 32 bit akan melalui 2 kali proses pada CPU 16 bit, demikian juga untuk CPU 64 bit sekelas Dual Core, karena akan memproses data selebar 64 bit dalam satu kali proses, sedangkan CPU 32 bit harus melalui fetching data sebanyak 2 kali untuk menyelesaikannya.
Perpindahan atau penggantian register sifatnya sangat transparan dari user maupun programmer. Hanya dengan menggunakan pemrograman Assembly saja Register dapat dimanipulasi.
Tipe Memori
Pada sistem komputer kita, terdapat beberapa tipe memori yang ada, yaitu :
- RAM (Random Access memory), terdiri dari :
a. Read Write Memory (RWM)
b. Read Only Memory (ROM) - Content Addressable Memory (CAM) atau Associative Memory (AM)
- Sequential Access Memory (SAM)
- Direct Access Memory (DAM)
Primary Memori pada komputer adalah RAM, sedangkan CAM digunakan untuk estimasi pencarian dan penggolongan data agar lebih cepat/lebih baik. SAM dan DAM terdapat pada Secondary Memory.
Random Access Memory (RAM)
Pada memori jenis ini dimanapun lokasi yang memiliki alamat pada memori dapat diakses secara random. Proses pembacaan dan penulisan pada jenis memori ini memiliki waktu yang sama, dimanapun lokasi memori tersebut berada dan seberapa besarpun ukuran memori yang dimiliki oleh komputer.
Read Write Memory (RWM) adalah jenis RAM yang memiliki kelebihan dapat ditulis dan dibaca. Setiap lokasi memory pada RWM memiliki “alamat” yang menunjukkan posisinya. Data yang dimasukkan dan dibaca dari memori menggunakan “alamat” yang ditentukan tersebut.
Jika pada layar komputer kita mengenal pixel yang tersebar dengan penentuan lokasi baris (row) dan kolom (column), sedangkan pada RAM dikenal segment dan offset. Segment mewakili baris, sedangkan offset mewakili kolom.
Sebagai contoh biasanya pesan error “Error in 000211H:21AAFBH”, yang berarti kesalahan terjadi pada alokasi memori dengan baris (segment) “000211″ Hex dan kolom (offset) “21AAFB” Hex.
Untuk operasionalnya tipe memori berupa RAM dan berjenis RWM ini membutuhkan :
- MAR (Memory Address Register), berisi alamat dari lokasi memori yang akan diakses, baik yang akan dibaca maupun ditulis.
- MBR (Memory Buffer Register), berupa buffer/tempat penampung hasil proses baca atau tulis.
Gambar 3. Skema RWM
(courtesy of Computer Design and Architecture by Sajjan G.Shiva)
Pada saat penulisan, Read Signal akan berisi “1″, MAR akan berisi alamat memori yang akan dibaca, proses pembacaan berlangsung dan hasil pembacaan disimpan pada MBR.
Demikian juga sebaliknya, jika Write Signal berisi “1″, MAR akan berisi alamat yang ditulis, data pada MBR akan dituliskan pada memori.
Pada kenyataannya MAR dan MBR ini tidak berupa fisik, melainkan register yang terdapat pada processor yang bersikap sebagai MAR untuk menyimpan alamat data dan bersifat sebagai MBR jika memang berisi data yang akan ditulis atau dibaca tersebut.
Read Only Memory (ROM) juga merupakan salah satu tipe dari RAM yang memang memiliki sifat pengaksesan data secara acak (random), namun memori jenis ini tidak dapat dengan mudah ditulis dengan cara biasa.
Tidak ada komentar:
Posting Komentar