Anda di halaman 1dari 37

MAKALAH ARKOM

UNIT MASUKAN / KELUARAN

DISUSUN OLEH :
MUHAMMAD TAUFIK (1010451008)
GUSTIAN DERANGGA (1010452024)
DEDE DESMANA (10103006)
ANNE REFELLINA (1010453020)
RAHMA HIDAYAH (1010453036)
DOSEN PEMBIMBING : TATI ERLINA , M.KOM
PROGRAM STUDI SISTEM KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS ANDALAS
PADANG
2011

INPUT / OUTPUT
7.1 Perangkat eksternal
Operasi input / output dikomplikasi

melalui berbagai macam perangkat eksternal yang

menyediakan sarana pertukaran data antara lingkungan eksternal dan komputer. perangkat
exsternal menempel ke komputer dengan link ke modul i / o. perangkat exsternal menempel ke
komputer dengan link ke modul i / o. perangkat exsternal terhubung ke modul i / o sering disebut
sebagai perangkat perifer.
Kita bisa mengklasifikasikan perangkat eksternal menjadi 3 kt.tegori:
-

Human readable: perangkat yang berhubungan dengan pengguna computer


Machine readable: perangkat yang berhubungan dengan peralatan
Communication: perangkat yang berhubungan dengan operasi jarak jauh.
Contoh perangkat human readable adalah video dan printer, contoh perangkat machine

readable adalah disk magneik, system, sensor dan tranduser yang sering digunakan aplikasi
robot. dari sudut pandang fungsional, perangkat ini merupakan bagian dari hirarki memori, dan
menggunakan appropriatelely dibahas dalam bab 6. Dari sudut struktural tampilan, perangkat ini
dikontrol oleh modul i / o dan dipertimbangkan dalam bab ini.
Perangkat komunikasi memungkinkan komputer untuk bertukar data dengan perangkat
jarak jauh, yang mungkin merupakan sebuah perangkat yang dapat dibaca manusia, seperti
terminal, perangkat yang dibaca peralatan,atau bahkan komputer lain.
Dalam istilah yang sangat umum, sifat perangkat eksternal ditunjukkan pada gambar 7.2.
antarmuka untuk modul i / o dalam bentuk kontrol, data, dan sinyal status. sinyal kontrol
menentukan fungsi yang kita akan melakukan perangkat, seperti mengirimkan data ke modul i /
o (input/read), menerima data dari modul i / o (output/write). laporan status, atau melakukan
beberapa fungsi kontrol tertentu ke perangkat.(contoh posisi kepala disk). data dalam bentuk bit
atau set akan dikirim ke atau diterima dari modul i / o. Status sinyal menunjukkan keadaan
perangkat. Misalnya siap / tidak-siap untuk menunjukkan cuaca perangkat siap untuk transfer
data. kontrol logistik terkait dengan perangkat kontrol operasi perangkat dalam menanggapi arah
dari modul i / o. transduser mengkonversi data dari electrik selama masukan. biasanya, buffer

dikaitkan dengan transducer untuk sementara memegang data yang ditransfer antara modul i / o
dan lingkungan exsternal, umumnya sebuah ukuran buffer 8 sampai 16 bit. antarmuka antara
modul i / o dan perangkat exsternal akan diperiksa di bagian 7.7. antara inteface dan perangkat
eksternal dan lingkungan di luar cakupan buku ini, tetapi beberapa contoh singkat diberikan di
sini.

Keyboard/monitor
Cara yang paling umum dari komputer / interaksi pengguna adalah pengaturan keybord /
monitor. Pengguna memberikan masukan trought keybord tersebut. Masukan ini kemudian
ditransmisikan ke komputer dan juga dapat ditampilkan pada monitor. Selain itu, monitor
menampilkan data yang disediakan oleh komputer.
Unit dasar pertukaran adalah karakter. terkait dengan setiap karakter adalah kode,
biasanya 7 atau 8 bit panjangnya. kode teks yang paling umum digunakan adalah abjad
internasional reference alphabet (ira). masing-masing karakter dalam kode ini diwakili oleh kode
biner yang unik 7 bit, dengan demikian, 128 karakter yang berbeda diwakili. karakter dari dua
jenis: karakter yang dapat dicetak dan control.printable adalah karakter abjad, angka, dan khusus

yang dapat dicetak pada kertas atau ditampilkan pada sebuah sreen. beberapa karakter kontrol
harus dilakukan dengan mengendalikan pencetakan atau menampilkan karakter; contoh adalah
carriage return. karakter kontrol lainnya yang berkaitan dengan komunikasi procedures.see
sppendix f untuk rincian.
untuk input keyboard, ketika pengguna depreses kunci, ini menghasilkan suatu sinyal elektronik
yang ditafsirkan. oleh transduser adalah keybord dan diterjemahkan ke dalam pola bit dari kode
IRA yang sesuai. Ini adalah pola bit kemudian dikirimkan ke modul i / o dalam komputer. di
depan komputer, teks dapat disimpan dalam kode IRA yang sama. pada output, IRA kode
karakter yang ditransmisikan ke perangkat eksternal dari modul i / o. transduser pada perangkat
menafsirkan kode ini dan mengirimkan sinyal elektronik yang diperlukan ke perangkat output
baik untuk menampilkan karakter yang ditunjukkan atau melakukan fungsi kontrol yang diminta.
Disk driver
driver disk berisi elektronik untuk pertukaran data, kontrol, dan sinyal status dengan modul i / o
ditambah elektronik untuk mengontrol disk membaca / menulis mekanisme. dalam disk kepala
tetap, transducer mampu mengkonversi antara pola magnetik pada permukaan disk bergerak dan
bit dalam perangkat buffer gambar 7.2). disk kepala harus bergerak juga dapat menyebabkan
lengan disk untuk bergerak radial masuk dan keluar di seluruh permukaan disk.
7.2 Modul I/O
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 dataantara perangkat luar tersebut dengan memori utama ataupun dengan
register register CPU.Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan
komputer (CPU danmemoriutama) 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
dankecepatantransfer 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 danmodul 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
yangdikirimkan 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

dapatdihubungi 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.
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 kesalahantersebut. Misal informasi kesalahan pada peripheral
printer seperti: kertas tergulung, tinta habis,kertas habis, dan lain lain. Teknik yang umum
untuk deteksi kesalahan adalah penggunaan bit paritas.
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.
Blok diagram struktur modul I/OAntarmuka modul I/O ke CPU melalui bus sistem komputer
terdapat tiga saluran, yaitusalurandata, 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

7.3 I/O TERPROGRAM


