Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Сопроцессоры 8087 и утилита mcpdiag
RSS

Сопроцессоры 8087 и утилита mcpdiag

<<Назад  Вперед>> Страницы: 1 2 3 4 * 5 6 7
Печать
 
Fe-Restorator
Гость

Ссылка

Xalveyn написал:
[q]
Не сколхозишь радиатор никак, дизайн PCB не позволяет.
[/q]
Магическое слово "теплотрубка". Ограбь какой-нть ноут. Пластинка меди над/под чипом, к ней сбоку трубку и ветродуй сквозь радиатор наружу корпуса.
Сейчас на форуме
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Ну вот я завершил тестирование 9шт сопроцессоров 8087 на частоте 12МГц.
Все тестировались около полутора часов. Зависаний нет.
Теперь встает вопрос - а так уж оправдано деление на 8087-1 и 8087-2?
Только ли тем, что при работе на завышенной частоте один кристалл грелся до штатной температуры и его маркировали 8087-х, а другой грелся на N градусов выше, и тогда его маркировали "просто" 8087 ?
skoroxod
Advanced Member
вежливый пролетарий

Откуда: Старый Оскол
Всего сообщений: 8177
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 мар. 2009
sanders написал:
[q]
Теперь встает вопрос - а так уж оправдано деление на 8087-1 и 8087-2?
Только ли тем, что при работе на завышенной частоте один кристалл грелся до штатной температуры и его маркировали 8087-х, а другой грелся на N градусов выше, и тогда его маркировали "просто" 8087 ?
[/q]
Да скорее всего так оно и было. Топология-то полностью та-же и техпроцесс неизменен.
Только тестировали не на 12, а на штатных 10 и далее 8 MHz
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Да ваще сопроцессоры зло и тормоза, юзайте числа с фиксированной запятой, как завещали Кнут, Кармак и прочие отца. А то скоро вам и 20 ГГц и 1024 ядра не хватит на ваши явы с питонами на пару с похапе и прочими говноскриптами.
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Я просто к чему - вот вижу в коммерческом продукте в микроконтроллере PIC такое:
[q]
printf(LCD_PUTC,"%g ms\2................",(float)1000 / (8000000 / prescaller / (65536-refresh_time)));
[/q]
и меня аж передергивает. А сколько такого еще в продакшене крутится - я даже представить боюсь. Чего только один андройд стоит, как массовый продукт.
Fe-Restorator
Гость

Ссылка

Ух-ты, PIC умеет считать с плавающей запятой! :biggrin: То-то разработчики задалбываются с расчётами тактов на выполнение инструкций...
Float (2/2)== :)
Сейчас на форуме
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Что я обнаружил интересного при отладке на 386/387SX. Результат умножения на 9й цифре после запятой может не совпадать раз в 100-300итераций. Долго думал, считать ли это ошибкой. Решил, что раз система у меня не разогнанная, сопроцессор ULSI вполне себе качественный, то этот нюанс на совести Турбо Паскаля. Я обрезал результат умножения до типа single (а деление оставил типа real, раз ошибок нет), и решил смириться с точностью 8 знаков после запятой. Теперь обдумываю, почему деление не вызывает такой неточности, ведь по-моему деление более сложный математический процесс, нежели умножение.

Нужно ли проверять еще какие-то математические действия (синус-косинус), я не знаю. По моему все они раскладываются на умножение-деление.
[/q]
387 даёт результаты, отличные от более ранних моделей при некоторых условиях в некоторых ситуациях. Особенно при обработке переполнений. Причина в том, что 387 полностью соответствует стандарту IEEE 754-1985, который изначально разрабатывался как стандартизация возможностей 8087го, но был в итоге несколько упрощён. За списком отличий - в разделы C и D документа. У неинтеловских сопроцессоров могут быть дополнительно свои различия в скорости и точности вычислений. А синус с косинусом точно не надо, отдельные команды для них появились только в 387.
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Странная информация. На чем основана?
В даташите на 8087 английским по белому написано, что он содержит арифметические, логарифмческие, тригонометрические команды. То есть уже 8087 должен уметь вычислять тригонометрию.

