当前位置:网站首页>Armv8-a programming guide MMU (3)
Armv8-a programming guide MMU (3)
2022-07-05 01:08:00 【Linux decoder】
2 Separation of kernel and application virtual address space
Operating systems usually have multiple applications or tasks running asynchronously . Each application has its own unique conversion table and the kernel switches from one conversion table to another , This is part of context switching between the two tasks . however , Most memory systems are only used by the kernel and have fixed virtual to physical address mappings , Conversion table entries are rarely modified .ARMv8 The architecture provides some features to effectively handle this requirement .
The base address of the conversion table has TTBR0_EL1 and TTBR1_EL1 Appoint . When VA All the high positions are 0 when , choice TTBR0 Conversion table to , When VA The high position of the 1 when , choice TTBR1 Selected conversion table . You can enable VA tagging Don't be too tall 8 Check the position .
The virtual address of instruction acquisition or data access of the processor is 64 position . But you have to be 48 Two defined areas are mapped in the bit physical address memory mapping .
EL2 and EL3 Only TTBR0, No, TTBR1, It means :
(1) If EL2 Use AArch64, It only uses the scope 0x0~0x0000ffffffffffff Of VA;
(2) If EL3 Use AArch64, It only uses the scope 0x0~0x0000ffffffffffff Of VA;
The following figure shows that the kernel space is mapped to the highest area of memory and the virtual address space is mapped to the lowest area of memory . however , Both are mapped to a smaller physical address space .

Conversion control register TCR_EL1 Defines the number of the highest bits that need to be checked .TCR_EL1 contain T0SZ[5:0] and T1SZ[5:0]. The number of this field gives the whole 0 Or all 1 The highest number of . The minimum and maximum values of these fields are specified here , according to granule The size and starting table level are different . therefore , You must always use both spaces , At least two conversion tables are required in all systems . Simple bare systems do not OS It is still required to include fault Table of items .

TCR_EL1 Controls the EL1 and EL0 Other memory management features of . The above figure only shows the control address range and graunule Size domain .

IPS The domain controls the maximum output address size . If the output address specified by the conversion is out of range , Error accessing ,000=32 Bit physical address ,101=48 position . two bit TG1 and TG0 Domain gives granularity of kernel or user space ,00=4KB,01=16KB,11=64KB.
You can configure the conversion table level for the first lookup . The complete conversion process requires three or four levels of page tables . You don't need to achieve all levels . The first level of search consists of granularity and TCR_ELn.TxSZ The domain determines . You can configure it separately TTBR0_EL1 and TTBR1_EL1.
边栏推荐
- PyTorch: In-place Operation
- Query for Boolean field as "not true" (e.g. either false or non-existent)
- 【微处理器】基于FPGA的微处理器VHDL开发
- Leetcode70 (Advanced), 322
- Which financial products with stable income are good
- Several simplified forms of lambda expression
- FEG founder rox:smartdefi will be the benchmark of the entire decentralized financial market
- What happened to those who focused on automated testing?
- Yyds dry goods inventory [Gan Di's one week summary: the most complete and detailed in the whole network]; detailed explanation of MySQL index data structure and index optimization; remember collectio
- Ruby tutorial
猜你喜欢

What if the programmer's SQL data script coding ability is weak and Bi can't do it?

107. Some details of SAP ui5 overflow toolbar container control and resize event processing

Basic operation of database and table ----- phased test II

Postman automatically fills headers

Innovation leads the direction. Huawei Smart Life launches new products in the whole scene

What you learned in the eleventh week

Safety learning week4

To sort out messy header files, I use include what you use
![[wave modeling 1] theoretical analysis and MATLAB simulation of wave modeling](/img/c4/46663f64b97e7b25d7222de7025f59.png)
[wave modeling 1] theoretical analysis and MATLAB simulation of wave modeling

I was beaten by the interviewer because I didn't understand the sorting
随机推荐
Complete knapsack problem (template)
ROS command line tool
Take you ten days to easily complete the go micro service series (IX. link tracking)
Talking about JVM 4: class loading mechanism
多模输入事件分发机制详解
Huawei employs millions of data governance experts! The 100 billion market behind it deserves attention
Global and Chinese market of network connected IC card smart water meters 2022-2028: Research Report on technology, participants, trends, market size and share
[development of large e-commerce projects] performance pressure test - Performance Monitoring - heap memory and garbage collection -39
The performance of major mainstream programming languages is PK, and the results are unexpected
FEG founder rox:smartdefi will be the benchmark of the entire decentralized financial market
SAP UI5 应用的主-从-从(Master-Detail-Detail)布局模式的实现步骤
Innovation leads the direction. Huawei Smart Life launches new products in the whole scene
26.2 billion! These universities in Guangdong Province have received heavy support
Four pits in reentrantlock!
||Interview questions you will encounter
[development of large e-commerce projects] performance pressure test - Optimization - impact of middleware on performance -40
What happened to those who focused on automated testing?
Expose testing outsourcing companies. You may have heard such a voice about outsourcing
[Yocto RM]10 - Images
Senior Test / development programmers write no bugs? Qualifications (shackles) don't be afraid of mistakes