You are on page 1of 13

EPIE Computadores

Arquitectura de

Indice
1. Describir los pines del puerto paralelo LPT1, identificar los tipos de puertos y sus direcciones con las que podemos usarlas... 2 Como configuramos bidireccional...5 el puerto paralelo para transmitir datos en forma

2.

3.

Describir los parmetros con los cuales usamos las instrucciones de entrada y salida de datos por los puertos de E/S de la PC..6 Describa los pines del puerto serial COM, identificar los pines en el puerto y usar comandos DOS para poder configurar y transferir informacin..8 Como configuramos el integrado de comunicaciones para transmitir datos a travs del puerto serial.10 Determinar el uso del puerto USB del Sistema, caractersticas 11 Determinar el uso de los slots de Expansion ISA y PCI.. 11 Lenguajes de Programacin con las instrucciones de lectura y escritura de puertos 12 Programas Aplicativos para .12 uso de puertos

4.

5.

6.

7.

8.

9.

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

Uso de Puertos para Control Externo


1. Describir los pines del puerto paralelo LPT1, identificar los tipos de puertos y sus direcciones con las que podemos usarlas. PUERTO PARALELO: El puerto paralelo es un estndar diseado para conectar una impresora al PC. Es utilizado por la CPU para enviar datos a la impresora. Esta interface gobierna las seales de entrada y de salida. La utilidad de estas seales es dejar que el ordenador conozca el estado de la impresora as como controlar este dispositivo. Ocho bits de datos contienen toda la informacin enviada con cada flanco de reloj. El hardware de este puerto consiste en 8 bits de salida de datos, 5 bits de entradas de control y 5 bits de salidas de control. El puerto paralelo LPT1 posee por lo general 25 pines (Originalmente posea 36 pines). Esto reduce los requisitos para arraigar contacto, y en realidad no afecta la operacin de la interfaz. Lo nico que sucede es que el nuevo contacto tiene menos conductores de tierra. El contacto original requera varias seales de tierra; el nuevo contacto usa menos y eso es todo. Contacto de cable paralelo DB25

La seal en cada pin se muestra en la siguiente tabla. Conexiones de las patas del puerto paralelo: DB2 5Pat a 1 2 3 4 5 6 7 8 9 10 CENT36 Pata 1 2 3 4 5 6 7 8 9 10 Nombre de la seal STROBE DATO 0 (D0) DATO 1 (D1) DATO 2 (D2) DATO 3 (D3) DATO 4 (D4) DATO 5 (D5) DATO 6 (D6) DATO 7 (D7) ACK (Acknowledge: Enterada)

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

11 12 13 14 15 16 17 1825

11 12 13 14 32 31 19-30 17 16 33

Busy (Ocupada) No hay Papel Seleccionar Auto FDXT Error Reset Entrada de Seleccin Tierra Tierra del bastidor Tierra Tierra

A continuacin se da una descripcin ms detallada de cada pin. Salidas: STROBE/: Comunica a la impresora que los ocho bits de datos estn disponibles para ser ledos. Conmuta a nivel lgico bajo cuando los datos estn preparados. INIT/: Reset a la impresora. SLCT IN/: Selecciona la impresora cuando cambia a nivel lgico bajo. AUTO FD/: Comunica a la impresora que imprima una lnea en blanco seguida por una seal de "intro". D0-D7: Bits de datos. Entradas: ACK/: Informa a la CPU que los datos han sido recibidos correctamente. BUSY: La impresora pone esta lnea a 1 cuando el buffer de memoria esta lleno. El ordenador dejara de enviar mas datos. SLCT: Indica al ordenador que se dispone de una impresora. ERROR/: Dice al ordenador que se ha producido un error. La CPU deja de enviar ms datos. PE: El papel se ha acabado. Todas estas seales estn conectadas a un conector hembra de 25 pines. Todas las seales tienen niveles lgicos TTL. Direccionamiento del puerto: El sistema operativo MS-DOS soporta tres puertos paralelos llamados LPT1, LPT2 y LPT3. Por lo tanto, encontramos tres juegos de direcciones dedicadas a estos puertos en el mapa de entradas/salidas del PC. Primero estudiaremos las direcciones dedicadas a LPT1. Cada puerto paralelo utiliza tres direcciones del mapa de entradas/salidas del ordenador. Para LPT1 estas direcciones son 378H, 379H y 37AH. PORT 378H: En esta direccin la CPU escribe los datos que sern enviados a la impresora. Es un puerto de salida. En la tabla 2.1 se pueden ver que pines del conector de salida se utilizan. TABLA 2.1

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

