ARM920T协处理器CP15

发布时间:2011-3-28 14:00    发布者:techshare
关键词: ARM920T , CP15 , 协处理器
ARM920T处理器包含了ARM9TDMI内核,ARM9TDMI实现了ARM architecture v4T。








ARM920T处理器包含两个协处理器:

CP14。用于调试

CP15。系统控制协处理器,提供附加的寄存器用来配置和控制cache,MMU,保护系统,时钟模式,和ARM920T其他的系统选项,如大小端操作。你可以使用MCR,MRC访问定义在CP15中的寄存器。

CP15定义了16个寄存器,寄存器的映射图如下:







注:寄存器位置0可以访问两个寄存器,通过opcode_2的值来确定。

ARM920T存在3个地址。











只能在特权模式下使用MCR和MRC指令访问CP15。这些指令的格式是:

MCR/MRC{cond} P15,,Rd,CRn,CRm,

指令CDP,LDC,STC和非特权模式的MRC,MCR指令操作CP15会导致未定义指令异常。MRC和MCR指令的CRn域指定了要访问的协处理寄存器。opcode_1,和CRm域应该是0,除非值被指定用来选择需要的操作。

Register 0,ID code register

可以通过读CP15 register 0,opcode_2域设置成除了1的任何值(在读的时候CRm应该为0)。

如:

MRC p15,0,Rd,c0,c0,0;return ID register







cache type register 0

包含cache的大小和体系结构的信息。可以通过设置域为1,读CP15 register 0来访问cache type register。例如:

MRC p15,0,Rd,c0,c0,1;returns cache details







Dsize和Isize域格式一样:















Register1,control register

这个寄存器包含了ARM920T的控制位。

MRC p15,0,Rd,c1,c0,0 ;read control register

MCR p15,0,Rd,c1,c0,0;write control register

















Register 2,translation table base(TTB)register

这个是页表基址寄存器。







使用下面的指令访问TTB:

MRC p15,0,Rd,c2,c0,0;read TTB register

MCR p15,0,Rd,c2,c0,0;write TTB register

Register 3,domain access control register

这个是读写域访问控制寄存器。

















MRC p15,0,Rd,c3,c0,0;read domain 15:0 access permissions

MCR p15,0,Rd,c3,c0,0;write domain 15:0 access permissions

Register 4,reserved

Register 5,fault status registers

Register 6,fault address registers

Register 7,cache operations register







Register 8,TLB operations register

用来管理Translation Lookaside Buffers(TLBs),指令TLB和数据TLB。







Register 9,cache lockdown register

opcode_2=0x0 访问的是Dcache

opcode_2=0x1 访问的是 Icache









Regiter 10,TLB lockdown register

opcode_2=0x0 访问的是D TLB

opcode_2=0x1 访问的是 I TLB







Register 11,12,and 14,reserved

Register 13,FCSE PID register

是快速上下文切换扩展寄存器。








MRC p15,0,Rd,c13,c0,0;read FCSE_PID

MCR p15,0,Rd,c13,c0,0; write FCSE_PID

ARM9TDMI发出的地址在0~32MB范围内的被CP15的register 13转换。地址A变成A+(FCSE_PID×32MB)。FCSE_PID是一个7位的域,能够使128×32MB的进程被映射。









Register 15,test configuration register


作者:李万鹏
本文地址:https://www.eechina.com/thread-60205-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表