Sunday, 23 December 2012

Input/Output Architecture by Eliza Joanne

Polling and interrupt-driven I/O 
- CPU memindahkan data antara memory dan I/O data registers.
- Mengambil masa lama untuk kelajuan tinggi peranti.
Direct memory access (DMA) 
- OS menyediakan alamat permulaan dalam memori.
- I/O controller memindahkan dari atau kepada memori secara autonomi.
- Controller sampukan apabila selesai atau ada kesilapan.
  • Special Purpose Processor : DMA controller
    - Free CPU dari data pemindahan tugas yang tulen.
    - DMA access : Pointer ke sumber, destinasi dan saiz data yang dikeluarkan untuk memulakan pemindahan.
    - Processor menulis data DMA access dara dan menyambung kerja. 
  • DMA controllers merupakan komponen piawai.
  • Bus-mastering I/O hardware. 
DMA/Cache Interaction
- Jika DMA menulis kepada cached memory block, cached copy menjadi stale.
- JIka write-back cache mempunyai block yang kotor dan DMA membaca memory block, ia membaca data stale.
- Perlu memastikan cache coherence, flush blocks dari cache jika digunakan untuk DMA atau digunakan non-cacheable memory locations untuk I/O.

DMA/VM Interaction 
  • OS mengunakan alamat maya untuk memory.
    - DMA block mungkin tidak menular dalam memori fizikal. 
  • Perlukah DMA menggunakan alamat maya?
    - Perlu controller membuat terjemahan. 
  • Jika DMA menggunakan alamat fizikal.
    - Mungkin perlu break transfers kepada page-sized chunks atau chain pelbagai pindahan atau memperuntukkan muka surat menular fizikal untuk DMA. 

Memory mapped I/O
-Registers adalah alamat di ruang yang sama seperti memori.
-Alamat decoder membezakan mereka.
-OS menggunakan mekanisme terjemahan alamat untuk membuat mereka hanya boleh diakses untuk kernel.

Isolated I/O instructions
-Membezakan arahan untuk mengakses I/O registers.
-Hanya boleh dilaksanakan dalam mode kernal.

I/O Transfer Mode
-Terdapat 2 jenis iaitu parallel transfer dan series transfer.
  • Parallel Transfer
    - Data transfer ini mempunyai read and write transfer.
    - Control disk seek.
    - Transfer integriti (transfer parity dan data encoding).
  • Series Transfer
    - Asynchronous Clocking
      => Master jam pemindahan.
      => Slave memperolehi jam dari master.
    - Synchronous clocking
      => Independent clocking.
      => Pengesahan oleh corak synchronous.

No comments:

Post a Comment