Tabla de bits de datos: BIT D0 D1 D2 D3 D4 D5 D6 D7 FUNCIO PIN N Dato 0 2 Dato 1 3 Dato 2 4 Dato 3 5 Dato 4 6 Dato 5 7 Dato 6 8 Dato 7 9

PORT 379H: Este es un puerto de entrada. A travs de este puerto la CPU puede conocer el estado de la impresora. La correspondencia entre pines y seales esta listada en la tabla 2.2. TABLA 2.2 Tabla de bits de status: BIT D0 D1 D2 D3 D4 D5 D6 D7 FUNCIN no conectado no conectado no conectado ERROR/ SLCT/ PE ACK/ BUSY/ PIN

15 17 12 10 11

PORT 37AH: En esta direccin el ordenador escribe las seales que controlan a la impresora. Es un puerto de salidas, tabla 2.3. TABLA 2.3 Tabla de bits de control: BIT D0 D1 D2 D3 D4 FUNCIN STROBE AUTO FD INIT/ SLCT IN/ Habilitacin IRQ7 PIN 1 14 16 17

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

D5 D6 D7

no conectado no conectado No conectado

2. Como configuramos los puertos adicionales al 378 para usar datos en forma bidireccional. El puerto paralelo de impresora consta de tres registros de direccin: datos, condicin y control del puerto; los cuales proveen ocho salidas TTL, cinco entradas y 4 conductores bidireccionales respectivamente. Las direcciones de estos registros estn en orden secuencial, esto es, si la direccin del puerto es 0x0378; el registro de datos correspondiente es 0x0378, el registro de condicin es 0x0379 y el registro de control es 0x037a. En la figura 1.1 se ilustra la numeracin de los 25 pines del conectador y en la figura 1.2 mostramos la asignacin de los bits a los pines numerados. FIGURA 1.1. Conector macho DB-25 para el puerto de la impresora, con la numeracin que corresponde a los pines.

La forma en que se encuentran distribuidos los bits de los registros se muestra en la figura 1.3, tomando como bit ms significativo B7 y menos significativo B0 para todos los registros, adems volvemos a mostrar los pines correspondientes a cada bit (Pn) para tener una idea ms clara de la distribucin de los mismos. FIGURA 1.2. Forma en que se encuentran asignados los bits a los pines del puerto de impresora. Pin Descripcin 1 STROBE.L Outpu t 2 Data 0.H Outpu t 3 Data 1.H Outpu t 4 Data 2.H Outpu t 5 Data 3.H Outpu t 6 Data 4.H Outpu t 7 Data 5.H Outpu t 8 Data 6.H Outpu t 9 Data 7.H Outpu t Pin 10 11 12 13 14 15 16 17 18-25 Descripcin ACK.L busy.H PAPER EMPTY.H SELECT.H AUTO FEED.L ERROR.L INITIALIZE PRINTER.H SELECT INPUT.L GND Input Input Input Input Output Input Output Output

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

FIGURA 1.3. Distribucin de bits en los registros con los pines que les corresponden del puerto de impresora. REGISTRO DE SALIDA DE CONTROL: B7 B6 B5 B4 B3 x x x X C3.L P17

B2 P1 6 P1 6

B1 P1 4 P1 4 B2 x

B0 P01 P01

REGISTRO DE ENTRADAS DE STATUS: B7 B6 B5 B4 B3 E4.L E3.H E2.H E1.H E0.H P11 P10 P12 P13 P15 REGISTRO DE SALIDA DE DATOS: B7 B6 B5 D7.H D6.H D5. H P09 P08 P07 B4 D4. H P06

B1 x

B0 x

B3 D3. H P05

B2 D2. H P04

B1 D1. H P03

B0 D0.H P02

3. Describir los parmetros con los cuales usamos las instrucciones de entrada y salida de datos por los puertos de E/S de la PC INSTRUCCIONES PARA E/S: Este conjunto de instrucciones incluye un tipo (OUT) que transfiere informacin a un dispositivo de E/S y otro (IN) para leer informacin en un dispositivo de E/S. Las instrucciones IN y OUT transfieren datos entre un dispositivo de E/S y el acumulador del microprocesador (AL, AX o EAX). La direccin de E/S se almacena en el Registro DX como direccin de 16 bits o en el byte (p8) que sigue inmediatamente al cdigo de operacin como direccin de E/S de 8 bits. Intel llama ala forma de 8 bits (p8) una direccin fila porque se almacena con la instruccin, por lo general en una ROM. La direccin de E/S de 16 bits en DX, se llama direccin variable, porque se almacena en un registro, que se puede variar. En las instrucciones INS y OUTS se emplean una direccin de E/S variable contenida en el registro DX. Siempre que se transfieran datos con una instruccin IN y OUT, la direccin de E/S, es llamada a menudo nmero de puerto aparece en el canal de direccin. La interface externa de E/S la decodifica en la misma forma en que decodifica una direccin de memoria. El nmero (p8) del puerto fijo de 8 bits aparece en las conexiones A7 hasta A0 del canal de direccin, junto con los bits A15 hasta a8=0000 0000. Las direcciones por arriba de A15 son indefinidas para una instruccin de E/S. El nmero variable del puerto de 16 bits (DX) aparece en las terminales de la direccin A15 a A0. Esto significa que las primeras 256 direcciones de puertos de E/S ( 00H hasta FFH) se accesan por las instrucciones de E/S fijas y variables, pero las direcciones de E/S de la 0100H hasta FFFFH slo se accesan con la direccin variable de E/S. En muchos sistemas para tareas especificas, slo se decodifican los 8 bits que

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

estn ms a la derecha, con lo cual reduce la cantidad de circuitos necesarios para la decodificacin. En una computadora personal (PC), se decodifican los 16 bits del canal de direcciones y se emplean las localidades 00XXH hasta 03XXH para casi todos los dispositivos de E/S de la computadora Instrucciones para entrada y salida: Instruccin Ancho de los datos 8 8 16 16 32 32 8 16 32 8 8 16 16 32 32 8 16 32 Comentario

IN AL,p8 IN AL,DX IN AX,p8 IN AX,DX IN EAX,p8 IN EAX,DX INSB INSW INSD OUT p8,AL OUT DX,AL OUT p8,AX OUT DX,AX OUT p8,EAX OUT p8,DX OUTSB OUTSB OUTSB

Leer en AL un byte de la direccin p8de E/S Leer en AL un byte de la direccin de E/S direccionada por DX Leer en AX una palabra de la direccin p8de E/S Leer en AX una palabra de la direccin de E/S direccionada por DX Leer en EAX una palabra doble de la direccin p8de E/S Leer en EAX una palabra doble de la direccin de E/S direccionada por DX Leer un byte de la direccin de E/S direccionada por DX y almacenarlo en la localidad direccionada por ES:DI y despus incrementar/decrementar DI en 1. Leer una palabra de la direccin de E/S direccionada por DX y almacenarlo en la localidad direccionada por ES:DI y despus incrementar/decrementar DI en 2. Leer una palabra doble de la direccin de E/S y almacenarlo en la localidad direccionada por ES:DI y despus incrementar/decrementar DI en 4. Escribir un byte de AL en la direccin p8 de E/S Escribir una palabra AL en la direccin de E/S direccionada por DX Escribir una palabra de AX en la direccin p8 de E/S Escribir una palabra AX en la direccin de E/S direccionada por DX Escribir una palabra de EAX en la direccin p8 de E/S Escribir una doble palabra EAX en la direccin de E/S direccionada por DX Escribir un byte de la localidad de memoria direccionada porDS:SI en la direccin de E/S direccionada por DX; luego, incrementar decrementar SI en 1. Escribir un byte de la localidad de memoria direccionada porDS:SI en la direccin de E/S direccionada por DX; luego, incrementar decrementar SI en 2. Escribir un byte de la localidad de memoria direccionada porDS:SI en la direccin de E/S direccionada por DX; luego, incrementar decrementar SI en 4.

