cmpd 114 : chapter 3 (chapter 4 text book)

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

Upload: karim

Post on 19-Jan-2016

87 views

Category:

Documents


4 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 2: CMPD 114 : Chapter 3  (chapter 4 text book)

Capaian Peranti I/O

+ Pemproses, memori utama dan peranti I/O dihubungkan dengan menggunakan bus.

Processor

I/O device 1

Memory

I/O device n

Bus

Figure 4.1: A single bus structure

Page 3: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 4: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 5: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 6: CMPD 114 : Chapter 3  (chapter 4 text book)

+ Rajah 4.2 di bawah menggambarkan perkakasan yg diperlukan bagi menghubungkan peranti I/O dengan bus.

Addressdecoder

Controlcircuits

Data and statusregisters

Input Device

BusAddress LinesData LinesControl Lines

I/O Interface

Figure 4.2: I/O interface for an input device

Page 7: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 8: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 9: CMPD 114 : Chapter 3  (chapter 4 text book)

KEN

SOUT

CONTROL

DATAIN

Figure 4.3 : Registers in keyboard and display interface

DEN

DATAOUT

7

KIRQ SINSTATUS

6 5 4 3 2 1 0

DIRQ

Page 10: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 11: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 12: CMPD 114 : Chapter 3  (chapter 4 text book)

Move #LINE,R0 Initializememory pointer.

WAITK TestBit #0,STATUS Test SIN.

Branch=0 WAITK Wait for character to beentered.

Move DATAIN,R1 Read character.

WAITD TestBit #1,STATUS Test SOUT.

Branch=0 WAITD Wait fordisplay to becomeready.

Move R1,DATAOUT Send charactertodisplay.

Move R1,(R0)+ Store characterandadvance pointer.

Compare #$0D,R1 Check ifCarriageReturn.

Branch0 WAITK If not, getanothercharacter.

Move #$0A,DATAOUT Otherwise,send Line Feed.

Call PROCESS Call asubroutineto process

theinputline.

Figure 4.4 A program that reads one line from the keyboard stores it in memory buffer, and echoes it back to the display.

Page 13: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 14: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 15: CMPD 114 : Chapter 3  (chapter 4 text book)

Isu-isu rekabentuk sistem I/O• Prestasi (Performance) • Expandability

Processor

Cache

Memory - I/O Bus

MainMemory

I/OController

Disk Disk

I/OController

I/OController

Graphics Network

interrupts

Page 16: CMPD 114 : Chapter 3  (chapter 4 text book)

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)

Page 17: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 18: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 19: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 20: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 21: CMPD 114 : Chapter 3  (chapter 4 text book)

– 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.

Page 22: CMPD 114 : Chapter 3  (chapter 4 text book)

– 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.

Page 23: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 24: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 25: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 26: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 27: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 28: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 29: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 30: CMPD 114 : Chapter 3  (chapter 4 text book)

~ 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.

Page 31: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 32: CMPD 114 : Chapter 3  (chapter 4 text book)

~ 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.

Page 33: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 34: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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

Page 35: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 36: CMPD 114 : Chapter 3  (chapter 4 text book)

(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.

Page 37: CMPD 114 : Chapter 3  (chapter 4 text book)

+ Rajah 4.18 di bawah menunjukkan daftar-daftar yg terdapat dalam DMA controller.

+ Ia terdiri daripada:1. Word count

~ daftar untuk menyimpan bilangan perkataan

Done

IE

IRQ

Status and control

Starting address

Word count

WR/

31 30 1 0

Figure 4.18: Registers in a DMA interface

Page 38: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 39: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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):

Page 40: CMPD 114 : Chapter 3  (chapter 4 text book)

CPUDMA

ModuleI/O I/O Memory

(a) Single-Bus, Detached DMA

CPUDMA

Module

I/O

I/O

MemoryDMA

Module

I/O

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

CPUDMA

Module

I/O

Memory

I/O I/O

(c) I/O Bus

Possible DMA configuration

System Bus

I/O Bus

Page 41: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 42: CMPD 114 : Chapter 3  (chapter 4 text book)
Page 43: CMPD 114 : Chapter 3  (chapter 4 text book)

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

Page 44: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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

Page 45: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 46: CMPD 114 : Chapter 3  (chapter 4 text book)

~ 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.

Page 47: CMPD 114 : Chapter 3  (chapter 4 text book)

• 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.

Page 48: CMPD 114 : Chapter 3  (chapter 4 text book)

• 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.

Page 49: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 50: CMPD 114 : Chapter 3  (chapter 4 text book)

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)

Page 51: CMPD 114 : Chapter 3  (chapter 4 text book)

– 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.

Page 52: CMPD 114 : Chapter 3  (chapter 4 text book)

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.

Page 53: CMPD 114 : Chapter 3  (chapter 4 text book)

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)

Page 54: CMPD 114 : Chapter 3  (chapter 4 text book)

1. Antaramuka Selari

~ 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.

BufferTo SystemBus

ToPeripheral

I/O Module

(a) Parallel I/OModule

Page 55: CMPD 114 : Chapter 3  (chapter 4 text book)

2. Antaramuka Bersiri

~ menghantar dan menerima satu bit data pada satu masa kepada atau daripada peranti.

~ hanya ada satu beberapa line yg menghubungkanantaramuka I/O dan peranti.

~ Kebanyakan digunakan untuk pencetak dan terminal.

BufferTo SystemBus

ToPeripheral

I/O Module

(a) Serial I/OModule

Page 56: CMPD 114 : Chapter 3  (chapter 4 text book)

+ 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.

Page 57: CMPD 114 : Chapter 3  (chapter 4 text book)

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.