BAB II
PEMBAHASAN
1.
Sistem Bus
Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat
I/O. Setiap komponen saling berhubungan membentuk kesatuan fungsi. Sistem
bus adalah penghubung bagi keseluruhan komponen komputer dalam
menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu komputer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga
kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
Era saat ini memerlukan saluran data atau bus yang
handal. Kecepatan komponen
penyusun komputer tidak akan berarti kalau tidak
diimbangi kecepatan dan manajemen bus yang
baik. Trend
mikroprosesor
saat ini adalah melakukan pekerjaan secara paralel dan program
dijalankan
secara multitasking menuntut sistem bus tidak hanya lebar tapi juga cepat.
Dalam pembahasan ini akan kita pelajari bagaimana interkoneksi komponen sistem komputer
dalam menjalankan fungsinya, interkoneksi bus dan juga pertimbangan – pertimbangan
perancangan bus. Bagian akhir akan disajikan contoh
– contoh bus yang berkembang saat ini.
1.1 Struktur Interkoneksi
Kompulan lintasan atau saluran berbagai modul disebut struktur
interkoneksi. Rancanagan struktur interkoneksi sangat bergantung pada
jenis dan karakteristik pertukaran
datanya.
Gambar 7.1 menyajikan jenis pertukaran data yang
diperlukan oleh modul –
modul penyusun komputer :
·
Memori :
Memori umumnya terdiri atas N word memori dengan panjang
yang sama. Masing – masing
word diberi alamat numerik yang
unik (0, 1, 2, …N-1).
Word dapat dibaca maupun
ditulis pada memori dengan kontrol Read dan Write. Lokasi bagi operasi dispesifikasikan oleh
sebuah alamat.
·
Modul I/O :
Operasi modul I/O adalah pertukaran data dari dan ke dalam
komputer. Berdasakan pandangan internal, modul
I/O
dipandang
sebagai sebuah
memori dengan operasi pembacaan dan penulisan. Seperti telah dijelaskan bahwa modul I/O
dapat mengontrol lebih dari
sebuah perangkat peripheral.
Modul I/O juga dapat mengirimkan sinyal interrupt.
·
CPU :
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine – routine program yang diberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga
sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem
komputer.
|
Dari jenis pertukaran data yang
diperlukan modul –
modul komputer, maka struktur
interkoneksi harus mendukung perpindahan
data
berikut :
·
Memori ke CPU : CPU melakukan
pembacaan data maupun instruksi dari memori.
·
CPU ke Memori : CPU melakukan
penyimpanan atau
penulisan data ke memori.
·
I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
·
CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
·
I/O ke Memori atau dari Memori : digunakan pada
sistem DMA.
Sampai saat ini terjadi perkembangan struktur interkoneksi, namun yang
banyak digunakan saat ini adalah sistem bus. Sistem
bus ada yang digunakan secara tunggal dan ada
secara jamak,
tergantung karakteristik sistemnya.
1.2 Interkoneksi
Bus
Bus merupakan lintasan komunikasi yang
menghubungkan dua atau
lebih
komponen
komputer.
Sifat penting dan merupakan syarat utama bus adalah media transmisi yang dapat digunakan bersama oleh sejumlah perangkat yang terhubung padanya.
Karena digunakan
bersama,
diperlukan aturan main agar
tidak
terjadi tabrakan data
atau kerusakan data yang ditransmisikan. Walaupun digunakan bersama namun dalam satu waktu hanya ada sebuah
perangkat yang dapat menggunakan
bus.
1.2.1
Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8
saluran sehingga
dalam satu
waktu dapat mentransfer
data 8 bit.
Secara umum fungsi
saluran bus dikatagorikan dalam tiga bagian, yaitu saluran data, saluran alamat dan saluran kontrol, seperti
terlihat pada gambar 7.2.
|
Saluran data (data bus) adalah lintasan bagi
perpindahan data
antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran dengan tujuan agar mentransfer word dalam sekali waktu. Jumlah
saluran dalam bus data dikatakan
lebar bus, dengan satuan bit,
misal lebar bus 16 bit.
Saluran alamat (address bus)
digunakan untuk
menspesifikasi sumber dan tujuan data
pada bus data. Saluran ini digunakan untuk mengirim alamat word pada memori yang akan
diakses CPU. Juga digunakan untuk saluran alamat perangkat modul komputer saat CPU
mengakses suatu modul. Perlu diketahui, semua peralatan yang
terhubung
dengan sistem komputer, agar dapat diakses harus memiliki alamat. Semisal mengakses port I/O,
maka port I/O harus memiliki alamat hardware-nya.
Saluran kontrol (control bus) digunakan untuk
mengontrol bus data,
bus alamat dan seluruh modul yang
ada. Karena bus data dan bus
alamat digunakan oleh
semua
komponen
maka
diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini. Sinyal – sinyal kontrol terdiri
atas sinyal pewaktuan
dan
sinyal
–
sinyal
perintah.
Sinyal
pewaktuan
menandakan validitas data dan alamat, sedengkan sinyal perintah berfungsi membentuk
suatu operasi. Secara umum saluran
kontrol meliputi :
·
Memory Write, memerintahkan
data
pada bus akan
dituliskan ke dalam lokasi alamat.
·
Momory Read
memerintahkan data dari lokasi alamat ditempatkan pada
bus data.
·
I/O Write, memerintahkan
data
pada bus dikirim ke lokasi port I/O.
·
I/O Read, memerintahkan
data
dari port I/O ditempatkan
pada bus data.
·
Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan
pada bus.
·
Bus Request, menunjukkan
bahwa modul memerlukan kontrol bus.
·
Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol bus.
·
Interrupt Request, menandakan adanya penangguhan
interupsi dari modul.
·
Interrupt ACK,
menunjukkan penangguhan
interupsi telah
diketahui CPU.
·
Clock, kontrol untuk sinkronisasi operasi antar modul.
·
Reset,
digunakan
untuk menginisialisasi seluruh
modul.
Secara fisik
bus adalah konduktor listrik paralel yang menghubungkan modul – modul.
Konduktor ini biasanya adalah
saluran utama pada PCB
motherboard
dengan layout tertentu sehingga didapat fleksibilitas penggunaan. Untuk modul I/O biasanya dibuat slot bus yang mudah
dipasang dan dilepas, seperti slot PCI dan ISA. Sedangkan untuk chips akan terhubung melalui pinnya.
Prinsip operasi bus adalah
sebagai berikut.
Operasi pengiriman data ke modul lainnya :
1.
Meminta penggunaan
bus.
2.
Apabila telah
disetujui,
modul akan memindahkan data yang diinginkan ke modul yang dituju.
Operasi meminta data dari modul lainnya :
1.
Meminta penggunaan
bus.
2.
Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang
sesuai.
3.
Menunggu modul yang dituju
mengirimkan data yang diinginkan.
1.2.2 Hierarki Multiple Bus
Bila terlalu banyak modul
atau
perangkat dihubungkan
pada bus maka akan terjadi
penurunan kinerja,
yang
disebabkan oleh :
·
Semakin
besar delay propagasi untuk mengkoordinasikan penggunaan
bus.
·
Antrian penggunaan
bus semakin panjang.
·
Dimungkinkan
habisnya kapasitas transfer bus sehingga memperlambat data.
Antisipasi dan solusi persoalan di atas adalah penggunaan bus jamak
yang hierarkis. Modul – modul dikalasifikasikan berdasarkan kebutuhan terhadap lebar
dan kecepatan bus. Bus biasanya terdiri atas bus lokal,
bus sistem, dan bus ekspansi. Gambar 8.3
dan gambar 8.4 berikut
menyajikan contoh
hierarki penggunaan
bus jamak.
Terlihat pada gambar 7.3 dan gambar 7.4,
Prosesor,
cache memori dan memori utama terletak
pada bus tersendiri pada level tertinggi karena modul – modul tersebut memiliki
karakteristik pertukaran data yang
tinggi. Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua, yaitu yang memerlukan transfer data
berkecepatan tinggi dan
berkecepatan rendah. Modul dengan transfer data berkecepatan
tinggi disambungkan
dengan bus berkecepatan tinggi pula, sedangkan modul yang tidak
memerlukan
transfer
data cepat disambungkan pada
bus ekspansi.
Keuntungan hierarki bus jamak kinerja tinggi pada gambar 7.4 adalah bus berkecepatan
tinggi lebih terintegrasi dengan prosesor. Perubahan pada arsitektur prosesor tidak
begitu
mempengaruhi kinerja bus.

