Endianness, Excepciones y Acceso a Memoria
Clasificado en Informática
Escrito el en español con un tamaño de 3,24 KB
Conceptos Fundamentales de Arquitectura de Computadores
Ordenación de Bytes (Endianness)
La ordenación de bytes puede ser Little-Endian (introducida por Intel y utilizada por MIPS, entre otros) o Big-Endian (introducida por Motorola). Si tenemos un dato de 32 bits que ocupa 4 bytes (4 octetos o 4 secciones): X3 X2 X1 X0.
- La ordenación Little-Endian sitúa el byte menos significativo en la posición más baja.
- La ordenación Big-Endian sitúa el byte más significativo en la posición más baja.
Tipos de Excepciones e Interrupciones
- Por software: Se producen al ejecutar una instrucción específica (caso de la instrucción INT en el 8086). Este tipo de excepciones se suelen denominar traps o interrupciones software.
- Por hardware: Se pueden distinguir dos tipos:
- Acontecimiento anormal interno dentro del computador como puede ser una división por cero, instrucción ilegal, etc. Se les denomina excepciones.
- Activación de un pin de entrada externo del computador por algún dispositivo de E/S. Existen dos casos:
- Las interrupciones por fallo del hardware que no se pueden deshabilitar y que se denominan interrupciones no enmascarables.
- Las interrupciones que activan los módulos de E/S que se pueden deshabilitar y que se denominan interrupciones enmascarables.
Proceso de Acceso a Memoria con Cache y Memoria Virtual
En un sistema que integre tanto caché como memoria virtual, el proceso de acceso a una instrucción o dato tiene que combinar ambos niveles del sistema de memoria jerárquico. Los pasos que debe realizar el sistema para completar el acceso se detallan en el siguiente algoritmo:
Pasos del Algoritmo de Acceso a Memoria:
- El programa genera una dirección virtual que debe traducirse a una dirección física. Para realizar la traducción, se busca esta en la TLB.
- Si la TLB produce fallo, hay que ir a la Tabla de Páginas (TP) en memoria principal para realizar la traducción.
- Si la TP produce fallo, la página buscada no reside actualmente en memoria principal y hay que buscarla en el disco. El fallo lo gestiona el S.O., que copia la página desde disco a memoria principal y actualiza la TP.
- Si la TP produce acierto, entonces se actualiza la TLB y se traduce la dirección virtual en dirección física.
- Si hay acierto en TLB, ya podemos traducir la dirección virtual a dirección física y se accede a memoria caché con la dirección física.
- Si hay fallo en caché, se debe copiar el bloque que ha producido el fallo en la caché desde memoria principal.
- Si hay acierto en caché, se envía la instrucción o el dato al procesador.
Es importante destacar que no siempre es necesario realizar los 7 pasos; depende de la secuencia de aciertos y fallos que se obtiene en cada condición. Si, por ejemplo, la TLB da acierto, se pasa directamente del paso 1 al 5. Por otra parte, si la TP diera acierto, se pasaría del paso 2 al 4 directamente también. Por último, si la caché produce acierto, nos ahorramos el paso 6 y pasamos directamente al 7.