The SRAM access latency is the SRAM execution time for completing a burst/single read/write access, seen from the AHB bus interface.
A GPDMA write is a non-bufferable write. In the STM32 devices, a bufferable write access is restricted to a CPU access to an external memory via the data cache.
An SRAM introduces no additional wait-state for an AHB access. An 8-,16-, or 32-bit GPDMA transfer that accesses an SRAM in read or write, as a single, takes 2 AHB clock cycles so that the access is completed (one for the address phase, one for the data phase).
For completion at the SRAM bus interface:
- A GPDMA single transfer (1x NONSEQ) takes 2 cycles.
- A GPDMA 4-beat incremented burst transfer (1x NONSEQ + 3x SEQ) takes 5 cycles.
At the SRAM bus interface, it takes 8 AHB clock cycles via singles versus 5 cycles via a burst to transfer 4 words in SRAM at consecutive address locations (with transfer not arbitrated and preempted by other concurrent ones in front).
The GPDMA inserts also 1 cycle between two memory accesses. The bus matrix inserts another cycle if the addressed SRAM is not the default slave (if SRAM1 is not accessed by the GPDMA port1). Consequently, for completion:
- A GPDMA single read/write transfer to SRAM takes 3 to 4 cycles.
- A GPDMA 4-word incremented burst read/write transfer to SRAM takes 6 to 7 cycles.
Table 59 GPDMA read/write transfer to SRAM latency (4-beat burst versus single) gives the latency for completion of a programmed (half) transfer to the SRAM, depending on the allocated channel and its FIFO size (see GPDMA channel allocation and GPDMA burst).
Table 59. GPDMA read/write transfer to SRAM latency (4-beat burst versus single)| Programmed GPDMA (half) transfer (from/to FIFO to/from SRAM) | Channel | Read/Write latency (cycles) |
|---|
| Single | Channel with 2‑word FIFO | 3 to 4 |
| Channel with 8‑word FIFO |
| 4-word incremented burst | Channel with 2‑word FIFO1 | 3 to 42 |
| Channel with 8‑word FIFO | 6 to 7 |
If the first transfer latency is increased by 3 cycles, the latency for 4 words is decreased of 3 cycles. A buffer transfer is earlier completed by performing bursts versus singles.