Recursos del Sistema
     
   
DEFINICIONES

PCI: Perpheral Component Interconnect.
Interconexión de sistemas periféricos.

RAM : Random Access Memory.
Este tipo de Memoria permite lectura y escritura

de los datos.

ROM: Read Only Memory.
Este tipo de memoria sólo permite el acceso de
lectura a los datos.

SRAM: Static RAM.
Mantiene los bits en las celdas de memoria por aplicación de un voltaje constante. Se utiliza para memoria caché por ser muy costosos.

DRAM: Dynamic RAM.
Los bits en las celdas de memoria deben ser refrescados cada cierto tiempo para no perder los datos. Se utiliza para memoria del sistema por ser económicos. Ejemplo: SIMMs.

SIPs: Single In-line Memory Packages.

FPM: Fast Page Mode.

EDO: Extended Data Out.

BEDO: Burst EDO.

SDRAM: Syncronous DRAM.
Es una memoria estática y dinámica. Sólo los DIMMs son SDRAM.

VRAM: Virtual RAM.
Es la caché estática para video.

SIMMs: Single In-line Memory Modulo.

DIMMs: Dual In-line Memory Modulo.

ECC: Error Correction Code.
Este método detecta y corrige los errores automáticamente por medio de métodos matemáticos.

AGP: Acelerator Graphics port.

CGA: Color Graphics Adapter.
Slot ISA, pines DB9, Monocromático. Soporta hasta Windows 3.1.

CGA: Enhaced Graphics Adapter.
Slot ISA, pines DB9, Color (hasta 8 colores básicos). Trabaja bajo D.O.S y Windows 3.1.

VGA: Video Graphics Array.
Slot ISA, DB15, color/monocromático. Transmite 16 colores(256K).


SVGA: Super VGA.
Slot PCI, DB15, color. Transmite 256 colores(512K de caché de video hasta 1MB).

ADMINISTRACIÓN Y CONFIGURACIÓN DE RECURSOS DE HARDWARE

INTRODUCCIÓN.- Pareciese que desde siempre ha existido un conjunto de temas que han dividido a los usuarios de computadoras en dos grupos: los neófitos y los eruditos.

 
Los primeros si bien mantienen una estrecha relación con el uso de computadoras, nunca reunirían el valor suficiente como para desarmar una y agregar o remover algún dispositivo, como ser: una tarjeta de sonido, un fax/modem, un disco duro o cualquier otro elemento. La razón es sencilla, no entienden todo ese conjunto de términos que los eruditos, es decir los que integran el segundo grupo, conocen. ¿Pero qué términos son estos?, bueno, el vocabulario este incluye algunas palabras como ser: IRQs, DMAs, Direcciones de E/S, Mecanismos de Bus Mastering, PIO, jumpers, DIPs, etc. Así que durante esta y las sucesivas ediciones vamos a tocar uno de los temas que han constituido siempre una brecha para todos aquellos que sintiendo  
   

el deseo de operar un poco mejor sus computadoras no pueden hacerlo por la falta de conocimientos relativos a la administración y configuración de los recursos de hardware. Es importante aclarar que cualquier término no explicado a través de estos artículos, con seguridad ya ha sido tratado en ediciones anteriores de esta misma página, así que remitimos a todos los interesados a las mismas, que también pueden ser halladas en el sitio Internet

RECURSOS DEL SISTEMA.
Dentro de una computadora, todos los elementos de la misma, incluyendo las tarjetas que se hallan en los buses de expansión, la memoria, los discos, etc., emplean diferentes formas de comunicarse entre sí para intercambiar información o bien lograr coordinar algunas tareas. Los elementos de la computadora emplean los denominados recursos de sistema para tal efecto.
Por ejemplo, cuando el modem recibe información, debe notificar de alguna forma al CPU para que esta información sea movida a través del bus de datos hacia la memoria RAM, o bien, cuando movemos el ratón, y observamos el puntero en la pantalla, se está produciendo un movimiento de información desde el ratón por medio del CPU hacia la tarjeta de video, y por ende al monitor. De tal forma, los recursos de sistema tienen realmente mucho que ver con el problema de saber quién tiene el turno de mover información . Básicamente todo el comportamiento de un equipo se mueve bajo un conjunto de reglas que determinan qué elemento de la computadora tiene el turno para mover información, y empleando qué recurso. Por otra parte, los diferentes componentes, si bien tienen cierta autonomía en sus operaciones (algunos más que otros como veremos más adelante), requieren de atención del CPU, al que deberán notificar de alguna forma cuando así sea necesario, dado que el CPU no está pendiente permanentemente, sino trabaja trabaja por demanda. Así, los recursos del sistema quedan constituidos por canales de

 
comunicación, direcciones y otras señales que emplean los dispositivos de hardware para comunicarse entre sí y efectuar sus operaciones, con la particularidad que no pueden ser compartidos, al menos en un mismo momento por dos o más elementos de hardware. Estos recursos incluyen: Direcciones de Memoria (Memory Addresses), Canales de Solicitud de Interrupción (IRQ - Interrupt Request Channels), Canales de Acceso Directo a Memoria (DMA - Direct Memory Access Channels), y Direcciones para Puertos de Entrada/Salida (I/O Port Addresses).

