
UNIFIED CACHE & INTERNAL SRAM
S3C3410X RISC MICROPROCESSOR
5-4
CACHE DISABLE OPERATION
The S3C3410X cache can support the programmable entire-cache-enable/disable mode. Users can enable the
cache by setting the value of CE bit in SYSCFG to "1", and disable it by clearing the value of SYSCFG to "0".
When the cache disable mode is selected, the instruction and data should always be fetched from the external
memory. The S3C3410X can also support the option for cache size of 0KB, 2KB, and 4KB by the Cache Mode
bits(SYSCFG[16:15]]). When the reset, the default status is 4KB cache. If users specify the less cache size than
4KB, the remained memory can be used as an internal SRAM.
That is to say, if you want to use the internal memory as an internal SRAM, the memory allocation table of the
internal SRAM is as follows:
Item
Address
Comment
Internal SRAM
(SFR start address) – (SFR start address + 0x7ff)
2KB
(SFR start address + 0x800 ) – (SFR start address + 0xfff)
2KB
The S3C3410X can support the WT(Write Through) to maintain the coherency between the cache and main
memory. When ever the CPU updates the cache memory, the cache controller should issue the updating cycle of
main memory content through the memory controller, automatically. Users should also be cautious about the
data coherency when they specify the cacheable region. For example, if the DMA has the possibility to update
the memory content, the memory region should be non-cacheable.
WRITE BUFFER OPERATION
The S3C3410X has four Write Buffer Register to enhance the performance. The role of write buffer is as follows:
When the CPU try to write its data into the external memory, the memory controller can not execute the memory
cycle if some other master, for example, DMA is using the external bus. In this case, the performance will be
degraded if the CPU and memory controller should wait the bus free. To avoid this situation, the S3C3410X has
internal four-depth Write Buffer Register. In this case, the CPU should write its data into the Write Buffer Register
and execute its next operation. If the bus is free, the Write Buffer Register requests the bus cycle to memory
controller. The Write Buffer also need the TAG address of A[26:0] because the Write Buffer should return the
accessed data to the CPU when the CPU requests the Read operation again before the data update into the main
memory.