Оптимизация для процессоров семейства Pentium: 13. Обзор конвеера PPro, PII и PIII

22 авг 2002

Архитектура микропроцессоров PPro, PII и PIII хорошо объяснена и проиллюстрирована в различных руководствах от Интела. Рекомендуется сначала изучить этот материал, чтобы понимать, как работают эти процессоры. Я коротко объясню его структуру с упором на те элементы, которые необходимы для оптимизирования кода.
Читать далее
Лайков 0 Комментариев0 Просмотров870

Оптимизация для процессоров семейства Pentium: 14. Раскодировка инструкций (PPro, PII и PIII)

22 авг 2002

Я рассказываю о раскодировке инструкций до доставки инструкций, потому что вам необходимо знать, как работают раскодировщики, чтобы понимать возможные способы доставки.
Читать далее
Лайков 0 Комментариев0 Просмотров889

Оптимизация для процессоров семейства Pentium: 15. Доставка инструкций (PPro, PII и PIII)

22 авг 2002

Код доставляется в двойной буфер из кэша кода чанками по 16 байт. Двойной буфер называется так, потому что он содержит два таких чанка. Затем код берется из двойного буфера и скармливается декодерам поблочно (каждый блок обычно 16 байтов длиной, но необязательно, он может быть и не выравнен по этой границе).
Читать далее
Лайков 0 Комментариев0 Просмотров854

Оптимизация для процессоров семейства Pentium: 16. Переименование регистров (PPro, PII и PIII)

22 авг 2002

Переименование регистров - это продвинутая техника, используемая этими микропроцессорами, чтобы убрать зависимости между различными частями кода.
Читать далее
Лайков 0 Комментариев0 Просмотров965

Оптимизация для процессоров семейства Pentium: 17. Выполнение кода не по порядку (PPro, PII и PIII)

22 авг 2002

Буфер перегруппировки вмещает 40 мопов. Каждый моп ждет в ROB, пока все операнды не будут готовы и не появится свободный модуль для их выполнения. Это делает возможным выполнение кода не по порядку. Если одна часть кода задерживается из-за загрузки в кэш, это не повлияет на выполнение других частей кода, если они не зависят от первой части.
Читать далее
Лайков 0 Комментариев0 Просмотров844

Оптимизация для процессоров семейства Pentium: 18. Вывод из обращения (PPro, PII и PIII)

22 авг 2002

Вывод из обращения (retirement) - это процесс, когда временные регистры, используемые мопами, копируют в постоянные регистры EAX, EBX и так далее. Когда моп выполнен, он помечается в ROB как готовый к выводу из обращения.
Читать далее
Лайков 0 Комментариев0 Просмотров853

Оптимизация для процессоров семейства Pentium: 19. Частичные задержки (PPro, PII и PIII)

22 авг 2002

Частичная задержка регистра - это проблема, которая возникает, когда вы пишите в часть 32-х битного регистра, а затем читаете из всего регистра или его большей части.
Читать далее
Лайков 0 Комментариев0 Просмотров890

Оптимизация для процессоров семейства Pentium: 20. Цепочки зависимости (PPro, PII и PIII)

22 авг 2002

Серии инструкций, где выполнение каждой зависит от результата предыдущей, называется цепочкой зависимости. Большие цепочки нужно по возможности избегать, потому что они делают невозможным выполнение не по порядку и параллельное выполнение.
Читать далее
Лайков 0 Комментариев0 Просмотров978