REGISTER : Merupakan simpanan kecil yang memiliki kecepatan tinggi ( 5 sampai 10 kali kecepatan main memory )
• Digunakan untuk menyimpan instruksi dan data yang sedang diproses oleh CPU
( instruksi lain yang menunggu giliran disimpan di main memory )
• Terbagi atas :
1. Instruction Register ( IR ) atau Program Register yang digunakan untuk menyimpan instruksi yang sedang diproses
2. Program Counter ( PC ) atau Control Counter / instruction counter adalah
register yang digunakan untuk menyimpan alamat ( address ) lokasi dari main memory yang berisi instruksi yang sedang diproses.
• Register yang berhubungan dengan data yang sedang diprosesdisebut General Purpose Register yang memiliki kegunaan sebagai Operand Register ( untuk menampung data atau operand yang sedang diolah ) & sebagai Accumulator ( untuk menyimpan hasil dari operasi aritmatika dan logika yang dilakukan ALU ). Sebagai tambahan dari Register, beberapa CPU menggunakan suatu Cache Memory / Scratch-pad Memory / High-speed buffer / Buffer Memory dengan tujuan agar kerja dari CPU lebih efisien dan dapat mengurangi waktu yang terbuang.
Cache memory harus lebih cepat dari main memory dan mempunyai ukuran yang cukup
besar, tetapi tidak sebesar main memory. Sebenarnya cache memory tidak diperlukan
bilamana main memory dibuat secepat cache memory, tetapi cara demikian tidaklah
ekonomis. Dengan cache memory, sejumlah blok informasi di main memory dipindahkan
ke cache memory dan selanjutnya CPU akan berhubungan dengan cache memory.
Eksternal memori dapat dibaca pada buku Pengenalan komputer Bab 9 Simpanan Luar
Gambar 4. Eksternal Memori
PRINSIP KERJA MEMORY
Jumlah kebutuhan RAM tergantung pada jenis program yang sedang berjalan. Setiap
Operating System (OS) seperti Microsoft Windows menggunakan komponen, yang
dikenal sebagai Virtual Memory Manager (VMM). Menjalankan program seperti instant
messenger atau browser internet adalah mengaktifkan microprocessor komputer untuk
memuat file dan dieksekusi ke RAM. Untuk program semacam itu biasanya diperlukan
RAM 5 megabyte (5 MB). Microprocessor juga menggunakan Dynamic Link Libraries
(DLL) yang memakai RAM pada kisaran 20-30 megabyte (20-30 MB).
Sejumlah pengguna komputer menjalankan lebih dari satu program secara bersamaan
seperti saat melakukan browsing internet sambil mendengarkan musik, kadang-kadang
program pengolah kata juga dijalankan. Semua ini menggunakan jumlah RAM yang
tinggi. Jika Anda menggunakan kapasitas RAM lebih besar dari yang terpasang pada
komputer, maka komputer menjadi lambat.
Untuk meningkatkan kecepatan komputer anda perlu meningkatkan kapasitas RAM.
Sebelum melakukan hal itu anda harus mengetahui berapa besar RAM yang saat ini
terinstall di komputer dan berapa besar kebutuhan RAM yang harus anda tambahkan.
Untuk mengetahui besarnya RAM pada komputer anda dapat melakukannya dengan klik kanan pada My Computer dan pilih Properties. Pilih tab General maka berbagai informasi tentang komputer termasuk kapasitas RAM akan ditampilkan. Cara lain untuk
mengetahui jumlah RAM yang sedang anda gunakan adalah dengan menekan tombol
control alt delete untuk menuju ke Task Manager. Anda akan melihat jumlah RAM yang
anda gunakan dalam tab process. Anda dapat menambahkan membuka program lain yang dibutuhkan sampai mendapatkan jumlah total RAM yang diperlukan. Setelah semua program yang anda perlukan terbuka maka anda dapat menghitung jumlah RAM yang anda perlukan.
Menambahkan RAM dapat menjadi alternatif yang lebih mudah dan lebih murah untuk
meningkatkan kecepatan komputer. Selain menambahkan kapasitas RAM Anda dapat
membeli harddisk eksternal, yang dapat berguna untuk mentransfer dan menyimpan filefile penting yang tidak sering digunakan. Usahakan hanya file-file yang sering digunakan saja yang tertanam dalam hardisk untuk menciptakan ruang yang lebih luas dalam hardisk anda yang dapat pula meningkatkan kecepatan komputer.
Pada saat kita menyalakan komputer, device yang pertama kali bekerja adalah Processor.
Processor berfungsi sebagai pengolah data dan meminta data dari storage, yaitu Hard Disk Drive (HDD). Artinya data tersebut dikirim dari Hard Disk setelah ada permintaan dari Processor. Tapi prakteknya hal ini sulit dilakukan karena perbedaan teknologi antara Processor & Hard Disk. Processor sendiri adalah komponen digital murni, dan akan memproses data dengan sangat cepat (Bandwidth tertinggi P4 saat ini 6,4 GB/s dengan FSB 800MHz). Sedangkan Hard Disk sebagian besar teknologinya merupakan mekanis yang tentu cukup lambat dibandingkan digital (Bandwidth atau Transfer Rate HDD Serial ATA berkisar 150 MB/s). Secara teoritis kecepatan data Processor berkisar 46x lebih cepat dibanding HDD. Artinya, apabila Processor menunggu pasokan data dari HDD akan terjadi “Bottle - Neck” yang sangat parah.
Untuk mengatasi keadaan itu, diperlukan device Memory Utama (Primary Memory) atau
disebut RAM. RAM merupakan singkatan dari Random Access Memory. RAM berfungsi
untuk membantu Processor dalam penyediaan data “super cepat” yang dibutuhkan. RAM berfungsi layaknya seperti HDD Digital, karena seluruh komponen RAM sudah
menggunakan teknologi digital. Dengan RAM, maka Processor tidak perlu menunggu
kiriman data dari HDD. Saat ini RAM DDR2 mempunyai bandwidth 3,2 GB/s (PC400),
agar tidak menganggu pasokan maka saat ini Motherboard menggunakan teknologi Dual Channel yang dapat melipatgandakan bandwidth menjadi 2x dengan memperbesar arsitektur menjadi 128-bit. Itu artinya, 2 keping DDR2 dalam mode Dual Channel dapat memasok data dalam jumlah yang pas ke Processor (3,2 GB/s x Dual Channel = 6,4 GB/s).
Alokasi data dalam Memory
MANAJEMEN MEMORI
Manajemen memori adalah kegiatan mengelola memori komputer, mengalokasikan
memori untuk proses sesuai keinginan, menjaga alokasi ruang memori bagi proses sehingga mmori dapat menampung banyak proses dan sebagai upaya agar pemogram
atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.
Fungsi manajemen memori antara lain :
1. Mengelola informasi memori yang dipakai dan tidak dipakai.
2. Mengalokasikan memori ke proses yang memerlukan.
3. Mendealokasikan memori dari proses yang telah selesai.
4. Mengelola swapping antara memori utama dan disk.
Manajemen Memori dibedakan menjadi dua :
1. Manajemen Memori dengan swapping : manajemen memori dengan pemindahan
proses antara memori utama dan disk selama eksekusi.
2. Manajemen Memori tanpa swapping : manajemen memori tanpa pemindahan proses
antara memori utama dan disk selama eksekusi.
Kondisi tanpa swapping, bisa dikondisikan sebagai berikut :
1. Monoprogramming : sistem komputer hanya mengijinkan satu program/pemakai
berjalan pada satu waktu.
2. Multiprogramming dengan pemartisian statis : memori dibagi menjadi beberapa
sejumlah partisi tetap.
PENUKARAN DAN ALOKASI MEMORI
a. Penukaran : sebuah proses yang berada di dalam memori dapat ditukar sementara
keluar memori ke sebuah penyimpanan sementara, dan kemudian dibawa masuk lagi ke memori untuk melanjutkan pengeksekusian.
b. Alokasi Memori : sebuah fungsi fasilitas untuk memesan tempat secara berurutan
alamat memori diberikan kepada proses secara berurutan dari kecil ke besar untuk tipe
data dinamis (pointer)
Jenis Alokasi dari Memori antara lain:
1. Single Partition Allocation / Sistem Partisi Tunggal : alamat memori yang akan
dialokasikan untuk proses adalah alamat memori pertama setelah pengalokasian
sebelumnya
2. Multiple Partition Allocation / Sistem Partisi Banyak : Banyak: sistem operasi
menyimpan informasi tentang semua bagian memori yang tersedia untuk dapat diisi oleh proses-proses (disebut lubang).
Permasalahan Alokasi Memori:
1. First fit: Mengalokasikan lubang pertama ditemukan yang besarnya mencukupi.
Pencarian dimulai dari awal.
2. Best fit: Mengalokasikan lubang dengan besar minimum yang mencukupi permintaan
3. Next fit: Mengalokasikan lubang pertama ditemukan yang besarnya mencukupi.
Pencarian dimulai dari akhir pencarian sebelumnya.
4. Worst fit: Mengalokasikan lubang terbesar yang ada
Metode yang paling sederhana dalam mengalokasikan memori ke proses-proses adalah dengan cara membagi memori menjadi partisi tertentu. Secara garis besar, ada dua metode khusus yang digunakan dalam membagi-bagi lokasi memori:
A. Alokasi partisi tetap (Fixed Partition Allocation) yaitu metode membagi memori
menjadi partisi yang telah berukuran tetap.
Kriteria-kriteria utama dalam metode ini antara lain:
o Alokasi memori: proses p membutuhkan k unit memori.
o Kebijakan alokasi yaitu "sesuai yang terbaik": memilih partisi terkecil yang cukup besar (memiliki ukuran = k).
o Fragmentasi dalam (Internal fragmentation) yaitu bagian dari partisi tidak digunakan.
o Biasanya digunakan pada sistem operasi awal (batch).
o Metode ini cukup baik karena dia dapat menentukan ruang proses; sementara ruang proses harus konstan. Jadi sangat sesuai dengan partisi berukuran tetap yang dihasilkan metode ini.
o Setiap partisi dapat berisi tepat satu proses sehingga derajat dari pemrograman banyak multiprogramming dibatasi oleh jumlah partisi yang ada.
o Ketika suatu partisi bebas, satu proses dipilih dari masukan antrian dan dipindahkan ke partisi tersebut.
o Setelah proses berakhir (selesai), partisi tersebut akan tersedia (available) untuk proses lain.
B. Alokasi partisi variabel (Variable Partition Allocation) yaitu metode dimana
sistem operasi menyimpan suatu tabel yang menunjukkan partisi memori yang
tersedia dan yang terisi dalam bentuk s.
o Alokasi memori: proses p membutuhkan k unit memori.
o Kebijakan alokasi:
1. Sesuai yang terbaik: memilih lubang (hole) terkecil yang cukup besar untuk keperluan proses sehingga menghasilkan sisa lubang terkecil.
2. Sesuai yang terburuk: memilih lubang terbesar sehingga menghasilkan sisa lubang.
3. Sesuai yang pertama: memilih lubang pertama yang cukup besar untuk keperluan proses
o Fragmentasi luar (External Fragmentation) yakni proses mengambil ruang, sebagian digunakan, sebagian tidak digunakan.
o Memori, yang tersedia untuk semua pengguna, dianggap sebagai suatu blok besar memori yang disebut dengan lubang. Pada suatu saat memori memiliki suatu daftar set lubang (free list holes).
o Saat suatu proses memerlukan memori, maka kita mencari suatu lubang yang cukup besar untuk kebutuhan proses tersebut.
Jika ditemukan, kita mengalokasikan lubang tersebut ke proses tersebut
sesuai dengan kebutuhan, dan sisanya disimpan untuk dapat digunakan
proses lain. Suatu proses yang telah dialokasikan memori akan dimasukkan ke memori dan selanjutnya dia akan bersaing dalam mendapatkan prosesor untuk
pengeksekusiannya.
o Jika suatu proses tersebut telah selesai, maka dia akan melepaskan kembali semua memori yang digunakan dan sistem operasi dapat mengalokasikannya lagi untuk proses lainnya yang sedang menunggu di antrian masukan.
o Apabila memori sudah tidak mencukupi lagi untuk kebutuhan proses, sistem operasi akan menunggu sampai ada lubang yang cukup untuk dialokasikan ke suatu proses dalam antrian masukan.
o Jika suatu lubang terlalu besar, maka sistem operasi akan membagi lubang
tersebut menjadi dua bagian, dimana satu bagian untuk dialokasikan ke proses tersebut dan satu lagi dikembalikan ke set lubang lainnya.
o Setelah proses tersebut selesai dan melepaskan memori yang digunakannya, memori tersebut akan digabungkan lagi ke set lubang. Fragmentasi luar mempunyai kriteria antara lain:
• Ruang memori yang kosong dibagi menjadi partisi kecil.
• Ada cukup ruang memori untuk memenuhi suatu permintaan, tetapi memori itu
tidak lagi berhubungan antara satu bagian dengan bagian lain (contiguous) karena telah dibagi-bagi.
• Kasus terburuk (Worst case): akan ada satu blok ruang memori yang kosong yang terbuang antara setiap dua proses.
• Aturan 50 persen: dialokasikan N blok, maka akan ada 0.5N blok yang hilang
akibat fragmentasi sehingga itu berarti 1/3 memori akan tidak berguna.
Sumber : Muhammad Iqbal Habibie, S.Kom, MCP MT
Tidak ada komentar:
Posting Komentar