본문 바로가기

기타등등등

컴퓨터의 과거 , 그리고 현재.

사용자 삽입 이미지

필자가 처음 컴퓨터를 들인 것은 초등학교 때 아버지가 사주신 삼성 SPC-2500C 라는 모델 이었다.
그당시 150만원 이면 엄청난 금액 이었을 터 ...
CPU 는 i80286-12MHz 에 시스템 메모리는 무려 640KB 였습니다.
64KB 힙 을 10개만 잡으면 소진 되는 시절 이었죠.

그당시 PC 의 성능은 요즘 공학도들이 쓰는 AVR 마이크로 프로세서 보다 못했던 시절 이 아니었을까 합니다.
게다가 80486-DX2 이전엔 FPU 가 CPU 와 분리되어 별도 설치 해야 하는 시절 이었기 때문에 CPU 는 단순 사칙연산만을 수행 할수 있는 ALU 만으로 모든걸 처리 할 수 있었습니다.

그당시엔 클럭속도가 성능을 대변 하던 때 이었습니다.
그러다가 이젠 IPC (Instructs Per Clock) 성능과 BUS , Cache , Core 성능이 우선되게 되었구요.

예전 Pentium MMX 200MHz 가 요즘 핸드폰에 들어가는 ARM9 200MHz 보다 느리다는 것은 개발자라면 알게 되는 부분도 있으신 분들이 더러 계실 것이라 생각 됩니다 (물론 x86 과 다른 architecture 의 CPU 를 비교 하는건 모순 일 수도 있습니다만)

한동안 노트북을 회사에 두고 집에서 예전에 마님께서 쓰시던 AMD mobile CPU 를 쓴 노트북을 열고 penfo 에만 들어 와 봐도 그 속도 차이를 느낄수가 있더군요 .

물론 벌써 몇세대가 지나버린 시국이긴 합니다만 ..
Pentium3 기반의 Celeron 에 대응하는 시대에 나온 CPU 라 성능 자체도 무척 뛰어나다고 할수 없는 CPU 임에도 느껴지는 감정은 딱 이렇더군요 ..

Pentium 60 이 나왔을때 486DX-2 를 쓰던 느낌.

VGA 라는 개념이 처음 도입되던 시절 ..
비디오 카드 자체엔 "가속" 이란 개념이 없었습니다.

비디오는 말 그대로 버퍼에 데이터가 차면 DAC 를 통해 모니터로 전송만 하는 수준 이었죠.
그러다가 Tseng Labs 에서 "가속" 개념의 비디오 칩셋을 내놓기 시작했습니다.
CPU 가 일일히 버퍼에 점을 찍으면서 선을 그리고 네모를 그릴걸 , 비디오 카드 자체의 레지스터에 명령어를 씀으로서 (물론 이건 드라이버가 하는 일이겠지요) CPU 가 일일히 미련히 해야 할 일을 비디오 칩셋이 적은 명령으로 대신 해 주는 것이죠.

사용자 삽입 이미지

voodoo add on card



이당시 Trident사도 열을 내서 비디오가속에 뛰어듭니다.
여러 회사들이 이 비디오 가속에 "동영상 가속" 이란 개념을 넣기 시작했죠.
iDCT 라고도 알려진 이 동영상 가속은 , MPEG 으로부터 시작 되었습니다.
그당시 MPEG 비디오인 비디오 씨디수준 (QVGA 해상도의 MPEG-1 비디오에 MPEG-1 layer2 오디오) 을 30fps 로 보려면 적어도 Pentium 100MHz 는 되어야 좀 안끊기고 볼수 있었을 겁니다.

BUS 구조상 133MHz 가 그당시 제일 효율적이었던걸로 기억합니다 ... FSB 가 66MHz 였던걸로 기억되는군요 -_-;
66x2 이니까요 .,.. ㅋㅋㅋ (요즘처럼 FSB x 4 x 2 같은 개념이 아니었습니다~)

사용자 삽입 이미지

S3 ViRGE/GX2



그리고 이런 "가속"의 개념이 드디어 3D 에까지 영향을 미쳤지요 ...
S3 사의 ViRGE 칩셋은 3D 비디오 카드의 선구자 였을 겁니다.
그때만 해도 slackware 라 불리는 리눅스 초기 형태에서 Xwindow 를 뛰울수 있는 비디오는 S3 vision 8x8 씨리즈 였었습니다.
후에 나온 Tseng labs 의 ET6x00 씨리즈는 3D 가속이 없는데도 가속이 있는걸로 나오기도 했었죠 -_-

왠만한 3D 가속 벤치마크를 보시면 S3 사의 ViRGE 라는 항목이 있을겁니다.
요즘엔 목록 자체가 없을지도 모르겠습니다만 .
나중엔 Savage 가 나오다가 VIA 사에서 인수 합병 하였습니다.

이당시 3D 는 요즘 CPU 가 소프트웨어 연산으로 발로 해도 될만큼 모자란 능력 이었지만...
CPU 가 3D 연산을 안하고 비디오 카드가 3D 연산에 이미지 완성 까지 해 주는 개념은 처음이 었을 겁니다.

수많은 과도기들..
nV 사가 nVidia 로 나오면서 TNT-2 비디오 칩셋들의 3D 성능 및 드라이버 안정성 ..
그럼에도 비디오 출력 화질이 ATi RAGE  에 미치지 못해서 "동영상 = ATi" 라는 말이 나오고
이 와중에도 동영상 가속은 필요없다 , 오직 출력화질 = MATROX ...
TnL 로 버텍스 화질 향상을 도모한다 , nVidia 의 GeForce ..

뭐 수많은 새로운 기술들이 쏟아져 나왔었습니다.

제가 대학 1학년때 3D MAX 로 도넛을 만든다음 렌더링 하려면 죽치고 앉아서 모니터에 그려지는 화면을 보고 있어야 했었습니다.

요즘은 ?
버텍스만 늘려서는 효율이 없어서 나온 픽셀 쉐이더 덕분에 과거 수많은 CPU 들이 그려내는 화면을 초당 30프레임씩 게임하면으로 실시간으로 볼수 있죠 -ㅁ-

Demoscene 에서나 볼수 있던 그림자 처리가 이젠 비디오카드에서 가속됩니다.

시스템 메모리가 1MB 도 안되던 시절에서 지금은 비디오 카드 메모리만 1GB 인게 나오고 있는 세상인거죠 .
LAN 카드라 불리면 Ethernet 과 상관 없었던 적이 있었습니다 ..ㅎㅎ
RJ45 잭과는 상관 없이 동축케이블로 연결 하던 시절이 있었죠.
대학 2학년 ㄸㅒ였을 겁니다 .. 모 기업에 네트웍을 구축하면서 데이터 전송 효율을 높이기 위해 LZHuffman 압축을 공부해서 도입했던 적이 기억 납니다 ... 광랜 이런게 뭔지도 모를 시절 이었죠-ㅁ-

그래서 요즘들어 PC 를 쓰면 ..
광속보다 빠르다고 생각 됩니다. (만 ..게임하면 느리다고 투덜 대죠 ... ㅋㅋ)


3Dfx , S3 , Trident 같은 지금은 합병되거나 사업을 철수한 회사들이 그리워 지는 한때 인듯 합니다.