EasyManua.ls Logo

Xilinx MicroBlaze - Privileged Instructions

Xilinx MicroBlaze
316 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MicroBlaze Processor Reference Guide 56
UG984 (v2018.2) June 21, 2018 www.xilinx.com
Chapter 2: MicroBlaze Architecture
MicroBlaze has a single cycle latency for accesses to local memory (LMB) and for cache read
hits, except with
C_AREA_OPTIMIZED set to 1 (Area), when data side accesses and data
cache read hits require two clock cycles, and with
C_FAULT_TOLERANT set to 1, when byte
writes and halfword writes to LMB normally require two clock cycles.
The data cache write latency depends on C_DCACHE_USE_WRITEBACK. When
C_DCACHE_USE_WRITEBACK is set to 1, the write latency normally is one cycle (more if the
cache needs to do memory accesses). When
C_DCACHE_USE_WRITEBACK is cleared to 0, the
write latency normally is two cycles (more if the posted-write buffer in the memory
controller is full).
The MicroBlaze instruction and data caches can be configured to use 4, 8 or 16 word cache
lines. When using a longer cache line, more bytes are prefetched, which generally improves
performance for software with sequential access patterns. However, for software with a
more random access pattern the performance can instead decrease for a given cache size.
This is caused by a reduced cache hit rate due to fewer available cache lines.
For details on the different memory interfaces, see Chapter 3, MicroBlaze Signal Interface
Description.
Privileged Instructions
The following MicroBlaze instructions are privileged:
GET, GETD,PUT,PUTD (except when explicitly allowed)
WIC, WDC
MTS, MTSE
MSRCLR, MSRSET (except when only the C bit is affected)
BRK
RTID, RTBD, RTED
BRKI (except when jumping to physical address C_BASE_VECTORS + 0x8 or
C_BASE_VECTORS + 0x18)
SLEEP, HIBERNATE, SUSPEND
LBUEA, LHUEA, LWEA, SBEA, SHEA, SWEA (except when explicitly allowed)
Attempted use of these instructions when running in user mode causes a privileged
instruction exception. When setting the parameter
C_MMU_PRIVILEGED_INSTR to 1 or 3, the
instructions
GET, GETD, PUT, and PUTD are not considered privileged, and can be executed
when running in user mode.
Send Feedback

Table of Contents

Other manuals for Xilinx MicroBlaze

Related product manuals