MATA KULIAH: 1 ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011
2 CREATED BY: AYU ANGGRIANI H 092904010 PTIK A 2009
PENDAHULUAN 3 Salah satu fitur dasar suatu computer adalah kemampuannya untuk mempertukarkan data dengan perangkat lain. Kemampuan komunikasi ini memungkinkan operator manusia, misalnya, untuk menggunakan keyboard dan layar display untuk mengolah teks dan grafik. Berbagai cara operasi I/O dilakukan. Pertama-tama, kita akan membahas persoalan tersebut dari sudut pandang programmer. Kemudian kita akan membahas beberapa detil hardware yang berkaitan dengan bus dan antar muka I/O dan memperkenalkan beberapa standar bus umum yang telah digunakan.
ORGANISASI I/O 4 Merupakan peralatan antarmuka (interface) bagisistem bus atau switch sentral dan mengontrolsatu atau lebih perangkat peripheral. Tidak hanya sekedar modul penghubung, tetapisebuah piranti yang berisi logika dalammelakukan fungsi komunikasi antara peripheral dan bus komputer.
MENGAKSES PERANGKAT I/O 5 Pengaturan sederhana untuk menghubungkan perangkat I/O ke suatu computer adalah dengan menggunakan pengaturan bus tunggal, bus tersebut meng-enable semua perangkat yang dihubungkan padanya untuk mempertukarkan informasi. Biasanya, pengaturan tersebut terdiri dari tiga set jalur yang digunakan untuk membawa alamat, data dan sinyal control. Tiap perangkat I/O ditetapkan dengan satu set alamat yang unik. Pada saat processor meletakkan suatu alamat pada jalur alamat, perangkat yang mengenali alamat ini merespon perintah yang dinyatakan pada jalur kendali.
INTERRUPT 6 Suatu interrupt lebih daripada mekanisme sederhana untuk mengkoordinasikan transfer I/O. secara umum, interrupr meng-enable transfer control dari satu program ke program lain. Untuk dapat diinisiasi dengan suatu event yang eksternal terhadap computer tersebut.
INTERRUPT HARDWARE Suatu perangkat I/O meminta interrupt dengan mengaktifkan jalur bus yang disebut interrupt-request. Kebanyakan computer tampaknya memiliki beberapa perangkat I/O yang dapat meminta interrupt. Pada saat perangkat meminta suatu interrupt dengan menutup switch-nya, maka tegangan pada jalur interrupt-request INTR 1 hingga INTR 2 tidak aktif, yaitu jika semua switch terbuka, maka tegangan pada jalur interrupt-request akan setara dengan V dd. Ini adalah keadaan jalur tidak aktif. pada saat perangkat meminta suatu interrupt dengan menutup switch-nya, maka tegangan pada jalur tersebut jatuh ke 0, menyebabkan sinyal interrupt request, INTR, yang diterima oleh processor menjadi 1. 7
ENABLING DAN DISABLING INTERRUPT Dengan mengasumsikan bahwa interrupt di-enable, berikut ini adalah skenario yang biasa: Perangkat memunculkan interrupt request Prosesor menginterupsi program yang sedang dieksekusi Interrupt di-disable dengan mengubah bit control dalam PS(kecuali dalam hal edge-triggered interrupt) Perangkat diberitahu bahwa requestnya telah dikenali,dan sebagai respon,perangkat tersebut menonaktifkan sinyal interrupt requestnya. Tindakan yang dimina oleh interrupt tersebut dilakukan oleh routine interrupt service. Interrupt di-enable dan eksekusi program yang interupsi dimulai lagi. 8
MENANGANI BANYAK PERANGKAT Pada saat suatu request diterima melalui jalur interrupt request. Informasi tambahan diperlukan untuk mengidentifikasi perangkat tertentu yang mengaktifkan jalur tersebut. Informasi yang diperlukan untuk menentukan apakah suatu perangkat meminta interrupt,teredia dalam status registernya. Pada saat suatu perangkat memunculkan interrupt request, maka salah satu skema poling mudah untuk di implementasikan.kerugian utamanya adalah waktu yang di habiskan mengetahui bit IRQ semua perangkat yang mungkin tidak meminta pelayanan apapun. 9
Pendekatan alternative adalah dengan menggunakan vectored interrupt,yang akan kita deskripsikan berikutnya: 1. VECTORED INTERRUPT 2. INTERRUPT NESTING 3. REQUEST SERENTAK 10
EXCEPTION Suatu interrupt adalah event yang meyebabkan eksekusi satu program ditunda dan eksekusi program lain dimulai. Sejauh ini kita hanya menangani interrupt yang disebabkan oleh request yang diterima selama transfer data I/O. akan tetapi, mekanisme interrupt digunakan dalam sejumlah situasi lain. 1. PEMULIHAN DARI ERROR 2. DEBUGGING 3. PRIVILIGE EXCEPTION 11
PENGGUNAAN INTERRUPT DALAM SISTEM OPERASI Dalam suatu komputer yang memiliki mode supervisor dan user, prosesor mengalihkan operasinya ke mode supervisor pada saat menerima interrupt request. Prosesor melakukannya dengan men-set bit dalam prosesor status register setelah menyimpan isi lama register tersebut pada stack. Sehingga, pada saat program aplikasi memanggil OS melalui instruksi software interrupt, prosesor secara otomatis beralih ke mode supervisor, memberi OS akses penuh ke resourch computer. 12
CONTOH PROSESOR 13 STRUKTUR INTERRUPT ARM Posesor ARM memiliki mekanisme exception-handling yang sederhana tetapi sangat berguna. Terdapat lima source untuk exception, hanya dua diantaranya merupakan jalur interruptrequest eksternal, IRQ dan FIQ(Fast Interrupt Request). Exception tersebut adalah pembatalan eksternal karena error bus dan usaha untuk mengeksekusi instruksi yang tak terdefinisikan
Exception ditangani menurut struktur prioritas berikut: Reset (prioritas tertinggi) Data abort FIQ IRQ Prefetch abort Undefined instruction (prioritas terendah) 14
STUKTUR INTERRUPT 68000 68000 memiliki delapan tingkat prioritas interrupt. Prioritas yang sedang digunakan prosesor dalam bekerja pada waktu tertentu di-encode dalam tiga bit word status prosesor. Prosesor secara otomatis menyimpan isi program counter dan word status prosesor pada saat interupsi.pc push ke stack prosesor diikuti oleh PS, menggunakan register A7 sebagai stack pointer. Prosesor 68000 menggunakan vectored interrupt. Pada saat menerima interrupt request, prosesor menerima alamat awal routine interruptservice dari interrupt vector yang disimpan dalam memori utama. Terdapat 256 interrupt vector, bernomor dari 0 hingga 255. 15
Tiap vector terdiri dari 32 bit yang membentuk alamat awal yang diminta. Pada saat suatu perangkat meminta interrupt, maka perangkat tersebut dapat menunjuk ke vector yang sebaiknya digunakan dengan mengirim bilangan vector 8-bit ke prosesor sebagai respon yerhadap sinyal interrupt acknowledge. 16
STRUKTUR INTERRUPT PENTIUM Arsitektur IA-32, yang merupakan contoh prosesor Pentium, menggunakan dua jalur interrupt request, nonmaskable interrupt(nmi) dan maskable interrupt, yang juga disebut user interrupt request, INTR. Interrupt request pada NMI selalu diterima oleh prosesor. Request pada INTR hanya diterima jika memiliki tingkat privilege yang lebih tinggi dari salah pada program yang sedang dieksekusi, sebagaimana yang akan kita jelaskan dengan singkat. Interrupt INTR dapat juga dienable atau disable dengan men-set bit interrupt-enable dalam prosesor ststus register. 17
Prosesor Pentium memiliki struktur privilege yang rumit, dengan bagian yang berbeda dari system operasi melakukan eksekusi pada salah satu dari empat privilige. Segmen yang berbeda dalam ruang alamat prosesor digunakan pada tiap tingkat. Pada saat interrupt request diterima atau saat terjadi exception, proseso melakukan tindakan berikut: 1. Mem-push prosesor status register, current segmen register (CS) dan instruction pointer (EIP) ke dalam stack prosesor yang ditunjuk oleh prosesor stack pointer, ESP. 2. Dalam hal exception yang dihasilkan dari kondisi eksekusi abnormal, prosesor mem-push suatu kode ke stack yang mendeskripsikan penyebab exception tersebut. 18
3. Prosesor mengosongkan flag interrupt-enable, jika tepat, sehingga interrupt lebih lanjut dari source yang sama di-disable. 4. Prosesor mengambil alamat awal routine interrupt-service dari interrupt descriptor table berdasarkan bilangan vector interrupt dan me-load nilai ini kedalam EIP, kemudian melanjutkan eksekusi. 19
DIRECT MEMORY ACCESS 20 Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dariantar muka perangkat I/O. kita menyebut sirkuit ini sebagai DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama. Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi prosesor, operasinya harus berada dibawah control program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer.
Akses memori oleh prosesor dan kontroler DMA saling berhubungan. Request dari perangkat DMA untuk menggunakan bus selalu mendapat prioritas lebih tinggi daripada request dari prosesor. Antar perangkat DMA yang berbeda-beda, prioritas tertinggi diberikan untuk peripheral highspeed seperti disk, antar muka jaringan high-speed, atau perangkat display grafik. Karena prosesor menghasilkan siklus akses memori yang paling banyak, kontroler DMA dapat disebut mencuri siklus memori dari prosesor. Karenanya, teknik interweaving ini biasanya disebut cycle stealing. 21
BUS ARBITRATION Perangkat yang diizinkan untuk menginisiasi transfer data pada bus setiap saat disebut bus master. Pada saat master terakhir melepaskan control bus, perangkat lain dapat menerima status ini. Bus arbitration adalah proses memilih perangkat berikutnya sebagai bus master dan mentransfer bus masterchip kepada perangkat tersebut. Terdapat dua pendekatan untuk bus arbitration: centralized dan distributed. 1. CENTRALIZED ARBITRATION 2. DISTRIBUTED ARBITRATION 22
23