Você está na página 1de 57

CMPD 114 : Chapter 3 (chapter 4 text book)

Organisasi Input-Output

 Capaian Peranti I/O dan Isu-isu dlm rekabentuk sistem I/O


 Sampukkan (Interrupts)
 Direct Memory Access
 Organisasi Bas
 Antaramuka I/O
Capaian Peranti I/O
+ Pemproses, memori utama dan peranti I/O
dihubungkan dengan menggunakan bus.

Processor Memory

Bus

I/O device 1 I/O device n

Figure 4.1: A single bus structure


+ Melalui kaedah memory-mapped I/O, setiap
peranti I/O diberikan satu alamat yg unik
dalam memori utama.
+ Apabila pemproses meletakkan satu alamat
pada line alamat , peranti I/O yg mengenali
alamat ini akan memberi tindakbalas terhadap
arahan yg terdapat pada line kawalan.
+ Melalui kaedah memory-mapped I/O juga,
sebarang arahan yg digunakan untuk mencapai
memori utama boleh digunakan untuk
menghantar data dari/ke peranti I/O.
+ Contoh:
Jika DATAIN adalah alamat buffer input bagi
keyboard, maka arahan di bawah ini akan
membaca data dari DATAIN dan menyimpannya
ke daftar R0.
Move DATAIN,R0
Jika DATAOUT adalah alamat buffer output bagi
satu unit paparan, arahan
Move R0, DATAOUT
akan menghantar daftar R0 ke lokasi DATAOUT.
+ Antara pemproses yg menggunakan kaedah
memory-mapped I/O ialah 68000 dan PowerPC.
+ Pendekatan lain yg digunakan ialah program-
controlled I/O di mana operasi capaian terhadap
I/O dikendalikan oleh arahan-arahan khas yg
terdapat dalam program I/O.
+ Contoh pemproses yg menggunakan kaedah ini
ialah mikropemproses Intel. Intel juga
mempunyai ruang alamat 16-bit yg dikhaskan
untuk peranti I/O. Ini bermakna, kaedah
memory-mapped juga boleh digunakan.
+ Rajah 4.2 di bawah menggambarkan
perkakasan yg diperlukan bagi
menghubungkan peranti I/O dengan bus.
Address Lines
Bus Data Lines
Control Lines

Address Control Data and status


decoder circuits registers I/O Interface

Input Device

Figure 4.2: I/O interface for an input device


+ Perkakasan ini dikenali sebagai litar antaramuka
peranti I/O.
+ Terdiri daripada:
1. Address Decoder
– membolehkan peranti I/O mengenalpasti alamat pada line
alamat adalah alamatnya.
2. Data Register
– menyimpan data dari peranti input yg akan dihantar ke
pemproses atau menerima data dari pemproses untuk
dihantar ke peranti output.
3. Status Register
– menyimpan maklumat yg berkenaan dengan operasi
peranti I/O.
3. Control Circuitry
– menyelaraskan penghantaran I/O.
+ Contoh: Operasi I/O yg melibatkan input dari
keyboard dan outputnya dipaparkan pada
monitor.
+ 4 daftar dalam rajah 4.3 di bawah digunakan
dalam operasi penghantaran data.
DATAIN

DATA OUT

STA TUS DIRQ KIRQ SOUT SIN

CONTROL DEN KEN

7 6 5 4 3 2 1 0

Figure 4.3 : Registers in keyboard and display interface


1. Daftar status
– mengandungi 2 bendera kawalan, SIN daan SOUT yg
akan memberikan maklumat kepada keyboard dan
monitor. Bendera KIRQ dan DIRQ digunakan apabila
berlakunya sampukan.
2. DATAIN
– menyimpan data yg dimasukkan melalui keyboard
sehinggalah data dihantar ke pemproses.
3. DATAOUT
– menyimpan data yg diterima dari pemproses dan akan
dihantar ke monitor.
4. Daftar Kawalan
– Terdapat 2 bendera kawalan iaitu DEN dan KEN yg
juga digunakan semasa proses sampukan.
+ Rajah 4.4 berikut menunjukkan program yg
menerima satu baris aksara dari keyboard,
menyimpannya di memory buffer bermula
pada lokasi LINE dan memanggil subrutin
untuk memproses data ini.
Move #LINE,R0 Initialize memory poin ter.
WAITK TestBit #0,ST ATUS Test SIN.
Branc h=0 WAITK Wait for character to be en tered.
Mo ve DATAIN,R1 Read character.
WAITD TestBit #1,ST ATUS Test SOUT.
Branc h=0 WAITD Wait for displa y to become ready .
Move R1,D ATAOUT Send character to displa y.
Move R1,(R0)+ Store character and advance pointer.
Compare #$0D,R1 Chec k if Carriage Return.
Branc h0 WAITK If not, get another c haracter.
Move #$0A,D ATA OUT Otherwise, send Line Feed.
Call PR OCESS Call a subroutine to pro cess
the input line.

