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
118 subscribers
Views
4848 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
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 16th September 2011 at
http://forums.arm.com
The destination and source address are both 32 byte aligend. Actully, for read access, the arm core issue a 32*8 axi trancation, while for write, a 32*2 trancation.
BR
Jerry
Cancel
Vote up
0
Vote down
Cancel
Reply
Jerry Fan
over 12 years ago
Note: This was originally posted on 16th September 2011 at
http://forums.arm.com
The destination and source address are both 32 byte aligend. Actully, for read access, the arm core issue a 32*8 axi trancation, while for write, a 32*2 trancation.
BR
Jerry
Cancel
Vote up
0
Vote down
Cancel
Children
No data