Galería de mapas mentales Capítulo 3 Sistema de almacenamiento
Este es un mapa mental sobre el Capítulo 3 Sistema de almacenamiento, que incluye descripción general de la memoria, memoria principal, conexión entre la memoria principal y la CPU, memoria externa, etc.
Editado a las 2024-01-16 15:52:21,Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
Capítulo 3 Sistema de almacenamiento
Sistema de almacenamiento
Descripción general de la memoria
Clasificación de la memoria
Clasificación de funciones (niveles)
memoria principal
memoria auxiliar
memoria caché
Clasificación del método de acceso.
Memoria de acceso aleatorio (RAM)
Memoria de sólo lectura (ROM)
memoria de acceso serie
Memoria de acceso secuencial (SAM) (como cinta)
Memoria de acceso directo (DAM) (como disco, CD)
clasificación de preservación de información
memoria volatil
memoria no volátil
Indicadores de rendimiento de la memoria
almacenamiento
costo unitario
Velocidad de almacenamiento
Sistema de almacenamiento multinivel
La información en cada nivel de la memoria es una relación inclusiva.
Capa de memoria caché-principal
Resuelve principalmente el problema de la discrepancia en la velocidad de la CPU y la memoria principal.
La transferencia de datos entre la memoria principal y la caché se completa automáticamente mediante hardware y es transparente para todos los programadores.
Capa de memoria principal-memoria auxiliar
Resuelve principalmente el problema de capacidad del sistema de almacenamiento.
La transferencia de datos entre la memoria principal y la memoria auxiliar la completan el hardware y el sistema operativo, y es transparente para el programador de aplicaciones.
En la capa de memoria caché-principal y en la capa de memoria principal y memoria auxiliar, los contenidos de la capa superior son solo copias de los contenidos de la siguiente capa, es decir, los contenidos de la caché (o memoria principal) son solo memoria principal ( o memoria auxiliar).
Almacenamiento de datos en la memoria principal.
La memoria principal generalmente se direcciona byte por byte. Tomando como ejemplo una computadora de 32 bits, se puede acceder a la memoria principal en bytes, medias palabras de 16 bits o palabras de 32 bits.
Alineación de límites de datos
En teoría, es posible comenzar desde cualquier dirección de byte, pero cuando una variable de varios bytes se distribuye en diferentes unidades de almacenamiento de palabras, acceder a la variable requiere múltiples ciclos de almacenamiento.
La llamada alineación de límites significa alineación de límites según el tamaño del tipo de datos. Las reglas específicas son las siguientes.
(1) Los últimos 3 bits de la dirección del byte inicial de datos de ocho bytes son 000 y la dirección es un múltiplo entero de 8. (2) Los dos bits más bajos de la dirección del byte inicial de datos de cuatro bytes son 00 y la dirección es un múltiplo entero de 4. (3) El bit más bajo de la dirección del byte inicial de los datos de doble byte es 0 y la dirección es un múltiplo entero de 2. (4) No hay problema de alineación de límites para datos de un solo byte (la memoria principal se direcciona por byte).
memoria principal
Chips SRAM y chips DRAM
Cómo funciona SRAM
El elemento de almacenamiento utiliza un flip-flop biestable (MOS de seis transistores)
lectura no destructiva
Cómo funciona la DRAM
Utilice la carga del condensador de compuerta en el circuito de la celda de memoria para almacenar información.
Método de actualización
Actualización centralizada
En un ciclo de actualización, se utiliza un período de tiempo fijo para regenerar todas las filas de la memoria una por una.
La ventaja es que las operaciones de lectura y escritura no se ven afectadas por el trabajo de actualización. La desventaja es que no se puede acceder a la memoria durante el período de actualización concentrada (zona muerta).
Actualización dispersa
El ciclo de acceso del chip de memoria es de 0,5 μs y el ciclo de acceso del sistema es de 1 μs.
El ciclo de trabajo del sistema de una memoria se divide en dos partes: La primera mitad se utiliza para lectura, escritura o retención normal. La segunda mitad es para refrescarse.
La ventaja es que no hay zona muerta. La desventaja es que alarga el ciclo de acceso al sistema y reduce la velocidad de toda la máquina.
Actualización asincrónica
La actualización asincrónica es una combinación de los dos primeros métodos. Puede acortar el "tiempo muerto" y aprovechar al máximo el intervalo de actualización máximo de 2 ms.
Divida el ciclo de actualización por el número de filas para obtener el intervalo de tiempo t entre dos operaciones de actualización y utilice un circuito lógico para generar una solicitud de actualización cada vez t.
Esto evita que la CPU espere continuamente durante demasiado tiempo y reduce la cantidad de actualizaciones, lo que mejora fundamentalmente la eficiencia del trabajo de toda la máquina.
Ciclo de lectura y escritura del chip DRAM
Comparación de SRAM y DRAM
Estructura interna del chip de memoria.
banco de memoria (matriz de memoria)
decodificador de direcciones
circuito de control de E/S
Señal de control de selección de chip
Señales de control de lectura/escritura
ROM
Características de la memoria de sólo lectura (ROM)
Tanto la ROM como la RAM admiten memoria de acceso aleatorio.
La estructura es simple, por lo que la densidad de bits es mayor que la de la memoria de lectura y escritura.
No es volátil y, por tanto, muy fiable.
tipo de ROM
rom en modo máscara
Memoria de sólo lectura programable una vez
memoria de sólo lectura programable y borrable
Memoria flash
Unidades de estado sólido (SSD)
Componentes básicos de la memoria principal.
Memoria multimódulo
Memoria única de varias palabras
La estructura de una única memoria de varias palabras es exactamente la misma que la del método de expansión de bits de memoria. En este método, varios módulos de memoria comparten el bus de direcciones y acceden a la misma unidad de diferentes módulos de memoria en paralelo según la misma dirección, logrando así. acceso a múltiples memorias en el mismo ciclo de memoria, si m módulos de almacenamiento funcionan al mismo tiempo, el ancho de banda de la memoria principal se puede aumentar m veces.
La tecnología de memoria multicanal más común que se utiliza actualmente en las computadoras es la tecnología de palabras múltiples de un solo cuerpo.
Lea m palabras en paralelo a la vez (el ancho del bus también es m palabras).
En un ciclo de acceso, se obtienen m instrucciones de la misma dirección y luego las instrucciones se envían a la CPU para su ejecución una por una. Es decir, cada ciclo de acceso de 1/m, la CPU obtiene una instrucción de la memoria principal.
Desventajas: las instrucciones y los datos deben almacenarse continuamente en la memoria principal. Una vez que se encuentra una instrucción de transferencia, o los operandos no se pueden almacenar continuamente, el efecto de este método no es obvio.
memoria paralela de cuerpos múltiples
Direccionamiento entrelazado de alto orden (modo secuencial)
El objetivo principal es ampliar la capacidad de la memoria, que es exactamente lo mismo que la ampliación de palabras de memoria.
Direccionamiento entrelazado de orden bajo (modo entrelazado)
La dirección más baja en el mismo cuerpo es la misma.
Conexión de memoria principal a CPU
Principio de conexión
Ampliación de la capacidad de la memoria principal.
método de extensión de bits
método de expansión de palabras
expansión simultánea del grafema
Asignación de direcciones y selección de chips de memoria.
Método de selección de línea
El método de selección de línea utiliza líneas de dirección de alto orden distintas del direccionamiento en chip para conectarse directamente (o mediante inversores) a los terminales de selección de chip de cada chip de memoria. Cuando la información de una determinada línea de dirección es "0", la correspondiente. Se selecciona la línea de dirección.
Desventajas: el espacio de direcciones no es continuo.
método de selección de chip decodificador
Se utilizan ocho chips de memoria de 8Kx8 bits para formar una memoria de 64Kx8 bits (la línea de dirección es de 16 bits y la línea de datos es de 8 bits), lo que requiere 8 señales de selección de chip.
Si se utiliza el método de selección de línea, excepto la línea de dirección de 13 bits para el direccionamiento en chip, solo quedan los 3 bits superiores, lo que no es suficiente para generar 8 señales de selección de chip.
Conexión de memoria a CPU
Selección razonable de chips de memoria.
Conexión de línea de dirección
El número de líneas de dirección de la CPU suele ser mayor que el número de líneas de dirección del chip de memoria. Por lo general, el bit bajo de la línea de dirección de la CPU está conectado a la línea de dirección del chip de memoria. Puedes esperar.
Conexión de cable de datos
Cuando no son iguales, el chip de memoria debe expandirse para que el número de bits de datos sea igual al número de líneas de datos de la CPU. Debe ser igual.
Conexiones de línea de comando de lectura/escritura
Conexión de línea de selección de chip
La señal válida de selección de chip está relacionada con la señal de control de acceso a la memoria de la CPU MREO (nivel bajo activo).
Si la CPU accede a E/S, MREO es alto, lo que indica que no se requiere trabajo de memoria.
Las líneas de control del chip SRAM incluyen señales de selección de chip y líneas de control de lectura y escritura.
La DRAM no tiene una línea de control de selección de chip. Al ampliar la capacidad, se pueden utilizar RAS y CAS para controlar la selección de chip.
memoria externa
almacenamiento de disco
Componentes del dispositivo de disco
Composición de almacenamiento en disco duro
Disco duro
La unidad de disco también se denomina máquina de disco. Su función principal es utilizar señales eléctricas para impulsar el plato del disco para completar las operaciones magnéticas. Consta de tres partes: unidad de husillo, unidad de posicionamiento y control de datos.
controlador de disco
La función principal es recibir operaciones de disco desde el host, implementar el control de la unidad e implementar el control de lectura/escritura. El hardware se compone principalmente de la interfaz del host, el circuito de control de la interfaz del dispositivo, el búfer de datos, el circuito de control de datos, el circuito de separación de datos, etc.
plato
La función principal es almacenar datos. Los discos duros suelen tener varios platos, todos fijados en el eje. Todos utilizan una rotación uniforme durante el funcionamiento, por lo que la densidad de grabación de la pista interior es mayor que la densidad de grabación de la pista exterior.
zona de almacenamiento
cabezas
Cilindros
Sectores
Principios de la grabación magnética.
Las operaciones de lectura/escritura se completan mediante conversión electromagnética.
Indicadores de rendimiento del disco
densidad de grabación
capacidad del disco
tiempo promedio de acceso
El tiempo medio de acceso consta de tres partes: tiempo de búsqueda (el tiempo que tarda el cabezal magnético en moverse a la pista de destino), tiempo de retardo de rotación (el tiempo que tarda el cabezal magnético en posicionar el sector a leer y escribir) y tiempo de transmisión (el tiempo que lleva transmitir datos). Dado que la distancia entre los sectores de búsqueda y de búsqueda varía, el tiempo de búsqueda y el tiempo de retardo de rotación generalmente se promedian. (El examen real a veces también proporciona la latencia del controlador de disco).
tasa de transferencia de datos
dirección de disco
El proceso de trabajo del disco duro.
direccionamiento
leer disco
escribir disco
Matriz de discos
Organice varios discos que funcionen de forma independiente en una matriz de cierta manera y utilice tecnología de bloqueo de datos para escalonar y almacenar datos en diferentes discos para que puedan trabajar en paralelo para aumentar la velocidad de acceso.
RAID mejora las tasas de transferencia al utilizar varios discos simultáneamente
Aumente drásticamente el rendimiento de los datos del sistema de almacenamiento al paralelizar el acceso a través de múltiples discos.
No solo amplía la capacidad de almacenamiento sino que también mejora la velocidad de acceso a los datos del disco.
Almacenamiento cruzado, acceso paralelo
Mejorar la confiabilidad
Mejore la seguridad y la confiabilidad mediante la función de duplicación
Proporcionar tolerancia a fallos mediante la verificación de datos.
SSD
composición
Uno o más chips de memoria flash (similar: unidad de disco)
Capa de traducción flash (similar: el controlador de disco traduce las solicitudes de lectura y escritura de bloques lógicos de la CPU en señales de control de lectura y escritura para el dispositivo físico subyacente)
Los datos se leen y escriben en unidades de página.
Sólo se puede escribir en una página después de que se haya borrado todo el bloque al que pertenece.
Sin embargo, una vez que se borra un bloque, cada página del bloque se puede volver a escribir directamente.
Las escrituras aleatorias son lentas por dos razones
Los bloques de borrado son más lentos.
Si una operación de escritura intenta modificar una página P que contiene datos existentes, entonces todas las páginas que contienen datos útiles en este bloque deben copiarse en un bloque nuevo (borrado) antes de que pueda ocurrir la escritura en la página P.
Ventajas y desventajas
ventaja
El acceso aleatorio es mucho más rápido que los discos mecánicos
Sin ruidos mecánicos ni vibraciones
Menor consumo de energía
Buena resistencia a los terremotos
Alta seguridad
defecto
fácil de usar
memoria caché
El principio de localidad de acceso al programa.
localidad temporal
Es probable que la información que se utilizará en un futuro próximo sea la información que se utiliza ahora, porque hay bucles en el programa.
Específicamente para los elementos de la matriz, si se accede al elemento de la matriz solo una vez, no debe haber ninguna localidad temporal.
localidad espacial
Es probable que la información que se utilizará en el futuro cercano esté adyacente en el espacio de almacenamiento a la información que se usa ahora, porque las instrucciones generalmente se almacenan y ejecutan secuencialmente, y los datos generalmente se almacenan en grupos en forma de vectores, matrices, etc. juntos.
El principio de funcionamiento básico de Cache
Tanto la memoria caché como la memoria principal se dividen en bloques del mismo tamaño. La cantidad de bloques en la memoria caché es mucho menor que la cantidad de bloques en la memoria principal. Solo guarda copias de los bloques más activos en la memoria principal.
El intercambio de datos entre la CPU y la caché se realiza en unidades de palabras, mientras que el intercambio de datos entre la caché y la memoria principal se realiza en bloques de caché.
Cuando la CPU emite una solicitud de lectura
Si la dirección de acceso a la memoria se alcanza en la caché, la dirección se convierte en la dirección de la caché y la operación de lectura se realiza directamente en la caché, independientemente de la memoria principal.
Si falla el caché, aún es necesario acceder a la memoria principal y el bloque donde se encuentra la palabra se transfiere de la memoria principal al caché al mismo tiempo.
Si el caché está lleno en este momento, este bloque debe usarse para reemplazar un bloque de información original en el caché de acuerdo con un determinado algoritmo de reemplazo.
Al final, se accede a la caché.
Cuando la CPU emite una solicitud de escritura
Si el caché llega, debe procesarse de acuerdo con una determinada estrategia de escritura. Los métodos de procesamiento comunes incluyen escritura completa y reescritura.
Cuando falta, el método de asignación de escritura escribe los datos en la memoria caché y el método de asignación sin escritura escribe los datos directamente en la memoria principal.
Método de mapeo de memoria caché y principal
mapeo directo
Número de línea de caché = número de bloque de memoria principal mod número total de líneas de caché
mapeo totalmente asociativo
Cualquier posición
Utilice comparadores G para comparar todas las líneas de caché simultáneamente.
establecer mapeo asociativo
Número de grupo de caché = número de bloque de memoria principal mod Número de grupo de caché (Q)
Conexión de grupo bidireccional
Cada línea de caché corresponde a una entrada marcada
Incluyendo bit válido, bit de etiqueta, bit de mantenimiento de consistencia, bit de control de algoritmo de reemplazo
Estrategia de escritura en caché
Para caché escribir hit (escribir hit)
Método de escritura completa (método de escritura directa, escritura directa)
Cuando se produce una escritura en caché, el mismo bloque de datos en la memoria caché y en la memoria principal se modifica al mismo tiempo.
La desventaja del método de escritura directa es que el caché no tiene función de almacenamiento en búfer para las operaciones de escritura de la CPU, lo que reduce la eficiencia del caché.
respóndeme
Cada línea de caché establece un bit de modificación (bit sucio).
Esta estrategia hace que el caché actúe como caché para operaciones de lectura y escritura.
Para caché escribe señorita
Asignación de escritura (asignación de escritura)
Cargue el bloque en la memoria principal en la caché y luego actualice el bloque de caché.
Asignación sin escritura (asignación sin escritura)
Sólo escribe en la memoria principal, no se realiza ningún ajuste de bloque.
memoria virtual
Conceptos básicos de memoria virtual.
La memoria virtual aborda uniformemente el espacio de direcciones de la memoria principal o la memoria auxiliar para formar un enorme espacio de direcciones. En este espacio, los usuarios pueden programar libremente sin preocuparse por la capacidad real de la memoria principal y la ubicación de almacenamiento real del programa en la memoria principal.
La memoria principal y la memoria auxiliar juntas constituyen la memoria virtual y funcionan bajo la gestión conjunta del hardware y el software del sistema.
Estructura organizativa típica de la memoria virtual.
dirección virtual (dirección virtual)
Número de página de memoria virtual Dirección de palabra de página
Dirección física de la memoria principal (dirección real)
Número de página de la memoria principal Dirección de la palabra de la página
La CPU accede a la memoria principal con una dirección virtual, utiliza la unidad de control de gestión de memoria MMU (Memory Management Unit) para encontrar la correspondencia entre la dirección virtual y la dirección física, y determina si el contenido correspondiente a la dirección virtual ya está en la memoria principal.
Dirección de almacenamiento en disco (dirección de disco o dirección de almacenamiento auxiliar)
Número de disco Número de disco Número de pista Número de sector
Cómo funciona la memoria virtual
La MMU debe completar la conversión de la dirección de memoria virtual a memoria principal. Cuando la conversión falla, se genera una señal de excepción, lo que activa la ejecución del controlador de excepciones de página faltante para completar el trabajo restante y volver a ejecutar la instrucción que. generó la excepción de página faltante para garantizar que el programa se ejecute correctamente.
Al final, los datos se obtienen de la memoria principal y la CPU no puede acceder directamente a la memoria auxiliar.
Memoria virtual paginada
En la mayoría de los sistemas, hay una tabla de páginas para cada proceso.
tabla de páginas
Diagrama de estructura lógica de la tabla de páginas
Tanto la memoria principal como el disco están divididos en páginas de tamaño fijo.
El disco se divide en partición de intercambio y partición de datos.
La partición de intercambio se utiliza para almacenar datos modificados dinámicamente intercambiados desde las páginas de la memoria principal.
La partición de datos se utiliza para almacenar programas y datos del usuario.
La memoria principal y el espacio en disco se combinan para formar el espacio de direcciones virtuales.
Proceso de acceso a la memoria virtual de la página
Cuando llega una página, los pasos realizados por el hardware de la CPU
El procesador genera una dirección virtual y la pasa a la MMU.
La MMU utiliza el registro de dirección base de la tabla de páginas PTBR y el número de página virtual para generar la dirección de entrada de la tabla de páginas PTEA, accede a la tabla de páginas almacenada en la memoria caché/principal y solicita la entrada de la tabla de páginas correspondiente al número de página virtual.
La memoria caché/principal devuelve las entradas de la tabla de páginas a la MMU para formar la dirección física de la información a la que se accede.
Si el bit válido en la entrada de la tabla de páginas devuelta es 1, la MMU usa la entrada de la tabla de páginas devuelta para construir la dirección física PA y usa la dirección física construida PA para acceder a la memoria caché/principal.
La memoria caché/principal devuelve los datos solicitados al procesador.
El proceso de manejo de fallas de página es el siguiente:
El procesador genera una dirección virtual y la pasa a la MMU.
La MMU utiliza el registro de dirección base de la tabla de páginas PTBR y el número de página virtual para generar la dirección de entrada de la tabla de páginas PTEA, accede a la tabla de páginas almacenada en la memoria caché/principal y solicita la entrada de la tabla de páginas correspondiente al número de página virtual.
La memoria caché/principal devuelve las entradas de la tabla de páginas a la MMU para formar la dirección física PA de la información a la que se accede.
Si el bit válido en la entrada de la tabla de páginas es 0, significa que la página a la que se accede no está en la memoria principal y la MMU activa una excepción y llama al controlador de excepciones de falla de página en el kernel del sistema operativo.
Si la página de la memoria principal está llena, es necesario cambiar la página según el algoritmo de reemplazo. Si el bit de modificación de la página es 1, la página se intercambia en el disco; de lo contrario, se descarta directamente.
El controlador de errores de página carga una nueva página desde el disco y actualiza la entrada de la tabla de páginas PTE en la memoria.
El controlador de errores de página vuelve al proceso original, lo que obliga a reiniciar la instrucción que provocó el error de página. No habrá errores de página en esta ejecución.
Proceso de acceso a la memoria virtual combinado con caché.
La MMU genera una dirección de entrada de la tabla de páginas para acceder al caché en función de la dirección virtual VA enviada por el procesador.
Si la entrada de la tabla de páginas PTE llega, la entrada de la tabla de páginas se devuelve directamente y se genera una dirección física para acceder a la memoria principal.
Si falta la entrada de la tabla de páginas PTE, el bloque de la tabla de páginas donde se encuentra la entrada de la tabla de páginas debe programarse desde la memoria principal al caché.
También puede haber problemas de falta de caché al utilizar PA para acceder a datos.
Tabla rápida (TLB)
En un sistema de almacenamiento virtual paginado que contiene tablas rápidas y tablas lentas, al realizar la traducción de direcciones, las tablas rápidas y lentas a menudo se buscan al mismo tiempo.
Accede a la tabla rápida por contenido y accede a la tabla de páginas por dirección
Proceso de acceso al hit TLB
El procesador genera la dirección virtual y la pasa a la MMU.
La MMU utiliza el número de página virtual VPN para consultar el TLB.
Si el acceso al TLB es exitoso (la entrada de la tabla de páginas está en el TLB y el bit válido en el PTE correspondiente es 1), el TLB devuelve el número de página física correspondiente al número de página virtual a la MMU.
MMU usa la entrada de la tabla de páginas devuelta (número de página física en) para construir la dirección física PA, y usa PA para acceder a la memoria caché/principal.
La memoria caché/principal devuelve los datos solicitados por la CPU al procesador.
Procesar cuando falla TLB (asumiendo acceso a accesos a la memoria principal)
El procesador genera una dirección virtual y la pasa a la MMU.
La MMU utiliza el número de página virtual VPN para consultar el TLB.
Si falla el acceso al TLB, la información de pérdida de acceso al TLB se devuelve a la MMU.
La MMU utiliza el registro de dirección base de la tabla de páginas PTBR y el número de página virtual para generar la dirección de entrada de la tabla de páginas PETA, accede a la tabla de páginas almacenada en la memoria caché/principal y solicita el contenido de la entrada de la tabla de páginas correspondiente al número de página virtual.
La memoria caché/principal devuelve la entrada de la tabla de páginas PTE a la MMU para formar la dirección física PA de la información a la que se accede.
Si el bit válido en la entrada PTE de la tabla de páginas devuelta es 1, la tabla TLB debe actualizarse y el PTE devuelto se usa para construir la dirección física PA, y la dirección física construida PA se usa para acceder a la memoria caché/memoria principal. .
La memoria caché/principal devuelve los datos solicitados al procesador.
Sistema de almacenamiento multinivel con TLB y caché
Falta TLB: la entrada de la tabla de páginas de la página a la que se accede no está en el TLB
Falta página: la página a la que se accede no está en la memoria principal (el bit válido de la entrada de la tabla de páginas correspondiente es 0). Procesamiento de fallas de página correspondiente: cargar página, actualizar TLB, reiniciar comando de falla de página
Falta caché: el bloque de memoria principal al que se accederá no está en el caché. Falta el procesamiento de la caché correspondiente: transferir desde la memoria y volver a visitar la caché
Memoria virtual segmentada
Cada programa configura una tabla de segmentos.
Por lo general, los programadores dividen diferentes tipos de datos, como subrutinas, operandos y constantes, en diferentes segmentos, y cada programa puede tener varios segmentos del mismo tipo.
La entrada de la tabla de segmentos contiene al menos los tres campos siguientes:
El bit válido indica si el segmento se ha cargado en la memoria real.
La dirección inicial del segmento indica la primera dirección del segmento en el almacenamiento real cuando el segmento se ha transferido al almacenamiento real.
La longitud del segmento registra la longitud real del segmento.
traducción de direcciones
3 tipos de situaciones anormales
Segmento faltante (segmento no existe): posición instalada = 0.
Dirección fuera de límites: el desplazamiento excede la longitud máxima del segmento.
Violación de protección, el método de operación no es consistente con los derechos de acceso especificados.
Memoria virtual segmentada
Cada programa realiza una reubicación de dos niveles a través de una tabla de segmentos y tablas de múltiples páginas.
Cada entrada en la tabla de segmentos corresponde a un segmento y cada entrada tiene un puntero que apunta a la tabla de páginas del segmento.
Se puede considerar que una dirección virtual consta de cuatro campos.
Se utilizan una tabla de segmentos y un conjunto de tablas de páginas para indicar la ubicación de todas las páginas en la memoria virtual de la memoria principal.
(Sistema multitarea) Proceso de conversión de direcciones de memoria virtual de página segmentada Cada programa corresponde a una tabla de segmentos y cada segmento corresponde a una tabla de páginas (existen ambigüedades semánticas, consulte la imagen).
Comparación entre memoria virtual y caché
Similitudes
Existen problemas como la asignación de direcciones, el algoritmo de reemplazo y la estrategia de actualización.
la diferencia
La caché se ocupa principalmente de la velocidad del sistema, mientras que la memoria virtual se ocupa de la capacidad de la memoria principal.
La caché se implementa íntegramente en hardware y es una memoria de hardware transparente para todos los programadores. La memoria virtual es implementada conjuntamente por el sistema operativo y el hardware. Es una memoria lógica que es opaca para los programadores de sistemas pero transparente para los programadores de aplicaciones.