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

Полигон-2

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

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

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

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

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

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
 
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Решил я потестить сопроцессоры в материнской плате ХТ 10МГц.
Поскольку у панельки не подписано - какой 8087 нужен, а написано просто "8087", я, зная, что в связке с 8088-1 ставились и 8087-1, и 8087-2, ткнул осциллографом в 19ю ногу (CLK) панельки сопроцессора и увидел 10МГц.
Вставил 8087-1. Norton Sysinfo сопроцессор увидел, утилита MCPDIAG сопроцессор увидела, а вот дальше в своих тестах выдала, что последний тест "Integrity" = FALSE.
Решил, что может у меня сопроц "пиленый" (уж больно шрифт на нем крупный, никогда таких не встречал).
Вставил 8087-2 (где 8МГц, там и 10 выдержит наверное?) - та же картина.
К сожаления 8087-2 и 8087-1 у меня по 1экз, остальные в машинках установлены, дербанить не хочется.
Вставил 8087 (4,7МГц), а что терять. Та же картина.
И теперь у меня вопросы.
1. Может, этой утилите не нравится что-то в материнской плате?
2. Как тестовые программы обнаруживают сопроцессор и если уж обнаружили, не является ли это доказательством его рабочести? Я вот никогда не видел центральный процессор, который бы стартовал, а какую-то инструкцию не выполнял бы (я не о ранних 386 и Pentium, там была серийная ошибка). Так обязательно ли тесту умножать/делить и т.п., чтобы проверить сопроцессор?
3. Есть ли (может кто-то до меня компилил на Си или Паскале с опцией 8087) утилитки, которые бы работали только при наличии физического сопроцессора безо всякой эмуляции?
4. Какие известны запасы по разгону у 8087? Например 8087 будет ли работать на 8МГц, а 8087-2 на 10МГц? А если сопроцессор не тянет разгон, то как это проявится? Будет греться и сгорит или не будет видеться, или будет вешать машину?
Когда-то похожее обсуждалось, и кто-то высказал непонятую мною идею, что якобы сопроцессор тормозит шину до своей собственной частоты. Такого я не обнаружил, частота на 19й ноге (CLK) с любым из трех сопроцов была 10МГц , производительность по тестам CPU в "попугаях" одинаковая.
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Игорь, а может "Integrity" это инструкция для со-процессора 80287 и выше?

Надо попробовать MCPDIAG на полностью другой XT-шке с 8087
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Alex_Vac написал:
[q]
MCPDIAG
[/q]
где скачать? могу проверить на 287XL
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Ekb написал:
[q]
где скачать? могу проверить на 287XL
[/q]
Можно тут:

http://old-dos.ru/index.php?do...page=files
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Скачал, проверил. Программа честно сказала 287 XL. Везде Passed.
P.S. через 5 минут: 91 passed, 0 failed

UPD: на Transcedental test - на 287 XL сразу бросается в глаза подторможения. На AMD 287 этот момент быстрее проходит и выдает 250(!!!) Passed, 0 failed.

Программа NSSI показывает, что 287XL работает на частоте 14мгц и AMD 287 работает на 12мгц. А центральный CPU работает на 16мгц.

Обидно стало за 287XL :frown:

Прикрепленный файл (NSSI.rar, 486148 байт, скачан: 18 раз)
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
Я с этим уже давно сталкивался.
mcpdiag, если не ошибаюсь, появилась для тестирования 387sx и т.д., в 287xl ядро от 387sx, таким образом он integrity test проходит нормально, в том числе и мой, а вот все обычные 287 (точно уже не помню, все ли, AMD 80287-10 вот сейчас протестил - все успешно) и 8087 (эти точно) которые я тестировал, все тест не проходили, так что дело в самом тесте и поддержке каких-то инструкций и/или возможностей самих сопрцов.
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Ekb написал:
[q]
Обидно стало за 287XL
[/q]
Это вы ещё его с Cyrix 287 не сравнивали...

