미세화 한계에서 인공지능 등장까지, 위기를 넘어 진화하는 반도체 기술들
[ 글을 시작하기 전에 ]
인간을 대신해서 일을 하는 기계에 대한 욕망은 항상 존재해 왔다.
기계화 시대, 공업의 발전, 전기의 발명, 전자화의 시대까지 산업혁명은 빠르게 발전해 왔다.
그 안에서는 보이지 않았던 재료가 하나 있었으니 바로 반도체이다.
그런 반도체가 이제는 인공지능의 핵심 부품이 되어서 주목도가 점점 높아지고 있고 국가적인 위상까지도 흔들 정도가 되었다.
이 시대를 살아가는 이들에게 반도체에 대한 학습이나 공부는 필연이 되었다.
그럼 어떤 연유로 우리는 반도체 소자를 사용하게 되었는지 얼마나 발전을 더 하게 될 것인지 알아보도록 하자.
Ⅰ. 컴퓨터, 꿈을 이루는 도구
사람들은 이미 18세기에도 계산을 자동으로 해주는 기계가 있으면 좋겠다고 생각했다.
내가 하고 싶은 일을 논리적으로 서술한 뒤 기계에 입력하면 결괏값이 자동으로 기계에서 나오기를 바랐다는 얘기다.
이 기계가 바로 컴퓨터이다.
과거의 학자들은 다양한 방식으로 컴퓨터를 만들어 보려 하였다.
그런 컴퓨터 중 하나가 찰스 배비지의 해석기관이다.
찰스 배비지는 초기 컴퓨터 공학자 중 한 명으로 복잡한 수학 계산을 자동으로 해 주는 기초적인 컴퓨터를 만들고 싶어 했다.
그는 천공 카드라는 판에 계산하고자 하는 수식을 새겨 넣으면, 엔진처럼 생긴 기계가 천공 카드의 수식을 해석하여 값을 출력하는 구조의 기계를 만들고자 했다.
천공 카드의 수식은 구멍을 뚫어서 새겼다.
예를 들면, 구명이 1개면 덧셈, 2개면 뺄셈과 같은 식이 되는 것이다.
찰스 배비지는 기계 내부에 수많은 톱니바퀴를 잘 조합하면 천공 카드의 다양한 수식을 이해해 정확히 수행하는 기계를 만들 수 있을 것이라 생각했다.
즉, 해석기관의 사용자는 자신이 만들고 싶은 소프트웨어를 해석기관이 이해하는 형태로 천공 카드에 새긴 뒤 투입하기만 하면 되는 것이다.
결괏값은 기계가 알아서 출력하는 것이다. 달리 말하면 내가 해야 할 일은 단지 두 가지로, 소프트웨어 만들기와 소프트웨어를 천공 카드에 실수 없이 정확하게 새기는 것이다.
Ⅱ. 컴퓨터 부품의 벽돌, 트랜지스터
연구를 통해 컴퓨터 과학자들은 원할 때 신호를 끊거나 연결할 수 있는 기초 부품이 있으면 컴퓨터의 핵심 부품인 처리장치와 저장장치 둘 다 만들 수 있다는 것을 알게 된다.
신호를 제어할 수 있는 소자를 수백, 수만 개 구입한 뒤, 이들을 잘 연결하면 처리장치나 저장장치를 만들 수 있고, 그리고 두 장치를 만들 수 있으면 이 둘을 조합해 컴퓨터를 만들 수 있다.
이제 해야 할 일은 효율 좋고 가격이 낮은 신호 제어 소자를 찾는 것이다.
이를 위해 과학자들은 다양한 신호 개매체와 신호를 제어할 수단을 사용해 보게 된다.
이 과정에서 개발된 초기의 컴퓨터 중 하나가 바로 에니악이다.
에니악은 2차 세계대전 말기에 사용된 컴퓨터로 각종 탄도학 계산과 핵무기 관련 계산에 사용되었다.
당연하게도 애니악 역시 신호를 조절할 수 있는 소자를 수많은 배선으로 연결해서 만들었다.
애니악의 처리장치와 저장장치를 만드는 데 사용된 기초 소자는 진공관이라고 부르는 일종의 전구였다.
진공관은 열전자라는 신호의 매개체를 열을 이용해 제어하는 기초 소자이다.
진공관은 중간이 끊어진 도선의 양 끝에 각각 금속판과 필라멘트라는 부품을 결합한 구조이다.
진공관은 두 도선이 끊어진 형태이므로 평소에는 전류가 흐르지 않는다.
하지만 필라멘트에 전류를 흘려 온도를 높이면 열로 인해 전자가 진공으로 방출되고 방출된 전자가 반대편 금속판에 도달하면 전류가 흐르게 된다.
수단이 무엇이건 진공관은 신호를 제어할 수 있는 소자이므로, 진공관을 모아서 잘 연결하면 처리장치도 만들 수 있고, 저장장치도 만들 수 있다.
애니악은 150kW를 사용하여 초당 500회의 계산을 수행했다. 이는 컴퓨터의 300배가 넘는 전력을 사용해 고작 1억 분의 1의 계산밖에 하지 못하는 수준이다.
현재 관점에서 보면 컴퓨터보다는 계산도 가능한 조명기구에 가깝다.
이렇게 해서 등장한 것이 트랜지스터이다. 트랜지스터는 전류 혹은 전압을 이용해 전류를 제어하는 기초 소자이다.
최초의 트랜지스터는 BJT라고 불렸다. 베이스라고 부르는 부분에 약한 전류를 가해 주면, 컬렉터와 이미터 사이의 큰 전류를 통제할 수 있었다.
트랜지스터는 빠르게 전자업계의 혁신이 되었다. 기존 신호 제어소자들과는 차별화되어 매우 많은 장점이 있었기 때문이다.
트랜지스터는 신호 제어 수단과 신호 매개체가 동일하게 전기이므로, 전기만 연결되면 어떠한 회로도 만들 수 있다.
그뿐만 아니라, 베이스는 매우 적은 에너지만을 소모했다.
즉, 신호의 차단과 연결에 큰 에너지가 필요하지 않았다. 신호의 연결과 차단 속도도 빨랐다.
전기는 열전자와는 달리 1초에 수억 번 상태가 바뀔 수 있다. 진공관은 열을 이용해 신호를 제어하기 때문에 열이 식기 전에는 다음 동작을 수행하기 힘들지만, 트랜지스터는 베이스의 전류를 끊으면 바로 소자의 상태가 변화한다.
이는 동일한 개수의 신호 제어 소자를 이용한다면 트랜지스터 기반 처리장치가 진공관 기반의 처리장치보다 전력도 적게 소모하면서 1초에 더 많은 일을 할 수 있다는 의미다.
물론 애니악도 인간이 직접 계산하는 것에 비해선 훨씬 빠르고 정확하지만, 우리가 현재 사용하는 1초에 수십억 번의 계산을 수행하는 컴퓨터와는 비교하기 힘들 정도로 느리다.
드리고 반도체라는 단어가 등장한다. 과학자들은 트랜지스터라는 기적의 기초 소자를 만들기 위해 물리학적 의미의 반도체를 사용했다.
반도체 물질은 P형과 N형 두 종류가 존재하는데, 이 두 물질을 PNP 혹은 NPN 일렬로 붙인 뒤, 3개의 반도체 물질에 각각 전선을 연결하면 트랜지스터가 된다.
두 종류의 트랜지스터를 함께 사용해야 비로소 0과 1 두 신호를 정확히 전달할 수 있고, 진공관을 대체할 수 있게 된다.
Ⅲ. 바깥세상으로 나오는 전공정 : 3차원, 2.5차원 패키징
첨단 패키징 용어와 의미
현재 3차원 패키징, 2.5차원 패키징이라는 용어가 널리 사용되는데, 용어의 정의가 통일되지 않는 경우가 있어 이번 책에서 사용할 정의를 명확히 하고 시작하고자 한다.
기본적으로는 칩 위에 칩이 있고 두 칩 간 연결이 전공정에 준하는 고급 기술로 연결되었다면 3차원 패키징, 두 칩이나 패키지가 평면상에 있지만 두 칩을 연결할 때 실리콘 가공 등 고급 기술이 사용되었다면 2.5차원 패키징으로 지칭할 것이다.
공정 미세화의 한계와 패키징
반도체 제조의 어려움은 패키징에 큰 변화를 일으키기 시작했다.
모바일의 유행 역시 거대한 흐름이기는 했지만, 무어의 법칙과 데너드 법칙의 둔화는 스마트폰 내부 공간을 아껴 더 큰 용량의 배터리를 탑재하는 것과는 차원이 다른, IT 기술의 미래를 결정짓는 문제이기 때문이다.
반도체 회사들은 미세화의 어려움을 반도체와 반도체 사이, 혹은 반도체와 외부 세상 사이에 기존보다 더 많은 연결선을 만드는 방식으로 해결해 보고자 하였다.
반도체 자체의 효율이 개선되지 않는다면, 칩 간 연결이라도 개선함으로써 전체 시스템의 효율을 올리고자 한 것이다.
이를 위해선 칩과 외부 세상의 경계선이라 할 수 있는 패키징 기술이 발전해야 했다.
패키징 기술이 반도체 제조의 부담을 덜어 줄 수 있는 이유는 여러 가지가 있다.
칩 크기와 수율 사이의 관계이다. 수율은 웨이퍼 위에서 형성된 반도체 중, 양품의 비율을 의미한다.
개별 칩의 크기가 커질 경우, 주요 결함이 칩 표면에 하나라도 생기면 불량이 되는 반도체의 특성상 양품의 비율이 줄어든다.
다시 말해, 제조되는 개별 칩의 크기가 작아지면 반도체 수율은 올라간다.
만약 거대한 단일 칩을 작은 칩 여러 개로 나눈 뒤 패키징 기술로 결합할 수 있다면 제조 수율도 빠르게 상승하고 최종 수율 역시 더 높아진다.
다른 이유는 인공지능 열풍이다. 현재 인공지능을 구동하려면 매우 높은 대역폭이 필요하다.
미세화가 진행됨에 따라, 반도체가 내부에서 쓰는 에너지 비율보다 반도체가 외부의 다른 반도체와 통신할 때 들어가는 에너지의 비율이 높아지기 시작했다.
캐시 메모리 부분에서 잠깐 살펴보았지만, 기존 프로그램들은 D램에서 가져온 데이터 중 자주 사용할 데이터는 처리장치가 임시 저장소인 캐시 메모리에 저장해 두고 사용함으로써 효율을 높였다.
이런 방식이 가능한 이유는 CPU에서 구동되는 프로그램은 전체 프로그램 용량이 크더라도 실제로 CPU에서 동작하고 있는 부분은 작은 경우가 많기 때문이다.
예를 들면, 프로그램에는 수천 종류의 함수 수식이 있는데, 사용자가 수천 종류의 함수를 동시에 불러와서 사용하는 경우는 없다.
현재 사용자가 1달 동안의 지출을 합치는 업무를 수행 중이라면 수천 개 함수 중 합을 구하는 함수만 메모리에 불러오면 된다.
그래서 프로그램의 용량이 커지더라도, 프로그램의 대역폭 요구량이 꼭 증가하지는 않는다.
동시에 여러 기능을 사용하지 않으면 문제가 없다. 이는 캐시 메모리와 D램이 나뉘어 발전할 수 있었던 이유이기도 하다.
하지만 인공지능은 다르다. 인공지능은 프로그램 자체의 용량이 클 뿐만 아니라 1회 수행시마다 처리장치가 프로그램 전체에 접근해야 한다는 특징이 있다.
그래서 인공지능은 캐시 메모리의 효과를 크게 보지 못한다. 이로 인해 D 램과 처리장치 사이의 대역폭과 데이터 전송 시 에너지 효율이 그대로 드러나게 된다.
인공지능에서 대역폭의 중요성은 실제 기기를 살펴봐도 쉽게 알 수 있다.
기존의 반도체 완제품들은 많아 봐야 수백 개 정도의 선으로 연결되었다. 하지만 2022년 이후 인공지능이 크게 유행하면서 상황이 바뀐다.
물론 패키징에는 대가가 따른다. 앞서 살펴보았던 모바일 제품이 사용하는 패키징도 비용이 발생하지만, 미세화의 어려움을 극복하기 위해 사용되는 기술들은 더욱 큰 비용 문제를 발생시킨다.
큰 칩을 별도의 작은 칩으로 나눠 만들려면 칩 간 통신을 위한 추가 부위가 필요한데, 이는 설계를 복잡하게 하고 제품 1개에 사용되는 웨이퍼의 총면적을 증가시킨다.
원가 절감을 위해 작은 칩을 여러 개 만들어 패키징 기술로 합치면, 정작 웨이퍼 소모량이 많아져 비용이 오를 수도 있는 셈이다.
칩 간 통신 역시 전성비를 떨어뜨린다. 인류가 가진 가장 고효율의 배선은 반도체 전공정으로 만든 수십 나노미터 굵기의 배선이다.
단일 칩은 내부 부위끼리 통신할 때 전공정으로 만든 배선을 사용한다.
하지만 칩을 쪼개 만든 뒤 패키징 기술로 결합하면 각 부위가 패키징 기술로 만든 배선을 거쳐야만 통신이 가능하다.
따라서 만약 자주 통신해야 하는 부위가 각기 다른 칩에 존재한다면, 효율이 매우 나빠질 수 있다.
실제로 AMD의 최신 패키징 기술 기반 서버용 완제품 CPU인 EPYC은 데이터 베이스 등 칩 외부와 상호작용이 많은 업무에서의 효율이 경쟁사 대비 떨어지는 결과가 나온 일이 있고, 인텔은 4개의 작은 칩을 첨단 패키징 기술로 결합하여 만든 CPU제품을 야심 차게 출시했으나, 전력대 성능비가 좋지 않아 차기 제품에서 칩 2개만 합치는 것으로 일보 후퇴한 일이 있다.
패키징 과정에서 최종 수율이 감소하는 것도 문제이다.
최종 제품 수율은 전공정의 수율과 패키징 과정 수율의 합으로 결정된다. 따라서 패키징 과정의 수율이 낮을 경우, 최종 제품 제조 비용은 도리어 상승할 수도 있다.
패키징 과정에서 제품이 망가질 수도 있고, 제품 간 결합을 잘했더라도 패키지를 구성하는 다양한 제품의 열팽창률 차이, 제품 사용 중 휘어짐 등의 문제로 인해 출시 뒤에 문제가 발생할 수도 있다.
이런 문제는 칩 간 간격이 좁고 연결 밀도가 높을수록 심해진다.
반도체 산업은 비용과 효율을 중요시하는 산업이다. 모든 제조업이 원가를 중요하게 여기기는 하지만, 반도체 산업은 2년마다 절반 가까이 원가를 줄여 가며 서로 경쟁하는 살벌한 산업이다.
이런 산업에서 무어의 법칙과 데너드 법칙이 흔들려 원가 절감이 힘들어지자, 지금까지는 투자 대비 성능 개선 효과가 낫다고 생각했던 패키징 영역까지 최첨단 전공정급 기술이 적용되고 있다.
[ 글을 마치며 ]
이 책의 내용 중에서 세 가지를 다시 짚어 보도록 하자.
첫 번째는 인간의 정신노동을 대체하기 위해서 만들어진 기계가 바로 컴퓨터라는 점이다.
그런데 초기의 컴퓨터는 너무 많은 전력을 소모했고 인간의 기대치에 미치치 못했다는 것이다.
손을 몇 번 반복하거나 주판을 활용하는 편이 더 효율적이었고 컴퓨터에 의존하는 것이 더 비효율적이었던 것이다.
그렇지만 과학자들이 꾸준한 노력의 결과로 계산기라는 형태의 작은 기계가 발명될 수 있었고 인간은 누구나 평등하게 복잡한 계산을 오류 없이 수행할 수 있게 되었다.
이 과정에서 반도체라는 새로운 물질이 개발되게 된 것이고 반도체를 통해서 더 발전된 기계를 우리는 만들어 낼 수 있게 되었다.
즉, 어느 한순간에 만들어진 기술이 인공지능이 아니며 선형적으로 과학 기술이 발전되게 되면서 우리가 현재 기대하고 있는 수준의 인공지능이 탄생되게 된 것이다.
그리고 그 중심에 반도체가 존재하는 것이다.
두 번째는 반도체 자체의 고도화를 통해서 더 높은 수준의 연산이 가능해졌다는 것이다.
여기에서 주목할 점은 연산에 사용되는 에너지의 양과 연산에 사용되는 시간이 대폭 줄어들었다는 것이다.
반도체 칩이 미세화되면서 더 작은 면적에서 동일한 연산을 수행하기 때문에 전력 소모가 줄어들게 되었다.
그리고 집적도가 높아짐에 따라서 더 작은 기기에서 더 다양한 기능을 쓸 수 있게 될 것이다.
스마트폰의 초기 모델을 떠올려보면 쉽게 이해가 된다.
스마트폰은 휴대할 수 있는 정도의 작은 배터리를 사용해서 통화, 인터넷 연결을 정해진 시간 동안 무리 없이 수행할 수 있다.
초기의 스마트폰은 동영상 재생까지는 안 되었지만 이제는 동영상 재생이나 스트리밍 서비스를 실시간으로 끊김 없이 사용할 수 있는 수준이 되었다.
나아가 인터넷 뱅킹에도 활용할 수 있고 다른 기기에 지원할 수 있는 테더링 기능도 지원한다.
복수의 기기를 연결해서 동시에 노래를 듣거나 동영상을 보거나 메시지를 타이핑할 수도 있다.
이런 수준의 기술적 지원이 가능해질 정도로 반도체 칩이 발전되었다.
마지막 세 번째는 인공지능이 현실적으로 쓸만해졌다는 것이다.
결국 궁극적으로 여기에서 말하고자 하는 내용은 숙련된 수준의 인간의 정신적인 노동을 대신할 만큼 인공지능 기술이 발전되었다는 것이다.
컴퓨터와 컴퓨터 사이의 통신이나 코딩에 가장 먼저 사용되었고 비용에 따른 부담으로 펀드매니저의 역할을 할 만큼 상용화되었지만 모두가 쓸만한 가격이나 성능이 지원되지는 못했다.
그렇지만 현재의 인공지능은 개개인 활용할 만큼 발전되었고 비용이 절감되었고 보급률이 높아졌다.
이 모든 것이 가능해질 수 있었던 것이 결국 과학 기술의 끊임없는 발전과 시도라는 점이다.
천공 카드에서 진공관, BJT에서 트랜지스터, 반도체 칩의 구성과 배선, 패키징까지 계속 기존의 기술을 보완하기 위해서 막대한 투자가 진행되었고 결국 인류는 진보된 기술적 단계까지 나아갈 수 있게 된 것이다.
과거와 달리 그 기술적인 속도는 더 빨라질 것이고 상용화의 수준도 달라질 것이고 이 과정에서 새로운 산업적인 변화도 수반될 것이다.
26년을 맞이하며 반도체에 대한 관심과 공부를 끊임없이 해야 되는 것을 다시금 깨닫게 되었다.
참고 도서 : AI 시대 다시 시작하는 반도체 공부 ( 정인성 지음 )