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
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:
-
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.
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
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
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
tersedia untuk digunakan. Hal ini juga akan ingin tahu jika operasi I / O yang paling
-
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
rusak
parah.
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
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 :
-
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
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.
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 :
-
7.6
Jalur
I/O
dan
Prosesor
Evolusi fungsi perangkat
I/O
Sistem
komputer
mengalami
peningkatan
kompleksitas
dan
kecanggihan
komponen-
menggunakan
I/O
terpogram
tanpa
interupsi,
sehingga
tak
perlu
pusat
mengendalikan.memerintahkan
pemroses
khusus
I/O
untuk
blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan
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.
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.
Serial Interface- bit yang ditransfer salah satu pada suatu waktu
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.
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.
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.