cpu缓存中的一行和主内存中的页面(以及磁盘中的块)之间有什么关系?

cpu缓存中的一行和主内存中的页面(以及磁盘中的块)之间有什么关系?

计算机系统:程序员的视角(第二版)[Randal E. Bryant、David R. O'Hallaron]

一块是一个固定大小的信息包,在高速缓存和主存(或较低级别的高速缓存)之间来回移动。

行是高速缓存中的容器,用于存储块以及其他信息,例如有效位和标记位。

  1. 据我了解,块通常用作磁盘中的一个单元。这里使用的块和磁盘中的块之间有某种关系吗?它们的尺寸相同吗?

  2. 页框是主存储器中的一个单元。高速缓存中的块/行与主存中的页框之间有什么关系?它们的尺寸相同吗?

谢谢。

答案1

您询问的所有这些尺寸都是可变的,并且是特定于实现的。

不,在这种情况下使用“块”与永久存储设备上的块大小无关。在这种情况下,块是一次可以修改的最小位数。例如,如果文件系统上的块大小为 16KB,则任何文件占用的空间都不能小于 16KB。

https://stackoverflow.com/questions/8537579/file-system-block-size

我不太熟悉缓存块和内存页之间的关系,但大概缓存行将小于或等于内存页,因为缓存是内存中数据的子集。

相关内容