飞腾CPU体系结构(十二)
1. CPU物理地址空间
飞腾CPU支持的物理地址宽度为44位,物理地址空间实际上只有16TB。系统主存(芯片外部内存)和IO外设(例如SoC设备、PCIe设备)都在这个物理地址空间上统一编址。
2. 内存属性
飞腾CPU将系统主存和IO外设看作两种不同的内存类型。
- 系统主存的内存属性
- IO外设的内存属性
2.1 系统主存属性
针对系统主存的内存属性,飞腾CPU主要为了提升访存性能,因此主要
- 支持弱顺序性访存模型,
- 支持地址不对齐的访问方式,
- 支持写操作合并,
- 支持乱序访问机制。
在无缓存模式下
飞腾CPU可以忽略高速缓存直接读/写系统主存,NC和WT两种模式都采用无缓存模式来实现。
在有缓存模式下,即WB模式
飞腾CPU读/写地址单元内容时,如果缓存不命中,就从系统主存中将相应的缓存块内容拷贝到高速缓存中;然后再对高速缓存的缓存块进行相应的操作。
2.2 IO外设属性
针对IO外设的内存属性,为了确保外设操作的正确性,飞腾CPU
- 支持强顺序性访存模型,
不
支持缓存模式不
支持地址不对齐访问方式。
这种强顺序性访存模型,根据强弱程度有nGnRnE、nGnRE 、nGRE和GRE四种类型。
- G表示支持访存合并操作;nG表示不支持访存合并操作;
- R表示支持乱序操作;nR表示不支持乱序操作;
- E表示写操作的确认不一定来自目标设备;nE表示写操作的确认来自目标设备。
常用的外设内存类型是nGnRE,表示不支持访存合并和乱序操作,写指令完成时,设备内存不保证及时得到更新。
2.3 特别提醒
内存属性,描述了飞腾CPU访问物理地址空间设备的操作特点,但是需要通过虚拟页到物理页帧的映射属性来编程使用。