Публикации автора: Mikl___

Оптимизация для процессоров семейства Pentium (часть 3)

25 фев 2017

Чтобы подсчитать количество прочитываемых регистров, вам нужно включить все регистры, которые считываются инструкцией. В это число входят все целочисленные регистры, флаговые регистры, указатель на стек, регистры плавающей запятой и регистры MMX. Регистр XMM идет за два, кроме тех случаев, когда используется только его часть, например в ADDSS и MOVHLPS. Сегментные регистр и указатель на инструкцию не учитываются. Например в 'SETZ AL' вы считаете флаговый регистр, но не AL. В 'ADD EBX, ECX'...
Читать далее
Лайков +3 Комментариев0 Просмотров2.134

Оптимизация для процессоров семейства Pentium (часть 2)

25 фев 2017

10.2 Несовершенное спаривание Бывают ситуации, когда две спаривающиеся инструкции не будут выполняться одновременно или будут частично рассинхронизированы во времени. Пока обе инструкции не выполняться (каждая в своем конвейере) ни одна другая инструкция не начнет выполняться. Несовершенное спаривание возникает в следующих случаях: Если вторая инструкция приводит к задержке AGU (глава 9). Две инструкции не могут обращаться к одному и тому двойному слову в памяти одновременно: MOV AL,...
Читать далее
Лайков +2 Комментариев0 Просмотров2.004

Оптимизация для процессоров семейства Pentium (часть 1)

25 фев 2017

Оптимизация для процессоров семейства Pentium — Архив WASM.RU Содержание Введение Литература Вызов ассемблерных функций из языка высокого уровня Отладка Модель памяти Выравнивание Кэш Исполнение кода в первый раз Задержка генерации адреса Спаривание целочисленных инструкций (PPlain и PMMX) Разбивка сложных инструкций на более простые (PPlain и PMMX) Префиксы (PPlain и PMMX) Обзор конвейера PPro, PII и PIII Раскодировка инструкций (PPro, PII и PIII) Доставка инструкций (PPro, PII и PIII)...
Читать далее
Лайков +3 Комментариев0 Просмотров2.520