网上没找到,自己翻译的。基本没有删减,全本的。我是边做项目边翻译的,语言相对比较容易理解。网上没有被翻译的章节,本人基本都翻译了。需要的可以留言,我再往上发,如果没人要,我就自己留硬盘里了。另外,网上有的章节,翻译不完整,少很多细节内容,比如UART部分,我也做了完整翻译。每个人语言习惯不同,我认为容易理解的内容,对您来说可能会难于理解,这种情况不会很多,如果偏巧您遇到了,请多担待! 【缓存和缓冲区在ARM920T处理器中的应用】 在ARM920T处理器中,缓存和缓冲区是提升系统性能的关键组件。它们有效地减少了对主存的访问次数,降低了延迟,并优化了带宽利用率。以下是关于ARM920T处理器中缓存和缓冲区的详细说明: 1. **缓存(Cache)** - ARM920T具有独立的16KB指令缓存和16KB数据缓存。 - 指令缓存和数据缓存都是64路关联的,意味着每个虚拟地址有64个可能的映射位置。 - 每个缓存块(Cache Line)包含8个字(32字节),带有有效位和两个脏位,支持半块回写。 - 数据缓存的写策略(Write-Through或Write-Back)由MMU的页表项中的C和B位决定。 - 替换策略可以通过CP15寄存器的C1中的RR位选择,可设置为伪随机或轮转替换。 - 低功耗的CAM-RAM技术用于实现缓存功能。 - 缓存按1/64的粒度划分为64个组,每组可容纳64个字(256字节),任何一组都可以被单独锁定。 - 物理地址TAG RAM存储数据缓存入口的物理地址,确保在回写时不依赖MMU,避免了TLB丢失回写地址的问题。 2. **写缓冲区(WRITE BUFFER)** - 写缓冲区可以暂存16个字的数据和4个地址,以提高写操作的效率。 3. **指令缓存** - ARM920T的16KB指令缓存由512个32字节的块组成,采用64路关联结构。 - 指令缓存的读操作分配策略可以通过RR位选择,出厂默认为伪随机替换。 - 指令可以被锁定在指令缓存中,防止被覆盖,锁定操作以1/64的粒度进行。 - 指令缓存启用/禁用通过Icr位(CP15中的bit12)控制,与MMU的C位协作确定是否对特定内存区域启用缓存。 - 当指令缓存禁用时,所有指令访问都将直接在ASB总线上执行,降低效率。 4. **MMU与缓存交互** - MMU地址转换描述符中的C位决定了是否启用缓存,而Icr位控制指令缓存的启用/禁用。 - 当缓存重新启用时,其内容与禁用时保持一致,但可能与主存数据不一致,此时需要先无效化数据缓存,再启用。 - 同时启用MMU和指令缓存可通过向CP15的C1的bit0和bit12写1的MCR指令完成。 5. **缓存操作的影响** - 禁用指令缓存时,每次取指操作都会在ASB总线上产生孤立无序的内存访问,降低效率,特别是对于突发访问模式的内存如DRAM或SDRAM。 缓存和缓冲区在ARM920T处理器中的设计考虑了性能、兼容性和灵活性,通过精细的管理和策略,确保了系统的高效运行。了解这些知识对于优化基于ARM920T的系统设计和调试至关重要。
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IOException(解决方案).md
- ImportError.md
- NSInvalidObjectException如何解决.md
- DSP信号采集处理与控制系统设计总结实验报告(卷积 FFT FIR 滤波算法源码)
- 毕设和企业适用springboot智慧办公平台类及城市智能运营平台源码+论文+视频.zip
- 电力系统静态稳定性仿真Matlab编程 simulink仿真 1.用Matlab编程,把转子运动方程(摇摆方程)在运行点处线性化,采用小信号分析法,对线性化之后状态方程的系数矩阵求解特征值,根轨迹,通
- EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作
- 锂电池主动均衡simulink仿真 四节电池 基于buckboost(升降压)拓扑 (还有传统电感均衡+开关电容均衡+双向反激均衡+双层准谐振均衡+环形均衡器+cuk+耦合电感)被动均衡电阻式均衡
- Python实现递归遍历Windows文件系统:os模块与pathlib模块的比较
- 操作系统:核心功能、发展历程及未来趋势
- 基于蚁群算法解决的旅行商问题(Vrp)
- b站上是教程,这个是狂暴机器人源码
- 小蜗牛-STC3F.zip
- untitled.fig
- 1834_129789020.html
- 堆排序算法解析:原理、实现与优缺点