La memoria, es decir el primero de los recursos, es quien sabe uno de los más interesantes, pero también uno de los que mayores problemas ha representado siempre, además de ello su amplitud y complejidad hace necesario que le dediquemos varias ediciones exclusivas en un futuro. De tal forma, nos quedan tres recursos, que por su nivel de frecuencia como problemas siguen el siguiente orden: IRQs, DMAs, y Direcciones de Puertos. La probabilidad de toparse con conflictos crece considerablemente a medida que se va incrementando la cantidad de dispositivos que tiene la computadora, en tales ocasiones es conveniente conocer la forma de asignar recursos del sistema a los diferentes dispositivos.

IRQ - CANALES DE SOLICITUD DE INTERRUPCIÓN.-
Los canales IRQ son los que más causan problemas cuando se planea agregar un nuevo dispositivo a la computadora. Su configuración es conflictiva ya que prácticamente todo dispositivo o tarjeta de expansión que se agregue a una computadora requiere de un IRQ, lo que no sucede con los DMA, que son empleados por muy pocas tarjetas (se verá más adelante). Por cierto que no todos los dispositivos tienen los mismos tipos de requerimientos, varían de uno a otro, pero los IRQ son siempre solicitados. ¿Pero, qué es un IRQ?, un IRQ es una señal que envía un dispositivo cualquiera, por medio de los circuitos impresos de la tarjeta madre hacia el CPU para solicitar atención. Por asemejar, tómese el caso de un estudiante que en el transcurso de un examen levanta la mano para solicitar la atención del catedrático. Estos canales IRQ son en la práctica, circuitos o cableado impreso sobre la tarjeta madre que conecta físicamente una determinada ranura del bus de expansión, a través de la tarjeta madre, con el CPU, de forma tal que el dispositivo conectado sobre la ranura puede enviar una señal eléctrica por dicho canal hacia el CPU,

    cuando requiera de atención. Cuando esto sucede, el CPU interrumpe lo que se hallaba haciendo, y pasa a ejecutar un programa especial diseñado para atender el dispositivo. Este programa se conoce normalmente con el nombre de driver , que no es más que un software diseñado específicamente para administrar un dispositivo y todos los eventos relacionados al mismo que por lo general viene con el respectivo disquete de instalación. Para saber qué rutina debe ejecutar el CPU cuando recibe una interrupción, maneja una tabla donde contiene literalmente para cada interrupción, el nombre del programa a ejecutar. Una vez finalizada la atención de la interrupción, el CPU retorna a continuar aquello que se encontraba haciendo, eso, hasta la próxima interrupción.

Dentro de las interrupciones, existen una jerarquía, representada por un número asignado a cada dispositivo, mientras más bajo sea el número, mayor la prioridad que tiene el dispositivo para ser atendido, de esta forma, cuando se presentan varias interrupciones simultáneamente, el CPU decide según la prioridad de cada una, a cual atender primero, pero si en el transcurso de esta atención se presenta una de mayor prioridad, el CPU detiene ejecución y pasa a atender a la de mayor prioridad. En resumen, las interrupciones también se interrumpen, pero esto no tiene mayor importancia dentro del contexto de lo que buscamos comprender. En algunos casos particulares, las interrupciones se suceden tan rápidamente, que el CPU se satura, dando origen a un error muy conocido: STACK OVERFLOW. El CPU emplea una estructura tipo pila (stack) para almacenar la información del proceso que atiende cuando una interrupción se presenta, así, si muchas interrupciones se presentan, esta pila se desborda, o dicho de otra forma, se da un Desborde de Pila. Pero es un problema sencillo de resolver, basta con incrementar el tamaño de la pila definido dentro de archivo CONFIG.SYS, en el punto STACKS.

Vale la pena mencionar que dentro de la arquitectura MCA o Micro Canal de IBM, esta concepción de IRQ no es la misma. En las computadoras de microcanal, que hoy en día son prácticamente historia, todas los dispositivos pueden ser asignados al mismo IRQ sin ningún problema; por otra parte, los sistemas EISA nativos, que también son extremadamente raros, pueden compartir IRQ solamente para tarjetas de expansión nativas EISA.

HARDWARE DE LOS IRQ.-

Originalmente, las computadoras basadas en el procesador 8086 y 8088 (denominadas comúnmente tipo XT), poseían tan solo 8 posibles IRQ para los diferentes dispositivos que se deseen agregar a esas computadoras. La asignación para cada IRQ puede ser apreciada en la tabla adjunta. El IRQ número 0 estaba siempre asignado para el reloj del sistema, el IRQ 1 para el controlador de teclado, el 2 libre, el 3 para el puerto serial COM2 donde habitualmente se conecta el modem, el 4 para el puerto serial COM1 donde habitualmente se conecta el ratón, el 5 para la atención del disco duro, el 6 para la atención de las disqueteras, y el 7 para el puerto paralelo, donde va generalmente una impresora o un scanner. En definitiva, tan solo se podría agregar una tarjeta, con el IRQ 2 disponible (available). Afortunadamente esto ha cambiado para las computadoras actuales, que poseen 16 IRQs disponibles (de 0 a 15).Toda computadora basada en un procesador 80286 o superior tiene esta cantidad de interrupciones disponibles. Pero la pregunta interesantes es ¿cómo se ha logrado esto?, bueno, acá la respuesta: originalmente, en las computadoras XT, cualquier interrupción es atendida por un chip cuyo número es el 8259, también denominado Controlador De Interrupciones.

 
                                         
                                 
                                         