Figure 4.4 A program that reads one line from the keyboard stores it in memory buffer, and echoes it back to the display.
+ Setiap aksara yg dibaca akan dipaparkan pada
monitor.
+ Daftar R0 digunakan sebagai pointer
(penunjuk). Kandungannya akan dikemaskini
menggunakan mod pengalamatan
autoincrement.
+ Ini ialah satu contoh program-controlled I/O,
di mana pemproses akan sentiasa memeriksa
status bendera kawalan untuk mencapai
synchronization di antara pemproses dan
peranti input.
+ Dua mekanisma lain yg digunakan bagi
melaksanakan operasi I/O ialah:
1. Interrupts (Sampukan)
– synchronization dilaksanakan dengan membenarkan
peranti I/O menghantar isyarat sampukan melalui bus
apabila peranti bersedia untuk operasi penghantaran
data.
2. Direct Memory Access (DMA)
– teknik yg digunakan oleh peranti I/O berkelajuan
tinggi di mana antaramuka peranti menghantar data
secara terus dari/ke memori tanpa pembabitan
pemproses.
Isu-isu rekabentuk sistem I/O
• Prestasi (Performance)
• Expandability
interrupts
Processor

Cache

Memory - I/O Bus

Main I/O I/O I/O


Memory Controller Controller Controller

Disk Disk Graphics Network


Prestasi Sistem I/O
• Prestasi sistem I/O bergantung kpd pelbagai aspek
sistem (“limited by weakest link in the chain”):
– The CPU
– The memory system
• Internal and external caches
• Main Memory
– The interconnection (buses)
– The I/O controller
– The I/O device
– The speed of the I/O software (Operating
System)
Expandability
• Bergantung kepada jenis bus yg digunakan
• Bagi sistem komputer yg menggunakan
kaedah single bus, ianya berupaya untuk
melakukan penambahan perkakasan ke atas
sistem komputer tersebut.
Interrupts (Sampukan)
+ Sampukan adalah satu proses yg
membenarkan satu peranti I/O yg ingin
menggunakan pemproses (samada untuk
menerima data input atau menghantar data
output) menghantar satu isyarat yg
dinamakan sampukan.
+ Pada rajah 4.4, program mengandungi wait
loop yg akan memeriksa status peranti.
+ Pada masa ini pemproses tidak akan melakukan
sebarang pemprosesan.
+ Pemproses boleh melakukan tugas-tugas lain
sementara menunggu peranti I/O bersedia.
+ Satu dari line kawalan pada bus yg dipanggil
interrupt-request line digunakan bagi tujuan ini.
+ Pemproses boleh mengarahkan antaramuka
peranti I/O mengaktifkan line (hantar isyarat
sampukan) bila ia bersedia untuk penghantaran
data.
+ Jadi, pemproses tidak perlu lagi memeriksa
status peranti luaran secara berterusan, dan ini
membolehkan pemproses melakukan fungsi-
fungsi lain semasa menunggu.
+ Contoh:
– andaikan satu tugas yg memerlukan pengiraan
dilakukan dan hasilnya akan dihantar kepada
pencetak utk dicetak.
– Program mengandungi dua rutin COMPUTE dan
PRINT. Andaikan COMPUTE menghasilkan n
baris output yg akan dicetak oleh rutin PRINT.
– Pencetak hanya menerima satu baris teks pada satu
masa, jadi rutin PRINT perlu menghantar satu baris
teks, tunggu sehingga ia dicetak dan hantar baris
seterusnya berulang-ulang hingga hasilnya
diperolehi.
– Dengan cara ini pemproses perlu menunggu
sehingga pencetak bersedia sebelum menghantar
baris berikutnya utk dicetak.
– Jika rutin COMPUTE dapat dilaksanakan semasa
percetakkan sedang dilaksanakan ia akan
menambahkan kelajuan perlaksanaan arahan bagi
mendapatkan hasil untuk dicetak.
– Ia boleh dilakukan dengan:-
1. Rutin COMPUTE dilaksanakan dahulu untuk
menghantar baris pertama output.
2. Rutin PRINT dilaksanakan untuk menghantar baris
pertama ke pencetak. Pada masa ini, semasa menunggu
baris dicetak, rutin PRINT boleh diberhentikan
sementara atau digantung (suspend), dan rutin
COMPUTE akan dilaksanakan.
3. Apabila pencetak bersedia untuk mencetak baris
seterusnya, pencetak akan memberitahu pemproses
dengan menghantar isyarat sampukan.
4. Pemproses akan menyampuk perlaksanaan rutin
COMPUTE dan memindahkan kawalan kepada rutin
PRINT.
5. Rutin PRINT akan menghantar baris kedua kepada
pencetak dan ia akan digantung semula.
6. Rutin COMPUTE akan menyambung semula
pengiraannya.
**Proses ini akan berulang sehingga n baris dicetak.
+ Dalam contoh ini rutin PRINT adalah rutin yg
akan dilaksanakan apabila isyarat sampukan
diberi, rutin PRINT ini dipanggil interrupt
service-routine.
+ Dalam setiap proses sampukan, pemproses
mestilah memberitahu peranti yg menghantar
sampukan bahawa permintaannya telah pun
dikenalpasti. Ia perlu dilakukan supaya peranti
yg menghantar isyarat menghentikan isyarat
sampukan yg dikeluarkan.
+ Untuk melaksanakan perkara ini, satu isyarat
yg dipanggil interrupt-acknowledge perlu
dikeluarkan oleh pemproses dan dibawa oleh
line kawalan bus ke peranti tersebut.
+ Perlaksanaan interrupt-service routine sama
juga seperti subrutin-subrutin lain dalam
program. Perbezaannya ialah subrutin program
melakukan fungsi yg diperlukan oleh program
yg memanggilnya, manakala interrupt service
routine tidak mempunyai kaitan dengan
program yg sedang dilaksanakan pada masa
permintaan sampukan diterima.
+ Sebelum memulakan perlaksanaan interrupt-
service routine, sebarang maklumat yg mungkin
akan diubah semasa perlaksanaan rutin tersebut
mestilah disimpan. Maklumat ini akan
di’restore’kan sebelum menyambung semula
perlaksanaan program yg disampuk.
+ Maklumat-maklumat tersebut termasuklah
condition code flags dan kandungan daftar-
daftar yg digunakan oleh kedua-dua program
yg disampuk dan interrupt-service routine.
+ Proses ini dilakukan secara automatik oleh
pemproses ataupun arahan-arahan dalam
program.
+ Interrupt latency adalah kelengahan masa
(delay) yg disebabkan oleh proses
penyimpanan dan restore maklumat. Ini kerana
proses ini melibatkan penghantaran antara
memori yg akan meningkatkan jumlah masa
dan overhead perlaksanaan.
Mengendali Beberapa Peranti
+ Beberapa peranti I/O yg boleh membuat
sampukan adalah peranti yg dihubungkan
dengan pemproses dan semua peranti ini adalah
saling tidak bergantungan antara satu sama lain.
+ Timbul masalah sekiranya terdapat lebih dari
satu peranti mengeluarkan isyarat sampukan
secara serentak pada satu masa ataupun sewaktu
peranti X diberikan perkhidmatan sampukan
(interrupt-service), peranti Y mengeluarkan
isyarat sampukan.
+ Antara masalah-masalah yg timbul ialah:
1. Bagaimana pemproses ingin mengenalpasti
peranti yg menghantar sampukan.
2. Peranti yg berbeza memerlukan interrupt-service
routine yg berbeza jadi bagaimana pemproses
mengetahui alamat permulaan rutin yg
dikehendaki.
3. Adakah peranti dibenarkan membuat sampukan
sewaktu sampukan lain sedang dijalankan.
4. Bagaimana hendak menguruskan sampukan
serentak.
Mengenalpasti peranti yang menghantar
sampukan.
~ proses sampukan bermula dengan peranti yg ingin
melakukan sampukan mengaktifkan interrupt-request
line pada bus yg dikongsi dengan peranti-peranti lain.
» Rujuk rajah 4.6
~ Isyarat sampukan yg diterima oleh pemproses diberikan
oleh
INTR = INTR1 + INTR2 + … + INTRn
~ Maklumat yg diperlukan untuk mengenalpasti peranti
disimpan di dalam daftar status peranti-peranti tersebut.
~ Apabila satu peranti menghantar isyarat sampukan, ia
akan setkan bit Interrupt-Request (IRQ) kepada 1.
~ Interrupt-service routine akan bermula dengan ‘polling’
peranti dalam turutan tertentu.
~ Peranti pertama dengan bit IRQ disetkan kepada 1 akan
dilayan oleh interrupt-service routine dengan
memanggil subrutin yg berkenaan dengan peranti
tersebut.
~ Masalah utama menggunakan teknik ‘polling’ ini ialah
masa yg lama diperuntukkan untuk menyemak bit IRQ
semua peranti termasuk juga peranti-peranti yg tidak
mengeluarkan isyarat sampukan.
Vectored Interrupt
~ dalam vectored interrupt, peranti yg melakukan
sampukan akan ‘memperkenalkan dirinya’ secara terus
kepada pemproses.
~ Ini dilakukan dengan menghantar kod khas kepada
pemproses melalui bus.
~ Kemudian pemproses akan mula melaksanakan
interrupt-service routine yg diminta oleh peranti
tersebut.
~ Kaedah ini membolehkan pemproses mengenalpasti
setiap peranti walaupun peranti-peranti tersebut
berkongsi satu interrupt request line.
~ Kod khas yg diberikan oleh peranti akan menunjukkan
alamat permulaan interrupt-service routine bagi peranti
tersebut.
~ Melalui kaedah ini, interrupt-service routine bagi
suatu peranti mesti bermula pada lokasi yg sama setiap
kali peranti tersebut melakukan sampukan.
~ Tetapi tidak semestinya setiap kali sampukan
dilakukan oleh suatu peranti, maka interrupt-service
routine yg sama dikehendaki.
~ Jadi, supaya interrupt-service routine lain dapat
dilakukan, pemproses akan menggunakan kod khas
tadi sebagai penunjuk kepada alamat permulaan
interrupt-service routine yg dikehendaki.
~ Ini bermakna, kod khas ini adalah alamat lokasi
ingatan utama yg mengandungi alamat permulaan yg
dikehendaki.
Direct Memory Access (DMA)
+ DMA merupakan satu teknik penghantaran
satu blok data di antara peranti dengan memori
utama secara terus tanpa melibatkan
pemproses.
+ Tugas ini dilakukan oleh litar kawalan dalam
peranti I/O iaitu DMA controller.
+ DMA controller membolehkan penghantaran
data secara terus antara peranti dan memori
utama tanpa melibatkan pemproses.
+ DMA controller akan melakukan tugas yg
biasanya dilakukan oleh pemproses apabila
mencapai memori utama.
+ Oleh kerana DMA controller menghantar satu
blok data ia perlu menyediakan alamat memori
dan isyarat yg digunakan untuk mengawal
penghantaran data. Ia mestilah meningkatkan
alamat memori utama mengikut bilangan byte
atau perkataan yg akan dihantar dan juga
bilangan penghantaran yg dilakukan.
+ Operasi penghantaran DMA mestilah di bawah
kawalan program yg dilaksanakan oleh
pemproses.
+ Bagi memulakan penghantaran satu blok
perkataan, pemproses akan menghantar data-
data berikut kepada DMA controller:
1. Alamat permulaan
2. Bilangan perkataan dalam blok
3. Arah penghantaran (Read/Write)
4. Alamat peranti I/O yg terlibat
+ Kemudian DMA controller akan terus
melakukan penghantaran blok data tersebut
(satu perkataan satu masa) secara terus dari
atau kepada memori utama tanpa melalui
pemproses.
+ Manakala pemproses boleh menyambung
semula perlaksanaan tugasnya.
+ Apabila keseluruhan blok telah dihantar, DMA
controller akan memberitahu pemproses
dengan menghantar isyarat sampukan.
+ Jadi, pemproses hanya terlibat semasa
permulaan dan di akhir penghantaran sahaja.
+ Rajah 4.18 di bawah menunjukkan daftar-
daftar yg terdapat dalam DMA controller.
31 30 1 0

