viernes, 5 de octubre de 2012

ENTRADAS (HENRY)



¿QUE ES MEMORIA?

Un componente indispensable de toda computadora es su memoria. Sin memoria no podría haber computadoras como las que conocemos. La memoria sirve para almacenar las instrucciones que se van a ejecutar, y también los datos. 


Jerarquía de Memorias.- 

Las restricciones de diseño de la memoria de un computador se pueden resumir en tres cuestiones ¿Cuánta capacidad? ¿Cómo de rápida? ¿De qué coste?

La cuestión del tamaño es un tema siempre abierto. Si se consigue hasta una cierta capacidad, probablemente se desarrollaran aplicaciones que la utilicen. La cuestión de la rapidez es, en cierto sentido, fácil de responder. Para conseguir las prestaciones óptimas, la memoria debe seguir a procesador. Es decir, cuando el procesador ejecuta instrucciones, no es deseable que tenga que detenerse a la espera de instrucciones o de operandos. La última de las cuestiones anteriores también debe tenerse en cuenta. En la práctica el coste de la memoria debe ser razonable con relación a los otros componentes.

Como es de esperar, existe un compromiso entre las tres características clave de coste, capacidad y tiempo de acceso. En un momento dado, se emplean diversas tecnologías para realizar los sistemas de memoria. En todo espectro de posibles tecnologías se cumplen las siguientes relaciones:

  • A menor tiempo de acceso, mayor coste por bit
  • A mayor capacidad, menor coste por bit
  • A mayor capacidad, mayor tiempo de acceso
El dilema con que se enfrentan los diseñadores está claro, se desearía utilizar tecnologías de memoria que proporcionen gran capacidad, tanto porque esta es necesaria como porque el coste por bit es bajo. Sin embargo, para satisfacer las prestaciones requeridas, el diseñador necesita utilizar memorias costosas, de capacidad relativamente baja y con tiempos de acceso reducidos.
 
La respuesta a este gran dilema es no contar con solo un componente de memoria, sino emplear una jerarquía de memoria 

Fig. 1 Jerarquía de Memoria

 Fuente: Stallings, William (1995). Organización y arquitectura de computadoras

Así pues, memorias más pequeñas, más costosas y más rápidas se complementan con otras más grandes, más económicas y más lentas. 


Registros.-

La mayoría de los registros en un computador digitar son registros de memoria, a los cuales se trasfiere la información para almacenamiento y de Ios cuales se obtiene la información necesaria para el procesamiento. 

Comparativamente se encuentran pocos registros operacionales en Ia unidad procesadora cuando se lleva a cabo el procesamiento de datos, la información de los registros seleccionado en la unidad de memoria se trasfiere primero a los registros operacionales en la unidad de memoria.

Los resultados intermedios y finales que se obtienen en los registros operacionales se trasfieren de nuevo a los registros de memoria seleccionados. De manera similar, la información binaria recibida de los elementos de entrada se almacena primero en los registros de memoria. La información trasferida a los elementos de salida se toma de los registros en la unidad de memoria

Fig. 2 Unidad de memoria



Fuente: Morris, Mano (1993). Arquitectura de computadoras


Memoria Principal.-

Son circuitos integrados capaces de almacenar información digital, a los que tiene acceso el microprocesador del equipo de computación.

La memoria real o principal es donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos, por lo general esta memoria es de mayor coto que la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso, solo la memoria cache es más rápida que la principal.

Memoria RAM:

Memoria de acceso aleatorio (Random Access Memory), existen dos variables de este tipo de memoria:


  • ·       RAM estática
  • ·       RAM dinámica 
h
SRAM (Static RAM) Diseñadas a base de flip-flops, son muy rápidas, un tiempo de acceso típico  es de unos cuantos nanosegundos. Por esta razón las SRAM son populares como caché de nivel 2. Estas memorias tienen la propiedad de que su contenido se conserva en tanto se sigue alimentando al circuito. 

DRAM (Dinamic RAM) en cambio, no usan flip-flops. En  vez de ello una RAM dinámica es una matriz de celdas. Cada una de las cuales contiene un transistor y un diminuto condensador. Los condensadores pueden cargarse o descargarse, lo que permite almacenar ceros y uno.

