Struktur System Komputer
Struktur
System Komputer
Struktur
sebuah sistem komputer dapat dibagi menjadi:
•
Sistem Operasi Komputer.
•
Struktur I/O.
• Struktur Penyimpanan.
•
Storage Hierarchy.
•
Proteksi Perangkat Keras.
1.
Sistem Operasi Komputer
Dewasa ini
sistem komputer multiguna terdiri dari CPU (Central Processing Unit); serta
sejumlah device controller yang dihubungkan melalui bus yang menyediakan akses
ke memori. Setiap device controller bertugas mengatur perangkat yang tertentu
(contohnya disk drive, audio device, dan video display). CPU dan device
controller dapat dijalankan secara bersamaan, namun demikian diperlukan
mekanisme sinkronisasi untuk mengatur akses ke memori. Pada saat pertama kali
dijalankan atau pada saat boot, terdapat sebuah program awal yang mesti dijalankan.
Program awal ini disebut program bootstrap. Program ini berisi semua aspek dari
sistem komputer, mulai dari register CPU, device controller, sampai isi memori.
Interupsi
merupakan bagian penting dari sistem arsitektur komputer. Setiap sistem komputer
memiliki mekanisme yang berbeda. Interupsi bisa terjadi apabila perangkat keras
(hardware) atau perangkat lunak (software) minta "dilayani" oleh
prosesor. Apabila terjadi interupsi maka prosesor menghentikan proses yang
sedang dikerjakannya, kemudian beralih mengerjakan service routine untuk
melayani interupsi tersebut. Setelah selesai mengerjakan service routine maka
prosesor kembali melanjutkan proses yang tertunda.
2.
Struktur I/O
Bagian ini akan membahas struktur I/O, interupsi I/O,
dan DMA, serta perbedaan dalam penanganan interupsi.
2.1. Interupsi I/O
Untuk memulai
operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya
device controller memeriksa isi register untuk kemudian menentukan operasi apa
yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan,
yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali
dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan
pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu
proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan
secara bersamaan.
2.2. Struktur DMA
Direct Memory
Access (DMA) suatu metoda penanganan I/O dimana device controller langsung berhubungan
dengan memori tanpa campur tangan CPU. Setelah men-set buffers,
pointers, dan counters untuk perangkat I/O, device controller mentransfer blok
data langsung ke penyimpanan tanpa campur tangan CPU. DMA digunakan untuk
perangkat I/O dengan kecepatan tinggi. Hanya terdapat satu interupsi setiap
blok, berbeda dengan perangkat yang mempunyai kecepatan rendah dimana interupsi
terjadi untuk setiap byte (word).
3.
Struktur Penyimpanan
Program komputer
harus berada di memori utama (biasanya RAM) untuk dapat dijalankan. Memori utama
adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh
prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam
memori utama secara permanen. Namun demikian hal ini tidak mungkin karena:
•
Ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara
keseluruhan.
•
Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, apabila
komputer dimatikan maka data yang tersimpan di memori utama akan hilang.
3.1.
Memori Utama
Hanya memori utama dan register merupakan tempat
penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan
dieksekusi harus disimpan di memori utama atau register. Untuk mempermudah
akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan
memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device
register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer
dari dan ke device register. Metode ini cocok untuk perangkat
dengan waktu respon yang cepat seperti video controller. Register yang terdapat
dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register
merupakan media penyimpanan dengan akses paling cepat bandingkan dengan memori
utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan,
dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.
3.2.
Magnetic Disk
Magnetic Disk berperan sebagai secondary storage
pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan
seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik.
Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian
dibagi lagi menjadi beberapa sektor.
4. Storage Hierarchy
Dalam storage hierarchy structure, data yang sama
bisa tampil dalam level berbeda dari system penyimpanan. Sebagai contoh integer
A berlokasi pada bekas B yang ditambahkan 1, dengan asumsi bekas B terletak
pada magnetic disk. Operasi penambahan diproses dengan pertama kali
mengeluarkan operasi I/O untuk menduplikat disk block pada A yang terletak pada
memori utama Operasi ini diikuti dengan kemungkinan penduplikatan A ke dalam
cache dan penduplikatan A ke dalam internal register. Sehingga penduplikatan A terjadi di beberapa tempat.
Pertama terjadi di internal register dimana nilai A berbeda dengan yang di
sistem penyimpanan. Dan nilai di A akan kembali sama ketika nilai baru ditulis ulang
ke magnetic disk. Pada kondisi multi prosesor, situasi akan menjadi lebih
rumit. Hal ini disebabkan masing-masing prosesor mempunyai local cache. Dalam
kondisi seperti ini hasil duplikat dari A mungkin hanya ada di beberapa cache.
Karena CPU (register-register) dapat dijalankan secara bersamaan maka kita
harus memastikan perubahan nilai A pada satu cache akan mengubah nilai A pada
semua cache yang ada. Hal ini disebut sebagai Cache Coherency.
5. Proteksi Perangkat Keras
Sistem komputer terdahulu berjenis programmer-operated
systems. Ketika komputer dioperasikan dalam konsul mereka (pengguna) harus
melengkapi sistem terlebih dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih
oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil
alih oleh sistem operasi, padahal dahulu hal ini dilakukan oleh pengguna. Untuk
meningkatkan utilisasi sistem, sistem operasi akan membagi sistem sumber daya
sepanjang program secara simultan. Pengertian spooling
adalah suatu program dapat dikerjakan walau pun I/O masih mengerjakan proses
lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan
menjalankan beberapa program pada memori pada satu waktu. Pembagian ini memang
menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan
masalah-masalah baru. Ketika tidak di sharing maka jika
terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika di-sharing
jika terjadi kesalahan pada satu proses/ program akan berpengaruh pada proses
lainnya. Sehingga diperlukan pelindung (proteksi). Tanpa proteksi jika terjadi
kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh
output pasti diragukan. Banyak kesalahan pemprograman dideteksi oleh perangkat
keras. Kesalahan ini biasanya ditangani oleh sistem operasi. Jika terjadi
kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan
sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan
disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang
biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan
menjalankan program ulang.
5.1. Operasi Dual Mode
Untuk memastikan
operasi berjalan baik kita harus melindungi sistem operasi, program, dan data
dariprogram-program yang salah. Proteksi ini memerlukan share resources. Hal
ini bisa dilakukan sistemoperasi dengan cara menyediakan pendukung perangkat
keras yang mengizinkan kita membedakan mode pengeksekusian program.
Mode yang kita
butuhkan ada dua mode operasi yaitu:
• Mode Monitor.
• Mode Pengguna.
Pada perangkat
keras akan ada bit atau Bit Mode yang berguna untuk membedakan mode apa yang sedang
digunakan dan apa yang sedang dikerjakan. Jika Mode Monitor maka akan benilai
0, dan jika Mode Pengguna maka akan bernilai 1. Pada saat boot time, perangkat
keras bekerja pada mode monitor dan setelah sistem operasi di-load maka akan
mulai masuk ke mode pengguna. Ketika terjadi trap atau interupsi, perangkat
keras akan men-switch lagi keadaan dari mode pengguna menjadi mode monitor
(terjadi perubahan state menjadi bit 0). Dan akan kembali menjadi mode pengguna
jikalau sistem operasi mengambil alih proses dan kontrol komputer (state akan
berubah menjadi bit 1).
5.2. Proteksi I/O
Pengguna bisa
mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk sistem operasi atau
dengan cara hendak melepaskan diri dari prosesor. Untuk mencegahnya kita
menganggap semua instruksi I/O sebagai privilidge instruction sehingga mereka
tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat
sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna
dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi
proteksi I/O dapat dikompromikan.
5.3. Proteksi Memori
Salah satu
proteksi perangkat keras ialah dengan proteksi memori yaitu dengan pembatasan
penggunaan memori.
Disini diperlukan beberapa istilah yaitu:
• Base Register yaitu alamat memori fisik awal yang
dialokasikan/ boleh digunakan oleh pengguna.
• Limit Register yaitu nilai batas dari alamat
memori fisik awal yang dialokasikan/boleh digunakan oleh pengguna.
• Proteksi Perangkat Keras.
0 komentar :
Posting Komentar