Gambar 7.3
Arsitektur bus jamak tradisional

Gambar 7.4
Arsitektur bus jamak kinerja tinggi
1.2.3 Elemen Perancangan Bus
Saat ini terdapat banyak implementasi sistem bus, tetapi parameter dasar perancangan bus
dapat diklasifikasikan berdasarkan jenis (dedicated
dan mulitiplexed), metode arbitrasi (tersentralisasi dan terdistribusi), timing
(sinkron dan tak
sinkron), lebar bus (lebar address dan
lebar data) dan jenis transfer datanya(read, write,
read-modify-write,
read-alter-write, block).
Tujuan yang hendak dicapai dalam
perancangan adalah bagaimana bus dapat cepat
menghantarkan data dan efisiensinya tinggi. Intinya karakteristik pertukaran
data
dan modul yang
terkait merupakan
pertimbangan utama dalam perancangan bus.
1.3 Jenis Bus
Berdasar
jenis
busnya,
bus
dibedakan
menjadi
bus
yang khusus
menyalurkan
data tertentu, misalnya paket data saja, atau alamat saja, jenis ini disebut dedicated
bus. Namun apabila bus
dilalukan informasi yang berbeda baik
data, alamat maupun sinyal kontrol dengan metode
multipleks data maka bus ini disebut multiplexed
bus.
Keuntungan mulitiplexed bus adalah hanya
memerlukan
saluran sedikit sehingga
dapat menghemat tempat, namun
kerugiannya adalah
kecepatan transfer data menurun dan diperlukan
mekanisme yang komplek untuk mengurai data yang telah
dimulitipleks.
Saat ini yang umum, bus didedikasikan untuk tiga macam, yaitu bus data, bus alamat dan bus
kontrol.
1.4 Metode Arbitrasi
Terdapat dua macam
metode arbitrasi, yaitu tersentral dan terdistribusi. Pada metode tersentral diperlukan pengontrol bus sentral atau arbiter yang
bertugas mengatur penggunaan bus
oleh
modul. Arbiter bisa suatu modul atau bagian fungsi CPU. Sedangkan dalam
metode
terdistribusi,
setiap
modul memiliki logika pengontrol akses (access control logic) yang berfungsi mengatur
pertukaran data
melalui bus.
Kedua metode
arbitrasi intinya menugaskan suatu
perangkat bisa modul I/O ataupun
CPU
bertindak sebagai master kontrol pertukaran.
1.5 Timing
Metode pewaktuan sinkron terjadinya event pada bus ditentukan
oleh sebuah pewaktu
(clock). Sebuah transmisi 1 – 0 disebut siklus waktu atau siklus bus dan menentukan besarnya slot waktu.
Semua perangkat modul pada bus dapat membaca atau
pengetahui siklus
clock.
Biasanya
satu siklus untuk
satu event. Model ini mudah diimplementasikan dan cepat namun kurang fleksibel menangani peralatan yang beda
kecepatan operasinya. Biasanya digunakan
untuk modul
– modul tertentu yang sudah jelas karakteristiknya. Contoh pewaktuan sinkron disajikan
pada gambar 7.5.

