Anda di halaman 1dari 31

2.

5 Modul I/O
2.5.1 Tujuan dan fungsi modul i/o

Tujuan modul I/O adalah untuk menjembatani peripheral

dengan CPU dan memori dan untuk menjembatani CPU dan

memori dengan satu atau beberapa peripheral

Funsgi modul i/o:

1. Control and Timing

2. CPU Communicating

3. Device Communication

4. Data Buffering

5. Error Detection
1. Control and Timing

Modul I/O berfungsi sebagai pengatur aliran data

antara resource internal (CPU, memori) dengan

device eksternal. Contoh prosedur transfer data

dari device ke CPU:

 CPU memeriksa status device melalui modul

I/O

 Device memberikan statusnya melalui modul

I/O

 Jika ready, CPU minta agar device

mengirimkan data

 Modul I/O menerima data dari device


 Modul I/O mengirimkan data ke CPU

2. CPU Communicating

Modul I/O berfungsi sebagai media komunikasi

dari CPU menuju device eksternal. Antara yang

modul I/O lakukan ialah :

 Men-decode command dari CPU

->Contoh perintah untuk harddisk: READ SECTOR,

WRITE SECTOR, SEEK track number, dan SCAN

record ID

 Menjadi media untuk pertukaran data

 Melaporkan status device (status reporting)

->Misal: BUSY atau READY


 Memeriksa/men-decode alamat yang

dikirimkan oleh CPU (address recognition)

3. Device Communication

Modul I/O berfungsi sebagai media komunikasi

dari deviceeksternal menuju CPU. Apa yang

dilakukan modul I/O ?

 Meneruskan perintah/ commanddari CPU ke

device

 Meneruskan status dari device ke CPU

 Meneruskan data dari device ke CPU

4. Data Buffering
 Modul I/O berfungsi sebagai penampung

data sementara baik dari CPU/memori

maupun dari peripheral.

Mengapa data perlu di-buffer?

 Kecepatan device sangat beragam

 Kecepatan device (CPU)

Contoh:

Data dari CPU :

- Langsung ditaruh di buffer

- Diberikan ke device sesuai dengan kecepatan

(“daya serap”) device


Data dari device :

- Dikumpulkan dulu di buffer

- Setelah periode tertentu baru dikirimkan ke CPU

-> lebih efektif

5. Error Detection

Modul I/O berfungsi sebagai pendeteksi kesalahan

yang ditimbulkan oleh device.

Antara contoh kesalahan ialah :

 Paper jam

 Bad sector
 Kertas habis

 Terjadi perubahan bit-bit data

2.5.2 Struktur modul i/o

   Terdapat berbagai macam modul I/O seiring

perkembangan komputer itu sendiri, contoh yang sederhana

dan fleksibel adalah intel  8255A yang sering disebut PPI

(Programmable Periperhal Interface). Bagaimanapun

komplesitas suatu modul I/O terdapat kemiripan struktur,.

 Antarmuka modul I/O ke CPU melalui bus sistem

komputer terdapat tiga saluran, yaitu saluran data, saluran

alamat dan saluran kontrol. Bagian terpenting adalah blok

logika I/O yang berhubungan dengan semua peralatan


antarmuka periperhal, terdapat fungsi pengaturan dan

switching pada blok ini.

Klasifikasi Perintah I/O

1. Perintah control.

    Perintah ini digunkan untuk mengaktivasi perangkat

peripheral dan

    memberitahukan tugas yang diperintahkan padanya.

2. Perintah test.

    Perintah ini digunakan CPU untuk menguji berbagai kondisi

status   
    modul I/O dan peripheralnya. CPU perlu mengetahui

perangkat   

    peripheralnya dalam keadaan aktif dan siap digunakan, juga

untuk    

    mengetahui operasi operasi I/O yang dijalankan serta

mendeteksi  

    kesalahannya.

3. Perintah read.

    Perintah pada modul I/O untuk mengambil suatu paket data

kemudian

    Menaruh dalam buffer internal. Proses selanjutnya paket

data dikirim    
    melalui bus data setelah terjadi sinkronisasi data maupun

kecepatan    

    transfernya.

4. Perintah write.

    Perintah ini kebalikan dari read. CPU memerintahkan modul

I/O

    untuk mengambil data dari bus data untuk diberikan pada

perangkat

    peripheral tujuan data tersebut.


2.5.3 Teknik Penanganan Input/Output

   Terdapat dua buah teknik operasi I/O, yaitu : I/O

terprogram, dan interrupt-driven I/O. Keduanya memiliki

keunggulan dan kelemahan, yang penggunanya disesuaikan

sesuai unjuk kerja masing - masing teknik.

 I/O Terprogram

Pada I/O terprogram, data saling dipertukarkan antara

CPU dan modul I/O. CPU mengeksekusi program yang

memberikan operasi I/O kepada CPU secara langsung seperti


pemindahan data, pengiriman perintah baca atau tulis dan

monitoring perangkat. 

I/O terprogram mempunyai kelemahan sebagai berikut :

1. CPU akan menunggu sampai operasi I/O selesai

