domingo, 29 de abril de 2012

DIAGRAMA DE BLOQUES A UNA COMPUTADORA


DIAGRAMA DE BLOQUES A UNA COMPUTADORA



UNIDAD DE CONTROL




UNIDAD DE CONTROL (La unidad que va decidir controlar).
La unidad de control es el autentico cerebro que controla y coordina el funcionamiento de la computadora. A raíz de la interpretación de las instrucciones que integran el programa esta unidad genera el conjunto de ordenes elementales necesarias para que se realice la tarea necesitada. Pasos para la unidad de control. 1. Se extrae de la memoria principal la instrucción a ejecutar esa información es almacenada en el contador de instrucciones, la información que se almacena es la próxima instrucción a ejecutar en el registro de instrucción propiamente dicha. 2.- Una vez conocido el código de la operación la unidad de control ya sabe que circuitos de la UAL deben de intervenir pueden establecerse las conexiones eléctricas necesarias a través del secuenciador. 3.- Extrae de la memoria principal los datos necesarios para ejecutar la instrucción en proceso 4.- Ordena la AUL que efectúa las operaciones el resultado de este es depositado en el acumulador de la AUL. 5.- Si la instrucción a proporcionado nuevos datos estos son almacenados en la memoria principal. 6.- Incrementa en una unidad el contenido del contador de instrucciones a ejecutar.
La Unidad de control opera con las instrucciones de control que proporciona el programador y que residen en la memoria

Ram; la Unidad de control hace que los datos se lean desde el dispositivo de entrada, se almacenen en la memoria, sean llevados a la Unidad aritmética lógica (ALU) cuando los requiera para las operaciones de cálculo, se guarden y se recuperen datos y valores intermedios en la memoria Ram y finalmente se presenten los datos en los dispositivos de salida.




La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa.
La Unidad Aritmético-Lógica
Se denomina Unidad Aritmético-Lógica (UAL) o ALU (Arithmetic and logical unit) a la unidad incluida en la

CPU encargada de realizar operaciones aritméticas y lógicas sobre operandos que provienen de la memoria principal y que pueden estar almacenados de forma temporal en algunos registros de la propia unidad




La Unidad Aritmético-Lógica es la parte del sistema computador donde se efectúan las operaciones
aritméticas y lógicas sobre los datos. Las ALUs de cualquiera de los procesadores actuales son capaces de realizar una amplia variedad de operaciones entre las que, con toda seguridad, se encuentran las cuatro operaciones aritméticas elementales (suma, resta, multiplicación y división).
En tanto que la suma y la resta son fácilmente implementables mediante circuitos combinacionales, y de hecho existen circuitos integrados que realizan estas operaciones, la multiplicación y la división resultan excesivamente complejas para la implementación combinacional. En cambio estas operaciones permiten ser implementadas mediante Máquinas Algorítmicas.





Registros

los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son direccionables por medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15,14,13…. 3,2,1,0), los registros están divididos en seis grupos los cuales tienen un fin especifico. Los registros se dividen en:




  1. Registros de segmento
  2. Registros de apuntadores de instrucciones
  3. Registros apuntadores
  4. Registros de propósitos generales
  5. Registro índice
  6. Registro de bandera.
Bus
EI bus representa básicamente una serie de cables mediante los cuales pueden cargarse datos en la memoria y desde allí transportarse a la CPU. Por así decirlo es la autopista de los datos dentro del PC ya que comunica todos los componentes del ordenador con el microprocesador. El bus se controla y maneja desde la CPU.
En el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las líneas carácter binario. Es decir solo pueden representar 0 o 1 y de esta manera forman conjuntamente el numero de la posición dentro de la memoria (es decir: la dirección). Cuanto mas líneas haya disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original habían ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto era exactamente lo que correspondía a la CPU





MEMORIA PRINCIPAL





La memoria principal o RAM, abreviatura del inglés Randon Access Memory, es el dispositivo donde se almacenan temporalmente tanto los datos como los programas que la CPU está procesando o va a procesar en un determinado momento. Por su función, es una amiga inseparable del microprocesador, con el cual se comunica a través de los buses de datos.
Esta clase de memoria es volátil, es decir que, cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.
Por su función, la cantidad de memoria RAM de que disponga una computadora es una factor muy importante; hay programas y juegos que requieren una gran cantidad de memoria para poder usarlos. otros andarán más rápido si el sistema cuenta con más memoria RAM.





MEMORIA SECUNDARIA





