Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
AXI transaction when ldm/stm instruction used on cortex-a9
Jump...
Cancel
Locked
Locked
Replies
5 replies
Subscribers
119 subscribers
Views
4738 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
AXI transaction when ldm/stm instruction used on cortex-a9
Jerry Fan
over 12 years ago
Note: This was originally posted on 15th September 2011 at
http://forums.arm.com
HI, ARM experts
I used ldm/stm instruction to copy(read-write) memory with caches disabled. The code is listed as:
int memcpy_8_regs(uint32_t * dst, uint32_t * src, uint32_t len)
{
asm volatile ("stmfd sp!, {r3-r10}\n");
while(len){
asm volatile ("ldmia r1!, {r3-r10}\n");
asm volatile ("stmia r0!, {r3-r10}\n");
len -= 32;
}
asm volatile ("ldmfd sp!, {r3-r10}\n");
return 0;
}
[font="Arial"]The code was run in a simulation enviroment and the operation of arm core can be observed.
The arm core issued a axi transaction with 16(bits) * 4(length) for write access, while a 32(bits) * 8(length) transaction for read access. It is kind of werid. Why not a 32(bits) * 8(length) transaction can be issued to get a maximum throughput? The limitation is because of the cortex-a9 arch?
BR
Jerry
[/font]
Parents
Jerry Fan
over 12 years ago
Note: This was originally posted on 17th September 2011 at
http://forums.arm.com
What type is this memory of? Normal, Device, or Strongly Ordered? Is you MMU enabled at all?
[Jerry] The MMU and caches are both disabled.
BTW, if MMU and caches enabled, how the type of the memory affect the axi transcation?
Do you mean a sequence four 32*2 transactions? Otherwise only two registers will be stored.
[Jerry]Yes, a sequence four 32*2 transactions acturally.
Cancel
Vote up
0
Vote down
Cancel
Reply
Jerry Fan
over 12 years ago
Note: This was originally posted on 17th September 2011 at
http://forums.arm.com
What type is this memory of? Normal, Device, or Strongly Ordered? Is you MMU enabled at all?
[Jerry] The MMU and caches are both disabled.
BTW, if MMU and caches enabled, how the type of the memory affect the axi transcation?
Do you mean a sequence four 32*2 transactions? Otherwise only two registers will be stored.
[Jerry]Yes, a sequence four 32*2 transactions acturally.
Cancel
Vote up
0
Vote down
Cancel
Children
No data