Catatan Setyo

Sebuah catatan warna-warni kehidupan


STRUKTUR SISTEM KOMPUTER (PART 1)

| 0 Comments

Kesempatan kali ini saya akan membagikan beberapa materi berkaitan dengan struktur sistem komputer yang didapatkan selama mata kuliah Sistem Operasi. Semoga materi ini dapat bermanfaat dan menjadi referensi tambahan bagi semua.

PENDAHULUAN

Sistem computer modern terdiri dari CPU (Central Processing Unit) serta device controller yang terhubung melalui bus yang menyediakan akses ke memori. Setiap device controller bertugas mengatur perangkat keras yang ada di dalam computer. CPU dan device controller dapat dijalankan bersamaan, namun tetap memerlukan mekanisme sinkronasi untuk mengatur akses ke memori.

Program awal pada sistem komputer pertama dijalanka disebut program bootstrap. Program ini berisi semua aspek dari sistem komputer. Interupsi bisa terjadi apabila hardware atau software minta dilayani oleh prosesor. Apabila terjadi interupsi maka prosesor akan menghentikan proses yang sedang dikerjakannya dan kemudian mengerjakan service routine untuk melayani interupsi tersebut. Setelah selesai mengerjakan service routine maka prosesor akan kembali melanjutkan proses yang tertunda.


Gambar 2.1 Strukur sistem komputer modern

SISTEM OPERASI KOMPUTER

Sistem operasi yang berlaku pada komputer adalah 
1. Sarana I/O dan CPU dapat mengeksekusi secara bersamaan
2. Masing-masing device controller bertanggung jawab terhadap alat tertentu
3. Masing-masing device controller mempunyai local buffer sendiri.
4. CPU memindahkan data dari / ke memori utama ke / dari local buffer.
5. I/O adalah device ke local buffer dari controller.
6. Device controller menginformasikan kepada CPU bawa telah menyelesaikan operasinya dengan cara melakukan interrupt.

FUNGSI KOMPUTER

Fungsi dasarnya adalah eksekusi program. Program yang akan dieksekusi berisi sejumlah instruksi yang disimpan dalam memori dan CPU akan melakukan tugas ini dengan mengeksekusi program.
Pengolahan instruksi terdiri dari dua langkah.
  1. Instruksi baca (fetch) CPU dari memori
  2. CPU mengeksekusi setiap instruksi yang ada.
Eksekusi program terdidi dari proses penulangan fetch dan eksekusi instruksi. Dan instruksi sendiri dapat terdiri dari sejumlah langkah.


Gambar 2.2 Siklus Instruksi

Pengolahan yang diperlukan untuk instruksi tunggal disebut dengan siklus intruksi. Eksekusi program akan terhenti jika mesin  komputer dimatikan atau terdapat instruksi program yang menghentikan komputer. Pada setiap siklus instruksi, CPU membaca instruksi dari memori. 

CPU selalu menambahkan PC (Progra Counter) setiap kali membaca instruksi. Instruksi yang dibaca akan dimuat ke dalam sebuah register di dalam CPU yang dikenal dengan Intruction Register (IR).

Contoh 
Langkah pertama
PC berisi 300 alamat instruksi. Alamat ini dimuat ke dalam instruction register (IR). Proses ini melibatkan penggunaan memori address register (MAR) dan memori buffer register (MBR), dan register-register intermediatenya diabaikan.
Langkah kedua
4 bit pertama di dalam IR mengindikasi bahwa akumulator (AC) akan dimuat dan 12 bit sisanya menentukan alamat 940.
Langkah ketiga
PC dinaikan nilainya dan instruksi berikutnya akan diambil.
Langkah keempat
Isi AC yang lama da isi 941 ditambah dan hasilnya disimpan di dalam AC.
Langkah kelima
PC dinaikkan nilainya dan instruksi berikutnya akan diambil.
Langkah keenam
Isi AC akan disimpan pada lokasi 941
 

INTERRUPT

Interrupt merupakan sinya dari peralatan luar atau suatu permintaan dari program untuk melakukan suatu tugas khusus. Jika terjadi interrupt maka program akan berhenti dan terlebih dahulu menjalankan kegiatan interrupt.


Gambar 2.3 Siklus Proses dengan Interrupt

A. INTERRUPT HANDLING

1. Sistem akan mengendalikan status CPU dengan menyimpan register-register dan program counter.
2. Menentukan tipe interrupt yang telah terjadi:
   a. Pooling
   b. Vectored interrupt system
   Memisahkan segmen kode yang menentukan tindakan yang harus diambil untuk masing-masing jenis interrupt.

B. FUNGSI UMUM INTERRUPT

  1. Interrupt memindahkan pengendalian kepada interrupt service routine melalui interrupt vektor yang berisi alamat dari semua service routine.
  2. Arsitektur interrupt harus menyimpan alamat instruksi yang diinterrupt.
  3. Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses untuk mencegah hilangnya suatu interrupt.
  4. Trap adalah software-generated interrupt yang disebabkan oleh kesalahan atau karena permintaan user.
  5. Suatu sistem operasi dikendalikan oleh interrupt.

Penyebab terjadinya interrupt

1. Program
Diakibatkan adanya beberapa kondisi yang terjadi, hasil dari suatu eksekusi
Contoh : arithmetic overflow, devision by zero, pengeksekusian secara ilegal, penggunaan memori yang berlebihan.
2. Timer
Disebabkan oleh timer di dalam prosesor. Hal ini memungkinkan sistem operasi menjalankan fungsi-fungsi tertentu secara regular.
3. I/O
Disebabkan oleh I/O controller, baik sebagai tanda bahwa suatu operasi telah selesai, maupun memberi tanda adanya kondisi error. Interupt I/O ada dua macam, interrupt pendek dan interrupt panjang. 
4.Hardware Failure
Disebabkan oleh kesalahan hardware, seperti power failure atau memory parity error.

STRUKTUR I/O

Untuk mengoperasikan I/O, CPU memanggil register-register yang cocok untuk device controller, dan kemudian device controller merespon dengan mengisi register-register berupa respon dengan mengisi register-register berupa respon yang diberikan
Dua aksi yang diberikan saat terjadinya interrupt.

A.Synchronous I/O

Setelah penggunaan I/O dimuali, kontrol kembali ke program user setelah penggunaan I/O selesai.
  1. Wait instruction, mengosongkan CPU sampai interrupt selanjutnya.
  2. Wait loop, peryataan untuk mengakses memori.
  3. Paling banyak hanya ada satu permintaan I/O yang belum diselesaikan pada waktu yang sama.Tidak ada pemrosesan I/O secara simultan.

B. Asynhronous I/O

Setelah penggunaan I/O dimulai, kontrol kembali ke program user tanpa menunggu selesainya penggunaan I/O.
  1. System call – meminta kepada sistem operasi untuk mengijikan user menunggu selesainya penggunaan I/O.
  2. Device-status table, berisi masukan untuk masing-masing sarana I/O yang mengindikasikan jenis, alamat, dan status.
  3. Sistem operasi menunjuk I/O device table untuk menentukan status dan memodifikasi masukan untuk memasukkan interrupt.

C. 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 maka 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 berjalan secara bersamaan.

Leave a Reply