分类: 嵌入式
2015-02-26 15:30:07
原文地址:X86 之MTRR 作者:BENNYSNAKE
MTRR (memory type range register) 是关于物理内存在CPU能否缓存的描述, 有Fix MTRR, Variable MTRR, Defult MTRR, 固定MTRR是指前1M的物理内存已经有特定的寄存器来描述了,每段物理内存的大小已经确定下来了,编程时只需要指定每段物理内存的memory type就行了,如UC(Uncacheable), WB(Write Back), WC(Write Combining)等,
其中FIX4K/16K/64K的后缀指得是每段物理内存的大小。
可变MTRR的个数由VCNT字段决定
每一个可变MTRR由一对寄存器组成,一个用于指定物理内存段的基地和内存类型,一个起掩码的作用
PAT(Page Attribute Table) 是在线性地址空间中对映射的物理内存的一种缓存策略的描述,物理内存中的一个物理页框采用什么样的缓存策略,是由两方面决定的,一个是在物理地址空间进行描述的MTRR,一个是线性空间的PAT。