[문화뉴스 MHN 김종민 기자] 우리는 너무 당연하게 컴퓨터를 사용하면서도 이 신기한 기계가 어떻게 이렇게 동작하는지 자주 잊곤 한다. 만약 인류가 다시 무지의 상태로 돌아간다면, 이 엄청난 기계를 만들기 위해서 수백년이 걸릴지 수백만 년이 걸릴지 모른다. 컴퓨터는 그러한 기술의 집합체다.

컴퓨터가 우리의 손에 오기까지, 최초의 개척자들이 개발했던 여정을 함께 돌아보자.

 

■ 최초의 이론적 컴퓨터, 튜링 머신과 스위치

컴퓨터의 어원은 Compute, 즉 계산기에서 출발한다. 오늘날 컴퓨터를 이론적으로 구상했던 사람은 수학자 '앨런 튜링'으로, 당시 수학적 난제를 증명하기 위해 상상의 기계를 가정하고 논문을 썼다. 그 기계를 '튜링 머신'이라고 부르고, 오늘날 컴퓨터의 이론적의 조상이 된다. 튜링이 이런 기계를 상상했던 이유는 지식과 정보처리의 과정을 수학적으로 표현하기 위해서였다. 이 기계는 매우 단순한 연산만을 반복해서 복잡한 계산을 처리할 수 있었다. 어느 정도로 단순하냐면, 0과 1만 가지고도 온갖 계산을 수행할 수 있는 정도다. 우리는 On-OFF를 0과 1로 표현하는 스위치를 모아서 이런 컴퓨터를 만들 수도 있다.

 

출처: 리서치게이트

이 '스위치' 컴퓨터는 세계 2차 대전 시기 전쟁과 함께 본격적으로 발전했다. 당시의 컴퓨터는 핵무기를 만들던 과학자들이 귀찮은 계산을 자동으로 처리하기 위해 사용됐다. 이때의 컴퓨터는 '스위치'를 진공관으로 구현했기 때문에 엄청난 무게를 자랑했다. 뿐만 아니라, 계산을 위해서는 이 스위치를 일일이 손으로 조정해줘야만 한다는 번거로움이 있었다.

■ '프로그램 내장 방식' 컴퓨터

이러한 방식을 개선하고자 불세출의 천재 폰 노이만이 '프로그램 내장 방식의 컴퓨터'를 제안한다. 이 컴퓨터는 CPU와 메모리를 분리한 구조다. 회로를 직접 조절해서 바꿀 필요 없이, 계산할 값과 계산 방식에 대한 정보를 전부를 모아 프로그램으로 미리 만들어놓고, 메모리에 넣은 다음에 CPU가 이를 읽고 실행하는 방식이다. 어떤 '스위치를 끌지 켤지' 자체에 대한 정보를 하나의 프로그램으로 만든다는 것이다. 이러면 필요한 계산에 따른 프로그램을 교체해주는 것 만으로 다양한 기능을 수행할 수 있다. 이 프로그램을 오늘날에는 소프트웨어라고 부른다.

 

역사상 최고의 천재로 평가 받는 폰 노이만, 출처: 하이브로

더해서 진공관 스위치는 너무 컸기 때문에, 반도체 트랜지스터와 전자 회로로 금방 교체되고 만다. 전자를 통제하는 트랜지스터와, 폰 노이만 구조를 차용한 '스위치' 컴퓨터가 등장한 이후, 오늘날의 컴퓨터는 대부분 이러한 방식을 따르게 된다. 이 컴퓨터는 앨런 튜링이 최초로 상상한 기계의 원리를 전부 구현하고 있다.

 

■ C언어의 등장, 우리가 아는 소프트웨어의 출현

다만 여전히 문제는 남아있었다. 당시의 컴퓨터는 오늘날의 PC와 달리 국가 기관 정도나 보유할 수 있는 고급 장비였다. 그래서 각 기관별로 기계를 개발해놓고, 기계를 제어하는 프로그램(소프트웨어)의 구조나 명령어가 제각각이었다. 컴퓨터 기계가 알아들을 수 있는 언어를 저급언어(low-level language)라고 하는데, 이 저급언어 프로그램이 난립하는 바람에 A라는 기관에서 저급언어로 만든 프로그램이 B기관의 컴퓨터에는 무용지물이 되는 상황이었다.

저급 언어에 대한 통일된 기준과, 그러한 저급 언어를 통제하며 다른 컴퓨터로 이식될 수 있는 프로그램이 절실한 상황이었다. 이러한 상황에서 등장한 것이 C언어이다. C언어는 사람이 알아들을 수 있는 '절차 지향형 프로그래밍 언어'이면서도, 컴퓨터 기계를 통제하는 언어다. 때문에 컴퓨터가 정보를 처리하는 방식에 아주 가깝다는 특징이 있다.

C언어, 출처: 긱부츠

C언어가 개발된 이후, C언어로 만들어진 프로그램들은 여러 컴퓨터로 이식될 수 있었다. 이제 컴퓨터 세계는 기계에서 벗어나, 독자적인 소프트웨어의 발전을 꿈꿀 수 있게 된 것이다.

그렇지만 근본은 변하지 않았다. 튜링이 상상했던 '자동화된 계산을 수행하여 지식과 정보를 처리하는 기계'가 이제 좀 그럴듯한 형태로 현실로 구현된 것에 지나지 않는다. 여전히 이 기계는 '지식과 정보를 처리하기' 위해 더 효율적으로 동작해야 한다는 점은 그대로다.

----

[MHN IT] 컴퓨터는 어떻게 이렇게 발전했을까? 컴퓨터의 역사, 튜링머신에서 C언어의 등장까지

주요기사
관련기사

 
저작권자 © 문화뉴스 무단전재 및 재배포 금지