Gambar 7.5 Contoh pewaktuan
sinkron
Dalam pewaktuan asinkron memungkinkan kerja modul yang
tidak serempak kecepatannya. Dalam pewaktuan asinkron, event yang terjadi pada bus tergantung
event sebelumnya sehingga diperlukan sinyal – sinyal validasi untuk mengidentifikasi data yang ditransfer. Sistem
ini
mampu menggabungkan kerja modul – modul yang berbeda kecepatan maupun teknologinya, asalkan aturan transfernya sama.
Gambar
7.6 memperlihatkan
pewaktuan asinkron.

Gambar 7.6 Contoh pewaktuan
asinkron
1.6 Lebar Bus
Lebar bus sangat mempengaruhi kinerja sistem
komputer. Semakin lebar bus maka
semakin besar data yang
dapat ditransfer sekali waktu. Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat direfensikan.
1.7 Jenis Transfer Data
Dalam sistem komputer, operasi transfer data adalah
pertukaran data antar modul sebagai tindak lanjut atau pendukung operasi yang sedang
dilakukan. Saat operasi baca (read), terjadi pengambilan data
dari
memori ke
CPU,
begitu
juga
sebaliknya
pada operasi penulisan maupun
operasi – operasi kombinasi. Bus harus mampu menyediakan layanan saluran bagi semua
operasi komputer.
1.8 Contoh Bus
Banyak perusahaan yang mengembangkan bus – bus antarmuka terutama untuk
perangkat peripheral. Diantara jenis bus yang beredar di pasaran saat ini adalah PCI, ISA, USB, SCSI, FuturaBus+, FireWire, dan
lain
– lain.
Semua memiliki keunggulan,
kelemahan, harga dan teknologi yang berbeda sehingga akan
mempengaruhi jenis –
jenis penggunaannya.
1.8.1 Bus
ISA
Ketika IBM memperkenalkan PC/AT yang
berbasiskan CPU 80286, perusahaan ini
menghadapi masalah besar. Jika IBM telah memulai sejak
awal dan merancang
sebuah bus 16 bit
yang seluruhnya baru, banyak
konsumen potensial akan bergegas membeli mesin tersebut karena
tidak ada satupun dari begitu banyak
papan plug-in PC yang disediakan oleh para vendor
pihak ketiga dapat bekerja dengan menggunakan mesin baru
tersebut. Di sisi lain, dengan
tetap
berpegang pada bus PC dan 20 jalur alamatnya serta 8 jalur data tidak
akan
memperoleh manfaat dari keunggulan
CPU
80286 untuk mengalamatkan 16 M
memori dan mentransfer word 16 bit.
Solusi yang dipilih adalah mengembangkan PC. Kartu-kartu plug-in PC memiliki sebuah konektor sisi dengan 62 kontak, tetapi operasi konektor sisi ini tidak menjangkau seluruh
papan ini. Solusi PC/AT adalah menempatkan sebuah konektor sisi kedua
pada bagian dasar papan tersebut, dekat dengan konektor sisi utama, dan merancang sirkuit AT untuk
beroperasi dengan
kedua jenis papan
ini.
Konektor kedua pada bus PC/AT memiliki 36
jalur. Dari ke-36
jalur ini,
31 disediakan untuk jalur-jalur alamat tambahan,
jalur-jalur data tambahan,
jalur-jalur interupsi tambahan, serta untuk daya dan ground. Sisanya digunakan untuk mengatasi perbedaan-perbedaan antara transfer
8 bit dan 16 bit.
Industri komputer personal lainnya merespon
perkembangan
ini
dengan mengadopsi standarnya sendiri, bus ISA (Industry Standar Architecture), yang pada dasarnya adalah bus
PC/AT yang beroperasi pada 8,33 MHz. Keuntungannya adalah bahwa pendekatan
ini
tetap mempertahankan kompatibilitas dengan mesin-mesin dan kartu-kartu yang ada.
Pendekatan ini juga didasarkan pada sebuah bus yang
telah dilisensikan secara bebas oleh IBM kepada banyak perusahaan dalam rangka untuk menjamin bahwa sebanyak
mungkin pihak ketiga dapat memproduksi kartu-kartu untuk PC pertama, sesuatu yang
kembali menghantui IBM. Setiap PC
yang berbasiskan Intel masih
menggunakan bus jenis ini, meskipun biasanya
juga
disertai dengan
satu
atau lebih bus lain.
1.8.2
Bus PCI
Peripheral Component Interconnect (PCI) adalah bus yang tidak tergantung prosesor dan
berfungsi sebagai bus mezzanine atau bus peripheral. PCI memiliki kinerja tinggi untuk sistem
I/O berkecepatan
tinggi seperti : video
adaptor, NIC,
disk
controller, sound card,
dan lain-lain.
Standard PCI adalah 64 saluran
data
pada kecepatan 33 MHz, laju transfer data 264
MB
per detik atau 2,112 Gbps. Keunggulan PCI tidak hanya pada kecepatannya saja tetapi murah dengan
keping yang sedikit.
Intel mulai menerapkan PCI
pada tahun 1990 untuk sistem
pentiumnya. Untuk mempercepat penggunaan PCI, Intel mempatenkan PCI bagi domain publik sehingga vendor
dapat mengeluarkan produk dengan
PCI
tanpa royalti.
1.8.3 Bus USB
Semua perangkat peripheral tidak
efektif apabila dipasang
pada bus berkecepatan tinggi PCI, sedangkan banyak
peralatan yang memiliki kecepatan
rendah seperti keyboard,
mouse,
dan printer. Sebagai solusinya tujuh
vendor komputer (Compaq, DEC,
IBM, Intel,
Microsoft,
NEC, dan Northern Telecom) bersama-sama merancang
bus untuk peralatan I/O berkecepatan rendah.
Standard yang dihasilkan
dinamakan Universal Standard
Bus
(USB).
Keuntungan
yang
didapatkan dan tujuan
dari
penerapan USB adalah sebagai berikut
1.
Pemakai tidak harus memasang tombol atau
jumper pada PCB atau peralatan.
2.
Pemakai tidak harus membuka casing untuk memasang peralatan I/O baru.
3.
Hanya satu
jenis kabel yang diperlukan
sebagai penghubung.
4.
Dapat mensuplai daya pada peralatan-peralatan
I/O.
5.
Memudahkan pemasangan peralatan-peralatan yang hanya sementara dipasang pada
komputer.
6.
Tidak diperlukan
reboot pada pemasangan peralatan
baru dengan USB.
7.
Murah
Bandwidth total USB adalah 1,5 MB per detik. Bandwidth itu sudah mencukupi peralatan
I/O berkecepatan
rendah
seperti keyboard,
mouse,
scanner, telepon
digital,
printer, dan sebagainya. Kabel pada bus terdiri dari 4 kawat, 2 untuk data, 1 untuk power (+5 volt), dan 1 untuk ground.
Sistem pensinyalan
mentransmisikan
sebuah bilangan nol sebagai transisi tegangan
dan sebuah bilangan satu
bila
tidak ada transmisi tegangan.
1.8.4 Bus SCSI
Small Computer System Interface (SCSI) adalah perangkat peripheral eksternal yang
dipopulerkan oleh macintosh pada tahun 1984. SCSI
merupakan interface standard untuk drive CD-ROM, peralatan audio, hard disk, dan perangkat penyimpanan eksternal berukuran besar. SCSI menggunakan interface paralel dengan 8, 16, atau 32 saluran
data.
Konfigurasi SCSI
umumnya berkaitan dengan bus, walaupun pada kenyataannya
perangkat-perangkat tersebut
dihubungkan secara
daisy-chain.
Perangkat SCSI
memiliki dua buah konektor, yaitu konektor input dan konektor output. Seluruh perangkat berfungsi secara independen dan dapat saling bertukar data misalnya hard disk dapat
mem-back up diri ke tape drive tanpa melibatkan prosesor.
Terdapat beberapa macam versi SCSI. SCSI-1 dibuat tahun 1980 memiliki 8 saluran data, dan beroperasi pada kecepatan
5 MHz. Versi ini memungkinkan sampai 7 perangkat
dihubungkan secara daisy-chain. SCSI-2 diperkenalkan tahun 1992 dengan spesifikasi 16
atau 32 saluran data
pada kecepatan 10 MHz. SCSI-3 yang
mendukung kecepatan yang lebih tinggi sampai saat ini masih dalam tahap
penelitian.
1.8.5 Bus P1394
/ Fire Wire
Semakin pesatnya kebutuhan bus I/O berkecepatan tinggi dan semakin
cepatnya prosesor
saat
ini yang mencapai 1 GHz, maka perlu diimbangi dengan bus berkecapatan tinggi juga. BusSCSI dan PCI
tidak dapat mencukupi kebutuhan saat
ini.
Sehingga
dikembangkan
bus
performance tinggi yang dikenal dengan Fire Wire (P1394
standard IEEE).
2. CPU
CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen
pengolah data berdasarkan instruksi –
instruksi yang diberikan
kepadanya.
2.1 Komponen Utama
CPU
Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen sebagai bagian dari struktur CPU, seperti terlihat pada gambar 3.1 dan struktur detail internal CPU terlihat pada gamber 3.2.
CPU
tersusun atas beberapa komponen,
yaitu
:
• Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi – fungsi pengolahan data
komputer. ALU sering disebut mesin bahasa (machine
language) karena bagian
ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang
masing
– masing memiliki spesifikasi tugas tersendiri.
• Control Unit, bertugas mengontrol operasi CPU dan
secara keselurahan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi
operasinya. Termasuk
dalam tanggung
jawab
unit kontrol adalah
mengambil
instruksi
–
instruksi dari memori utama dan
menentukan jenis instruksi tersebut.
• Registers, adalah media penyimpan internal CPU yang
digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun
data
untuk pengolahan selanjutnya.
• CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU,
unit
kontrol dan register –
register dan
juga dengan
bus – bus eksternal CPU
yang
menghubungkan dengan sistem lainnya,
seperti memori utama, piranti masukan/keluaran.

