数一数一次访问要访存几次
算出「有页表、没有任何缓存」时,一次内存访问实际要访存几次;再和「不用虚拟内存」比一比。
开始练习 →
MMU 是什么
MMU 是【0】。
开始练习 →
MMU 怎么知道该查哪张表
机器上跑着好几个程序,各有各的页表。MMU 靠【0】知道该用哪一张。
开始练习 →
MMU 发现翻不出来会怎样
MMU 查表发现这一页不在内存里,它会【0】。
开始练习 →
换一张表,同一个地址翻到别处
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 TABLES = {"甲": {0: 3}, "乙": {0: 7}} current = "甲" a = TABLE
开始练习 →
翻不出来的那次
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: 3, 1: 0, 2: 5} def split(va): return va // PAGE, va % PAGE def translate(v
开始练习 →
自己写:一个带表寄存器的 MMU
实现一个 MMU:换页表只要改一个变量,翻译时用当前那张表。
开始练习 →
数一数切换了几次表
一串访问里夹着几次程序切换。数出「翻译次数 / 切换次数」。
开始练习 →
⚠️ 忘了换表会翻错
切换到「乙」之后,MMU 却还在用「甲」那张表。⚠️ 它照样翻得出地址——把正确的和错误的都打出来。
开始练习 →
TLB 是什么
TLB 是【0】。
开始练习 →