Uploaded by User78028

Resume IO Bus

advertisement
1303194011
IT-43-01
I/O dan Bus
Fungsi utama I/O adalah untuk menjembatani CPU dan memori dengan satu atau
beberapa peripheral yang merupakan device eksternal yang terhubung dengan I/O. Terdapat
beberapa jenis peripheral :
–
Human readable  sarana komunikasi manusia dengan mesin (komputer)

–
Machine readable  sarana komunikasi antara komputer dengan device lain

–
Screen, printer, keyboard
Harddisk, sensor, aktuator, dll
Communication  sarana komunikasi komputer dengan komputer lain

Modem

Network Interface Card (NIC)
Teknik Input Output
(1) Programmed I/O
–
I/O terjadi pada saat program yang di dalamnya terdapat perintah I/O dieksekusi
–
Eksekusi I/O terus menerus melibatkan prosesor
(2) Interrupt driven I/O
–
I/O terjadi pada saat perintah I/O dieksekusi
–
Sesudah perintah I/O dieksekusi  CPU melanjutkan eksekusi perintah lainnya 
tidak terlibat terus menerus
–
CPU berperan lagi jika sudah ada interrupt dari device (modul I/O)
(3) Direct Memory Access (DMA)
–
Transfer data ditangani oleh sebuah prosesor I/O khusus
1. Programmed I/O
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai
dilakukan modul I/O sehingga akan membuang waktu, Dalam teknik ini, modul I/O tidak
dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan
1303194011
IT-43-01
padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap
dilaksanakan. Terdapat 4 klasifikasi perintah I/O yaitu :
a. Control = Perintah ini digunkan untuk mengaktivasi perangkat peripheral
b. Test = Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul
I/O dan peripheralnya.
c. Read = Perintah pada modul I/O untuk mengambil suatu paket data kemudian
menaruh dalam buffer internal.
d. Write = Perintah ini CPU memerintahkan modul I/O untuk mengambil data dari
bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
2. Teknik Identifikasi Interrupt
(1) Digunakan banyak jalur interrupt  Satu modul satu jalur
(-) Tidak praktis karena harus menyediakan sejumlah jalur khusus
(-) Jumlah device yang dapat dipasang terbatas
(2) Software poll (polling)
(-) Lambat karena harus memeriksa modul I/O satu persatu
Mekanisme:
 Jika CPU mendeteksi adanya interrupt
 CPU menanyakan ke setiap modul I/O untuk mengetahui asal interrupt (polling)
 Misal dengan mengirimkan signal TESTI/O
 Modul pengirim interrupt akan menjawab signal tersebut
(3) Daisy chain/hardware poll (vectored)
 Digunakan satu jalur interrupt yang menghubungkan setiap modul I/O
 Modul satu dengan modul lainnya terhubung secara serial
Mekanisme:






Modul I/O mengirimkan interrupt melalui jalur interrupt bersama
CPU mendeteksi adanya interrupt  mengirimkan signal ke sebuah modul I/O
Signal akan diestafetkan dari satu modul ke modul lainnya
Hanya modul yang mengirimkan interrupt yang akan memberi jawaban
Jawaban berupa word (vector) yang ditaruh di jalur data. Isi word = alamat
modul I/O atau identitas unik lainnya
Vector digunakan sebagai pointer untuk menunjuk langsung ke device sumber
interrupt sebelum menjalankan interrupt handler disebut vectored interrupt
1303194011
IT-43-01
(4) Bus Arbitration (vectored)

Pengiriman interrupt dilakukan bila modul I/O telah ‘menguasai’ (master) bus
Mekanisme:

Modul I/O mengirimkan permintaan untuk menggunakan bus

Arbiter memberi kesempatan kepada I/O modul  hanya satu modul dalam satu
saat

Modul I/O mengirimkan interrupt

CPU mendeteksi adanya interrupt dan memberi respons melalui jalur
acknowledge

Modul I/O mengirimkan word (vector) ke jalur data
3. DMA
Fungsi DMA :
–
Dapat menirukan sebagian fungsi prosesor
–
Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data
Kapan DMA bekerja ?
–
Saat prosesor sedang tidak menggunakan bus
–
Saat prosesor dipaksa berhenti sesaat (suspend)  siklusnya “dicuri” oleh DMA
 disebut cycle stealing