Gambar 3.1
Komponen
internal CPU

Gambar 3.2
Struktur detail internal CPU
2.2 Fungsi CPU
Fungsi CPU adalah penjalankan program – program yang disimpan dalam memori utama
dengan cara mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.
Untuk memahami fungsi CPU dan caranya berinteraksi dengan komponen lain,
perlu kita tinjau lebih jauh proses eksekusi program. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan
instruksi (fetch) dan operasi pelaksanaan
instruksi (execute). Siklus instruksi yang
terdiri dari siklus fetch
dan siklus eksekusi diperlihatkan
pada gambar 3.3 berikut.

Gambar 3.3 Siklus instruksi dasar
2.2.1 Siklus Fetch - Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori. Terdapat
register dalam
CPU yang
berfungsi mengawasi dan menghitung instruksi selanjutnya,
yang disebut Program Counter (PC). PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
Instruksi – instruksi yang dibaca akan dibuat dalam register instruksi (IR). Instruksi –
instruksi ini dalam
bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU
kemudian dilakukan
aksi yang diperlukan.
Aksi –
aksi ini dikelompokkan menjadi empat katagori,
yaitu
:
·
CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya.
·
CPU –I/O, perpindahan
data
dari CPU ke modul I/O dan
sebaliknya.
·
Pengolahan Data, CPU membentuk sejumlah
operasi aritmatika dan logika terhadap data.
·
Kontrol, merupakan instruksi untuk
pengontrolan fungsi atau kerja.
Misalnya instruksi pengubahan urusan eksekusi.Perlu diketahui bahwa siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah referensi ke memori. Disamping
itu
juga, suatu instruksi dapat menentukan suatu operasi I/O.
Perhatikan gambar 3.4 yang merupakan
detail siklus operasi pada gambar 3.3,
yaitu
:
·
Instruction Addess Calculation
(IAC), yaitu mengkalkulasi atau menentukan
alamat instruksi
berikutnya yang
akan
dieksekusi. Biasanya melibatkan
penambahan bilangan tetap
ke
alamat instruksi sebelumnya. Misalnya, bila panjang
setiap
instruksi 16 bit padahal
memori memiliki panjang 8 bit,
maka tambahkan 2 ke alamat sebelumnya.
·
Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
·
Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan
operand yang akan digunakan.
·
Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan
apabila melibatkan referensi operand pada
memori.
·
Operand Fetch
(OF), adalah mengambil operand dari memori atau
dari
modul I/O.
·
Data Operation (DO),
yaitu membentuk operasi yang diperintahkan dalam instruksi.
·
Operand store (OS),
yaitu menyimpan
hasil eksekusi ke dalam memori.