Este chip tan solo tiene la capacidad de atender 8 interrupciones, es decir tienen físicamente 8 entradas, así que para los equipos AT (286 o superior) se han empleado simplemente dos de estos controladores, redireccionando todas las interrupciones generadas por el segundo chip hacia el primero a través del IRQ 2, como se puede observar en el gráfico. Ya que el IRQ 2 del primer chip ha de estar ocupado permanentemente, tan solo quedan 15 posibles IRQs. Recordemos que las interrupciones tienen una prioridad dada por su número, y como todas las interrupciones del segundo controlador entran por la interrupción 2 del primero, las interrupciones número 8 a la número 15 tienen todas prioridad 2. El gráfico permite ver una asignación para cada interrupción, pero ese tema se verá en seguida con la tabla de asignaciones.

CONFIGURACIÓN DEL IRQs A NIVEL DE HARDWARE.- Si hay algo que hasta este punto tiene que estar totalmente claro es que: (1) todo dispositivo de E/S en existencia en la computadora y todo nuevo dispositivo de E/S que agreguemos a la computadora debe tener su respectivo IRQ para poder trabajar; (2) un IRQ no es nada más que un canal a través de los circuitos impresos de la tarjeta madre por medio del cual un dispositivo solicita atención al CPU cuando genera información de entrada de forma espontánea como la llegada de datos por el modem, o desea mover información a la RAM, realizar alguna operación, etc.; y (3) en las computadoras actuales,

 
existen 16 IRQs, pero nada más están disponibles 15 de ellos, y por lo general una computadora en funcionamiento tiene 10 asignados a diferentes elementos, con lo cual nos quedan unos 4 IRQs para nuevos dispositivos a agregar, lo que los convierte en un recurso escaso que debe ser manejado con mucho cuidado (la anterior edición muestra la asignación de IRQs en forma tabular, para una computadora estándar). Para ver esto un poco más prácticamente comprendamos que por ejemplo, todo disco duro es atendido por la tarjeta controladora, que tiene asignado habitualmente el IRQ 14, el modem por lo general tiene asignado el IRQ 2, el ratón el IRQ1, y así, cada dispositivo de E/S ubicado en el bus de expansión, y algunos otros de la tarjeta madre. Es conveniente aclarar que no requiere un IRQ cada disco duro, sino la tarjeta controladora de los mismos. cuando se agrega un nuevo dispositivo al bus de expansión de la computadora, hace falta configurar el dispositivo a fin de que conozca que IRQ ha de utilizar.  
 

El proceso implica primero que nosotros conozcamos de nuestra computadora cuáles son los IRQ ocupados y cuáles los libres, y esta información la podemos obtener mediante diversos programas que diagnostican una computadora y muestran el estado del los IRQs, COMs, LPTs, etc., como puede ser el MSD del DOS, cuya pantalla principal se puede apreciar en el gráfico adjunto. Posteriormente es tiempo de irse a la tarjeta misma que se desea agregar.
En este punto es conveniente saber que toda tarjeta que se va a agregar puede configurarse de una de tres formas: por medio de jumpers, por medio de DIP, o bien configurarse automáticamente.

CONFIGURACIÓN POR MEDIO DE JUMPERS O DIP.- Las tarjetas más antiguas de tipo ISA se configuran por medio de jumpers o DIP, que no son más que pequeños interruptores que se habilitan (ON) o deshabilitan (OFF), con formas diferentes y se hallan sobre la tarjeta. En el primer caso, los jumpers son hileras de pines que se unen o no, pero siempre de a pares, de acuerdo a la indicaciones de manual de la tarjeta. Se unen mediante los denominados puentes o jumpers, que no son más que pequeños elementos capaces de unir dos pines, algo así como un diminuto enchufe o empalme que contacta dos pines.
En el caso de un modem por ejemplo, el manual ha de traer diagramas donde se explican claramente dónde se hallan los pines que se deben jumperear a fin de indicarle al modem que IRQ debe emplear, adicionalmente se indicará la forma en la que los pines se deben unir con los jumpers para lograr el objetivo deseado. Como ejemplo se muestra un típico diagrama en la figura, donde se puede apreciar que para configurar el modem para que trabaje empleando el COM1 y el IRQ 4, se deben unir los dos pines número 6, los número 5 y los número 2.

 
  El diagrama muestra todas las combinaciones posibles para cualquier COM y para cualquier IRQ. Hay que tener la precaución de unir correctamente los pines, y tal como lo indica al manual ya que se podrían ocasionar daños permanentes al dispositivo o tarjeta. Como detalle adicional, no siempre se requiere dejar conectados todos los jumpers, algunas veces hay que conectar 4 ó 5 de ellos, y algunas ocasiones tan solo 1, como lo muestra el gráfico para asignar al modem el COM4 y el IR2. Así que para no perder los jumpers restantes cosa muy fácil dado su diminuto tamaño, se los deja conectados, pero solo a un pin, cualquiera sea. Por ejemplo, los pines 6 son dos, uno superior y uno inferior, así que se podría dejar el jumper conectado al pin superior, sin que haga contacto con ningún otro, menos con uno de su derecha, de esta forma, permanecerán en la tarjeta  
