I am reading The RISC-V Instruction Set Manual Volume I: Unprivileged ISA and i encountered a very strange statement to me. In subsection 1.4 Memory at the end of fifth paragraph is stated "Vacant locations in the address space are never accessible." I am a bit confused and searched about that but i couldn't come up with any conclusion. It would be appreciated if you share your idea with me.
Why Vacant locations in the address space are never accessible in RISC-V ISA?
259 Views Asked by ahmad sedigh At
1
There are 1 best solutions below
Related Questions in RISCV
- Issues in Migration of RISCV Test Harness from VCS to Questasim Simulator
- How do MemReq and MemResp exactly work in RoccIO - RISCV
- RISC-V RV32I soft float lib calls MUL and MULHU instructions in __muldf3
- Object code generation for new RISCV instruction emitted by LLVM backend
- Configuring pocl for RISCV
- Deploy C executable on PetaLinux for Rocket Chip on Zynq FPGA
- Chisel tools installation; Unable to fint scct
- Zybo build utilization of fpga
- How to synthesize a Rocket system?
- How to design a Z-scale/Cortex M0-like system using Rocket Chip?
- Pulpino ModelSim issue vsim_auto_compile.so 32bit Ubuntu
- Building Tiles in chiesl (RocketChip)
- Building same Image for multiple machines using conf file
- How do I use the RISC-V Vector (RVV) instructions in LLVM IR?
- Error when buiilding Binutils for RISCV Cross Compiler
Related Questions in INSTRUCTION-SET
- Real-world analog to TIS-100
- What is the simplest Turing complete CPU instruction set which can execute code from ROM?
- How can I get the number of instructions executed by a program?
- Can't Compile for MIPS or ATOM with gcc
- Factors in designing Instruction set Arcitecture
- Transpiling to C vs C++ : range of CPU instructions
- Instruction execution latencies for A53
- Understanding FMA instructions performance
- Questions about adding jal instruction to mips single cycle datapath
- opcode of transfer from memory to register
- Instruction Encoding relating to MARIE Assembly language
- What instruction set does the Nvidia GeForce 6xx Series use?
- Clang vs gcc floating point performance on ARM
- MSP430 SWAP bytes explanation assembly
- Where is an ISA stored and how exactly is it taken into account?
Related Questions in RISCV32
- Access rights in RISC-V linkerscripts
- Minimum CSR requirements to run Linux
- "Properly" dereferencing pointer to address zero in RISC-V
- Creating Cache Conflict in assembly
- Pipelining stalls and data-forwarding
- Concatenate values to float64 in RISC V
- How do I store or load by byte unit into memory when using “riscv32-unknown-elf-gcc”?
- SPI test case in C for Pulpissimo
- Shift 32 bit Numbers on a 16 bit Datapath
- [LLVM][RISCV] Easy way to promote byte loads/stores to word/dword loads/stores?
- Executing dynamically generated code on RISC-V
- Compiling rv32i Code includes compressed Instructions
- Unrecognized opcode in creating custom RISC-V instruction
- Extend risc-v instructions on QEMU
- Running GCC compiled code on custom machine. cant find sp initialization in assembly
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is by definition. From the second paragraph in section 1.4:
So, this is saying that there may be address ranges that have neither memory nor I/O devices: and these are called vacant locations.
And further that such vacant locations are inaccessible meaning that attempting to access them will fault (cause an exception).
The hart is (programmable by the operating system to be) aware of three kinds of address ranges: main memory, I/O devices, and vacant (i.e. neither). Attempts to execute a load or a store at a vacant location will fault because there's nothing there to access, and the hart knows this (i.e. it has been told what ranges are valid/invalid).