Operasi I/O dapat dilakukan dengan 3 cara . dengan I/O yang terprogram , data akan
dipertukarkan antara prosesor dengan modul I/O. Prosesor mengeksekusi program yang
memberikan sinyal control langsung dari operasi I/O, termasuk menetapkan status perangkat,
mengirimkan instruksi read atau write, dan mentransfer data. Ketika prosesor akan memberikan
instruksi kepada modul I/O, maka harus menunggu operasi I/O selesai. Bila prosesor lebih cepat
daripada modul I/O, hal ini akan membuang waktu prosesor. Dengan interrupt-driven I/O,
prosesor mengisukan instruksi I/O , kemudian mengeksekusi instruksi yang lain, dan diinterupsi
melalui modul I/O ketika pekerjaan yang nantinya akan menyelesaikan pekerjaannya. Dengan
I/O Interupt dan terprogram, prosesor bertanggung jawab untuk mengekstrak data dari memori
utama untuk output dan menyimpan data dalam memori utama untuk masukan. Alternative ini
dikenal sebagai Direct Memory Access(DMA). Pada modus ini, modul I / O dan data memori
utama dipertukarkan secara langsung, tanpa keterlibatan prosesor.

Tabel 7.1 menjelaskan hubungan antara ketiga cara tersebut. Pada sesi ini, kita akan
mencaritahu tentang I/O terprogram. Interrupt I/O dan DMA akan dijelaskan dalam dua sesi ini.
Tentang I/O terprogram
Ketika prosesor menjalankan sebuah program dan menemukan sebuah instruksi yang
berkaitan dengan I / O, maka akan menjalankan instruksi dengan mengeluarkan perintah ke
modul I / O yang sesuai. Dengan I/O terprogram , Modul I/O akan melakukan aksi yang diminta
dan kemudian mengatur bit yang sesuai dalam status I / O register. Modul I/O tidak mengambil
tindakan lebih lanjut untuk mengingatkan prosesor. Dengan kata lain, hal ini tidak akan
menginterupsi prosesor. Hal ini adalah tanggung jawab dari prosesor secara berkala untuk
memeriksa status modul I / O sampai menemukan bahwa operasi selesai.
Untuk menjelaskan teknik I/O terprogram, pertama kita melihatnya dari sudut pandang I /
O perintah yang dikeluarkan oleh prosesor ke modul I / O, dan kemudian dari sudut pandang
instruksi I / O dieksekusi oleh prosesor.
Perintah I/O
Untuk menjalankan instruksi I/O yang berhubungan, prosesor memberikan alamat,
menentukan modul I / O dan perangkat eksternal, dan sebuah perintah I / O, terdapat 4 tipe dari
instruksi I/O :
-

Control : digunakan untuk mengaktifkan sebuah peripheral dan memberitahu apa yang
akan dilakukan. Sebagai contoh , sebuah pita magnetic akan diinstruksikan untuk
memutar balik atau mempercepat satu rekaman. Perintah ini disesuaikan kepada tipe

khusus dari perangkat peripheral.


Test : digunakan untuk untuk menguji berbagai kondisi status yang berkaitan dengan
modul I/ O dan periferal. prosesor akan ingin tahu bahwa peripheral diiaktifkan dan

tersedia untuk digunakan. Hal ini juga akan ingin tahu jika operasi I / O yang paling
-

terakhir selesai dan jika ada kesalahan terjadi


Read : menyebabkan modul I / O untuk mengambil item data dari perifer dan
menempatkan dalam buffer internal. prosesor dapat memperoleh item data dengan

meminta bahwa modul I / O ditempatkan pada data bus.


Write : menyebabkan modul I/O mengambil item data (byte atau word) dari bus data dan
mentransmisikannya ke peripheral

Gambar 1.19 memberikan contoh kegunaan dari I.O terprogram untuk membaca sebuah
blok data dari perangkat peripheral ke memori. Data dibaca dalam satu word(ex: 16 bits)
pada satu waktu. Untuk setiap kata yang dibaca, prosesor harus menetapkan dalam status
- memeriksa siklus sampai menentukan bahwa kata tersedia dalam data register modul
I/O. diagram ini menunjukkan kekurangannya : hal ini adalah proses memakan waktu
agar prosesor tetap sibuk.
Instruksi I/O
Dengan I/O terprogram, ada korespondensi yang erat antara instruksi I / O terkait bahwa
prosesor mengambil dari memori dan perintah I / O bahwa prosesor mengisukan ke modul I / O

untuk mengeksekusi instruksi. Hal itu adalah instruksi yang mudah dipetakan ke I / O perintah,
dan sering ada hubungan satu sama lain sederhana. Bentuk instruksi tergantung pada cara di
mana perangkat eksternal yang ditangani.
Biasanya, akan ada banyak I / O perangkat yang terhubung melalui modul I / O untuk
sistem. Setiap perangkat diberi pengenal unik atau address. Saat prosesor menerbitkan perintah
I / O, perintah berisi alamat perangkat yang dikehendaki. Dengan demikian, setiap modul I / O
harus menafsirkan baris alamat untuk menentukan apakah perintah adalah untuk dirinya sendiri.
Ketika prosesor, memori utama, dan I / O berbagi bus umum, dua mode penanganan akan
mungkin: memori dipetakan dan terisolasi. Dengan pemetaan memori I/O, ada ruang alamat
tunggal untuk lokasi memori dan perangkat I / O. Prosesor memperlakukan status dan data
register dari modul I / O sebagai lokasi memori dan menggunakan instruksi mesin yang sama
untuk mengakses baik memori dan perangkat I / O. Jadi , misalnya, dengan 10 baris alamat, total
gabungan 210 = 1024 lokasi memori dan alamat I / O dapat didukung, dalam kombinasi apapun.
Dengan pemetaan memori I / O, pembacaan garis tunggal dan penulisan garis tunggal
diperlukan di bus. Alternatifnya, bus dapat dilengkapi dengan pembacaan memori dan menulis
ditambah dengan perintah baris input dan output. Sekarang baris perintah menentukan apakah
alamat tersebut merujuk ke lokasi memori atau perangkat I / O. Ruang alamat yang penuh
mungkin tersedia untuk keduanya. Sekali lagi, dengan 10 baris alamat, sistem sekarang dapat
mendukung baik lokasi memori 1024 dan alamat 1024 I / O Karena ruang alamat untuk I / O
adalah terisolasi dari yang untuk memori, ini disebut sebagai I / O terisolasi
Asumsikan alamat 10-bit, dengan 512-bit memory (lokasi 0-511) dan sampai 512 I/O
alamat (lokasi 5l2-1023). Dua alamat didedikasikan untuk masukan keyboard dari terminal
tertentu. Alamat 516 mengacu pada data register dan alamat 517 mengacu pada status register,
yang berfungsi sebagai kontrol register untuk menerima perintah prosesor.
Program yang ditampilkan akan membaca 1 byte data dari keyboard ke register
akumulator dalam prosesor. Perhatikan bahwa loop Procesor sampai data byte yang tersedia.
Dengan terisolasi I / O (Gambar 7.5b), I / O port dapat diakses hanya dengan perintah I / O
khusus, yang mengaktifkan I / O baris perintah pada bus.