dilakukan modul I/O sehingga akan membuang waktu, CPU

lebih cepat proses operasinya.

2. Dalam teknik ini, modul I/O tidak dapat melakukan

interupsi kepada CPU terhadap proses – proses yang

diinteruksikan padanya.
3. Seluruh proses merupakan tanggung jawab CPU sampai

operasi lengkap dilaksanakan

Untuk melaksanakan perintah-perintah I/O, CPU akan

mengeluarkan sebuah alamat bagi modul I/O dan perangkat

periperhalnya sehingga terspesifikasi secara khusus dan

sebuah perintah I/O yang akan dilakukan.

Terdapat empat klasifikasi perintah input/output, yaitu:

1. Perintah Control yaitu perintah yang digunakan untuk

mengaktivasi perangkat periperhal


2. Perintah Test, yaitu perintah yang digunakan CPU untuk

menguji berbagai kondisi status modul I/O

3. Perintah Read, yaitu perintah pada modul I/O untuk

mengambil suatu paket data

4. Perintah Write, Perintah ini kebalikan dari read. CPU

memerintahkan modul I/O untuk mengambil data.

       Dalam teknik I/O terprogram, terdapat dua macam

implementasi perintah I/O yang tertuang dalam instruksi I/O,

yaitu memory mapped I/O dan isolated I/O.

Dalam memory mapped I/O, terdapat ruang tunggal

untuk lokasi memori dan perangkat I/O. CPU memperlakukan


register status dan register data pada modul I/O sebagai lokasi

memori dan menggunakan instruksi mesin yang sama untuk

mengakses baik memori maupun perangkat I/O.

Konsekuensinya adalah diperlukan saluran tunggal untuk

pembacaan dan saluran tunggal untuk penulisan. Keuntungan

memory mapped ini adalah efisien dalam pemrograman namun

memakan banyak ruang memory alamat.

      Dalam teknik isolated I/O, dilakukan pemisahan ruang

pengalamatan bagi memori dan ruang pengalamatan bagi I/O.

Dengan teknik ini diperlukan bus yang dilengkapi dengan

pembacaan dan penulisan memori ditambah dengan saluran


perintah output. Kesuntungan isolated I/O adalah sedikitnya

instruksi I/O.

 Interrupt - Driven I/O

     Teknik interupt driven I/O memungkinkan proses

memungkinkan proses tidak membuang-buang waktu.

Prosesnya adalah CPU mengeluarkan perintah I/O pada

modul I/O, bersamaan perintah I/O dijalankan oleh modul I/O,

maka CPU melakukan eksekusi perintah-perintah lainnya.


Apabila modul I/O telas selesai menjalankan instruksi yang

diberikan padanya, maka modul I/O tersebut kemudian akan

memberikan interupsi  pada CPU bahwa tugasnya telah selesai.

Dalam teknik ini kendali perintah masih menjadi

tanggung jawab CPU, baik pengambilan perintah dari memori

maupun pelaksanaan isi perintah tersebut. Terdapat selangkah

kemajuan dari teknik sebelumnya, yaitu  CPU melakukan

multitasking beberapa perintah sekaligus sehingga tidak ada

waktu tunggu bagi  CPU.


Cara kerja teknik interupsi di sisi modul I/O adalah modul

I/O menerima perintah, misalnya read. Kemudian modul I/O

melaksanakan perintah pembacaan dari periperhal dan

meletakkan paket data ke register data modul I/O, selanjutnya

modul mengeluarkan sinyal interupsi ke CPU melalui saluran

kontrol. Kemudian mosul menunggu datanya diminta CPU.

Saat permintaan terjadi, modul meletakkan data pada bus data

dan modul siap menerima perintah selanjutnya.Pengolahan

interupsi saat perangkat I/O telah menyelesaikan sebuah

operasi I/O adalah sebagai berikut:

1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.


2. CPU menyelesaikan operasi yang sedang dijalankan

kemudian merespon interupsi.

3. CPU mempersiapkan pengontrolan transfer routine interupsi.

Hal yang dilakukan adalah  menyimpan.

5. Kemudian CPU akan menyimpan PC (Program Counter)

eksekusi sebelum interupsi ke stack pengontrol perangkat I/O

untuk menghentikan interupsinya.

6. Selanjutnya CPU memproses interupsi sampai selesai.

7. Apabila pengolahan interupsi selesai, CPU akan memanggil

kembali informasi yang telah disimpan pada stack pengontrol

untuk meneruskan operasi sebelum interupsi.


      Terdapat bermacam teknik yang digunakan CPU untuk

menangani interupsi ini diantaranya adalah Multiple interupt

lines, Software poll, Daisy Chain, Arbitrasi bus. Teknik yang

paling sederhana adalah menggunakan saluran interupsi

berjumlah banyak (Multiple Interupt Lines) antara CPU dengan

modul-modul I/O. Namun tidak praktis untuk menggunakan

sejumlah saluran interupsi modul - modul I/O. 

       Alternatif lainnya menggunakan software poll. Prosesnya

apabila CPU mengetahui adanya interupsi, maka CPU akan


menuju ke routine layanan interupsi yang tugasnya

melakkukan poll seluruh modul I/O untuk menentukan modul

yang akan melakukan interupsi. Kerugian software poll adalah

memerlukan waktu yang lama karena harus mengidentifikasi

seluruh modul untuk mengetahui modul i/o yang melakukan

interupsi.

      Teknik yang lebih efisien adalah daisy chain,  yang

menggunakan hardware poll.  Seluruh modul yang tersambung

dalam saluran interupsi CPU secara melingkar (chain). Apabila

ada permintaan interupsi, maka CPU akan menjalankan sinyal


acknoledgement yang berjalan pada saluran interupsi sampai

menjumpai modul I/O yang mengirimkan interupsi.

       Teknik berikutnya adalah arbitrasi bus. Dalam metode ini,

pertama-tama modul I/O memperoleh kontrol bus sebelum

modul sebelum modul ini menggunakan saluran permintaan

interupsi. Dengan demikian hanya akan terdapat sebuah modul

I/O yang dapat melakukan interupsi.

2.5.4 Jenis Pengalamatan I/O

• Direct Addresing

Dalam mode pengalamatan direct addressing, harga yang akan

dipakai diambil langsung dalam alamat memori lain.


Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data

dari RAM internal dengan alamat 30h dan kemudian disimpan

dalam akumulator. Mode pengalamatan ini cukup cepat,

meskipun harga yang didapat tidak langsung seperti

immediate, namun cukup cepat karena disimpan dalam RAM

internal. Demikian pula akan lebih mudah menggunakan mode

ini daripada mode immediate karena harga yang didapat bisa

dari lokasi memori yang mungkin variabel.

• Indirect Addresing

Mode pengalamatan indirect addressing sangat berguna

karena dapat memberikan fleksibilitas tinggi dalam

mengalamati suatu harga. Mode ini pula satu-satunya cara

untuk mengakses 128 byte lebih dari RAM internal pada


keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut,

89C51 akan mengambil harga yang berada pada alamat

memori yang ditunjukkan oleh isi dari R0 dan kemudian

mengisikannya ke akumulator. Mode pengalamatan indirect

addressing selalu merujuk pada RAM internal dan tidak pernah

merujuk pada SFR. Karena itu, menggunakan mode ini untuk

mengalamati alamat lebih dari 7Fh hanya digunakan untuk

keluarga 8052 yang memiliki 256 byte spasi RAM internal.

• Immediate Addresing

Mode pengalamatan immediate addressing sangat umum

dipakai karena harga yang akan disimpan dalam memori

langsung mengikuti kode operasi dalam memori. Dengan kata

lain, tidak diperlukan pengambilan harga dari alamat lain untuk


disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut,

akumulator akan diisi dengan harga yang langsung

mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat

karena harga yang dipakai langsung tersedia.

2.5.5 Interfacing

 Pengaturan mode operasi pada register kontrol dilakukan

oleh mikroprosesor

 Mode 0, ketiga port berfungsi sebagai tiga port

I/O 8 bit

 Mode lain dapat port A dan port B sebagai port

I/O 8 bit, sedangkan port C sebagai pengontrol

saluran port A dan B


PPI Intel 8255A dapat diprogram untuk mengontrol berbagai

peripheral sederhana

A1 A0 SELECTION
Modul I/O PPI 8255
0 0 PORT A

0 1 PORT B

1 0 PORT C

1 1 CONTROL
Modul I/O PPI 8255 Bagian kanan dari blok diagram Intel
8255A
24 saluran antarmuka luar
 8 bit port A
 8 bit port B
 4 bit port CA dan 4 bit port CB
 Saluran tersebut dapat diprogram dari mikroprosesor
8086 dengan menggunakan register kontrol untuk
menentukan bermacam – macam mode operasi dan
konfigurasinya.
 Bagian kiri blok diagram merupakan interface internal
dengan mikroprosesor 8086.
 8 bus data dua arah (D0 – D7)
 bus alamat
 bus kontrol yang terdiri atas saluran CHIP SELECT,
READ, WRITE, dan RESET
Interface kayboard dan display dengan Intel 8255A

2.5.6 Transfer Data


Instruksi tranfer data harus menetapkan :
– Lokasi operand sumber
– Lokasi operand tujuan
– Panjang data yang akan dipindahkan
– Mode pengalamatannya
Apabila sebuah atau kedua operand berada di dalam memori,
maka CPU harus melakukan sebagian atau seluruh tindakan
berikut :
1. Menghitung alamat memori, yang didasarkan pada mode
alamatnya.
2. Apabila alamat mengacu pada virtual memori harus dicari
alamat memori sebenarnya.
3. Menentukan apakah alamat berada dalam cache memori.
4. Bila di cache tidak ada, dikeluarkan perintah ke modul
memori

2.5.7 Sistem processor I/O


 Memerintahkan read

 Melakukan kerja yang lain

 Cek untuk interrupt disetiap akhir putaran Instruksi

 Dilakukan interrupt, jika:

1. `Menyimpan data (register)

2. `Proses interrupt

 Mendapatkan data & menyimpannya

Anda mungkin juga menyukai