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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну не знаю. Сам процессор не проектировал, вот выписка из... 24.08.07 11:10  Число просмотров: 4278
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> > пока еще за несколько, ну а делить за log2(делитель).
>
> Насчет log2 - это немного устаревшие данные. По-моему уже
> начиная с 386 у Интела был какой-то новый алгоритм, который
> делил очень быстро и за фиксированное количество тактов.

Ну не знаю. Сам процессор не проектировал, вот выписка из книги по ссылке:
     Микропроцессор  80386  разделен  внутри на 6 автономно и
параллельно работающих блоков с соответствующей синхронизаци-
ей. Все внутренние шины, соединяющие эти блоки, имеют разряд-
ность 32 бит. Конвейерная организация функциональных блоков в
80386 допускает временное наложение выполнения различных ста-
дий команды и позволяет одновременно выполнять несколько опе-
раций. Кроме конвейерной обработки всех команд, в  80386  вы-
полнение ряда важных операций осуществляется специальными ап-
паратными узлами. Блок умножения/деления 80386 может выпонять
32-битное умножение за 9-41 такт синхронизации, в зависимости
от числа значащих цифр; он может разделить 32-битные операнды
за  38  тактов (в случае чисел без знаков) или за 43 такта (в
случае чисел со знаками). Регистр группового сдвига 80386 мо-
жет за один такт сдвигать от 1 до 64 бит.

---
Ну умножать можно двумя способами. При циклически-сдвиговом, можно и за 1-2 такта вложиться, если умножаем на маленькое число. Алгоритм-то адаптивный - больше бит дольше умножать. В принципе можно и в два такта вложиться, но иметь ПЗУ в процессоре на три десятка гигабайт очень накладно. Для трех тактов нужен только мегабайт.
Вот только не представляю как деление можно сократить, если делимое многобитное, а делитель малобитный. Если есть какая инфа на эту тему - надо поделиться ссылочками.

> FDIV на Пентиуме выполняется примерно за 15 тактов для
> single precision и 30 - для double. Это против одного такта
> для сдвига - по-моему разница существенная.

Это если сдвиг. Деление выполняется за время того же порядка.

Введение в микропроцессор 80386
<site updates> Поиск 








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


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach