由于处理器内部的缓存提高了指令执行速度。我想知道如果我们将缓存的大小增加到许多MB(如1 GB)会怎样。可能吗?如果增加高速缓存大小总是会导致性能提高?较大的高速缓存大小是否总能提高性能?
8
A
回答
3
这是一种简化,但是,主要的原因之一缓存增加“速度”是,它提供了一种快速存储器非常靠近处理器 - 这是快得多比主存储器访问。因此,从理论上讲,增加缓存的大小应该允许将更多的信息存储在这个“快速”内存中,从而提高性能。在现实世界中,事情明显要比这更复杂,当然也会有增加的复杂性和成本,在如此大的高速缓存关联,并且与处理问题就像高速缓存一致性,高速缓存算法等
3
有缓存大小之间的权衡,打一方率和阅读与功耗上的延迟另一个。因此,第一个问题的答案是:技术上(可能)是可能的,但不太可能有意义,因为现代CPU中L3缓存的大小仅为几MB,读取延迟大约为几十个周期。
性能取决于比缓存大小更多的内存访问模式。更确切地说,如果程序主要是顺序的,缓存大小并不是什么大问题。如果有相当多的随机访问(例如当关联容器被积极使用时),缓存大小真的很重要。
以上是单一计算任务如此。在具有多个活动进程的多进程环境中,由于进程间争用的减少,更大的缓存大小总是更好。
相关问题
- 1. 缓存是否总能提高性能?
- 2. 高速缓存行大小
- 3. 缓存是否可以提高性能?
- 4. 高速缓存性能
- 5. 高速缓存内存大小限制
- 6. MySQL提高性能大表
- 7. OPENMP块和高速缓存大小
- 8. 数据是否加载到与高速缓存行大小对齐的高速缓存中?
- 9. wso2 esb高速缓存中介性能
- 10. 提高Mule中的缓存性能
- 11. 提高性能/速度
- 12. 提高性能的一大MySQL表
- 13. 使用Smarty +缓存提高性能?
- 14. 工作灯:加密的高速缓存大小总是增加 - 销毁不行
- 15. Firebase - 缓存是否可以提高性能?
- 16. 在服务器上缓存数据是否会提高性能?
- 17. SyntaxNet处理大量句子,GPU是否提高性能?
- 18. 如何提高大数据性能?
- 19. 在大型表上提高iScroll性能
- 20. 复制高速缓存中的数据大于一个高速缓存行
- 21. 将大型IIAF分割为更小的函数是否可以提高性能?
- 22. 使用spring高速缓存的属性高速缓存
- 23. 堆栈保留大小和堆栈提交大小是否会增加提高应用程序性能?
- 24. 如何最小化Android应用高速缓存大小
- 25. 将较大的图片切分成较小的图片会提高网络速度性能吗?
- 26. 如何提高包含大量小图片的UCollectionView的性能?
- 27. GPU(例如GTX 1080)中的寄存器文件大小是如何大于L2高速缓存大小的?
- 28. 的Java:增加YoungGen大小以提高GC性能
- 29. 提高PHP图像上传/调整大小脚本的性能
- 30. 高速缓存持久性
缓存大小确实很重要。对于intel而言,它的尺寸,更多的指示信息,这就是为什么它们具有12MB三级缓存的原因。对于amd游戏而言,只要处理器使用它,缓存就会清空并重新填充。这就是intel认为分配的原因。而amd不。无论如何,我都是先发制人。 – 2013-05-06 13:20:38