:biggrin:
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
Forza3dfx написал:
[q]
рограмма NSSI показывает, что 287XL работает на частоте 14мгц и AMD 287 работает на 12мгц. А центральный CPU работает на 16мгц.
[/q]
Сопроцы работали либо на частоте проца, либо на 1/3 от частоты проца (выставлялось на многих платах джамперами) либо зависели от частоты второго осциллятора, если на плате была возможность его установки и тоже либо на полной частоте либо на 1/3 от его частоты. Хотя вполне возможно были и еще какие-то асинхронные варианты...
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Ekb написал:
[q]
Программа NSSI
[/q]
Что за прогрмма? Киньте ссылкой пожалуйста
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
Forza3dfx написал:
[q]
Это вы ещё его с Cyrix 287 не сравнивали...
[/q]
cyrix 287 похоже такая редкая штука, что возможность лично сравнить может никогда и не представиться...
skoroxod
Advanced Member
вежливый пролетарий

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


Ссылка


Дата регистрации на форуме:
5 мар. 2009
Из асинхронных был ещё 2/3 от частоты CPU
Cyrix CX-82S87/ 287XL/ 287XL+ тоже сделаны на базе 387-го, только в данном случае это CX-83D87 который превосходит i387 :)
И действительно это довольно редкие чипы, мне с трудом достались все три.
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Я когда тестировал сопроцессоры, быстрее всего оказался Cyrix 287, на втором месте IIT 2C87P-20, а Intel 287XL занял почетное 3-е место



skoroxod написал:
[q]
мне с трудом достались все три
[/q]
:biggrin:
skoroxod
Advanced Member
вежливый пролетарий

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


Ссылка


Дата регистрации на форуме:
5 мар. 2009
Alex_Vac написал:
[q]
:biggrin:
[/q]
Так Cyrix CX-82S87-NP-SV у тебя-же и менял, не помню правда на что, но эквивалент ведь был достойный :)
А вот Cyrix 287XL к примеру шёл в эквиваленте $60 в 2011 году, у меня сохранилась та запись.
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Сейчас погонял 387-е, MCPDIAG с IIT 3C87 и Cyrix 83D87 вообще не работает, пишет что не Intel сопроцессоры, с разными i387 тестируется нормально.

По другим тестам и в Quake FPS, опять впереди всех Cyrix 83D87, обскакал все IIT 3C87, 4С87DLC, ULSI.
Оправдывает своё название, FasMath
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Alex_Vac написал:
[q]
Что за прогрмма? Киньте ссылкой пожалуйста
[/q]
не помню откуда :frown:
Скинул NSSI сюда: http://www.ex.ua/403586779089

в доке написано, что подходит даже для 808x :thumbup:
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
Alex_Vac написал:
[q]
Сейчас погонял 387-е, MCPDIAG с IIT 3C87 и Cyrix 83D87 вообще не работает, пишет что не Intel сопроцессоры, с разными i387 тестируется нормально.
[/q]
Да, наличие сопроцов Cyrix, IIT, ULSI можно отличить программно, поэтому прога и пишет, что не-Intel FPU.
Мне попадалась информация, что mcpdiag поставлялась в коробке с Intel 387sx как фирменный софт для тестирования, так что не удивительно, что она не хочет работать на не-Intel сопроцах.
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Forza3dfx написал:
[q]
mcpdiag поставлялась в коробке с Intel 387sx как фирменный софт для тестирования, так что не удивительно, что она не хочет работать на не-Intel сопроцах.
[/q]
На 287XL - прога честно опознала что intel :)
а вот AMD 287 - исчезла из текста надпись intel 287. (подзабыл как было). Но работает, как писал выше, гораздо шустрее, 250 passed.


Alex_Vac написал:
[q]
По другим тестам и в Quake FPS, опять впереди всех Cyrix 83D87, обскакал все IIT 3C87, 4С87DLC, ULSI.
Оправдывает своё название, FasMath
[/q]
Можно ли кратко показать насколько отрыв в quake по FPS timedemo ? ;)
Alex_Vac
Advanced Member


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


Ссылка


Дата регистрации на форуме:
25 мар. 2009
Ekb написал:
[q]
Можно ли кратко показать насколько отрыв в quake по FPS timedemo ?
[/q]
Система:
CPU:Am386DX-40
FPU: Tested...
RAM: 8Mb
Video: Trident 9000i - 512kb

Quake FPS Demo:
1. FPU Intel 387-33 (40MHz) - 1.4 FPS
2. IIT 3C87-40 (40MHz) - 1.4 FPS

