A trans-splitter object should be inserted between two caches if the higher-level cache has a larger cache line size than the lower-level cache, or between the processor and the id-splitter object if you have a processor that can do unaligned accesses or accesses larger than one cache line. It splits cacheable transactions that span more than one naturally aligned next-cache-line-size bytes big lines into multiple transactions that each fit within one line.
conf_object, log_object, timing_model
- cell-change
- Notifier that is triggered after the object's cell was changed.
- object-delete
- Notifier that is triggered just before Simics object is deleted.
- queue-change
- Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
-
cache
-
Required attribute;
read/write access; type:
o|n
Cache to which the splitter is connected.
-
next_cache_line_size
-
Required attribute;
read/write access; type:
i
Cache line size used for splitting transactions.
-
transactions
-
Optional attribute;
read/write access; type:
i
Total number of transactions processed.
-
split_transactions
-
Optional attribute;
read/write access; type:
i
Number of split transactions.
-
timing_model
-
Required attribute;
read/write access; type:
o|n
Object listening on transactions coming from the splitter.
g-cache