KAIST

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ KAIST ] in KIDS
글 쓴 이(By): guest (guest) <211.177.121.26>
날 짜 (Date): 2003년 4월 20일 일요일 오후 02시 12분 17초
제 목(Title): [q] DSP multiplier 정확도?



 TMS320C32 DSP 칩을 쓰고 있는 중인데,
 1주일을 걸려서 아래와 같은 버그를 잡아냈습니다.

 printf 문을 쓸 수 없는 열악한 환경과 
 너무나도 명백한 부분에 오류가 없을 것이라고 생각하고, 
 다른 부분들을 뒤지고 있어서 버그를 잡는데 시간이 오래 걸렸음.

********** start
 int ii;
 float kk;

 ii = 100;
 kk = 0.01*((float) ii) + 1.0;

********** end
 kk = 1.99999988 이 됩니다. 
 문제는 계산오차가 누적되어 이후 실행에 영향을 크게 미친다는 점.
 
 똑같은 프로그램을 일반 컴퓨터에서 실행시키면 
 당연히 kk = 2.00000000 이 나오죠. 

 TMS320C32 에 내장된 multiplier가 정확도가 떨어진다는 얘기를 
 들은 적이 있는데, 이에 대해서 아시는 분 있나요? 

@ 버그 잡은 소감 
1. 믿은 놈 하나도 없네 :( 
2. 공돌이 최대 적은 공돌이다 :P 

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.