Frozen
|
The XTheadCmo extension is stable .
|
The XTheadCmo
ISA extension provides cache management operations.
Extension version: 1.0.
The table below gives an overview of the instructions:
RV32 | RV64 | Mnemonic | Instruction | HW requirements |
---|---|---|---|---|
Y |
Y |
th.dcache.call |
D-cache |
|
Y |
Y |
th.dcache.ciall |
D-cache |
|
Y |
Y |
th.dcache.iall |
D-cache |
|
Y |
Y |
th.dcache.cpa rs1 |
D-cache |
|
Y |
Y |
th.dcache.cipa rs1 |
D-cache |
|
Y |
Y |
th.dcache.ipa rs1 |
D-cache |
|
Y |
Y |
th.dcache.cva rs1 |
D-cache, MMU |
|
Y |
Y |
th.dcache.civa rs1 |
D-cache, MMU |
|
Y |
Y |
th.dcache.iva rs1 |
D-cache, MMU |
|
Y |
Y |
th.dcache.csw rs1 |
D-cache |
|
Y |
Y |
th.dcache.cisw rs1 |
D-cache |
|
Y |
Y |
th.dcache.isw rs1 |
D-cache |
|
Y |
Y |
th.dcache.cpal1 rs1 |
D-cache, 2nd level cache |
|
Y |
Y |
th.dcache.cval1 rs1 |
D-cache, 2nd level cache, MMU |
|
Y |
Y |
th.icache.iall |
I-cache |
|
Y |
Y |
th.icache.ialls |
I-cache, multicore |
|
Y |
Y |
th.icache.ipa rs1 |
I-cache |
|
Y |
Y |
th.icache.iva rs1 |
I-cache, MMU |
|
Y |
Y |
th.l2cache.call |
D/I-cache, 2nd level cache |
|
Y |
Y |
th.l2cache.ciall |
D/I-cache, 2nd level cache |
|
Y |
Y |
th.l2cache.iall |
D/I-cache, 2nd level cache |
The last column of the table above names the HW requirements of the instructions.
E.g. to clean the data cache using dcache.call
, a D-cache is required.
Instructions that are executed without the required HW requirements available
(e.g. l2cache.call
on a system without a L2 cache) do not chance any architecturally
visible state, except for advancing the program counter and incrementing any applicable
performance counters (i.e. it behaves like executing a NOP
instruction).
xtheadcmo/dcache_call.adoc <<< xtheadcmo/dcache_ciall.adoc <<< xtheadcmo/dcache_iall.adoc <<< xtheadcmo/dcache_cpa.adoc <<< xtheadcmo/dcache_cipa.adoc <<< xtheadcmo/dcache_ipa.adoc <<< xtheadcmo/dcache_cva.adoc <<< xtheadcmo/dcache_civa.adoc <<< xtheadcmo/dcache_iva.adoc <<< xtheadcmo/dcache_csw.adoc <<< xtheadcmo/dcache_cisw.adoc <<< xtheadcmo/dcache_isw.adoc <<< xtheadcmo/dcache_cpal1.adoc <<< xtheadcmo/dcache_cval1.adoc <<< xtheadcmo/icache_iall.adoc <<< xtheadcmo/icache_ialls.adoc <<< xtheadcmo/icache_ipa.adoc <<< xtheadcmo/icache_iva.adoc <<< xtheadcmo/l2cache_call.adoc <<< xtheadcmo/l2cache_ciall.adoc <<< xtheadcmo/l2cache_iall.adoc