para cualquier cambio futuro.
Por su parte, los DIP son jumpers pero con otra presentación, digamos algo más práctica y cómoda. DIP proviene de la abreviación Dual In-Line Package, o Paquete En-Línea Dual. Son un conjunto de muy pequeños interruptores que tienen dos estados ON y OFF, y su correspondencia es similar a la de un jumper que une dos pines (ON) o simplemente no los une (OFF). Sus pequeñas palancas están numeradas al igual que los jumpers, y se

las puede mover con un pequeño destornillador de precisión, por cierto, siguiendo también al pie de la letra las indicaciones del manual respectivo.

Un aspecto importante a comprender es qué sucede con los dispositivos que requieren de forma obligatoria el IRQ 2, cosa bastante normal. En realidad en los equipos AT, cualquier tarjeta conectada al IRQ 2 funciona perfectamente, con la salvedad de que en realidad está funcionando en el IRQ 9, y no en el 2. Este hecho es completamente transparente y no requiere de mayor cuidado, salvo entender que si algún dispositivo está empleando el IRQ 2, ningún otro podrá ser asignado al IRQ 9, por la razón antes mencionada.


ASIGNACIÓN DE LOS IRQ PARA EQUIPOS AT.- La tabla adjunta puede ser obtenida a través de diversos programas, uno de los más conocidos es el MSD o Microsoft Diagnostic, programa que viene incluido dentro del mismo DOS. Es importante notar también que no todos los equipos tienen idéntica disposición de IRQs, es conveniente analizar la tabla del equipo ejecutando por ejemplo el MSD bajo el DOS. La importancia de esta tabla es fundamental, porque indica claramente qué dispositivo está empleando qué IRQ. Veamos entonces este ejemplo.
El IRQ 0 y el IRQ 8 están por lo general siempre asignados a señales de sincronización y tiempo propias de la tarjeta madre, por lo que no se las debe tocar. El IRQ 1 se destina a atender las interrupciones provenientes del teclado, es decir, la pulsación de una tecla (por cierto que aún tipeando el mecanógrafo más diestro y veloz, el tiempo entre pulsación y pulsación es para el CPU una verdadera eternidad).

AUTOCONFIGURACIÓN DE TARJETAS.- Con el pasar del tiempo, han estado disponibles en el mercado las llamadas tarjetas PCI tipo Plug & Play, es decir Conectar & Operar. Ciertamente estas tarjetas son un increíble adelanto en todo lo que se refiere a la configuración de hardware nuevo dentro de una computadora. En dos ocasiones anteriormente habíamos tenido la oportunidad de hablar sobre la Especificación P&P, como una capacidad de las tarjetas PCI de poder entrar en relación con el BIOS de la computadora inicialmente, a fin de estipular el conjunto de sus requerimientos, los mismos que son depurados luego por el sistema operativo,

  en este caso Windows 95 o superior. Así, se puede afirmar que las tarjetas PCI son todas del tipo P&P, es decir, no requieren mayor configuración manual a nivel de hardware, literalmente se configuran solas en interacción con el BIOS del sistema y el sistema operativo mismo, un proceso completamente trasparente para el usuario. Lo que es importante destacar es que si Windows 95 no reconoce el hardware, ha de solicitar el disquete de instalación provisto por el fabricante, así que exigir el mismo es menester de todo usuario precavido al comprar un dispositivo (aunque parezca increíble existen
    vendedores de hardware que se resisten a proporcionar al usuario manuales y disquetes del dispositivo que venden). Inclusive algunos elementos de hardware poseen programas de instalación que paso a paso configuran todos los recursos necesarios para el dispositivo.

En resumen, con la aparición de PCI quedaban únicamente a la buena experiencia de quienes conocen de hardware, las tarjetas ISA, sin embargo, desde hace un tiempo atrás han entrado al mercado las denominadas tarjetas ISA Plug&Play, que en esencia tienen casi la misma capacidad de las tarjetas PCI de configurarse solas con el BIOS y el sistema operativo. El "casi" proviene de la experiencia, la que demuestra que la capacidad P&P de las tarjetas ISA aún dista bastante de la capacidad P&P de las tarjetas PCI, pero ciertamente representa una gran ayuda. En todo caso, el transcurso del tiempo irá refinando el soporte a la especificación provista por los dispositivos ISA, que puede ocasionar algunos problemas de configuración no realmente importantes y subsanables.
CONFLICTOS HABITUALES CON LOS IRQ.- Parecería que no existe una persona que no haya llegado a tener problemas con los puertos seriales de comunicación del computador, es decir los COM, y esto tiene su fundamento teórico explicativo. A continuación el mismo: todo computadora IBM compatible (los denominados "clones", que son los que siempre tratamos dado su elevado nivel de mercado), tienen cuatro puertos de comunicación seriales. En otras palabras, un computador de estos podrían mantener funcionando de forma simultánea 4 dispositivos seriales, por ejemplo: un ratón, un modem, un lápiz óptico y una tarjeta de red. Sin embargo en la realidad esto no es así, ya que tan solo se pueden tener dos dispositivos funcionando simultáneamente. ¿A qué se debe esta situación si teóricamente una computadora tiene cuatro puertos?. La respuesta es sencilla: como ningún otro dispositivo en la computadora, el puerto serial 1 (COM1) y el puerto serial 3 (COM3) tienen para su uso solamente un IRQ, el 4; y por su parte, el puerto serial 2 (COM2) y el puerto serial 4 (COM4) tiene para su uso el IRQ 3. Esto es sin duda un delicado problema, pero ha sido así desde siempre, ya que la gran mayoría de los dispositivos seriales del mercado vienen fabricados para emplear el IRQ 3 ó 4. Por esta razón, y dado que dos dispositivos no pueden compartir simultáneamente un mismo IRQ, es que el común de las computadoras tienen tan solo dos dispositivos seriales funcionando: un ratón y un modem.

  Evidentemente, es conveniente a la hora de configurar hardware, conocer este detalle a fin de poder comprender por que dos dispositivos conectados al COM1 y al COM3 que empleen el IRQ 4 han de generar problemas ocasionando que la máquina se bloquee por completo. En ese caso habrá que cambiar uno de ellos al COM2 o al COM4 a fin de que empleen otro IRQ. Pero la pregunta obvia es ¿acaso una computadora está confinada a no poder emplear más de dos dispositivos seriales?. La respuesta es no. Cualquier persona que desee agregar un tercer dispositivo a su computadora deberá tener la precaución de adquirir un producto que pueda ser configurado para emplear otro IRQ que no sea el 3 ó 4 (en realidad siempre ha sido un problema de los fabricantes que no permiten que sus productos se configuren con otro IRQ que no sea el 3 o el 4), que punto aparte existen en el mercado cada vea más y más, para fortuna de todos nosotros.
Por ejemplo algunos modems pueden ser configurados en el IRQ 3, 4 ó 5, lo que es indudablemente una gran ventaja, y algunos dispositivos de reconocimiento óptico de caracteres - OCR pueden ser configurados para trabajar literalmente en cualquier IRQ. De esta forma, una computadora puede llegar a soportar los 4 dispositivos seriales que promete, siempre y cuando no empleen simultáneamente el mismo IRQ dos o más de ellos.
Existe un punto de base adicionalmente que vale la pena comentarlo a fin de dar un claro entendimiento de todo este material. Hablamos de cuatro puertos seriales donde se pueden conectar dispositivos a la computadora. Pero si observamos en la parte posterior de nuestras computadoras, existen tan solo dos conectores seriales, uno de 25 pines y otro de 9 pines (a nivel hardware de base, ambos son equivalentes, ya que son solo 9 los cables básicos), de tal forma que parecería que solo se pueden conectar dos dispositivos seriales, por ejemplo el ratón al conector de 9 pines y un modem externo al conector de 25pines.
  El conector de 25 orificios es el puerto paralelo y corresponde a la impresora, así que ni contar con el mismo, ningún dispositivo serial funcionaría en el. ¿Y los otros dos puertos seriales?. Bueno, han de requerir tarjetas propias que se agreguen al bus de expansión. Por ejemplo, se puede agregar una tarjeta de red que ha de emplear el tercer puerto serial, claro, configurada adecuadamente, y se puede conectar una tarjeta de sonido que actualmente contienen un conector de 15 orificios para el joystick, de tal forma que estarían operando en la computadora los 4 puertos seriales.
  CANALES DMA
Los canales de Acceso Directo a Memoria - DMA son empleados para comunicaciones a alta velocidad entre dispositivos que soportan este tipo de trasferencias. Los dispositivos seriales como ser el ratón, el modem, etc., no emplean canales DMA, como tampoco las impresoras, que se conectan a los puertos paralelos. Sin embargo, una tarjeta de sonido, una controladora SCSI de discos, etc., emplean estos canales.
Los canales DMA no necesariamente tienen que ser de uso exclusivo para un dispositivo, algunas veces pueden ser compartidos, sin embargo, y en esto si se parecen a los IRQs, jamás simultáneamente (es mejor hacerse a la idea de que simplemente ningún recurso puedeser compartido).
Los DMA también se han estudiado a partir del modelo del equipo. Los originales XT tenían tan solo 4 canales DMA, mientras que todo equipo AT tiene 8 de los mismos.
                     
  CANALES DMA - ISA 8 BITS.- Las computadoras antiguas cuyo bus era el ISA de 8 bits, soportaban tan solo 4 canales DMA para movimientos de información a alta velocidad entre algún dispositivo ubicado en el bus y la memoria. Tres de estos canales estaban a disposición de cualquier dispositivo del bus, es decir para las ranuras de expansión. La asignación de los canales DMA estaba dada por la descripción de la tabla adjunta, con un solo canal DMA para un dispositivo extra, como puede ser una tarjeta de sonido. Esta configuración no tardo mucho tiempo en resultar realmente insuficiente o obsoleta.
