编辑: 元素吧里的召唤 | 2013-10-09 |
2012 年4月龙芯中科技术有限公司 I 版权声明 本文档版权归龙芯中科技术有限公司所有,并保留一切权利.
未经书面许可,任何公司和个 人不得将此文档中的任何部分公开、转载或以其他方式散发给第三方.否则,必将追究其法 律责任. 免责声明 本文档仅提供阶段性信息,所含内容可根据产品的实际情况随时更新,恕不另行通知.如因 文档使用不当造成的直接或间接损失,本公司不承担任何责任. 龙芯中科技术有限公司 Loongson Technology Corporation Limited 地址:北京市海淀区中关村科学院南路
10 号No.10 Kexueyuan South Road, Zhongguancun Haidian District, Beijing 电话(Tel):010-62546668 传真(Fax):010-6260082 II 阅读指南 《龙芯 3B1000 处理器用户手册》分为
3 册: 第1册: 多核处理器架构与寄存器描述 ,介绍龙芯 3B1000 多核处理器架构,主要包括多 核处理器架构与寄存器描述;
第2册: GS464V 处理器核 , 从系统软件开发者角度详细介绍龙芯 3B1000 所采用的 GS464V 高性能处理器核;
第3册: 软件编程指南 ,介绍对 BIOS 和操作系统开发过程中的常见问题. III 修订历史 文档更新记录 文档编号: 文档名: 龙芯 3B1000 处理器用户手 册(2) 版本号 V1.1 创建人: 研发中心 创建日期 : 2012-05-02 更新历史 序号. 更新日期 更新人 版本号 更新内容
1 2011-06-17 研发中心 V1.0 初稿完成
2 2012-05-02 研发中心 V1.1 修改
第五章内存管理
3 4
5 6
7 8 龙芯 3B1000 处理器用户手册 目录 I 目录图目录.VI 表目录.VIII 1. 结构概述.11 2. 龙芯 GS464V 处理器核指令集概述.13 2.1. MIPS64 兼容指令列表.13 2.1.1. 访存指令.14 2.1.2. 运算指令.14 2.1.3. 跳转和分支指令.17 2.1.4. 协处理器指令.18 2.1.5. 其它指令.19 2.2. 实现相关指令列表.20 2.3. 扩展指令.20 3. CP0 控制寄存器.21 3.1. Index 寄存器(0,0)23 3.2. Random 寄存器(1,0)24 3.3. EntryLo0 (2,0)以及 EntryLo1 (3,0)寄存器.24 3.4. Context (4,0)25 3.5. PageMask 寄存器(5,0)26 3.6. PageGrain 寄存器(5,1)26 3.7. Wired 寄存器(6,0)27 3.8. HWREna 寄存器 (7,0)28 3.9. BadVAddr 寄存器(8,0)28 3.10. Count 寄存器(9,0)以及 Compare 寄存器(11,0)29 3.11. EntryHi 寄存器(10,0)29 3.12. Status 寄存器(12,0)30 3.13. IntCtl 寄存器 (12,1)32 3.14. SRSCtl 寄存器 (12,2)33 3.15. Cause 寄存器(13,0)33 3.16. Exception Program Counter 寄存器(14,0)35 3.17. Processor Revision Identifier (PRID)寄存器(15,0)35 3.18. EBase 寄存器(15,1)36 3.19. Config 寄存器(16,0)37 龙芯 3B1000 处理器用户手册 目录 II 3.20. Config1 寄存器(16,1)38 3.21. Config
2 寄存器(16,2)40 3.22. Config
3 寄存器(16,3)42 3.23. Load Linked Address (LLAddr)寄存器(17,0)44 3.24. XContext 寄存器(20,0)44 3.25. Diagnostic 寄存器(22,0)45 3.26. Debug 寄存器(23,0)45 3.27. Debug Exception Program Counter 寄存器(24,0)47 3.28. Performance Counter 寄存器(25,0/1/2/3)47 3.29. ECC 寄存器(26,0)50 3.30. CacheErr 寄存器(27,0/1)50 3.31. TagLo(28)和TagHi (29)寄存器.51 3.32. DataLo (28,1)和DataHi (29,1) 寄存器.53 3.33. ErrorEPC 寄存器(30,0)53 3.34. DESAVE 寄存器(31,0)54 3.35. CP0 指令.54 4. CACHE 的组织和操作.56 4.1. Cache 概述.56 4.1.1. 非阻塞 Cache.56 4.1.2. 替换策略.57 4.1.3. Cache 的参数.57 4.2. 一级指令 Cache.57 4.2.1. 指令 Cache 的组织.58 4.2.2. 指令 Cache 的访问.58 4.3. 一级数据 Cache.59 4.3.1. 数据 Cache 的组织.59 4.3.2. 数据 Cache 的访问.59 4.4. 二级 Cache.60 4.4.1. 二级 Cache 的组织.60 4.4.2. 二级 Cache 的访问.61 4.5. Cache 算法和 Cache 一致性属性.61 4.5.1. 非高速缓存(Uncached,一致性代码 2)62 4.5.2. 一致性高速缓存(Cacheable coherent,一致性代码 3)62 龙芯 3B1000 处理器用户手册 目录 III 4.5.3. 非高速缓存加速 (Uncached Accelerated,一致性代码 7)62 4.6. Cache 一致性.62 4.7. Cache 指令.63 4.7.1. Cache0 指令.64 4.7.2. Cache8 指令.64 4.7.3. Cache28 指令.64 4.7.4. Cache1 指令.64 4.7.5. Cache5 指令.64 4.7.6. Cache9 指令.64 4.7.7. Cache17 指令.64 4.7.8. Cache21 指令.65 4.7.9. Cache25 指令.65 4.7.10. Cache29 指令.65 4.7.11. Cache3 指令.65 4.7.12. Cache7 指令.65 4.7.13. Cache11 指令.65 4.7.14. Cache19 指令.65 4.7.15. Cache23 指令.65 4.7.16. Cache27 指令.66 4.7.17. Cache31 指令.66 5. 内存管理.67 5.1. 快速查找表 TLB.67 5.2. JTLB.67 5.2.1. 指令 TLB.67 5.2.2. 命中和失效.68 5.2.3. 多项命中.68 5.3. 处理器模式.68 5.3.1. 处理器工作模式.68 5.3.2. 地址模式.69 5.3.3. 指令集模式.69 5.3.4. 尾端模式.69 5.4. 地址空间.69 5.4.1. 虚拟地址空间.69 龙芯 3B1000 处理器用户手册 目录 IV 5.4.2. 物理地址空间.69 5.4.3. 虚实地址转换.69 5.4.4. 用户地址空间.71 5.4.5. 管理地址空间.72 5.4.6. 内核地址空间.74 5.5. 系统控制协处理器.76 5.5.1. TLB 表项的格式.76 5.5.2. CP0 寄存器.78 5.5.3. 虚拟地址到物理地址的转换过程.78 5.5.4. TLB 失效.79 5.5.5. TLB 指令.80 5.5.6. 代码例子.80 5.6. 物理地址空间分布.81 6. 处理器例外.82 6.1. 例外的产生及返回.82 6.2. 例外向量位置.82 6.3. 例外优先级.83 6.4. 冷重置例外.84 6.5. NMI 例外.84 6.6. 地址错误例外.85 6.7. TLB 例外.86 6.8. TLB 重填例外.86 6.9. TLB 无效例外.87 6.10. TLB 修改例外.87 6.11. Cache 错误例外.88 6.12. 总线错误例外.88 6.13. 整型溢出例外.89 6.14. 陷阱例外.89 6.15. 系统调用例外.90 6.16. 断点例外.90 6.17. 保留指令例外.90 6.18. 协处理器不可用例外.91 6.19. 浮点例外.92 龙芯 3B1000 处理器用户手册 目录 V 6.20. EJTAG 例外.92 6.21. 中断例外.92 7. 浮点协处理器.94 7.1. 概述.94 7.2. FPU 寄存器.95 7.2.1. 浮点寄存器.95 7.2.2. FIR 寄存器(CP1,0)96 7.2.3. FCSR 寄存器(CP1,31)98 7.2.4. FCCR 寄存器(CP1,25)101 7.2.5. FEXR 寄存器(CP1,26)101 7.2.6. FENR 寄存器(CP1,28)101 7.3. FPU 指令集概述.102 7.4. 浮点部件格式.105 7.4.1. 浮点格式.105 7.4.2. 多媒体指令格式.108 7.5. FPU 指令流水线概述.109 7.6. 浮点例外处理.109 龙芯 3B1000 处理器用户手册 图目录 VI 图目录 图2-1 CPU 指令格式