Ответить на комментарий

Использование MMX-инструкций для вычисления CRC64.

Была у меня такая мысль. Для проверки поставил 2 эксперимента.

Сначала попробовал заменить пары команд вида:

  xor ebx, [edi*8 + ReflectedTable64 + 2048*7] 
  xor esi, [edi*8 + ReflectedTable64 + 2048*7 + 4]

на одну:
  pxor mmN, [edi*8 + ReflectedTable64 + 2048*7]

где N=0,1,2,3,4,5,6,7 или N=0,1,0,1,0,1,0,1

Понятно, что после такой замены зависимых команд не стало больше, однако время работы чуть-чуть выросло.
Выходит, что у нас не остается времени на перенос данных из MMX-регистров в обычные для формирования адреса.

Затем развернул цикл в два раза и использовал в 2 раза большую таблицу (16x256 значений). С учетом времени на перенос данных, получил примерно ту же скорость на E6850, что и без MMX. Поэтому отказался от этой затеи.

Ответить

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <h1> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <pre>, <code>, <asm>, <c>, <cpp>, <delphi>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>, <mytext>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Подробнее о форматировании

CAPTCHA
Ведите текст с изображения. (вводить еще раз после предпросмотра а то не добавится комментарий)
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.