PIO

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 12 iulie 2019; verificările necesită 2 modificări . acest termen are și alte semnificații: PIO, aviation - Pilot Induced Oscillation

PIO - Intrare/ieșire programată ( în engleză  Intrare/ieșire programată, PIO ), o metodă de transfer de date între două dispozitive, folosind procesorul ca parte a rutei de date (procesorul execută o comandă de citire a portului , citește un octet sau un cuvânt de date în registrul său , apoi îl rescrie în memorie , apoi repetă această procedură până când toate informațiile necesare au fost citite de pe dispozitiv în memorie).

De regulă, acest termen se aplică controlerului clasic PC / AT IDE / ATA / SATA . În acest mod, controlerul a solicitat driverului sau BIOS -ului să execute o comandă a procesorului REP INSW/OUTSWpentru a transfera toate datele, de obicei comanda este executată în handler-ul de întrerupere a controlerului în starea „gata de transfer de date”.

Modul are dezavantaje semnificative - sarcina CPU I/O și rata de transfer extrem de scăzută din cauza imposibilității de a utiliza modul „exploziv” (burst) al magistralei PCI și a devenit învechit odată cu apariția suportului DMA în controlerul IDE în mijlocul anilor 1990 . Dar, în primul rând, dacă modul PIO funcționează la fel în toate computerele compatibile cu PC, atunci implementarea DMA depinde de producătorul controlerului (de obicei Intel , VIA sau nVidia ) și necesită instalarea driverelor/ansamblului nucleului cu suport pentru aceste drivere . Versiunile mai mult sau mai puțin moderne de Windows vor instala automat drivere DMA pentru orice controler IDE obișnuit.

Controlerele IDE/SATA care nu sunt compatibile cu PC/AT standard (HighPoint, Promise, Silicon Image, AHCI și altele) nu au modul PIO moștenit ca metodă de transfer de date între procesor și controler. Ei necesită întotdeauna instalarea unui driver (driverul este de obicei implementat ca driver de controler SCSI ) și folosesc întotdeauna o implementare DMA proprietară pentru a vorbi cu procesorul/memoria, la fel ca controlerele SCSI.

În al doilea rând, activarea modului DMA afectează nu numai interfața dintre controler și procesor, ci și interfața dintre controler și disc. Astfel, pentru a activa acest mod, suportul DMA este necesar și pe hard disk sau unitatea CD/DVD . De asemenea, modurile PIO și DMA pentru IDE sunt împărțite în mai multe submoduri indicate prin numere, care stabilesc viteza de transfer de date prin cablu. Modurile DMA înalt se numesc Ultra DMA și necesită un cablu ATA paralel diferit - având 80 de conductori în loc de 40. Suportat de la începutul anilor 2000.

Potrivit unor rapoarte, SATA anulează implementarea acestor submoduri folosind întotdeauna o singură viteză (mare) a firului. În practică, atunci când utilizați hard disk-uri SATA conectate la un controler Silicon Image non-compatibil/AT cu un driver proprietar, modul PIO/DMA selectat nu afectează nimic și nu este altceva decât o decorare pentru interfața de utilizator a controlerului utilitate de management și o relicvă a vremurilor vechi. .

Există PIO Mode 0, 1, 2, 3, 4. Cu cât numărul modului este mai mare, cu atât mai rapid. Unitățile IDE ZIP100 de la Iomega, de exemplu, pot oferi doar modul PIO 0. Unitățile CD-ROM mai vechi tind să folosească modul PIO 4 dacă nu pot rula în modul DMA.

Probleme specifice

Pe unele computere, atunci când detectează automat modul PIO adecvat, sistemul nu poate porni de pe CD-ROM, deși CD-ROM-ul este detectat perfect. În același timp, CD-ROM-ul funcționează bine într-un sistem de operare deja instalat, deoarece în acel moment, nu este utilizat driverul în mod real al procesorului încorporat în BIOS, ci driverul sistemului de operare încărcat de pe hard disk și care funcționează în modul protejat.

Soluția problemei este forțarea modului PIO 0. (Probabil, ați putea încerca să găsiți un mod PIO mai rapid; cu toate acestea, rezultatul nu merită de obicei efortul.)

Când detectează probleme cu unitatea DVD/CD, erori de interfață (de obicei din cauza contactului slab al cablului), sistemul de operare Windows comută discul în modul PIO. Acest lucru se caracterizează prin întârzieri semnificative în sistem, înghețari și pierderea accesului la disc.

Link -uri