fix: chapter1_riscv.md typo.

pull/1/head
xzcxzcyy 3 years ago committed by Gitee
parent 7518966eb1
commit 3bbc0814a8
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -123,7 +123,7 @@ RISC-V汇编指令的格式与8086汇编是截然不同的。以最基础的加
`asm(“statements”);`
该语句中“asm”也可以由“__asm__”来代替。在“asm”后面有时也会加上“__volatile__”表示编译器不要对括弧内的汇编代码进行任何优化保持指令的原样。“asm”后面括号里面的便是汇编指令。例如
该语句中“asm”也可以由“\_\_asm\_\_”来代替。在“asm”后面有时也会加上“\_\_volatile\_\_”表示编译器不要对括弧内的汇编代码进行任何优化保持指令的原样。“asm”后面括号里面的便是汇编指令。例如
```
asm(“li x17,81”); //将立即数81存入x17寄存器
@ -609,7 +609,7 @@ csrw medeleg, 1<<0 | 1<< 3 | 1<<8 | 1<<12 | 1<<13 | 1<<15
图1.6 Sv39中逻辑地址的结构
从图1.6中,我们看到逻辑地址在切分后,从左到右依次的分布是12位的page offset即页内偏移、9位的一级虚页号VPN[0]Virtual Page Number、9位的二级虚页号VPN[1]Virtual Page Number、9位的三级虚页号VPN[0]Virtual Page Number。其中的一级虚页号又常被称为页表Page Table简写为PT编号而二级和三级虚页号又常分别被称为页目录Page Directory简写为PD和根目录编号。
从图1.6中,我们看到逻辑地址在切分后,从右到左依次的分布是12位的page offset即页内偏移、9位的一级虚页号VPN[0]Virtual Page Number、9位的二级虚页号VPN[1]Virtual Page Number、9位的三级虚页号VPN[2]Virtual Page Number。其中的一级虚页号又常被称为页表Page Table简写为PT编号而二级和三级虚页号又常分别被称为页目录Page Directory简写为PD和根目录编号。
页内偏移为12位这很容易理解因为我们的基础页的大小是4KB的其地址长度就是12位。但是为什么我们的VPN都是9位的呢这是因为我们的页表或者页目录是需要保存在内存物理页面中的而4KB大小的基础页能够保存的页表项Page Table Entry简称为PTE或页目录项Page Directory Entry简称为PDE的个数是512=2^9为了讲清楚这个问题我们需要进一步观察图1.7中PTE或PDE的格式。

Loading…
Cancel
Save