3. Cyrix 83D87-33 (33MHz) - 1.6 FPS
4. Cyrix 83D87-33 (40MHz) - 1.8 FPS
Fe-Restorator
Гость

Ссылка

sanders написал:
[q]
4. Какие известны запасы по разгону у 8087? Например 8087 будет ли работать на 8МГц, а 8087-2 на 10МГц? А если сопроцессор не тянет разгон, то как это проявится? Будет греться и сгорит или не будет видеться, или будет вешать машину?
Когда-то похожее обсуждалось, и кто-то высказал непонятую мною идею, что якобы сопроцессор тормозит шину до своей собственной частоты. Такого я не обнаружил, частота на 19й ноге (CLK) с любым из трех сопроцов была 10МГц , производительность по тестам CPU в "попугаях" одинаковая.
[/q]
Об разгоне:
1) всякий разгон 8086/87/88 возможен только повышением тактовой частоты, ибо все три камня работают на одинаковой частоте разом. Иными словами, разгон всегда синхронный.
2) Разгон по частоте выполняется заменой кварца/генератора на более шустрый, но не выше 18Мгц, это предел для ХТ-чипов, большинство из коих не перешагивают и за 12МГц. На более высокие частоты рассчитаны чипы 80186/188, но они несовместимы с 8086 по распиновке и корпусировке.
3) разгон по частоте почти всегда ограничен возможностями чипсета/рассыпухи и скоростью памяти: dip-чипы (в то время) редко когда делались шустрее 80нс и очень редко такие "шустрики" ставились в ХТ-плату... Они и в 286-х машинах толком-то не нужны...
4) Чипы 8087 без индексов делались двояко: сперва рассчитанными на частоту 4,7Мгц (первые партии), затем - как отбраковка от 8 и от 10 МГц моделей. Можно-ли их отличить по маркировке - не ведаю, пусть здесь потрудятся форумчане - "каменотёсы" ;) знающие каждую выемку на своих подопечных. Если повезёт, и твой чип из поздних партий, он может заработать на 8 и даже на 10 МГц, но шанс невелик. И скорее всего такой сопр будет нещадно плавить панельку. Чип из ранних партий скорее всего вообще не заведётся, а греться будет нехило, смысла его держать в панельке - никакого.
Об тормозах:
На платформе ХТ торможение системы сопроцессором - неактуально. Оно проявляется только при асинхронном режиме работы связки проц/сопр, а таковая появилась только с 286-го поколения. Например, 287-6 будет существенно тормозить комп на базе 286-25, покуда не проапгрейдишь его до 287-16 или даже 287-20. ХТ такого режима работы не допускает.
Сейчас на форуме
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
Ekb написал:
[q]
На 287XL - прога честно опознала что intel
а вот AMD 287 - исчезла из текста надпись intel 287. (подзабыл как было).
[/q]
AMD 80287 имеет ядро обычных i80287, поэтому mcpdiag их не отличет от Интел-а, и пишет что это Intel 80287.
Intel 287XL имеет ядро от i387sx, поэтому mcpdiag его программно отличает от обычных i287-х, и пишет что это Intel 287XL.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Снова забили тему ерундой о 387...
Уточняю всем по порядку ответов:
1. Я вспомнил, что надо же один из переключателей в DIP Switch передернуть, чтоб активировать сопроц. Проверю вечером.
2. Утилита MCPDIAG распознает 8087 и, значит, обязана его тестировать. Возможно, виноват переключатель, о котором я забыл.
3. Под разгоном сопроцессора я подразумевал только штатную частоту процессора, являющуюся повышенной для сопроцессора.
4. Все три разночастотных экземпляра грелись, как кипятильники, даже 8087-1, со всеми машина не зависла за 20-30 минут. Вечером померяю им всем температуру: греется ли 8087 сильнее других и попробую другие утилиты.
Давайте 287 и 387 обсуждать не тут.
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
sanders написал:
[q]
1. Я вспомнил, что надо же один из переключателей в DIP Switch передернуть, чтоб активировать сопроц. Проверю вечером.
[/q]
Не поможет. Я выставлял этот switch dip когда тестировал 8087-е.
skoroxod
Advanced Member
вежливый пролетарий

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


Ссылка