Status and control

IRQ Done
IE R/ W

Starting address

Word count

Figure 4.18: Registers in a DMA interface

+ Ia terdiri daripada:
1. Word count
~ daftar untuk menyimpan bilangan perkataan
2. Starting address
~ daftar untuk menyimpan alamat permulaan
3. Status and control
~ daftar yg mengandungi status dan bendera kawalan.
Bit0 = Done (penghantaran telah tamat)
- bersedia untuk menerima arahan lain.
Bit1 = R/ W (Read - 1, Write - 0)
Bit30 = Interrupt-Enable
- keluarkan isyarat sampukan apabila telah
selesai hantar satu blok data.
Bit31 = telah hantar IRQ
+ Semasa penghantaran data tersebut, DMA
controller akan mengendalikan bus untuk
menghantar data kepada atau daripada memori
utama.
+ DMA controller hanya menggunakan bus bila
pemproses tidak menggunakannya.
+ DMA controller boleh memaksa pemproses
menghentikan sementara operasinya dan
proses ini dipanggil ‘cycle stealing’.
+ Mekanisma DMA boleh dikonfigurasikan
dalam beberapa cara (rujuk rajah di sebelah):
DMA
CPU I/O I/O Memory
Module

(a) Single-Bus, Detached DMA

DMA DMA
CPU Memory
Module Module

