88038582 input terprogram

51
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

Upload: emapermanasari

Post on 10-Nov-2015

62 views

Category:

Documents


0 download

DESCRIPTION

orkom

TRANSCRIPT

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.