E/S assignades a memòria i E/S assignades a portsLes E/S assignades amb memòria (MMIO) i les E/S assignades per ports (PMIO) són dos mètodes complementaris per realitzar entrada/sortida (E/S) entre la unitat central de processament (CPU) i els dispositius perifèrics d'un ordinador (sovint mediant). accés mitjançant chipset). Un enfocament alternatiu és utilitzar processadors d'E/S dedicats, comunament coneguts com a canals en ordinadors mainframe, que executen les seves pròpies instruccions.[1] L'E/S assignada a la memòria utilitza el mateix espai d'adreces per adreçar tant la memòria principal com els dispositius d'E/S. La memòria i els registres dels dispositius d'E/S s'assignen a (associats amb) valors d'adreça, de manera que una adreça de memòria pot referir-se a una part de la RAM física o a la memòria i els registres del dispositiu d'E/S. Així, les instruccions de la CPU utilitzades per accedir a la memòria (p. ex. Per acomodar els dispositius d'E/S, algunes àrees del bus d'adreces utilitzades per la CPU s'han de reservar per a E/S i no han d'estar disponibles per a la memòria física normal; el rang d'adreces utilitzades per als dispositius d'E/S ve determinat pel maquinari. La reserva pot ser permanent o temporal (tal com s'aconsegueix mitjançant canvi de banc). Un exemple d'això últim es troba al Commodore 64, que utilitza una forma de mapeig de memòria per fer que la memòria RAM o el maquinari d'E/S apareguin a l'interval L'E/S de mapa de ports utilitza sovint una classe especial d'instruccions de CPU dissenyades específicament per realitzar E/S, com ara les instruccions Visió generalEls diferents mètodes de comunicació de CPU a dispositiu, com ara l'assignació de memòria, no afecten l'accés directe a la memòria (DMA) d'un dispositiu, perquè, per definició, DMA és un mètode de comunicació de memòria a dispositiu que evita la CPU. Les interrupcions de maquinari són un altre mètode de comunicació entre la CPU i els dispositius perifèrics, però, per diversos motius, les interrupcions sempre es tracten per separat. Una interrupció s'inicia pel dispositiu, a diferència dels mètodes esmentats anteriorment, que s'inicien per la CPU. També és unidireccional, ja que la informació només flueix del dispositiu a la CPU. Finalment, cada línia d'interrupció només porta un bit d'informació amb un significat fix, és a dir, "s'ha produït un esdeveniment que requereix atenció en un dispositiu d'aquesta línia d'interrupció". Tipus bàsics de descodificació d'adrecesEls tipus de descodificació d'adreces, en què un dispositiu pot descodificar adreces completament o incompletament, inclouen els següents:
Port I/O mitjançant controladors de dispositiuEn ordinadors basats en Windows, també es pot accedir a la memòria mitjançant controladors específics, com ara DOLLx8KD, que ofereix accés a E/S en 8, 16 i 32 bits a la majoria de plataformes Windows a partir de Windows 95 fins a Windows 7. La instal·lació de controladors de port d'E/S garantirà l'accés a la memòria activant els controladors amb simples trucades DLL que permeten l'E/S del port i, quan no sigui necessari, el controlador es pot tancar per evitar l'accés no autoritzat als ports d'E/S. Linux proporciona elpcimem utilitat per permetre llegir i escriure a adreces MMIO. El nucli de Linux també permet rastrejar l'accés MMIO des dels mòduls del nucli (controladors) mitjançant la funció de depuració mmiotrace del nucli. Per habilitar-ho, el nucli Linux s'ha de compilar amb l'opció corresponent habilitada. mmiotrace s'utilitza per depurar controladors de dispositiu de codi tancat. Port I/O mitjançant controladors de dispositiuEn ordinadors basats en Windows, també es pot accedir a la memòria mitjançant controladors específics, com ara DOLLx8KD, que ofereix accés a E/S en 8, 16 i 32 bits a la majoria de plataformes Windows a partir de Windows 95 fins a Windows 7. La instal·lació de controladors de port d'E/S garantirà l'accés a la memòria activant els controladors amb simples trucades DLL que permeten l'E/S del port i, quan no sigui necessari, el controlador es pot tancar per evitar l'accés no autoritzat als ports d'E/S. Linux proporciona elpcimem utilitat per permetre llegir i escriure a adreces MMIO. El nucli de Linux també permet rastrejar l'accés MMIO des dels mòduls del nucli (controladors) mitjançant la funció de depuració mmiotrace del nucli. Per habilitar-ho, el nucli Linux s'ha de compilar amb l'opció corresponent habilitada. mmiotrace s'utilitza per depurar controladors de dispositiu de codi tancat. Referències
|
Portal di Ensiklopedia Dunia