Visible to Intel only — GUID: lxs1675135069863
Ixiasoft
3.3.1. General-Purpose Register File
3.3.2. Arithmetic Logic Unit
3.3.3. Multipy and Divide Units
3.3.4. Custom Instruction
3.3.5. Reset and Debug Signals
3.3.6. Control and Status Registers
3.3.7. Exception Controller
3.3.8. Interrupt Controller
3.3.9. Memory and I/O Organization
3.3.10. RISC-V based Debug Module
Visible to Intel only — GUID: lxs1675135069863
Ixiasoft
3.3.9.3.2. Data Cache
The data cache memory has the following characteristics:
- Direct-mapped cache implementation
- 32 bytes (8 words) per cache line
- Configurable size of 1, 2, 4, 8, and 16 KBytes
- The data manager port reads an entire cache line at a time from memory, and issues one read per clock cycle.
- Write-back
- Write-allocate (i.e., on a store instruction, a cache miss allocates the line for that address)
The data byte address size is 32 bit. The size of the tag and index field depends only on the size of the cache memory. The offset field is always five bits (i.e., a 32-byte line).
The Nios® V/g processor instruction set provides cache block management instructions for the data cache.
Instruction | Name | Operation | Encoding |
---|---|---|---|
cbo.clean <rs1> 1 2 | Clean Data Cache Address |
|
Refer to RISC-V Base Cache Management Operation ISA Extension. |
cbo.flush <rs1> 1 2 | Flush Data Cache Address |
|
|
cbo.inval <rs1> 1 2 | Invalidate Data Cache Address |
|
Instruction | Operation | Encoding |
---|---|---|
cbo.clean.ix <rs1>[ 3 |
|
Refer to Encoding for cbo.clean.ix |
cbo.flush.ix <rs1> 3 |
|
Refer to Encoding for cbo.flush.ix |
cbo.inval.ix <rs1>[ 3 |
|
Refer to Encoding for cbo.inval.ix |
Bit Field | ||||
---|---|---|---|---|
31:20 | 19:15 | 14:12 | 11:7 | 6:0 |
imm | rs1 | cbo | Reserved | misc-mem |
000010000001 | rs1 | 010 | 00000 | 0001111 |
Bit Field | ||||
---|---|---|---|---|
31:20 | 19:15 | 14:12 | 11:7 | 6:0 |
imm | rs1 | cbo | Reserved | misc-mem |
000010000010 | rs1 | 010 | 00000 | 0001111 |
Bit Field | ||||
---|---|---|---|---|
31:20 | 19:15 | 14:12 | 11:7 | 6:0 |
imm | rs1 | cbo | Reserved | misc-mem |
000010000000 | rs1 | 010 | 00000 | 0001111 |
1 Source register 1 (rs1) holds the 32-bit cache line address (tag, index, and offset).
2 If the specified cache line address is not found (cache miss), these instruction are implemented as nop, and does no changes to any cache lines.
3 Source register 1 (rs1) holds the cache line index, which can be 5 to 9-bits depending on the cache size.