我想从DTS文件中了解以下内容。 OS/Kernel很新。什么是缓存大小和缓存行大小?
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,[email protected] {
device_type = "cpu";
reg = <0x0>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <16384>;
i-cache-size = <16384>;
timebase-frequency = <0>;
bus-frequency = <0>;
clock-frequency = <0>;
};
};
任何人都可以提供上面的简要说明吗?
我了解以下。 缓存块大小或缓存行大小:在缓存未命中时传输的数据量。指令缓存(I-cache):只能保存指令的缓存。数据缓存(D-cache):只能保存数据的缓存。
而且什么我缓存行大小是什么意思?
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <16384>;
i-cache-size = <16384>;
在某些dts文件中有如下引导加载程序的注释,如下所示。
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,[email protected] {
device_type = "cpu";
reg = <0x0>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <16384>;
i-cache-size = <16384>;
timebase-frequency = <0>; // from bootloader
bus-frequency = <0>; // from bootloader
clock-frequency = <0>; // from bootloader
};
};
如何从bootloader的哪个文件中找出? 使用的引导程序是U-boot。
谢谢。
谢谢你这么多TheCodeArtist。现在我明白他们在哪里填充。非常感谢。但是,这些行话是非常新的。我是嵌入式系统的新手。我的职责是启动,操作系统,驱动程序。很明显,需要了解上述内容的知识库。你可以推荐一些书籍来开始嵌入式(硬件,操作系统(内核),启动,驱动程序)? –
非常感谢TheCodeArtist。我刚刚了解了以下内容 “为了充分利用板载高速缓存和行大小(至32字节)”,“有效使用BIU以实现CPU与片上高速缓存之间最快的可能传输。” 精美的解释。你是我的上师。起初,我只是认为这些数字取自参考手册。现在我明白为什么这些价值。 –
很高兴得到了帮助。 :-) – TheCodeArtist