MATA KULIAH:
BY: AYU ANGGRIANI H_092904010
ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011
1
BY: AYU ANGGRIANI H_092904010
CREATED BY:
AYU ANGGRIANI H 092904010 PTIK A 2009
2
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. BY: AYU ANGGRIANI H_092904010
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.
BY: AYU ANGGRIANI H_092904010
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.
BY: AYU ANGGRIANI H_092904010
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.
BY: AYU ANGGRIANI H_092904010
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 INTR1 hingga INTR2 tidak aktif, yaitu jika semua switch terbuka, maka tegangan pada jalur interrupt-request akan setara dengan Vdd. 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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
Pendekatan alternative adalah dengan menggunakan vectored interrupt,yang akan kita deskripsikan berikutnya:
1. VECTORED INTERRUPT 2. INTERRUPT NESTING 3. REQUEST SERENTAK
10
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
Exception ditangani menurut struktur prioritas berikut: Reset (prioritas tertinggi) Data abort
FIQ IRQ Prefetch abort Undefined instruction (prioritas terendah)
14
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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.
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
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
BY: AYU ANGGRIANI H_092904010
BY: AYU ANGGRIANI H_092904010
23