Además de la memoria principal, una computadora cuenta con almacenamiento en memoria secundaria de tipo magnético u óptico. Tal memoria puede considerarse físicamente como dispositivos de entrada/salida, ya que requiere de dispositivos que se conectan fuera del circuito principal de la computadora. Además, la velocidad de acceso a su contenido es mucho más lenta que aquella entre CPU y memoria principal.
La mayoría de la memoria secundaria es magnética, ya sea a una cinta o a un disco. Funcionan muy parecido a los equipos para grabar sonido, es decir, las cintas y discos
están recubiertos de un material magnético que permite borrar, leer y grabar mediante cabezas que contienen sensores o polarizadores electromagnéticos.
Las cintas son los medios magnéticos más baratos y de mayor capacidad. Pueden tener un buen tiempo de acceso si se considera un acceso de tipo secuencial a su contenido. Sin embargo, su tiempo de acceso para acceso aleatorio es pobre. Los discos se presentan como la opción cuando se requiere la combinación de una gran capacidad con la relativa economía y velocidad del acceso aleatorio. Los discos de memoria pueden ser de dos tipos: flexibles (floppy disks) o duros (hard disks).
Los discos flexibles son baratos, lentos, y de baja capacidad. Actualmente, su diámetro estándar es de 3.5 pulgadas, y generalmente son removibles de la unidad de disco que los lee o escribe. Esto los hace una "biblioteca" de almacenamiento casi ilimitado (dependiendo de su número). La información se almacena en líneas concéntricas llamadas tracks, en uno o ambos lados del disco. El número de tracks, y el número de bytes por track varía respecto a la densidad de escritura, pero en general, la máxima capacidad de un disco flexible de este tipo es de 1.4 Mbytes. Los discos flexibles típicamente giran a 300 rpm, y su tiempo de acceso depende del tiempo requerido para colocar la cabeza lectora móvil en el track correcto, que es de una fracción de segundo, más el tiempo que le toma a la cabeza encontrar el registro a lo largo de la circunferencia del disco, que aproximadamente toma la quinta parte de un segundo. Por lo tanto, un conjunto de unos miles de bytes consecutivos puede ser accesado en cada segundo.
Un disco duro se contruye de un material rígido, recubierto por una substancia sensible a campos electromagnéticos. Pueden tener diámetros iguales o mayores que los discos flexibles. Se presentan en forma de unidades que pueden contener desde uno a una docena de discos, rotando a una velocidad diez veces mayor que la velocidad de los discos flexibles, lo que hace que el tiempo de acceso a sus registros sea menor. Tienen cabezas magnéticas de lectura y escritura, que pueden ser fijas o móviles. Los discos con cabezas fijas tienen naturalmente una cabeza por cada track, lo que los hace más costosos, pero ahorran en tiempo de acceso al evitar el movimiento de las cabezas. Los discos con cabezas móviles (conocidos como Winchester) se encuentran sellados para evitar que el mecanismo posicionador de las cabezas se dañe. Las cabezas se mueven muy cercanamente a la superficie del disco, pero permiten una distancia de aire entre ellas y el disco (en los discos flexibles, las cabezas realmente se encuentran en contacto con el disco, lo que tiende a gastarlos). La capacidad de los discos duros es cada vez mayor, y va de varios Mbytes hasta algunos

G Bytes?.




La memoria secundaria es un conjunto de dispositivos periféricos para el almacenamiento masivo de datos de un ordenador, con mayor capacidad que la memoria principal, pero más lenta que ésta.
El disquete, el disco duro o disco fijo, las unidades ópticas, las unidades de memoria flash y los discos Zip, pertenecen a esta categoría.
Estos dispositivos periféricos quedan vinculados a la memoria principal, o memoria interna, conformando el sub-sistema de memoria del ordenador.


UNIDAD CENTRAL DE PROCESO

ARQUITECTURA DEL CPU