Untuk sebagian besar jenis prosesor, ada set besar instruksi yang berbeda untuk referensi
memori. Jika I / O terisolasi yang digunakan, hanya ada sedikit instruksi I / O. Dengan demikian,
keuntungan dari pemetaan memori I / O adalah bahwa banyak instruksi dapat digunakan,
pembolehan

pemrograman lebih efisien. Kerugiannya adalah banyak menggunakan ruang

memori address . Memori dipetakan dan isolated l / O digunakan secara umum.

7.4 Interupt Driven I/O


Permasalahan dengan i/o terprogram adalah prosesor harus menunggu waktu lama untuk
untuk I/O modul untuk siap melakukan transmisi data. Prosesor, sambil menunggu, berulang
kali harus menginterogasi status modul I/O. Sebagai Akibatnya, tingkat kinerja seluruh sistem
menjadi

rusak

parah.

Alternatifnya adalah prosesor mengeluarkan perintah I/O ke modul dan kemudian

melakukan beberapa pekerjaan berguna lainnya . modul I / O akan menginterupsi prosesor untuk
meminta layanan ketika siap untuk bertukar data dengan prosesor . Kemudian prosesor
mengeksekusi transfer data, seperti sebelumnya, dan kemudian melanjutkan proses semula.
Mari kita lihat bagaimana ini bekerja, pertama dari sudut pandang modul I / O. Untuk input,
modul I / O menerima perintah READ processor. Kemudian prosesor membaca data dalam dari
perifer terkait. Sekali data dalam modul register data, modul sinyal interupsi ke prosesor melalui
modul kontrol line. Kemudian modul menunggu sampai data diminta oleh prosesor. Ketika
permintaan dibuat, modul menempatkan data pada bus data dan kemudian siap untuk melakukan
operasi I / O lainnya.
Dari sudut pandang prosesor, tindakan untuk input adalah sebagai berikut: Prosesor mengisukan
perintah READ. Kemudian off dan melakukan sesuatu yang lain. Pada akhir setiap siklus
instruksi, prosesor memeriksa interupsi. Ketika interrupt dari modul I / O terjadi, prosesor
menyimpan konteks program saat ini dan proses interrupt . Dalam kasus ini, prosesor membaca
word data dari modul i / o dan menyimpannya dalam memori. Kemudian mengembalikan
konteks program itu bekerja pada (atau program lain) dan eksekusi resume.

Proses Interupt

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


2. CPU akan menyelesaikan operasi yang sedang dijalankannya kemudian merespon
interupsi.
3. CPU memeriksa interupsi tersebut, jika 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 :
- Status prosesor
- Lokasi instruksi berikutnya yang akan dieksekusi
5. CPU akan menyimpan PC eksekusi sebelum interupsi ke stack pengontrol bersama
informasi PSW.
6. Selanjutnya CPU memproses interupsi sampai selesai
7. Apabila pengolahan interupsi selesai, CPU akan memanggil kembali informasi yang telah
disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi.

Design Issues
Dua masalah desain terdapat pada interupsi I/O. pertama, karena hamper semua menjadi
modul I/O ganda, bagaimana prosesor memutuskan isu mana yang harus diinterupsi ? dan kedua,
bila interup ganda terjadi, bagaimana prosesor memutuskan salah satu untuk diproses?

Terdapat bermacam teknik yang digunakan CPU dalam menangani masalah interupsi ini,
diantaranya :
-

Multiple Interrupt Lines


Software poll
Daisy Chain
Arbitrasi Bus

Teknik yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak antara
CPU dan modul modul I/O.
Alternatif pertama adalah menggunakan software poll. Prosesnya , apabila CPU
mengetahui adanya sebuah interupsi, maka CPU akan menuju je routinelayanan interupsi yang
tugasnya melakukan poll ke seluruh modul I/O untuk menentukan modul yang melakukan
interupsi. Kerugianny adalaah memerlukan waktu yang lama karena harus mengidentifikasi
seluruh modul untuk mengetahui modul I/O yang melakukan interupsi.
Kerugian dari software poll dapat diatasi dengan menggunakan teknik yang lebih efisien
yaitu daisy chain, yang menggunakan hardware poll. Seluruh modul I/O tersambung dalam
saluran interupsi CPU secara melingkar. Apabila ada permintaan interupsi , maka CPU akan
menjalankan sinyal acknowledgment 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
memeprolek control 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 80386. Agar 80386 bisa menangani macam macam perangkat dan struktur
prioritas, biasanya dikonfigurasi dengan sebuah arbiter interup eksternal, 82C59A. perangkat
luar terhubung ke 82C59A, yang akan terhubung dengan 80386.
Intel 8259A melakukan manajemen interupsi modul modul I/O yang terhubung padanya. Chips
ini dapat deprogram untuk menentukan prioritas modul I/O yang lebih dulu ditangani CPU
apabila ada permintaan interupsi yang bersamaan. 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 deprogram untuk modul I/O tertentu secara special

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. Alat ini dirancang untuk keperluan mikroprosesor
8086
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 control untuk menentukan bermacam
macam mode operasi dan konfigurasinya. Bagian kiri blok diagram merupakan interface internal

dengan mikroprosesor 8086. Saluran ini terdiri atas saluran CHIP SELECT, READ, WRITE, dan
RESET.
Pengaturan mode operasi pada register control 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 port B.
PPI intel 8255A dapat diprogram untuk mengontrol berbagai peripheral sederhana.

7.5 Direct Memory Access


Kekurangan I/O Terprogram dan Interrupt-Driven I/O
Walaupun lebih efisien dibandingkan dengan I/O Terprogram yang sederhanan, interruptdriven I/O masih memerlukan campur tangan CPU secara aktif untuk melakukan transfer data
antara memori dengan modul I/O dan transfer data harus melalui lintasan via CPU. Jadi kedua
bentuk I/O mengalami dua hal yang mengganggu :
1. Kelajuan transfer I/O dibatasi oleh kecepatan yang pada kecepatan itu CPU dapat
menguji dan melayani perangkat.

