Secara umum, sistem komputer
terdiri atas CPU dan sejumlah device
controller yang terhubung melalui sebuah
bus yang menyediakan akses ke
memori. Umumnya, setiap device
controller bertanggung jawab atas sebuah
hardware spesisfik. Setiap device dan
CPU dapat beroperasi secara konkuren
untuk
mendapatkan akses ke memori. Adanya beberapa hardware ini dapat menyebabkan masalah
sinkronisasi. Karena itu untuk mencegahnya sebuah memory controller
ditambahkan untuk sinkronisasi akses memori.
Pada sistem komputer yang lebih
maju, arsitekturnya lebih kompleks.
Untuk
meningkatkan performa, digunakan beberapa buah bus . Tiap bus merupakan jalur data
antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP)
dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal
dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat
dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus
lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus
ini digunakan sebuah bridge.
Tanggung jawab sinkronisasi bus
yang secara tak langsung juga
mempengaruhi
sinkronisasi memori dilakukan oleh sebuah bus controller atau dikenal sebagai bus
master. Bus master akan mengendalikan aliran data hingga pada satu waktu, bus
hanya berisi data dari satu buah device. Pada prakteknya bridge dan bus master
ini disatukan dalam sebuah chipset.
Jika
komputer dinyalakan, yang dikenal dengan nama booting, komputer akan menjalankan bootstrap
program yaitu sebuah program sederhana yang disimpan dalam ROM yang
berbentuk chip CMOS (Complementary Metal Oxide Semiconductor). Chip
CMOS modern biasanya bertipe EEPROM(Electrically Erasable Programmable
Read Only Memory), yaitu memori non-volatile (tak terhapus jika power
dimatikan) yang dapat ditulis dan dihapus dengan pulsa elektronik. Lalu
bootsrap program ini lebih dikenal sebagai BIOS (Basic Input Output System).
Bootstrap program utama, yang
biasanya terletak di Motherboard akan memeriksa hardware-hardware utama dan
melakukan inisialisasi terhadap
program
dalam hardware yang dikenal dengan nama firmware. Bootstrap program utama
kemudian akan mencari dan meload kernel sistem operasi ke memori lalu
dilanjutkan dengan inisialisasi sistem operasi. Dari sini program sistem
operasi akan menunggu kejadian tertentu. Kejadian ini akan menentukan apa yang
akan dilakukan sistem operasi berikutnya ( event-driven ).
Kejadian ini pada komputer modern
biasanya ditandai dengan munculnya
interrupt
dari software atau hardware, sehingga Sistem Operasi ini disebut Interrupt-driven.
Interrupt dari hardware biasanya dikirimkan melalui suatu signal tertentu, sedangkan
software mengirim interrupt dengan cara menjalankan system call atau juga dikenal
dengan istilah monitor call . System/Monitor call ini akan menyebabkan trap yaitu
interrupt khusus yang dihasilkan oleh software karena adanya masalah atau
permintaan terhadap layanan sistem operasi. Trap ini juga sering disebut sebagai
exception.
Setiap interrupt terjadi,
sekumpulan kode yang dikenal sebagai ISR (Interrupt Service Routine) akan
menentukan tindakan yang akan diambil. Untuk menentukan tindakan
yang harus dilakukan, dapat dilakukan dengan dua cara yaitu polling yang
membuat komputer memeriksa satu demi satu perangkat yang ada untuk menyelidiki
sumber interrupt dan dengan cara menggunakan alamat-alamat ISR yang disimpan dalam
array yang dikenal sebagai interrupt vector di mana sistem akan
memeriksa Interrupt Vector setiap kali interrupt terjadi.
Arsitektur interrupt harus mampu untuk menyimpan
alamat instruksi yang diinterrupt. Pada komputer lama, alamat ini disimpan
di tempat tertentu yang tetap, sedangkan pada komputer baru, alamat itu
disimpan di stack bersama-sama dengan
informasi state saat itu.
No comments:
Post a Comment