sábado, 17 de enero de 2009

Soporte para la traducción de direcciones

La arquitectura para operaciones VMX incluye dos características que soportan traducción de direcciones: los identificadores de procesadores virtuales (VPIDs) y las tablas de paginación extendidas (EPT). Los VPIDs es un mecanismo de administración de traducción de direcciones lineales. Las EPT definen una capa de traducción de direcciones que aumenta la traducción de direcciones lineales.
La arquitectura original de operaciones VMX requería transiciones VMX para alinear los TLBS y las caches de estructuras de paginación. Esto aseguraba que las traducciones cacheadas en el antiguo espacio de direcciones lineales no se usarían después de la traducción. Los identificadores de procesadores virtuales (VPIDs) introducen a las operaciones VMX una facilidad con la cual un procesador lógico puede cachear la información de múltiples espacios de direcciones lineales. Cuando se usan los VPIDs, las transiciones VMX pueden retener información cacheada y el procesador lógico cambia a un espacio de direcciones lineales diferente.
El mecanismo de extensión de la tabla de paginación (EPT) es una característica que se puede usar para soportar la virtualización de la memoria física. Cuando se usa la EPT, ciertas direcciones que normalmente son tratadas como direcciones físicas, se tratan como direcciones físicas guest. Estas se traducen atravesando un conjunto de estructuras de paginación EPT para producir direcciones físicas que se usan para acceder a la memoria. La EPT se activa cuando la activación del EPT en el control de ejecución de la VM está a 1. Traduce las direcciones físicas guest usadas en operaciones no raíz VMX y estas usadas en las entradas de la VM para inyecciones eventuales. Cada estructura de paginación EPT ocupa 4 KBytes y alberga 512 entradas de 8 bytes cada una; especifica el formato de las entradas.
La efectividad del tipo de memoria de un acceso a memoria usando una dirección física guest (un acceso traducido usando EPT) es el tipo de memoria que se usa para acceder a ella. La efectividad del tipo de memoria está basada en el valor del bit 30 (CD, cache disable) en el registro CR0; la última entrada en la estructura de paginación EPT usada para traducir la dirección física guest; y el tipo de memoria PAT (es el tipo de memoria seleccionada desde el MSR IA32_PAT).
Los procesadores que soportan IA-32 y Intel 64 pueden acelerar el proceso de traducción de las direcciones cacheando los datos del procesador desde las estructuras en memoria que controlan este proceso. Las características VPID y EPT de la arquitectura para operaciones VMX aumentan el rendimiento, y controlan las formas mediante las cuales un procesador lógico puede crear y usar información cacheada desde estructuras de paginación.

No hay comentarios: