Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Вопрос знатокам ассеблера и современных процессоров   Найти похожие ветки 

 
GDI+   (2010-02-25 16:26) [0]

Что быстрее MUL или MOV из вычисленной таблицы(256 * 4 int)? Насколько я понял MUL на современных процессорах выполняется за 1 такт?


 
Alx2 ©   (2010-02-25 16:55) [1]

MOV, если таблица в кэше. MUL, когда stall-циклы ожидания ее подгрузки.


 
Сергей М. ©   (2010-02-25 16:56) [2]

При прочих равных условиях производительность той или иной инструкции зависит от аргументов.
К тому же есть еще LEA - почему ее не рассматриваешь как альтернативу ?


 
GDI+   (2010-02-25 17:56) [3]

Почитал спецификацию. Понял что єто дело муторное и запутанное. Похоже буду через Mov, так как все дополнительные таблицы занимают 16K в памяти.


 
Eraser ©   (2010-02-25 19:56) [4]

практика - критерий истины )


 
Pavia ©   (2010-02-25 22:08) [5]

Быстрее через pmul.

mov она не спаривается и для каждого байта требует 1 такт.
Умножение оно спаривается так что их за 1 так может выполняться несколько штук. А еще лучше задействовать SSE. И получить до 8 умножение за такт.

Вычисления они быстрее чем mov из таблице в большинстве случаев.

Хотя надо учесть размер таблицы и кэша. А также сложность вычисления.


 
GDI+   (2010-02-26 01:57) [6]

При проверке (тупо набросал команд mul и mov) если сложение и выборка из таблицы это 1х времени, то такое же количество непрерывно идущих mul 2х. Ну и таблица влазит в кеш 1-го уровня (на AMD он жирный).

ММХ быстрее не будет так как это распаковка YTV2->RGB24. При создании таблицы там остаётся только сложения, сдвиги и занесение всего это в память.


 
Германн ©   (2010-02-26 02:28) [7]


> Eraser ©   (25.02.10 19:56) [4]
>
> практика - критерий истины )
>

+1
Так что не надо спрашивать, надо "трясти".


 
Anatoly Podgoretsky ©   (2010-02-26 11:19) [8]

> Германн  (26.02.2010 02:28:07)  [7]

Правильно, чего тут думать.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1270206011
Константин
2010-04-02 15:00
2010.08.27
Как правильн вызвать Destroy?


2-1274357365
Nucer
2010-05-20 16:09
2010.08.27
Значок в ресурсе


2-1267099188
kaizer131
2010-02-25 14:59
2010.08.27
Реализация стеков и очередей


2-1268438912
Delphist
2010-03-13 03:08
2010.08.27
одна процедура для всех юнитов


15-1273053437
'<>
2010-05-05 13:57
2010.08.27
Разложение числа на множители.