Puesto que la carga eléctrica tiende a fugarse, cada bit de una RAM dinámica debe refrescarse cada pocos milisegundos para evitar que los datos se pierdan. Puesto que el proceso de refresco corre a cargo de la lógica externa, estas memorias requieren interfaces más complejas que las estáticas, aunque en muchas aplicaciones esta desventaja se compensa por su mayor capacidad. 

Puesto que las RAM dinámicas solo necesitan un transistor y un condensador por bit (en comparación con seis transistores por bit para la mejor RAM estática), las RAM dinámicas tienen una densidad muy alta (muchos bits por chip). Por esta razón, las memorias principales casi siempre se construyen con RAM dinámicas. Sin embargo esta gran capacidad tiene un precio: Las RAM dinámicas son lentas (decenas de nanosegundos). La combinación de una caché de RAM estática y una memoria principal de RAM dinámica intenta combinar las propiedades ventajosas de cada una.

Fig. 3 Comparación de distintos tipos de memoria

 
Fuente: Tanenbaum, Andrew (2000). Organización de computadoras.


Memoria Cache.-

El objetivo de la memoria caché es lograr que la velocidad de la misma sea lo más rápida posible, consiguiendo al mismo tiempo un tamaño grande al precio de memorias semiconductoras menos costosas.

En la siguiente figura se puede observar una memoria principal relativamente  grande y lenta junto a una memoria caché pequeña y más rápida.

Fig. 4 Memoria caché y principal

  

 Fuente: Stallings, William (1995). Organización y arquitectura de computadoras

La cache contiene una copia de partes de la memoria principal. Cuando el procesador intenta leer una palabra de memoria, se hace una comprobación para determinar si la palabra está en la caché. Si es así, se entrega dicha palabra al procesador. Si no, un bloque de memoria principal consistente en un cierto número de palabras se transfiere a la caché y después a palabra es entregada al procesador. 

Debido al fenómeno de localidad de las referencias, cuando un bloque de datos es capturado por la caché para satisfacer una referencia a memoria simple, es probable que se hagan referencias futuras a la misma posición de memoria a otras palabras del mismo bloque. 

En la siguiente figura se puede observar la descripción de la estructura de un sistema de memoria caché/principal. La memoria principal consta de hasta  palabras direccionables, teniendo cada palabra una única dirección de n bits.

Esta memoria la consideramos dividida en un número de bloques de longitud fija, de K palabras por bloque. Es decir, hay M=(2^n)/K bloques. La caché consta de C líneas. Cada línea contiene K palabras, más una etiqueta de unos cuantos bits; denominándose tamaño de línea al número de palabras que hay en la línea.

Fig. 5 Estructura de memoria caché/principal
 

 Fuente: Stallings, William (1995). Organización y arquitectura de computadoras

Memoria Virtual.-



La memoria virtual es esencial para las computadoras actuales, la compartición no es la razón por la cual se invento la memoria virtual. Si antes un programa era demasiado grande para la memoria física incumbía al programador ajustarlo.
 
La memoria virtual, inventada para aligerar a los programadores de este peso, gestionaba automáticamente los dos niveles de jerarquía de memoria representada por la memoria principal y la secundaria.
 
La memoria virtual igual simplifica la carga del programa para su ejecución. Denominado reubicación este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.
 
Con la memoria virtual la CPU  produce direcciones virtuales que son traducidas por una combinación de Harvard y software a direcciones físicas, que pueden ser utilizadas para acceder a la memoria principal. Este proceso se denomina correspondencia de memoria o traducción de direcciones.
 
La memoria virtual controla dos niveles de la jerarquía de la memoria que son la DRAM y los discos magnéticos.

Fig. 6 Formación de una direccion de memoria principal a partir de una dirección virtual


 Fuente: Tanenbaum, Andrew (2000). Organización de computadoras.
  
Memorias Secundarias HD.-

Un ordenador digital representa toda la información usando el sistema binario. Texto, números, imágenes, sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits, o dígitos binarios, cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte, igual a 8 bits. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento es suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información. 

La memoria secundaria requiere que la CPU use sus canales de entrada/salida para acceder a la información y es usada para almacenamiento a largo plazo de información persistente. Aunque, la mayoría de los sistemas operativos usan los dispositivos de almacenamiento secundario como área de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. A la memoria secundaria también se le llama "almacenamiento masivo".

Habitualmente, la memoria secundaria o de almacenamiento masivo es de mucha mayor capacidad que la memoria primaria, pero también es mucho más lenta. El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro es de alrededor de unos pocas milésimas de segundo (milisegundos). En cambio, el tiempo que lleva acceder lo mismo en una memoria de acceso aleatorio se mide en mil-millonésimas de segundo (nanosegundos). Esto ilustra cuan significativa es la diferencia de velocidad que distingue la memoria principal de los dispositivos rotantes de almacenamiento magnético: Los discos duros son del orden de un millón de veces más lentos que la memoria. 

Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros, aunque es probable que sus velocidades de acceso mejoren a la par que los avances tecnológicos. Por lo tanto, el uso de la memoria virtual, que es cerca de millón de veces más lenta que memoria “verdadera”, ralentiza apreciablemente el funcionamiento de cualquier computadora. 

Muchos sistemas operativos implementan la memoria virtual usando términos como memoria virtual o "fichero de caché". La principal ventaja histórica de la memoria virtual era que era mucho más barata que la memoria real.

Algunas características de la memoria secundaria son:

  • ·    La memoria no volátil retendrá la información almacenada incluso si no recibe corriente eléctrica constantemente. 
  • ·       La memorias de solo lectura retiene la información almacenada en el momento de fabricarse y la memoria de escritura única (WORM) permite que la información se escriba una sola vez en algún momento tras la fabricación. También están las memorias inmutables, que se utilizan en memorias terciarias y fuera de línea. Un ejemplo son los CD-ROMs. 
  • ·       Las memorias de escritura lenta y lectura rápida es una memoria de lectura/escritura que permite que la información se reescriba múltiples veces pero con una velocidad de escritura mucho menor que la de lectura. Un ejemplo son los CD-RW. 
  • ·       En las memorias de sistema de archivos, la información se divide en Archivos informáticos de longitud variable y un fichero concreto se localiza en directorios y nombres de archivos legibles por humanos. El dispositivo subyacente sigue siendo de localización direccionable, pero el sistema operativo de la computadora proporciona la abstracción del sistema de archivos para que la operación sea más entendible. 
  Existen varios tipos de memorias secundarias:

 Memorias magnéticas:

Las memorias magnéticas usan diferentes patrones de magnetización sobre una superficie cubierta con una capa magnetizada para almacenar información. Las memorias magnéticas son no volátiles. Se llega a la información usando uno o más cabezales de lectura/escritura. Como el cabezal de lectura/escritura solo cubre una parte de la superficie, el almacenamiento magnético es de acceso secuencial y debe buscar, dar vueltas o las dos cosas. En computadoras modernas, la superficie magnética será de alguno de estos tipos:

  • Disquete
  • Disco Duro

Disquete:
Fig. 7 Disquete de 3,5" pulgadas






Un disco flexible o disquete es un dispositivo de almacenamiento de datos formado por una pieza circular de material magnético, fina y flexible (de ahí su denominación) encerrada en una carcasa de plástico cuadrada o rectangular. Los disquetes se leen y se escriben mediante una disquetera (o FDD, del inglés Floppy Disk Drive).

Actualmente este tipo de memoria ya no es utilizado debido a su poca capacidad.

Disco duro:
Fig. 8 Disco duro Maxtor de 1 GB abierto


 


Se llama disco duro (en inglés hard disk, abreviado con frecuencia HD o HDD) al dispositivo encargado de almacenar información de forma permanente en una computadora.
Si hablamos de disco rígido podemos citar a los distintos tipos de conexión que poseen los mismos con la placa madre, es decir pueden ser SATA, IDE o SCSI.

IDE:
Integrated Device Electronics, "Dispositivo con electrónica integrada") o ATA (Advanced Technology Attachment), controla los dispositivos de almacenamiento masivo de datos, como los discos duros y ATAPI (Advanced Technology Attachment Packet Interface) Hasta hace bien poco, el estándar principal por su versatilidad y relación calidad/precio.

SCSI:
Son discos duros de gran capacidad de almacenamiento (desde 5 GB hasta 23 GB). Se presentan bajo tres especificaciones: SCSI Estándar (Standard SCSI), SCSI Rápido (Fast SCSI) y SCSI Ancho-Rápido (Fast-Wide SCSI). Su tiempo medio de acceso puede llegar a 7 mseg y su velocidad de transmisión secuencial de información puede alcanzar teóricamente los 5 Mbps en los discos SCSI Estándares, los 10 Mbps en los discos SCSI Rápidos y los 20 Mbps en los discos SCSI Anchos-Rápidos (SCSI-2).

