2.1 PC 시대의 개막과 그래픽 기술의 한계
1980년대 후반을 지나 1990년대에 접어들면서 인류는 ’1가구 1컴퓨터’라는 원대한 꿈, 즉 퍼스널 컴퓨터(Personal Computer, PC) 시대의 폭발적인 개막(Dawn of the PC Era)을 찬란하게 맞이했다. 투박했던 조립형 회로 기판을 넘어 애플(Apple)과 IBM의 완제품들이 책상 위에 자리 잡았고, 마이크로소프트(Microsoft)의 윈도우(Windows) 운영체제(OS)는 딱딱하게 키보드로만 치던 명령어(Command Line) 대신 누구나 마우스로 손쉽게 클릭할 수 있는 이른바 그래픽 사용자 인터페이스(Graphic User Interface, GUI)를 성공적으로 안착시켰다.
하지만 하드웨어(Hardware)의 발전 속도는 인간의 눈이 요구하는 화려하고 높은 수준의 시각적 기대치(Visual Expectation)를 도저히 따라가지 못하고 있었다. 화면에 글자를 뿌리거나 기껏해야 지뢰찾기, 카드놀이 같은 가벼운 2D 게임을 띄우는 것에는 큰 무리가 없었지만, 당시의 컴퓨터 디스플레이 렌더링(Rendering) 수준은 그야말로 원시적인 상태였다.
이 시기 2.1장에서는 당시 거의 유일무이한 연산 처리의 황제이자 막강한 지배자였던 인텔(Intel) 중앙처리장치(CPU) 중심의 낡은 직렬 연산(Serial Processing) 아키텍처가 지닌 구조적이고 치명적인 병목 현상(Bottleneck)을 집중적으로 진단한다. 또한 오락실 아케이드(Arcade) 기기들에서 차츰 선명하게 선보여지며 거센 혁명의 파도로 밀려들어 오고 있던 비디오 게임(Video Game)의 눈부신 진화가, 어떻게 답답한 PC 모니터 공간 내에서 강력하고 유연한 3D 그래픽 하드웨어(3D Graphics Hardware)에 대한 거칠고 원초적인 갈증(Thirst)을 폭발적으로 야기하게 되었는지その 한계와 당위성을 상세히 파헤쳐 본다.
2.1.1 CPU 중심 연산 아키텍처의 병목 현상
초창기 컴퓨터 하드웨어 시스템 구조의 생태계에서 중앙처리장치(Central Processing Unit, CPU)의 존재는 절대적이며 유일무이한 두뇌 그 자체였다. 키보드의 입력을 처리하는 것부터 워드 프로세서 파일의 저장, 디스플레이 모니터 위로 점(Dot)을 찍어 글자를 띄워내는 모든 연산 과정이 오로지 CPU 하나를 거쳐 수행되는 극단적인 ’단일 코어 중심 구조(CPU-centric Architecture)’였다. 특히 마이크로프로세서 칩의 황제로 군림하던 인텔(Intel)은 무어의 법칙(Moore’s Law)에 따라 매번 압도적으로 빠른 클럭(Clock) 속도를 자랑하는 CPU를 내놓으며 이 철통같은 구조를 지배했다.
문제는 이 CPU의 타고난 기질 자체가 다분히 ’관료적’이라는 데 있었다. CPU는 대단히 똑똑하고 복잡한 고차원적인 수학 연산(Complex Logic)을 빠르고 정확하게 수행하는 데 특화되어 있지만, 데이터를 한 번에 광범위하게 쏟아내는 것이 아니라 철저하게 파이프라인(Pipeline)을 따라 하나씩 차례차례 ’직렬(Serial)’로 처리하는 속성을 띤다.
graph LR
A[데이터 입력<br>Data Input] --> B[CPU 단일 코어 연산<br>Serial Processing]
B --> C[시스템 제어<br>System Control]
B --> D[단순 로직 연산<br>Logic Calc]
B --> E[수만 개 픽셀 그래픽 처리<br>Graphic Rendering]
style E fill:#f9f,stroke:#333,stroke-width:2px,color:#fff
하지만 수십만 개의 독립된 픽셀(Pixel)들로 가득 찬 모니터 화면 전체의 색상과 명암을 매 프레임(Frame)마다 순간적으로 계산하여 바꿔야 하는 초기 3D 그래픽의 막대한 좌표 처리(Transform) 영역에서는, 아무리 빠르고 똑똑한 CPU라 할지라도 치명적이고도 급격한 과부하(Overload)를 일으킬 수밖에 없었다. 하나의 복잡한 명령어를 1등으로 푸는 데는 천재일지 몰라도, 아주 단순한 곱셈구구 만 개를 화면의 수만 개 좌표에 동시에 뿌리는 무식하고 방대한 병렬 연산(Parallel Computing)에는 철저하게 무능했던 것이다.
화면 속에서 물체가 회전하고 구형의 형태가 입체감을 얻기 위해 명암 데이터를 갖기 무섭게, 컴퓨터 시스템 전체는 끔찍한 병목 현상(Bottleneck)에 빠져 화면이 멈추거나 뚝뚝 끊기는 치명적인 상황(Frame Drop)을 반복했다. 이 지독한 CPU의 단일 구조적 한계는, 기존의 직렬 연산 철학을 부수고 완전히 새롭고 이단적인 ’그래픽 전문 가속 칩’을 설계해야만 하는 완벽하고도 필연적인 시대적 명분(Legitimacy)이 되었다.
2.1.2 비디오 게임의 진화와 3D 그래픽의 필요성 대두
사무실이나 연구소의 무거운 회계, 과학 계산 등의 딱딱한 도구로만 치부되던 컴퓨터가 대중들의 가장 폭발적인 사랑과 자본의 열광적인 러브콜을 받게 된 결정적인 도화선은 바로 엔터테인먼트(Entertainment), 그중에서도 특히 ’비디오 게임(Video Game)’의 눈부신 진화에 있었다.
1980년대까지의 게임은 흔히 아타리(Atari)나 닌텐도(Nintendo)의 고전 콘솔 기기에서 볼 수 있듯, 미리 그려진 평면의 도트 이미지를 화면 위아래로 움직이는 단순한 스프라이트(Sprite) 기반의 2D 평면 액션이 주류를 이뤘다. 하지만 1990년대로 폭발적으로 넘어오면서 상황은 급격히 요동치기 시작했다. 오락실의 거대한 아케이드용(Arcade) 기기 시장에서는 세가(Sega)나 남코(Namco) 같은 기술 선도 기업들이 실제 공간과 같은 원근법과 부피감을 섬세하게 표현해 낸 ‘3D 폴리곤(3D Polygon)’ 기술을 적극적으로 도입하며, 이른바 ’버추어 파이터(Virtua Fighter)’나 ‘리지 레이서(Ridge Racer)’ 같은 극도로 혁신적인 3D 그래픽 게임들을 세상에 미친 듯이 쏟아내기 시작한 것이다.
게이머들의 시신경은 폭발적인 충격을 받았다. 단순한 평면의 종이 인형극에서 탈피하여 화면 속 가상 공간을 자유자재로 회전하며 직접 뛰어다니는 압도적인 몰입감(Immersion)의 공간. 그러나 이 화려한 아케이드의 3D 경험을 곧바로 책상 위 가정용 개인용 컴퓨터(PC)로 이식하려는 시도는, 앞서 언급한 나약한 CPU 중심 연산의 치명적 한계(Bottleneck)에 가로막혀 번번이 조악한 화면과 끔찍하게 느린 속도를 내며 참담한 성적으로 수포로 돌아갔다.
당시의 진보적인 개발자들과 실리콘밸리(Silicon Valley)의 영리한 하드웨어 설계자들은 거대한 깨달음에 직면했다. “인류의 오감을 쾌락적으로 자극하는 궁극적인 3D 가상 엔터테인먼트 소프트웨어를 구동하려면, 이를 든든하게 뒷받침할 수 있는 완전히 별도의 막강한 하드웨어 가속기(Hardware Accelerator)가 필수 불가결하다.”
결국 새로운 3D 픽셀의 물결인 비디오 게임의 폭발적이고 가파른 진화 욕구야말로, 당시 먼지 쌓인 텍스트 모니터 환경에 갇혀있던 초창기 PC 생태계 내부에 고성능 특수 그래픽 처리 장치(GPU, Graphics Processing Unit)라는 가장 거대하고도 황금빛을 띠는 완전히 새로운 시장 엔진(Market Engine)을 잉태하게 한 가장 원초적이고 강력한 기폭제(Catalyst)였다.