P2020的LAW分析
来源:互联网 发布:三维测量的算法 编辑:程序博客网 时间:2024/05/29 10:26
概述
LAW(local access window)顾名思义,使用一个类似窗口的东西来管理CPU的地址空间。
根据P2020Reference Manual所描述的,总共12个LAW,每个可以映射4K至32G大小的地址空间到目的接口。除过CCSR与默认的0xFF80_0000-0xFFFF_FFFF这段8M的bootrom外,所有的地址空间都需要由LAW映射管理。这点很重要,当CPU上电复位时,由于P2020为32位大端模式,从0xFFFF_FFFC地址处开始取指令(uboot或者e500mc内核的PBI)进行执行,而这段代码的物理地址可以直接由默认的LAW状态进行映射。
LAW与其他地址映射功能的区别
LAW定义了从事件设备源头到目标的内部联系关系,以及这种联系如何到达的。当LAW转换完成时,LAW所配置的目的接口控制器才可能会进行额外的其他映射。例如RapidIO或PCIE接口拥有ATMU,可以把本地地址映射到外部地址空间。
下图就是一个地址空间的映射图例子。
可以得到此时LAW配置的情况:
LAW寄存器
要想启用LAW的相关功能,必须要配置对应的寄存器。接下来列出配置LAW所需要的两组寄存器。
LAW寄存器的基地址由CCSR配置(所有的与外设相关配置寄存器都通过CCSR指定),与其他设备如DDR、eLBC类似,也是通过一个基地址+偏移量来访问指定的寄存器的。对于LAW,基地址为0x0_0000。
LAW基址寄存器(LAW_LAWBARn)
该寄存器共32位,其中低8位为无效位,因为LAW映射的空间最小为4K。高24位用来指示LAW的n号窗口基地址。该地址必须与LAW_LAWARn[SIZE](下文介绍)所定义的大小对齐。
地址计算: 0h base + C08h offset + (32d × i), where i=0d to 11d
LAW属性寄存器(LAW_LAWARn)
该寄存器用来使能指定的LAW,定义它的大小,指定目的接口(eLBC,DDR等)。
地址计算: 0h base + C10h offset + (32d × i), where i=0d to 11d
EN:1:LAWn使能,并结合其他该编号的LAW寄存器,定义一个LAW区域。
0:关闭LAWn,与其他相关的该编号对应的LAW寄存器。
TRGT:用来给当一个地址被LAWn的区域所捕获到时,指示正确地目的接口(eLBC、DDR等),下表中描述。
SIZE:表示从LAW基地址开始的地址空间大小,范围从4K到32G。001011 4 Kbytes
001100 8 Kbytes
001101 16 Kbytes
... 2 (size+1)bytes
100010 32 Gbytes。
001100 8 Kbytes
001101 16 Kbytes
... 2 (size+1)bytes
100010 32 Gbytes。
由于总共有12个LAW,它们的配置寄都是通过LAW_LAWBARn与LAW_LAWARn两组寄存器进行的,因此这里不一一介绍了。
注意,当两个LAW配置的地址重合时,较低编号的LAW有优先权。
LAW的相关配置内容就是这些了,笔者主要参照了Freescale提供的《P2020Reference Manual》,再加上自己的一些理解。最近也一直在看PowerPC的资料,欢迎大家讨论交流。
0 0
- P2020的LAW分析
- Zipf's law分析
- 排队理论之性能分析 - Little Law & Utilization Law
- law
- 手把手教你搭建powerpc(P2020)的ltib编译环境
- LWIP的law api编程
- 计算机体系结构的铁律(iron law)
- 淺談網路世界的Power Law現象
- P2020平台介绍
- P2020 clock 设置
- 计算机系统性能的重要估计法则:little's law
- Amdahl’s law (阿姆达尔定律)的演化和思考
- Amdahl’s law (阿姆达尔定律)的演化和思考
- 计算机系统性能的重要估计法则:little's law
- Amdahl’s law (阿姆达尔定律)的演化和思考
- 图的幂律度分布 power-law degree distributios
- 图的幂律度分布 power-law degree distributios
- 神奇的Benford law (目前尚未有人能给出Benford law的充分条件和严密的数学证明)
- 【poj1012】 Joseph
- 《JavaScript 闯关记》之表达式和运算符
- GitHub 使用 git 分布式版本控制系统
- LeetCode 16. 3Sum Closest LeetCode 18. 4Sum
- 三角形类雏形(2)
- P2020的LAW分析
- Unity UI(二):Rect Transform组件
- linux-socket tcp客户端服务器编程模型及代码详解
- ACM学习历程8——Vector应用
- 单源最短路SPFA(模板)
- 嵌入式复习1
- vb6.0总结
- Java中的栈内存和堆内存
- AngularJs ngList、ngRepeat、ngModelOptions