CANALES DMA - ISA 16 BITS.- Con la introducción de los computadores basados en el procesador 286 o superior, todo equipo soporta 8 canales DMA, cantidad más que suficiente tomando en cuenta que no son muchos los dispositivos que requieren los mismos. El mecanismo de duplicación de los canales DMA fue el mismo que el de los IRQ, es decir derivando todas las salidas del segundo controlador DMA hacia una línea del primero, a través del canal 4. La tabla adjunta muestra la configuración habitual de los canales DMA en un equipo con ranuras ISA de 16 bits. Solamente el canal DMA 2 es empleado de forma universal para la controladora de disquetes, el DMA 4 no se lo puede emplear ya que recibe los datos del otro controlador DMA. El resto se hallan disponibles para ser asignados a cualquier dispositivo nuevo como típicamente se constituye la tarjeta de sonido.
Es importante notar que la configuración de los canales DMA para equipos EISA o MCA no es la misma que para los equipos ISA antes descritos, sin embargo, los primeros son tan raros hoy en día que no vale la pena mencionar el tema.
En resumen, la gran ventaja de los canales DMA dentro de la configuración de computadoras es que pocos dispositivos los requieren, al contrario que los IRQ, y por lo general es raro encontrarse con problemas de configuración con un dispositivo que precisa de este recurso.

 

 

ASPECTOS TEÓRICOS DEL ACCESO DIRECTO A MEMORIA.- Directa o indirectamente relacionados a todo lo que significa canales DMA se hallan algunos otros términos, que a veces suelen ser motivo de confusión. Tres son particularmente mal comprendidos: Entrada y Salida Programada - PIO, DMA por tercera parte, y Bus Mastering DMA.

ENTRADA Y SALIDA PROGRAMADA - PIO.- Es conveniente dejar en claro que este término no tiene nada que ver directamente con DMA, simplemente es un método de transferencia de datos para discos duros. Aclaremos esto: El método de transferencia de datos que menos requerimientos de hardware presenta, se denomina Entrada / Salida Programada (Programmed Input / Output - PIO), y fue introducido por los primeros controladores de discos duros de las computadoras 286 y posteriores. El método de transferencia de datos PIO emplea a la CPU para mover los datos entre la tarjeta controladora de los discos duros y la memoria RAM de la computadora. En el mejor de los casos, PIO puede alcanzar velocidades de 2.5MB/seg.
PIO fue diseñado particularmente para computadoras que trabajen en ambientes DOS para usuarios finales, y se basa fundamentalmente en constantes interrupciones que el controlador envía al CPU alertando que tiene lista una cantidad de información de 512 bytes. El CPU ejecuta las instrucciones respectivas y mueve la información, así y de manera similar, cada sector de información de 512 bytes es movida con la ineludible colaboración del CPU, lo que se convierte en un serio inconveniente dado el elevado uso de procesador que efectúa este método, especialmente para ambientes multiusuario donde el CPU debe atender otros procesos simultáneamente. Por esta razón decíamos que PIO estaba pensado para ambientes DOS de usuarios finales, y no para los anteriores.

DMA POR TERCERA PARTE.- Un método de transferencia más sofisticado que PIO es DMA. El poder de DMA radica en el empleo de un hardware específico para operaciones de movimiento de datos entre un dispositivo y la memoria RAM, sin la participación del procesador. Durante la operación de movimiento de información, el hardware DMA suspende la operación del CPU y toma control sobre el bus, de esta forma, se procede al movimiento de datos a realmente mucho más alta velocidad que PIO.
Existen dos tipos de métodos DMA, el primero es llamado comúnmente "DMA por tercera parte", y es el más antiguo, lento y obsoleto de ambos, que se basa en un chip controlador DMA fabricado en la misma tarjeta madre que administra todo el movimiento de la información entre el dispositivo (primera parte), y la memoria RAM (segunda parte), haciendo de arbitro y director (tercera parte). De esta forma, muchos dispositivos pueden compartir este controlador DMA, haciendo el papel de una tercera parte mediadora y vital.

BUS MASTERING DMA.- El segundo método DMA es el más eficiente y por cierto el más rápido. Se basa en dispositivos capaces de soportar la trasferencia tipo Bus Mastering y tienen la capacidad de mover información hacia la memoria RAM del sistema sin la participación siquiera del DMA de la tarjeta madre, mucho menos la del CPU. Este método de transferencia estuvo ya disponible originalmente para equipos EISA y MCA, y hoy se ha hecho extensivo para el resto de las arquitecturas, y es primordial al comprar un nuevo dispositivo para nuestras computadoras, consultar si el mismo trae soporte para Bus Mastering. Ciertamente no es un aspecto preocupante, ya que de forma estándar, todos los dispositivos que trabajan a alta velocidad, traen incorporada la esta especificación.
 
               

