¿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
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.
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.
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:
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.
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:
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 memoriaReferencias 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