Memory 计算最坏情况下在内存中查找变量x的时间

Memory 计算最坏情况下在内存中查找变量x的时间,memory,memory-management,operating-system,tlb,Memory,Memory Management,Operating System,Tlb,我有一道考试题,但我不懂答案,有人能给我解释一下答案吗 内存访问时间=2.5*10^-7秒 秒内存时间=3*10^-6 TLB时间=10^-8 给定虚拟地址、值x和3级页表,在最坏的情况下从内存中读取x值需要多少时间 解决方案是:10^-8+2.5*10^-7+3*(3*10^-6+2*2.5*10^-7)+10^-8=1076*10^-7据我所知,没有计算内存访问最佳和最差时间的公式。但是,有多种因素会对其产生影响: 通道的宽度。在32位x86上,8位和32位访问往往比16位访问快 访问是否

我有一道考试题,但我不懂答案,有人能给我解释一下答案吗

内存访问时间=
2.5*10^-7秒

秒内存时间=
3*10^-6

TLB时间=
10^-8

给定虚拟地址、值x和3级页表,在最坏的情况下从内存中读取x值需要多少时间


解决方案是:
10^-8+2.5*10^-7+3*(3*10^-6+2*2.5*10^-7)+10^-8=1076*10^-7

据我所知,没有计算内存访问最佳和最差时间的公式。但是,有多种因素会对其产生影响:

  • 通道的宽度。在32位x86上,8位和32位访问往往比16位访问快
  • 访问是否对齐。未对齐的访问往往比对齐的访问慢
  • 是否缓存访问的内存。对缓存内存的访问比对未缓存内存的访问快
  • 所访问内存的NUMA域。访问属于近NUMA域的内存比访问属于远NUMA域的内存要快
  • 是否启用分页。启用分页时访问内存涉及遍历分页结构,因此速度较慢
  • 内存的类型。例如,写入视频内存比写入“正常”内存慢。分别地,从视频存储器中读取要比从“正常”存储器中读取慢得多
  • 我忘了提到的其他因素。很难把它们全部记住

此外,这些因素中的每一个的影响都取决于底层硬件,因此很难发明一个计算最佳和最差内存访问时间的近似公式。

据我所知,没有计算最佳和最差内存访问时间的公式。但是,有多种因素会对其产生影响:

  • 通道的宽度。在32位x86上,8位和32位访问往往比16位访问快
  • 访问是否对齐。未对齐的访问往往比对齐的访问慢
  • 是否缓存访问的内存。对缓存内存的访问比对未缓存内存的访问快
  • 所访问内存的NUMA域。访问属于近NUMA域的内存比访问属于远NUMA域的内存要快
  • 是否启用分页。启用分页时访问内存涉及遍历分页结构,因此速度较慢
  • 内存的类型。例如,写入视频内存比写入“正常”内存慢。分别地,从视频存储器中读取要比从“正常”存储器中读取慢得多
  • 我忘了提到的其他因素。很难把它们全部记住

此外,这些因素的影响取决于底层硬件,因此很难发明一个计算最佳和最差内存访问时间的近似公式。

很明显,解决方案是执行2个TLB查找,7个内存访问,和3次辅助内存访问

以下是流程中的步骤:

1) CPU访问TLB以查找虚拟地址映射到的内存位置

2) CPU访问主内存以查找虚拟地址。这一步失败了

3) CPU访问页面文件(1次内存访问以获取页面文件,1次以上访问页面文件条目)

4) CPU从辅助内存读取以获取页面文件中引用的页面


5) 对页面表中的每个级别重复步骤3和4。

很明显,解决方案执行2次TLB查找、7次内存访问和3次辅助内存访问

以下是流程中的步骤:

1) CPU访问TLB以查找虚拟地址映射到的内存位置

2) CPU访问主内存以查找虚拟地址。这一步失败了

3) CPU访问页面文件(1次内存访问以获取页面文件,1次以上访问页面文件条目)

4) CPU从辅助内存读取以获取页面文件中引用的页面


5) 对页面表格中的每个级别重复步骤3和4。

我想知道哪些学校在考试中会问这样的无用问题。我想知道哪些学校在考试中会问这样的无用问题。