컴퓨터의 핵심이라고 하면 아무래도 중앙연산장치, CPU, 라고 볼 수 있습니다. (요즘과 같이 비주얼한 것이 판을 치는 상황에서, ubiquitous computing을 지향하는 상황에서 디스플레이내지는 GPU 라고 말할 수 도 있겠지만, 일단 그것은 제쳐두고….)
CPU를 연구한다는 것은 굉장히 광범위하면서도 추상적인 개념이라서 정확히 무엇을 한다는 것을 전달하기가 어렵습니다. 제 분야는 computer architecture인데요, 컴퓨터 구조, 즉 어떻게 CPU를 설계할 것인가에 관한 영역입니다. 이것도 제대로 전달하기 쉽지 않은 것인데요, 어떤 소자를 사용해서 반도체를 설계할 것인가라기 보다는 추상적으로 논리회로의 구성을 고민하는 것이라고 보면 됩니다. 소위 말하는 Hardware 설계와 밀접한 관련이 있으면서도 어떻게 보면 software 레벨에서 ‘신선놀음’하는 것이라고 볼 수 있습니다. 왜냐하면 CPU를 이렇게, 저렇게 설계해야 한다고 청사진을 그리는 것이니까요.
컴퓨터에 관해서 상당한 지식이 있으신 분들은 CPU는 이미 충분히 좋은데 무엇을 ‘더’ 연구할 것이 있느냐고 반문을 하실지도 모르겠습니다. 그런데 CPU 발전 역사를 돌아 보면 전혀 그렇지 않다는 것을 알 수 있습니다. 지난 30~40년간의 CPU의 발전의 역사의 핵심은 VLSI의 역사와 함께 합니다. Very Large Scale Integration 은 다시 말하면 어마 어마 하게, 울트라 캡숀 짱으로 회로들을 집적시켰다는 것입니다. 조금더 쉽게 말하면 마치 킨코스에서 축소 복사를 하는데, 축소율을 계속 높여서 중간고사에서 다루는 교재를 손바닥 만한 종이에 다 복사해버린 정도를 연상하시면 될 것 같습니다. 반도체를 그만큼 작게 만들어서 손톱만한 칩 안에 수십억개의 게이트 (반도체 설계에서의 논리 단위) 를 때려 넣게 된 것입니다.
이 많은 게이트를 때려 넣으면 (원하는 내용을) 그것이 CPU도 되고, 메모리도 되고, 그리고 ipod의 flash 칩 같은 것도 되게 됩니다.
이야기가 딴데로 빠지기 전에, 아무튼 이러한 반도체의 발전으로 CPU설계는 아주 쉽게 고성능 결과물로 이어졌습니다. 그 이유는 의외로 간단한데요, 반도체 회로들은 전기가 흐르면서 서로 신호를 주고 받게 됩니다. 게이트들을 더욱 작게 만들다 보니, 서로 간의 거리가 짧아지면서 더욱 짧은 시간 안에 서로 신호를 주고 받게 된 것이죠. 이렇게 짧아진 신호주기는 소위 말하는 클럭 프리퀀시를 높여주게 되었습니다. 노트북이나 데스트탑을 살 때에 몇 기가허츠 의 CPU가 탑재되어 있느냐가 바로 이것을 말하는 것입니다.
무어라는 사람이 아주 오래전에 예견하기를 반도체는 2년마다 그 집적도가 2배가 될꺼라고 했습니다. 간단하게 생각하면 그만큼 반도체도 빨라지게 된 것입니다.
그 덕분에 컴퓨터 구조를 연구하는 사람은 엄청 애를 쓰지 않아도 계속해서 더 빠른 CPU를 만들 수 있게 된 것이었죠.
그런데 여기서 문제가 생기기 시작했습니다.
사실은 굉장히 여러가지 문제가 생기기 시작했는데, 엄청 해결하기 힘든 문제가 생겨 버렸습니다. 바로 전력소비량이 많아진 것입니다. 쪼그만 칩이 써봐야 얼마나 많은 전력을 쓰겠어? 라고 생각할 수도 있는데요, 사실은 작아서 더 문제입니다. 소비되는 전력은 결국 열의 형태로 에너지 변환이 일어나는데요. 이 작은 칩에서 많은 열을 내다 보니, 이제는 칩 전체가 녹아버리는 수준에 도달한 것입니다. 생각보다 심각하지요?
예전의 CPU설계는 제한된 게이트 예산 안에서 고성능을 추구하는 것이였다면, 이제는 제한된 전력 예산안에서 고성능을 추구하는 것이라고 볼 수 있는 것입니다. 많은 학교의 교수들과 회사 연구원들이 예측하기로는 한동안 무어의 법칙은 계속될 것이라고 합니다. 그러면 갈수록 전력 예산은 상대적으로 더 중요해지는 문제가 되는 것입니다.
지금까지 제시된 그 해결책에 대해서는 다음에 계속해서 올리도록 하겠습니다.
저도 재밋어요. 호호호
오호~ 재미있습니다. 문외한이지만 더 궁금해지네요. 어떤 연구를 하고 계시는지 후속 글을 기다리겠습니다. ^^
오호~ 재미있습니다. 인석 간사님께서 무엇을 연구하시는지 더 궁금해지네요. 다음 글 어서 올려 주세요~^^