Gambar 3.4 Diagram siklus instruksi
2.2.2 Fungsi Interrupt
Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan
instruksi
dalam
CPU kepada routine interupsi. Hampir
semua
modul (memori dan I/O)
memiliki
mekanisme yang dapat menginterupsi kerja CPU.
Tujuan interupsi secara umum
untuk menejemen pengeksekusian routine instruksi agar
efektif dan efisien
antar CPU
dan
modul – modul
I/O maupun
memori. Setiap
komponen
komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak
pada CPU
disamping itu kecepatan eksekusi masing – masing modul berbeda sehingga dengan adanya
fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam – macam kelas sinyal
interupsi
·
Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program.
Contohnya: arimatika overflow,
pembagian nol, oparasi ilegal.
·
Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan
sistem operasi menjalankan
fungsi tertentu
secara reguler.
·
I/O, sinyal interupsi yang dibangkitkan oleh
modul I/O sehubungan pemberitahuan
kondisi error dan penyelesaian
suatu
operasi.
·
Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan
paritas memori.
Dengan adanya
mekanisme
interupsi,
prosesor dapat
digunakan
untuk mengeksekusi instruksi –
instruksi lain.
Saat suatu modul telah
selesai menjalankan
tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor. Kemudian
prosesor akan menghentikan eksekusi yang dijalankannya untuk
menghandel routine interupsi.
Setelah program interupsi selesai maka prosesor akan
melanjutkan eksekusi programnya kembali. Saat
sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan
dan interupsi ditolak. Apabila interupsi ditangguhkan, prosesor akan
melakukan
hal – hal dibawah ini :
1.
Prosesor menangguhkan eksekusi program
yang
dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang
akan
dieksekusi dan data lain yang relevan.
2.
Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler.
Gambar 3.5 berikut menjelaskan siklus eksekusi oleh prosesor dengan
adanya fungsi interupsi.

