Anda di halaman 1dari 33

ARSITEKTUR DAN ORGANISASI KOMPUTER

Aditya Wikan Mahastama

mahas@ukdw.ac.id

Pengaturan Transfer Data


dan Modul Input-Output

2
UNIV KRISTEN DUTA WACANA GENAP 1213 v2

Komunikasi Antar Komponen Komputer


Siapa, Apa dan Bagaimana?
Program, Data

Memori (RAM)

Storage
Data, Instruksi, Alamat

Program, Data,
Alamat

Data, Instruksi, Alamat

Data, Instruksi, Alamat

CPU

External
Devices
Data, Interrupt (dari controller)

External Device
Untuk berkomunikasi (melakukan perpindahan
data) antara lingkungan luar komputer dengan
komputer itu sendiri, digunakan external device
External device yang terhubung ke sebuah
modul I/O disebut periferal.
In computer hardware, a peripheral device is any
device attached to a computer in order to expand
its functionality (basically input and output devices
together are known as peripherals).

Kategori External Device


Human readable: untuk berkomunikasi dengan
pengguna komputer. Contoh: monitor, printer,
keyboard.
Machine readable: untuk berkomunikasi
dengan sesama peralatan. Contoh: hard disk,
sensor, aktuator.
Communication: untuk berkomunikasi dengan
device di tempat lain. Contoh: LAN card,
modem

Latar Belakang: tentang I/O


Input / Output: komunikasi dan transfer data antara
periferal dengan CPU (dan memory jika dengan
DMA)
Banyak variasi periferal dengan metode operasi
yang bermacam-macam, diantaranya:
Kecepatan transfer data periferal kebanyakan lebih
lambat, tetapi ada yang lebih cepat dari kecepatan
memory dan prosesor satu kecepatan bus saja
tidak efisien.
Tiap periferal dapat memiliki format data dan
panjang word yang berbeda-beda

Word?
A measurement unit of a pack of data sent at
one time, in bits
E.g 16 bits, 32 bits, 64 bits and so on
Different for each bus system and storage
system

Contoh data rate I/O:

Oleh karena itu dibutuhkan sebuah modul yang


bertugas sebagai:
Interface (penghubung/perantara) dari periferal ke
memory dan prosesor melalui system bus
Interface ke sesama periferal
Penyelaras data sebelum ditransfer melalui system
bus

Modul Input / Output

Topologi modul I/O secara sederhana:

Posisi Modul I/O


Program, Data

Memori (RAM)

Storage
Data, Instruksi, Alamat

Program, Data,
Alamat

Data, Instruksi, Alamat


Data, Instruksi,
Alamat

Data, Instruksi,

External
Devices

Modul I/O
(controller)

CPU
Data,
Interrupt

Data

Guna Modul I/O


Control dan Timing: mensinkronisasikan
kecepatan transfer dan mengetahui status
periferal
Komunikasi Periferal dengan Prosesor: untuk
mengirimkan data dan control (perintah) dari
prosesor ke periferal
Komunikasi antar periferal se-modul
Data Buffering (penampung data sementara)
Deteksi Error yang terjadi pada periferal, dan
melaporkannya pada prosesor

PEN
D IK

TIN G I
HU
A
T
E

Status Bit

Tiap periferal punya status bit yang tercatat di


dalam modul I/O yang terhubung dengannya.
Tipe status bit:
Ready: siap menerima instruksi
Wait: sedang mengoperasikan sebuah instruksi
/ sedang menunggu hasil instruksi
Error: sedang dalam kondisi salah

PEN
D IK

TIN G I
HU
A
T
E

Status Bit

Status bit diupdate oleh Modul I/O yang


menangani periferal tersebut, dengan siklus:

Ready

Running

Accomplished

Waiting

Not accomplished

Error

Langkah operasi Modul I/O


CPU cek status periferal pada modul I/O
dengan mengirimkan alamatnya
Jika status ready, CPU melakukan request
untuk operasi dengan mengirimkan instruksi
yang diinginkan.
Modul I/O akan mengerjakan instruksi
tersebut.
Misal instruksi adalah baca data, selanjutnya:
Modul I/O menarik data dari periferal

Detail Langkah Pengiriman Instruksi Modul I/O

CPU mengirimkan alamat (address)


Untuk mengidentifikasi modul (dan device
(periferal) jika ada >1 per modul)

CPU mengirimkan instruksi (command)


Test - check status
Ready, Running/Waiting atau Error

Read/Write
Modul mentransfer data di buffer dari/ke periferal

Control - memberitahu modul apa yang mau


dikerjakan oleh periferal
Misal gerakkan head, putar disk

Kemampuan Lain Modul I/O


Menyembunyikan properti-properti periferal
terhadap CPU (tidak semua properti dapat
diketahui CPU)
Satu modul I/O mampu mensupport satu atau
lebih periferal
Mengontrol fungsi periferal sesuai perintah
CPU (tidak hanya mengirimkan data)
Menerapkan apa yang diinginkan sistem
operasi terhadap periferal

Skema Dasar Modul I/O

R
I
P
MAM N TAR
E
B
E
S

Apa Itu Register?

Register adalah memori sangat cepat dengan


ukuran sangat kecil yang tertanam pada
beberapa komponen komputer. Ukurannya
hanya beberapa bit saja, misal 128-bit.
Digunakan untuk menyimpan instruksi, alamat
dan tampungan kalkulasi.
Komponen komputer yang memiliki register di
antaranya adalah CPU dan Modul I/O.
Register dapat berfungsi sebagai memori buffer
(penampung sementara saat sinkronisasi) tetapi
dapat saja ada buffer terpisah yang ukurannya
lebih besar, tetapi lebih lambat.