2. CPU ditentukan oleh pengaturan transfer I/O; sejumlah instruksi harus dieksekusi bagi
setiap transfer I/O nya.
Terdapat semacam trade-off antara kedua masalah ini. Misalkan suatu transfer blok data.
Dengan menggunakan I/O terprogram sederhana, CPU didedikasikan untuk tugas I/O dan dapat
memindahkan data dengan kelajuan yang agak lebih tinggi, dengan resiko tidak dapat
mengerjakan tugas lainnya. I/O interrupt membebaskan CPU dengan mengobarkan kelajuan
transfer I/O. walaupun begitu, kedua metode tersebut memiliki dampak yang buruk terhadap
aktivitas CPU dan laju transfer I/O.
Ketika data yang bervolume besar akan dipindahkan, diperlukan teknik yang lebih
efisien: direct memori access (DMA)

Fungsi DMA

DMA meliputi modul-modul tambahan pada bus system. Modul DMA mampu menirukan
CPU, bahkan mengambil alih control system dari CPU. Teknik ini bekerja sebagai berikut. Pada

saat CPU ingin membaca atau menulis blok data, CPU mengeluarkan perintah ke modul DMA,
dengan mengirimkan ke modul DMA informasi berikut ini :
-

Read atau write yang diminta.

Alamat perangkat I/O yang dilibatkan.

Lokasi awal dalam memori untuk membaca atau menulis

Jumlah word yang akan dibaca atau ditulis.


Kemudian CPU melanjutkan pekerjaan lainnya. CPU telah mendelegasikan operasi I/O
ini kepada modul DMA, dan modul itu akan menjalankan tugasnya. Modul DMA memindahkan
seluruh blok data, word per word, secara langsung ke memori atau dari memori, tanpa harus
melalui CPU. Ketika pemindahan ini telah selesai, modul DMA akan mengirimkan signal
interrupt ke CPU. Sehingga CPU hanya akan dilibatkan pada awal dan akhir pemindahan saja.
Jumlah siklus yang dibutuhkan dapat banyak dikurangi dengan mengintegrasikan antara
modul DMA dengan fungsi-fungsi I/O. Terdapat sebuah lintasan antara modul DMA dan sebuah
atau lebih modul I/O yang tidak melibatkan bus system. Sebenarnya logic DMA dapat
merupakan bagian dari modul I/O atau merupakan bagian yang terpisah yang dapat mengontrol
sebuah atau lebih modul I/O. Konsep ini dapat dilanjutkan dengan menghubungkan modulmodul I/O ke modul DMA dengan menggunakan sebuah bus I/O. Hal ini akan mengurangi
jumlah interface I/O didalam modul DMA menjadi satu buaah dan akan memberikan kemudahan
untuk pengembangan konfigurasi. Dalam keseluruhan kasus ini, bus system yang digunakan
bersama oleh modul DMA dengan CPU dan memori dapat digunakan oleh modul DMA dengan
CPU dan memori dapat digunakan oleh modul DMA hanya untuk pertukaran data dengan
memori. Pertukaran data antara modul DMA dengan modul I/O akan terjadi di luar system bus.

7.6

Jalur

I/O

dan

Prosesor
Evolusi fungsi perangkat
I/O
Sistem

komputer

mengalami

peningkatan

kompleksitas

dan

kecanggihan

komponen-

komponennya, yang sangat


tampak pada fungsi-fungsi I/O sebagai berikut :
a. Pemroses mengendalikan perangkat I/O secara langsung.
Masih digunakan sampai saat ini untuk perangkat sederhana yang dikendalikan
mikroprosessor sehingga menjadi perangkat berintelijen (inteligent device).

b. Pemroses dilengkapi pengendali I/O (I/O controller).


Pemroses

menggunakan

I/O

terpogram

tanpa

interupsi,

sehingga

tak

perlu

memperhatikan rincian-rincian spesifik antarmuka perangkat.


c. Perangkat dilengkapi fasilitas interupsi.
Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O, sehingga
meningkatkan efisiensi pemroses.
d. I/O controller mengendalikan memori secara langsung lewat DMA.
Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkan pemroses
kecuali diawal dan akhir transfer.
e. Pengendali I/O menjadi pemroses terpisah.
Pemroses

pusat

mengendalikan.memerintahkan

pemroses

khusus

I/O

untuk

mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan


mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat. Dimungkinkan
pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika
seluruh barisan intruksi diselesaikan.
f. Pengendali I/O mempunyai memori lokal sendiri.
Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif.
Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak
disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.
Karakteristik chanel I/O
Perangkat I/O dapat dikelompokkan berdasarkan

a. Sifat aliran datanya, yang terbagi atas:

Perangkat berorientasi blok yaitu menyimpan, menerima, dan mengirim informasi


sebagai

blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan

memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blokb.

blok secara independen.


Perangkat berorientasi aliran karakter Yaitu perangkat yang menerima, dan

mengirimkan aliran karakter tanpa membentuk suatu struktur blok


Sasaran komunikasi, yang terbagi atas :
- Perangkat yang terbaca oleh manusia
- Perangkat yang terbaca oleh mesin
- Perangkat komunikasi
Faktor-faktor yang membedakan antar perangkat :
o Kecepatan transmisi data (data rate).
o Jenis aplikasi yang digunakan.
o Tingkat kerumitan dalam pengendalian.
o Besarnya unit yang ditransfer.
o Representasi atau perwujudan data.
o Kondisi-kondisi kesalahan.

Pengontrol DMA Intel 8237A


Intel 8237A antarmuka pengendali DMA untuk keluarga prosesor 80x86 dan untuk DRAM
memori untuk menyediakan kemampuan DMA. Gambar 7.14 menunjukkan lokasi modul DMA.
Ketika modul DMA perlu menggunakan bus sistem (data, alamat, dan kontrol) untuk mentransfer
data, ia akan mengirimkan sinyal yang disebut TAHAN ke prosesor. Prosesor merespon dengan
sinyal (terus mengakui) HLDA, menunjukkan bahwa modul DMA dapat menggunakan bus.
Sebagai contoh, jika modul DMA mentransfer sebuah blok data dari memori ke disk, ia akan
melakukan hal berikut:
1. Perangkat periferal (seperti disk controller) akan meminta pelayanan DMA dengan menarik
DREQ (DMA permintaan) tinggi.
2. DMA akan menempatkan tinggi pada HRQ nya (tahan permintaan), sinyal CPU melalui pin
TAHAN bahwa itu perlu menggunakan bus.
3. CPU akan menyelesaikan siklus bus ini (tidak perlu instruksi ini) dan merespon permintaan
DMA dengan menempatkan tinggi pada HDLA nya (terus mengakui), sehingga memberitahu

