Dokumen tersebut membahas tentang organisasi input/output (I/O) pada komputer. Ia menjelaskan proses akses perangkat I/O, interrupt, penggunaan interrupt dalam sistem operasi, contoh struktur interrupt pada beberapa prosesor, dan direct memory access (DMA).
1. 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
2013
1
3. 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.
4. 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.
5. 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.
7. 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
8. 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
9. 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
10. Pendekatan alternative adalah dengan menggunakan vectored interrupt,yang
akan kita deskripsikan berikutnya:
1. VECTORED INTERRUPT
2. INTERRUPT NESTING
3. REQUEST SERENTAK
10
11. 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
12. 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
13. 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
14. Exception ditangani menurut struktur prioritas berikut:
Reset (prioritas tertinggi)
Data abort
FIQ
IRQ
Prefetch abort
Undefined instruction (prioritas terendah)
14
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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.
21. 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
22. 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