计算机系统:程序员的视角(第二版)[Randal E. Bryant、David R. O'Hallaron]说
一块是一个固定大小的信息包,在高速缓存和主存(或较低级别的高速缓存)之间来回移动。
行是高速缓存中的容器,用于存储块以及其他信息,例如有效位和标记位。
据我了解,块通常用作磁盘中的一个单元。这里使用的块和磁盘中的块之间有某种关系吗?它们的尺寸相同吗?
页框是主存储器中的一个单元。高速缓存中的块/行与主存中的页框之间有什么关系?它们的尺寸相同吗?
谢谢。
答案1
您询问的所有这些尺寸都是可变的,并且是特定于实现的。
不,在这种情况下使用“块”与永久存储设备上的块大小无关。在这种情况下,块是一次可以修改的最小位数。例如,如果文件系统上的块大小为 16KB,则任何文件占用的空间都不能小于 16KB。
https://stackoverflow.com/questions/8537579/file-system-block-size
我不太熟悉缓存块和内存页之间的关系,但大概缓存行将小于或等于内存页,因为缓存是内存中数据的子集。