8237 DMA yang dapat pergi ke depan dan menggunakan bus untuk melakukan tugas. TAHAN
harus tetap tinggi aktif selama DMA melakukan tugasnya.
4. DMA akan mengaktifkan DACK (DMA acknowledge), yang memberitahukan perangkat
periferal bahwa mereka akan mulai untuk mentransfer data.
5. DMA mulai mentransfer data dari memori ke perifer dengan menempatkan alamat dari byte
pertama dari blok pada bus alamat dan mengaktifkan ESDM, sehingga membaca byte dari
memori ke bus data, tetapi kemudian mengaktifkan IOW untuk menulis ke perifer. Kemudian
DMA decrements counter dan peningkatan pointer alamat dan mengulangi proses ini sampai
hitungan mencapai nol dan tugas selesai.
6. Setelah DMA selesai tugasnya akan menonaktifkan HRQ, sinyal CPU bahwa hal itu dapat
kembali kontrol atas bus nya.
Sementara DMA menggunakan bus untuk mentransfer data, prosesor menjadi idle. Demikian
pula, ketika prosesor menggunakan bus, DMA menjadi idle.Pengontrol 8237 diketahui sebagai
fly-by DMA controller. Ini berarti bahwa data dipindahkan dari satu lokasi lain tidak melewati
chip DMA dan tidak disimpan dalam DMA chip.Therefore, DMA hanya dapat mentransfer data
antara sebuah I / O port dan memori alamat, tetapi tidak antara dua I / O port atau dua lokasi
memori. Namun, seperti dijelaskan selanjutnya, chip DMA dapat melakukan transfer memori-kememori melalui register.
8237 berisi empat saluran DMA yang dapat diprogram secara independen, dan setiap
salah satu saluran dapat aktif setiap saat. Saluran ini diberi nomor 0, 1, 2, dan 3. Para 8237
memiliki satu set lima kontrol / perintah register untuk program dan kontrol DMA operasi lebih
dari satu saluran (Tabel 7.2):
Perintah: prosesor beban mendaftar ini untuk mengontrol pengoperasian DMA.D0
memungkinkan transfer memori-ke-memori, di mana saluran 0 digunakan untuk mentransfer
byte ke 8237 mendaftar sementara dan saluran 1 yang digunakan untuk mentransfer byte dari
register ke memori memory.ketika memori-ke-memori diaktifkan, D1 dapat digunakan untuk
menonaktifkan penambahan / pengurangan pada saluran 0 sehingga nilai tetap dapat ditulis
menjadi sebuah blok memori. D2 mengaktifkan atau menonaktifkan DMA.
Status: prosesor membaca daftar ini untuk menentukan status DMA. Bit D0-D3 digunakan
untuk menunjukkan jika saluran 0-3 telah mencapai mereka TC (terminal count). Bit D4-D7
digunakan oleh prosesor untuk menentukan apakah saluran mana pun memiliki DMA permintaan

tertunda.
Mode: prosesor set register ini untuk menentukan mode operasi DMA. Bit D0 dan D1
digunakan untuk memilih saluran. Bit lainnya pilih berbagai mode operasi untuk saluran yang
dipilih. Bit D2 dan D3 menentukan apakah transfer dari perangkat I / O ke memori (menulis)
atau dari memori ke I / O (Baca), atau operasi memverifikasi. Jika D4 diatur, maka alamat
memori mendaftar dan register hitungan yang reloaded dengan nilai-nilai asli mereka pada akhir
sebuah DMA transfer data. Bit D6 dan D7 menentukan cara di mana 8237 digunakan. Dalam
single mode, satu byte data yang ditransfer. Blok dan permintaan mode digunakan untuk transfer
blok, dengan modus permintaan memungkinkan untuk mengakhiri dini transfer. Modus Cascade
memungkinkan beberapa 8237s akan mengalir untuk memperluas jumlah saluran untuk lebih
dari 4.
Single Mask: prosesor set register ini. Bit D0 dan D1 pilih saluran.
Bit D2 membersihkan atau set bit masker untuk saluran tersebut. Ini adalah melalui register ini
bahwa masukan DREQ saluran tertentu dapat bertopeng (dinonaktifkan) atau
kedoknya (diaktifkan). Sementara mendaftar perintah dapat digunakan untuk menonaktifkan
Chip DMA keseluruhan, daftar topeng tunggal memungkinkan programmer untuk
menonaktifkan atau mengaktifkan saluran tertentu.
Semua Mask: mendaftar ini mirip dengan topeng tunggal mendaftar kecuali bahwa keempat
saluran dapat tertutupi atau terbongkar dengan satu operasi menulis. Selain itu, memiliki delapan
register 8237A data: satu alamat memori mendaftar dan satu hitungan mendaftar untuk setiap
saluran. Prosesor set register ini untuk menunjukkan lokasi ukuran memori utama akan
terpengaruh oleh transfer.

7.7 Antarmuka Luar : Firewire dan Infineband


Antarmuka ke perifer dari sebuah modul I / O harus disesuaikan dengan sifat dan operasi perifer.
Salah satu ciri utama dari antarmuka adalah apakah serial atau paralel . Dalam sebuah
antarmuka paralel, ada garis yang menghubungkan beberapa modul I / O dan bit perifer, dan
multiple ditransfer secara bersamaan, sama seperti semua bit dari sebuah kata yang ditransfer
secara bersamaan melalui data bus. Dalam serial interface, hanya ada satu garis digunakan
untuk mengirimkan data, dan bit harus ditransmisikan satu demi satu. Sebuah antarmuka paralel
secara tradisional telah digunakan untuk peripheral berkecepatan tinggi, seperti tape dan disk,

sedangkan serial interface secara tradisional telah digunakan untuk printer dan terminals.With
generasi baru berkecepatan tinggi serial interface, antarmuka paralel menjadi jauh kurang umum.
Dalam kedua kasus, modul I / O harus terlibat dalam dialog dengan perifer.

Secara umum, dialog untuk operasi tulis adalah sebagai berikut:


1. Modul I / O mengirimkan sinyal kontrol meminta izin untuk mengirim data.
2. Para perifer mengakui permintaan.
3. Modul I / O transfer data (satu kata atau satu blok tergantung pada perifer).
4. Para perifer mengakui penerimaan data.
Kunci untuk operasi dari sebuah modul I / O adalah suatu buffer internal yang dapat menyimpan
data yang lulus antara perifer dan sisanya dari sistem. Buffer ini memungkinkan modul I / O
untuk mengkompensasi perbedaan kecepatan antara bus sistem dan garis eksternal.
Jenis Antarmuka

Paralel Interface beberapa bit ditransfer secara simultan

Serial Interface- bit yang ditransfer salah satu pada suatu waktu

Point-to-Point dan Multipoint Konfigurasi