Gambar 3.5 Siklus eksekusi instruksi dengan interrupt
Untuk sistem operasi yang
kompleks sangat dimungkinkan adanya interupsi ganda
(multiple interrupt). Misalnya suatu komputer akan menerima permintaan
interupsi saat proses
pencetakan dengan printer selesai, disamping itu
dimungkinkan dari saluran komunikasi akan
mengirimkan permintaan interupsi setiap kali data tiba. Dalam
hal ini prosesor harus menangani interupsi ganda.
Dapat diambil dua buah
pendekatan untuk menangani interupsi ganda ini. Pertama adalah
menolak atau tidak
mengizinkan interupsi lain saat suatu interupsi ditangani prosesor. Kemudian
setelah prosesor
selesai
menangani
suatu interupsi
maka
interupsi lain baru di tangani. Pendekatan ini disebut pengolahan interupsi berurutan / sekuensial. Pendekatan ini cukup
baik dan sederhana karena interupsi ditangani dalam
ututan yang cukup ketat. Kelemahan pendekatan ini adalah metode ini tidak memperhitungkan prioritas interupsi. Pendekatan ini diperlihatkan pada
gambar 3.6a.
Pendekatan kedua adalah dengan mendefinisikan prioritas bagi interupsi dan interrupt
handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih
dahulu. Pedekatan ini disebut pengolahan
interupsi bersarang. Metode ini digambarkan
pada gambar 3.6b.

Gambar 3.6 Transfer pengendalian pada
interupsi ganda
Sebagai contoh untuk mendekatan bersarang, misalnya suatu sistem
memiliki tiga perangkat I/O: printer, disk, dan saluran komunikasi, masing
– masing prioritasnya 2, 4 dan 5. Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada
saluran komunikasi sehingga modul komunikasi meminta interupsi. Proses
selanjutnya adalah
pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan.
Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah
maka interupsi disk ditangguhkan. Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk. Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan
eksekusi program utama.
3. Modul I/O
Modul I/O merupakan peralatan
antarmuka (interface) bagi sistem bus atau switch sentral
dan mengontrol satu atau lebih perangkat peripheral. Modul I/O tidak
hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam
melakukan fungsi komunikasi antara peripheral dan
bus komputer.
Ada beberapa alasan kenapa piranti – piranti tidak langsung
dihubungkan dengan bus sistem komputer, yaitu :
·
Bervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer herus menangani berbagai macam sisem operasi piranti peripheral tersebut.
·
Kecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju
transfer
data
pada CPU maupun memori.
·
Format data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU,
sehingga perlu modul untuk menselaraskannya.
Dari beberapa alasan diatas,
modul I/O memiliki dua buah
fungsi utama,
yaitu
:
1.
Sebagai piranti antarmuka ke CPU dan
memori melalui bus sistem.
2.
Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan
link
data tertentu.
3.1 Sistem Masukan & Keluaran Komputer
Bagaimana modul
I/O
dapat
menjalankan
tugasnya, yaitu menjembatani CPU dan memori dengan dunia luar merupakan hal yang terpenting untuk
kita ketahui. Inti mempelajari sistem I/O suatu komputer adalah mengetahui fungsi dan struktur modul I/O.
Perhatikan gambar : 6.1 yang menyajikan model generik modul I/O.