Un controlador SCSI puede manejar hasta 7 discos duros SCSI (o 7 periféricos SCSI) con conexión tipo margarita (daisy-chain). A diferencia de los discos IDE, pueden trabajar asincrónicamente con relación al microprocesador, lo que los vuelve más rápidos.

SATA:
Serial ATA. Nuevo estándar de conexión que utiliza un bus serie para la transmisión de datos. Notablemente más rápido y eficiente que IDE. En la actualidad hay dos versiones, SATA 1 de hasta 150 MB/s y SATA 2 de hasta 300 MB/s de velocidad de transferencia.
Dentro del disco se encuentran:
  • El Master Boot Record (en el sector de arranque), que contiene la tabla de particiones.
  • Las particiones, necesarias para poder colocar los sistemas de archivos.
Memorias de disco óptico:

Las memorias en disco óptico almacenan información usando agujeros minúsculos grabados con un láser en la superficie de un disco circular. La información se lee iluminando la superficie con un diodo láser y observando la reflexión. Los discos ópticos son no volátiles y de acceso secuencial. Los siguientes formatos son de uso común:

  CD-R:
 


Fig. 9 CD-R



Un CD-R es un formato de disco compacto grabable. Se pueden grabar en varias sesiones, sin embargo la información agregada no puede ser borrada ni sobrescrita, en su lugar se debe usar el espacio libre que dejó la sesión inmediatamente anterior.

Actualmente las grabadoras llegan a grabar CD-R a 52x, unos 7800 KB/s.
Para muchos ordenadores es difícil mantener esta tasa de grabación y por ello las grabadoras tienen sistemas que permiten retomar la grabación ante un corte en la llegada de datos.
La capacidad total de un CD-R suele ser:
  • 650 MB = 681,57 millones de bytes
  • 700 MB = 734 millones de bytes. El más común.
  • 800 MB = 838 millones de bytes.
  • 900 MB = 943 millones de bytes.

DVD:

Fig. 10 DVD


