Ширина шины между кешем ЦП и ЦП - PullRequest
1 голос
/ 03 августа 2020

enter image description here I can't figure out the width of bus between cpu and cpu cache in modern PC's. I didn't find anything reliable in the internet. All what I have is a блок-схема для микроархитектуры Zen (AMD) , в которой говорится, что кеш-память L1 и L2 может передавать 32 байт (256 байт) за один цикл. Я предполагаю, что ширина шины составляет 256 строк (при одной скорости передачи данных). Но есть передача данных с удвоенной скоростью, как между контроллером памяти и памятью DDR. 1010 * Если да, означает ли это, что для чтения всей строки кэша из L1 требуется два цикла процессора?

1 Ответ

3 голосов
/ 03 августа 2020

Такую информацию можно найти в руководствах по оптимизации от Intel и AMD, но обычно в терминах пропускной способности порта, а не точно ширины, потому что это то, что волнует большинство людей. Микроархитектура Zen имеет 16 банков и 3 128-битных порта, два из которых могут обрабатывать запросы типа нагрузки, а один - запросы типа хранилища. Таким образом, максимальная полоса пропускания ядра L1D составляет 128 * 3 бита за цикл. В Zen 2 порты были расширены до 256 бит / c каждый, а количество банков сократилось вдвое. Таким образом, максимальная пропускная способность ядра L1D в Zen 2 составляет 256 * 3 бита за цикл, но шанс достижения максимальной пропускной способности ниже.

Рассмотрим Ice Lake в качестве примера процессоров Intel. Кэш L1D имеет 4 порта, две 512-битные загрузки и два 256-битных хранилища. Порты хранилища могут обрабатывать либо один 512-битный запрос хранилища за два цикла, либо два 256-битных запроса хранилища за цикл, но только если два хранилища полностью содержатся в одной строке кэша и имеют одинаковый тип памяти. Мне кажется, что эти два порта хранилища фактически реализованы как один порт хранилища шириной 256 бит с возможностью объединения двух хранилищ. Таким образом, общее количество истинных портов со стороны ядра кажется равным 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...