Gambar 6.1
Model generik dari suatu modul I/O
3.1.1 Fungsi Modul
I/O
Modul I/O adalah suatu komponen dalam sistem
komputer yang bertanggung jawab atas pengontrolan
sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan
memori utama
ataupun dengan register – register CPU. Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan
memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi –
fungsi pengontrolan.
Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori,
yaitu:
·
Kontrol dan pewaktuan.
·
Komunikasi CPU.
·
Komunikasi perangkat eksternal.
·
Pem-buffer-an
data.
·
Deteksi kesalahan.
Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU
berkomunikasi
dengan satu atau
lebih
perangkat
dengan pola
tidak
menentu dan kecepatan transfer komunikasi data yang beragam, baik
dengan perangkat internal seperti register –
register,
memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem
secara keseluruhan. Contoh kontrol pemindahan data dari peripheral ke CPU
melalui sebuah modul I/O
dapat meliputi langkah – langkah berikut ini :
1.
Permintaan
dan pemeriksaan status perangkat dari CPU ke modul I/O.
2.
Modul I/O memberi jawaban atas permintaan CPU.
3.
Apabila perangkat
eksternal telah siap
untuk transfer
data, maka CPU
akan mengirimkan
perintah ke modul I/O.
4.
Modul I/O akan
menerima paket data dengan panjang tertentu
dari
peripheral.
5.
Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket – paket data
dapat diterima CPU
dengan baik.
Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan
modul I/O akan melibatkan kontrol dan
pewaktuan sebuah arbitrasi bus atau lebih.
Adapun fungsi komunikasi antara CPU dan
modul I/O meliputi proses – proses berikut :
·
Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU
yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk
dapat menerima perintah: Read
sector, Scan record ID, Format disk.
·
Data, pertukaran
data
antara CPU dan
modul I/O melalui bus data.
·
Status Reporting,
yaitu pelaporan kondisi status modul
I/O maupun
perangkat
peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
·
Address Recognition, bahwa peralatan atau
komponen
penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang
unik, begitu pula pada
perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral
yang
dikontrolnya.
Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputi
komunikasi data, kontrol maupun status.
Perhatikan gambar 6.2 berikut.

Gambar 6.2
Skema suatu
perangkat peripheral
Fungsi selanjutnya adalah buffering. Tujuan utama buffering adalah mendapatkan
penyesuaian data sehubungan perbedaan
laju
transfer data
dari
perangkat peripheral dengan
kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan
CPU
maupun media penyimpan.
Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat peripheral
terdapat
masalah sehingga proses tidak dapat dijalankan, maka modul I/O
akan
melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit
paritas.
3.1.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 Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O,
terdapat kemiripan struktur, seperti terlihat pada gambar 6.3.
|
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 peripheral,
terdapat fungsi pengaturan dan switching pada blok ini.
3.2 Teknik Masukan/Keluaran
Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt – driven
I/O, dan DMA (Direct Memory Access). Ketiganya memiliki keunggulan maupun kelemahan,
yang
penggunaannya disesuaikan
sesuai unjuk kerja masing – masing teknik.
3.2.1 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
maupun tulis, dan monitoring perangkat.
Kelemahan teknik
ini
adalah CPU akan menunggu sampai operasi I/O selesai dilakukan
modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat
proses operasinya. Dalam teknik
ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang
diinteruksikan padanya. 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 peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan.
Terdapat empat klasifikasi perintah I/O,
yaitu:
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.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi
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 modul I/O sebagai lokasi memori dan
menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk
penulisan. Keuntungan memory-mapped
I/O adalah efisien
dalam
pemrograman,
namun memakan
banyak ruang memori 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 saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated
I/O adalah sedikitnya instruksi I/O.
3.2.2 Interrupt –
Driven I/O
Teknik interrupt – driven I/O memungkinkan proses tidak membuang –
buang waktu.
Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O
dijalankan modul I/O maka CPU akan melakukan eksekusi perintah –
perintah lainnya.
Apabila modul I/O telah selesai menjalankan instruksi yang
diberikan padanya akan melakukan 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, misal
read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU
melalui saluran kontrol. Kemudian modul 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 dijalankannya kemudian merespon
interupsi.
3.
CPU memeriksa
interupsi
tersebut, kalau valid maka CPU
akan mengirimkan
sinyal
acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
4.
CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah
menyimpan informasi yang diperlukan
untuk melanjutkan
operasi yang tadi dijalankan
sebelum
adanya interupsi.
Informasi yang diperlukan berupa:
a.
Status prosesor, berisi register yang dipanggil PSW (program status
word).
b.
Lokasi intruksi berikutnya yang akan
dieksekusi.
Informasi tersebut kemudian disimpan dalam stack pengontrol
sistem.
5.
Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum
interupsi ke stack
pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk
penanganan interupsi.
6.
Selanjutnya CPU memproses interupsi sempai selesai.
7.
Apabila pengolahan interupsi selasai, CPU akan memanggil kembali informasi yang
telah
disimpan
pada stack pengontrol untuk meneruskan
operasi sebelum interupsi.
Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini,
diantaranya :
• Multiple Interrupt Lines.
• Software poll.
• Daisy Chain.
• Arbitrasi bus.
Teknik yang paling sederhana adalah menggunakan
saluran interupsi berjumlah
banyak (Multiple Interrupt Lines) antara CPU dan modul – modul I/O. Namun tidak
praktis untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran interupsi modul – modul
I/O.
Alternatif lainnya adalah menggunakan software poll.
Prosesnya,
apabila CPU
mengetahui adanya sebuah interupsi, maka CPU
akan
menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul yang
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
I/O
tersambung
dalam saluran
interupsi
CPU secara
melingkar (chain). Apabila ada permintaan interupsi, maka CPU
akan menjalankan sinyal acknowledge 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 ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan
terdapat sebuah modul I/O yang dapat melakukan interupsi.
Pengontrol Interrupt Intel
8259A
Intel mengeluarkan chips 8259A yang
dikonfigurasikan sebagai interrupt arbiter pada
mikroprosesor Intel 8086. Intel 8259A melakukan manajemen interupsi modul -
modul I/O yang tersambung padanya. Chips ini dapat diprogram untuk menentukan prioritas modul I/O yang lebih dulu ditangani CPU apabila ada permintaan interupsi yang bersamaan. Gambar 6.4 menggambarkan
pemakaian pengontrol interupsi 8259A. Berikut mode
– mode interupsi yang
mungkin terjadi :
·
Fully Nested: permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
·
Rotating: bila sebuah
modul telah dilayani interupsinya
akan menempati
prioritas
terendah.
·
Special Mask: prioritas diprogram untuk modul I/O tertentu secara spesial.

