Memoria ISC
Memoria ISC
Memoria ISC
Es una unidad en la que se almacenen los datos, los resultados parciales y los
resultados finales del proceso. Cuando el sistema digital de proceso es
programable, además, han de memorizarse las instrucciones del proceso.
Una memoria es un dispositivo que puede mantenerse en por lo menos dos
estados estables por un cierto periodo de tiempo. Cada uno de estos estados
estables puede utilizarse para representar un bit. A un dispositivo con la
capacidad con la capacidad de almacenar por lo menos un bit se le conoce
como celda básica de memoria.
Un dispositivo de memoria completo se forma con varias celdas básicas y los
circuitos asociados para poder leer y escribir dichas celdas básicas, agrupadas
como localidades de memoria que permitan almacenar un grupo de N bits. El
número de bits que puede almacenar cada localidad de memoria es conocido
como el ancho de palabra de la memoria.
Tiene como entradas las n líneas del bus de direcciones y 2n líneas de
habilitación de localidad, cada correspondiente a una combinación binaria
distinta de los bits de direcciones. Por lo tanto, el número de localidades de
memoria disponible en un dispositivo se relaciona con el número de líneas de
dirección.
Memoria semiconductora: matriz de celdas que contiene 1 o 0, donde cada
celda se especifica por una dirección compuesta por su fila (ROW) y su
columna (COLUMN).
Proporciona una de las principales funciones de la computación moderna.
Interconectada a la unidad central de procesamiento (CPU), por las siglas en
ingles de Central Processing Unit) y los dispositivos de entrada y salida.
Es un dispositivo que puede mantenerse en por lo menos dos estados estables
por un cierto periodo de tiempo. Cada estado se utiliza para representar un bit.
A un dispositivo con la capacidad de almacenar por lo menos un bit se le
conoce como celda básica de memoria.
MEMORIA PRINCIPAL
MEMORIA CACHE
La memoria caché opera de modo similar a la Memoria Principal del CPU, pero
con mayor velocidad a pesar de ser de mucho menor tamaño. Su eficacia
provee al microprocesador de tiempo extra para acceder a los datos más
frecuentemente utilizados, sin tener que rastrearlos a su lugar de origen cada
vez que sean necesarios.
Así, esta memoria alterna se sitúa entre el CPU y la Memoria RAM (Random
Access Memory, o sea, Memoria de Acceso Aleatorio), y provee de un empuje
adicional en tiempo y ahorro de recursos al sistema. De allí su nombre, que en
inglés significa “escondite”.
Existen varios tipos de memoria caché, como los siguientes:
Caché de disco. Es una porción de memoria RAM asociada a un disco
particular, en donde se almacenan los datos de reciente acceso para
agilizar su carga.
Caché de pista. Similar a la RAM, este tipo de memoria caché sólida
empleada por supercomputadores es potente, pero costosa.
Caché de Web. Se ocupa de almacenar los datos de las páginas Web
recientemente visitadas, para agilizar su carga sucesiva y ahorrar ancho
de banda. Este tipo de caché a su vez puede funcionar para un solo
usuario (privada), varios usuarios a la vez (compartida) o en conjunto
para toda la red administrada por un servidor (en pasarela).
Manejo de la entrada/salida.
Módulos de entrada/salida.
• Los Dispositivos de Entrada:
Estos dispositivos permiten al usuario del computador introducir datos,
comandos y programas en el CPU. El dispositivo de entrada más común es un
teclado similar al de las máquinas de escribir. La información introducida con el
mismo, es transformada por el ordenador en modelos reconocibles. Los datos
se leen de los dispositivos de entrada y se almacenan en la memoria central o
interna. Los Dispositivos de Entrada, convierten la información en señales
eléctricas que se almacenan en la memoria central.
• Los Dispositivos de Salida:
Estos dispositivos permiten al usuario ver los resultados de los cálculos o de
las manipulaciones de datos de la computadora. El dispositivo de salida más
común es la unidad de visualización (VDU, acrónimo de Video Display Unit),
que consiste en un monitor que presenta los caracteres y gráficos en una
pantalla similar a la del televisor.
Manejo de los Dispositivos de E/S.
En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos
términos:
Buffering (uso de memoria intermedia).
El buffering trata de mantener ocupados tanto la CPU como los dispositivos de
E/S. La idea es sencilla, los datos se leen y se almacenan en un buffer, una vez
que los datos se han leído y la CPU va a iniciar inmediatamente la operación
con ellos, el dispositivo de entrada es instruido para iniciar inmediatamente la
siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados.
Cuando la CPU esté libre para el siguiente grupo de datos, el dispositivo de
entrada habrá terminado de leerlos. La CPU podrá empezar el proceso de los
últimos datos leídos, mientras el dispositivo de entrada iniciará la lectura de los
datos siguientes.
Para la salida, el proceso es análogo. En este caso los datos de salida se
descargan en otro buffer hasta que el dispositivo de salida pueda procesarlos.
Este sistema soluciona en forma parcial el problema de mantener ocupados
todo el tiempo la CPU y los dispositivos de E/S. Ya que todo depende del
tamaño del buffer y de la velocidad de procesamiento tanto de la CPU como de
los dispositivos de E/S.
Entrada/salida programada
El registro de datos cumple la misma función de los cestos de entrada y salida
en el PHC.
La entrada proveniente del periférico se transfiere a su modulo y de allí a un
registro acumulador bajo el control del programa.
Cada instrucción genera una sola entrada o salida, a este método se lo conoce
como entrada y salida programada.
Para reconocer los dispositivos individualmente puede usarse el campo de
direcciones de la instrucción, los cuales contienen las direcciones que
transfiere el bus, permitiéndole identificar dichas instrucciones de entrada y
salida que estén dirigidos a él como también las que no lo estén.
Lo módulos anteriormente mencionados tienen varias direcciones las cuales
representan un comando de control o solicitud de estado. Por ejemplo: el
campo de direcciones en las instrucciones input y output del PHC, podrían
servir para direccionar una combinación de 100 dispositivos.
Cabe recalcar que la entrada y salida programada es lenta, debido a que se
realiza un ciclo completo de instrucción captar ejecutar con todos los datos por
transferir.
Actualmente se emplea transferencias simples basadas en caracteres, por
ejemplo: la transmisión de comandos por medio de un módulo de entrada y
salida de red o modem.
La E/S programada tiene una aplicación importante basada en métodos
alternos que se sirven del módulo para controlar operaciones de entrada y
salida, empleando la memoria como sitio intermedio para transferir datos.
El acceso directo a memoria (DMA, direct memory access) permite a cierto tipo
de componentes de una computadora acceder a la memoria del sistema para
leer o escribir independientemente de la unidad central de procesamiento
(CPU). Muchos sistemas hardware utilizan DMA, incluyendo controladores de
unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una
característica esencial en todos los ordenadores modernos, ya que permite a
dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una
carga masiva de interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de
memoria de un dispositivo a otro. En lugar de que la CPU inicie la
transferencia, la transferencia se lleva a cabo por el controlador DMA. Un
ejemplo típico es mover un bloque de memoria desde una memoria externa a
una interna más rápida. Tal operación no ocupa al procesador y, por ende, éste
puede efectuar otras tareas. Las transferencias DMA son esenciales para
aumentar el rendimiento de aplicaciones que requieran muchos recursos.
Los sistemas de caché coherente implementan un método en el
hardware externo mediante el cual se escribe una señal en el
controlador de caché, la cual realiza una invalidación de la caché
para escritura de DMA o caché de descarga para lectura de DMA.
Los sistemas no-coherente dejan este software, donde el sistema
operativo debe asegurarse de que las líneas de caché se vacían
antes de que una transferencia de salida de DMA sea iniciada y
anulada antes de que una parte de la memoria sea afectada por una
transferencia entrante de DMA que se haya requerido. El sistema
operativo debe asegurarse de que esa parte de memoria no es
accedida por cualquier subproceso que se ejecute en ese instante.
Este último enfoque introduce cierta sobrecarga a la operación de
DMA, ya que la mayoría de hardware requiere un bucle para invalidar
cada línea de caché de forma individual.
Una operación de E/S por DMA se establece ejecutando una corta
rutina de inicialización. Consiste en varias instrucciones de salida
para asignar valores iniciales a:
AR: Dirección de memoria de la región de datos de E/S IOBUF (buffer
de entrada/salida).
WC: Número N de palabras de datos a transferir.
Una vez inicializado, el DMA procede a transferir datos entre IOBUF y el
dispositivo de E/S. Se realiza una transferencia cuando el dispositivo de
E/S solicite una operación de DMA a través de la línea de petición del
DMAC.
Durante las operaciones del DMA, el rendimiento del sistema puede verse
afectado debido a que este dispositivo hace un uso intensivo del bus y por
lo tanto la cpu no puede leer datos de memoria, por ejemplo, para leer la
siguiente instrucción a ejecutar. Esto provoca que mientras el DMA está
operando, la cpu deba esperar a que finalice dicha tarea sin ejecutar
ninguna instrucción. Para solventar esto, existe una memoria cache dentro
de la CPU que permite a ésta seguir trabajando mientras el DMA mantiene
ocupado el bus.