4. Describa los pines del puerto serial COM, identificar los pines en el puerto y usar comandos DOS para poder configurar y transferir informacin.

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

El otro puerto de comunicaciones estndar que puede tener la PC es el serial. Actualmente, las PC en general tienen cuando menos dos de estos puertos. Como su nombre lo indica, el puerto serial se distingue del paralelo en que la informacin se enva por la lnea en una corriente en serie, no paralela. Esto hace que hasta cierto punto la informacin fluya ms despacio, pero permite comunicarse a mayores distancias. En lugar del alcance mximo del puerto paralelo, que es de 3 a 4 metros, puede emplearse un lnea serial de 15 metros o ms sin que afecte la comunicacin. En realidad, puede usarse hasta 46 o ms metros protegidos por tubos metlicos. Esta distancia no es aconsejable, aunque puede tenderse en dado caso. Si el cable es de buena calidad y hace tierra como es debido. El serial estndar RS-232 requiere 25 lneas, pero en dado caso puede usarse con menos. En la figura se muestra el contacto de 9 patas con escudo D que suele usarse actualmente para el puerto COMM 1 en la mayora de las PC. Con el puerto serial COMM 2 se emplea el contacto DB 25, que es ms antiguo. Sin embargo, tampoco el contacto ms grueso tiene conectada las 25 patas. Conector serial estndar RS-232

Cuando se compra un cable serial comercial, es raro que tenga conectadas las 25 lneas. Y cuando uno lo fabrica, es probable que no una lo 25 alambres de los contactos. En realidad , los contactos ms usados son los que se muestran en la tabla siguiente.

Conexiones seriales ms comunes: DB9 1 2 3 4 5 6 7 8 9 DB2 5 8 3 2 20 7 6 4 5 22 Seal DCD RX TX DTR GND DSR RTS CTS IR Nombre Data Carrier Detect Reciva Data Transmit Data Data Terminal Ready Signal Ground Data Set Ready Request to send Clear To Send Ring Indicator

Las funciones de las patas que se muestran en la tabla anterior son pata el cable que se conecta a la PC, porque las computadoras se consideran aparatos DTE (Data Terminal Equipment: Equipo Terminal de Informacin). Normalmente, cuando se compra un

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

