Полностью зависит от аппаратной реализации.Некоторые реализации загружают одну строку из основной памяти за раз - и размеры строк кэша сильно различаются между разными процессорами.Я видел размеры строк от 64 до 256 байт.По сути, размер «строки кеша» означает, что когда ЦП запрашивает память из основной ОЗУ, он делает так n байт за раз.Таким образом, если n равно 64 байта, и вы загружаете 4-байтовое целое число в 0x1004, MMU фактически отправит 64 байта через шину, все адреса от 0x1000 до 0x1040.Весь этот кусок данных будет храниться в кэше данных в виде одной строки.
Некоторые MMU могут извлекать несколько строк кэша по шине за запрос - так что выполнение запроса по адресу 0x1000 на машине с 64-байтовыми кэшами фактически загружает четыре строки от 0x1000 до 0x1100. Некоторые системы позволяют вам делать это явно с помощью специальных предварительных выборок кэша или кодов операций DMA.
Однако статья по вашей первой ссылке совершенно неверна.Это путает размер OS страницы памяти с аппаратным строкой кэша .Это совершенно разные понятия.Первый - это минимальный размер виртуального адресного пространства, которое ОС будет выделять сразу.Последнее является деталью того, как процессор взаимодействует с основной оперативной памятью.
Они похожи друг на друга только в том смысле, что когда в операционной системе заканчивается физическая память, она выводит на диск некоторую неиспользуемую недавно виртуальную память;затем, когда вы снова используете эту память, ОС загружает всю эту страницу с диска обратно в физическую память.Это аналогично (но не относится) к тому, как процессор загружает байты из ОЗУ, поэтому автор «Аппаратных секретов» был озадачен.
Хорошее место, чтобы узнать все о памяти компьютера и почему кэши работают так, как они это делают, - статья Ульриха Дреппера, Что каждый программист должен знать о памяти .