缓存是否具有CPU的字节序?

时间:2015-11-05 10:12:16

标签: cpu cpu-cache endianness

换句话说,L1,L2,L3等缓存是否总是反映其CPU的字节序

或者总是将数据存储在一些特定字节序的缓存中更有意义吗?

是否有一般设计决策

1 个答案:

答案 0 :(得分:4)

大多数现代缓存不会将数据存储为连续的字节块,而是由于布局规划或时序考虑而使用存储和交错技术。此外,大多数高速缓存采用纠错技术,因此可以将额外的位与数据交织。

因此,在讨论缓存的字节顺序时没有真正意义,因为内部顺序通常会受到设计考虑因素的影响。最重要的是,在大多数情况下,缓存以全线粒度提供数据,因此在询问您开始读取的偏移量时也没有意义。

最后,字节序是一个体系结构问题,它是你如何解释从CPU获得的数据。它的存在是为了描述您可以解释数据的可能选项。缓存是微架构的,因此根据定义,您的CPU功能行为应该对它们无视,并且它们可以自由地实现它们想要的任何内部结构。 如果你有一些方法可以在内部查看缓存,并希望将其转换为值,在这种情况下上述考虑适用,并且每个处理器可能不同,这个问题可能仍然有意义。