当前位置:网站首页>Arm V7 coprocessor
Arm V7 coprocessor
2022-06-25 12:12:00 【xiaozhiwise】
/*
* 2012/3/29 10:47 qing
*/
Coprocessor
1.CP14 Debug the communication channel coprocessor
2.CP15 System control coprocessor
He uses coprocessor instructions MCR and MRC Provide specific registers to configure and control caches、MMU、 Protection system 、 Configure clock mode ( stay
bootloader Clock initialization uses )
|31 28|27 24| 23 21| 20 |19 16|15 12|11 8|7 5|4 | 3 0 |
---------------------------------------------------------------------------
| cond | 1110 | 0 0 0 | 0 | CRn | Rd | cp_num | opcode_2| 1 | CRm |
---------------------------------------------------------------------------
mcr {<cond>} p15, 0, <Rd>, <CRn>, <CRm>{, <opcode_2>}
<opcode_1> For ever 0b000, Not for 0 when , The result of the operation is unpredictable .
<Rd> As a source register ARM register , Its value will be transferred to the coprocessor register of . Not for PC.
<CRn> The coprocessor registers as the destination register , May be C0, C1...C15.
<CRm> Additional destination register or source operand register , It is used to distinguish different physical registers with the same number .
When no additional information is required in the instruction , take C0 Designated as <CRm>, Otherwise, the result of the instruction operation cannot be predicted .
<opcode_2> Provide additional information , Used to distinguish different physical deposits of a number . When no additional information is specified in the instruction ,
Omit <opcode_2> Or specify it as 0, Otherwise, the result of instruction operation is unpredictable .
cond It's a condition code ,bit20 yes L position ,
If L=1 It means Load, Read from the outside CPU Nuclear , That is to say MRC Instructions ,
If L=0 It means Store, That is to say MCR Instructions .[11:8] These four bits are the coprocessor number ,CP15 The number is 15, So it is 4 individual 1.
CRn yes CP15 Register number ,Rd yes CPU Core register number , Each account 4 position .
about CP15 Coprocessor , Regulations opcod1 Should be 0,opcode2 and CRm Is an option of the instruction , The meaning depends on different registers .
CP15 Register in : P180 <<arm_struc_prog>>
-----------------------------------------------------------------------------
Register number | Basic function | stay MMU The role of | stay PU The role of
-----------------------------------------------------------------------------
0 ID code ( read-only ) ID Coding and cache type
1 Control bits (W/R) Various control bits
2 Storage protection and control Address translation table base address Cachability Control bit of
3 Storage protection and control Domain access control bit Bufferablity Control bits
4 Storage protection and control Retain Retain
5 Storage protection and control Memory failure status Access control bit
6 Storage protection and control Memory failure address Protection zone control
7 Cache and write cache Cache and write cache control
8 Storage protection and control TLB control Retain
9 Cache and write cache Cache lock
10 Storage protection and control TLB lock Retain
11 Retain
12 Retain
13 Process identifier
14 Retain
15 It varies from design to design
C0:
register 0,ID Encoding register
This is a device for returning ID Encoded read-only register
You can use the opcode2 Set to except 1 Other than to access CP15 Of ID Encoding register R0(CRm At this time, it should be set to 0). for example :
MRC p15,0,Rd,c0,c0,0 ; return ID Register value
register 0, Cache type register
This is a read-only register , It contains information about the architecture and size of the cache , This allows the operating system to determine how to perform tasks such as cleaning up the cache
And locking the cache . all ARMv4T This register is included in cached processors of versions and later , Allow manufacturers of real-time operating systems to produce
A trial version of their operating system .
You can use the opcode_2 Set to 1 To visit CP15 Cache type register for R0. Such as :
MRC p15,0,Rd,c0,c0,1 ; Returns details about the cache
C1: P186
1. prohibit / Can make MMU And other storage system related functions .
2. Configure the storage system and ARM How the relevant parts of the processor work .
read :
mrc p15, 0, r0, c1, 0, 0
Write
mcr p15, 0, r0, c1, 0, 0
边栏推荐
- confluence7.4.X升级实录
- Why can't the form be closed? The magic of revealing VFP object references
- 数据库系列:MySQL索引优化总结(综合版)
- [regression analysis] understand ridge regression with case teaching
- R语言使用构建有序多分类逻辑回归模型、epiDisplay包的ordinal.or.display函数获取有序logistic回归模型的汇总统计信息(变量对应的优势比及其置信区间、以及假设检验的p值)
- ROS 笔记(06)— 话题消息的定义和使用
- How to open an account for trading futures Shanghai nickel products online
- 学习笔记 2022 综述 | 自动图机器学习,阐述 AGML 方法、库与方向
- R语言caTools包进行数据划分、scale函数进行数据缩放、e1071包的naiveBayes函数构建朴素贝叶斯模型
- RecyclerView滚动到指定位置
猜你喜欢

Redis雪崩、穿透和击穿是什么?

Dark horse shopping mall ---3 Commodity management

为什么ping不通网站 但是却可以访问该网站?

Eureka accesses the console and reports an error: whitelabel error page

Actual combat summary of Youpin e-commerce 3.0 micro Service Mall project

Explain factor analysis in simple terms, with case teaching (full)

How terrible is it not to use error handling in VFP?

flutter常用命令及问题

ROS notes (06) - definition and use of topic messages

分享7个神仙壁纸网站,让新的壁纸,给自己小小的雀跃,不陷入年年日日的重复。
随机推荐
Database Series: MySQL index optimization summary (comprehensive version)
网络上开户买股票是否安全呢?
Where do the guests come from
What is principal component analysis? Dimension reduction of classical case analysis variables
Share 7 immortal wallpaper websites, let the new wallpaper give you a little joy, and don't fall into the repetition year after year.
剑指 Offer II 091. 粉刷房子 : 状态机 DP 运用题
Tool usage summary
The latest IT learning route in 2020
现在网上炒股开户身份证信息安全吗?
Explanation of ideas and sharing of pre-processing procedures for 2021 US game D (with pre-processing data code)
SMS verification before deleting JSP
分享7个神仙壁纸网站,让新的壁纸,给自己小小的雀跃,不陷入年年日日的重复。
Implementing Domain Driven Design - using the ABP framework - Summary of a series of articles
ArcGIS services query filter by time field
Dark horse shopping mall ---1 Project introduction - environment construction
什么是Flink?Flink能用来做什么?
The temporary table from XML to VFP is simple and easy to use and worth collecting
ARM 立即数
flutter常用命令及问题
.Net Core 中使用工厂模式