El IRQ 2 está destinado exclusivamente a la atención del segundo chip controlador 8259, aunque se lo pueda emplear en la práctica ya que es suplido por el IRQ 9 como se mencionó anteriormente. El IRQ 3 ha de atender un dispositivo serial que se halle en el puerto COM2 o COM4, y el IRQ 4 otro dispositivo serial conectado al COM1 o al COM3. Este punto es interesante ya que al inicio de este análisis dijimos claramente que un mismo IRQ no puede ser compartido por dos o más dispositivos a la vez, como por ejemplo el modem y el ratón, que perfectamente se podría conectarlos al COM2 y al COM4, para que empleen el IRQ 3. Sin embargo este hecho ocasionaría que el momento en que el modem esté activo y el ratón también, el equipo se bloquee completamente, aparezcan extraños mensajes de error en la pantalla y exista la necesidad de reiniciar todo, con las molestias y perjuicios pertinentes. Esto sucede toda vez que dos dispositivos intentan emplear el mismo IRQ.
Por esta razón, se suele conectar un equipo al COM1 y se deja libre el COM3, o bien a la inversa, pero nunca en ambos, y lo mismo para el COM2 y el COM4. Por lo general, se conecta al COM1 el ratón, y al COM2 el modem, de esta forma emplean el IRQ 4 y 3 respectivamente, sin crearse conflictos (en una edición futura dedicada a modems exclusivamente analizaremos plenamente este aspecto). Como se puede apreciar en la columna Detectado , el programa MSD ha detectado algo en el COM1, pero nada en el COM3 (Not Detected), y lo mismo ocurre para el COM2, que ha sido detectado y no el COM4. Por cierto, que el equipo del que se obtuvo esta tabla tiene el ratón en el COM1 y el modem en el COM2. Por su parte, el IRQ 5 tiene marcada en su columna Detectado , la palabra No , lo que da a entender que ese IRQ está disponible, y que por lo general se lo emplea para una segunda impresora. Los IRQ 6, 7, y 8 han sido detectados, por lo que no pueden ser empleados. El IRQ 9 se halla disponible para suplir al 2. Los IRQ 10, 11, 12 y 15 no han sido detectados, y se hallan bajo el rótulo de (Reserved) , lo que significa que están disponibles para atender cualquiera dispositivo a ser agregado en un futuro, como ser: tarjeta de sonido, tarjeta de TV, etc. Finalmente el IRQ 13 y 14 se hallan destinados a atender el coprocesador matemático y las unidades de discos duros respectivamente.
Los nombres de las columnas son bastante claros, a excepción de la denominada Manejado Por , que indica el elemento de hardware o software que administra el dispositivo. Por ejemplo, el teclado es administrado por un programa denominado KEYB, bastante conocido para todos los que han manejado o configurado el viejo DOS, muchos dispositivos son administrados por las rutinas del BIOS, que por lo general ser cargan a la memoria RAM cuando se inicializa la computadora (el proceso de carga se denomina Shadow BIOS), y Default Handlers indica que el dispositivo será administrado por los programas del mismo fabricante. El símbolo ??? indica que el programa MSD no ha podido averiguar quién administra ese IRQ, cosa normal para el reloj del sistema, que funciona de forma autónoma.

 
Ultra DMA
En Folsom, California el 14 de Junio de 1996 Quantum e Intel anuncian un nuevo protocolo para discos de Interfaz ATA/IDE, que duplica la actual tasa de transferencia a 33 MB/s. El nuevo protocolo, llamado Ultra DMA/33 es una tecnología patentada por Quantum. Para su exito es crucial que los nuevos chips para PC’s permitan tomar ventaja de la velocidad de transferencia y es ahí donde interviene Intel.
El nuevo protocolo de transferencia fue de interés de la principales Industrias líderes en fabricación de discos duros como IBM, Maxtor, Seagate Technology, Western Digital, Fujitsu y Toshiva, entre otras. Mientras tanto, Quantum trabajaba desarrollando el estandar ATA con los Fabricantes de Chips.
Ya a comienzos de 1997, parten los primeros productos con Ultra DMA, el cual duplica la velocidad del actual sin tener que hacer cambios drásticos en el cableado ni conexiones de dispositivos (como lo sería cambiar a SCSI).
La tecnología Ultra DMA, conocida también como DMA/33, es una tecnología de interfase EIDE que permite transferencias de datos a alta velocidad utilizando comandos DMA que logran tranferencias de hasta 33MB/s, el doble del actual DMA.
Ultra DMA se basa en la tecnología DMA, la cual es un método de transferencia de información desde dispositivos tales como discos duros o una tarjeta controladora directamente a memoria RAM, sin que intervenga el procesador. Debido a que el procesador no interfiere en esta operación, las transferencia directas son usualmente más rápidas.
Además, para mejorar la rapidez, Ultra DMA desarrolló un nuevo control de errores para la interfaces EIDE: CRC, Cyclical Redundany Check, la cual detecta los errores de transmisión manteniendo la integridad de datos.
Para utilizar UltraDMA es necesario contar con lo siguiente:
1. Un Disco duro Compatible con Ultra DMA
2. Una Bios Compatible con Ultra DMA
3. Un sistema Operativo que soporte Ultra DMA
Los precursores en esta tecnología fueron Intel y Quantum, en particular este último quien es el que patentó la tecnología Ultra DMA.
Actualmente trabajan en Ultra DMA las potencias en la Industria de los Discos Duros:
• Fujitsu
• IBM
• Maxtor
• Quantum
• Seagate
• Toshiba
• Western Digital

