Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> Assembler -> Оптимизация для pentium процессора


19. ЧИСЛА С ПЛАВАЮЩЕЙ ТОЧКОЙ ВМЕСТО ЦЕЛЫХ ЧИСЕЛ
===============================================
19.1 Перемещение данных
-----------------------
Инструкции с плавающей точкой могут быть использованы для копирования 8 байт
одновременно:
FILD QWORD PTR [ESI] / FISTP QWORD PTR [EDI]
Этот метод перспективен только, если приемник в кеше. Оптимальный путь,
перемещать, на Pentium, данные в не кешированный блок:

TopOfLoop:
FILD QWORD PTR [ESI]
FILD QWORD PTR [ESI+8]
FXCH
FISTP QWORD PTR [EDI]
FISTP QWORD PTR [EDI+8]
ADD ESI,16
ADD EDI,16
DEC ECX
JNZ TopOfLoop

Источник и приемник, конечно, должны быть выравнены на 8. Большее время,
требуемое на исполнение инструкциями FILD и FISTP компенсируются тем, что
вашему циклу необходимо выполнить только половину итераций. Еще раз напоминаю,
этот метод быстрее только на Pentium и только если приемник не в кеше. На всех
других процессорах будет оптимальнее использовать REP MOVSD, или если ваш
процессор поддерживает MMX, то вы можете использовать MMX инструкции, для
копирования 8 байт одновременно.

19.2 Умножение целых чисел
--------------------------
Умножение чисел с плавающей точкой быстрее, чем умножение целых чисел на
Pentium без MMX, но время, затрачиваемое на конвертирование целого числа в
вещественное и конвертирование результата обратно больше, чем выигрыш от
такого умножения. Подобное положение распространяется и на другие процессоры.

Искушает использовать операции с плавающей точкой с некорректными операндами,
но некорректные операнды обрабатываются очень медленно, так что это не очень
хорошая идея!

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

19.4 Преобразование двоичного к десятичному формату
---------------------------------------------------
Использование инструкции FBSTP является самым простым, хотя и не самым быстрым
способом, преобразовать двоичное число к десятичному формату.

Дальше



 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.