информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / dnet
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
По поводу Pentium 4 20.03.02 08:01  Число просмотров: 1543
Автор: xelator Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Насколько мне известно, когда используешь SSE2 набор, то не
> можешь использовать FPU. Иными словами, эта система
> подкоманд использует FPU.
Опять неверно. Это же вроде прописные истины. Так было в MMX.
Регистры MMX есть регистры FPU x87 поэтому одновременно использовать
MMX и FPU команды, мягко говоря, не рекомендуется. Да, и MMX функционально не использует FPU. Для него есть отдельный Execution Unit.

Вообще говоря, каюсь, MMX содержит операции на 64битными целыми, но с указаными выше ограничениям. Прелесть SSE2 - в их отсутствии и в том,
что можно делать одновременно 2 операции над 64битным целым или одну над 128битным, если это сдвиг. Это важная фича для RC5 на этапе key expansion.

> Далее, если все это правда
> (народ, что скажете?), то 64 битная целая арифметика всегда
> была частью FPU. Т.е. начиная с 486 любая IA 32 содержит 64
> битную целую арифметику.
>
Неправда. И вывод неверный. В FPU можно эмулировать целочисленное
сложение, умножение и деление если режим его работы округление к нулю.
Но как насчет сдвигов? А ротейтов? Не выйдет. Сразу же - делать одни
операции в FPU потом скидывать в память потом читать в целочисленный регистр делать сдвиг и абратно в FPU слишком дорого. Лучше эмуляция
через пару 32битных числа.
Для пущей честности, левый сдвиг на k бит можно эмулировать умножением на 2^k в вещественной арифметике, правый сдиг на k - умножением на 2^(-k) с последущим конвертацией результата к целому с округлением к нулю (truncate). Соответственно, rotate можно эмулировать 2 предыдущими командами и сложением их результата. Операции с парой 32битных чисел все равно гораздно быстрей.


И по чей-то злостной воле упорно блуждают абсурднейшие слухи о том, что в P4 нет аппаратной инструкции rotate. Хоть отдельный FAQ пиши на эту тему. ;-(( Есть она! ЕСТЬ!!!!!!!.

> А ты погляди на SuSE Linux - его уже портировали на Hammer.
> Вместе со многими вещами. Кстати, по-моему, где-то на АМД
> есть Билкины обещания насчет Hammer. Здесь только могу
> добавить, что это только обещания.
Я на это могу ответить, что MS Visual C до сих пор даже MMX-коды делать
не научился. Отсюда вывод, что вряд ли x86-64 набору больше повезет.
Что же касается ПодЛинукса, то все равно GCC не обеспечит нужной производительности и надо будет писать на ASM'e. До сих пор я не видел у АМД толкового мануала о том, как что-либо оптимизировать под их процы.
Он есть, но в нем написаны вещи типа - делай такую макро-операцию так-то, проц знает эту последовательность машинных команд и выполнит ее быстро. А насчет универсальных приемов с упором на архитектуру - НЕТ.
Если я делаю какие-то нестандартные операции, отличные от перевода целого числа в вещественное или подсчет количества ненулевых битов регистре, то я остаюсь в полном безвестном творческом пPолете.
<dnet> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach