Escolar Documentos
Profissional Documentos
Cultura Documentos
Interfaz (electrnica)
En electrnica, telecomunicaciones y hardware, una interfaz es el puerto (circuito fsico) a travs del que se envan o reciben seales desde un sistema o subsistemas hacia otros. No existe una interfaz universal, sino que existen diferentes estndares (Interfaz USB, interfaz SCSI, etc.) que establecen especificaciones tcnicas concretas (caractersticas comunes), con lo que la interconexin slo es posible utilizando la misma interfaz en origen y destino. As tambin, una interfaz puede ser definida como un intrprete de condiciones externas al sistema, a travs de transductores y otros dispositivos, que permite una comunicacin con actores externos, como personas u otros sistemas, a travs de un protocolo comn a ambos. Una interfaz es una Conexin fsica y funcional entre dos aparatos o sistemas independientes.
Interfaz
La interfaz de E/S es requerida cuando los dispositivos son ejecutados por el procesador. La interfaz debe ser necesariamente lgica para interpretar la direccin de los dispositivos generados por el procesador. El Handshaking deber ser implementado por la interfaz usando los comandos adecuados (BUSY, READY, WAIT), y el procesador puede comunicarse con el dispositivo de E/S a travs de la interfaz. Si se intercambian diferentes formatos de datos, la interfaz debe ser capaz de convertir datos en serie a paralelo y viceversa. Los dispositivos de E/S se comunican por interrupciones con el procesador, si una interrupcin es recibida, el procesador la atender con la rutina de interrupcin correspondiente a dicha interrupcin. Un ordenador que usa E/S mapeados en memoria por lectura y escritura accede al hardware a travs de la posicin de memoria especifica, usando el mismo lenguaje ensamblador que el procesador usa para el acceso a memoria.
Interfaz (electrnica) Implementacin de interfaces a alto nivel Los sistemas operativos y lenguajes de programacin de alto nivel facilitan el uso separado de ms conceptos y primitivas abstractas de E/S. Por Ejemplo: la mayora de sistemas operativos proporcionan aplicaciones con el concepto de fichero. Los lenguajes de programacin C y C++, y los sistemas operativos de la familia unix, tradicionalmente abstraen ficheros y dispositivos como streams, los cuales pueden ser ledos o escritos, o ambas cosas. La librera estndar de C proporciona funciones para la manipulacin de streams para E/S.
Controlador de perifrico
Actualmente se usan multitud de interfaces o controladores para las conexiones entre el procesador y los distintos perifricos (cada uno de estos ltimos suele tener su propio controlador). En ocasiones se puede interconectar los perifricos con la memoria principal directamente sin pasar por el procesador para lo cual se utilizan dispositivos ms avanzados como los DMA que son procesadores dedicados a dichas transferencias. Estos dispositivos tratan de permitir la transferencias de datos hacia/desde el perifrico determinado. Entre sus principales caractersticas podemos destacar: Tienen diversos puertos asociados. Entendemos por puerto algo que puede ser referenciado y accedido a travs de una direccin (no tiene por qu ser un hardware especfico de almacenamiento aunque en la mayora de los casos suelen ser registros). Poseen circuitera especfica para la adaptacin del formato de seales y de velocidades entre el procesador y los dispositivos de E/S. Proporcionan las transferencias de datos, como especificamos anteriormente, usando el bus de datos. Requieren programas software para el proceso de transferencia, que ser ejecutado por el procesador cada vez que se requiera usar al perifrico involucrado. En computadores de alta gama se pueden emplear controladores ms sofisticados que son en realidad procesadores especficos que solo tienen funciones para la E/S, son los llamados canales o IOP.
Interfaz (electrnica) Bus de direcciones El bus de direcciones comunica el procesador con los perifricos, seleccionando aquel con el que se desea interaccionar. ste puede ser: Mapeado: El mapa de perifricos pertenece al mismo que el de memoria, es decir, el procesador no distingue entre accesos a memoria y accesos a los dispositivos de E/S, por tanto no hay instrucciones especficas de E/S que no sean las propias de acceso a memoria, sino que se utilizan LOAD, STORE o MOVE. La ventaja de usar una E/S mapeada es que hay menor complejidad a la hora de disear el procesador. Independiente: El mapa de perifricos es independiente (y valga la redundancia) al mapa de memoria ya que usa la plantilla IO/M# del procesador, por tanto existen instrucciones dedicadas a las transferencias con perifricos distintos a la memoria principal (nemotcnicos ms comunes: IN, OUT, TESTI/O, CONTROLI/O). Las ventajas de usar E/S independiente es que, facilita la proteccin de E/S y los programas son ms rpidos al tener una decodificacin ms sencilla y tener un tamao menor las instrucciones de E/S. Al contrario que la E/S mapeada, el diseo del procesador es ms complejo. Tcnicas de direccionamiento para controladores En funcin del tipo de sistema E/S, podemos encontrar diferentes formas de direccionamiento: Direccionamiento por seleccin lineal: Consiste en asignar un bit del bus de direcciones a cada puerto. Si tenemos n "lneas" para direccionar perifricos podemos especificar, a lo sumo, n perifricos distintos. Este tipo de direccionamiento no se suele utilizar ya que tiene importantes restricciones tales como que solo un perifrico puede estar activo a la vez. Direccionamiento por seleccin por decodificacin: La direccin del perifrico est codificada y se requiere un decodificador para activar el perifrico deseado. Dentro de este tipo de direccionamiento se hayan dos posibilidades: Centralizado: Se emplea un decodificador para todos los puertos. Distribuido: Cada puerto "reconoce" su propia direccin.
Interfaz (electrnica) Basados en MUX/DEMUX Se emplean MUX y DEMUX para seleccionar el perifrico que podr usar el bus compartido en un momento dado, impidiendo al resto de dispositivos acceder a este ltimo. Las caractersticas principales de este tipo de interconexin son: Escasa posibilidad de expansin Mucha circuitera: Suelen dedicar gran parte del rea del dispositivo en el cableado del mismo.
Sincronizacin
La sincronizacin con el procesador o la memoria de los dispositivos de E/S consiste en la acomodacin de velocidades de ambos, ya que los perifricos suelen ser ms lentos. A fin de que no se imponga el ritmo del dispositivo ms lento se establecen mecanismos para saber cundo se deben enviar/recibir datos y es comn que los controladores dispongan de buffers de almacenamiento temporal de palabras y permitan aceptar seales de control de conformidad que reflejan el estado del perifrico en un momento dado (listo, peticin, reconocimiento, ocupado, etc). Tipos de temporizacin La temporizacin de las operaciones de E/S puede ser de dos tipos: Sncrona: Aquella en la que los dispositivos que se conectan poseen velocidades similares, por lo que ninguno de ellos debe esperar al otro. Asncrona: Aquella en los que los dispositivos tienen velocidades dispares, lo cual provoca que uno deba esperar al otro para que no se produzcan errores/inconsistencias en los datos. Existe otra definicin de los trminos Sincrono/Asincrono que se puede encontrar en diferentes textos/escritos de diferentes autores dichos trminos refirindose a las distintas definiciones: Sncronos: Se dice de los dispositivos que comparten una seal de reloj comn. Asncronos: Aquellos que no comparten la misma seal de reloj. Debido a que no tienen la misma seal de reloj, pueden acomodar una amplia variedad de dispositivos, y el bus puede alargarse sin preocuparse por los problemas de sincronizacin. Para coordinar la transmisin de datos entre emisor y receptor, utilizan un protocolo de presentacin (handshaking protocol). ste protocolo consta de una serie de pasos en los cuales emisor y receptor proceden al siguiente paso solamente cuando ambas partes estn de acuerdo. Para implementar ste protocolo se requiere de un conjunto adicional de lneas de control, entre ellas: 1. ReadReq o RD: Se utiliza para indicar una peticin de lectura de memoria. La direccin se pone en la lnea de datos al mismo tiempo. 2. WriteReq o WR: Se utiliza para indicar una peticin de escritura en memoria. 3. Data: Se utiliza para indicar que la palabra de datos est preparada en las lneas de datos (datos estables). 4. Ack: Se utiliza para conocer la seal de ReadReq o Data, es decir, esta seal de aceptacin se necesita para que el controlador del perifrico conteste a la peticin de transferencia generada por el procesador. Temporizacin sncrona En la temporizacin sncrona, la aparicin de un evento est determinada por el reloj. El bus incluye una lnea de reloj que es comn a todos los dispositivos, y se suelen sincronizar durante el flanco de subida. Casi todos los eventos duran un nico ciclo de reloj. Este tipo de temporizacin slo funciona si el dispositivo de E/S es suficientemente rpido para responder a la espera que le brinda el procesador, en caso contrario se producirn errores en la escritura de los puertos y se leern datos no vlidos del bus, por lo que las operaciones de E/S no seran correctas. Otro tema importante es que, si no se incorporan rutinas para detectar hardware inexistente, el programa podra fallar por tratar de direccionar un dispositivo que o bien no existe o bien ha sido "desconectado" del equipo.
Interfaz (electrnica) Las operaciones de lectura y escritura funcionan de la siguiente manera: Escritura: El procesador activa la seal WR#, que es la de escritura, y espera un tiempo, que es determinado por el procesador (no es una espera al otro dispositivo), y una vez transcurrido ese periodo de tiempo desactiva la seal de escritura, por lo que si el dispositivo de E/S no es suficientemente rpido la escritura no se realizar correctamente. Cabe destacar que en este tipo de temporizacin no se produce ninguna espera por parte del procesador ni por parte del perifrico. Lectura: El procesador activa la seal RD# que es la de lectura y espera un tiempo determinado por el mismo (como ocurra en el caso de la Escritura) y acto seguido lee del bus de datos la informacin, sin comprobar si esta contiene los datos vlidos suministrados por el perifrico. Temporizacin asncrona o con "handshaking" La traduccin de "handshaking" es "apretn de manos" y viene a significar que el procesador y los perifricos intercambian seales de control que les permiten sincronizar sus acciones y "colaborar" conjuntamente en la transferencia de informacin. Generalmente se suele considerar que existe slo una seal de sincronizacin llamada ACK (aunque puede haber tantas seales de sincronizacin como se necesiten y esto depende del hardware del dispositivo en cuestin). Con este procedimiento mejoramos el rendimiento de las operaciones de E/S y impedimos que se produzcan los fallos en la escritura/lectura que podan suceder con la temporizacin sncrona para un dispositivo existente. Sin embargo al igual que en el caso sincrono se han de incorporar rutinas que determinen si se intenta acceder a un dispositivo inexistente o "desconectado" puesto que esto si provocara errores (entrara en un bucle infinito esperando a ACK). La solucin que generalmente se adopta es que el procesador da un tiempo lmite de espera por encima del cual se genera una excepcin y se aborta la operacin E/S. El funcionamiento de las operaciones de lectura y escritura es el siguiente: Escritura: El procesador activa la seal de escritura, WR# y espera hasta que el perifrico activa su lnea de sincronizacin ACK, cuando esto sucede el procesador deshabilita la seal de escritura y se produce la escritura (y valga la redundancia) de los datos en el puerto del perifrico correspondiente. Finalmente el perifrico desactiva ACK. Lectura: El procesador habilita la seal de lectura, RD# y espera hasta que el dispositivo le "indique" mediante ACK que los datos estn listos para su lectura. Una vez que ACK esta activa el procesador lee los datos del bus de datos y desactiva la seal RD#. Finalmente el perifrico reconoce la deshabilitacin de RD# y este desactiva la seal de sincronizacin, ACK.
Interfaz (electrnica) Control de los "paquetes" transferidos: Se debe encargar de determinar qu cantidad de informacin se enva en cada operacin de E/S (lo llamaremos "paquete") y contar la cantidad de paquetes que se llevan enviados para poder determinar cundo se termina la transferencia de datos. Deteccin de errores: Pueden ser errores propios del funcionamiento del hardware del perifrico o bien de los datos (pueden haber sido corrompidos intencionadamente o accidentalmente) y en caso de ser necesario "relanzar" la operacin de E/S correspondiente.
Bibliografa
DAC, Universidad Rey Juan Carlos. Buses del sistema. [1] (PDF). Consultado el 6 de marzo de 2011. Universidad del Azuay, Ecuador. Equipos de comunicaciones. [2] (html). Consultado el 9 de marzo de 2011. Antonio Caas Vargas, UGR. Entrada/Salida [3] (PDF). Consultado el 6 de marzo de 2011.
Referencias
[1] http:/ / dac. escet. urjc. es/ docencia/ AC/ Buses_mod. pdf [2] http:/ / www. uazuay. edu. ec/ estudios/ sistemas/ teleproceso/ apuntes_1/ equipos_com. htm [3] https:/ / swad. ugr. es/ tmp/ TiQCtzp3Q1yMeYdjOHcbAb7rH2X98y85XKshGbwAohU/ descarga/ 1%20Teoria/ 1%20Entrada-Salida/ 1%20Transparencias/ Transparencias_E-S_2010-2011. pdf
Licencia
Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/