如何找到虚拟页偏移量的值、虚拟页号的值等?

How can I find the value of the virtual page offset, the value of the virtual page number, and others?

我无法理解查找虚拟页偏移量的过程、物理页偏移量的值和虚拟页码

我试过查看各个地方,但找不到任何示例或公式来查找以下参数。下面是一个问题示例,但我从实际问题中省略了虚拟地址。

给定一个具有以下规格的虚拟内存系统:

如果CPU发出以下虚拟地址:(一些十六进制数)

  1. 什么是虚拟页偏移量?
  2. 物理页面偏移量的值是多少?
  3. TLB 标签的值是多少?
  4. TLB 索引的值是多少?
  5. 虚拟页码的值是多少? (二进制答案)

把十六进制数转成二进制后,我迷路了。如何找到虚拟页面偏移量?虚拟页偏移量和物理页有什么区别,如何找到物理页的值?

我认为TLB标签是VPO和PPO之后的剩余数字,但我需要先知道如何获得VPO和PPO。我不确定 TLB 索引是什么。 VPN 是其中一些答案的组合,但我不确定是哪一个。

如果将集合关联更改为 2 路 TLB 会怎样?这会改变我查找这些值的方式吗?

最后,如果给我一个 2-way set associative TLB 和一个页面 table,上面的信息相同,我如何确定是否存在页面错误?据我了解,如果有 TLB 命中,则没有页面错误,但如果没有,我该如何确定呢?他还讲了一个物理地址,找这个是什么过程?

What is the virtual page offset?

地址MOD页面大小

What is the value of the physical page offset?

地址/页面大小

What is the value of the TLB tag?

根据您提供的内容未知。

What is the value of the TLB index?

根据您提供的内容未知。

What is the value of the virtual page number? (Answers in binary)

地址/页面大小

What is the virtual page offset?
What is the value of the physical page offset?

VPO 是页面中一个字节的地址。关于物理页,一般称为帧,但偏移量定义相同。
VPO = VAdr % PageSize

What is the value of the TLB tag?
What is the value of the TLB index?

TLB 索引将 VAdr 映射到 TLB 集。
Number-of-sets = number-of-TLB-entries / number-of-ways
ìndex-size =log_2(number-of-sets)
TLB tag是虚拟地址中剩余的MS位

What is the value of the virtual page number?

虚拟页数 = 虚拟地址 / 页面大小

如果地址是二进制的 abdefghijklmnopq 其解释为 (TLBTag,TLBidx,VPO)(abdefghij,kl,mnopq) 并且虚拟页面地址是 abdefghijkl.

What happens if the set associative is changed to a 2 way TLB? does that change the way I find these values?

如果条目数不变,则将集合数除以 2 并向 TLBIdx 添加一位(并从 TLBTag 中删除一位)。

Finally, If I were given a 2-way set associative TLB and a page table with the same information above, how can I determine if there is a page fault or not? From what I understand, if there is a TLB hit there is no page fault, but if not, how can I determine this?

如果有 TLB 命中,则没有页面错误。如果存在 TLB 未命中,则必须通过查看进程页 tables 来生成页地址。这些 tables 表示虚拟页面地址和逻辑页面地址之间的对应关系,以及页面是在内存中还是交换到磁盘。如果页面交换到磁盘,这是一个 页面错误 。这会产生异常,OS 必须将页面写回内存。

He also talks about a physical address, what is the process of finding this?

对于像您这样的简单情况,它可以只是 table 查找。页地址为11位宽,2048个条目table表示对应物理帧的地址。在实际系统中,这更复杂,通常涉及多个级联 table。