5

Я занимаюсь разработкой своего рода "эмулятора кэша", и мне нужно знать, каков размер блока передачи между основной памятью и кэшем L2 для процессора Core 2 Duo. Кто-нибудь знает это? Благодарю.

3 ответа3

1

Микроархитектура

Процессоры "Core 2 Duo" выполнены с использованием микроархитектуры Core.

Детали микроархитектуры

Согласно документации Intel (том 1, 2-15, стр. 49 в PDF), кэш L2 имеет 256-битный внутренний путь данных, так что это будет от кэша L2 до L1 и выборки / декодирования инструкций.

Несколькими страницами позже (том 1, 2-32) Intel Core 2 Duo E6850 имеет внутренний канал передачи данных со скоростью 10,6 ГБ / с, когда ядро процессора находится на частоте 3 ГГц с частотой FSB 1333 МГц.

ibus-transfer-amt/bus-clock = (256 bits / (8 bits / byte))
     = 32 bytes/clock

bytes-per-sec = (10.6 GB) * (2^30 bytes/GB)
     = 11,381,663,334 bytes/sec

ibus-clk-fq = (bytes-per-sec) / (ibus-transfer-amt/bus-clock)
     ≈ 355,676,979.19 Hz
     ≈ 355.7 MHz

fsb-divisor = (1333 MHz) / (355.7 MHz)
     ≈ 3.75

Документация Intel также перечисляет FSB для этого процессора на частоте 1333 МГц и 10,6 ГБ / с, так что вы сможете рассчитать это аналогичным образом.

0

Если ваш процессор совместим с 64 битами, то каждый канал имеет ширину 64 бита. Двухканальная память DDR2 должна иметь 128-битный путь к процессору. Но шина между процессором и его кешем l2 должна быть шириной 64 бита.

0

Хорошо, я обнаружил, что в жаргоне x86 "линия кеша" L2 - это и единица распределения памяти в кешах L2, и единица передачи между RAM и L2.

В Core 2 Duo строка кэша имеет ширину 64 байта, так что это отвечает на мой вопрос :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .