![]() |
|
Модераторы: bsa |
![]()
|
|
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Разрабатывается некое устройство на базе х86-совместимого процессора (486DX с частотой 1,2 ГГц).
Стоит задача провести его тестирование на работу с плавающей точкой (грубо говоря, при максимальной загрузке) при работе на экстримальных температурах. Необходимо проводить рассчёт, максимально загружающий процессор (ОСь однозадачная, что-то на подобие DOS). При расчёте необходимо контролировать получаемые значения (нет ли ошибки в вычислениях). Контроль должен проводится на сравнении с таблицей. Расчёт должен идти непрерывно, до останова пользователем. Я на самом деле даже не знаю с чего начать. Поглядел несколько тестов. Например расчёт числа Пи. Однако загонять такую мегаконстанту в ограниченнную память будет весьма сложно. Интересуют больше алгоритмы, т.к. пример всёравно будет переписыватся под конкретную задачу. Но писатся будет на си, по сему вопрос задаю здесь. По сему просьба высказать любые предложения по этому вопросу. |
|||
|
||||
| niXman |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 4.7.2009 Репутация: нет Всего: 0 |
Насколько я помню, 486DX был 100 мегагерцовый
--------------------
if ( !c++ ) { *power--; this->wussiness += 10;} |
|||
|
||||
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Я чётко выразился, что это устройство и там стоит совместимый процессор, а не 486! Говоря простым и доступным языком, это совсем не компьютер в том понимании которое мы привыкли видеть. Это сообщение отредактировал(а) dlinyj - 6.10.2009, 16:41 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Ну память как в обычном ДОСе: 640 килов, минус занятое системой. Всё просто
Можно циклически гонять один и тот же алгоритм. Тут важно нагрузить процессор, чтобы он не простаивал. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Просто загрузить? Или все-таки сравнить результат потом с правильным? Если просто загрузить - загоните любую достаточно сложную формулу и поместите ее в бесконечный цикл. А если сравнить рассчеты с заранее известными просчитанными значениями, то их надо где-то хранить. |
|||
|
||||
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Лично я вижу решение задачи следующим образом. Имеется файл заранее посчитанных констант. Ну допустим алгоритм поиска "Пи" - оно лежит в посчитанное в бинарнике (файле).
Размер допустим его там 200 килов. Считаем до 200 килов (бинарник загружаем в память. Сравниваем результат (два массива), оцениваем погрешность вычисления, и очищаем память посчитанного массива. Делаем следующую итерацию поиска. И так далее. Я вижу это примерно так. |
|||
|
||||
| niXman |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 4.7.2009 Репутация: нет Всего: 0 |
А зачем весь загружать в память? Можно по одному результату читать. --------------------
if ( !c++ ) { *power--; this->wussiness += 10;} |
|||
|
||||
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Вопрос состоит не в том, как конкретно это сделать! А какие алгоритмы использовать. Давайте не будем уходить от темы разговора, пожалуйста. Я уже весь рунет перерыл в поисках алгоритма. Нашёл кучу прог математических на фортране, но мне нужен си. И там не алгоритмы, а уже готовые законченные решения, которым нужно кормить данные.
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: 2 Всего: 2 |
тут на форуме есть раздел по Алгоритмам, может лучше обратиться сюда
чем Вас не устраивает идея dlinyj: считать число (не обязательно Пи) и затем сравнивать с заранее рассчитанным эталонным значением? З.Ы. если мало памяти можно считать не большое число -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| dlinyj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Вполне устраивает. В этом и задача стоит, главное считать число с плавающей точкой! Проверяя работу именно сопроцессора!
Я уже нашёл пакет LINPACK или тест бечмарок http://www.roylongbottom.org.uk/classic.htm#anchorLinp . Буду его ковырять. Добавлю проверку чила, адаптирую под свою память. И думаю будет всё хорошо |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |