Table 9-23, Table 9-24 – ARM Cortex R4F User Manual

Page 251

Advertising
background image

Level Two Interface

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

9-18

ID013010

Non-Confidential, Unrestricted Access

Example 9-1 Write merging

MOV r0, #0x4000
STRH

r1, [r0, #0x18]; Store a halfword at 0x4018

STR

r2, [r0, #0xC] ; Store a word at 0x400C

STMIA r0, {r4-r7}

; Store four words at 0x4000

STRB

r3, [r0, #0x1D]; Store a byte at 0x401D

If the memory at address

0x4000

is marked as Strongly Ordered or Device type memory, the AXI

transactions shown in Table 9-23 are generated.

In the example above, each store instruction produces an AXI burst of the same size as the data
written by the instruction.

Table 9-24 shows a possible resulting transaction if the same memory is marked as
Non-cacheable Normal, or Cacheable write-through.

In this example:

•

The store buffer has merged the

STRB

and

STRH

writes into one buffer entry, and therefore

a single AXI transfer, the fourth in the burst.

•

The writes, which occupy three buffer entries, have been merged into a single AXI burst
of four transfers.

•

The write generated by the

STR

instruction has not occurred, because it was overwritten by

the

STM

instruction.

•

The write transfers have occurred out of order with respect to the original program order.

Table 9-23 AXI transactions for Strongly Ordered or Device type memory

AWADDRM

AWBURSTM

AWSIZEM

AWLENM

WSTRBM

0x4018

Incr

16-bit

1 data transfer

0b00000011

0x400C

Incr

32-bit

1 data transfer

0b11110000

0x4000

Incr

32-bit

4 data transfers

0b00001111
0b11110000
0b00001111
0b11110000

0x401D

Incr

8-bit

1 data transfer

0b00100000

Table 9-24 AXI transactions for Non-cacheable Normal or Cacheable write-through

memory

AWADDRM

AWBURSTM

AWSIZEM

AWLENM

WSTRBM

0x4000

Incr

64-bit

4 data transfers

0b11111111
0b11111111
0b00000000
0b00100011

Advertising
This manual is related to the following products: