Rabu, 30 November 2016

PENGERTIAN SISTEM BUS, STANDART I/O INTERFACE DAN PENJELASAN TENTANG DMA


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.

Tidak ada komentar:

Posting Komentar