4. Entrada Y Salida
Funciones que realiza Vamos a señalar las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida: Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S. Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). Sincronización y coordinación de las operaciones. Esta última función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes). Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones: Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información. Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico. Para realizar estas funciones la CPU gestionará las líneas de control necesarias.
Definiremos una operación de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la realización de una operación de E/S se deben efectuar las siguientes funciones:
Recuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación. Sincronización de velocidad entre la CPU y el periférico. Detección de errores (e incluso corrección) mediante la utilización de los códigos necesarios (bits de paridad, códigos de redundancia cíclica, etc.) Almacenamiento temporal de la información. Es más eficiente utilizar un buffer temporal específico para las operaciones de E/S que utilizan el área de datos del programa. Conversión de códigos, conversión serie/paralelo, etc. Dispositivos externos Una de las funciones básicas del computador es comunicarse con los dispositivos exteriores, es decir, el computador debe ser capaz de enviar y recibir datos desde estos dispositivo. Sin esta función, el ordenador no sería operativo porque sus cálculos no serían visibles desde el exterior.
Existe una gran variedad de dispositivos que pueden comunicarse con un computador, desde los dispositivos clásicos (terminales, impresoras, discos, cintas, cte.) hasta convertidores A/D y D/A para aplicaciones de medida y control de procesos, De todos los posibles periféricos, algunos son de lectura, otros de escritura y otros de lectura y escritura (es importante resaltar que este hecho siempre se mira desde el punto de vista del proceso). Por otra parte, existen periféricos de almacenamiento también llamados memorias auxiliares o masivas.
La mayoría de los periféricos están compuestos por una parte mecánica y otra parte electrónica. Estas partes suelen separarse claramente para dar una mayor modularidad. A la componente electrónica del periférico se le suele denominar controlador del dispositivo o, también, adaptador del dispositivo. Si el dispositivo no tiene parte mecánica (como, por ejemplo, la pantalla de un terminal), el controlador estará formado por la parte digital del circuito. Frecuentemente los controladores de los dispositivos están alojados en una placa de circuito impreso diferenciada del resto del periférico. En este caso es bastante habitual que un mismo controlador pueda dar servicio a dispositivos de características similares.
El principal problema planteado por los periféricos es su gran variedad que también afecta a las velocidades de transmisión. Por tanto, el mayor inconveniente que encontramos en los periféricos es la diferencia entre sus velocidades de transmisión y la diferencia entre éstas y la velocidad de operación del computador.
Uso de interrupciones Un computador debe disponer de los elementos suficientes para que el programador tenga un control total sobre todo lo que ocurre durante la ejecución de su programa. La llegada de una interrupción provoca que la CPU suspenda la ejecución de un programa e inicie la de otro (rutina de servicio de interrupción). Como las interrupciones pueden producirse en cualquier momento, es muy probable que se altere la secuencia de sucesos que el programador había previsto inicialmente. Es por ello que las interrupciones deber controlarse cuidadosamente. De esta forma, podemos resumir todos las etapas seguidas ante una interrupción en un sistema dotado de vectorización. Estos pasos son los siguientes: El dispositivo envía la solicitud de interrupción mediante la línea INTR. El procesador termina la ejecución de la instrucción en curso y analiza la línea de petición de interrupción, INTR. Si esta línea no está activada continuará normalmente con la ejecución de la siguiente instrucción, en caso contrario se pasa a la etapa siguiente. La CPU reconoce la interrupción, para informar al dispositivo de ello, activa la línea de reconocimiento de interrupción, INTA. El dispositivo que reciba la señal INTA envía el código de interrupción por el bus de datos. La CPU calcula la dirección de memoria donde se encuentra la rutina de servicio de interrupción (vector de interrupción). El estado del procesador, y en particular el contador de programa, se salva en la pila de la misma forma que en una llamada a procedimiento.
La dirección de la rutina de servicio de interrupción se carga en el contador de programa, con lo que se pasa el control a la citada rutina. La ejecución continúa hasta que el procesador encuentre la instrucción de retorno de interrupción. Cuando se encuentre la instrucción de retorno de interrupción se restaura el estado del procesador, en especial el contador de programa, y se devuelve el control al programa interrumpido. Normalmente la primera instrucción de la rutina de servicio tendrá como fin desactivar las interrupciones para impedir el anidamiento, por otra parte, antes de devolver el control al programa interrumpido se volverán a habilitar si es necesario.
Tipos Dispositivos de entrada Estos dispositivos permiten al usuario del ordenador introducir datos, comandos y programas en la CPU. El dispositivo de entrada más común es un teclado similar al de las máquinas de escribir. La información introducida con el mismo, es transformada por el ordenador en modelos reconocibles. Otros dispositivos de entrada son los lápices ópticos, que transmiten información gráfica desde tabletas electrónicas hasta el ordenador; joysticks y el ratón o mouse, que convierte el movimiento físico en movimiento dentro de una pantalla de ordenador; los escáneres luminosos, que leen palabras o símbolos de una página impresa y los traducen a configuraciones electrónicas que el ordenador puede manipular y almacenar; y los módulos de reconocimiento de voz, que convierten la palabra hablada en señales digitales comprensibles para el ordenador. También es posible utilizar los dispositivos de almacenamiento para introducir datos en la unidad de proceso. Otros dispositivos de entrada, usados en la industria, son los sensores.
Dispositivos de Entrada/Salida Los dispositivos de almacenamiento externos, que pueden residir físicamente dentro de la unidad de proceso principal del ordenador, están fuera de la placa de circuitos principal. Estos dispositivos almacenan los datos en forma de cargas sobre un medio magnéticamente sensible, por ejemplo una cinta de sonido o, lo que es más común, sobre un disco revestido de una fina capa de partículas metálicas. Los dispositivos de almacenamiento externo más frecuentes son los disquetes y los discos duros, aunque la mayoría de los grandes sistemas informáticos utiliza bancos de unidades de almacenamiento en cinta magnética. Los discos flexibles pueden contener, según sea el sistema, desde varios centenares de miles de bytes hasta bastante más de un millón de bytes de datos. Los discos duros no pueden extraerse de los receptáculos de la unidad de disco, que contienen los dispositivos electrónicos para leer y escribir datos sobre la superficie magnética de los discos y pueden almacenar desde varios millones de bytes hasta algunos centenares de millones. La tecnología de CD-ROM, que emplea las mismas técnicas láser utilizadas para crear los discos compactos (CD) de audio, permiten capacidades de almacenamiento del orden de varios cientos de megabytes (millones de bytes) de datos. También hay que añadir los recientemente aparecidos DVD que permiten almacenar más de 4 Gb de información.
Dispositivos de salida Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora. El dispositivo de salida más común es la unidad de visualización, que consiste en un monitor que presenta los caracteres y gráficos en una pantalla similar a la del televisor. Por lo general, los monitores tienen un tubo de rayos catódicos como el de cualquier televisor, aunque los ordenadores pequeños y portátiles utilizan hoy pantallas de cristal líquido (LCD, acrónimo de Liquid Crystal Displays) o electroluminiscentes. Otros dispositivos de salida más comunes son las impresoras, que permiten obtener una copia impresa de la información que reside en los dispositivos de almacenamiento, las tarjetas de sonido y los módem. Un módem enlaza dos ordenadores transformando las señales digitales en analógicas para que los datos puedan transmitirse a través de las líneas telefónicas convencionales.
Componentes digitales Circuitos integrados Un circuito digital se construye con circuitos integrados. Este cuenta con diferentes componentes electrónicos que interconectados forman los circuitos requeridos. Cada CI tiene una designación numérica impresa en la superficie, para su identificación. Clasificación con respecto a su tamaño: SSI: Integración en escala pequeña (Hasta 10 compuertas) MSI: Integración en escala media (Hasta 200 compuertas) LSI: Integración en gran escala (Unos cuantos miles de compuertas) VLSI: Integración en muy gran escala (Miles de compuertas) Clasificación con respecto a su tecnología (Familias lógicas): TTL: Lógica de transistor – transistor (La más popular) ECL: Lógica de emisor acoplado (Muy rápidos, para supercomputadoras ) MOS: Metal óxido semiconductor metálico ( Alta densidad de integración de circuitos) CMOS: Metal óxido semiconductor complementario (Para sistemas que requieren bajo consumo de energía)
Decodificadores Un decodificador de un circuito combinatorio que convierte la información binaria de las n entradas codificadas a un máximo de 2n salidas únicas. Decodificador de 3 a 8 líneas Sirve para convertir de binario a octal.
Entrada de habilitación La entrada de habilitación (E) sirve para controlar el funcionamiento del circuito. El decodificador se activa o habilita cuando E es 1 y se desactiva cuando E es 0. Decodificador de compuerta NAND Este decodificador se construye con compuertas NAND en lugar de AND. El circuito funciona con salidas complementadas y una entrada de habilitación E complementada.
Expansión del decodificador Es posible combinar dos o mas decodificadores pequeños con entradas de habilitación para formar un decodificador mayor. Decodificador 3 x 8 construido con dos decodificadores 2 x 4. Aquí es muy útil la entrada de habilitación para interconectar los dos circuitos.
Codificadores Un codificador realiza la operación inversa de un decodificador. Un codificador tiene 2n ( o menos) líneas de entrada y n líneas de salida. Ejemplo: Codificador de octal a binario Multiplexores Un multiplexor es un circuito combinatorio que recibe información binaria de una de 2n líneas de datos de entrada y la dirige a una línea de salida única. Multiplexor de 4 a 1 líneas En lugar de usar una tabla de verdad para describir el funcionamiento del multiplexor, se utiliza una tabla de función. Al multiplexor también se le llama selector de datos, y su abreviatura es MUX. Los multiplexores también pueden tener entrada de habilitación, y al igual que antes sirve para ampliar dos o más multiplexores a un multiplexor con un número mayor de entradas. Multiplexores cuádruples 2 a 1 líneas. Registros Un registro es un grupo de flip-flops, donde cada flip-flop es capaz de almacenar un bit de información. Un registro de n bits es un grupo de n flip-flops y es capaz de almacenar cualquier información binaria de n bits. Un registro puede tener compuertas combinatorias que ejecuten ciertas tareas de procesamiento de datos. El registro mas simple es aquel que se compone sólo de flips-flops, sin compuertas externas. Ejemplo: Registro de 4 bits La entrada común de reloj dispara todos los flips-flops y los datos binarios disponibles en las entradas se transfieren al registro de 4 bits. La entrada de borrar va a una terminal especial de cada flip-flop. Cuando esta entrada va a 0, todos los flip-flops se borran en forma asíncrona.
Carga de registro La transferencia de nueva información a un registro se llama carga de registro. Si todos los bits del registro se cargan simultáneamente con una transición de pulso de reloj común, se dice que la carga se hizo en paralelo.
Registro con carga paralela La entrada de carga determina si el pulso siguiente aceptará la nueva información o dejará la información en el registro intacta. Ejemplo: Registro de 4 bits con carga paralela. Cuando la entrada de carga es 1, los datos en las cuatro entradas se transfieren al registro con la siguiente transición positiva del pulso de reloj.
Entrada de carga La entrada de carga en el registro determina la acción que va a tomarse con cada pulso de reloj. La conexión de retroalimentación de la salida a la entrada es necesaria porque los flip-flops D no tienen condición "sin cambio".
Registros de corrimiento Un registro capaz de desplazar su información binaria en una o en ambas direcciones se llama registro de corrimiento. La configuración lógica consta de una cadena de flip-flops en cascada, con la salida de un flip-flop conectada a la entrada del siguiente. La entrada serial determina qué va en la posición extrema izquierda durante el corrimiento. Además se podría tener una entrada que habilite el corrimiento. Registro de corrimiento bidireccional con carga paralela Un registro capaz de tener corrimientos en una sola dirección se llama registro de corrimiento unidireccional y uno que puede tener corrimientos en ambas direcciones se llama registro de corrimiento bidireccional.
Capacidades de un registro de corrimiento general: Una entrada para sincronizar las operaciones (reloj) Corrimiento a la derecha y su línea serial Corrimiento a la izquierda y su línea serial N líneas de entrada para la carga en paralelo N líneas de salida en paralelo Un estado de control ( Entrada de carga) Registro de corrimiento bidireccional de 4 bits con carga paralela
Contadores binarios A un registro que al aplicarse pulsos de entrada pasa a través de una secuencia de estados predeterminada se le llama contador. Los pulsos de entrada pueden ser pulsos de reloj o pueden originarse de una fuente externa. Pueden ocurrir a intervalos regulares o aleatoriamente. Un contador que sigue la secuencia de números binarios se le llama contador binario. Un circuito contador empleará usualmente flip-flops con capacidades complementarias (JK y T). Contador binario síncrono de 4 bits Contador binario con carga en paralelo Algunos contadores cuentan con capacidades de carga en paralelo para transferir el número binario previo a la operación de conteo. Contador binario de 4 bits con carga paralela y limpieza síncrona . Incremento La operación de incremento suma uno al contenido de un registro.
Unidad de memoria Una unidad de memoria es un conjunto de celdas de almacenamiento junto con los circuitos asociados que se necesitan para meter y sacar la información del almacenamiento. La memoria almacena información binaria en grupos de bits que se denominan palabras. Una palabra en la memoria es una entidad de bits que se introducen o sacan del almacenamiento como una unidad. Un grupo de ocho bits se denomina byte La estructura interna de una unidad de memoria está especificada por el número de palabras que contiene y la cantidad de bits en cada palabra. Unas líneas especiales de entrada, llamadas líneas de direccionamiento, seleccionan una palabra particular. A cada palabra en la memoria se le asigna un número de identificación, llamado una dirección, que comienza en cero y continúa con 1,2,3, hasta 2k-1 donde k es la cantidad de líneas de dirección. Se selecciona una palabra específica en la memoria, al aplicar la dirección binaria de k bits a las líneas de dirección. Un decodificador dentro de la memoria acepta esta dirección y abre las trayectorias necesarias para seleccionar los bits de la palabra especificada.
Memoria de acceso aleatorio En la memoria de acceso aleatorio (RAM), las celdas de la memoria pueden accesarse para la transferencia de información en cualquier posición aleatoria deseada. Las n líneas de entrada de datos proporcionan la información que se va a almacenar en la memoria, y las n líneas de datos de salida proporcionan la información que sale de la memoria. Las dos entradas de control especifican la dirección de transferencia que se desea. Diagrama de bloque de memoria de acesso aleatorio (RAM) (Figura 2.12) Las dos operaciones que puede ejecutar una memoria de acceso aleatorio son la lectura y la escritura.
Los pasos para el almacenaje son: Aplicar la dirección binaria deseada a las líneas de direccionamiento Aplicar los bits de los datos que deben almacenarse en la memoria a las líneas de entrada de datos Activar la entrada de escritura.
Los pasos para sacar una palabra almacenada son: Aplicar la dirección binaria de la palabra deseada a las líneas de direccionamiento Activar la entrada lectura Memoria de sólo lectura Una memoria de sólo lectura (ROM) es una unidad de memoria que sólo ejecuta la operación de lectura; no tiene posibilidad de escritura. Una ROM m x n es un arreglo de celdas binarias organizadas en m palabras de n bits cada una. (Figura 2.13) Una ROM tiene k líneas de entrada de dirección para seleccionar una de 2k = m palabras de memoria, y n líneas de salida.
Tipos de ROM Programación por mascarilla La programación por mascarilla es realizada por la compañía que produce el semiconductor durante la parte final del proceso de fabricación de la unidad.
PROM PROM significa memoria programable de sólo lectura. Al inicio la unidad tiene todos los fusibles intactos. Los fusibles se funden al aplicar pulsos de corriente. Un fusible fundido define un estado 0 binario y un fusible intacto da un estado 1 binario. Existen en el comercio, programadores de PROM para facilitar el proceso. Este proceso es irreversible.
EPROM Este tipo de ROM se puede borrar gracias a una luz ultravioleta especial. Después de borrarse, las EPROM regresan a su estado inicial y puede reprogramarse con un nuevo conjunto de palabras.
EEPROM Algunas PROM se borran con señales eléctricas, se les conoce como PROM borrables electrónicamente.
Gran parte de nuestro planeta esta interconectándose a la red de la Internet, esta siendo manejado por computadores que cada día avanzan mas y mas, obligando a la humanidad a avanzar con ella, a los países del tercer mundo, a los adultos, jóvenes y niños a estudiar mas sobre el tema para no quedarse atrás puesto que caerían en una especie de analfabetismo con respecto a los computadores, a la humanidad y hasta los países desarrollados que en gran parte son los que mueven este mundo donde solo el "estudiante" o el que estudia triunfa para formar parte de este mundo llamado Tierra.
*http://www.lafacu.com/apuntes/informatica/arquitec/default.htm#_Toc441327031
*http://www.geocities.com/delicadob/tema0/tema0.htm#SA
*http://www.una.ac.cr/u/ararce/Arquitectura/leccion3.html
Autor:
Kenyiro Rivas Yonekura
Página anterior | Volver al principio del trabajo | Página siguiente |