
CPU
Микроархитектура AMD ZEN: шаг вперед или назад? Часть 2
- Информация о материале
- Категория: CPU
- Опубликовано: 29.10.2017, 08:25
- Автор: ServersTech.ru

В 2017 году компания AMD представила процессоры Ryzen с новой микроархитектурой Zen. Сегодня редакция ServersTech.ru детально разберет микроархитектуру Zen на примере кэш-памяти и TLB.
Остальные материалы по микроархитектуре Zen собраны здесь.
Кэш инструкций первого уровня L1I
K10 |
Bulldozer |
Zen |
|
Объем, КБ |
64 |
64* |
64 |
Ассоциативность |
2-way |
2-way |
4-way |
*общий для двух ядер
По абсолютным показателям емкость кэша инструкций не менялась с K10, но необходимо помнить, что у Bulldozer кэш инструкций общий для двух ядер, поэтому при пересчете емкости на одно ядро Bulldozer явный аутсайдер. Что касается ассоциативности, то в Zen кэш сделали 4-путным (что должно снизить количество промахов), тогда как ранее использовался 2-путный.
Кэш инструкций первого уровня L1D
K10 |
Bulldozer |
Zen |
|
Объем, КБ |
64 |
16 |
32 |
Ассоциативность |
2-way |
4-way |
8-way |
Латентность, такт |
3 |
4 |
4 |
Пропускная способность, байт/такт |
2х 16 |
2x 16 |
2х 16 (load) 1х 16 (store) |
С кэшем данных ситуация еще интереснее: самый емкий кэш был у K10 - 64 КБ, в последующем за ним Bulldozer объем кэша вчетверо сократился - до 16 КБ, а в новом Zen объем кэша увеличили до 32 КБ (такой же объем использует Intel в своих процессорах с микроархитектурой Core). При этом стоит заметить, что вне зависимости от объема ассоциативность кэша постоянно росла с 2 в K10 до 8 в Zen (что должно положительно сказаться на количестве промахов). Пропускную способность в Zen увеличили до 48 байт/такт (стоит отметить, что при расширении FPU до 256 бит потребуется более скоростной кэш, как например, в Skylake – 96 байт/такт). Латентность кэша осталась на том же уровне, что и у Bulldozer - 4 такта, тогда как у K10 - 3 такта.
Кэш второго уровня L2
K10 |
Bulldozer |
Zen |
|
Объем, КБ |
512 |
2048* |
512 |
Ассоциативность |
16-way |
16-way |
8-way |
Латентность, такт |
14-15 |
18-20 |
17 |
Пропускная способность, байт/такт |
16 |
16 |
2x 32 |
*общий для двух ядер
Объем кэш-памяти второго уровня в Zen AMD аналогичен K10 - 512 КБ - в какой-то мере это выглядит шагом назад, ведь у Bulldozer на лицо существенно больший объем 2048 КБ (1024КБ в пересчете на одно ядро). Помимо емкости изменения коснулись ассоциативности, латентности и пропускной способности кэша: AMD снизила в Zen ассоциативность кэша второго уровня с 16 до 8; латентность кэша L2 в Zen хоть и ниже, чем у Bulldozer, но выше, чем у K10; пропускная способность кэша в Zen подросла с 16 до 64 байт/такт (достигнув уровня Skylake).
Кэш третьего уровня L3
K10 |
Bulldozer |
Zen |
|
Объем |
512КБ/ядро |
1МБ/ядро |
2МБ/ядро |
Ассоциативность |
32-way |
64-way |
16-way |
Латентность, такт |
55-59 |
65 |
36-37 |
Пропускная способность, байт/такт |
32 |
2х 16 |
32 |
Емкость кэша третьего уровня росла с каждой новой микроархитектурой: K10 - 512КБ на ядро; Bulldozer – 1024 КБ на ядро; Zen – 2048 КБ на ядро. При этом ассоциативность сначала вдвое увеличили с 32 до 64 при переходе с K10 на Bulldozer, а затем при переходе с Bulldozer на Zen вчетверо сократили – с 64 до 16. Пропускная способность кэша третьего уровня уже долгие годы не меняется и находится на уровне 32 байт/такт – аналогичная ситуация у Интел, где с Nehalem ПС кэша L3 находится на уровне 32 байт/такт. Чего не скажешь про латентность, которая сократилась с 65 до 36-37 тактов (если сравнивать Bulldozer с Zen).
Кэш µOP
K10 |
Bulldozer |
Zen |
- |
- |
2048 8-way |
(формат: количество записей, ассоциативность)
В Zen появился µOP-кэш, в котором хранятся декодированные инструкции, что позволяет исключить стадию декодирования и выборки, если необходимая инструкция находится в кэше. Аналогичный кэш достаточно давно используется Intel в процессорах Core (правда с чуть меньшей емкостью - 1536 инструкций против 2048).
ITLB L0
K10 |
Bulldozer |
Zen |
- |
- |
8 |
(формат записи: размер страницы, количество записей, ассоциативность)
В микроархитектуре Zen добавили буфер ассоциативной трансляции ITLB L0.
ITLB L1
K10 |
Bulldozer |
Zen |
4KB: 32 2MB: 16 |
4KB: 48 2MB, 1GB: 24 |
4KB, 2MB, 1GB: 64 |
(формат записи: размер страницы, количество записей, ассоциативность)
Емкость ITLB кэша первого уровня росла от архитектуры к архитектуре – с 32 до 64 записей, при этом начиная с Bulldozer появилась поддержка гигабайтных страниц.
DTLB L1
K10 |
Bulldozer |
Zen |
4KB, 2MB: 48 1GB: 8 |
4KB, 2MB, 1GB: 32 |
4KB, 2MB, 1GB: 64 |
(формат записи: размер страницы, количество записей, ассоциативность)
Емкость DTLB в Zen также увеличилась с 32 до 64 записей относительно предшественника.
ITLB L2
K10 |
Bulldozer |
Zen |
4KB: 512 4-way |
4KB: 512 4-way |
4KB, 2MB: 512 8-way |
(формат записи: размер страницы, количество записей, ассоциативность)
Емкость ITLB кэша второго уровня не меняется на протяжении 10 лет – правда стоит отметить, что в Zen появилась поддержка 2-мегабайтных страниц.
DTLB L2
K10 |
Bulldozer |
Zen |
4KB: 512 4-way 2MB: 128 2-way |
4KB, 2MB, 1GB: 1024 8-way |
4KB, 2MB: 1536 12-way |
(формат записи: размер страницы, количество записей, ассоциативность)
Емкость DTLB кэша второго уровня растет с каждой новой микроархитектурой – если в K10 она была 512 записей для 4-килобайтных страниц, то в Zen – 1536.
Заключение
Подводя промежуточный итог, можно отметить следующие моменты:
- Емкость кэша L1I в Zen сохранилась на уровне K10;
- Емкость кэша L1D от архитектуре к архитектуры постоянно менялась и установилась на уровне 32 КБ в Zen (именно такой объем Интел использует уже много лет в своих процессорах с архитектурой Core);
- Емкость кэша L2 в Zen аналогична K10 - 512 КБ;
- Емкость кэша третьего уровня постоянно росла - с 512 КБ до 2048 КБ на ядро;
- AMD добавила OP-кэш в Zen (еще одно удачное решение Интел перекочевало к конкуренту);
- в Zen был добавлен ITLB L0;
- Если емкость ITLB L1 росла из поколения в поколение, то таковая ITLB L2 не изменялась с K10;
- Емкость DTLB L1 и DTLB L2 постоянно росла.
Таким образом, можно отметить, что компания AMD, разрабатывая Zen, взяла не только свои удачные наработки из K10, но и из решений конкурента.
Остальные материалы по микроархитектуре Zen собраны здесь.