И на счет идентичности результатов в моем сообщении Вы не поняли: я имел в виду, что вычисленные 255 результатов подряд на одной машине с одним и тем же сопроцессором, разве что чередуясь с другими операциями, раз в 100...300 итераций вдруг отличаются после 8го знака.
pahan
Advanced Member


Откуда: Химки, М.О.
Всего сообщений: 1070
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Странная информация. На чем основана?
[/q]
Ну я же дал ссылку на родной интеловский мануал.
[q]
В даташите на 8087 английским по белому написано, что он содержит арифметические, логарифмческие, тригонометрические команды.
[/q]
Их две - FPTAN (тангенс) и FPATAN (частичный арктангенс пожалуй, тут по-русски должно быть арктангенс частного - арктангенс угла, заданного точкой в декартовых координатах). Этого достаточно, чтобы получить остальные функции через квадрат тангенса, деление и квадратный корень.
Отдельные команды FSIN (синус), FCOS (косинус), FSINCOS (оба сразу) появились именно в 387.
[q]
И на счет идентичности результатов в моем сообщении Вы не поняли: я имел в виду, что вычисленные 255 результатов подряд на одной машине с одним и тем же сопроцессором, разве что чередуясь с другими операциями, раз в 100...300 итераций вдруг отличаются после 8го знака.
[/q]
Отличаются от чего? От тех же самых операций над теми же самыми числами на том же или другом сопроцессоре? И кстати, в какой разрядности (32, 64, 80 бит) проводятся вычисления и в какой выводится конечный результат?
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
pahan написал:
[q]
Отличаются от чего? От тех же самых операций над теми же самыми числами на том же или другом сопроцессоре? И кстати, в какой разрядности (32, 64, 80 бит) проводятся вычисления и в какой выводится конечный результат?
[/q]
Отличаются по ходу выполнения программы, спустя микросекунду или сколько там времени нужно на следующее вычисление.
Алгоритм такой:
- цикл от 1 до 255.
а(i):=X_случайное число умножить на Y_случайное число
b(i):=X_случайное число делить на Y_cлучайное число
конец цикла
- цикл от 2 до 255
если a(1)>>a(i) то аварийный останов с выдачей несовпадения a(1) и a(i)
если b(1)>>b(i) то аварийный останов с выдачей несовпадения b(1) и b(i)
конец цикла
И такие итреации крутятся в главном цикле от 1 до 65535.
Так вот, останов по ошибке умножения выпадает спустя 100...300 итреаций.
Останов по ошибке деления - никогда!
Разрядность массивов результатов умножения и деления = real - кажется это 32 байт. На 9 знаке выпадает ошибка.
Пришлось уменьшить разрядность до single = 8 байт - сейчас нет под рукой хэлпа по Турбо Паскалю, а память стала подводить, но вроде разрядность такая.
Причем отлаживал я прогу на 386/387SX с сопроцессором ULSI (не на 8087, уж очень все медленно на ХТ).
Я не исследовал детально этот феномен. Можно попробовать компильнуть без сопроцессора, а задав его эмуляцию и сравнить результат. Можно попробовать не чередовать умножение и деление (может что-то где-то засоряется в регистрах), а выполнить подряд только умножение и сравнить... Но это если меня снова пробьет на программирование. Пока что стояла задача понять, можно ли использовать 8087 на повышенных частотах, и если да, то каков критерий рабочести, а если нет, то почему.

Что-то у меня этот редактор нашего форума индекс i в квадратных скобках воспринимает, как тэг курсива. Пришлось ставить круглые скобки. А как отключать тэги в сообщении?
<<Назад  Вперед>> Страницы: 1 2 3 4 * 5 6 7
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Сопроцессоры 8087 и утилита mcpdiag
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS