![NXP Semiconductors LPC43Sxx Скачать руководство пользователя страница 43](http://html1.mh-extra.com/html/nxp-semiconductors/lpc43sxx/lpc43sxx_user-manual_1721827043.webp)
UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
43 of 1441
NXP Semiconductors
UM10503
Chapter 3: LPC43xx/LPC43Sxx Memory mapping
3.6 AHB Multilayer matrix configuration
The multilayer AHB matrix enables all bus masters to access any embedded memory as
well as external SPI flash memory connected to the SPIFI interface. When two or more
bus masters try to access the same slave, a round robin arbitration scheme is used; each
master takes turns accessing the slave in circular order. The access length is determined
by the burst access length of the master. For the CPU, the burst size is 1, for GPDMA, the
burst size can be up to 8. To optimize CPU performance, low-latency code should be
stored in a memory that is not accessed by other bus masters, especially masters that use
a long burst size.
To optimize the CPU performance, the ARM Cortex-M4 has three buses for Instruction
(code) (I) access, Data (D) access, and System (S) access. The I- and D-bus access
memory space is located below 0x2000 0000, the S-bus accesses the memory space
staring from 0x2000 0000. When instructions and data are kept in separate memories,
then code and data accesses can be done in parallel in one cycle. When code and data
are kept in the same memory, then instructions that load or store data may take two
cycles.
The LPC43xx peripherals are divided into AHB and APB peripherals. AHB peripherals
such as the USB and ethernet controllers are directly connected to the AHB matrix. APB
peripherals are connected to the AHB matrix via bus bridges.
The ARM-CortexM0 core M0SUB connects via a bridge to the main AHB matrix. This
bridge introduces an access latency when crossing from the M0SUB domain to the main
matrix domain. The bridge uses a write buffer to minimize latency; write accesses should
be used when possible. For example, when the M0SUB cor needs to read a block of data
one may get better performance (throughput) using GPDMA to write this block of data to
one of the local M0SUB SRAM. In this case, the latency is incurred once per burst instead
of every word.