Дата регистрации на форуме:
5 мар. 2009
sanders написал:
[q]
4. Все три разночастотных экземпляра грелись, как кипятильники, даже 8087-1, со всеми машина не зависла за 20-30 минут.
[/q]
Может всё-таки фейк? У меня есть пара фейковых С8087-1 в корпусе "сэндвич" по типу D8087
alecv
Advanced Member


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


Ссылка


Дата регистрации на форуме:
5 окт. 2004
8087 так и должны греться. Насколько помню у них потребление чуть ли не 5 ватт, что на 5 вольтах = 1 ампер.
Fe-Restorator
Гость

Ссылка

sanders написал:
[q]
3. Под разгоном сопроцессора я подразумевал только штатную частоту процессора, являющуюся повышенной для сопроцессора.
[/q]
См. пункт 4 моего предыдущего поста.
ХТ в плане разгона гораздо более "железобетонная" чем все другие конструкции ПК х86. У неё есть только ОДИН регулятор всех режимов работы, и это рубильник 220В. ;)
Сейчас на форуме
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Да, перемычки не помогли.
Позже попробую другую материнку и другие утилиты.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Ekb написал:
[q]
Скинул NSSI сюда: http://www.ex.ua/403586779089
[/q]
Этот сайт заблокирован по решению
органов власти Российской Федерации.

This website is blocked by the decision
of the government of the Russian Federation.

Сумма Телеком приносит извинения за доставленные неудобства.
Summa Telecom apologizes for the inconvenience.


Позор Сумме Телеком-у!!!!!!!!!!!!!!

А скиньте пожалуйста еще куда-то эту утилитку? Или сюда на форум к сообщению прикрепите?
Только собрался потестить много сопроцессоров, а тут Российская Федерация вмешалась.
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Попробую тут закрепить. Заметил что не во всех темах есть кнопка "выберите файл" :frown:

Прикрепленный файл (NSSI.rar, 486148 байт, скачан: 19 раз)
kot99
Full Member


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


Ссылка


Дата регистрации на форуме:
7 фев. 2014
sanders написал:
[q]
Ekb написал:
[q]
Скинул NSSI сюда: http://www.ex.ua/403586779089
[/q]
Этот сайт заблокирован по решению
органов власти Российской Федерации.

This website is blocked by the decision
of the government of the Russian Federation.

Сумма Телеком приносит извинения за доставленные неудобства.
Summa Telecom apologizes for the inconvenience.

Позор Сумме Телеком-у!!!!!!!!!!!!!!

А скиньте пожалуйста еще куда-то эту утилитку? Или сюда на форум к сообщению прикрепите?
Только собрался потестить много сопроцессоров, а тут Российская Федерация вмешалась.
[/q]
Насколько я знаю, доступ к ex.ua с российских IP закрыт очень давно. Причем самим ex.ua
Forza3dfx
Advanced Member


Всего сообщений: 493
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 мар. 2015
kot99 написал:
[q]
Насколько я знаю, доступ к ex.ua с российских IP закрыт очень давно. Причем самим ex.ua
[/q]
Скачал без проблем, провайдер - Ростелеком, телефонная линия с ADSL-модемом.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
NSSI не работает на ХТ. Вернее, запускается только информирующая часть, но не полный интерфейс.
Возможно из-за того, то ЕХЕ-шник занимает 511кб (много для ХТ).
Да, прога видит FPU, выдает сводку по компу.

Буду к вечеру писать на Паскале утилитку вычислений на FPU, и если только компиллятор не обманет, подсунув эмуляцию на случай отсутствия сопроцессора, тогда будут результаты.
В любом случае отпишусь.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
sanders написал:
[q]
сли только компиллятор не обманет, подсунув эмуляцию на случай отсутствия сопроцессора,
[/q]
Это все управляется ключами запуска командной строки компилятора
и/или переменными окружения, или настройкой интегрированной среды.
Смотря чем Вы пользуетесь. Обычно даже можно тип FPU указать(087/287).

Если не изменяет память, можно выбирать:
1. Только FPU(если его нет, программа не работает).
2. Только эмуляция, независимо от того есть FPU или нет.
3. Используем FPU если он есть, если его нет - эмуляция.

