Data structures 在该CAM中保持平均查找时间所需的缓存命中率是多少

Data structures 在该CAM中保持平均查找时间所需的缓存命中率是多少,data-structures,average,lookup,Data Structures,Average,Lookup,我讨厌大学的一个问题,它把我彻底难倒了 系统通常进行某种查找;首先在CAM内存中,该内存始终占用m时间。命中的概率是P,如果没有命中,它将在主内存中的表中进行查找。查找是通过在向量中建立索引来完成的。在主存中查找总是导致命中,访问主存需要M时间 但是,在索引中用作键的值是分散的,因此向量最终会变得不必要的大。要解决此问题,向量将被另一个数据结构替换,该数据结构需要两个索引进行查找 问题:要使平均查找时间保持与旧数据结构相同,需要什么样的新命中概率?给出了5个选项,但可能不止一个选项是正确的 P_

我讨厌大学的一个问题,它把我彻底难倒了

系统通常进行某种查找;首先在CAM内存中,该内存始终占用m时间。命中的概率是P,如果没有命中,它将在主内存中的表中进行查找。查找是通过在向量中建立索引来完成的。在主存中查找总是导致命中,访问主存需要M时间

但是,在索引中用作键的值是分散的,因此向量最终会变得不必要的大。要解决此问题,向量将被另一个数据结构替换,该数据结构需要两个索引进行查找

问题:要使平均查找时间保持与旧数据结构相同,需要什么样的新命中概率?给出了5个选项,但可能不止一个选项是正确的

  • P_新=P+0.5
  • P_new=((P+1)M+Pm)(M+M)
  • P_new=(1-2P)/2
  • P_新=(P+1)*M/2
  • P_new=(P+1)/2

  • 如果有人知道其中哪一个是正确的(更重要的是,为什么它是正确的,而其他的不正确),我将非常感谢你能给我启发。

    Soo最后用前面一个问题的答案解决了这个问题,该问题将平均查找时间公式定义为T=(1-p)M+M

    由于时间T在这两种情况下应该是相同的,唯一的区别是主内存中的查找现在需要两倍的时间,我们得到(1-p)M+M=(1-p_new)2M+M,然后可以简化

    (1-p)M=(1-p_新)2M

    1-p=2*(1-p_新)=2-2*p_新

    p-1=2*p_新-2

    p+1=2*p_新

    (p+1)/2=p_新

    如此正确答案是Nr_5