Arm Community
Site
Search
User
Site
Search
User
Groups
Research Collaboration and Enablement
DesignStart
Education Hub
Innovation
Open Source Software and Platforms
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello Forum
Operating Systems forum
SoC Design and Simulation forum
中文社区论区
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Innovation blog
Internet of Things (IoT) blog
Operating Systems blog
Research Articles
SoC Design and Simulation blog
Tools, Software and IDEs blog
中文社区博客
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Arm Development Studio forum
Address Translation and Attributes
Jump...
Cancel
Locked
Locked
Replies
3 replies
Subscribers
121 subscribers
Views
2404 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Address Translation and Attributes
Offline
Samar Samar
over 9 years ago
Note: This was originally posted on 24th April 2009 at
http://forums.arm.com
I have a memory section mapping as below:
______address_________|_physical_____________|_d_|_size____|_permissions________
____________|_glb|_shr|_access
__C:B0200000--B02FFFFF|__A:01E00000--01EFFFFF|_0F|_00100000|_P:readwrite_U:readwrite________|_yes|_no_|_write-through/buffered
The first level descriptor is at address 00A26C04
___address__|________0________4________8________
SD:00A26C00| >01E00DEA
Hence the physical address for B0200000 is 01E00000.
The Attributes are 0x00DEA.
C = 1
B = 0
XN = 0
domain (d) = 0xF
AP = 0x11
TEX = 0x000
Type = Section (1MB)
TEX (0x000) and CB (0x10) indicate cache policy of Outer and inner write through, no write allocate so my questions are:
1. What determines if it is buffered/non-buffered?
2. Is buffered/non-buffered referring to the use of write buffers?
3. What do inner and outer mean on the system that only have L1 cache?
4. If a memory region is shared between processors and its attributes are non-cache/buffered then do I have to perform data memory barrier operation after writing to any location in that region?
Thanks,
Samar
Parents
Offline
Peter Harris
over 9 years ago
Note: This was originally posted on 24th April 2009 at
http://forums.arm.com
> 1. What determines if it is buffered/non-buffered?
[url="
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0333g/ch06s07s06.html
"]
http://infocenter.arm.com/help/index.jsp?t...ch06s07s06.html[/url]
> 2. Is buffered/non-buffered referring to the use of write buffers?
Yes.
> 3. What do inner and outer mean on the system that only have L1 cache?
L1 is always inner. You have no outer in your case. Note that caches more distant from the core are sometimes configured as "inner", but normally are "outer".
> 4. If a memory region is shared between processors and its attributes are non-cache/buffered then do I have to perform data memory barrier operation after writing to any location in that region?
It will "eventually" hit the external memory system. If you want to ensure it has been committed to the external memory before signaling the other processing device, then yes you will need a cache clean or clean+invalidate followed by a DMB.
Cancel
Up
0
Down
Cancel
Reply
Offline
Peter Harris
over 9 years ago
Note: This was originally posted on 24th April 2009 at
http://forums.arm.com
> 1. What determines if it is buffered/non-buffered?
[url="
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0333g/ch06s07s06.html
"]
http://infocenter.arm.com/help/index.jsp?t...ch06s07s06.html[/url]
> 2. Is buffered/non-buffered referring to the use of write buffers?
Yes.
> 3. What do inner and outer mean on the system that only have L1 cache?
L1 is always inner. You have no outer in your case. Note that caches more distant from the core are sometimes configured as "inner", but normally are "outer".
> 4. If a memory region is shared between processors and its attributes are non-cache/buffered then do I have to perform data memory barrier operation after writing to any location in that region?
It will "eventually" hit the external memory system. If you want to ensure it has been committed to the external memory before signaling the other processing device, then yes you will need a cache clean or clean+invalidate followed by a DMB.
Cancel
Up
0
Down
Cancel
Children
No data