Dwie Purnamasari. Diberdayakan oleh Blogger.
RSS

SISTEM KOMPUTER


Jenis Instruksi yang dijalankan oleh Processor

1. Pertukaran data antara pocessor dan memori utama.
    Instruksi ini dilakukan ketika data harus dibaca/ditulis ke memori utama.
2. Pertukaran data antara processor dan modul I/O.
    Instruksi ini dilakukan ketika data harus dibaca/ditulis ke peranti I/O. Umumnya data-data untuk  
    operasi I/O akan disimpan sementara di memori utama sebelum diproses oleh processor.
3. Pemrosesan data oleh processor.       
    Instruksi ini dilakukan jika diperlukan operasi-operasi aritmatika ataupun logika.
4. Operasi kendali.
    Instruksi ini dilakukan jika diperlukan pengaturan alur eksekusi instruksi seperti operasi lompat (jump) ke instruksi tertentu. 

Untuk menjalankan tugasnya, processor membutuhkan tempat menampung instruksi, data, maupun alamat data. Memori semacam ini disebut register. Jenis-jenis register yang umumnya terdapat pada processor sebagai berikut :
Register Pengguna
  Yaitu register yang dapat digunakan untuk menyimpan data serta alamat data program.
Register Status dan Kontrol
  Yaitu register yang digunakan untuk mengontrol eksekusi kode instruksi program.

Register Pengguna, terdiri atas :

Register Data
  Register ini digunakan untuk menyimpan data yang dibaca dari memori ataupun yang akan diproses di ALU. Yang termasuk register data antara lain register AX, BX, CX, DX.
 
Register Alamat
  Register ini digunakan untuk menyimpan alamat memori dari data ataupun kode instruksi program yang akan diakses oleh processor. Register  alamat dapat dikelompokkan ke dalam register indeks (index register, seperti register SI, DI), register segmen (segment register, seperti register ES, DS, SS) dan register pointer (pointer register, seperti BP, SP)

Register Status dan Control, terdiri atas :

Register penghitung (PC, Program Counter Register)
   Register ini menyimpan alamat memori (alamat relatif/logika) dari kode instruksi yang sedang dieksekusi.
Register segmen kode instruksi (CS, Code Segment Register)
   Register ini meyimpan alamat segmen memori dari kode instruksi yang sedang dieksekusi.
Register Instruksi (IR, Instruction register)
   Register ini menyimpan alamat kode instruksi yang sedang/akan dieksekusi. Kode instruksi ini dibaca dari memori fisik menggunakan alamat yang ditunjukkan oleh register CS dan PC.
Register status (F, Flag Register)
   Register ini menyimpan sejumlah status hasil eksekusi kode instruksi yang sedang berlangsung. Misalkan jika terjadi pembagian dengan bilangan nol maka kondisi tersebut akan dicatat di register status.

Interupsi
Adalah sinyal perangkat lunak ataupun sinyal perangkat keras, terutama peranti I/O, untuk meminta processor melakukan suatu tugas tertentu. 

Interpusi terdiri dari:
    Interupsi Perangkat Lunak (Software Interrupt)
Yaitu interupsi yang diakibatkan oleh kode instruksi atau efek dari perangkat lunak. Interupsi ini sering juga disebut system call, karena umumnya digunakan untuk meminta layanan atau penanganan dari sistem operasi. Contoh kondisi yang memicu terjadinya interupsi perangkat lunak adalah : program meminta sistem untuk mencetak hasil keluaran atau output ke printer, atau terjadi kondisi pembagian dengan bilangan nol (division by zero) ataupun hasil operasi aritmatika melebihi presisi tipe data penyimpan (arithmetic overflow).

Interupsi Perangkat Keras (Hardware Interrupt)
Yaitu interupsi yang diakibatkan aksi pada perangkat keras, terbagi dua :
1.Maskable Interrupt, yaitu interupsi yang disela, misalkan : interupsi oleh timer, penekanan keyboard atau mouse.
2.Non-Maskable Interrupt, yaitu interupsi yang tidak dapat disela, misalnya terjadi kegagalan perangkat keras seperti penyuplai tenaga (power failure) ataupun memory (memory parity error).
 
Cara kerja interupsi :
 
       Setiap interupsi memiliki rutin interupsi (ISR, Interrrupt service routine), yaitu kumpulan instruksi yang akan dieksekusi jika interupsi tersebut terjadi. Rutin interupsi atau ISR disimpan di memory pada saat komputer dihidupkan. Alamat memori dari ISR ini disimpan sebagai referensi dalam suatu tabel interupsi IST (interrupt service table). Ketika interupsi terjadi, processor akan menunda program yang sedang dieksekusi, kemudian menyimpan isi register-register processor, disebut juga dengan konteks processor, ke memory.
   Proses selanjutnya akan membaca (lookup) di IST untuk mengetahui alamat ISR interupsi bersangkutan. Dalam pembacaan ini, processor menggunakan nomor interupsi yang dibangkitkan perangkat keras sebagai nomor indeks untuk membaca IST. Seteleh mengetahui alamat ISR, processor mulai membaca kode instruksi ISR dan mengeksekusinya.
  Setelah eksekusi ISR selesai, processor akan kembali mengeksekusi program yang tertunda, yang diawali dengan mengisi kembali register-register processor sehingga kondisinya sama seperti sebelum terjadi interupsi.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar