Answers:
Wikipedia文本的30K不能解释为什么缓存太大而不是最佳选择。当缓存太大时,在缓存中找到项目的延迟(缓存未命中的因素)开始接近在主存储器中查找项目的延迟。我不知道CPU设计人员的目标比例是多少,但是我认为这类似于80-20准则:您希望80%的时间在缓存中找到最常用的数据,而其他20种您必须去主存储器找到它的时间百分比。(或任何CPU设计人员预期的比例。)
编辑:我敢肯定它远不及80%/ 20%,所以用X和1-X代替。:)
一个因素是L1提取在TLB转换完成之前开始,以减少等待时间。通过足够小的缓存和足够高的方式,虚拟地址和物理地址之间的缓存索引位将相同。这可能会降低通过虚拟索引的,带有物理标签的缓存来维护内存一致性的成本。
缓存大小受许多因素影响:
电信号的速度(如果不是光速,应该是同一数量级):
经济成本(处于不同缓存级别的电路可能不同,某些缓存大小可能不值得)
如果L1高速缓存的大小在64kb之后没有变化,那是因为它不再值得了。还请注意,现在对缓存有了更大的“文化”,许多程序员编写了“缓存友好”代码和/或使用prefetech指令来减少延迟。
我曾经尝试创建一个简单的程序来访问数组(数兆字节)中的随机位置:该程序几乎冻结了计算机,因为对于每次随机读取,整个页面都从RAM移到了缓存中,因为这样做通常非常简单程序耗尽了所有带宽,却为OS留下了很少的资源。
我认为可以简单地总结一下,说缓存越大,访问速度就越慢。因此,较大的高速缓存根本无济于事,因为高速缓存旨在减少总线到RAM的慢速通信。
由于处理器的速度一直在迅速提高,因此相同大小的高速缓存必须执行得越来越快才能跟上它的步伐。因此,缓存可能会更好(就速度而言),而不是存储方面。
(我是一个软件专家,希望这不会错)
从一级缓存:
1级缓存或主缓存位于CPU上,用于临时存储按32字节块组织的指令和数据。主缓存是最快的存储形式。因为它是内置于具有零等待状态(延时)的芯片 接口到处理器的执行单元,它在尺寸上受到限制。
SRAM每位使用两个晶体管,只要电路通电,就可以在没有外部帮助的情况下保存数据。这与动态RAM(DRAM)相反,后者必须每秒刷新多次才能保存其数据内容。
英特尔的P55 MMX处理器于1997年初推出,因其1级缓存的大小增加到32KB而引人注目。当年晚些时候推出的AMD K6和Cyrix M2芯片通过提供64KB的1级缓存进一步提高了性能。尽管各种多核处理器可能会不同地使用它,但是64Kb仍然是标准的L1缓存大小。
编辑:请注意,这个答案是从2009年开始的,而CPU在过去10年中已发生了巨大的发展。如果您到达此职位,请不要在这里认真对待我们所有的答案。
实际上,L1缓存大小是现代计算机中最大的速度瓶颈。令人讨厌的L1高速缓存大小可能是价格的最佳选择,但不是性能的最佳选择。可以在GHz频率下访问L1高速缓存,这与处理器操作相同,而RAM访问速度要慢400倍。它在当前的二维设计中既昂贵又难以实施,但是,在技术上可行,并且第一家成功实现此目标的公司将使计算机的运行速度提高100倍,并且仍能保持凉爽运行,这将在许多方面产生重大创新领域,目前只能通过昂贵且难以编程的ASIC / FPGA配置进行访问。其中一些问题与数十年来的专有/ IP问题和公司贪婪有关,那里只有微不足道的,无效率的工程师干部,他们是唯一能够接触内部工作的干部,而且他们大多被下达命令,以挤出成本效益高昂,模糊的保护主义废话。过度私有化的研究总是会导致技术停滞或节流(正如我们在大型制造商的航空航天和汽车业中所看到的那样,并且不久将成为制药业)。有益于发明人和公众(而不是公司老板和股东)的开源,更明智的专利和商业秘密法规将在这里大有帮助。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。而大多数人则被下达命令,以挤出成本效益高昂,模糊的保护主义废话。过度私有化的研究总是会导致技术停滞或节流(正如我们在大型制造商的航空航天和汽车业中所看到的那样,并且不久将成为制药业)。有益于发明人和公众(而不是公司老板和股东)的开源,更明智的专利和商业秘密法规将在这里大有帮助。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。而大多数人则被下达命令,以挤出成本效益高昂,模糊的保护主义废话。过度私有化的研究总是会导致技术停滞或节流(正如我们在大型制造商的航空航天和汽车业中所看到的那样,并且不久将成为制药业)。有益于发明人和公众(而不是公司老板和股东)的开源,更明智的专利和商业秘密法规将在这里大有帮助。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。过度私有化的研究总是会导致技术停滞或节流(正如我们在大型制造商的航空航天和汽车业中所看到的那样,并且不久将成为制药业)。有益于发明人和公众(而不是公司老板和股东)的开源,更明智的专利和商业秘密法规将在这里大有帮助。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。过度私有化的研究总是会导致技术停滞或节流(正如我们在大型制造商的航空航天和汽车业中所看到的那样,并且不久将成为制药业)。有益于发明人和公众(而不是公司老板和股东)的开源,更明智的专利和商业秘密法规将在这里大有帮助。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。进行更大的L1高速缓存应该毫不费力地进行开发,并且应该并且可能已经在几十年前进行了开发。如果有的话,我们将在使用它们的计算机和许多科学领域取得更大的进步。