gpt4 book ai didi

memory - 澄清 : Processor operates at 800 Mhz and 200Mhz DDR RAM

转载 作者:行者123 更新时间:2023-12-04 06:42:15 26 4
gpt4 key购买 nike

我有一个评估套件,它具有 ARM Cortex-A8 内核的实现。处理器数据表指出它具有

ARM Cortex A8™ core, which operates at speeds as high as 800MHz and Up to 200MHz DDR2 RAM.



我可以从这个系统中得到什么?我是否正确地假设内存访问将成为瓶颈,因为它仅以 200MHz 运行?

需要更多关于如何解释这一点的信息。

最佳答案

处理器与内部缓存(实际上是几个)一起工作,它可以“全速”访问。缓存很小(通常为 8 到 32 KB)并且由来自外部 RAM 的块(“缓存线”)填充(缓存线将是几十个连续字节)。当代码需要一些当前不在缓存中的数据时,处理器将不得不从主 RAM 中获取该行;这称为缓存未命中。

从主 RAM 获取缓存行的速度由两个参数描述,称为延迟和带宽。延迟是从处理器发出请求到收到第一个缓存行字节之间的时间量。典型的延迟约为 30ns。在 800 MHz 时,30ns 意味着 24 个时钟周期。带宽描述了每纳秒可以在总线上发送多少字节。 “200 MHz DDR2”意味着总线时钟将以 200 MHz 运行。 DDR2 RAM 每个周期可以发送两个数据元素(因此每秒可以发送 4 亿个元素)。带宽则取决于 CPU 和 RAM 之间有多少线:使用 64 位总线和 200 MHz DDR2 RAM,在理想条件下您可能希望达到 3.2 GBytes/s。因此,虽然获取第一个字节需要相当长的时间(相对于 CPU 可以执行的操作而言延迟很高),但缓存行的其余部分被读取得非常快。

在另一个方向:CPU 将一些数据写入其缓存,并且一些电路会在空闲时将修改传播到主 RAM。

上面的描述过于简单;缓存和缓存管理是一个复杂的领域。底线如下:如果您的代码使用内存中的大数据表并以看似随机的方式访问它们,那么应用程序将会很慢,因为大部分时间处理器只会等待来自主内存的数据。另一方面,如果您的代码可以在很少的 RAM 下运行,不到几十 KB,那么它很可能大部分时间都在最内部的缓存中运行,而外部 RAM 速度将不重要。以与缓存一起运行良好的方式进行内存访问的能力称为引用的局部性。

Wikipedia page on caches有关缓存问题的介绍和指针。

(大型预计算表在 80 年代是一种常见的优化技巧,因为当时处理器并不比 RAM 快,而且单周期内存访问是规则。这就是为什么 8 MHz 摩托罗拉 68000 CPU 没有缓存的原因。但是现在早就不见了。)

关于memory - 澄清 : Processor operates at 800 Mhz and 200Mhz DDR RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com