80 likes | 404 Views
Definición Mapa de ports Programación de ports. PORTS. PORTS. Qué son los ports : Son la interfaz de que dispone el procesador para comunicarse con el exterior, ya sea otra PC, placas externas, etc. PORTS. PORTS :
E N D
Definición Mapa de ports Programación de ports PORTS
PORTS • Qué son los ports: • Son la interfaz de que dispone el procesador para comunicarse con el exterior, ya sea otra PC, placas externas, etc.
PORTS • PORTS : • Registros de Entrada/salida de datos de 8 bits conectados a un dispositivo de HW • Se identifican por una dirección de 16 bits
PORTS • Dónde están ubicados los ports: • Mapeados en memoria • Mapeados en hardware
Micro- procesador Bus de datos Memoria Bus de direcciones 16 bits menos signific. Ports IO/M de 0000 a FFFF Esquema de cableado de memoria y ports
0000-000F Controladora DMA 0020-0021 Controlador de interrupciones 0040-0043 Timer 0060-0063 Interfaz programable de periféricos 0080-0083 Registro de página de DMA 0200-020E Joystick 0210-0217 Unidad de expansión 02FB-02FF Segunda interfaz serie 0300-031F Tarjeta prototipo 0320-032E Controladora de disco rígido 0378-037E Primera interfaz paralelo 03B0-03BE MDA e interfaz paralelo 03D0-03DE CGA 03E0-03E7 Controladora de disco 03F8-03FF Primera interfaz serie Direcciones de ports reservadas PORT COMPONENTE
Funciones/macros para acceder a los ports sobre S.O. Linux Inb: unsigned char inb (int nport); nport es una dirección de 2 bytes devuelve un byte formado por el contenido de nport Outb: void outportb (unsigned char valor , int nport); Se escribe un byte en la dirección de nport Macros: prototipos en dos.h
Poner un ‘1’ en el bit 2 del port 0x37A Poner un ‘0’ en el bit 2 del port 0x37A Chequear una entrada, por ejemplo el bit 4 del port 0x379 x x x x x 1 x x x x x x x 0 x x x x x 1 x x x x - - - - - - - - - - - - - - - - - - - - - - - - 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Programación de ports outb( inb( 0x37A) | 0X04 , 0x37A ); outb( inb(0x37A ) & 0XFB , 0x37A); if ( inb( 0x379 & 0X10 ) si bit 4 = 1 -> V si bit 4 = 0 -> F