Cara Kerja
CPU mengirimkan data-data berikut ini ke DMA controller:
–
Perintah Read/Write
–
Alamat device yang akan diakses
–
Alamat awal blok memori yang akan dibaca/ditulisi
–
Jumlah blok data yang akan ditransfer
CPU mengeksekusi program lain
DMA controller mengirimkan seluruh blok data (per satu word) langsung ke
memori (tanpa melibatkan CPU)
DMA controller mengirim interrupt ke CPU jika telah selesai
1303194011
IT-43-01
Bus merupakan saluran komunikasi yang menghubungkan 2 device atau lebih , biasanya
bersifat broadcast dimana data tersebar ke seluruh device yang terhubung dengan Bus. Terdapat 3
struktur Bus :
1. Bus Data : Membawa data antara bagian utama komputer menggunaakn
jalur data. Jumlah jalur data yang digunakan disebut Lebar Bus. Semakin
lebar bus data maka performa semakin baik.
2. Bus Alamat : Mengidentifikasi asal dan tujuan data. Misal : CPU dapat
membaca data yang ada di memori jika alamat data tersebut telah
ditentukan. Lebar bus menentukan ukuran maksimum memori yang dapat
digunakan
3. Bus Kontrol : Mengatur pengaksesan dan penggunaan jalur data dan
alamat.Contoh sinyal control yang diberikan antara lain memory read,
memory write, I/O read and write, Bus Request, Interupt Request, Clock
Signal, Reset dll.
1. Tipe BUS

Dedicated
– Jalur data dan jalur alamat terpisah dan penggunaannya tetap/tidak berubahubah
– Tipe bus yang banyak digunakan

Multiplexed
– Jalur bus digunakan untuk mengirimkan alamat dan data secara bergantian
– Digunakan control line: address valid atau data valid
– Kelebihan: jumlah jalur lebih sedikit  hemat tempat  hemat biaya
Kerugian:
– Penanganan lebih kompleks/rumit
– Performansi berkurang: alamat dan data harus bergantian (tidak dapat paralel)
2. Bus Arbitration
Dengan kata lain pengaturan Bus karena dalam suatu saat hanya boleh ada satu
modul yang menggunakan bus. Terdapat 2 jenis bus arbitration yakni (1). Centralized
dimana sebuah modul atau hardware bertugas menjadi control pusat dan mengontrol bus
1303194011
IT-43-01
dan hanya satu misanyla bagian dari CPU, (2).Distributed yang tidak memiliki control
pusat, setiap modul dapat mengkontol bus sesuai control logic yang ada .
3. Timing
Terjadinya event berdasarkan clock dan timing bertugas untuk mengatur tempo
atau keceptan bus yang berbentuk seperti gambar dibawah ini :
Terdapat 2 jenis timing yakni (1) Synchronus Timing yang terdiri dari sepasang bit
1&0 dimana semua device yang ada mengikuti clock, biasanya terjadi di ujung awal clock
dan (2) Asynchronus Timing dimana event selanjutnya tidak bergantung berdasarkan clock
melainkan berdasarkan event sebelumnya.
– Synchronous:
(+) Implementasi mudah
(+) Pengujian mudah
(-) Kurang fleksibel (clock rate tetap  device dengan clock rate lebih tinggi
tidak meningkatkan performansi sistem)
– Asynchronous:
(+) Lebih fleksibel  device model lama (kecepatan rendah) dapat digunakan
bersama-sama dengan device berkecepatan lebih tinggi
4. Lebar Bus
Terbagi 2 yakni (1)Lebar Data dan (2)Lebar Address
(1.) Lebar Data disimpan dalam satu frame dan dinyatakan dalam satuan bit.
(2.) Lebar Address ditentukan dalam ukuran meory (bytes) yang mempunyai
persamaan 2x dimana x merupakan panjang address.
1303194011
IT-43-01
5. Tipe Transfer -> terdapat bermacam macam tipe transfer antara lain read, write, read after
write, read modify write, block dan lain lain.
Download