cable serial, o cuando uno mismo lo elabora, las conexiones del otro extremo son iguales. Los cables se conectan directamente al DCD a DCD, por ejemplo, o RX a RX, de TX a TX y as sucesivamente. Esto puede hacerse porque normalmente no se conectan dos aparatos DTE uno con el otro. Hoy una de las principales razones para tener un puerto serial, es en primer lugar, conectar la computadora a un mdem o a otro aparato externo. Y, como no siempre sabe que ser ese aparato, lo mejor es tener conectadas por lo menos las lneas que se muestran en la tabla anterior. Con este juego de lneas se puede usar un mdem , una impresora serial, un graficador y otros aparatos seriales comunes. Ahora se explica brevemente cada una de estas seales para que el lector sepa que hace cada una: Data Carrier Detect (DCD) o sencillamente Carrier Detect: CD, se emplea con los mdem para indicar que estn comunicando entre si el algn nivel. Cuando el mdem local se enlaza con el mdem remoto y obtiene una buena seal de mensaje, el mdem local coloca una seal positiva en la lnea DCD. Esto indica a la computadora y a su software de comunicaciones que se ha establecido un vinculo de mdem a mdem. Receive Data (RX) es obvia. A travs de ella, la computadora o el aparato DCE recibe la informacin que le fue transmitida desde un aparato lejano. Transmit Data (TX) es el canal por el cual la computadora o la unidad remota DCE transmite la informacin. Obsrvese que son dos lneas de informacin: una para enviar (transmitir) y otra para recibir. Esto significa que, con el software adecuado, dos aparatos seriales pueden enviar informacin al mismo tiempo. Data Terminal Ready (DTR) lleva la seal positiva desde el dispositivo DTE (normalmente, la computadora) hasta el dispositivo remoto, para indicar que hay un dispositivo DTE conectado al cable serial. Junto con esta lnea va la lnea Data Set Ready (DSR). Para que dos dispositivos se comuniquen, estas dos lneas deben estar altas, cada una indicndole a la otra que est lista para la comunicacin. Ground (GND) es una seal de tierra, o el otro lado de las seales de Transmisin y Recepcin. En la mayora de la instalaciones seriales, esta pata no est conectada ala computadora ni a los chasis DCE. Data Set Ready (DSR) es la otra parte del par DTR/DSR de que hubo antes. DSR es la seal positiva de una unidad DCE que le indica al dispositivo DTR que est en lnea y lista para comunicarse. Request to Send (RTS) tambin es parte de un par de seales (la otra mitad de la lnea CTS) que permite a dos unidades conectadas comunicarse entre s cuando estn listas para recibir informacin. DTR controla la lnea RTS, mientras que la unidad DCE controla a la lnea CTS. Clear to Send (CTS) es la pareja RTS/CTS . En muchos enlaces de comunicaciones, la informacin no fluye a travs de la conexin serial a menos que haya una seal positiva en estas dos lneas. Por supuesto, hay excepciones. La ms comn es la terminal serial conectada a una computadora remota, enlace que puede usar o no las lneas CTS/RTS. Es bastante comn incluir estas seales en el contacto local, para no usar tantos alambres. Por ejemplo, se puede conectar las patas 4 y 7 y la 8 y 6 dentro del contacto de patas que se conectan a la PC. Entonces slo hay que conectar una punta de pata 3, Transmit Data, en la PC, en la pata 3, Receive Data, en la impresora o otro perifrico DB25, hacer tierra entre la pata 5 de la PC y la pata 7 del aparato remoto; y conectar un alambre handshake de

Ingenieria Electrnica

EPIE Computadores

Arquitectura de

la pata 6 de la PC ala pata 19 de la impresora o de otro aparato. As se obtiene un cable de u sentido, de la PC a la impresora, slo con tres alambres. Ring Indicador (RI) es una manera de que el mdem local le indique a la computadora a la que est conectada que acaba de entrar una llamada. Esto permite que el software de comunicacin sepa que inminente la llegada de una conexin mdem. 5. Como configuramos el integrado de comunicaciones para transmitir datos a travs del puerto serial. El circuito integrado que convierte los datos de paralelo a serie y viceversa se llama UART (Universal Asynchronous Receiver-Transmitter). La UART tpica para un PC es el Intel 8251A, este circuito integrado puede ser programado para realizar comunicaciones serie sncronas o asncronas. Ocho bits de datos (D0-D7) conectan al 8251A al bus de datos del PC. La entrada de chip select (/CS) habilita el circuito integrado cuando es seleccionado por el bus de control del PC. Este circuito integrado tiene dos direcciones internas, una direccin de control y una de datos. La direccin de control queda seleccionada cuando la entrada C-/D esta seleccionada a nivel alto. La direccin de datos queda seleccionada cuando la entrada C-/D esta a nivel bajo. La seal de RESET resetea el circuito integrado. Cuando /RD esta a nivel bajo el ordenador lee un byte de control o de datos byte. La seal /WR es habilitada por PC para escribir un byte. Las dos seales estn conectadas a las seales de control del sistema con los mismos nombres. El UART incluye cuatro registros internos: THR: Registro temporal de salida. TSR: Registro de salida. RDR: Registro de entrada. RSR: Registro temporal de entrada. Cada caracter a transmitir es almacenado en el registro THR. La UART aade los bits de start y stop. Luego copia todos los bits (datos, start and stop bits) al registro TSR. Para acabar el proceso los bits son enviados a la lnea a travs de la seal TD. Cada caracter recibido des de la lnea RD es almacenada en el registro RSR. Los bits de start y stop son eliminados y la UART escribe el caracter en el registro RDR. Para acabar el proceso el caracter es ledo por el PC. Direccionando el puerto: Hay dos maneras de direccionar el puerto serie, a travs de la interrupcin 14H de la BIOS y a travs de la interrupcin 21H del DOS. La interrupcin 14H de la BIOS utiliza cuatro funciones para programar el puerto serie. Cada funcin es seleccionada asignando un valor al registro AH del microprocesador. Las cuatro funciones son listadas a continuacin: Funcin 00H: Inicializa el puerto serie y selecciona la velocidad, el numero de bits de datos de start y de stop y los parmetros de paridad. Funcin 01H: Enva un caracter al puerto serie especificado. Funcin 02H: Lee un caracter desde el puerto serie especificado. Funcin 003: Devuelve el estado del puerto serie especificado. Hay varias funciones de la interrupcin 21H del DOS relacionadas a la operacin del puerto serie:
Ingenieria Electrnica

