
4/29/2020
Godson 3A1000 Processor User Manual
127
Address 9
0x0000_0000_1FE0_01E0
0x0000_0000_1FE0_01E7
UART 0
Address 10 0x0000_0000_1FE0_01E8
0x0000_0000_1FE0_01EF
UART 1
Address 11 0x0000_0000_1FE0_01F0
0x0000_0000_1FE0_01FF
SPI
Address 12 0x0000_0000_1FE0_0200
0x0000_0000_1FE0_02FF
LPC Register
Address 13 0x0000_0000_1FE8_0000
0x0000_0000_1FE8_FFFF
PCI configuration space
Address 14 0x0000_0000_1FF0_0000
0x0000_0000_1FF0_FFFF
LPC I / O
Address 15 0x0000_0000_8000_0000
0x0000_0000_BFFF_FFFF
Memory controller 0
Address 16 0x0000_0000_C000_0000
0x0000_0000_FFFF_FFFF
Memory controller 1
Address 17 0x0000_0E00_0000_0000
0x0000_0FFF_FFFF_FFFF HT1 controller, various spaces
Address 18
Other address
System configuration space
145
Page 158
Godson 3A1000 Processor User Manual Part 2
15 System memory space distribution design
15.1 System memory space
Loongson 3A1000 processor has two memory controllers, if the address space can be interleaved in two memories
On the controller, it will bring benefits to the average access delay and average access bandwidth of the system, but it is subject to the configuration of the crossbar
To limit the number of windows, certain rules must be adopted to design a certain method for address space distribution.
Based on the above considerations, at the same time, in order to maintain the different needs of different memory space sizes of the Linux system, and ensure that the memory
The distribution is simple and beautiful, you can use the following rules to design the memory address space. Of course, according to the system designer
You can also customize the memory space distribution rules.
(1) No matter how big the memory size is, you must ensure that the lower 256MB of 0x0000_0000 – 0x0FFF_FFFF
space;
(2) In order to reserve the necessary direct access address space for IO devices, 0x1000_0000 – 0x1FFF_FFFF
Reserved for non-spatial address space;
(3) Therefore, the remaining part of the memory space of 1GB or more is defined according to the following formula:
Base = Size + 0x1000_0000
Limit = Size + Size-1
Among them, Base and Limit are the base address and high address of this space, Size is all memory
size.
For example, if the memory size is 1GB, the address space of the memory in the system is as follows: