Имеют ли разные арифметические операции разное время обработки?

Являются ли основные арифметические операции одинаковыми в отношении использования процессора. Например, если я выполняю сложение и деление в цикле, будет ли время расчета для сложения меньше, чем для деления?

Я не уверен, относится ли этот вопрос сюда или к информатике SE


person WYSIWYG    schedule 09.06.2014    source источник


Ответы (2)


да. Вот краткий пример:

http://my.safaribooksonline.com/book/hardware/9788131732465/instruction-set-and-instruction-timing-of-8086/app_c

это микрокод и время работы очень старой архитектуры 8086. Это довольно простая точка для начала.

важно отметить, что они измеряются в циклах или тактах, и все движется со скоростью процессора (они синхронизируются на основных часах или частоте микропроцессора)

если вы прокрутите эту таблицу вниз, вы увидите, что деление занимает от 80 до 150 циклов.

также обратите внимание, что скорость работы зависит от того, в какой области памяти находится операнд.

обратите внимание, что на современном процессоре вы можете выполнять параллельные инструкции одновременно (даже если процессор однопоточный), и некоторые из них выполняются не по порядку, тогда векторные инструкции еще больше затуманивают вопрос.

то есть умножение SSE может умножать несколько чисел за одну операцию (занимает много времени)

person Lorenzo Boccaccia    schedule 09.06.2014
comment
Спасибо. По сути, я хотел знать, должен ли я вычислять дисперсию из набора данных, должен ли я вычислять ее с помощью алгоритма приращения или вычислять сумму квадратов и получать дисперсию в конце. - person WYSIWYG; 09.06.2014
comment
en.wikipedia.org/wiki/ здесь, в псевдокоде. лучше работать с инкрементным, чтобы заядлые проблемы со сходимостью к решению. - person Lorenzo Boccaccia; 09.06.2014

да. Различные машинные инструкции не одинаково дороги.

Вы можете выполнить измерения самостоятельно или использовать одну из ссылок в этом вопросе, чтобы помочь вам понять расходы на различные инструкции.

person merlin2011    schedule 09.06.2014