10

EPIE Computadores

Arquitectura de

Funcin 03H: Lee un caracter desde el puerto COM1. Funcin 04H: Escribe un caracter desde el puerto COM1. Funcin 40H: Esta funcin enva un numero de bytes des de un buffer a un dispositivo especificado. 6. Determinar el uso del puerto USB del Sistema, caractersticas USB es una especificacin de las empresas Compaq, Intel, Microsoft y NEC, que describe un canal serie que soporta una gran variedad de perifricos de media y baja velocidad, con soporte integral para transferencias en tiempo real (iscronas) como voz, audio y vdeo comprimido, y que permite mezclar dispositivos y aplicaciones iscronas y asncronas. Por lo tanto, entre los dispositivos USB ms caractersticos se pueden citar teclados, ratones, joysticks, tarjetas grficas, monitores, modems, impresoras, escneres, CD-ROMs, dispositivos de audio (como micrfonos o altavoces digitales), cmaras digitales y otros dispositivos multimedia. USB soporta perifricos de baja y media velocidad. Empleando dos velocidades para la transmisin de datos de 1.5 y 12 Mbps se consigue una utilizacin ms eficiente de sus recursos. 7. Determinar el uso de los slots de Expansin ISA y PCI El Industry Standard Architecture (en ingls, Arquitectura Estndar Industrial), casi siempre abreviado ISA, es una arquitectura de bus creada por IBM en 1980 en Boca Raton, Florida para ser empleado en los IBM PCs. Los slots PCI fueron el primer puerto de expansin fsicamente incompatible con ISA que lograron expulsarla de la placa madre. Al principio, las placas base eran en gran parte ISA, incluyendo algunas ranuras del PCI. Pero a mitad de los 90, los dos tipos de slots estaban equilibrados, y al poco los ISA pasaron a ser minora en los ordenadores de consumo. Las especificaciones PC 97 de Microsoft recomendaban que los slots ISA se retiraran por completo, aunque la arquitectura del sistema todava requiera de ISA en modo residual para direccionar las lectoras de disquete, los puertos RS-232, etc. Los slots ISA permanecen por algunos aos ms y es posible ver placas con un slot Accelerated Graphics Port (AGP) justo al lado de la CPU, una serie de slots PCI, y uno o dos slots ISA cerca del borde. Es tambin notable que los slots PCI estn "rotados" en comparacin con los ISA. Los conectores externos y la circuitera principal de ISA estn dispuestos en el lado izquierdo de la placa, mientras que los de PCI lo estn en el lado derecho, siempre mirando desde arriba. De este modo ambos slots podan estar juntos, pudiendo usarse slo uno de ellos, lo que exprima la placa madre. El ancho de banda mximo del bus ISA de 16 bits es de 16 MBytes/segundo. Este ancho de banda es insuficiente para las necesidades actuales, tales como tarjetas de vdeo de alta resolucin, por lo que el bus ISA no se emplea en los PCs modernos (2004), en los que ha sido substituido por el bus PCI. Salvo para usos industriales especializados, ya no se emplea ISA. Incluso cuando est presente, los fabricantes de sistemas protegen a los usuarios del trmino "bus ISA", refirindose en su lugar al "bus heredado". El bus PC/104, empleado en la industria, es un derivado del bus ISA, que utiliza las mismas lneas de seales pero con diferente conector. El bus LPC ha reemplazado a ISA en la conexin de dispositivos de
Ingenieria Electrnica