Teknik Pengendalian I/O


Programmed
Interrupt driven
Direct Memory Access (DMA)

Programmed I/O
CPU memiliki kontrol langsung terhadap proses
I/O
Membaca status (ready, error dsb)
Memberi instruksi untuk menggerakkan
periferal
Mentransfer data
CPU menunggu sampai modul I/O selesai
mengerjakan suatu operasi sebelum
mengirimkan instruksi berikutnya

Programmed I/O Detail proses


CPU merequest untuk melakukan operasi I/O
Modul I/O melaksanakan operasi ke periferal
Modul I/O men-set bit status  berisi hasil
operasinya
CPU mengecek status bits secara periodik (tiap
beberapa clock), kalau belum ada perubahan,
tunggu. Kalau ada, bereaksi
Berarti modul I/O tidak menginformasikan
status secara langsung ke CPU
Modul I/O tidak bisa menginterrupt CPU

Interrupt Driven I/O


CPU tetap memiliki kontrol langsung seperti pada
Programmed I/O kecuali untuk membaca status
Modul I/O menginterrupt CPU ketika sudah siap
atau terjadi perubahan status
CPU tidak menunggu sampai sebuah operasi
selesai kerjakan
Kelebihan:
Meniadakan waktu tunggu CPU

R
I
P
MAM N TAR
E
B
E
S

Apa Itu Interrupt?

Setiap periferal atau komponen yang terhubung


ke komputer, tidak bisa mengirimkan data
apapun atas kehendak sendiri
Hal ini menyulitkan proses I/O karena semua
harus dipantau oleh CPU lewat modul I/O
Interrupt adalah sinyal yang dikirimkan oleh
sebuah modul I/O untuk meminta perhatian
CPU, supaya CPU membaca status sebuah
periferal
Interrupt adalah satu-satunya sinyal yang dapat
diterima CPU tanpa sekehendaknya

Interrupt Driven I/O Detail proses


CPU merequest untuk melakukan operasi I/O
Modul I/O melaksanakan operasi ke periferal
Sementara itu CPU dapat melakukan kegiatan
yang lain (melaksanakan proses berikutnya)
Modul I/O menginterrupt CPU untuk
memberitahukan status hasil operasinya
CPU bereaksi atas status tersebut

Direct Memory Access


Interrupt driven dan programmed I/O
membutuhkan intervensi langsung CPU
Transfer rate menjadi terbatas, dan CPU
menjadi terikat pada modul I/O

DMA dibuat untuk mengambil alih


pengaturan I/O dari CPU
DMA Controller dapat merupakan controller
terpisah dari Modul I/O (bisa berupa chip
terpisah pada motherboard), dan belum
tentu terhubung langsung ke periferal

Direct Memory Access Detail proses


CPU memberi tahu DMA controller:
Apa instruksinya
Alamat periferalnya
Alamat awal blok memory, tempat data
Jumlah data yang akan ditransfer

CPU melanjutkan pekerjaan lainnya


DMA controller melaksanakan operasi
DMA controller mengirim interrupt ke CPU
saat seluruh operasi selesai

DMA Transfer = Cycle Stealing


Dalam menjalankan pelimpahan tugas dari CPU, DMA
diberi hak khusus sebagai satu-satunya komponen yang
dapat mengakses memori secara langsung tanpa
melewati CPU
Untuk itu saat bertransfer dengan memori, DMA
controller mengambil alih siklus bus kemudian
mentransfer satu word data, sehingga CPU di-suspend
sesaat sebelum mengakses bus, ketika bus dipakai DMA
controller
Suspend memperlambat CPU tetapi tidak selambat jika
CPU sendiri yang melakukan transfer, karena CPU tidak
berganti konteks (menerima interrupt atau membaca
status dsb.)

Direct Memory Access


Program, Data

Memori (RAM)

Storage
Data, Instruksi, Alamat

Program,
Data,
Alamat

Data,
Instruksi,
Alamat

Data
Instruksi, data
alamat periferal

Instruksi, data
alamat periferal,
alamat memori

CPU

DMA
Data,
Interrupt

Data, Instruksi,

External
Devices

Modul I/O
Data,
Interrupt

Data

Konfigurasi DMA (1)

Single Bus, DMA controller terpisah dari


Modul I/O
Sekali transfer menggunakan bus dua kali
Modul I/O ke DMA kemudian DMA ke memory

CPU disuspend dua kali

R
I
P
MAM N TAR
E
B
E
S

Apa Itu CPU Suspend?

Ketika DMA controller menggunakan haknya


untuk mengakses memori secara langsung, ia
akan menggunakan seluruh atau sebagian dari
arsitektur bus sistem guna menjangkau memori
Saat itu terjadi, maka DMA akan mengirimkan
sinyal untuk memberi tahu bahwa CPU tidak
boleh menggunakan giliran bus, sehingga CPU
harus menahan diri untuk tidak mengirimkan
instruksi/data lewat bus (memakai satu siklus
bus)

Konfigurasi DMA (2)

Single Bus, DMA controller terintegrasi dengan


Modul I/O
Controller dapat mensupport >1 periferal
Sekali transfer menggunakan bus satu kali
DMA controller ke memory

CPU disuspend satu kali

Konfigurasi DMA (3)

Memiliki I/O Bus tersendiri


Bus mensupport semua periferal yang bisa DMA
Sekali transfer menggunakan bus satu kali
DMA controller ke memory

CPU disuspend satu kali

Demikian Materi Hari Ini


Topik Berikutnya: Program dan Interrupt