Регистрирайте сеРегистрирайте се

Компютърната грешка при аритметичните операции


 
   Форум за математика Форуми -> Kомпютърни изчисления
Предишната тема :: Следващата тема  
Автор Съобщение
nikoleto
Начинаещ


Регистриран на: 08 May 2007
Мнения: 49

Репутация: 3.1Репутация: 3.1Репутация: 3.1
гласове: 1

МнениеПуснато на: Sat Jun 02, 2007 3:37 am    Заглавие: Компютърната грешка при аритметичните операции

Хай на всички! Доколко смятате че компютрите грешат, ставали ли сте свидетели на явна компютърна грешка. Как да се преборим с нея при правенето на някоя авторска програма. Имам разни решения на този въпрос но ми е интересно Вие какво мислите защото може да кажете нещо по добро все пак Wink!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Реклама







Пуснато на:     Заглавие: Реклама

Върнете се в началото
OliGoFren
Начинаещ


Регистриран на: 29 May 2007
Мнения: 57

Репутация: 4.1Репутация: 4.1Репутация: 4.1Репутация: 4.1

МнениеПуснато на: Sat Jun 02, 2007 1:33 pm    Заглавие:

Ako грешката е софтуерна, можеш да я поправиш като си попрегледаш сорс-кода на програмата и видиш къде си сбъркал. Ако е хардуерна, тоест дефектен процесор - сменяш компютъра.
Освен това за компютрите са характерни грешки, свързани със загуба на точност при работа с реални числа. Оценка за този тип грешка се дава от т.нар. число "машинно епсилон". Това е най-малкото положително число eps от съответния реален тип за дадения компютър, за което
1 + eps != 1 .
Този тип грешки са обусловени от това, че реалните числа се представят в компютъра дискретно, тоест чрез рационални числа, които са крайни двоични дроби. А всяко рационално число, чийто знаменател съдържа прост делител, различен от 2, се представя като безкрайна периодична двоична дроб. Но компютрите представят числата само като крайни двоични дроби, и оттам идва загубата на точност.
Поне аз така си мисля.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Irrefutable
Напреднал


Регистриран на: 15 Jul 2007
Мнения: 298
Местожителство: София
Репутация: 28.8Репутация: 28.8Репутация: 28.8
гласове: 5

МнениеПуснато на: Sat Jul 21, 2007 10:32 pm    Заглавие:

Компютрите не грешат, грешат програмистите.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
xyz
Напреднал


Регистриран на: 20 May 2007
Мнения: 319

Репутация: 41.2Репутация: 41.2Репутация: 41.2Репутация: 41.2
гласове: 12

МнениеПуснато на: Mon Jul 23, 2007 9:04 am    Заглавие:

Хардуерни грешки се срещат изключително рядко в компютрите и това е обикновено при екстремни условия - например, ако процесорът прегрява частично. Самият процесор има вграден механизъм за автоматично оправяне на 1 грешка, а вероятността да се случат 2 е може би се случва по-рядко от веднъж на трилион години непрекъсната работа.
Не така стои въпросът със софтуера. Каквато и авторска програма да използваш, то никак не е изключено да има грешка в софтуера на операционната ти система - именно този вид грешки човек трябва да избягва.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Irrefutable
Напреднал


Регистриран на: 15 Jul 2007
Мнения: 298
Местожителство: София
Репутация: 28.8Репутация: 28.8Репутация: 28.8
гласове: 5

МнениеПуснато на: Mon Jul 23, 2007 11:00 am    Заглавие:

Грешки в процесора могат да вазникнат само от честотен оверклок , или от по-ниско или по-високо напрежение. При това грешките стават системни, накрая системата забива и биоса почва да недоволства.
Друг вид грешки са тези от периферните устройства ... загуба на пакети , получаване на грешни пакети , но това е ясно , дължи се на шумове в трасето и се взимат мерки когато възникне грешка да се пращат данните на ново.
Изключение правят някой протоколи за които софтуера после следи дали всичко е получено правелно, а няма хардуерен хеширане и сравняване.

xyz, та за какъв процесор по-точно говориш и какъв механизъм за оправяне на грешка има ?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
xyz
Напреднал


Регистриран на: 20 May 2007
Мнения: 319

Репутация: 41.2Репутация: 41.2Репутация: 41.2Репутация: 41.2
гласове: 12

МнениеПуснато на: Mon Jul 23, 2007 3:24 pm    Заглавие:

Irrefutable написа:
xyz, та за какъв процесор по-точно говориш и какъв механизъм за оправяне на грешка има ?

Чувал съм че се прилага при съвременните процесори (примерно произведени до преди 5 години). Не мога да знам със сигурност кои модели го подържат, защото вътрешната хардуерна реализация е винаги търговска тайна. Поправянето на грешките се извършва с абсолютно същите механизми, както това се извършва при "зашумено трасе", както си писал.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Irrefutable
Напреднал


Регистриран на: 15 Jul 2007
Мнения: 298
Местожителство: София
Репутация: 28.8Репутация: 28.8Репутация: 28.8
гласове: 5

МнениеПуснато на: Mon Jul 23, 2007 4:16 pm    Заглавие:

Потока на данни може да се проверява дали е верен или не , когато се пращат контролни пакети.
Но за да провериш дали едно изчисление е извършено правелно или не, трябва да го направиш още 1 път и да сравниш резултата. (Особено когато става дума за процесор)
Което ме навява на мисълта че за да може да се направи проверка трябва да има две успоредни АЛУ-та и ФПУ-та които да работят и на изхода им да се сравняват стойностите.
От своя страна, това значи по-голяма шина, и двоен флагов регистър, или поне някакъв буфер. Ако има такава технология 100 на 100 не се ползва за домашни компютри Wink

Ако попаднеш на някаква статия, хвърли един линк, да се образовам.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Покажи мнения от преди:   
   Форум за математика Форуми -> Kомпютърни изчисления Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
You cannot attach files in this forum
Може да сваляте файлове от този форум
Copyright © 2005-2021 math10.com.