Professional Documents
Culture Documents
Mekanisme memesan processor untuk mengeksekusi instructions lain(I/O ) sementara operasi normal sedang berlangsung.
User program mencapai titik (tempat) melakukan system call berupa WRITE call, dan I/O program yang di-invoke dalam kasus ini terdiri dari kode-kode preparasi dan I/O command sebenarnya. Setelah instruksi-instruksi dieksekusi, control kembali ke user program.
WRITE
I/O command
WRITE
END
WRITE
TANPA INTERRUPTS
WRITE
WRITE
END
WRITE
WRITE
1 2
i
i+1
Interrupt handler
INTERRUPT CYCLE
Untuk mengakomodasi interrupt, sebuah interrupt cycle ditambahkan ke instruction cycle. Di dalam interrupt cycle, processor mengecek untuk melihat apabila ada interrupt telah muncul, yang ditandai dengan keberadaan sebuah interrupt signal. Jika tidak ada interrupt yang pending, processor melanjutkan ke fetch cycle dan fetch instruksi berikutnya dari program saat itu.
INTERRUPT CYCLE
Jika sebuah interrupt sedang pending, yang dilakukan processor adalah : oMenunda eksekusi program saat itu yang sedang dieksekusi dan menyimpan context-nya (menyimpan address instruksi berikutnya yang akan dieksekusi (isi PC saat itu) dan data-data lain yang relevan terhadap aktifitas processor saat itu. oMengisi PC dengan starting address dari routine interrupt handler.
Fetch cycle
Execute cycle
Interrupts disabled
Interrupt cycle
START
Eksekusi instruksi
Interrupts enabled
HALT
MULTIPLE INTERRUPTS
Sebuah program bisa menerima data dari communication lines dan printing results. Printer mengenerate interrupt setiap kali menyelesaikan pencetakan. Communication line controller mengenerate interrupt setiap kali satuan data tiba. Kemungkinan communication interrupt muncul sementara printer interrupt sedang diproses. Ada dua pendekatan untuk mengurusi multiple interrupts.
MULTIPLE INTERRUPTS
Disabled interrupt, processor bisa dan akan mengabaikan interrupt request signal tersebut. Ketika users program sedang dieksekusi dan interrupt muncul, maka interrupt langsung akan di-disabled. Setelah interrupt handler routine selesai, interrupt dienabled sebelum melanjutkan users program, dan processor memeriksa apakah ada interrupt tambahan yang muncul. Pendekatan ini sederhana, interrupt ditangani dalam urutan sekuensial.
MULTIPLE INTERRUPTS
User program Interrupt handler X
Interrupt handler Y
MULTIPLE INTERRUPTS
User program Interrupt handler X Pemrosesan Interrupt Nested
Interrupt handler Y
MULTIPLE INTERRUPTS
Pendekatan kedua mendefinisikan prioritas untuk interrupts dan mengijinkan interrupt dengan prioritas lebih tinggi menyebabkan interrupt handler dengan prioritas lebih rendah akan diinterrrupt sendiri. (Contoh), sistem dengan 3 I/O devices, printer, disk, dan communications line dengan prioritas masing-masing 2, 4 dan 5.
MULTIPLE INTERRUPTS
User program t =0 Printer ISR
t=15
Communication ISR
t=25 t=10
t=25
t=40 t=35
Disk ISR
I/O FUNCTION
I/O module (yaitu, disk controller) bisa menukar data secara langsung dengan processor. Persis sebagaimana processor bisa meng-initiate read / write dengan memory, dengan alamat lokasi tertentu, processor bisa juga read data dari atau write data ke I/O module. Processor menentukan device khusus yang dikontrol oleh I/O module tertentu. Sehingga, instruksi-instruksi I/O bisa menggantikan instruksi-instruksi yang merujuk ke memory (memory referencing instructions).
STRUKTUR INTERKONEKSI
Computer merupakan jaringan (network) modulmodul dasar (processor, memory, I/O), sehingga ada path untuk menghubungkan modul-modul (modules) tersebut. Struktur interkoneksi (interconnection structure) : koleksi paths yang menghubungkan beberapa modules yang berbeda. Rancangan struktur ini akan tergantung pada pertukaran yang harus dilakukan (terjadi) antara modul-modul.
STRUKTUR INTERKONEKSI
Tipe-tipe pertukaran yang diperlukan dengan menandakan bentuk-bentuk kebanyakan (major) dari input dan output untuk masing-masing tipe modul :
Read
Write
Address
Data
Memory
N words
0
Data
N-1
STRUKTUR INTERKONEKSI
Read Write
Address
I/O Module
M ports
Internal Data
External Data
Interrupt signals
STRUKTUR INTERKONEKSI
Instructions Data
Address
CPU
Control Signals
Interrupt signals
Data
STRUKTUR INTERKONEKSI
o Memory processor o Processor memory o I/O processor : processor read data dari I/O device melalui I/O module. o Processor I/O : processor send data ke I/O device o I/O memory atau Memory I/O : untuk kedua kasus ini, I/O module diijinkan bertukar data langsung dengan memory, tanpa melalui processor, melainkan dengan direct memory access (DMA).
INTERKONEKSI BUS
Bus : jalur komunikasi yang menghubungkan dua atau lebih devices. Karakteristik kunci : medium transmisi bersama (shared transmission medium). Banyak devices terhubung dengan bus, dan sinyal (signal) yang dikirim oleh salah satu device tertempel (attached) di bus dan tersedia untuk bisa diterima oleh semua devices lain. Jika dua devices mengirim dalam periode waktu yang sama, sinyal mereka akan overlap dan menjadi garbled. Sehingga hanya ada satu device yang berhasil mengirim setiap saat.
INTERKONEKSI BUS
Tipikalnya, bus terdiri dari banyak jalur komunikasi atau lines. Masing-masing line mampu mengirim (transmit) sinyal-sinyal yang merepresentasikan biner-biner 1 dan 0. Secara bersamaan, beberapa line of a bus bisa digunakan untuk mengirim angka-angka biner secara simultan (paralel). Sistem komputer memuat sejumlah bus-bus yang berbeda yang menyediakan jalur-jalur antara komponen-komponen di level-level yang berbeda dari herarki sistem komputer. Bus yang menghubungkan komponen-komponen utama komputer (processor, memory, I/O) disebut bus sistem (system bus).
STRUKTUR BUS
System bus terdiri dari sekitar mulai 50 s/d 100an line-line terpisah, yang masing-masing ditugasi (assigned) fungsi atau arti tertentu. Pada umumnya, bus lines bisa diklasifikasikan menjadi tiga grup fungsional : data, address, dan control lines. Di samping itu, ada power distribution lines yang men-suply power ke module-module yang digandeng (attached).
STRUKTUR BUS
Data lines menyediakan path untuk moving data antar system modules. Lineline ini secara kolektif disebut data bus. Data bus bisa terdiri dari 32 s/d 100an line-line terpisah, banyaknya line dalam data bus disebut width dari data bus. Width data bus merupakan faktor kunci dalam penentuan kinerja sistem keseluruhan. Jika lebar (width) data bus 8, masing-masing instruksi panjangnya 16 bits, maka processor harus mengakses memory module dua kali selama masing-masing siklus instruksi.
STRUKTUR BUS
Address lines digunakan untuk menunjukkan source dan destination dari data pada data bus. Sebagai contoh, jika processor ingin membaca word (8, 16 atau 32 bits) data dari memory, maka processor meletakkan address word yang dikehendaki pada address lines. Width address bus menentukan kemungkinan maksimum kapasitas sistem. Address lines umumnya juga digunakan address I/O ports. Tipikalnya, bit order-lebih tinggi digunakan untuk memilih module tertentu pada bus, sedang bit order-lebih rendah memilih lokasi memory atau I/O port dalam module.
STRUKTUR BUS
Control lines digunakan untuk mengontrol akses ke dan penggunaan address dan data lines. Karena data dan address lines di-share (shared) oleh semua komponen, maka harus ada alat untuk mengontrol penggunaan mereka. Sinyal kendali (control signal) mengirim keduanya command dan timing information antara module-module sistem. Timing signal menandakan validitas data dan informasi address. Command signals menentukan operasi-operasi yang harus diselenggarakan.
CPU
Memory Memory
I/O
I/O
Control lines
BUS
MULTIPLE-BUS HIERARCHIES
Jika sejumlah besar devices terhubung ke bus, kinerja akan memburuk. 2 alasan utama : o (1) lebih banyak devices terhubung ke bus, propagation delay meningkat. Delay menentukan yang diperlukan device untuk koordinasi penggunaan bus. o (2) Bus bisa menjadi bottleneck seiring kumpulan permintaan (demand) transfer data mendekati kapasitas bus. Solusi : meningkatkan data rate yang bisa dibawa oleh bus dan dengan menggunakan bus yang lebih lebar (wider bus).
Tipe Bus
o (1) Dedicated bus lines secara permanen di-assign ke satu fungsi atau ke beberapa (subset) komponen-komponen komputer. Contoh functional dedication : penggunaan dedicated address dan data lines terpisah, yang umum diterapkan pada banyak bus. Informasi address
dan data bisa dikirim pada sekumpulan line yang sama menggunakan Address Valid control line. Di awal pengiriman data, address ditempatkan pada bus dan Address Valid control line diaktifkan. Pada saat ini, masing-masing module mempunyai periode waktu tertentu untuk menyalin address dan menentukan apakah ini module beraddress. Kemudian adress dihapus dari bus, dan koneksi bus yang sama digunakan untuk read atau write transfer data berikutnya. Metode ini menggunakan line-line yang sama untuk banyak kegunaan dan dikenal sebagai time multiplexing.