SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The program cache is always enabled and treats all ARP32 accesses as cacheable.
For cache hits the interface between ARP32 and program cache can handle back-to-back requests with 0 cycle latency to provide full throughput and program execution for the ARP32. For cache misses, the cache controller stalls ARP32, and internally submits a 32-bit OCP request (through the demand-based prefetch (DBP) block). After the 32-bit cacheline returns, the program cache returns the appropriate data to the ARP32 and starts the CPU.
For CPU-generated miss requests (not software-direct preload), the DBP block snoops the internal request and either services the request directly or schedules a miss+prefetch operation to the system.
Figure 8-9 shows the program cache block diagram.