Naprogramovaný vstup – výstup - Programmed input–output
Naprogramovaná vstup-výstup (také naprogramován vstup / výstup , naprogramované I / O , PIO ) je způsob přenosu dat , přes vstupní / výstupní (I / O), mezi centrální procesorové jednotky (CPU) a periferních zařízení, jako je například síťový adaptér nebo Parallel ATA zařízení pro ukládání dat. Každý přenos datových položek je iniciován instrukcí v programu zahrnující CPU pro každou transakci. Naproti tomu v operacích přímého přístupu do paměti (DMA) není CPU zapojena do přenosu dat.
Termín může odkazovat na I / O (MMIO) mapované na paměť nebo I / O mapované na porty (PMIO). PMIO označuje převody využívající speciální adresní prostor mimo normální paměť, k nimž se obvykle přistupuje pomocí vyhrazených pokynů, jako je napříkladV a VENv architekturách x86 . MMIO označuje převody na I / O zařízení, která jsou mapována do normálního adresního prostoru dostupného programu. PMIO bylo velmi užitečné pro časné mikroprocesory s malými adresními prostory, protože I / O zařízení nespotřebovával cenný zdroj.
Nejznámějším příkladem zařízení PC, které používá naprogramované I / O, je rozhraní AT Attachment (ATA); toto rozhraní však lze provozovat také v kterémkoli z několika režimů DMA. Mnoho starších zařízení v počítači také používá PIO, včetně starších sériových portů, starších paralelních portů, pokud nejsou v režimu ECP, portů PS / 2 pro klávesnici a myš , starších portů Musical Instrument Digital Interface ( MIDI ) a joysticku , intervalového časovače a starších síťová rozhraní.
Režim PIO v rozhraní ATA
Rozhraní PIO je seskupeno do různých režimů, které odpovídají různým přenosovým rychlostem . Elektrická signalizace mezi různými druhy je podobná - pouze doba cyklu mezi transakcemi se sníží, aby se dosáhlo vyšší přenosovou rychlost. Všechna zařízení ATA podporují nejpomalejší režim - režim 0. Přístupem k informačním registrům (pomocí režimu 0) na jednotce ATA je procesor schopen určit maximální rychlost přenosu pro zařízení a nakonfigurovat řadič ATA pro optimální výkon.
Režimy PIO vyžadují pro konfiguraci datové transakce a přenos dat velkou režii CPU. Kvůli této neefektivnosti bylo pro zvýšení výkonu vytvořeno rozhraní DMA (a případně Ultra Direct Memory Access ( UDMA )). Jednoduchá digitální logika potřebná k provedení přenosu PIO stále činí tuto metodu přenosu užitečnou i dnes, zvláště pokud jsou vysoké přenosové rychlosti nepotřebné jako ve vestavěných systémech nebo s čipy FPGA ( Field Programmable Gate Array ), kde lze použít režim PIO bez významné ztráty výkonu.
Ve specifikaci CompactFlash 2.0 byly definovány dva další pokročilé režimy časování . Jedná se o režimy PIO 5 a 6. Jsou specifické pro CompactFlash.
| Režim | Maximální přenosová rychlost (MB / s) | Minimální doba cyklu | Standard, kde je definována specifikace |
|---|---|---|---|
| Režim 0 | 3.3 | 600 ns | ATA-1 |
| Režim 1 | 5.2 | 383 ns | ATA-1 |
| Režim 2 | 8.3 | 240 ns | ATA-1 |
| Režim 3 | 11.1 | 180 ns | ATA-2 |
| Režim 4 | 16.7 | 120 ns | ATA-2 |
| Režim 5 | 20 | 100 ns | CompactFlash 2.0 |
| Režim 6 | 25 | 80 ns | CompactFlash 2.0 |
Režim PIO 5
Byl navržen režim PIO 5 s provozem na 22 MB / s, ale nikdy nebyl implementován na pevných discích, protože CPU té doby by byly ochromené čekáním na pevný disk v navrhovaných časováních PIO 5 a standard DMA to nakonec odstranil. Ačkoli nebyl nikdy vyroben žádný pevný disk, který by podporoval tento režim, někteří výrobci základních desek preventivně poskytovali podporu systému BIOS . Režim PIO 5 lze použít s kartami CompactFlash připojenými k ATA pomocí adaptérů CF-to-ATA.
Viz také
- WDMA (počítač) - jedno / víceslovný DMA
- AT Attachment - specifikace ATA
- Vstup výstup
- Přerušit
- Seznam šířek pásma zařízení
- CompactFlash