El documento describe los diferentes tipos de direcciones de memoria involucradas en el manejo de memoria, incluyendo direcciones físicas, lógicas y lineales. También describe la unidad de manejo de memoria (MMU), que convierte las direcciones lógicas en direcciones físicas y controla los permisos de acceso a la memoria. Además, explica brevemente el funcionamiento de los registros de gestión de memoria durante la ejecución de una instrucción.
1. Los espacios de direcciones involucrados en el manejo de la
memoria son de tres tipos:
1. Direcciones físicas: son aquellas que referencian alguna
posición en la memoria física.
2. Direcciones lógicas : son las direcciones utilizadas por los
procesos. Sufren una serie de transformaciones , realizadas
por el procesador (la MMU), antes de convertirse en
direcciones físicas.
3. Direcciones lineales: direcciones lineales se obtienen a
partir de direcciones logicas tras haber aplicado una
transformación dependiente de la arquitectura.
Los programas de usuario siempre tratan con direcciones
virtuales ; nunca ven las direcciones fisicas reales..
2. Unidad De Manejo De Memoria
La unidad de manejo de memoria (MMU) es parte del
procesador.
Sus funciones son:
1. Convertir las direcciones lógicas emitidas por los procesos
en direcciones físicas.
2. Comprobar que la conversión se puede realizar. La
dirección lógica podría no tener un dirección física
asociada. Por ejemplo, la pagina correspondiente a una
dirección se puede haber trasladado a una zona de
almacenamiento secundario temporalmente.
3. Comprobar que el proceso que intenta acceder a una cierta
direccion de memoria tiene permisos para ello.
3. Una unidad de memoria almacena información binaria en
grupos llamados palabras (Un bit es la unidad mínima de
información y una agrupación de bits es una palabra, las
longitudes actuales son de 8, 16, 32 o 64 bits por palabra),
cada palabra se almacena en un registro de memoria. Una
palabra puede representar un operando, una instrucción, o
cualquier información codificada binariamente.
La comunicación entre una unidad de memoria y lo que la
rodea se logra por medio de dos señales de control y dos
registros externos. Las señales especifican la dirección de la
trasferencia requerida, esto es, cuando una palabra debe ser
acumulada en un registro de memoria o cuando una palabra
almacenada previamente debe ser transferida hacia afuera
del registro de memoria. Un registro externo especifica el
registro de memoria particular escogido entre los miles
disponibles; el otro especifica la configuración e bits particular
de la palabra en cuestión.
4. REGISTROS DE GESTION DE MEMORIA
SEGUIMIENTO DE UNA BUS DE DIRECCIONES
INSTRUCCIÓN MEMORIA
M
instrucción A
R
MBR
14 100 201 400
ALU UC
RELOJ PC
Op-1 Op-2
Circuitos RI
Decodificador
Secuenciador
BUS DE DATOS
5. Iniciamos cuando el PC tiene la dirección 95, la cual está cargando la
siguiente instrucción: 14, 100,201,400.
1. La dirección de PC se pasa a MAR mediante una orden generada
por UC y el contenido de la celda de memoria de MAR se pasa a
MBR (B.Dir.).
• Ha tenido lugar el 1er. Ciclo de la lectura.
2. El contenido de la celda 95, ahora almacenado en el MBR, es
enviado a RI de la UC (B.Datos)
3. El decodificador analiza el CO y determina de qué instrucción se
trata (en este caso de una suma).
4. El contador de PC se incrementa para comenzar el proceso de la
siguiente instrucción.
5. La dirección del primer operando se carga en MAR desde el RI
(B.Dir.)
• La UC envía una orden de lectura y el contenido de la posición
100 se almacena en MBR.
•Ha tenido lugar el segundo ciclo de lectura.
6. 6. La UC ordena la transferencia del operando que está en MBR al
primer registro de ALU (B.Datos)
7. Desde el RI se transmite la dirección del segundo operando a MAR
(B.Dir.)
La UC envía una orden de lectura y el contenido de la posición 201 se
almacena en MBR.
• Ha tenido lugar el tercer ciclo de lectura.
1. La UC ordena la transferencia del operando que esta en MBR al
segundo registro de ALU (B.Datos)
2. La UC ordena a ALU que puede realizar la instrucción.
10. El resultado se almacena temporalmente en un acumulador y
después se envía a MBR (B.Datos)
11.Desde RI se transmite la dir. Para almacenar el resultado a MAR (B.
Dir.)
12. El valor de la celda de MBR se almacen en la dirección señalada
por MAR (el dato anterior se destruye).
• Ha tenido lugar el cuarto ciclo de lectura.
7. CPU Main Memory
• 0
MAR •
• 1
PC 2
MBR •
Instrucción •
•
Instrucción
RI Instrucción
MAR I/O •
•
Excecution Unit
•
MBRI/O Data
Data
Data
I/O Module Data
• n-2
•
•
Datos n-1
•
•
•
Buffers
MAR I/O = Registro de direcciones de E/S
MBR I/O = Registro intermedio de E/S
Componentes de una computadora.
8. BUFFER
Espacio reservado de la memoria en la que los datos son
mantenidos temporalmente hasta tener la oportunidad de tener que
transferir hacia o desde un dispositivo de almacenamiento u otra
ubicación en la memoria.
• Área de almacenamiento temporal en RAM con posiciones
consecutivas. El objetivo de la mayor parte del buffer es actuar
como un área propia, necesita el permiso del CPU antes de la
transferencia de datos a un dispositivos.
• Como la lectura y la escritura de datos a disco es relativamente
lenta, muchos programas almacenan la información de los cambios
dentro de un buffer y luego la copian a un disco.