ORGANISASI KOMPUTER
MATA KULIAH:
PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER
JURUSAN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR
2011
ORGANISASI
INPUT/OUTPUT
BY: AYU ANGGRIANI H_092904010 1
CREATED BY: AYU ANGGRIANI H
092904010
PTIK A 2009
BY: AYU ANGGRIANI H_092904010 2
PENDAHULUAN
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
3
ORGANISASI I/O
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
4
MENGAKSES PERANGKAT I/O
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
5
INTERRUPT
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
6
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.
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 9
1. VECTORED INTERRUPT
2. INTERRUPT NESTING
3. REQUEST SERENTAK
Pendekatan alternative adalah dengan menggunakan vectored interrupt,yang
akan kita deskripsikan berikutnya:
BY: AYU ANGGRIANI H_092904010 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
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 12
CONTOH PROSESOR
STRUKTUR INTERRUPT ARM
Posesor ARM memiliki mekanisme exception-handling yang
sederhana tetapi sangat berguna. Terdapat lima source untuk
exception, hanya dua diantaranya merupakan jalur interrupt-
request 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
13
Exception ditangani menurut struktur prioritas berikut:
Reset (prioritas tertinggi)
Data abort
FIQ
IRQ
Prefetch abort
Undefined instruction (prioritas terendah)
BY: AYU ANGGRIANI H_092904010 14
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 interrupt-
service dari interrupt vector yang disimpan dalam memori utama. Terdapat
256 interrupt vector, bernomor dari 0 hingga 255.
STUKTUR INTERRUPT 68000
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 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 di-
enable atau disable dengan men-set bit interrupt-enable dalam
prosesor ststus register.
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 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.
BY: AYU ANGGRIANI H_092904010 19
DIRECT MEMORY ACCESS
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
20
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 high-
speed 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.
BY: AYU ANGGRIANI H_092904010 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
BY: AYU ANGGRIANI H_092904010 22
BY: AYU ANGGRIANI H_092904010 23