Los bloques funcionales básicos son: la unidad de procesamiento central (CPU), la memoria principal, y el procesador de Entrada - Salida.
Unidad de proceso central: esta es la responsable de la interpretación y ejecución de instrucciones contenidas en la memoria principal, las comunicaciones entre la CPU y la memoria principal se realizan a través de 2 canales funcionalmente distintos: el de direcciones y el de datos.
Para introducir en la memoria, una instrucción especifica, la CPU envía a dicha memoria la dirección de la instrucción por el canal de direcciones y recibe por el mismo medio la instrucción que está en esa dirección.
Parte de la instrucción es utilizada por la CPU para identificar la operación. Esta parte se llama código de operación de la instrucción. La información restante se utiliza para determinar la o las localidades de los datos con los cuales se va a efectuar la operación.
La acción de leer una instrucción en la CPU y prepararla para su ejecución se denomina ciclo de búsqueda. Para completar una instrucción la CPU decodifica el código de operación, genera las señales de control que se necesitan para introducir los operandos requeridos y controla la ejecución de la instrucción.
Por ejemplo, suponiendo que la operación especificada consiste en sumar 2 números requeridos en 2 registros de la CPU y almacenar el resultado en un tercer registro de la CPU. Para efectuar esta instrucción, la CPU identificará los 2 registros y generará las señales de control adecuados para conectar los registros a la unidad de Aritmética y Lógica (ULA).
La CPU también haría que la ULA funcione como sumadora y dirija la salida hacia el tercer registro. El proceso de realización que especifica una función se denomina ciclo de ejecución.
Los nombres ciclos de búsqueda y ciclos de ejecución derivan de la naturaleza cíclica de la operación de la computadora una vez que esta empieza a funcionar repite los ciclos de búsqueda y ejecución de manera continua. Para hacer referencia a cada ciclo suele utilizar el termino ciclo de maquina.
La CPU puede dividirse funcionalmente en 3 subunidades, la unidad de control, dedicada a los ciclos de búsqueda y ejecución, la ULA que desempeña funciones aritméticas como por ejemplo, suma y resta, de lógica por ejemplo AND, OR y un conjunto de registros dedicados al almacenamiento de datos en la CPU y a ciertas funciones de control.
Registro e instrucciones de la CPU
Registros
Instrucciones
Aritmética y Lógica
Movimientos
de datos
Operaciones de datos en bloque
Instrucciones de control de programa
Instrucciones Instrucciones de Entrada-Salida
La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.
Dentro del conjunto básico de registros de control se deben incluir a los siguientes:
  • Contador de programa (PC).
  • Registro de direcciones de la memoria (MAR).
  • Registro de datos (RD).
  • Registro de instrucciones (ER).
  • Palabra de estado de programa (PSW).
  • (PC): La función del PC consiste en seguir la pista de la instrucción por buscar (capturar) en el siguiente ciclo de maquina, por lo tanto contiene la dirección de la siguiente instrucción por ejecutar. El PC es modificado dentro del ciclo de búsqueda de la instrucción actual mediante la suma de una constante. El numero que se agrega al PC es la longitud de una instrucción en palabras.
  • Por lo tanto, si una instrucción tiene una palabra de longitud se agrega 1 al PC, si una instrucción tiene dos palabras de largo se agrega 2, y así sucesivamente.
  • Registro de direcciones de la memoria (MAR): funciona como registro de enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la dirección es colocada en el MAR por la unidad de control y ahí permanece hasta que se completa la transacción. El numero de bit que hay en el MAR es igual al del canal de direcciones.
  • La diferencia que existe entre el PC y el MAR es que durante el ciclo de ejecución de una instrucción, el PC y el MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones de la maquina hacen referencia a la memoria y operan con los datos que están en ella. Como la dirección de los datos suele ser diferente de la instrucción siguiente se necesita el MAR.
  • Registro de datos: la función del RD consiste en proporcionar un área de almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones (obtenidos en el ciclo de ejecución) o datos del operando (obtenidos en el ciclo de ejecución). Debido a su conexión directa con el canal de datos el RD contiene el mismo numero de bit que dicho canal.
  • Registro de instrucciones (ER): es un registro que conserva el código de operación de la instrucción en todo el ciclo de la maquina. El código es empleado por la unidad de control de la CPU para generar las señales apropiadas que controla le ejecución de la instrucción. La longitud del ER es la longitud en bit del código de operación.
  • Palabra de estado de programa (PSW): la palabra de estado o condición de programa almacena información pertinente sobre el programa que este ejecutándose. Por ejemplo al completarse una función de la unidad aritmética lógica se modifica un conjunto de bit llamados códigos (o señales de condición). Estos bit especifican si el resultado de una operación aritmética fue 0 o negativo o si el resultado se desbordó.
  • El programa puede verificar estos bit en las instrucciones siguientes cambiar en forma condicional su flujo de control según su valor.
    Además el PSW contiene bit que hacen posible que la computadora responda a solicitudes de servicio asincrónicas generadas por dispositivos de Entrada-Salida, o condiciones de error interno. Estas señales se denominan interrupciones.
    Los registros restantes que se pueden encontrar en un microprocesador son de uso general. Estos se utilizan para almacenar información en forma temporal. También retienen operandos que participan en operaciones de la ULA.
    Algunas veces el conjunto de instrucciones de la computadora y el esquema de direccionamiento de la arquitectura restringe el uso de alguno de estos registros.
    Si bien en todas las maquinas la información contenida en el registro puede manipularse como datos ordinarios durante la ejecución de algunas instrucciones los datos se utilizan en forma explícita para decidir una dirección de la memoria. La ventaja de usar registros para retener datos de operaciones es la velocidad.
    Tipo de instrucciones
    Las instrucciones pueden clasificarse en 5 categorías:
  • Instrucciones de aritmética y lógica.
  • Instrucciones de movimientos de datos.
  • Operaciones de datos en bloques.
  • Instrucciones de control del programa.
  • Instrucciones de Entrada - Salida.
  • Instrucciones de Aritmética y Lógica:
  • Entre ellas se encuentran operaciones binarias, las cuales requieren dos operandos y producen un resultado único. La suma, la resta, la multiplicación y división, son operaciones standard en la mayor parte de las maquinas con excepción de algunas mini-computadoras y microprocesadores. Las operaciones de lógica incluida en el conjunto de instrucciones son las operaciones AND, NAND, NOR, XAND, XOR.
    También dentro de las instrucciones de aritmética y lógica se encuentran las operaciones de desplazamiento y las de rotación.
  • Instrucciones de movimientos de datos:
  • Esta instrucción da por resultados la copia de datos desde una localidad de operando a otra; además del código de operación, estas instrucciones requieren información que identifique los operandos fuentes y destinos. En una computadora de uso general, los datos se pueden mover de:
    • Registro a registro 
    • Registro a memoria.
    • Memoria a registro.
    • Memoria a memoria.
  • Operaciones de datos en bloques:
  • Son aquellas que se efectúan con un conjunto de operandos y no con un solo operando. También dentro de esta instrucción se encuentra la de control del programa. Esto hace posible que un programa se adapte a la secuencia inherente al ciclo de maquina de la computadora. En otras palabras, se pueden pasar por alto secciones de instrucciones como resultado de la activación de un código de condiciones o como resultado directo del diseño del programa.
  • Instrucciones de control del programa
  • Instrucciones de Entrada - salida:
  • Desde el punto de vista de la programación para el acceso a la memoria o a un periférico simplemente se requiere el mismo conjunto de instrucciones. Estos sistemas se denominan sistemas de Entrada - Salida mapeados por memoria.
    La programación de un dispositivo en estos sistemas requiere el conocimiento de este dispositivo y sus características, aunque no se necesitan instrucciones especiales. El dispositivo se caracteriza como un conjunto de localidades de la memoria que se dividen en dos subcategorias: un conjunto de registro de estado de control y un registro de información.
    Registro de estado y control. Estos suelen contener información acerca del estado inactivo, ocupado, etc. En estos registros también se almacena información de control, como por ejemplo el tipo de paridad y la velocidad de transmisión de los datos.
    La información contenida en los registros de estado y control se utiliza principalmente para proporcionar una imagen global del hardware cuando este en el programa
    Registro de información: estos constituyen una memoria intermedia para la información que se transfiere entre la CPU y el periférico. En el caso de un dispositivo se transfieren datos sobre la base de carácter por carácter y suele haber solo dos registros. Uno que retiene datos de la CPU al dispositivo y otro que utilice datos del dispositivo a la CPU. Si la Entrada - Salida programada se realiza en un dispositivo unidireccional (solo transmite o solo recibe) entonces únicamente se necesitara un registro.
    Memoria
    Los grandes sistemas de computación suelen dar servicio a grandes cantidades de usuarios. Desde el punto de vista operativo la memoria es una de los principales elementos que componen nuestros sistemas.
    Un sistema operativo es un conjunto de programas que hace posible que el usuario de un sistema de computación tenga acceso controlado a sus recursos, entre esos recursos se encuentran, la CPU, la memoria y los dispositivos de Entrada - Salida. El sistema operativo asigna tiempo a la CPU, distribuye el espacio disponible en la memoria, asigna y controla dispositivos de Entrada - Salida, para cada usuario. Estas funciones se realizan en forma transparente, es decir que el programador escribe el programa como si todo el sistema de la computadora estuviere dedicado a ese programa. Para ofrecer algunas características del sistema operativo la arquitectura de la maquina debe poseer ciertas propiedades. Para comenzar la maquina debe tener por lo menos 2 modos de operación diferentes.
    Una forma, se denomina modo de supervisión y el otro modo del usuario.
    Cuando la maquina esta en modo del supervisor, la CPU puede ejecutar todas las instrucciones de la maquina. Este es el modo de operación en el cual corren los programas de los distintos sistemas operativos lo que le da un control del sistema. Todas las peticiones de servicio de los dispositivos periféricos pasan por el sistema operativo ya que las instrucciones de Entrada - Salida, solamente pueden emitirse cuando la maquina se encuentra en modo supervisor.
    En el modo usuario, la CPU no puede ejecutar todo el conjunto de instrucciones (en particular no se permite la ejecución de las instrucciones de control de la maquina y de Entrada - Salida.
    Organización de la memoria
    La memoria es un condensador que si retiene corriente es 1 y si no es 0, se necesita un condensador por bit.
    Por ejemplo 32 Mb es igual a 32000000 bytes o sea 32000000 * 8 condensadores.+ -
    Existen dos tipos de memoria: las memorias dinámicas y las memorias estáticas. Las memorias que se suelen usar en los sistemas informáticos (RAM) son dinámicas, quedando relegadas las estáticas a aplicaciones un tanto especiales como puede ser mantener datos en ellas después de haber desconectado el equipo y alimentando a estas a través de baterías.
    Las memorias estáticas presentan una serie de inconvenientes con respecto a las dinámicas; por ejemplo tienen una respuesta mas lenta que las dinámicas y es mas difícil su integración al necesitar mas electrónica para realizar la célula biestable que es encarga de generar el 0 o el 1 lógico correspondiente al bit.
    Otro problema lo constituye su mayor consumo, ya que su constitución interna es mas complicada que la de una memoria dinámica.
    Las memorias dinámicas son las mas generalizadas y constituyen el grueso de la RAM del ordenador. Poseen respecto a la mayoría de las memorias la ventaja de contar con una mayor velocidad, mayor capacidad de almacenamiento y un menor consumo. En contra partida, presentan el inconveniente de que precisan una electrónica especial para su utilización, la función de esta electrónica es generar el refresco de la memoria. La necesidad de los refrescos de las memorias dinámicas se debe al funcionamiento de las mismas, ya que este se basa en generar durante un tiempo la información que contiene. Transcurrido este lapso la señal que contenía la célula biestable se va perdiendo. Para que no ocurra esta perdida, es necesario que antes que transcurra el tiempo máximo que la memoria puede mantener la señal se realice una lectura del valor que tiene y se recargue la misma.
    Es preciso considerar que a cada bit de la memoria le corresponde un pequeño condensador al que le aplicamos una pequeña carga eléctrica y que mantienen durante un tiempo en función de la constante de descarga. Generalmente el refresco de memoria se realiza cíclicamente y cuando esta trabajando el DMA. El refresco de la memoria en modo normal esta a cargo del controlador del canal que también cumple la función de optimizar el tiempo requerido para la operación del refresco.
    Posiblemente, en mas de una ocasión en la computadora aparecen errores de paridad en la memoria debido a que las memorias que se están utilizando son de una velocidad inadecuada ya que las mismas se descargan antes de poder ser refrescadas.
    Distribución de la memoria
    La distribución de la memoria dentro de la computadora se suele denominar mapa de memoria y en el es posible observar en que zona se encuentran ubicados los registros y programas del sistema operativo. De acuerdo a la cantidad de bit que maneja el microprocesador es la capacidad máxima permitida que se puede direccionar en la maquina.
    Independientemente de esta disponibilidad de memoria el limite real de direccionamiento va a estar dado por el sistema operativo que se esta usando, por ejemplo el sistema operativo D.O.S. independientemente de la memoria instalada puede direccionar como área de trabajo 640 Kb.
    Dispositivos de Entrada - Salida
    Desde el punto de vista de un sistema de computación los dispositivos de Entrada-Salida solo comprenden uno de los cuatro componentes principales de una computadora, sin embargo las ramificaciones de Entrada-Salida extienden esta simple representación y pueden tratarse en varios niveles diferentes. Las propiedades físicas y eléctricas de los dispositivos, la interfaz o controlador con que interactúa el procesador central y el apoyo de software del sistema operativo en uso.
    La unidad de Entrada-Salida puede contar en realidad de muchas interfaces o controladores, incluir un procesador de Entrada - Salida de uso especial pero manejado por la CPU o ambas cosas.
    El problema de Entrada-Salida puede restringirse en general de las otras consideraciones lógicas y eléctricas en un sistema de computación porque requiere una reconversión en una o varias de las siguientes áreas:
    Velocidad: velocidad de transferencia de datos
    Lógica: formato de los datos, codificación.
    Eléctrica: niveles de señales, modalidad analogica-digital y digital-analogica.
    Física: funciones electromecánicas, ópticas, de audio, etc.
    Las operaciones de Entrada-Salida casi siempre requieren un cambio de velocidad para sincronizar la CPU con el dispositivo de Entrada-Salida. Esto impone restricciones tanto al hardware como al software. Por ejemplo el periférico mas conocido, la terminal de vídeo, típicamente puede actualizarse por medio de una línea de comunicaciones en serie, a una velocidad no mayor de 960 caracteres por segundo, una impresora matricial en la que intervienen componentes electromecánicos a 2000 caracteres por segundo. Sin embargo una CPU puede procesar instrucciones cientos o miles de veces mas rápido que esto. Además debe manejar múltiples dispositivos de Entrada-Salida en forma simultanea y realizar otras funciones de calculo en lugar a esperar a que se complete cada operación de Entrada-salida.
    En las transacciones de Entrada-salida siempre existen operaciones entre el CPU y el periférico y un apoyo de un protocolo lógico que a menudo implica comunicaciones de transferencia de datos sincronizados (solicitud y reconocimiento). La especificación y el diseño global del dispositivo influye en el formato lógico de los datos. Además, casi toda la Entrada-salida implica un cambio fundamental en la representación eléctrica o física de la información.
    Dentro de la computadora los datos y señales de control acostumbran a estar en la forma de niveles de voltaje o de acuerdo a una lógica dada.
    La operación de Entrada-salida a menudo implica una conversión entre analógico, mecánico, magnético, de audio u otra forma para almacenamiento, transmisión o exhibición de datos. Se considera el campo de Entrada-Salida desde 3 puntos de vista principales: hardware, software y diseño.
    Tipos y ejemplos de dispositivos
    Cuatro clases principales de técnicas se aplican comúnmente en forma individual o combinada para controlar la transferencia de datos de Entrada - Salida:
  • Entrada - Salida controlada por programa: el procesador supervisa todas las transferencias de Entrada - Salida a través de la iniciación de ordenes y la verificación del estado del dispositivo. Esta técnica se emplea en aplicaciones especializadas y diagnósticos de dispositivos. La Entrada - Salida por programa utiliza la interfaz de hardware en forma mas simple pero no aprovecha eficientemente los recursos.
  • Entrada - Salida por interrupciones: las funciones son iniciadas bajo el control del programa pero la sincronización se maneja por medio de solicitudes de interrupción al hardware y el dispositivo asociado interrumpe el servicio de rutinas. Se utilizan en aplicaciones de baja o media velocidad en un entorno especializado o de multiprocesamiento. La Entrada - Salida activada por interrupciones utiliza hardware de complejidad relativamente baja y permite el diseño de software eficiente.
  • Acceso directo a memoria (DMA): la transferencia de Entrada - Salida de un bloque de datos completo se establece bajo el control del programa y se implementa con hardware de uso especial que transfiere datos directamente hacia o desde la memoria principal. Esto ocurre sin mas intervención de la CPU en forma concurrente con la ejecución del programa. El DMA se utiliza en dispositivos de velocidad media o alta en forma muy eficiente pero requiere una interfaz de hardware mas completa. Entre los usos mas comunes se cuenta los controladores de cinta o disco magnético, enlace entre los procesadores y procesadores de gráficos de alta velocidad.
  • Entrada - Salida mapeada por direcciones: la transferencia de datos se realiza entre la CPU y la región lógica del espacio direccionable del programa, que en realidad es parte de un dispositivo de Entrada - Salida, tal como una pantalla de imágenes o un canal de direcciones en lugar de la memoria principal. Esta técnica permite tanto la manipulación del programa de datos como las transferencias directas entre el dispositivo de Entrada - Salida y el almacenamiento final de la información. La Entrada - Salida mapeada por direcciones es un mecanismo eficiente y transparente que se utiliza con dispositivos estructurados, no es una extensión del DMA sino una técnica alternativa para ciertas aplicaciones.
  • Estructuras de canales de Entrada - salida
    La configuración de Entrada - Salida es en términos generales la sección menos estandarizada de un sistema de computación, aunque solo puede disponerse de un numero pequeño de opciones del procesador, la selección del tipo y números de dispositivos de Entrada - Salida depende considerablemente de las aplicaciones. Además la configuración de Entrada - Salida tiende a cambiar conforme se desarrolla y expande el sistema.
    Es muy deseable poder agregar o desmontar dispositivos sin tener que volver a configurar la maquina básicamente minimizando al mismo tiempo el costo y la complejidad. El método fundamental para alcanzar estas metas es el diseño del hardware y de la modularidad de dicho diseño.
    El vehículo habitual para lograrla en el sistema de Entrada - salida es el canal de Entrada - Salida común.
    En este canal se interconectan dispositivos de Entrada - Salida, la CPU y la memoria principal y permite comunicaciones flexibles entre estas unidades. Las funciones principales del canal de Entrada - Salida hace posible que múltiples dispositivos:
  • Transfieren información por trayectorias de datos comunes compartiendo y reduciendo la complejidad del hardware.
  • Se agregan o desmontan dispositivos simplemente enchufando o desenchufando sus cables (plug and play).
  • Se enlace vía a un mecanismo, el canal de Entrada - Salida empleando especificaciones lógicas, eléctricas y físicas estandarizadas. Esta estandarización hace posible que familias enteras de computadoras con diverso nivel de rendimiento utilicen los mismos periféricos. Además, el diseñador de una interfaz del dispositivo de Entrada - Salida no necesita estar familiarizado con el diseño de la CPU, ni conocer con que maquina en particular va a funcionar la interfaz. Solo debe comprender las características del canal, cuyas especificaciones necesarias pueden clasificarse en 3 categorías:
  • Lógicas: definición y agrupación de señales relacionadas de polaridad lógica, por ejemplo: dirección, datos, control, sincronización, etc.
  • Eléctricas y físicas: niveles de señales, tipos de cables, conectores, etc.
  • Protocolo: reglas de uso del canal, tal como las relaciones de tiempo (temporización, sincronización, reconocimiento y arbitraje).
  • Organización lógicas y física del almacenamiento magnético
    Organización lógica

    Almacenamiento Magnético: el almacenamiento de datos sobre un medio magnético se realiza magnetizando el medio en el sentido u otro. Durante le lectura, cada cambio de estado magnético (transición) produce un pulso en la cabeza lectora, el sentido de la transición es irrelevante, lo que cuenta son los tiempos en que estas transiciones se producen . la técnica del registro se conoce como MFM (modulación en frecuencia modificada) esta es una mejora del método anterior (MF: modulación en frecuencia) que se aplicaba a dispositivos de simple densidad.
    En FM cada aproximadamente 4 milisegundos se considera una celda, que codifica un BIT.
    Los limites de las celdas están dados por transiciones fijas que sirven para sincronizar o la controladora con el medio leído (reloj). En medio de cada celda, una transición extra indica 1, y su ausencia un 0.
    Las características del medio imponen una restricción al tamaño de la celda y a la densidad de información grabada. El método MFM se basa en suprimir las transiciones del reloj. Excepto entre dos ceros. Como consecuencia , el tiempo entre transiciones equivale como mínimo a una celda completa . Las celdas pueden entonces hacerse en la mitad de tamaño que FM y por lo tanto lograr que la densidad de grabación sea doble.
    Sectorización: cada pista del disco almacena una cadena de Bit, que codifica información. Esta codificación incluye, además de los datos del usuario, información adicional que permite sincronizar la lectura y sectorizar la pista.
    Las pistas se dividen en un cierto numero de sectores sobre los cuales se reparte la información del usuario.
    La sincronización requerida para determinar el comienzo de la pista se obtiene por medio de una marca óptica llamada orificio de índex.
    Un fotosensor determina el momento en que pasa por un punto determinado, allí comienza la lectura de la pista. El comienzo de la pista contiene bytes de sincronización y a continuación uno tras otro los sectores que incluyen espacios sin información ni transiciones magnéticas. El acceso a un sector es en cierta manera secuencial.
    Una técnica alternativa que no se usa en los discos flexibles pero si en algunos rígidos es la sectorización dura. Además del índex, casa sector incluye 2 registros de información el de identificación y el de datos.
    El registro de identificación incluye una etiquete que indica a que pista y a que lado pertenece el sector, cual es su numero y a que lado pertenece el sector, cual es su numero y que longitud de datos tiene. El registro de datos contiene los datos específicamente narrados, en ambos contiene un par de bytes de control (CRC) permite verificar si ha habido corrupción en la información o error en la lectura.
    Posicionamiento: un sector de un floppy se caracteriza por 3 parámetros: pista, lado o cabeza y numero de sectores. Para acceder a un sector el dispositivo debe seleccionar la cabeza lectora que corresponda, trasladarla hasta la pista a leer y leer la pista hasta encontrar una etiqueta con la identificación del sector buscado.
    El posicionamiento de la cabeza lectora o grabadora se realiza mediante un motor paso a paso, durante el encendido de la maquina la posición de la cabeza es recalibrada, llevando la cabeza hasta la pista 0, lo que se determina mediante un sensor óptico o mecánico. Cuando el acceso debe hacerse sobre la pista N, la cabeza es avanzada o retrocedida la cantidad de pasos necesarios.
    ORGANIZACION LÓGICA DE LA INFORMACION
    La administración de un sistema de archivos depende de un delicado equilibrio: la consistencia de los datos que permiten acceder a la información contenida en los archivos.
    Cuando esa consistencia se pierde, la información aunque presente e inalterada se puede tornar irrecuperable. D.O.S. administra el acceso a un sistema de archivos de forma análoga a un sistema manual de índices y numeración de paginas.
    Area de sistema:

    La primera área a considerar es la tabla de partición, existe una por cada unidad lógica, en el primer sector de los mismos; en la primera unidad lógica comparte el sector con el código de Master Boot del disco. La tabla de partición incluye unos pocos datos fundamentalmente posición y tamaño de la partición (medidos en cilindros). Solo se altera durante operaciones tales como particionamiento o formateo del disco y no durante la operación normal.
    En el cilindro siguiente ala tabla de partición comienza el sector de boot y a continuación la tabla de alocación de archivos (FAT). Si bien en Nº de FAT es parametrizable los medios magnéticos incluyen uniformemente 2; uno principal y otro secundario, que deberían ser idénticos. La función de la copia secundaria es, exclusivamente la de un resguardo para el caso en que se presente un error de lectura de la tabla primaria.
    A continuación de ambas FAT se presenta el área del directorio raíz.
    Clusters:

    A los fines de organización todo disco se divide en pequeños elementos denominados clusters, cada uno de los cuales abarca 1 o mas sectores y que se consideran numerados correlativamente partiendo del comienzo del área de archivos del disco (es decir a continuación del área de sistemas).
    Es habitual el uso de clusters de 2 Kb., 4 sectores de 512 bytes.
    Un archivo D.O.S. toma una cantidad entera de clusters (si bien el ultimo esta ocupando solo parcialmente).
    No se requiere que los clusters de un archivo sean consecutivos; en rigor un archivo puede incluir clusters diseminados a lo largo del disco.
    El acceso a un archivo implica conocer esta secuencia de clusters que lo integran, y eventualmente alterarla para elongarlo o truncarlo; la información necesaria para ello se almacena en directorios y en la FAT.
    Directorio raíz:
    Es un área dividía en entradas de 32 bytes, cada una de las cuales corresponde a un archivo. El numero de entradas es variable (generalmente 512) y determina la extensión del directorio, que ocupa un numero entero de sectores. Cada entrada se divide en campos que contienen el nombre del archivo, sus atributos, fecha y hora de ultima modificación e información acerca de la localización del archivo.
    Subdirectorio: una clase especial de archivos son los subdirectorios. Si bien D.O.S. no permite accederlos de manera análoga a los archivos, el mismo los trata en forma similar.
    Un subdirectorio se diferencia de un archivo común por una marca de atributo, y su contenido se estructura en entradas, tal como ocurre con el directorio raíz.
    FAT
    Se trata de un mapa del disco, dividido en clusters. La FAT es un arreglo de tantas celdas como clusters integran el disco; en cada celda se almacena un puntero que indica que clusters sigue al correspondiente a la celda en la secuencia.
    Nótese que de ninguna manera se indican en la FAT a que archivo pertenece un clusters; simplemente se codifican cadenas.
    Supongamos que el primer clusters de un archivo es el 2033 (surge de la entrada de directorio que define el archivo). La posición 2033 de la FAT, a su vez contiene el valor 3854; esto indica que el archivo incluye los clusters 2033-3854..., en ese orden. Un valor de -1 (FFF o FFFF en hexadecimal) indica el fin de la cadena es decir, el ultimo clusters del archivo.
    El almacenamiento del archivo se deduce entonces partiendo de la entrada de directorio y recorriendo la secuencia codificada en la FAT.
    Naturalmente no todos los clusters pertenecen a algún archivo. Los clusters libres son marcados en la FAT con un 0.
    Clusters no ocupados, pero cuyo uso esta prohibido en general por corresponder en sectores defectuosos





    OPERACION DE LA UNIDAD ARITMETICO LOGICA
    


    ARQUITECTURA DEL ALU

    La UAL es un circuito digital que calcula las operaciones aritmética, adiccón, sustracción y operaciones lógicas como NOR,NOT,XNOR y otros números.


    Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU.


     REGISTROS ALU
    TIPOS DE INSTRUCCIONES
    Las instrucciones que puede ejecutar la computadora son de lenguaje máquina entre las cuales encontramos instrucciones de transferencias de datos, instrucción de ruptura, de secuencia, instrucciones aritméticas y lógicas, instrucciones declarativas.
    Las instrucciones que maneja la ALU son:
    • Banco de registros (BR): Está constituido por 8,16,32 o 64 registros de tipo gral. que sirven para situar datos antes de cada operación, para almacenar datos intermdios en las operaciones y para las operaciones internas del procesador.

    • Circuitos operadores (CIROP): Compuesto por uno o varios circuitos electrónicos que realizan operaciones elementales aritméticas y lógicas (sumador, complementador, desplazador, etc..).

    • Registro de resultados (RR): Se trata de un registro especial, en el que se depositan los resultados que producen los circuitos operadores.

    • Señalizadores de estado (SE): Registro con un conjunto de biestables en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada.


     REPRESENTACIÓN INTERNA ALU


    La ALU es un bloque fundamental de la unidad central de procesamiento de una computadora, y aún el más simple microprocesador contiene uno.
    Un tipico simbolo de ALU A&B son los datos de entrada (registros), R es el dispositivo de salida, F son las instrucciones de la unidad de control, D es un status de salida

    La sección de almacenamiento primario (también llamado almacenamiento interno, almacenamiento principal, memoria principal) sirve para los siguientes propósitos:
    • Mantiene la transferencia de datos de un dispositivo I/O hacia el área de almacenamiento, donde permanecen hasta que la computadora está lista para procesarlos.
    • Mantiene el procesamiento de los datos y el intermediar los resultados de las operaciones aritméticas lógicas.

    • Mantiene el procesamiento de los resultados en el área de salida de almacenamiento para transferirlo a un dispositivo I/O.

    SUMA Y REGISTRO ALU

    La suma y la resta son operaciones de 2 palabras de un bit de las que se obtiene una suma y un carry.

    Si sumamos números decimales es común la expresión "cinco más siete el igual a doce, entonces son dos y llevo uno". Este "Llevo uno" se conoce como el acarreo, de la misma manera se realiza una suma binaria de varios bits.

    La resta se lleva de manera similar en números decimales y binarios. Si en la suma existe el acareo, en la resta existe el "prestámo" , igual que en decimales.


    . MULTIPLICACION Y DIVISION ALU

    La multiplicación se puede calcular facilmente mediante un algoritmo de sumas y desplazamientos, si el multiplicando es de n bits y el multiplicador de m, entonces el productos es de n+m bits. La multiplicación en binario se trata de multiplicar por "1" ó por "0".

    Podemos expresar la división como: dividendo=cociente por divisor+resto. El resto es más pequeño que el divisor y hay que reservar el doble de espacio de éste para el dividendo.

    OPERACIONES LÓGICAS ALU

    • AND: Realiza la función boolena de producto lógico. Y

    • OR: Realiza la operación de suma lógica. O

    • XOR: O-Exclusiva

    • NOT: Realiza la función boolena de inversión o negación de una variable lógica.NO







    2 comentarios: