![Intel IXP45X Скачать руководство пользователя страница 582](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092582.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Memory Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
582
Order Number: 306262-004US
11.2
Theory of Operation
The memory controller of the IXP45X/IXP46X network processors translates the
internal bus and core processor transactions into the protocol supported by the DDRI
SDRAM memory subsystem.
11.2.1
Functional Blocks
The following needs to be considered when creating low level software for the IXP45X/
IXP46X network processors.
The Memory Controller Unit (MCU) is made up of 3 parts (see
). The MCU
core which connects via MPI (Memory Port Interfaces) to the MAB (MPI to AHB bridge)
and the Bus Interface Unit (BIU). In turn the MAB connects the MCU to the North and
South AHB. Where the BIU connects the Intel XScale processor to the MCU MPI port
and the South AHB.
The MAB supports posting of 1 write from the North AHB and 1 write from the South
AHB. This means that once a master on the North and South AHB can perform a write
to the MAB and the MAB will accept the write and free the AHB bus allowing the AHB
master to continue. Shortly after the MAB accepts a write transaction, the MAB will
send the request to the MCU core which in turn will perform a write to DDR.
The BIU also contains write posting capabilities. Because the BIU and MAB contain
write posting capabilities, there could exist a race condition for write transactions
posted in the BIU and MAB targeted to the same address.
There is no enforcement of write ordering between the North AHB and South AHB in the
MAB for write requests that arrive at nearly the same time that are destine for the
same exact DDR memory location. Therefore if an NPE and a South AHB master (PCI,
Expansion Bus, USB or Intel XScale processor with MPI port disabled) write to the same
exact DDR memory location at the same time there is no guarantee which write will
reach memory last.
Furthermore there is no enforcement of write ordering for writes posted to the MAB
slightly before the Intel XScale processor (with MPI enabled) writes to the same exact
DDR memory location. In order to ensure a MAB write completes before the Intel
XScale processor (with MPI enabled) writes to the same exact DDR memory location,
the Intel XScale processor must perform a read of that location before performing a
write.
As stated above both masters must be performing writes to the same exact DDR
memory location at nearly the same time. There is no problem with one master reading
and one master writing the same exact DDR memory location at the same time.
Example:
Masters:
- Master on the Expansion Bus
- Intel XScale processor
Transactions:
1. Master on the expansion bus performs a write (destined for DDR) to the expansion
bus controller's internal queue.
2. Expansion bus controller initiates a South AHB write to the MAB, which is accepted in
the South AHB posted write queue.