4/29/2020
Loongson 3A3000 / 3B3000 Processor User Manual
29
31
Page 36
Godson 3A3000 / 3B3000 Processor User Manual • Volume 1
32
4 Shared Cache (SCache)
The SCache module is a three-level cache shared by all processor cores within the Loongson 3A3000 / 3B3000 processor.
The main features of the SCache module include:
•
Using 128-bit AXI interface.
•
16 items Cache access queue.
•
Keywords first.
•
Fastest 12 beats from receiving a read invalid request to returning data.
•
Support Cache consistency protocol through the directory.
•
It can be used for on-chip multi-core structure, and can also be directly connected with single processor IP.
•
The 16-way group connection structure is adopted.
•
Support ECC check.
•
Support DMA consistent read and write and prefetch reading.
•
Support 16 kinds of shared cache hashes.
•
Support sharing cache by window lock.
•
Ensure that read data returns atomicity.
Shared Cache module includes shared Cache management module scachemanage and shared Cache access module
scacheaccess. The Scachemanage module is responsible for processor access requests from the processor and DMA, and the shared cache
The TAG, directory and data are stored in the scacheaccess module. In order to reduce power consumption, Cache TAG,
The directory and data can be accessed separately. The shared Cache status bit and w bit are stored with the TAG, and the TAG is stored in the TAG RAM
In, the directory is stored in DIR RAM, and the data is stored in DATA RAM. Invalid request to access shared cache and read at the same time
Get out the TAGs and directories of all roads, and select the directories according to TAG, and read the data according to the hits. Replace request, re
The fill request and write back request only operate the TAG, directory and data along the way.
In order to improve the performance of some specific computing tasks, the shared cache adds a lock mechanism. Shares that fall in the locked area
The Cache block will be locked, so it will not be replaced by the shared Cache (unless the 16-way shared Cache is locked)
The four groups of lock window registers in the shared Cache module can be dynamically configured through the chip configuration register space, but
It must be ensured that one of the 16-way shared cache must not be locked. The size of each group of windows can be adjusted according to the mask,
However, it cannot exceed 3/4 of the size of the entire shared cache. In addition, when the shared cache receives the DMA write request, if it is written
The area is hit and locked in the shared cache, then the DMA write will be written directly to the shared cache instead of memory.