I/O
I/O I/O

(b) Single-Bus, Integrated DMA-I/O


System Bus

DMA
CPU Memory
Module

I/O Bus

I/O I/O I/O

(c) I/O Bus

Possible DMA configuration


Organisasi Bas

+ Pemproses, memori utama dan peranti I/O


dihubungkan dengan menggunakan bus.
+ Fungsi utama bus ialah menyediakan laluan
komunikasi bagi penghantaran data antara
pemproses, memori utama dan peranti I/O.
1. Bus Pemproses
+ terdiri dari 3 line:
1. Data
2. Kawalan
3. Alamat
+ Isyarat kawalan yg terlibat semasa
penghantaran data akan menentukan:
1. mod penghantaran (Read/Write)
2. isyarat masa
+ Line kawalan yg membawa mod penghantaran
disetkan kepada 1 untuk Read dan 0 untuk
Write.
+ Line kawalan yg membawa isyarat masa akan
menentukan masa untuk pemproses dan peranti
boleh meletakkan data pada bus atau menerima
data dari bus.
+ Terdapat 2 cara bagi mengukur masa
penghantaran data melalui bus iaitu dengan
menggunakan cara:
1. Synchronous
2. Asynchronous
1. Synchronous
~ penghantaran adalah berdasarkan kitaran masa
yg diberikan oleh clock yg telah ditetapkan.
~ Satu kitaran masa mewakili satu kitaran bus iaitu
masa yg diperlukan untuk melakukan satu
penghantaran data.
~ Cth. Pada rajah 4.19 di sebelah.
~ line data dan alamat pada rajah ditunjukkan sebagai
high dan low pada satu masa.
~ ini bermakna ada line yg high dan ada yg low
bergantung pada alamat atau bentuk data yang
dihantar.
~ titik yg bertemu bermaksud masa bila bentuk (pattern)
berubah.
~ line yg berada di antara high dan low ialah line yg tak
pasti status penghantaran atau dalam keadaan
berlakunya penolakan atau penentangan litar elektrik
terhadap pengaliran kuasa elektrik yg tinggi.
• Operasi Input
– rujuk rajah 4.19
– t0: pemproses meletakkan alamat peranti input pada line
alamat dan mod Read pada line kawalan.
– t1: peranti tersebut mengenalpasti bahawa operasi Read
dikehendaki dan seterusnya meletakkan data pada line data.
– t2: pemproses mengambil data pada line data dan
memasukkannya ke dalam buffer input. Pemproses
menghapuskan alamat dan mod pada bus.
• Operasi Output
– rujuk rajah 4.19
– t0: pemproses meletakkan alamat peranti output pada line
alamat, data yg hendak dioutput diletakkan pada line data dan
mod Write pada line kawalan.
– t1: peranti tersebut mengenalpasti bahawa operasi Write
dikehendaki dan seterusnya mengambil data pada line data
untuk dibawa ke buffer output pada peranti.
– t2: pemproses menghapuskan alamat dan mod pada bus.
2. Asynchronous
~ menggunakan kaedah ‘handshake’ antara pemproses
dan peranti I/O iaitu perakuan penerimaan atau
acknowledge
~ line clock digantikan dengan dua line kawalan iaitu
Ready dan Accept
~ langkah-langkah yg terlibat semasa penghantaran data
menggunakan kaedah ini adalah:
1. Pemproses meletakkan alamat dan mod operasi pada bus.
2. Pemproses akan memberitahu semua peranti bahawa langkah
1 telah dilaksanakan dengan mengaktifkan line Ready
(Ready=1).
3. Apabila peranti yg berkenaan menerima isyarat Ready, ia akan
melaksanakan operasi yg dikehendaki dan memberitahu
pemproses bahawa operasi telah dilakukan dengan
mengaktifkan line Accept.
4. Pemproses menunggu isyarat Accept sebelum ia
menghapuskan isyarat dari bus.
~ bagi operasi Read, ia juga menyimpan data ke dalam
input buffer.