Ну в общем проверьте свой компилятор.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Все верно.
Написал я утилитку на Паскале, т.к. больше ничего не знаю, а Паскаль в вузе знал на II месте по кафедре.
Утилитка заведомо не умеет эмулировать сопроцессор и ругается, если не обнаруживает его присутствие.
Далее она 255 раз выполняет поочередно умножение и деление двух случайных чисел (одних и тех же).
Далее она сравнивает поочередно результаты в массиве умножения и тоже самое в массиве деления.
Если находи отличие в результатах - выпадает с соответствующей ошибкой.
Если все оба массива внутри себя идентичны, то ОК и следующая итерация с другими случайными числами.
Могу выложить утилитку.
Сейчас проверяет 8087 (4,7МГц), работающий в JukoXT на 12МГц (проверил осциллографом).
Я так понимаю, что если за некое длительное время сопроцессор не расплавит сокет, не сгорит сам, не повесит комп и продолжит выдавать корректные результаты, значит, этот сопроцессор можно использовать на такой завышенной частоте.

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

Нужно ли проверять еще какие-то математические действия (синус-косинус), я не знаю. По моему все они раскладываются на умножение-деление.
Gerda
Advanced Member
Седьмая из Девяти.

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


Ссылка


Дата регистрации на форуме:
2 мар. 2015
[q]
Написал я утилитку на Паскале, т.к. больше ничего не знаю, а Паскаль в вузе знал на II месте по кафедре.
[/q]
Это неподражаемо. Удивительное-рядом. Программисты среди нас. :)

НУЖНО выложить утилитку.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Выкладываю.
Внутри архива EXE-шник и исходник.
А сопроцессор 8087 на 12МГц шурует уже полчаса и прошел 40тыс итераций. Горячий выше терпения пальца, но ниже шипения слюны :-). Термодатчик от тестера куда-то задевал к сожалению.

Прикрепленный файл (FPU_TEST.rar, 6354 байт, скачан: 15 раз)
Gerda
Advanced Member
Седьмая из Девяти.

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


Ссылка


Дата регистрации на форуме:
2 мар. 2015
78° С. Стабильно. 8087-1 @9.53.
skoroxod
Advanced Member
вежливый пролетарий

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


Ссылка


Дата регистрации на форуме:
5 мар. 2009
sanders написал:
[q]
Горячий выше терпения пальца, но ниже шипения слюны :-).
[/q]
А что мешает нацепить на него радиатор? Неужели не найдётся подходящей медяшки? Или хотя-бы люминевый радиатор распилить
и прицепить с торцов на скобки. Понятно что не аутентично, но и разгонный режим не соответствует его норме.
Gerda
Advanced Member
Седьмая из Девяти.

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


Ссылка


Дата регистрации на форуме:
2 мар. 2015
[q]
А что мешает нацепить на него радиатор? Неужели не найдётся подходящей медяшки? Или хотя-бы люминевый радиатор распилить
и прицепить с торцов на скобки. Понятно что не аутентично, но и разгонный режим не соответствует его норме.
[/q]
Мне мешает то, что сопроцессор расположен под ISA8 слотами, им перпендикулярно. И карты расширения упираются стеклотекстолитом ему в керамическую крышку. Целых 2 штуки. Не сколхозишь радиатор никак, дизайн PCB не позволяет.
Tronix
Advanced Member


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


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Эта штуковина кушает полампера и не давится, 3 ватта : http://www.ece.usu.edu/ece_store/spec/8087.pdf Так что 80 градусов ему норм, комфортно -)
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 в квадратных скобках воспринимает, как тэг курсива. Пришлось ставить круглые скобки. А как отключать тэги в сообщении?
Fe-Restorator
Гость

Ссылка

Сопр не умеет считать на 8-ми битах. Равно и на 16, на 32... Заложена в него способность вычислять на 80-ти битах, значит именно так он и будет работать, постоянно, независимо от разрядности входящих данных.
Теоретически, неиспользуемые разряды должны быть обнулены, однако на практике - это не всегда так. Особенно для сопра, разогнанного по частоте. И приведение результата счёта к требуемой разрядности тоже влияет, округлением до N-ного знака.

Поясню: случайная ересь в разрядах с 10-го по 80-й (при вычислениях) легко накрутит значение в 9-м разряде, с некоторым трудом - и в 8-мом. Округление до 8-го разряда дополнительно накрутит 8-й разряд.
Примерно таков механизм ошибок, если отвлечься от битности/разрядности.
Сейчас на форуме
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Все числа внутри FPU всегда числа с расширенной точностью.

