самит ibm intel AMD

Сдвиги вместо MUL на 8088: по таблице выигрыш у всех констант, с учётом выборки байтов — по расчёту у 9–21%

Совет «на 8088 умножай на константу сдвигами, MUL медленный» знают даже те, кто под DOS не писал. Опирался он на таблицу тактов Intel: MUL с 16-битным регистром стоит 118–133 такта, сдвиг на один бит — 2, сложение — 3.

По этой таблице цепочка сдвигов и сложений обгоняет MUL для любой 16-битной константы, я проверил все 65 534. Но у 8088 восьмибитная шина, и каждый байт инструкции он читает из памяти 4 такта, а в таблицу это время не входит.

DMCA