Pada pertemuan kali ini saya akan
menjelaskan sedikit tentang pengertian dan juga penjelasan tentang bus,
Standart input/output pada Interface dan juga pengertian tentang DMA.
Pengertian Sistem Bus
Bus adalah Jalur komunikasi yang dibagi
pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai
subsistem. Karakteristik penting sebuah bus adalah bahwa bus merupakan media
transmisi yang dapat digunakan bersama. Sistem komputer terdiri dari sejumlah
bus yang berlainan yang menyediakan jalan antara dua bukomponen pada
bermacam-macam tingkatan hirarki sistem komputer.
Suatu Komputer tersusun atas beberapa
komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer
saling berhubungan membentuk kesatuan fungsi. Sistem bus adalah penghubung bagi
keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar
komponen komputer sangatlah mendominasi kerja suatu computer. 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 system bus.
Bus yang biasa dipakai, yaitu :
• Single bus : Bus dengan hanya 1 jalur
saja
• Multiple bus :Bus dengan jalur lebih
dari satu
Sistem bus yang ada pada komputer, yaitu :
• Control bus : Jalur tempat mengirimkan
intruksi atau perintah
• Address bus : Jalur tempat mengkodean /
pengalamatan dari sebuah proses
• Data Bus : Jalur pengiriman data
Cara Kerja Sistem Bus
Pada sistem komputer yang lebih maju,
arsitektur komputernya akan lebih kompleks, sehingga
untuk meningkatkan performa digunakan beberapa buah bus. Tiap bus
merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM,
Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang
lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang
lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung
dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar
bus ini digunakan sebuah bridge.
Jenis-jenis Bus
Berdasar jenis busnya, bus dapat dibedakan
menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja,
atau alamat saja, jenis ini disebut Dedicated Bus. Namun apabila bus yang
dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan
metode multipleks data maka bus ini disebut Multiplexed Bus. Kekurangan
multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat
tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang
komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated
bus merupakan kebalikan dari multipexed bus.
Struktur Bus
Sebuah bus sistem terdiri dari 50 hingga
100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan
fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi
saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data,
saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran
distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.
1. Saluran Data
Saluran data memberikan lintasan bagi
perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut
bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran
diakitakan denang lebar bus data. Karena pada suatu saat tertentu masing-masing
saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit
yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting
dalam menentukan kinerja sistem secara keseluruhan. Misalnya, bila bus data
lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali
mengakses modul memori dalam setiap siklus instruksinya.
2. Saluran Alamat
Saluran alamat digunakan untuk menandakan
sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah
word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada
saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum
sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati
port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk
memilih lokasi memori atau port I/O pada modul.
3. Saluran Kontrol
Saluran kontrol digunakan untuk mengntrol
akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan
saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk
mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik
perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal
pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal
perintah mespesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran
kontrol meliputi : memory write, memory read, I/O write, I/O read, transfer
ACK, bus request, bus grant, interrupt request, interrupt ACK, clock, reset.
Beberapa sistem bus yang terdapat pada
komputer, yaitu:
v Synchronous Bus
Dalam synchronous bus, semua perangkat
mendapatkan informasi timing dari jalur clock bersama. Pulsa yang berjarak
setara pada jalur ini mendefinisikan waktu yang setara. Dalam bentuk yang
paling sederhana suatu synchronous bus, tiap interval ini merupakan suatu bus
cycle dimana satu transfer data. Skema semacam itu diilustrasikan pada gambar
berikut, jalur alamat dan data ada gambar.
Transfer Multiple-Cycle
Skema yang di deskripsikan pada gambar
tersebut menghasilkan desain sederhana untuk antar muka perangkat. Akan tetapi,
skema tersebut memiliki beberapa keterbatasan.
Untuk megatasi keterbatasan ini,
kebanyakan bus menggabungkan sinyal kontrol yang menyatakan respon dari
perangkat tersebut. Sinyal ini memberitahu master bahwa slave telah mengenali
alamatnya dan telah siap untuk berpartisipasi dalam operasi data transfer. Bus
tersebut juga memungkinkan untuk mengatur durasi periode data transfer untuk
menyesuaikan dengan kebutuhan perangkat yang berpartisipasi.
v Asynchronous Bus
Pada asynchronous bus untuk mengontrol
transfer data pada bus berdasar pada penggunaan handshake antara master dan
slave. Konsep handshake adalah generealisasi dari ide sinyal Slave-ready. Clock
umum digantikan dengan dua jalur control timing, Master-ready dan Slave-ready.
Yang pertama dinyatakan oleh master untuk mengindikasikan telah siap melakukan
transaksi, dan yang kedua adalah respon dari Slave.
Pada suatu desain tertentu melibatkan
pertukaran antara berbagai faktor seperti:
• Kesederhanaan antar muka perangkat.
• Kemampuan untuk mengakomodasi antar muka
perangkat yang menyatakan jumlah jeda yang berbeda.
• Waktu total yang diperlukan untuk
transfer bus.
• Kemampuan untuk mendeteksi error yang
dihasilkan dari pengalamatan perangkat yang tidak ada atau dari kegagalan antar
muka.
v Sirkuit Antar Muka
Suatu antar muka I/O terdiri dari sirkuit
yang diperlukan untuk menghubungkan perangkat I/O ke bus komputer, pada satu
sisi antar muka kita memiliki sinyal bus untuk alamat, data, dan kontrol. Pada
sisi yang lain kita memiliki jalur data dengan kontrol yang sesuai untuk
mentransfer data antar muka dan perangkat I/O. Sisi ini disebut port, yang
diklasifikasikan sebagai port paralel dan serial.
Dalam hal port paralel, koneksi antar
perangkat dan komputer menggunakan konektor multiple-pin dan kabel dengan
banyak kawat, biasanya diatur dalam konfigurasi datar. Sirkuit pada kedua ujung
relative sederhana, karena tidak ada kebutuhan untuk mengkovensi antara format
serial dan paralel. Pengaturan ini cocok untuk perangkat yang secara fisik
dekat dengan komputer. Untuk jarak jauh, persoalan timing skew yang disebutkan
sebelumnya membatasi kecepatan penggunaan data. Format serial lebih mudah dan
cost-effective dengan memerlukan kabel yang lebih panjang.
Antar Muka Input Output Standar
• Bus Peripheral Component Interconnect
(PCI)
• Bus SCSI (Small Computer System
Interface)
• Universal Serial Bus (USB)
v Port Serial
Sesuai dengan namanya Port Serial
melakukan transmisi data pengiriman satu bit per satu waktu, karena sifatnya
demikian pegiriman data berjalan agak lambat. Biasanya digunakan untuk
mengoneksi piranti seperti : monitor, printer, mouse, modem, PLC (programmable
Logic controller), pembaca kartu maknetik dan pembaca barcode.
Port ini sering dinyatakan dengan nama
COM. Konektor yang digunakan adalah RS-232C terbatas hanya sampai puluhan
dengan 9 pin atau 25 pin.
v Port Paralel
Port Paralel atau sering disebut port LPT
bekerja atas dasar 8 bit perwaktu, cocok untuk pengiriman data dengan cepat,
tetapi dengan kabel yang pendek (tidak lebih dari 15 kaki).
Umumnya digunakan untuk printer paralel,
harddisk eksternal dan zip drive. Konektor yang digunakan adalah DB-25 yang
terdiri dari 25 pin.
v Transfer Multiple Cycle
Data multiplexing dari Zorro III bus
memiliki beberapa keuntungan. Hal ini memungkinkan Zorro III kartu untuk
menggunakan konektor 100-pin yang sama sebagai kartu II Zorro, yang
menghasilkan setiap slot bus menjadi 32-bit Slot, bahkan jika ada sebuah
konektor alternatif in-line dengan salah satu atau semua slot sistem, konektor
alternatif saat ini meliputi Video Amiga dan PC-AT (sekarang kadang-kadang
disebut ISA, untuk Arsitektur Standar Industri, sekarang bahwa pada dasarnya di
luar kendali IBM) konektor yang kompatibel. Desain ini juga membuat
implementasi bus controller untuk sistem seperti A3000 sederhana. Dan itu dapat
menyebabkan biaya yang lebih rendah untuk Zorro III PICs dalam banyak kasus.
Kerugian utama dari bus multiplexing
adalah bahwa multiplexing kaleng buang waktu. Waktu akses alamat yang sama
untuk multiplexing dan non-multiplexing bus, tetapi karena waktu multiplexing,
Zorro III PICs harus menunggu sampai data waktu untuk menegaskan data, yang
menempatkan batas tetap seberapa cepat data dapat berlaku. Siklus III Zorro
transfer Beberapa adalah Modus khusus dirancang untuk memungkinkan bus untuk
mendekati kecepatan dari non-multiplexing desain. Mode ini sangat efektif untuk
kecepatan tinggi transfer antara memori dan I / O kartu.
Seperti namanya, Beberapa siklus transfer
merupakan perpanjangan dari siklus penuh dasar yang menghasilkan beberapa
32-bit transfer. Dimulai dengan siklus alamat normal penuh fase transaksi, di
mana bus master drive alamat 32-bit dan menegaskan sinyal FCS. Seorang guru
yang mampu mendukung Siklus transfer Beberapa juga akan menegaskan MTCR pada
saat yang sama waktu sebagai FCS. Budak mengunci alamat dan merespon dengan
menegaskan Slaven line. Jika mampu transfer beberapa, itu akan juga
menegaskan MTACK, menunjukkan ke bus master bahwa itu mampu
perpanjang siklus. Jika salah satu MTCR / MTACK ditiadakan untuk siklus, siklus
yang akan menjadi dasar siklus penuh.
Dengan asumsi jabat tangan mentransfer
beberapa berjalan melalui, beberapa siklus terus terlihat mirip dengan siklus
dasar menjadi fase data. Bus master menegaskan DOE (mungkin dengan menulis
data) dan sesuai DSN, maka budak merespon dengan DTACK (mungkin
dengan membaca data di waktu yang sama) , seperti biasa. Setelah ini,
bagaimanapun, siklus ini karakter perubahan. Alih-alih mengakhiri siklus dengan
meniadakan FCS, DSN, dan DOE, master meniadakan DSN dan MTCR, tetapi tetap
mempertahankan
FCS dan DOE. Budak terus menegaskan Slaven,
dan bus masuk ke dalam apa yang disebut siklus
pendek. Siklus
pendek dimulai dengan bus master mengemudi alamat orde rendah baris A7-A2, ini
adalah alamat non-multiplexing dan dapat mengubah tanpa fase alamat baru yang
diperlukan (ini pada dasarnya adalah halaman modus, akses sepenuhnya acak pada
halaman ini 256-byte). Garis BACA mungkin juga mengubah saat ini. Master
kemudian akan menegaskan MTCR untuk menunjukkan kepada budak bahwa siklus
pendek mulai. Untuk membaca, yang sesuai DSN yang dinyatakan bersamaan dengan MTCR,
untuk menulis, data dan DSN yang menegaskan sedikit setelah MTCR.
Budak akan memasok data untuk berbunyi, kemudian menegaskan DTACK,
dan bus akan mengakhiri siklus pendek dan mulai menjadi baik siklus pendek yang
lain atau siklus penuh, tergantung pada handshaking beberapa siklus yang telah
terjadi.
Pertanyaan apakah siklus berikutnya akan
menjadi siklus penuh atau pendek siklus dijawab oleh arbitrase siklus ganda.
Jika master tidak bisa mempertahankan lain siklus pendek, itu akan meniadakan
FCS dan DOE bersama dengan MTCR pada akhir siklus pendek saat ini, mengakhiri
siklus penuh juga. Sang guru selalu sampel negara MTACK pada jatuh tepi MTCR.
Jika seorang budak tidak dapat mendukung siklus pendek tambahan,
meniadakan MTACK satu siklus pendek dari waktu ke depan. Pada
singkat berikut siklus, master bus akan melihat bahwa tidak ada siklus lebih
pendek dapat ditangani oleh budak, dan sepenuhnya mengakhiri siklus pengalihan
beberapa kali terakhir ini siklus pendek dilakukan.
PICS tidak mutlak diperlukan untuk
mendukung siklus transfer Beberapa, meskipun adalah fitur yang sangat
dianjurkan, terutama untuk papan memori. Dan tentu saja, semua PICs harus
bertindak cerdas tentang siklus seperti pada bus, kartu tidak meminta atau
mengakui setiap Siklus transfer Beberapa hal tidak dapat mendukung.
1. E.
Contoh – Contoh Bus
Banyak perusahaan yang mengembangakan
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.
· Bus
PCI
Peripheral
Component Interconect (PCI) adalah bus yang tidak tergantung prosesor dan
berfungsi sebagai bus mezzanine atau bus peripheral. Standar PCI adalah 64
saluran data pada kecepatan 33MHz, laju transfer data 263 MB per detik atau
2,112 Gbps. Keunggulan PCI tidak hanya pada kecepatannya saja tetapi murah
dengan keping yang sedikit.
· Bus
ISA
Industri computer 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.
· Bus
USB
Semua perangkat peripheral tidak efektif
apabila dipasang pada bus kecepatan tinggi PCI, sedangkan banyak peralatan yang
memiliki kecepatan rendah seperti keyboard, mouse, dan printer. Sebagai
solusinya tujuh vendor computer (Compaq, DEC, IBM, Intel, Microsoft, NEC, dan
Northen Telecom) bersama-sama meranccang bus untuk peralatan I/O berkecepatan
rendah. Standar yang dihasilakan dinamakan Universal Standard Bus (USB).
· Bus
SCSI
Small Computer System Interface (SCSI)
adalah perangkat peripheral eksternal yang dipo[ulerkan oleh macintosh pada
tahun 1984. SCSI merupakan interface standar untuk drive CD-ROM, peralatan
audio, hard disk, dan perangkat penyimpanan eksternal berukuan besar. SCSI
menggunakan interface paralel dengan 8,16, atau 32 saluran data.
Arbitrasi Bus
Beberapa modul dapat mengendalikan bus,
dan setiap saat hanya satu modul yang dapat mengendalikan. Terdapat 2 arbitrasi
:
a) Arbitrasi
Centralised
•Ada satu hardware device yg mengendalikan
akses bus
• Bisa berupa bagian dari CPU atau
terpisah
b)
Arbitrasi Distributed
• Setiap module dapat meng-klaim bus
• Setiap modules memiliki Control logic
• Bus PCI
• Jalur yang harus ada pada Bus PCI :
o Jalur System
o Address &
Data
o Interface Control
o Arbitrasi
o Error lines
• Jalur tambahan pada Bus PCI :
§
Interrupt lines
§
Cache support
§
64-bit Bus Extension
§
JTAG/Boundary Scan
Standart Input/Output pada Interface
I/O adalah suatu mekanisme pengiriman data
secara bertahap dan terus menerus melalui suatu aliran data dari proses ke
peranti (begitu pula sebaliknya). Fungsi :Fungsi i/o Pada dasarnya adalah
mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode
aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan sebuah
sistem crash. Pada dasarnya, tugas utama komputer adalah processing dan
I/O (Input danOutput). Bahkan, sebagian besar waktunya digunakan untuk mengolah
I/O sedangkan processing hanya bersifat insidental. Jadi, pada konteks
I/O, peranan sistem operasiadalah mengatur dan mengontrol perangkat I/O dan
operasi I/O.Perangkat I/O sangat bervariasi. Oleh karena itu, bagaimana cara
mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam
organisasi komputer.Bayangkan, perangkat I/O yang sangat banyak jumlahnya dan
setiap perangkat memilikifungsi dan kecepatan sendiri-sendiri, tentunya
memerlukan metode yang berbeda pula.Oleh karena itu, dikenal
klasifikasi perangkat I/O menjadi perangkat blok dan perangkatkarakter,
walaupun ada perangkat yang tidak termasuk ke dalam satupun dari keduagolongan
ini.Perangkat terhubung ke komputer melalui port, diatur oleh device controller
dan berkomunikasi dengan prosesor dan perangkat lain melalui bus.
Perangkat berkomunikasi dengan prosesor melalui dua pendekatan yaitu
memory mapped daninstruksi I/O langsung.
I/O system terdiri dari beberapa again
penting yaitu:
a. I/O Hardware
b. Application I/O
Interface
c. Kernel I/O Subsystem
d. I/O Requests to
Hardware Operations
e. Streams
f. Performance
A. I/O Hardware
Secara umum, I/O Hardware terdapat
beberapa jenis seperti device penyimpanan
(disk,tape),transmission device (network card, modem), dan human-interface device
(screen, keyboard, mouse). Device tersebut dikendalikan oleh instruksi I/O.
Alamat-alamat yang dimiliki
oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O.
Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct
access), dan controller (host adapter).
Port adalah koneksi yang digunakan oleh
device untuk berkomunikasi
dengan mesin.
Bus adalah koneksi yang menghubungkan
beberapa device menggunakan
kabel-kabel.
Controller adalah alat-alat elektronik
yang berfungsi untuk mengoperasikan
port, bus, dan device.
B. Application
I/O Interface
Merupakan suatu mekanisme untuk
mempermudah pengaksesan, sehingga sistem operasi melakukan standarisasi cara
pengaksesan peralatan I/O. Contoh : suatu aplikasi
ingin membuk data yang ada dalam suatu disk, aplikasi tersebut harus dapat
membedakan jenis disk apa yang akan diaksesnya. Interface aplikasi I/O
melibatkan abstraksi, enkapsulasi, dan software layering. Device driver mengenkapsulasi
tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum (interface
standar). Tujuan dari adanya lapisan device driver ini adalah untuk
menyembunyikan perbedaan-perbedaan yang ada pada device controller dari
subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat
independen dari hardware.
Komponen Input/Output
Komponen input/ouput merupakan suatu
rangkaian masukan atau keluaran dengan berbagai macam bentuk dan karakter yang
berbeda-beda serta bekerja dengan level tegangan yang bervariasi. Komponen
input/ouput agar dapat bekerja dan berhubungan dengan mikroprosesor dilengkapi
dengan rangkaian antar muka (interface). Rangkaian interface dapat diartikan
sebagai rangkaian penghubung yang menghubungkan antara komponen yang satu
dengan komponen yang lainnya, sehingga dapat dilakukan transfer data antara
komponen-komponen tersebut. Ini dapat
dibangun
atau dirancang dengan rangkaian
perangkat
keras dan perangkat lunak (program).
Dalam proses interfacing antara sistem
mikroprosesor dengan piranti luar dibutuhkan beberapa fungsi seperti, data
buffering, address decoding, command decoding, status decoding, dan
sistem control dan timing. Semua ini dibutuhkan untuk
mensinkronikasikan kerja sistem supaya sinergi. Karena tanpa pengendali dan
sinkronisasi menyebabkan berbagai masalah akan timbul dalam proses
input/output. Masalah-masalah ini disebabkan oleh perbedaan kecepatan
operasi, perbedaan level sinyal atau tegangan yang dibutuhkan, keanekaragaman
peripheral dan berbagai karakternya, dan stuktur sinyal yang kompleks. Oleh
karena itu dibutuhkan suatu bagian input/output yang sesuai. Komunikasi antara
komponen I/O dengan mikroprtosesor tidak jauh berbeda antara komunikasi memori
dengan mikroprosesor, hanya pada I/O prosesnya lebih kompleks dari pada memori.
Dibawah ini digambarkan hubungan antara mikroprosesor dengan komponen
input/output dan peripheral.
Hardware terdiri dari :
Input Device
Process Device
Output Device
Macam-macam I/O:
1.Konektor RJ 45
Digunakan untuk koneksi Ethernet pada komputer dan perangkat jaringan Ethernet
lainnya seperti router dan aktif dan juga modem dan juga perangakat lain yang
mendukung interface Ethernet RJ45.Fungsi :Menyambungkan network antara komputer
dengan komputer.
2. USB ( Universal Serial Bus )
Port standard yang ada di komputer saat
ini.Konektor-konektor USB tersebut dapat ditancapi berbagai perangkat mulai
dari mouse sampai printer secara mudah dan cepat. Fungsi :perangkat baru yang
belum pernah terinstal di komputer anda sebelumnya, sistem operasi komputer
anda secara otomatis akan mencoba mengenalinya dengan auto detect.
Struktur I/O
Bagian ini akan membahas struktur I/O,
interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi.
Interupsi I/O
Untuk memulai operasi I/O, CPU me-load
register yang bersesuaian ke device controller. Sebaliknya device controller
memeriksa isi register untuk kemudian menentukan operasi apa yang harus
dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous
I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses
pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous
I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai.
Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan.
Proteksi I/O
Pengguna bisa mengacaukan sistem operasi
dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk
sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk
mencegahnya kita menganggap semua instruksi I/O sebagai privilidge instruction
sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori
tapi harus lewat sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai
jika pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini
terjadi proteksi I/O dapat dikompromikan.
Managemen Sistem I/O
Sering disebut device manager. Menyediakan
“device driver” yang umum sehingga operasi I/O dapat seragam (membuka, membaca,
menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca
berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
· Buffer: menampung sementara data dari/
ke perangkat I/O.
· Spooling: melakukan penjadualan
pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
· Menyediakan driver untuk dapat melakukan operasi “rinci” untuk perangkat
keras I/O tertentu.
CU (Control Unit)
Digunakan untuk mengatur dan menjalankani
instruksi dalam urutan yang telah ditetapkan.
ALU(Arithmatic and Logic Unit)
Bagian perangkat keras yang berhubungan
langsung dengan perhitungan arithmatic.
RAM (Random Access Memory)
Memori yang membaca dan menulis.
ROM (Read Only Memory)
Memori yang dapat membaca saja.
Peralatan Input
a. Keyboard
b. Mouse
c. Joystick
d. Scanner
e. Lightpen
f. Trackball
g. Touch Sreen
h. Magnetic Ink Character Reader (MICR)
i. Optical Character Reader (OCR)
j. Optical Mark Recognition (OMR) Reader
k. dll
Perangkat Output
a. Monitor
b. Printer dan Plotter
c. Proyektor
d. Microform
Peralatan Input / Output
a. Disk Drive
b. Tape Drive
c. Modem (Modulator Demudolator)
d. Ethernet
e. PCMCIA
f. Hub
g. Switch
h. Print Server
i. Input / Output Card (I / O Card)
j. SCII Card
k. Terminal
l. CD – Room (Compac Disk-Read Only
memory)
m. CD-Read and writer
n. DVD-Room
o. DVD-Read and Writer
Pengertian DMA
Direct
memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk
memungkinkan transfes blok data langsung antar perangkat eksternal dan memori
utama, tanpa intervensi terus menerus dari prosesor.
Transfer DMA
dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat
I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA.
Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat
mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang
ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang
mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka
kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan
mencatat jumlah transfer.
Sekalipun
kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya
tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk
menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah
word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer,
kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt.
Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti
bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah
transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer
tersebut.
Operasi I/O
selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi.
OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi
program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan
program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi
DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler
DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya,
OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih
oleh scheduler untuk melanjutkan eksekusi.
Direct
memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk
memungkinkan transfes blok data langsung antar perangkat eksternal dan memori
utama, tanpa intervensi terus menerus dari prosesor.
Transfer DMA
dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat
I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA.
Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat
mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang
ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang
mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka
kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan
mencatat jumlah transfer.
Sekalipun
kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya
tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk
menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah
word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer,
kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt.
Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti
bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah
transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer
tersebut.
Operasi I/O
selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi.
OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai
eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS
menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi
operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai,
kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai
responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga
dapat dipilih oleh scheduler untuk melanjutkan eksekusi.