При загрузке числа одинарной, двойной точности целого - FPU просто
преобразует любое число в формвт расширенной точности, при выгрузке
числа в память - наоборот(в зависимости от того с какой точностью
работаем).

Ни о каком отбрасывании или обнулении неиспользуемых бит разговор
не идет. Да и форматы чисел с плавающей точкой не такие чтобы можно
было что-то отбрасывать.
Fe-Restorator
Гость

Ссылка

i8088 написал:
[q]
FPU просто преобразует любое число в формвт расширенной точности,
[/q]
Вот на этом этапе и происходит дополнение нулями до нужного формата чисел. Токма в разогнанном сопре обнуление не всегда надёжно - появление самопроизвольных бит весьма вероятно, оно и вносит ошибки в вычисления.
Сейчас на форуме
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Для большей ясности уточню: нулями может дополняться только мантисса, порядок числа хранится
смещенным(на 127 для чисел одинарной точности, если память не изменяет) и соответственно
дополнение нулем или единицей зависит от от знака порядка(крайние порядки зарезервированы для
специальных значений).
Конечно в разогнанном FPU возможны какие угодно сбои, как Вы совершенно справедливо отметили.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Господа, вы уже спориите на абстрактные темы. Вы ушли от фактов и выхватываете верхушки, не анализируя связи.
Я отлаживал программу и столкнулся с погрешностью НА НЕРАЗОГНАННОМ 387SX ULSI. А во-вторых, ваши теории неверны, поскольку при делении погрешность не возникает. В-третьих, абсурдно предполагать, что какие-то биты не обнуляются. 299 раз обнулились, а на 300й нет?
Вот вернется у меня программисткое настроение, тогда проверю на разных процессорах, сопроцессорах и с разными форматами данных. Может, просто в компиляторе ошибка, как много их было в макросах Экселя 6.0
Fe-Restorator
Гость

Ссылка

sanders написал:
[q]
Я отлаживал программу и столкнулся с погрешностью НА НЕРАЗОГНАННОМ 387SX ULSI
[/q]
Лучше-бы отладка проводилась на DX40, 486-го поколения. Там хотя-бы нет разбежки частот проца с сопром, возможных издержек на этой почве.
А поскольку целевой сопр именно 8087, то и на нём стоило отлаживать, ибо также нет разбежки частот, несмотря на отдельность чипа.
Сейчас на форуме
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
sanders написал:
[q]
Господа, вы уже спориите на абстрактные темы.
[/q]
Согласен, я люблю теорию!
Вполне возможно и ошибка в компиляторе, однозначно можно проверить
написав все на ассемблере. Кстати что за компилятор у Вас? Можно
попробовать откомпилировать другим компилятором или по крайней
мере другой версией компилятора.

С разными версиями компилятора(или компиляторы разных фирм) часто
требуется некоторая коррекция программы, но это решаемо.

Сейчас обратил внимание на Ваш алгоритм
[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)
конец цикла
[/q]
Те Вы пользуетесь функцией rnd для генерации случайное чисел? Может быть погрешность
возникает просто при некоторых сочетаниях операндов, поэтому и не сразу проявляется?