Hubungan antara modul I / O dalam sistem komputer dan perangkat eksternal dapat berupa
point-to-point atau multipoint. Sebuah antarmuka point-to-point menyediakan berdedikasi garis
antara modul I / O dan perangkat eksternal. Pada sistem kecil (PC, workstation), khas point-topoint termasuk yang ke keyboard, printer, dan modem eksternal. Sebuah contoh yang khas
seperti sebuah antarmuka adalah EIA-232 spesifikasi (lihat [STAL07] untuk deskripsi).
Peningkatan penting adalah antarmuka multipoint eksternal, digunakan untuk mendukung
perangkat penyimpanan eksternal massa (disk dan tape drive) dan perangkat multimedia (CDROM, video, audio). Antarmuka ini multipoint berada di bus efek eksternal, dan mereka
menunjukkan jenis yang sama logika sebagai bus dibahas dalam Bab 3. Dalam hal ini bagian,
kita melihat dua contoh kunci: FireWire dan Infiniband.
FireWire Serial Bus - IEEE 1394
Dengan kecepatan prosesor mencapai rentang gigahertz dan perangkat penyimpanan memegang
beberapa gigabit, I / O permintaan untuk komputer pribadi, workstation, dan server yang .Yet
tinggi kecepatan I / O channel teknologi yang telah dikembangkan untuk mainframe dan
superkomputer sistem yang terlalu mahal dan besar untuk digunakan pada sistem ini lebih kecil.
Dengan demikian, telah ada minat yang besar dalam mengembangkan kecepatan tinggi alternatif
untuk Sistem Antarmuka Komputer Kecil (SCSI) dan smallsystem lainnya I / O hasil
interfaces.The adalah standar IEEE 1394, untuk Kinerja Tinggi Serial Bus, umumnya dikenal
sebagai FireWire. FireWire memiliki sejumlah keunggulan dibandingkan yang lebih tua I / O
interface. Hal ini sangat kecepatan tinggi, biaya rendah, dan mudah diimplementasikan. Bahkan,
FireWire adalah mencari bantuan tidak hanya untuk sistem komputer, tetapi juga dalam produk
konsumen elektronik, seperti digital kamera, pemutar DVD / recorder, dan televisi. Dalam
produk ini, FireWire digunakan untuk mengangkut gambar video, yang semakin besar dari
digital sumber. Salah satu kekuatan dari antarmuka FireWire adalah bahwa ia menggunakan
transmisi serial (Bit pada satu waktu) daripada paralel. Interface paralel, seperti SCSI,

memerlukan lebih kabel, yang berarti lebih luas, kabel lebih mahal dan lebih luas, konektor lebih
mahal dengan lebih pin untuk membengkokkan atau istirahat. Sebuah kabel dengan kabel yang
lebih membutuhkan perisai untuk mencegah gangguan listrik antara kawat. Juga, dengan
antarmuka paralel, sinkronisasi antara kabel menjadi suatu kebutuhan, masalah yang semakin
memburuk dengan peningkatan panjang kabel. Selain itu, komputer mendapatkan fisik lebih
kecil bahkan ketika mereka memperluas di daya komputasi dan I / O kebutuhan. Komputer
genggam dan ukuran saku memiliki sedikit ruang untuk konektor namun perlu data tingkat tinggi
untuk menangani gambar dan video. Tujuan dari FireWire adalah untuk menyediakan antarmuka
I / O tunggal dengan konektor yang sederhana yang dapat menangani berbagai perangkat melalui
port tunggal, sehingga mouse, printer laser, disk drive eksternal, suara, dan hookups jaringan
area lokal dapat diganti dengan konektor tunggal.
F IRE W IRE
menggunakan konfigurasi daisy-rantai, dengan up untuk 63 perangkat yang terhubung dari port
tunggal. Selain itu, sampai 1022 FireWire bus dapat saling berhubungan menggunakan jembatan,
memungkinkan sistem untuk mendukung peripheral sebanyak seperti yang diperlukan. FireWire
menyediakan apa yang dikenal sebagai panas penyumbatan, yang memungkinkan untuk
menghubungkan dan memutuskan peripheral tanpa harus daya sistem komputer bawah atau
mengkonfigurasi ulang system.Also itu, FireWire menyediakan untuk konfigurasi otomatis; tidak
perlu secara manual untuk mengatur ID perangkat atau untuk peduli dengan relatif posisi
perangkat. Gambar 7.17 menunjukkan sebuah FireWire configuration.With sederhana FireWire,
tidak ada pemutusan, dan sistem secara otomatis melakukan konfigurasi fungsi untuk
menetapkan alamat. Juga mencatat bahwa bus FireWire tidak perlu menjadi ketat rantai daisy.
Sebaliknya, konfigurasi pohon-terstruktur adalah mungkin. Sebuah fitur penting dari standar
FireWire adalah bahwa hal itu menetapkan satu set dari tiga lapisan protokol untuk membakukan
cara di mana sistem host berinteraksi dengan perangkat peripheral melalui serial bus. Gambar
7.18 mengilustrasikan hal ini stack.

Tiga lapisan stack adalah sebagai berikut:


Lapisan Fisik: Mendefinisikan medium transmisi yang diizinkan menurut FireWire dan
karakteristik listrik dan sinyal dari masing-masing

Link layer: Menjelaskan transmisi data dalam paket

Transaksi lapisan: Mendefinisikan sebuah protokol request-response yang menyembunyikan


lowerlayer yang FireWire rincian dari aplikasi

LAPISAN FISIK
Lapisan fisik dari transmisi FireWire menentukan beberapa alternatif media dan konektor
mereka, dengan transmisi fisik dan data yang berbeda properti. Kecepatan data 25-3200 Mbps
didefinisikan. Lapisan fisik mengkonversi data biner menjadi sinyal listrik untuk berbagai media
fisik. Lapisan ini juga menyediakan layanan arbitrase yang menjamin bahwa perangkat hanya
satu pada waktu akan mengirimkan data. Dua bentuk arbitrase yang disediakan oleh bentuk
FireWire.The sederhana didasarkan pada pengaturan struktur pohon dari node pada bus FireWire,
disebutkan sebelumnya. Sebuah kasus khusus dari struktur ini adalah sebuah rantai daisy linier.
Lapisan fisik berisi logika yang memungkinkan semua perangkat yang terhubung ke
mengkonfigurasi dirinya sendiri sehingga satu simpul ditetapkan sebagai akar dari pohon dan
node lain diatur dalam orang tua / anak membentuk hubungan topologi pohon. Setelah
konfigurasi ini didirikan, simpul akar bertindak sebagai arbiter pusat dan permintaan proses
untuk akses bus di cara pertama datang-pertama dilayani. Dalam kasus permintaan simultan,
node dengan prioritas alam tertinggi diberikan akses. Prioritas alami ditentukan oleh yang
bersaing simpul terdekat dengan akar dan, di antara mereka dari jarak yang sama dari akar, yang
satu memiliki nomor ID yang lebih rendah. Metode arbitrase tersebut dilengkapi dengan dua
tambahan fungsi: keadilan arbitrase dan mendesak arbitrase arbitration.With keadilan, waktu di
bus ini diatur dalam interval keadilan. Pada awal interval, masing-masing simpul set bendera
arbitration_enable. Selama interval, setiap node dapat bersaing untuk akses bus. Setelah node
telah memperoleh akses ke bus, itu reset nya arbitration_ mengaktifkan bendera dan tidak
mungkin lagi bersaing untuk akses yang adil selama interval ini. Ini membuat skema arbitrase
lebih adil, dalam hal ini mencegah satu atau lebih highpriority sibuk perangkat dari memonopoli
bus. Selain skema keadilan, beberapa perangkat dapat dikonfigurasi sebagai memiliki mendesak
prioritas. Node tersebut dapat mendapatkan kontrol dari bus beberapa kali selama suatu keadilan
Interval. Pada dasarnya, counter digunakan pada setiap node prioritas tinggi yang
memungkinkan prioritas tinggi node untuk mengontrol 75% dari waktu bus tersedia. Untuk