Estos avances se han visto reflejados el las mejoras de desempeño de aplicaciones que son intensivas en disco, sobre todo en aplicaciones de multimedia "pesadas".
Los nombres con los que también es conocido a Ultra DMA son Ultra ATA y Fast ATA-2.
Una alternativa de estas tecnologías es la Programmed Input/Output, Interfaz en la cual todos los datos transmitidos pasan por CPU.

Desempeño y Beneficios
A grandes rasgos se podría decir que Ultra DAM duplica la velocidad de transferencia de disco a RAM, pero eso no es todo. Ultra DMA tiene otras ventajas que son dignas de mencionar.
Incremento en la tasa de envío
Cuando se utiliza un mecanismo normal de traspaso de información, se necesitan buffers en memoria grandes para mejorar el desempeño de las aplicaciones intensivas en disco. Con la Interfaz Ultra DMA, se puede mantener un pequeño buffer en memoria, debido a su alta tasa de transferencia.

                                   
 
Modo de Transferencia

PIO Mode 1

PIO Mode 3 PIO Mode 4 DMA Multi-Palabra Ultra DMA
Mode 2
Tasa (max) de Transferencia 5.2 MB/s 11.1 MB/s 16.6 MB/s 16.6 MB/s 33.3 MB/s
     
                                     
Utilización de CPU
El impacto en la utilización de la CPU es notable. El siguiente es el resultado del WinBench 97 benchmark, realizado sobre un Fireball ST de Quantum y una Motherboard Intel MMX.
                                     
 
Modo
Read/Utilización CPU
Write/Utilización CPU
PIO Mode 4
80.2 %
96.8 %
DMA Mode 2
68.9 %
76.2 %
Ultra DMA/33
60.4 %
49.6 %
     
                                         
Como se muestra en la tabla, Ultra DMA tiene mejor desempeño que el resto de los Modos ATA.
Con Ultra DMA, la CPU puede ser liberada para realizar otras operaciones, lo cual se traduce en mejoras en el tiempo de proceso.
Además, con este envió masivo de datos a estas velocidades, los ciclos de espera también son eliminados, lo cual incrementa la velocidad real de ejecución del los programas.

Integridad de Datos
Además de los beneficios de desempeño, el protocolo Ultra DMA también introduce un mecanismo de protección de datos, llamado Cyclical Redundancy Check (CRC). El CRC es calculado para cada envío (como un Checksum) tanto por el computador como por el disco duro y luego almacenado en el Registro de CRC. Una vez que la transferencia termina, el computador le reenvía el contenido del Registro CRC al disco, el cual ahora lo compara con su propio registro.
Plug & Play
Aun cuando no todas las Motherboard aprovechan las ventajas del una interfaz Ultra DMA/33, esto no impide que los discos puedan se ocupados como ATA comunes. Es más, son reconocidos como ATA por la BIOS que reconocen ATA estandar.
Hoy en día (20-Nov-98) la mayoría de los fabricantes de Motherboard Soportan Ultra DMA.

Consideraciones de uso de Ultra DMA
La mayoría de los discos Quantum que están en el mercado de interfaz EIDE son Ultra DMA, pero antes de comprar uno, hay que considerar lo siguiente:

Sistema operativos que Soportan Ultra DMA

                                         
         
Sistema Operativo
Soportado
Comentario
DOS
No
 
Windows 95
Si, con upgrade
Los drivers de Windows 95 soporta soportan sólo PIO. Ultra DMA es soportado completamente actualizando a los últimos driver para Bus Master DMA de Intel.
Windows NT
Si, con upgrade
Los drivers de Windows 95 soporta soportan sólo PIO. Ultra DMA es soportado completamente actualizando a los últimos driver para Bus Master DMA de Intel.
Windows 98
Si
Los drivers de Windows 98 soportan completamente DMA y Ultra DMA.
OS/2 Warp 4.0
Si, con upgrade
Ultra DMA es soportado actualizando a los últimos driver para Bus Master DMA de IBM OS/2.
   

Los upgrade nombrados anteriormente se deberían obtener en Intel o IBM, según corresponda el caso.


Discos Duros / BIOS / Interfaz Ultra DMA
El uso de las ventajas del Ultra DMA, depende de si se cuenta con los requerimientos necesarios de hardware y Software.

 

Como se aprecia en la imagen, se pueden dar los siguiente casos:
La BIOS consulta al disco usando PIO
La BIOS levanta el Disco y el Chipset
El Sistema Operativo detecta soporte para DMA.
1. Si es soportado DMA o Ultra DMA, entonces se utilizan comandos DMA para lectura y escritura.
2. Si no es soportado DMA ni Ultra DMA o si la BIOS no soporta al DMA, entonces el default es trabajar con PIO.

 
Volver a la pàgina principal