Organisasi & Arsitektur Komputer
Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas. Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai gambar disamping
Memori Hierarki memang disusun sedemikian rupa agar semakin ke bawah, memori dapat mengalami :
Meningkatkan utilitas CPU.
Data dan instruksi dapat diakses dengan cepat oleh CPU.
Efisiensi dalam pemakaian memori yang terbatas.
Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien.
Pada saat suatu proses sedang berjalan, ada keadaan dimana processor berhenti. Hal ini menandakan proses telah di terminate. Oleh karena itu, selanjutnya akan mencari data yang telah ter-schedule untuk dimasukkan ke dalam memori lalu diproses.
Keadaan ini bersifat automatically non pre-emptive ,membutuhkan resource yang cepat dan juga terjamin kebenarannya dalam pengaksesan. Maka selain penyediaan resource yang memadai , juga diperlukan proteksi dari hardware itu sendiri.
Banyak kesalahan pemrograman dideteksi oleh perangkat keras. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Error message ditampilkan, dan program akan dimatikan. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan program ulang.
Contoh : ketika proses print lalu usb print tercabut maka kesalahan di deteksi oleh perangkat keras penghubung I/O dan setelah itu ditangani oleh OS
Timer – interrupt komputer setelah periode tertentu untuk memastikan OS memegang kendali, ketika nilai timer = 0, interrupt terjadi.
Timer biasanya digunakan untuk implementasi time sharing (pembagian waktu).
Pembatasan penggunaan memori.
Prosedur proteksi memory, tambahkan dua register yang menentukan range legal address akses program.
Memory diluar range yang didefinisikan diproteksi.
Yaitu alamat memori fisik awal yang dialokasikan / boleh digunakan oleh pengguna.
Yaitu nilai batas dari alamat memori fisik awal yang dialokasikan/boleh digunakan pengguna.
Contohnya jika base register memegang 300000 dan limit register 120000,maka program bisa mengakses secara legal di semua alamat dari 300000 sampai 411999.
Proteksi ini untuk mencegah user program dari kesengajaan memodifikasi kode/struktur data baik di sistem operasi atau user lainnya.
Pengertian address binding adalah sebuah prosedur untuk menetapkan alamat fisik yang akan digunakan oleh program yang terdapat di dalam memori utama.
Address binding dapat dilakukan di 3 tahap yang berbeda, yaitu:
Pada tahap ini sebuah program pada awalnya akan menghasilkan alamat berupa simbol-simbol, kemudian simbol-simbol ini akan langsung diubah menjadi alamat absolut atau alamat fisik yang bersifat statik.
Pada tahap ini awalnya program menghasilkan alamat berupa simbol-simbol yang sifatnya acak (relative address), kemudian akan dilakukan penghitungan ulang agar program tersebut ditempatkan pada alamat yang dapat dialokasikan ulang (relocateble address).
Alamat bersifat relatif, binding akan dilakukan pada saat run time. Pada saat run time dibutuhkan bantuan hardware yaitu MMU (Memory Management Unit).
Perangkat Hardware yang memetakan alamat logik (virtual) ke alamat fisik.
Dari penjelasan gambar diatas address binding dimulai dari tahapan :
Kompilasi, yaitu suatu program menampilkan suatu object. Dalam proses menampilkan suatu obyek tersebut, itulah yang disebut proses kompilasi.
2. Relocatable load module atau load adalah rumah dari proses kompilasi,sehingga obyek yang masuk secara cepat dalam jumlah yang banyak dan masuk dalam waktu yang bersamaan bisa ditampung didalam rumah tersebut,yang nantinya akan diputuskan untuk proses selanjutnya (eksekusi).
3. Proses eksekusi, proses pengambilan tindakan untuk mengakhiri atau keluar dari proses yang sudah selesai berjalan untuk pindah ke proses lainnya yang akan dijalaninya lagi. Yaitu menuju ke memori komputer.
Sekian dan Terima Kasih