setiap paket yang ditularkan sebagai tidak mendesak, paket tiga dapat ditransmisikan sebagai
mendesak.
LAPISAN LINK
link layer mendefinisikan transmisi data dalam bentuk paket. Dua jenis transmisi yang didukung:
Asynchronous: Sejumlah variabel data dan beberapa byte transaksi informasi layer ditransfer
sebagai paket ke alamat yang jelas dan pengakuan dikembalikan.
Isochronous: Sejumlah variabel data ditransfer dalam sebuah urutan fixedsize paket yang
ditransmisikan pada interval teratur. Bentuk transmisi menggunakan disederhanakan menangani
dan pengakuan tidak ada. Transmisi asynchronous digunakan oleh data yang tidak memiliki data
rate tetap persyaratan. Kedua arbitrase yang adil dan skema arbitrase mendesak dapat digunakan
untuk transmisi asynchronous. Metode default adalah arbitrase adil. Perangkat yang
menginginkan sebagian besar dari kapasitas bus atau memiliki persyaratan latensi yang parah
menggunakan contoh arbitrase method.For mendesak, kecepatan tinggi real-time pengumpulan
data simpul dapat menggunakan arbitrase mendesak ketika buffer data penting lebih dari
setengah penuh. Gambar 7.19a menggambarkan proses asinkron transaction.The khas
memberikan sebuah paket tunggal disebut subaction suatu.

Subaction ini terdiri dari lima periode waktu:


Urutan Arbitrase: Ini adalah pertukaran sinyal yang diperlukan untuk memberikan satu
perangkat kontrol bus.
Paket transmisi: Setiap paket termasuk header yang berisi sumber dan tujuan Header IDs.The
juga berisi paket informasi jenis, CRC (Cek redundansi siklik) checksum, dan informasi
parameter untuk spesifik jenis paket. Sebuah paket juga mungkin termasuk blok data yang terdiri
dari pengguna data dan CRC lainnya.
Pengakuan kesenjangan: Ini adalah waktu tunda untuk tujuan untuk menerima dan decode
paket dan menghasilkan pengakuan.
Pengakuan: Para penerima paket mengembalikan sebuah pengakuan paket dengan kode yang
menunjukkan tindakan yang diambil oleh penerima.
Subaction kesenjangan: Ini merupakan periode idle ditegakkan untuk memastikan bahwa
node lain pada bus tidak mulai menengahi sebelum paket acknowledgement telah ditransmisikan.

Pada saat pengakuan dikirim, node mengakui dalam kontrol bus. Oleh karena itu, jika pertukaran
adalah interaksi permintaan / tanggapan antara dua node, maka node merespon segera dapat
mengirimkan tanggapan paket tanpa melalui urutan arbitrase (Gambar 7.19b). Untuk perangkat
yang secara teratur menghasilkan atau mengkonsumsi data, seperti suara digital atau video, akses
isochronous disediakan. Metode ini menjamin bahwa data dapat disampaikan dalam latency
ditentukan dengan data rate dijamin. Untuk menampung beban lalu lintas isochronous data
campuran dan asinkron sumber, satu node yang ditunjuk sebagai master siklus. berkala, isu
utama siklus cycle_start paket. Ini sinyal semua node lainnya yang siklus isochronous telah
dimulai. Selama siklus ini, hanya paket-paket dapat dikirimkan isochronous (Gambar 7.19c).
Setiap isochronous sumber data untuk node bus arbitrates memenangkan access.The segera
mengirimkan paket. Tidak ada pengakuan terhadap paket ini, dan data isochronous sehingga
lainnya sumber segera menengahi bus setelah paket isochronous sebelumnya ditransmisikan.
Hasilnya adalah bahwa ada celah kecil antara transmisi dari satu paket dan periode arbitrase
untuk paket berikutnya, didikte oleh penundaan di bus. Penundaan ini, disebut sebagai
kesenjangan isochronous, lebih kecil dari celah subaction. Setelah semua sumber isochronous
telah ditransmisikan, bus akan tetap menganggur lama cukup untuk celah subaction terjadi. Ini
adalah sinyal untuk sumber asynchronous bahwa mereka sekarang dapat bersaing untuk akses
bus. Sumber asynchronous kemudian dapat menggunakan bus sampai awal siklus berikutnya
isochronous. Isochronous paket diberi label dengan 8-bit nomor saluran yang sebelumnya
ditetapkan oleh dialog antara dua node yang bertukar isochronous Data. Header, yang lebih
pendek daripada untuk paket asynchronous, juga mencakup bidang data yang panjang dan CRC
header.
InfiniBand
InfiniBand adalah spesifikasi I / O terbaru yang ditujukan untuk pasar server high-end. 3 Para
versi pertama dari spesifikasi ini dirilis di awal tahun 2001 dan telah menarik banyak
vendors.The standar menggambarkan arsitektur dan spesifikasi untuk aliran data antara prosesor
dan cerdas I / O device. Infiniband telah menjadi antarmuka populer untuk jaringan area
penyimpanan

dan

konfigurasi

penyimpanan

yang

besar. Dalam

Intinya,

Infiniband

memungkinkan server, penyimpanan jauh, dan perangkat jaringan lainnya untuk dilampirkan
dalam sebuah kain pusat switch dan link. Arsitektur switch-based dapat menghubungkan hingga

