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žimy PIO
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é

Reference