우리는 거의 종일 컴퓨터에 갇혀서 지낸다고 해도 과언이 아니다. 사무실에서 노트북 컴퓨터를 사용하고 있고, 들고 다니면서 지내는 스마트폰 단말기도 컴퓨터이고, 미래의 자율주행 자동차도 ‘바퀴 달린 컴퓨터’이고, 여행할 때 타는 비행기는 ‘날개 달린 컴퓨터’라고 설명할 수 있다. 4차 산업혁명 시대를 맞아 컴퓨터는 사물인터넷(IoT) 안으로도 들어가고 있다. 더욱이 4차 산업혁명 시대에 인공지능(AI)을 위한 컴퓨터도 더욱 파급될 전망이다.
이렇게 현재 우리가 매 순간 사용하는 컴퓨터의 구조는 ‘폰 노이만 컴퓨터 구조(Von Neumann Computer Architecture)’라고 부르는 컴퓨터 구조이다. 이 구조는 1945년 수학자이자 물리학자인 존 폰 노이만이 제시한 것이다.
특히 메모리 속에 저장된 프로그램이 순차적으로 처리되며, 데이터 메모리와 프로그램 메모리가 구분돼 있지 않고 하나의 연결선(버스)을 가지고 공통의 메모리에 연결돼 있는 구조이다. 이를 위해서는 프로그램과 데이터는 메모리에 저장하고, 계산의 실행은 프로세서에서 나눠 작업을 한다. 이 구조를 사용하면 컴퓨터에 다른 작업을 시키려고 할 때 굳이 하드웨어를 재배치할 필요 없이 소프트웨어프로그램만 교체하면 되기 때문에 범용성이 크게 향상된다는 것이다. 다시 말해 이 구조에서는 다양한 프로그램을 수행할 수 있고, 자유롭게 데이터를 선택할 수 있다.
이렇게 하기 위해서는 분리된 프로세서와 메모리가 필요하다. 최근 실리콘 반도체 기술이 발전하면서 프로세서, 메모리 모두 실리콘 반도체로 각각 별도의 공정으로 만들어진다. 각각 다른 차별적 장점이 있어서, 그리고 비용을 줄이기 위해서는 프로세서와 메모리는 각각 다른 공정을 사용한다. 그리고 제작하는 전문 기업도 나눠 있다. 프로세서는 IBM, 인텔, 엔비디아, 퀄컴, 애플 등이 만들고 메모리는 삼성전자, SK하이닉스, 마이크론 등이 만든다. 그래서 프로세서와 메모리가 분리된 현재의 폰 노이만 컴퓨터 구조를 가질 수밖에 없다.
그러나 폰 노이만 구조도 AI 시대를 맞아 큰 단점이 노출되고 있다. 다름이 아니라 프로세서에서 계산을 하고 데이터를 메모리에 저장하는데, 그 과정에서 계산 시간과 전력 소모가 가장 크게 일어난다는 문제이다. 컴퓨터의 성능이 프로세서와 메모리가 분리되면서 생긴 문제이다. 메모리의 데이터값을 읽고, 쓰는 구조이기 때문에 기억장치에 병목현상이 생길 수밖에 없다. 이 현상을 ‘폰 노이만 병목현상’이라고 부른다. 이러한 문제를 조금이라도 완화하기 위해 컴퓨터 메모리를 계층적으로 설치하기도 한다. 즉 빠르고 용량이 적은 메모리를 프로세서 내부에, 조금 느리지만 용량이 많은 메모리를 외부에 설치한다.
한편 AI에서 심층학습 신경망(DNN, Deep Neural Network)이 가장 대표적인 알고리즘이다. 사진을 판독하고, 말을 알아듣고, 그림을 그리고, 음악을 작곡하고, 글을 쓰고, 게임을 하고, 주식 투자에 사용하는 데 필요한 기초 알고리즘이다. 그런데 컴퓨터가 이 심층학습 신경망으로 학습하고, 판단하는데, 이때 그 과정을 수학적으로 보면 수백만 번의 수천만 번의 행렬계산에 해당한다. 데이터도 디지털 숫자의 그룹인 벡터(Vector)이고 판단 결과도 벡터이기 때문이다.
그 결과 지금의 폰 노이만 구조에서 AI를 하려면 결국 프로세서와 메모리가 수천, 수만 단위로 병렬로 쪼개져야 한다. 다른 말로 하면, ‘폰 노이만 컴퓨터’가 수많은 숫자로 나뉘어 병렬로 배치되고 병렬로 계산 작업을 같이 수행해야 한다. 그래서 AI 컴퓨터는 수만개의 컴퓨터가 연결된 병렬형 슈퍼컴퓨터가 돼야 한다. AI 반도체도 결국 이 극단적 병렬 구조가 돼야 한다.
이처럼 AI 시대가 컴퓨터 구조도 혁신을 요구하고 있다. 마찬가지로 프로세서와 메모리로 나뉜 AI 반도체 구조도 변화를 요구한다. 이러한 진화한 AI 컴퓨터 구조는 데이터 센터, 스마트폰, 가전제품, 자율주행 자동차, IoT에도 그대로 적용될 전망이다.
김정호 카이스트 석좌교수 전기전자공학

