Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тестирование производительности процессора, Работа с плавающей точкой. 
:(
    Опции темы
dlinyj
  Дата 6.10.2009, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Разрабатывается некое устройство на базе х86-совместимого процессора (486DX с частотой 1,2 ГГц).

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

Необходимо проводить рассчёт, максимально загружающий процессор (ОСь однозадачная, что-то на подобие DOS). При расчёте необходимо контролировать получаемые значения (нет ли ошибки в вычислениях). Контроль должен проводится на сравнении с таблицей. Расчёт должен идти непрерывно, до останова пользователем.

Я на самом деле даже не знаю с чего начать. Поглядел несколько тестов. Например расчёт числа Пи. Однако загонять такую мегаконстанту в ограниченнную память будет весьма сложно. Интересуют больше алгоритмы, т.к. пример всёравно будет переписыватся под конкретную задачу. Но писатся будет на си, по сему вопрос задаю здесь. По сему просьба высказать любые предложения по этому вопросу.
PM MAIL   Вверх
niXman
Дата 6.10.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: нет
Всего: 0



Насколько я помню, 486DX был 100 мегагерцовый smile 
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
dlinyj
Дата 6.10.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Цитата(niXman @ 6.10.2009,  16:36)
Насколько я помню, 486DX был 100 мегагерцовый smile

Я чётко выразился, что это устройство и там стоит совместимый процессор, а не 486!

Говоря простым и доступным языком, это совсем не компьютер в том понимании которое мы привыкли видеть.

Это сообщение отредактировал(а) dlinyj - 6.10.2009, 16:41
PM MAIL   Вверх
Anikmar
Дата 6.10.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(dlinyj @  6.10.2009,  16:13 Найти цитируемый пост)
Однако загонять такую мегаконстанту в ограниченнную память будет весьма сложно.

Что значит мегаконстанта?
И каков тогда объем памяти? Таблица заранее вычисленных значений тогда отпадает, если памяти мало.
PM MAIL ICQ   Вверх
dlinyj
Дата 6.10.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Ну память как в обычном ДОСе: 640 килов, минус занятое системой. Всё просто smile

Можно циклически гонять один и тот же алгоритм. Тут важно нагрузить процессор, чтобы он не простаивал.
PM MAIL   Вверх
Anikmar
Дата 6.10.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(dlinyj @  6.10.2009,  17:43 Найти цитируемый пост)
Можно циклически гонять один и тот же алгоритм. Тут важно нагрузить процессор, чтобы он не простаивал. 

Просто загрузить? Или все-таки сравнить результат потом с правильным?

Если просто загрузить - загоните любую достаточно сложную формулу и поместите ее в бесконечный цикл.

А если сравнить рассчеты с заранее известными просчитанными значениями, то их надо где-то хранить.
PM MAIL ICQ   Вверх
dlinyj
Дата 6.10.2009, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Лично я вижу решение задачи следующим образом. Имеется файл заранее посчитанных констант. Ну допустим алгоритм поиска "Пи" - оно лежит в посчитанное в бинарнике (файле). 

Размер допустим его там 200 килов. Считаем до 200 килов (бинарник загружаем в память. Сравниваем результат (два массива), оцениваем погрешность вычисления, и очищаем память посчитанного массива. Делаем следующую итерацию поиска. И так далее. Я вижу это примерно так.
PM MAIL   Вверх
niXman
Дата 6.10.2009, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: нет
Всего: 0



Цитата(dlinyj @  6.10.2009,  18:06 Найти цитируемый пост)
бинарник загружаем в память

А зачем весь загружать в память? Можно по одному результату читать.
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
dlinyj
Дата 6.10.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Вопрос состоит не в том, как конкретно это сделать! А какие алгоритмы использовать. Давайте не будем уходить от темы разговора, пожалуйста. Я уже весь рунет перерыл в поисках алгоритма. Нашёл кучу прог математических на фортране, но мне нужен си. И там не алгоритмы, а уже готовые законченные решения, которым нужно кормить данные.
PM MAIL   Вверх
shara
Дата 7.10.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: 2
Всего: 2



тут на форуме есть раздел по Алгоритмам, может лучше обратиться сюда

 чем Вас не устраивает идея dlinyj: считать число (не обязательно Пи) и затем сравнивать с заранее рассчитанным эталонным значением? 

З.Ы. если мало памяти можно считать не большое число


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
dlinyj
Дата 8.10.2009, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.10.2009

Репутация: нет
Всего: нет



Вполне устраивает. В этом и задача стоит, главное считать число с плавающей точкой! Проверяя работу именно сопроцессора!
Я уже нашёл пакет LINPACK или тест бечмарок http://www.roylongbottom.org.uk/classic.htm#anchorLinp . Буду его ковырять. Добавлю проверку чила, адаптирую под свою память. И думаю будет всё хорошо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.