¿Cómo afecta TTBCR a las direcciones bajas en ARMv8-A?

0

Mientras leyendo acerca de Tablas de traducción en ARMv8-A, encontré lo siguiente:

  

Dependiendo del tamaño del rango VA posible, puede haber   menos niveles Con un gránulo de 4KB, por ejemplo, si el TTBCR está configurado para   que las direcciones bajas abarcan solo 1 GB, entonces no se requieren los niveles 0 y 1   y la traducción comienza en el nivel 2, bajando al nivel 3 para 4KB.   páginas.

TTBCR selecciona si se permite la tabla de traducción y si se utiliza TTBR0 o TTBR1. ¿Cómo afecta el rango de direcciones bajas?

    
pregunta Holmes.Sherlock

1 respuesta

0

Para los núcleos de Arm, y particularmente para el comportamiento de alto nivel, la primera referencia debe ser el 'Manual de Arquitectura de Arm' para la arquitectura correcta. Si está viendo ARMv8, también deberá buscar en la sección específica que se relaciona con AArch64 o AArch32 en algunos casos.

La referencia de arquitectura para un núcleo específico describirá si hay aspectos definidos por la implementación de la característica. Éstos se describirán en el TRM (Manual de referencia técnica) del núcleo específico. Algunas características nuevas a veces se describen primero como características específicas de la implementación (en un nuevo núcleo), y luego se adoptan como características de arquitectura. También observará los registros existentes en una versión de la arquitectura (o se introducirá en un núcleo), y luego la versión posterior de la arquitectura ampliará las posibilidades de implementación (por ejemplo, los comportamientos definidos para EL2 o EL3).

Por ejemplo, DDI de ARM 0487C.a ARMv8, para ARMv8-A

  

T0SZ, bits [5: 0] El desplazamiento de tamaño de la región de memoria direccionada por TTBR0_EL1. El tamaño de la región es de 2 (64-T0SZ) bytes.

     

Los valores máximos y mínimos posibles para T0SZ dependen del nivel   de la tabla de traducción y el tamaño de gránulo de traducción de memoria, como   descrito en el capítulo Arquitectura del sistema de memoria virtual AArch64.

    
respondido por el Sean Houlihane

Lea otras preguntas en las etiquetas