MAKALAH ARKOMUNIT MASUKAN / KELUARAN
DISUSUN OLEH :MUHAMMAD TAUFIK (1010451008)GUSTIAN DERANGGA
(1010452024)DEDE DESMANA (10103006)ANNE REFELLINA (1010453020)RAHMA
HIDAYAH (1010453036)DOSEN PEMBIMBING : TATI ERLINA , M.KOMPROGRAM
STUDI SISTEM KOMPUTERJURUSAN MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU
PENGETAHUAN ALAMUNIVERSITAS ANDALASPADANG2011INPUT / OUTPUT7.1
Perangkat eksternalOperasi 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/monitorCara 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 driverdriver 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/OFungsi Modul I/OModul I/O adalah suatu komponen
dalam sistem komputer yang bertanggung jawab ataspengontrolan
sebuah perangkat luar atau lebih dan bertanggung jawab pula
dalampertukaran dataantara perangkat luar tersebut dengan memori
utama ataupun dengan register registerCPU.Dalam mewujudkan hal ini,
diperlukan antarmuka internal dengan komputer (CPU danmemoriutama)
dan antarmuka dengan perangkat eksternalnya untuk menjalankan
fungsi fungsipengontrolan.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 untukmensinkronkan kerja masing masing komponen
penyusun komputer. Dalam sekali waktu CPUberkomunikasi 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 kontrolpemindahan 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 diskdapat 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 perangkatperipheral, 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 padaperangkat 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 adalahpenggunaan bitparitas.
Struktur Modul I/OTerdapat 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 yangberhubungan dengan
semua peralatan antarmuka peripheral, terdapat fungsi pengaturan
dan switching pada blok ini
7.3 I/O TERPROGRAMOperasi 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
terprogramKetika 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/OUntuk
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/ODengan 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
terisolasiAsumsikan 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/OPermasalahan 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
dieksekusi5. CPU akan menyimpan PC eksekusi sebelum interupsi ke
stack pengontrol bersama informasi PSW.6. Selanjutnya CPU memproses
interupsi sampai selesai7. Apabila pengolahan interupsi selesai,
CPU akan memanggil kembali informasi yang telah disimpan pada stack
pengontrol untuk meneruskan operasi sebelum interupsi.
Design IssuesDua 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 BusTeknik 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
8259AIntel 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 8255AContoh 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 8086Bagian 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 AccessKekurangan I/O Terprogram dan
Interrupt-Driven I/OWalaupun lebih efisien dibandingkan dengan I/O
Terprogram yang sederhanan, interrupt-driven 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 modul-modul 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 ProsesorEvolusi fungsi perangkat I/OSistem
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/OPerangkat
I/O dapat dikelompokkan berdasarkana. 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 blok-blok secara
independen. Perangkat berorientasi aliran karakter Yaitu perangkat
yang menerima, dan mengirimkan aliran karakter tanpa membentuk
suatu struktur blok b. 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 8237AIntel 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-ke-memori 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 InfinebandAntarmuka 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-to-point
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 (CD-ROM, 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 1394Dengan 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 kesalahan-deteksi 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.