이번에 새로 발견된 인텔 펜티엄칩의 결함은 소수점이하 숫자를 정수로 바꾸는 과정에서 나타나는 것으로 이는 FIST라는 컴퓨터명령어로 표시된다.
FIST는 Floating point to Integer conversion and STore의 약자로 다시말하 면 "부동소수점을 정수로 바꿔 저장하라"는 뜻이다.
컴퓨터가 부동소수점을 정수로 바꾸도록 명령어를 지정하는 방법은 UP.DOWN.
CHOP.NEAREST등 크게 네가지이다.
UP은 올림, DOWN은 내림, CHOP은 소수점이하 숫자를 모두 버리는 것을 각각 말하며 NEAREST는 가장 가까운 값을 취하는 것을 뜻한다.
이중 CHOP이 소프트웨어 프로그래머들이 일반적으로 사용하는 정수전환 방식 이라는게 인텔측의 설명이다.
이번에 나타난 반올림방법 상의 오류는 크게 두가지로 요약된다.
첫번째는+-0.0625(1/16), +-0.125(1/8), +-0.1875(3/16) 등 6개 숫자 의 계산에서 나타나는 오류이다.
이들 숫자를 정수로 바꿀 때 컴퓨터의 정수전환 모드(MODE)를 CHOP이나 NEAR EST로 할 경우에는 문제가 발생하지 않으나 정수전환 모드가 UP이나 DOWN일 때는 잘못된 답이 나온다는 것이다.
예를들면 0.0625란 숫자를 정수로 바꾸면 NEAREST, CHOP, DOWN모드에서는 0 제로 UP모드에서는 1이란 답이 나와야 정답인데 실제로 UP모드에서 0이란 오답이 발생한다는 것이다.
반대로 마이너스 0.0625란 숫자를 정수로 바꿀때도 다른 모드에서는 0이 나오나 DOWN모드에서는 마이너스 1이란 답이 나와야 하는데 0이란 답이 나오게된다. 두번째 오류는 컴퓨터의 정수부분 표현한계에 근접한 숫자의 소수이하 숫자 를 정수로 전환하는 과정에서 발생한다.
일반적으로 말하는 정수표시 한계는 16비트 CPU의 경우 6만5천5백35(65, 53 5)이고 32비트의 경우 42억9천4백96만7천2백95(4, 294, 967, 295)이다.
다시 말하면 16비트 계산이란 2를 16제곱한 값이 정수표현한계로 이 값은 65 536이다.
그러나 컴퓨터의 계산이 0부터 시작함에 따라 실질적으로 CPU가 표현할 수있는 한계값은 "2의 16제곱 마이너스 1"이 되며 이는 결국 65, 535란 숫자가 된다. 마찬가지로 32비트 계산의 경우는 2의 32제곱 마이너스 1인 4, 294, 967 295가 한번에 계산할 수 있는 정수의 최대 표현한계가 되는 셈이다.
물론 이것은 정수부분이고 여기에 소수점이하 숫자는 얼마든지 추가돼 계산 될 수 있다.
두번째 오류도 바로 정수표시한계인 65, 535와 4, 294, 967, 295를 넘어서는소수점이하 숫자를 정수로 바꿀 때 나타나며 이중에서도 부동소수점의 정수 전환 모드가 UP이나 NEAREST 일때 오류가 발생한다.
예를 들어 65, 535.5를 UP이나 NEAREST 모드로 정수전환한다고 하면 해답은6 5, 536이 된다.
그러나 이 숫자는 앞서 말한대로 정수표시 한계를 넘어서기 때문에 컴퓨터는 이 답을 표시하지 못하게 되며 따라서 EXCEPTION 에러라는 표시가 나와야 정상이다. 컴퓨터는 그러나 이 때 에러라는 응답대신 0이란 숫자가 나온다는 것이다.
인텔은이같은 오류를 마이크로소프트사의 DOS, WIN 3.1, 엑셀 버전5.0을 비롯해 파스칼, 오토캐드, 노벨사의 쿼트로프로나 네트웨어 버전4.1, 로터스 123 등 12개사의 24개 주요 소프트웨어를 통해 실험해본 결과 이중 엑셀 버전 5.0, 비주얼베이직 버전3.0, 파스칼 94년판, ADA컴파일러 등 4개 소프트웨어 에서 이같은 현상이 발견됐다고 밝히고 있다.
이같은 펜티엄 2차결함이 있음이 드러나게 된 것은 앞으로 칩의 결함이 있을경우 이를 공개하겠다고 밝힌 정책에 따라 이같은 자체실험 결과를 OEM업체 나 소프트웨어벤더들에게 통보했기 때문이다.
그러나 이번 펜티엄칩의 오류는 지난해말 처음 발견돼 세계적으로 큰 파문이 일었던 부동소수점 연산문제와는 다소 차원이 다르다고 할 수 있다.
지난해 오류발생시에는 인텔이 칩의 결함을 알고 있으면서도 쉬쉬했고 오히려 고압적인 자세를 취한데 비해 이번에는 비록 비공식적으로나마 스스로 공개했기 때문이다.
그러나 인텔이 아직 비공개적인 일처리 태도를 완벽히 떨쳐 버리지는 못한인상이다. 인텔코리아는 "본사의 정확한 지침이 없는 상태에서 이에관해 말할 수 없다" 며 "이같은 문제가 심각한 것은 아니며 계속 보완해 나갈 것"이라고 밝히고있다. 그러나 업계전문가들은 이같은 오류가 비록 고도의 정밀계산을 요구하는 분야에서 발생하고 일반 PC 사용자에게는 영향을 미치지 않는다 하더라도 펜티 엄칩에 대한 불신감은 더욱 증폭될 것이 확실시되기 때문에 PC환경 변화에 큰 파장을 불러올 것으로 예상하고있다. <이창호 기자>
SW 많이 본 뉴스
-
1
모바일 주민등록증 전국 발급 개시…디지털 신분증 시대 도약
-
2
삼성SDS, 클라우드 새 판 짠다…'누리' 프로젝트 띄워
-
3
제주도에 AI 특화 데이터센터 들어선다…바로AI, 구축 시동
-
4
공공·민간 가리지 않고 사이버공격 기승…'디도스'·'크리덴셜 스터핑' 주의
-
5
삼성SDS, 병무청 행정 시스템 클라우드 전환 맡는다
-
6
오픈AI, 코어위브와 클라우드 계약…MS와 결별 가속화되나
-
7
마케터, 생성형 AI 의존 심화…사용자 신뢰 잃을라
-
8
[뉴스줌인]경기 침체 속 오픈소스 다시 뜬다…IT서비스 기업 속속 프로젝트 추진
-
9
산·학·연 모여 양자 산업 지원…NIA, 양자 클러스터 기본계획 마련 착수
-
10
유통가 개인정보 유출사고 연이어
브랜드 뉴스룸
×