Проверьте на более современных FPU, там такое наблюдается? Надо поискать errata
документы для старых FPU, какие ошибки были найдены.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
X и Y постоянные случайные числа! Не разные.
Грубо говоря я 255 раз умножаю 2 на 2 и запоминаю результат. Потом проверяю. Если все 255 раз ответ был 4, то меняю операнд и снова 255 раз... И вдруг на каком-то этапе ответ не сходится единственный раз из 255. Почему ответ не 4? Причем 254 раза ответ 4, а 255й не 4. Вот я о чем.
Я бы понял, если бы сопроцессор неправильно умножал 2 на 2. Но он бы одинаково неправильный ответ давал все 255 раза. А он дает единственный неверный результат из 255. Операнд 2 на 2 выбран для демонстрации идеи.
Пользовался Turbo Pascal 6.0 со встроенным компилятором.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Хмм, интересно.
Давайте проверим на более современных CPU со встроенным FPU: 486, Pentium.
pahan
Advanced Member


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


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
X и Y постоянные случайные числа! Не разные.
Грубо говоря я 255 раз умножаю 2 на 2 и запоминаю результат. Потом проверяю. Если все 255 раз ответ был 4, то меняю операнд и снова 255 раз... И вдруг на каком-то этапе ответ не сходится единственный раз из 255. Почему ответ не 4? Причем 254 раза ответ 4, а 255й не 4.
[/q]
А ещё какие-то закономерности есть? Ошибка вываливается только на конкретных парах операндов/шагах цикла или всегда на разных?
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Всегда на разных итерациях. Минимум 90я итреация, максимум 400я.
На разных операндах. Одинаковые невозможно получить никогда, т.к. они берутся из генератора случайных чисел.
Результат при ошибке я выводил на экран для себя, и он имел вид: " x,xxxxxxxxxxxx..... Enn >> x,xxxxxxxxYYYY... Enn "
x- совпадающие цифры, y- отличающиеся, nn - 10 в степени nn.
Т.е. результаты представлены в виде десятичной степени. Начиная с 9го, максимум с 10го знака начинались расхождения.
После этого я уменьшил разрядность вычислений до SINGLE, и остались только 8 знаков после запятой, которые всегда совпадают.
Кстати, я не проверял сколько расхождений в массиве из 255 результатов. Может одно расхождение, а может что-то идет вразнос, и там все результаты отличные друг от друга (после 8й цифры). Я делал останов по первому расхождению.
Да, есть пища для размышлений, но нет пока желания снова попрограммировать.
GrumpyCat
Advanced Member


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


Ссылка


Дата регистрации на форуме:
22 июля 2014
sanders
Похоже, это известный глюк, наблюдаемый на ULSI.

Проверьте вот это (запускать в цикле):
>1. Беpём два числа (тип double):
>a = 8.41829604081856E-1 и b = 1.58170394306106E-1
>2. Складываем: c = a + b
>3. И можем получить:
> а) Пpавильный pезультат;
> б) Hепpавильный pезультат (лажа после 9го знака);
> в) Ошибку сопpоцессоpа.

и вот это (естественно тоже в цикле):
>глюк в сопре ulsi. при операции типа 2.2345678 + 0.7654321
>он иногда выдает не 2.9999999, а ошибку.
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Вот она разгадка?!!
На выходных проверю.
А откуда информация?
GrumpyCat
Advanced Member


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


Ссылка


Дата регистрации на форуме:
22 июля 2014
https://groups.google.com/forum/#!topic/fido7.su.comp.old/WvIxEz9aaT8
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
В теме вроде звучало про сопроцессор 387SX - это Интел? а не ULSI ?
sanders
Advanced Member
Профессионал

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


Ссылка


Дата регистрации на форуме:
26 мар. 2008
387sx - это семейство. А у меня действительно воткнут ULSI
Fe-Restorator
Гость

Ссылка

GrumpyCat написал:
[q]
Похоже, это известный глюк, наблюдаемый на ULSI.
[/q]
Гут, а на i8087-мом та-же картина наблюдается? Ежли он так-же ошибками сыпет... Т.е. на-поверку, сопр i387 это разогнанный по частоте i8087-й?
Дайте ответ на оба вопроса.
Сейчас на форуме
GrumpyCat
Advanced Member


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


Ссылка


Дата регистрации на форуме:
22 июля 2014
Fe-Restorator написал:
[q]
Гут, а на i8087-мом та-же картина наблюдается? Ежли он так-же ошибками сыпет... Т.е. на-поверку, сопр i387 это разогнанный по частоте i8087-й?
Дайте ответ на оба вопроса.
[/q]
1. Нет.
2. Нет.
pahan
Advanced Member


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


Ссылка


Дата регистрации на форуме:
13 мар. 2015
[q]
Т.е. на-поверку, сопр i387 это разогнанный по частоте i8087-й?
[/q]
Нет. Дополнительные ассемблерные команды и изменения в допустимых значениях операндов некоторых команд, различия по поведению в некоторых ситуациях (в т.ч. исправление багов прошлых моделей), другой интерфейс с CPU.
Это 287й по сути 87й с изменённым интерфейсом, большими частотами и поддержкой защищённого режима.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Сопроцессоры 8087 и утилита mcpdiag
RSS

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

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

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