2012년 7월 2일 월요일

인텔 KNI


Intel의 새로운 MMX - "KNI"
KNI Katmai New Instruction 약자이다. 아는 분들은 알고있겠지만 KATMAI(이하 카트마이로 부름) 인텔의 다음번 펜티엄2 업그레이드 버전의 하나이다. 카트마이의 가장 차이점은 새로운 명령어인 KNI 추가했다는 것이다. 원래 KNI MMX2라는 호칭으로 불리웠는데 그러나 지금은 KNI라는 이름으로 바꿔졌다. 아마도 MMX 크게 다르것이 없다라는 취급을 받을까 두려워서 일까?
KNI 구체적인 모습을 드러내기 시작한 것은 올해(1998) 1 경이었다. 카트마이의 새로운 명령어로 들어갈 KNI 70여개의 명령어로 구성된다. 사실 KNI MMX 많이 닮아있다. MMX 일반적으로 많이 행하는 정수연산을 고속처리하기 위해 여러개의 명령어들을 축약시킨 명령어군 이었다면 KNI 정수연산보다 정밀한 부동소숫점 연산에 초점을 맟추고 있다. 사실 MMX 처음 등장했던 1996 하반기 쯤에는,(지금 일반 펜티엄을 쓰고 계신분들은 느끼겠지만) PC 환경에서 소프트웨어 동화상 플레이어도 현저히 느려서 끊어짐이 심했고 3D 게임의 정밀함도 낮은 수준이어서 듀크뉴켐3D같은 게임이 그런대로 할만한 정도였고, 퀘이크1 느리게 동작했다.당시 상황에서 동화상 플레이어, 3D게임 소프트웨어 분야를 위한 고속 명령어들의 필요는 절실했다. 그래서 나온 것이 MMX였다. 그러나 당시 요구하던 정밀도가 대부분 정수 연산 수준이었고 3D 게임의 처리 과정 일부에 부동 소숫점이 필요한 수준이었다. 그래서 32비트 정수 연산을 고속처리하기 위하여 당시에 펜티엄 프로세서의 64비트 데이터 버스 라인을 통해서 다량의 데이터를 고속으로 받아들이고, 내부의 부동소숫점 레지스터를 활용하는 , 정수 연산을 고속으로하기 위해 편법을 발휘한 것이 MMX기술이라고 있다.예전에는 정수는 정수 레지스터에만 부동소숫점은 부동소숫점 저장 장소에만 저장 되었다. 그러나 MMX 명령어들은 정수 처리를 하면서 종류의 레지스터를 최대한 활용한다. 또한 여러개의 명령어로 처리해야했던 작업을 하나의 명령어로 줄여놓았다. 사실 프로그램 중에는 실질적인 데이터 처리못지 않게 데이터를 이리저리 옮기고 명령어 읽고 하는데 드는 시간이 많다. MMX명령어들은 이러한 불필요한 시간을 많이 줄여준다.
그러나 MMX에도 단점은 존재한다. 우선 단점은 MMX 명령을 사용한 프로그램과 MMX 프로프로그램과의 호환성이다. 당연한 일이지만 MMX프로그램은 MMX 명령을 지원하지 않는 프로세서에서 동작하지 않는다. 따라서 같은 펜티엄이라도 펜티엄 MMX 일반 펜티엄과는 호환되지 않는 단점이 있다. 또한 MMX프로세서라고 하더라도 MMX 명령을 사용하지 않으면 아무런 성능향상을 기대할 없다. 그러나 시간이 흐르면서 MMX 이제 CPU 기본기능처럼 인식되어가고 있다.
그러나 MMX 거쳤던 문제를 KNI 또한 어쩔 없이 거치게 것이다. KNI 정밀한 복잡한 형태의 부동소숫점 처리를 위한 복합 명령어들을 제공한다. 예전에는 여러개의 명령어를 사용해서 시간에 처리하던 작업들이 1개의 명령어로 축약될 것이다. 인텔은 이것을 SIMD-FP(Single Instruction Multiple Data-Floating Point)라고 표현한다. 하나의 명령어로 여러개의 부동소숫점 데이터를 읽고 이를 처리한다는 뜻으로 쓰인 같다.
- 응용
인텔은 KNI 활용분야로 게임과 SW-DVD, 음성인식등의 처리에 초점을 맞추고 있다. 필자의 생각으로도 KNI 대표적인 성능 향상 가능성있고 곧바로 도입 있는 분야가 정밀한 3D 표현이 요구되는 3D 게임 분야가 것이라고 생각한다. KNI 이제까지 정수처리로인한 거친면과 Z좌표 계산의 부정확성을 획기적으로 줄여줄 것이다.(이것은 3D벤치의 Quality 테스트를 해본 사람이면 느낄 있을 것이다.) 또한 멀리있는 물체에대한 처리가 보다 정확해지고, 현재의 픽셀단위의 처리에서 나아가 서브픽셀단위의 처리가 가능해질지 모른다.그리고 인텔의 예견처럼 또한가지 획기적인 변화를 예고하는 분야가 음성인식 분야이다. 음성인식장치는 아마도 인간에게 가장 편리한 궁극적인 입력장치가 될것이다. 이미 마이크로소프트는 오래전에 윈도우용의 음성처리키트를 발표하고 꾸준히 버전업 시키고 있다. 그러나 음성인식은 PC 도입되기에는 많은 문제를 가지고 있는 분야이다. 음성인식은 게임처럼 실시간 처리를 필요로하는 안되는 분야중 하나이다. 또한 외부의 잡음등에대한 처리도 해야한다. 95/98 같은 오퍼레이팅 시스템에서 음성인식 기능이 들어가려면 단순한 단어학습과 인식을 위해서만도 제한된 짧은 시간안에 많은 량의 음성 데이터를 처리해야한다. 또한 이러한 대량의 수치처리가 다른 프로그램이 동작하는 배경하에서 처리해야 된다. 이러한 작업에 KNI 명령어들은 많은 도움을 있을 것이라고 예측하고 있다. 그러나 아마도 이것은 머시드나 윈도우2000 나올 쯤이나 도입 것이다.퍼스널 컴퓨터로 처리할 있는 영역이 점점 늘어나고 있다. KNI로인해서 카트마이의 성능이 얼마나 빨라질지는 뚜껑을 열어봐야 한다. 가지 유의할 점은 모든 소프트웨어의 속도가 빨라지는 것은 아니라는 점이다. 나쁘게 말한다면 현재쓰고있는 소프트웨어의 성능은 KNI로인해 빨라지지않을 것이라는 것이다. KNI 기능을 사용하는 소프트웨어만 특히 KNI처리를 사용하는 시점에서만 기존의 프로세서로 처리하는것에 비해 속도가 빨라진다는 점이다. 카트마이의 실제 제품 출시는 1999 초로 알려져 있었다. 그러나 필자는 이글을 쓰면서 카트마이의 출하소식을 이미 접하게 되었다. 다가올 1999 KNI 위한 벤치마크가 기다려진다. 차후에 KNI에대한 추가적인 분석을 약속드리면서...

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...