Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
Document Table of Contents

4.3.5.3. TBU with Cache Stashing

In the TBU and TCU Instances and Connectivity table, TBU Wrapper 1: TBU is enabled to support cache stashing feature for better system performance. Since the current PSS NOC does not support ACE5 protocol, which has the cache stash interface, TBU Wrapper 1 implements MUX logic to drive cache stash-related signals to TBU’s subordinate interface from the configuration register. The configuration registers are present in the System Manager block, and drive the parallel signals of various control and data values to the MUX logic. The System Software/IP Driver enables the cache stashing transactions with knowledge of the traffic pattern of the manager device. When the cache stashing register bit is set, all transactions from the manager are enabled for cache stashing.

Another option of cache stashing can be driven by the manager through AWUSER[n] bit. When the AWUSER[n] bit corresponding to cache stash is set, the MUX logic drives cache stash interface signals from configuration register. This mechanism gives better control to the manager on deciding which transactions can or cannot be sent out for cache stashing.

The legal combination of signals driven over ACE-Lite interface when cache stashing is enabled is shown in the following table.

Table 97.  Permitted Stash Write Transaction Signal Combinations

Stash

Transaction

AWSNOOP

AWBAR[0]/

AWLock

AWDOMAIN AWCACHE[1]

AWLEN/

AWSIZE

WriteUniquePtlStash

0b1000

0b0

0b10

0b1

Cache line or smaller

WriteUniqueFullStash

0b1001

0b0

0b10

0b1

Cache line sized

Cache stash transactions are sent over AW channel with or without and associated transfer on W channel.

Based on the Permitted Stash Write Transaction Signal Combinations table, the corresponding ACE5-Lite signals are driven to the TBS interface as shown in the following figure:
Figure 36. Cache and Lock Signals at TBU input

The domain signal is driven from the register value. It is the system software’s responsibility to configure the register value correctly as per interface requirement.

The other stash-related signal definitions are shown in the following table.

Table 98.  Cache Stash Signals
Signal Description
AWSTASHNID[10:0]

Indicates that the Node Identifier of the physical interface that is the target interface for the stash operation.

It must be driven zeros when AWSTASHNIDEN is deasserted.

AWSTASHNIDEN

When this signal is asserted, it indicates that the AWSTASHNID signal valid and should be used.

AWSTASHLPID[4:0]

Indicates that the Logical Processor Identifier of the subunit that is associated with the physical interface that is the target interface for the stash operation.

It must be driven zeros when AWSTASHLPIDEN is deasserted.

AWSTASHLPIDEN

When this signal is asserted, it indicates that the AWSTASHLPID signal valid and should be used.

The following rules apply to the AW channel signaling associated with the Cache_Stash_Transactions property:

  • AWSTASHNIDEN and AWSTASHLPIDEN must be both present or both absent
  • AWSTASHNID and AWSTASHLPID must either be present or both absent

Altera does not recommend to send stash transaction to a stash target that does not support cache stashing.

The supported combination of AWSTASHNIDEN and AWSTASHLPIDEN are given in the following table.

Table 99.  Supported Combinations of AWSTASHNIDEN and AWSTASHLPIDEN
AWSTASHNIDEN AWSTASHLPIDEN Permitted behavior Supported?
0 0

Permitted for a

WriteUniqueStash transaction

Yes
1 0

Permitted for a

WriteQniqueStash transaction

Yes
0 1

Not Permitted for a ACE5-Lite interface

No
1 1

Permitted for a

WriteUniqueStash transaction

Yes
The Stash transaction is permitted to send without a stash target. For this scenario, the following behavior for the WriteUnique transaction:
  • If the interconnect is able to determine that the cache line is held in a single cache before the write occurs, the stash the cache line back to that cache.
  • If the cache line is not held in any cache line before the write occurs, then stash the line in a shared cache.

The stash transaction of WriteUniqueStash, AW channel carries address and other control and data information and a single response is provided in the B channel. The response must be provided after address has been accepted.

The WriteUniquePtlStash and WriteUniqueFullStash transactions does not impose any additional constraints on the use of AXI ID values.