• Operasi input.
– Rujuh rajah 4.20
– t0: pemproses meletakkan alamat peranti input dan mod
penghantaran pada bus.
– t1: pemproses mengaktifkan line Ready (Ready=1) untuk
memberitahu bahawa alamat dan mod telah sedia dalam bus.
– t2: antaramuka peranti yg berkenaan akan akan menerima
isyarat Ready dan kenalpasti bahawa operasi Read
dikehendaki. Data diambil dari peranti dan diletakkan pada
line data. Line Accept diaktifkan (Accept=1)
– t3: pemproses menerima isyarat Accept yang menunjukkan data
input telah berada dalam bus. Pemproses mengambil data dari
bus dan diletakkan ke dalam input buffer. Pemproses setkan
Ready kepada 0 (Ready=0)
– t4: pemproses menghapuskan alamat dan mod pada bus.
– t5: bila peranti menerima peralihan isyarat Ready dari 1 kepada
0, ia akan menghapuskan data dan isyarat Accept pada bus.
~ bagi operasi output (rajah 4.21), caranya adalah sama
seperti operasi input.
~ pada operasi output pemproses akan akan meletakkan
data ouput pada line data dan juga menghantar alamat
dan mod. Peranti yg berkenaan akan mengambil data
tersebut dan letakkan pada output buffer bila isyarat
Ready diterima dan setkan isyarat Accept kepada 1.
2. Litar Antaramuka Peranti I/O
+ Antaramuka I/O diperlukan untuk penghantaran
data antara bus komputer dan peranti I/O.
+ Fungsi-fungsi antaramuka I/O adalah:
1. Menyediakan buffer untuk menyimpan data.
2. Mengandungi bendera-bendera status yg boleh
digunakan oleh pemproses untuk mengetahui
samada buffer penuh (untuk input) atau kosong
(untuk output).
3. Mengandungi litar penyahkod-alamat (address-
decoding) untuk mengetahui bilakah peranti tersebut
dialamatkan oleh pemproses.
4. Menjanakan isyarat-isyarat masa yg diperlukan.
5. Melakukan pertukaran format yg perlu untuk
menghantar data antara bus dan peranti I/O.
+ Litar antaramuka I/O boleh dikelaskan kepada
2 jenis:
1. Antaramuka Selari (Parallel Interface)
2. Antaramuka Bersiri (Serial Interface)
1. Antaramuka Selari
I/O Module

Buffer To
To System
Bus Peripheral

(a) Parallel I/O


Module

~ menghantar dan menerima bit data secara serentak dalam


satu masa kepada atau daripada peranti.
~ terdapat beberapa line yg menghubungkan antaramuka
I/O dan peranti.
~ digunakan untuk peranti yg berkelajuan tinggi seperti
tape dan disk.
2. Antaramuka Bersiri

I/O Module

Buffer
To
To System
Peripheral
Bus

(a) Serial I/O


Module

~ menghantar dan menerima satu bit data pada satu masa


kepada atau daripada peranti.
~ hanya ada satu beberapa line yg menghubungkan
antaramuka I/O dan peranti.
~ Kebanyakan digunakan untuk pencetak dan terminal.
+ Untuk kedua-dua format, cara komunikasi
dengan bus adalah sama; perlu ubah daripada
selari kepada bersiri dan sebaliknya dan tugas
ini dilakukan oleh litar yg terdapat dalam
antaramuka.
+ Proses-proses yg terlibat antara antaramuka I/O
dengan peranti untuk operasi Write ialah:
1. Antaramuka I/O menghantar isyarat kawalan
kepada peranti untuk meminta kebenaran bagi
menghantar data.
2. Peranti acknowledge permintaan tersebut.
3. Antaramuka I/O menghantar data (satu perkataan
atau satu blok bergantung kepada peranti)
4. Peranti acknowledge penerimaan data.
+ Bagi operasi Read, proses yg sama juga terlibat.

Você também pode gostar