Minggu, 30 Oktober 2011

Pertemuan 6

Input/Output Problems

Berbagai macam peripheral
Menyampaikan berbagai data dalam jumlah
Pada kecepatan yang berbeda
Dalam format yang berbeda
Lebih lambat dari CPU dan RAM Semua
Need I / O modul

Input/Output Module

Interface ke CPU dan Memori
Interface ke satu atau lebih peripheral

External Devices

dapat dibaca manusia
Layar, printer, keyboard
dibaca mesin
Monitoring dan kontrol
komunikasi
modem
Network Interface Card (NIC)

I/O Module Function

 Control & Timing
 CPU Communication
 Device Communication
 Data Buffering
 Error Detection

I/O Steps

CPU memeriksa I / O Status modul device
Modul I / O Status pengembalian
Jika siap, CPU meminta transfer data
Modul I / O mendapatkan data dari device
Modul I / O transfer data ke CPU
Variasi untuk output, DMA, dll

I/O Module Decisions

Menyembunyikan atau mengungkapkan device properties ke CPU
Dukungan beberapa device atau tunggal
Kontrol fungsi perangkat atau meninggalkan untuk CPU
Juga O / S keputusan
misalnya Unix memperlakukan segala sesuatu yang dapat sebagai file

Input Output Techniques

Programmed
interrupt driven
Direct Memory Access (DMA)

Programmed I/O

CPU memiliki kontrol langsung atas I / O
penginderaan Status
Membaca / menulis perintah
mentransfer data
CPU menunggu modul I / O untuk operasi lengkap
Limbah waktu CPU

Programmed I/O – detail

CPU meminta I / O operasi
Modul I / O melakukan operasi
I / O modul set bit status yang
CPU memeriksa bit status yang secara berkala
Modul I / O tidak memberitahu CPU secara langsung
Modul I / O tidak mengganggu CPU
CPU mungkin menunggu atau kembali lagi nanti

I/O Commands

CPU masalah alamat
Mengidentifikasi modul (& perangkat jika> 1 per modul)
CPU masalah perintah
Kontrol - modul memberitahu apa yang harus dilakukan
misalnya berputar disk
Uji - Status cek
misalnya kekuasaan? Kesalahan?
Baca / Tulis
Modul transfer data melalui buffer dari / ke perangkat

Addressing I/O Devices

Di bawah diprogram I / O transfer data sangat seperti akses memori (sudut pandangCPU)
Setiap perangkat diberi pengenal unik
Perintah CPU berisi pengenal (alamat)

I/O Mapping

Memori dipetakan I / O
Perangkat dan berbagi ruang alamat memori
I / O tampak seperti memori baca / tulis
Tidak ada perintah khusus untuk I / O
Banyak pilihan perintah akses memori yang tersedia
Terisolasi I / O
Pisahkan alamat spasi
Butuh I / O atau memori baris pilih
Khusus perintah untuk I / O
terbatas diatur

Interrupt Driven I/O

Mengatasi CPU menunggu
Tidak memeriksa ulang perangkat CPU
I / O modul interupsi saat siap

Interrupt Driven I/O Basic Operation

Masalah CPU membaca perintah
Modul I / O mendapatkan data dari CPU sementara tidak bekerja perifer lainnya
Modul I / O menyela CPU
CPU permintaan data
Transfer modul I / O data

CPU Viewpoint

Masalah membaca perintah
Melakukan pekerjaan lain
Periksa interupsi pada akhir setiap siklus instruksi
Jika terganggu: -
Simpan konteks (register)
proses mengganggu
Mengambil data & menyimpan
Lihat catatan Sistem Operasi

Design Issues

Bagaimana Anda mengidentifikasi modul menerbitkan mengganggu?
Bagaimana Anda menangani beberapa interupsi?
yakni sebuah interrupt handler yang terganggu

Identifying Interrupting Module (1)

Berbeda baris untuk setiap modul
PC
Batas jumlah perangkat
Software jajak pendapat
CPU meminta modul masing-masing pada gilirannya
lambat

Identifying Interrupting Module (2)

Daisy Chain atau jajak pendapat perangkat keras
Interrupt Akui diturunkan rantai
Modul bertanggung jawab tempat vektor di bus
CPU menggunakan vektor untuk mengidentifikasi rutin handler
bus Master
Modul harus mengajukan klaim bus sebelum dapat meningkatkan mengganggu
misalnya PCI & SCSI

Multiple Interrupts

Setiap baris interrupt memiliki prioritas
Garis prioritas yang lebih tinggi dapat mengganggu jalur prioritas yang lebih rendah
Jika bus mastering hanya master saat ini dapat mengganggu

Example - PC Bus

80x86 memiliki satu baris interrupt
8086 menggunakan sistem berbasis satu controller interupsi 8259A
8259A memiliki 8 baris interrupt

Sequence of Events

Menerima interupsi 8259A
8259A menentukan prioritas
8259A sinyal 8086 (INTR menimbulkan baris)
CPU Mengakui
8259A menempatkan vektor yang benar pada data bus
Proses CPU mengganggu

ISA Bus Interrupt System

Bus ISA chain dua 8259As bersama-sama
Link adalah melalui interupsi 2
Memberikan 15 baris
16 baris kurang satu untuk link
IRQ 9 digunakan untuk kembali rute apa pun mencoba untuk menggunakan IRQ 2
kompatibilitas mundur
Incorporated di chip set

Direct Memory Access

Interrupt driven dan diprogram I / O memerlukan intervensi CPU aktif
Transfer rate terbatas
CPU diikat
DMA adalah jawabannya

DMA Function

Modul tambahan (hardware) di bus
DMA controller mengambil alih dari CPU untuk I / O

DMA Operation

DMA controller memberitahu CPU: -
Baca / Tulis
alamat perangkat
Mulai alamat blok memori untuk data
Jumlah data yang ditransfer
CPU melanjutkan pekerjaan lain
DMA controller mentransfer berhubungan dengan
DMA controller mengirimkan interupsi ketika selesai

DMA Transfer Cycle Stealing

DMA controller mengambil alih bus untuk siklus
Transfer data satu kata
Tidak interrupt
CPU tidak context switch
CPU ditangguhkan sebelum ia mengakses bus
yaitu sebelum mengambil operand atau data atau menulis data
Memperlambat CPU, tetapi tidak sebanyak mentransfer CPU melakukan

I/O Channels

I / O device semakin canggih
misalnya Kartu grafis 3D
Menginstruksikan CPU I / O controller untuk melakukan transfer
I / O controller tidak seluruh transfer
meningkatkan kecepatan
Membawa beban dari CPU
Dedicated prosesor lebih cepat

Small Computer Systems Interface (SCSI)

paralel antarmuka
8, 16, 32 bit data baris
daisy dirantai
Perangkat independen
Perangkat dapat berkomunikasi satu sama lain juga sebagai tuan rumah

SCSI – 1

awal 1980-an
8 bit
5MHz
Data rate 5MBytes.s-1
tujuh perangkat
Delapan termasuk antarmuka host

SCSI – 2

1991
16 dan 32 bit
10MHz
Data rate 20 atau 40 Mbytes.s-1
(Check out Ultra / Wide SCSI)

SCSI Signaling (1)

Antara inisiator dan target
Biasanya host & perangkat
Bis gratis? (c.f. Ethernet)
Arbitrase - mengendalikan bus (c.f. PCI)
memilih target
seleksi ulang
Memungkinkan rekoneksi setelah suspensi
misalnya jika permintaan membutuhkan waktu untuk mengeksekusi, bus dapat dilepaskan

SCSI Signaling (2)

Perintah - target meminta dari inisiator
data permintaan
Status permintaan
Pesan permintaan (kedua cara)

Configuring SCSI

Bus harus diakhiri di setiap akhir
Biasanya salah satu ujungnya adalah host adapter
Pasang di terminator atau beralih (es)
SCSI Id harus diatur
Jumper atau switch
Unik pada rantai
0 (nol) untuk perangkat boot
Jumlah yang lebih tinggi merupakan prioritas tinggi pada arbitrase

IEEE 1394 FireWire

Kinerja bus seri tinggi
cepat
biaya rendah
Mudah untuk menerapkan
Juga digunakan dalam kamera digital, VCR dan TV

FireWire Configuration

rantai daisy
Sampai dengan 63 perangkat pada port tunggal
Benar-benar 64 yang satu adalah antarmuka itu sendiri
Sampai 1022 bus dapat dihubungkan dengan jembatan
konfigurasi otomatis
Tidak ada bus terminator
Mungkin struktur pohon

FireWire 3 Layer Stack

fisik
Transmisi menengah, listrik dan karakteristik sinyal
link
Transmisi data dalam paket
transaksi
Permintaan-respon protocol

FireWire - Physical Layer

Data rate dari 25 hingga 400Mbps
Dua bentuk arbitrase
Berdasarkan struktur pohon
Akar bertindak sebagai arbiter
Pertama datang pertama dilayani
Prioritas alami kontrol permintaan simultan
yaitu yang terdekat untuk root
arbitrase yang adil
mendesak arbitrase

FireWire - Link Layer

Dua jenis transmisi
asynchronous
Jumlah variabel data dan beberapa byte data transaksi ditransfer sebagai sebuah paket
Untuk mengatasi eksplisit
Pengakuan kembali
isochronous
Variabel jumlah data dalam urutan paket ukuran yang tetap secara berkala
Sederhana menangani
tidak ada pengakuan

Foreground Reading

Check out Universal Serial Bus (USB)
Bandingkan dengan standar komunikasi lainnya misalnya Ethernet

Tidak ada komentar:

Posting Komentar