11

EPIE Computadores

Arquitectura de

Entrada/Salida en las modernas placas base. Aunque son fsicamente bastante diferentes, LPC se presenta ante el software como ISA, por lo que las peculiaridades de ISA como el lmite de 16 Mb para DMA seguirn todava presentes por un tiempo Un Peripheral Component Interconnect (PCI, "Interconexin de Componentes Perifricos") consiste en un bus de ordenador estndar para conectar dispositivos perifricos directamente a su placa base. Estos dispositivos pueden ser circuitos integrados ajustados en sta (los llamados "dispositivos planares" en la especificacin PCI) o tarjetas de expansin que se ajustan en conectores. Es comn en PCs, donde ha desplazado al ISA como bus estndar, pero tambin se emplea en otro tipo de ordenadores. A diferencia de los buses ISA, el bus PCI permite configuracin dinmica de un dispositivo perifrico. En el tiempo de arranque del sistema, las tarjetas PCI y el BIOS interactan y negocian los recursos solicitados por la tarjeta PCI. Esto permite asignacin de IRQs y direcciones del puerto por medio de un proceso dinmico diferente del bus ISA, donde las IRQs tienen que ser configuradas manualmente usando jumpers externos. Aparte de esto, el bus PCI proporciona una descripcin detallada de todos los dispositivos PCI conectados a travs del espacio de configuracin PCI 8. Lenguajes de Programacin con las instrucciones de lectura y escritura de
puertos.

Un puerto de E/S es un conjunto de direcciones de entre 8 y 32 bits de tamao asignadas a un perifrico para realizar transferencias. Se manejan mediante una serie de instrucciones en ensamblador in, ins, out, outs. Instrucciones de lectura: inb(), inw(), inl(): Sirven para leer 1, 2 4 bytes consecutivos de un puerto de E/S inb_p(), inw_p (), inl_p (): Igual que las anteriores, pero con el aadido de que tras la lectura realiza una pausa insb(),insw(),insl(): Se usan para leer secuencias de 1,2 o 4 bytes contiguos, teniendo como parmetro la duracin de la secuencia. Instrucciones de escritura: outb(), outw(), outl(): Sirven para escribir 1, 2 4 bytes consecutivos de un puerto de E/S outb_p(), outw_p(), outl_p(): Igual que las anteriores, pero con el aadido de que tras la escritura se hace una pausa. outsb(),outsw(),outsb(): Se usan para escritura de secuencias de 1,2 o 4 bytes contiguos, teniendo como parmetro la duracin de la secuencia. Recursos: Los recursos son porciones de memoria o de cualquier otra cosa que asignan a un driver en exclusiva. En este caso los usamos para guardar puertos de E/S. Si un recurso es muy grande se puede dividir. Todos los recursos del mismo tipo se agrupan en un rbol de recursos. Funciones del manejo de recursos:
Ingenieria Electrnica

12

EPIE Computadores

Arquitectura de

request_resource(): Asigna un recurso a un dispositivo de E/S. check_resource(): Comprueba el estado de un recurso o un subrango del mismo. release_resource(): Libera un recurso o un subrango del mismo.A las que se les pasa como parmetro raz del rbol que contiene el recurso que queremos asignar y la direccin de la estructura buscada. El rbol que contiene a todas las direcciones asignadas se encuentra en la carpeta /proc y se llama ioports. Funciones de manejo de puertos de entrada- salida dadas por el ncleo: request_region(): Tiene como parmetro un rango de puertos, que es el que asigna al driver Llamador. check_region(): Comprueba el estado de un rango de puertos dados. release_region(): Libera un subrango de puertos pasados por parmetro. 9. Programas Aplicativos para uso de puertos

Ingenieria Electrnica

13

You might also like