Gambar 6.4
Pemakaian pengontrol interupsi 8559A pada 8086
Programmable Peripheral
Interface Intel 8255A
Contoh modul I/O yang menggunakan I/O terprogram dan interrupt driven I/O adalah
Intel 8255A Programmable Peripheral Interface (PPI). Intel 8255A dirancang
untuk keperluan mikroprosesor 8086.
Gambar 6.5 menunjukkan
blok
diagram Intel 8255A dan
pin layout-nya.

Gambar 6.5
Modul I/O 8255A
Bagian kanan dari blok diagram Intel 8255A adalah 24 saluran antarmuka luar, terdiri atas 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. Saluran ini terdiri atas 8 bus data dua arah (D0 – D7), bus alamat, dan bus
kontrol yang terdiri atas saluran
CHIP
SELECT, READ, WRITE,
dan RESET.
Pengaturan
mode operasi pada register
kontrol
dilakukan oleh
mikroprosesor., Pada Mode 0, ketiga port berfungsi sebagai tiga port I/O 8 bit. Pada 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. Gambar 6.6
memperlihatkan contoh
penggunaan 8255A untuk modul I/O Keyboard dan display.

Gambar 6.6 Interface kayboard
dan display dengan Intel 8255A
3.2.3 Direct Memory
Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram
dan Interrupt-Driven I/O
memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU
secara
langsung.
Hal
ini berimplikasi pada :
·
Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
·
Kerja CPU terganggu
karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk
menangani transfer data bervolume besar dikembangkan teknik yang lebih
baik,
dikenal dengan
Direct Memory Access (DMA).
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir
proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak
terganggu
dengan interupsi.
Blok diagram modul DMA terlihat pada gambar 6.7
berikut :

Gambar 6.7
Blok diagram DMA

Gambar 6.8
Konfigurasi modul DMA
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan
kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih
umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan bus bukanlah bentuk
interupsi, melainkan hanyalah
penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja. Terdapat tiga buah
konfigurasi modul DMA seperti yang terlihat pada gambar 6.8.
3.3 Perangkat Eksternal
Mesin komputer akan memiliki nilai apabila bisa berinteraksi dengan
dunia luar. Lebih
dari
itu, komputer tidak
akan
berfungsi apabila tidak
dapat berinteraksi dengan dunia
luar.
Ambil contoh saja, bagaimana kita bisa menginstruksikan CPU untuk
melakukan suatu operasi apabila tidak ada keyboard. Bagaimana kita melihat hasil kerja sistem komputer bila tidak
ada monitor.
Keyboard dan monitor tergolang dalam perangkat eksternal komputer.
Perangkat eksternal atau lebih umum disebut peripheral tersambung dalam sistem
CPU melalui
perangat pengendalinya, yaitu modul I/O seperti telah dijelaskan sebelumnya. Lihat kembali gambar 6.2.
Secara umum perangkat eksternal diklasifikasikan menjadi 3
katagori:
·
Human Readable, yaitu perangkat yang berhubungan dengan
manusia
sebagai
pengguna komputer.
Contohnya: monitor,
keyboard, mouse, printer, joystick, disk drive.
·
Machine readable, yaitu perangkat yang berhubungan dengan
peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring
dan kontrol suatu peralatan atau
sistem.
·
Communication, yatu perangkat yang berhubungan dengan komunikasi
jarak jauh.
Misalnya: NIC dan modem.
Pengklasifikasian juga bisa berdasarkan arah
datanya, yaitu perangkat output,
perangkat input dan kombinasi output-input. Contoh perangkat output: monitor, proyektor
dan printer. Perangkat input misalnya: keyboard,
mouse,
joystick,
scanner, mark reader,
bar code reader.