El DVD (también conocido como "Digital Versatile Disc" es un formato de almacenamiento óptico que puede ser usado para guardar datos. Se asemeja a los discos compactos en cuanto a sus dimensiones físicas (diámetro de 12 u 8 centímetros), pero están codificados en un formato distinto y a una densidad mucho mayor. 

Un DVD de capa simple puede guardar hasta 4,7 gigabytes según los fabricantes en base decimal y aproximadamente 4,377 gigabytes reales en base binaria o gibibytes (se le conoce como DVD-5), alrededor de siete veces más que un CD estándar. 

Blu-ray:
Fig. 11 BLU-RAY



Referencias Bibliográficas.-

Morris, Mano (1993). Arquitectura de computadoras. 3ra Ed., Prentice Hall.
Tanenbaum, Andrew (2000). Organización de computadoras. 4ta Ed., Prentice Hall.
Stallings, William (1995). Organización y arquitectura de computadoras. 4ta Ed., Limusa S.A.
Ujaldón, Manuel (2003). Arquitectura del PC. 2da Ed., Ciencia-3, S.L.
Patterson, David (2000). Estructura y diseño de computadoras. 2da Ed., Reverteré S.A.Universidad Tecnológica Nacional. Arquitectura de una computadora., Fundamentos de Informática.




UNIDAD CENTRAL DE PROCESAMIENTO

Buses.-

Un bus es un camino de comunicación entre dos o más dispositivos. Una característica clave de un bus es que se trata de un medio de transmisión compartido. Al bus se conectan varios dispositivos, y cualquier señal transmitida por uno de esos dispositivos está disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Si dos dispositivos transmiten durante el mismo periodo de tiempo, sus señales pueden solaparse y distorsionarse. Consiguientemente, solo un dispositivo puede transmitir con éxito en  un momento dado.
Usualmente, un bus está constituido por varios caminos de comunicación, o líneas. Cada línea es capaz de transmitir señales binarias representadas por 1 y por 0. En un intervalo de tiempo, se puede transmitir una secuencia de dígitos binarios a través de una única línea. Se pueden utilizar varias líneas del bus para transmitir dígitos binarios simultáneamente (en paralelo). Por ejemplo un dato de 8 bits puede transmitirse mediante ocho líneas del bus.   

Fig. 12 Esquema de interconexión mediante un bus



             Fuente: Stallings, William (1995). Organización y arquitectura de computadoras

Tipos de buses.-

Bus paralelo: En este tipo de bus, los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. Este tipo de bus es usado en el procesador, en discos duros, tarjetas de expansión y de video, hasta las impresoras  

Los buses agrupan líneas de tres clases:

  • Las líneas de dirección: Son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.

  • Las líneas de control: Son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado  
  • Las líneas de datos: Transmiten los bits, de manera que por lo general un bus tiene un ancho que es potencia de 2.
     
 
Bus serie: En este tipo de bus, los datos son enviados bit a bit y se reconstruyen por medio de registros o rutinas de software. Ésta formada por pocos conductores y su ancho de banda depende de la frecuencia. Es usado en buses para discos duros, tarjetas de expansión y para el bus del procesador

Unidad central de procesamiento.- 

Es el cerebro de la computadora, su función es ejecutar programas almacenados en la memoria principal buscando sus instrucciones y examinándolas para después ejecutarlas unas con otras. Los componentes están conectados por un bus, que es una colección de alambres paralelos para transmitir direcciones, datos y señales de control. Los buses pueden ser externos a la CPU, cuando la conectan a la memoria y a los dispositivos de E/S, pero también internos. 

La CPU se compone de varias partes. La unidad de control se encarga de buscar instrucciones de la memoria principal y determinar su tipo. La unidad aritmética lógica realiza operaciones como suma y AND booleano necesarias para ejecutar las instrucciones.

La CPU también contiene una memoria pequeña y de alta velocidad que sirve para almacenar resultados temporales y cierta información de control. Esta memoria se compone de varios registros, cada uno de los cuales tiene cierto tamaño y función. Por lo regular, todos los registros tienen el mismo tamaño. Cada registro puede contener un número, hasta algún máximo determinado por el tamaño del registro. Los registros pueden leerse y escribirse a alta velocidad porque están dentro la CPU.

El registro más importante es el contador de programa (PC, Program Counter), que apunta a la siguiente instrucción que debe buscarse para ejecutarse, otro registro importante es el registro de instrucciones (IR, Instruction register), que contiene la instrucción que se está ejecutando.

Fig. 13 Organización de una computadora sencilla con una CPU y dos dispositivos de E/S

 

Fuente: Tanenbaum, Andrew (2000). Organización de computadoras
 


Unidad de aritmética y lógica.-

La ALU es la parte del computador que realiza realmente las operaciones aritméticas y lógicas con los datos. El resto de los elementos del computador (unidad de control, registros, memoria, E/S) están principalmente para suministrar datos a la ALU, a fin de que esta los procese y para recuperar los resultados. Con la ALU llegamos al estudio de lo que puede considerarse el núcleo o esencia del computador.

Una unidad aritmético-lógica y en realidad todos los computadores electrónicos del computador se basan en el uso de dispositivos lógicos digitales sencillos que pueden almacenar dígitos binarios y realizar operaciones lógicas booleanas elementales. 

Fig. 14 Entradas y salidas de la ALU



  Fuente: Stallings, William (1995). Organización y arquitectura de computadoras.

 Unidad de control.-

Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad. Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las micro programadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de la unidad de control se encuentra almacenada en una micro memoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las micro instrucciones.

Las señales de control generadas por la unidad de control causan la apertura y el cierre de ciertas puertas lógicas, lo que da como resultado una transferencia de datos hacia, o desde los registros, y una operación de la ALU

Sistemas de E/S.-

Las operaciones de E/S se llevan a cabo a través de un amplio conjunto de dispositivos externos que proveen los medios para intercambiar datos entre el ambiente externo y la computadora.  Un dispositivo externo conectado a un módulo de E/S es referido como un dispositivo PERIFÉRICO.

 Se dividen en tres categorías: 

  • Legibles por el humano: usados para la comunicación con el usuario, como por ejemplo la impresora, el teclado, el mouse, etc.

  • Legibles por la máquina: usados para la comunicación con el equipamiento electrónico, por ejemplo los discos magnéticos, sensores, actuadores, etc.

  • Comunicación: usados para la comunicación con dispositivos remotos, como por ejemplo un módem

Las operaciones de E/S y el procesamiento son las dos tareas principales de un computador.
Para los diseñadores de SO, el control de los dispositivos conectados a la computadora es de primordial interés, debido a que cada dispositivo cambia sus funciones y velocidad por lo cual se requiere variedad de métodos para controlarlos. 

Estos métodos de E/S  forman el subsistema de E/S del kernel, el cual aisla al resto del kernel de la complejidad de la administración de los dispositivos de E/S.

DMA:

Los periféricos con frecuencia necesitan contar con "memoria prestada" del sistema, la cual utilizarán como búfer. Este búfer será un área de almacenamiento temporal que permite que se escriban rápidamente datos de entrada y salida. 

Para afrontar esta necesidad, se definió un canal de acceso directo a la memoria denominado DMA (Direct Memory Access por sus siglas en inglés). 

El canal DMA es un acceso a una ubicación RAM en el ordenador, al que una "Dirección de Inicio RAM" y una "Dirección de Fin" hacen referencia. Este método permite que un periférico utilice canales especiales que le den acceso directo a la memoria, sin involucrar al microprocesador. Esto permite que el microprocesador se libere de la necesidad de hacer este trabajo. 

Un ordenador tipo PC cuenta con 8 canales DMA. Los primeros cuatro canales DMA poseen 8 bits mientras que los DMA que van del cuarto al séptimo poseen 16 bits.
Normalmente, los canales DMA se asignan de la siguiente manera: 


  • DMA0 - libre
  • DMA1 - (tarjeta de sonido)/ libre
  • DMA2 - controlador de disquetes
  • DMA3 - puerto paralelo (puerto de la impresora)
  • DMA4 - controlador del acceso directo a la memoria (redirigido a DMA0)
  • DMA5 - (tarjeta de sonido)/ libre
  • DMA6 - (SCSI)/ libre
  • DMA7 - disponible
 
Entrada controlada por CPU IRQ.-
 
Debido a que el procesador no puede procesar múltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una alternancia de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentáneamente un programa que se estaba ejecutando mediante una interrupción que dure el tiempo que lleva una rutina de servicios de interrupción. Luego, el programa interrumpido puede continuar ejecutándose. Existen 256 direcciones de interrupción diferentes. 

Una interrupción se realiza cuando un componente del hardware del ordenador requiere la interrupción del hardware. Un ordenador posee muchos periféricos. Generalmente, necesitan utilizar recursos del sistema, aunque sólo sea para comunicarse con éste.

Cuando necesitan un recurso, envían una petición de interrupción al sistema para que éste les preste atención. Cada periférico cuenta con un número de interrupción llamado IRQ (Interruption request [Petición de interrupción]).

E/S mapeada en memoria.-

La ventaja de usar E/S mapeadas en memoria es, dejando a un lado la complejidad extra que conlleva la E/S independiente, que la CPU requiere menos lógica interna y es más barata, rápida y fácil de construir; esto sigue los principios básicos de RISC, y es también ventajoso en sistemas embebidos. 

El hecho de que instrucciones regulares de memoria sean usadas para direccionar dispositivos también significa que todos los modos de direccionamiento de la CPU que están disponibles para E/S lo estén también para memoria. Ya que los periféricos de 16 bits han quedado anticuados y han sido sustituidos por los de 32 y 64 bits, reservar rangos del espacio de direcciones para E/S no supone un gran problema.
  • El sistema dispone de un único espacio de direcciones
  • La CPU no dispone de líneas de control especiales ni instrucciones para realizar las operaciones de E/S
  • Los registros del controlador son listos como posiciones de memoria
      
    Referencias Bibliográficas.- 

    Tanenbaum, Andrew (2000). Organización de computadoras. 4ta Ed., Prentice Hall. 
    Stallings, William (1995). Organización y arquitectura de computadoras. 4ta Ed., Limusa S.A.
    Ujaldón, Manuel (2003). Arquitectura del PC. 2da Ed., Ciencia-3, S.L.
    Patterson, David (2000). Estructura y diseño de computadoras. 2da Ed., Reverteré S.A.
     




No hay comentarios:

Publicar un comentario