- 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.
- 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
- 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.
- 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