- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当发生高速缓存未命中时,CPU 从主内存中取出整个高速缓存行到高速缓存层次结构中。 (在 x86_64 上通常为 64 字节)
这是通过数据总线完成的,在现代 64 位系统上只有 8 字节宽。 (因为字长是 8 字节)
编辑:在这种情况下,“数据总线”是指 CPU 芯片和 DRAM 模块之间的总线。该数据总线宽度不一定与字长相关。
根据策略,首先获取实际请求的地址,然后依次获取缓存行的其余部分。
如果有一个 64 字节宽度的总线,它会更快,这将允许一次获取整个缓存行。 (这将是字大小的八倍)
也许可能有两种不同的数据总线宽度,一种用于标准缓存线获取,另一种用于仅适用于字大小内存访问的外部硬件 (DMA)。
限制数据总线大小的限制是什么?
最佳答案
我认为 DRAM 总线宽度扩展到 AMD64 之前的当前 64 位。巧合的是它与字号匹配。 (P5 Pentium 已经 guaranteed atomicity of 64-bit aligned transfers ,因为它可以通过其 64 位数据总线轻松做到这一点。当然,这仅适用于该 32 位微体系结构上的 x87(以及后来的 MMX)加载/存储。)
见下文:High Bandwidth Memory确实使用更宽的总线,因为对事物的时钟频率有限制,并且在某些时候使它成为大规模并行确实变得有利。
It would seem much faster if there was a bus with 64 byte width , which would allow to fetch a whole cache line at once.
Based on the address lines a2and a3 the content of one columnis then made available to the data pin of the DRAMchip.This happens many times in parallel on a numberof DRAM chips to produce a total number of bits correspondingto the width of the data bus.
Perhaps there could be two different data bus widths, one for the standard cache line fetching and one for external hardware (DMA) that works only with word size memory access.
关于caching - 为什么没有与缓存线大小一样宽的数据总线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182060/
我正在为一项新业务设计一个系统,并且处于一个独特的“全权委托(delegate)”位置。 与所有企业一样,它计划持续很长时间并发展到不确定的规模。 是否值得全力以赴开发一个具有显式数据和服务总线的完整
我是一名优秀的程序员,十分优秀!