内存
1.地址空间
RISC-V线程可以单字节寻址2 XLEN 字节内存地址空间。
类型 | 字节数 |
---|---|
半字 | 2字节 |
字 | 4字节 |
双字 | 8字节 |
四字 | 16字节 |
内存地址空间是环形的,也就是地址2XLEN-1地址空间和0地址空间是相邻的。关于内存地址计算时忽略溢出。
可执行环境将硬件资源映射到线程的地址空间(address space),线程地址空间的不同范围可能是:1)空;2)包含主存;3)包含一个或多个I/O设备;
读I/O设备有显著副作用,访问主存没有。因此,虽然可执行环境可以将线程地址空间每一部分都称为I/O设备空间,但通常希望将某些空间设定为主存。
RISC-V平台有多个线程时,任何两个线程的地址空间可能是完全一样,或者完全不同,或者部分相同来共享一些资源。
裸机可执行环境,每个线程地址空间完全一样;
包含地址转换的操作系统,通常每个线程被分配一个虚拟地址空间 ,是自己独有的。
2.隐式和显示内存访问
执行每一条指令需要一次或多次访问内存。具体分为显示和隐式访问。
- 为了执行指令,需要隐式读指令内存(取指)操作,为了获得需要执行的编码指令。许多RISC-V指令除了取指令操作不再进一步访问内存。
- 但是&#x