본문 바로가기

반도체 일상

반도체 일상 8. CPU

728x90
반응형

 앞선 반도체 일상 7. 메모리에서 메모리에 대해 다루었으므로 이번에는 컴퓨터에 메모리와 함께 꼭 필요한 CPU에 대해 알아보겠다. Central Processing Unit(중앙 처리 장치)의 약자인 CPU는 컴퓨터의 두뇌라고 불린다. 보통 어떤 집단에서 "OO 집단의 두뇌"라고 불리는 사람은 생각이 정말 빠르거나 새로운 아이디어를 척척 내는 역할을 맡는데, CPU는 전자에 해당한다. "83,853 곱하기 12,947 나누기 2,312가 뭐야?"라고 했을 때 "469,569.54628028"이라고 즉각 답하는 천재 안경잽이 캐릭터. 컴퓨터에서는 이런 역할을 CPU가 한다.

CPU는 메모리에서 각종 정보를 가져와 덧셈과 숫자 비교를 한다. 예를 들어 2와 3을 줬을 때, "2+3=5, 3은 2보다 크다!"를 해주는 게 CPU다. 덧셈과 숫자 비교만 한다면 멍청해 보일 수 있겠지만, 이를 응용해 곱셈을 할 수 있다. 더 나아가 덧샘을 응용해서 우주의 원리 계산과 우주선을 제어하는 일도 할 수 있다. 이 포스팅도 모두 CPU가 덧셈을 응용해서 인터넷과 홈페이지를 만들고, 각종 보안 프로그램과 통신을 처리해 독자 여러분께 보여드릴 수 있는 것이다.

 

 이런 CPU는 어떻게 만들까? 일단 덧셈만 할 수 있게 만들면 된다. 그 이후는 프로그래머들이 덧셈을 이리저리 조합해서 좋은 기능을 만들면 된다. 예를 들어 레고 블럭을 이용해 실제로 날아다니는 비행기를 만든다고 생각하면 된다. 이때 레고 블록은 덧셈을 하는 간단한 회로다. 덧셈 회로는 논리 회로 다섯 개 정도로 만들 수 있고, 이 논리회로는 다섯 개의 트랜지스터를 연결해 만들 수 있다. 트랜지스터까지 생각하면 너무 복잡해지므로 덧셈 회로만 생각할 때, 이를 '+'라는 기호로 만들고, 메모리끼리 연결하는 걸 '⇒'라는 기호로 만든 뒤 코딩을 통해 자유롭게 설계한다면 CPU가 만들어진다. CPU 회로 설계자는 레고 조립을 하는 역할로, A+B⇒C와 같은 연산으로 코딩을 열심히 해서 각종 기능을 하는 CPU를 만든다. 이를 논리회로 설계라고 하고, 코딩에는 Verilog라는 툴을 주로 쓴다.

 

 CPU를 설계할 때 성능과 발열을 잡기 위해 많은 고민과 연구를 한다. 마치 레고로 비행기를 만들 때 한정된 레고 조각으로 최대한 가볍고 단단한 비행기를 만들기 위해 고민하는 것과 같다. 이런 고민 해결에 가장 손쉬운 방법은 트랜지스터 자체 크기를 줄이는 것이다.(레고 조각을 작게 하는 것이다.) 트랜지스터 크기는 삼성전자와 TSMC, 인텔 같은 곳에서 “O nm” 공정을 말할 때 그 nm에 붙은 숫자로 보면 된다. 이 숫자가 작아질수록 필요한 전기도 적어지고 빨라져서 성능과 발열의 고민은 줄어든다. 하지만 세상은 호락호락하지 않은 법. CPU 회사는 같은 nm에서 성능과 발열을 잡기 위한 치열한 경쟁을 계속한다. 물론 회로 설계 엔지니어가 열심히 갈리며 경쟁을 계속한다.

 

회로 설계 엔지니어에게는 미안하지만... 이번에도 CPU를 고장 내보도록 하자. 물건이 팔리고 소비자에게 간 뒤에 고장 나야 하므로, 배선을 끊거나 주요 공정을 이상하게 하면 안 된다. 가장 간단한 방법은 CPU에 명령하는 소프트웨어를 조작하는 것이다. CPU에 명령을 한다니! 뭔가 엄청난 장치처럼 보이지만, 소프트웨어는 CPU 그 자체다. 사용자가 키보드를 눌렀을 때 CPU가 그 입력을 계산해서 다시 CPU에 명령을 내리는 행위라고 보면 된다. 따라서 소프트웨어를 몰래 조작하면 실제 불량이 나기 전까지는 들키지 않을 확률이 크다. CPU라는 실제 장치를 고장 내야 하므로, 장치에 충격을 줘야 한다. 소프트웨어가 장치에 실제로 충격을 줄 수 있는 건 장치에 공급되는 전기다. 장치가 전압값 5V를 공급받아야 할 때 소프트웨어 설정을 바꿔서 5.5V 정도 들어가게 만들면 된다. 그러면 시간이 지남에 따라 트랜지스터가 열화되며, 시스템 불안정성 및 성능 저하가 발생할 수 있다.

 

 오늘은 '컴퓨터의 두뇌' CPU에 대해 알아봤다. 두뇌인 만큼 CPU를 만드는데, 무척 복잡한 전자 부품들을 다룰 것 같지만, 사실 그냥 코딩이었다는 것. 몰래 고장 내기 위해서는 소프트웨어를 이용하는게 좋다는 것. 더 깊이 들어가면 포스팅이 너무 복잡해져 읽기 힘들어질 수 있다는 것을 깨달았다. 참고로 영화 ‘매트릭스’가 이 CPU와 소프트웨어의 관계를 보여주는 영화이므로 더 자세한 내용을 알고 싶다면, 인터넷 검색이 아닌 매트릭스 시청 후 설명 글을 보도록 하자.(참고로 저자는 설명글을 포스팅하지 않을거다.)

반응형

'반도체 일상' 카테고리의 다른 글

반도체 일상 10. 평가  (3) 2024.11.16
반도체 일상 9. 반도체 패권  (24) 2024.11.15
반도체 일상 7. 메모리  (7) 2024.11.13
반도체 일상 6. 회로  (0) 2024.11.12
반도체 일상 5. 먼지  (0) 2024.11.11