64.000 server, sistem penyimpanan, dan perangkat jaringan. Meskipun PCI adalah metode
interkoneksi yang dapat diandalkan dan terus memberikan kecepatan meningkat, hingga 4 Gbps,
itu adalah arsitektur yang terbatas dibandingkan dengan Infiniband.With InfiniBand, tidak perlu
memiliki dasar I / O antarmuka hardware di dalam server chassis.With InfiniBand, penyimpanan
jauh, jaringan, dan koneksi antara server yang dicapai dengan melampirkan semua perangkat
untuk kain pusat switch dan link. Menghapus I / O dari server chassis memungkinkan kerapatan
yang lebih besar dan server yang memungkinkan untuk pusat datayang lebih fleksibel dan
scalable, sebagai node yang independen dapat ditambahkan sesuai kebutuhan. Tidak seperti PCI,
yang mengukur jarak dari motherboard CPU dalam sentimeter, Desain saluran Infiniband yang
memungkinkan I / O device untuk ditempatkan sampai dengan 17 meter jauh dari server
menggunakan tembaga, sampai 300 m menggunakan serat optik multimode, dan sampai 10 km
dengan single-mode serat optik.

Tingkat transmisi setinggi 30 Gbps dapat dicapai. Elemen-elemen kunci adalah sebagai berikut:
Host saluran adaptor (HCA): Alih-alih sejumlah slot PCI, yang khas server memerlukan
sebuah antarmuka tunggal untuk suatu HCA yang menghubungkan server ke Infini- Beralih

band. HCA menempel ke server pada kontroler memori, yang memiliki akses ke bus sistem dan
kontrol lalu lintas antara prosesor dan memori dan antara HCA dan memori. HCA menggunakan
langsung-memori akses (DMA) untuk membaca dan menulis memori.
Sasaran saluran adaptor (TCA): Sebuah TCA digunakan untuk menghubungkan sistem
penyimpanan, router, dan perangkat periferal lainnya ke saklar InfiniBand.
Infiniband switch: saklar A memberikan point-to-point koneksi fisik ke berbagai perangkat
dan lalu lintas beralih dari satu link ke yang lain. Server dan perangkat berkomunikasi melalui
adapter mereka, melalui kecerdasan saklar switch.The itu mengelola hubungan tanpa
mengganggu operasi server '.
Link: Link antara switch dan adaptor saluran, atau antara dua switch.
Subnet: subnet terdiri dari satu atau lebih switch yang saling berhubungan ditambah link yang
menghubungkan perangkat lain untuk switch. Gambar 7.20 menunjukkan sebuah subnet dengan
saklar tunggal, tetapi subnet yang lebih kompleks yang diperlukan bila besar jumlah perangkat
harus saling berhubungan. Subnet memungkinkan administrator untuk membatasi siaran dan
transmisi multicast dalam subnet.
Router: Menghubungkan subnet Infiniband, atau menghubungkan saklar Infiniband ke
jaringan, seperti jaringan area lokal, jaringan area luas, atau jaringan area penyimpanan. Adaptor
saluran perangkat cerdas yang menangani semua fungsi I / O tanpa kebutuhan untuk
mengganggu prosesor server. Misalnya, ada protokol kontrol dimana switch menemukan semua
TCA dan HCA dalam kain dan memberikan alamat logis untuk each.This dilakukan tanpa
keterlibatan prosesor. Saklar Infiniband sementara membuka saluran antara prosesor dan
perangkat dengan yang berkomunikasi. Perangkat tidak harus berbagi kapasitas saluran, seperti
halnya dengan desain bus berbasis seperti PCI, yang mengharuskan bahwa perangkat arbitrase
untuk akses ke prosesor. Perangkat tambahan yang ditambahkan ke konfigurasi oleh hooking up
masing-masing perangkat yang TCA ke saklar.
Setiap link fisik antara switch dan terpasang antarmuka (HCA atau TCA) dapat mendukung
hingga 16 saluran logis, disebut virtual jalur. Satu jalur diperuntukkan untuk manajemen kain

dan jalur lain untuk data transportasi. Data dikirim dalam bentuk aliran paket, dengan paket
masing-masing mengandung beberapa bagian dari total data yang akan ditransfer, ditambah
pengalamatan dan kontrol informasi. Jadi, satu set protokol komunikasi yang digunakan untuk
mengelola transfer data. Sebuah jalur virtual sementara didedikasikan untuk transfer data dari
satu node ujung ke ujung atas kain InfiniBand. Para InfiniBand beralih peta lalu lintas dari jalur
masuk ke sebuah jalan keluar untuk rute data antara titik akhir yang diinginkan. perangkat tujuan
dapat menerima itu, sepasang antrian di kedua ujung setiap link sementara buffer outbound dan
inbound data yang berlebih. Antrian dapat ditemukan di adaptor saluran atau dalam memori
perangkat terlampir. Sepasang terpisah dari antrian yang digunakan untuk setiap jalur virtual.
Tuan rumah menggunakan antrian ini sebagai berikut tuan fashion.Tempat transaksi, yang
disebut bekerja antrian masuk (WQE) menjadi baik mengirim atau menerima antrian dari
pasangan antrian. Dua WQEs paling penting adalah SEND dan MENERIMA. Untuk operasi
ruang memori perangkat untuk hardware untuk mengirim ke destination.A MENERIMA WQE
menentukan di mana perangkat keras adalah dengan menempatkan data yang diterima dari
perangkat lain ketika konsumen yang mengeksekusi operasi KIRIM. Adaptor saluran memproses
setiap diposting WQE dalam urutan prioritas yang tepat dan menghasilkan antrian penyelesaian
entri (CQE) untuk mengindikasikan status penyelesaian. Gambar 7.21 juga menunjukkan bahwa
protokol arsitektur berlapis yang digunakan, terdiri dari empat lapisan:
Fisik: Spesifikasi fisik-lapisan mendefinisikan kecepatan link yang tiga (1X, 4X, dan 12X)
memberikan tingkat transmisi 2,5, 10, dan 30 Gbps, masing-masing (Tabel 7.3). Lapisan fisik
juga mendefinisikan media fisik, termasuk tembaga dan optik serat.
Link: Lapisan ini mendefinisikan struktur paket dasar yang digunakan untuk pertukaran data,
termasuk skema pengalamatan yang memberikan alamat link unik untuk setiap perangkat dalam
subnet. Tingkat ini mencakup logika untuk menyiapkan jalur maya dan untuk switching data
melalui switch dari sumber ke tujuan dalam subnet. Struktur paket mencakup kode kesalahandeteksi untuk memberikan kehandalan.
Jaringan: Lapisan rute jaringan paket antara InfiniBand yang berbeda subnet.

Transport: Lapisan transport menyediakan mekanisme kehandalan untuk end-to-end transfer


paket di satu atau lebih subnet.

Anda mungkin juga menyukai