휴먼을 위한 컴퓨터의 이해 3 - CPU 동작 원리

이제 슬슬 컴퓨터가 어떻게 동작하는지 보자.

컴퓨터를 분해하면 초록색 기판에 뭐가 덕지덕지 붙어있다.
그 중에 뭐 하나 빼고 전원 버튼을 눌러보자.
컴퓨터가 동작을 할수도 있고 안할수도 있다. ㄷㄷ

이 부품중에 뺐을때 반드시 동작을 안하는 몇가지 부품이 있는데, 그중에 하나가 CPU 이다.
(몇 개는 빼도 동작한다!!)
우리 독자님은 CPU 는 대충 컴퓨터의 두뇌라고 불린다고는 알고 있기를 바란다.

CPU 는 보통 컴퓨터에서 이렇게 생긴걸로 보인다.

근데 실은 이건 쿨러라고 에어컨 같은 놈이고, 그 밑에 이런 놈이 있다.

이놈을 뭐 빼볼 일은 별로 없겠지만 이걸 빼서 뒤집으면 이렇게 생겼다.

뭐가 쩜쩜이 많이 있는데 저게 뭘까?

우리가 알고있는 애벌레 전자칩에 있는 다리가 저렇게 된거다.
CPU 는 다리가 너무 많이 필요해서 저렇게 쩜쩜이로 만든거다.
이것만 봐도 CPU 는 너무 복잡한 물건이라는걸 알수 있다.

CPU 는 뭘하는걸까?
CPU 는 복잡하니까 쉽게 생각해보자.

라면을 끓여 먹어보자.

라면을 끓이는 방법은 대충 아래와 같다.

1. 냄비에 물을 담는다.
2. 냄비를 가스렌지에 올린다
3. 가스렌지를 켠다.
4. 물이 끓으면 스프를 넣는다.
5. 면을 넣는다.
6. 면이 다 익으면 불을끈다.
7. 냄비를 가져가서 맛있게 냠냠

(면이 먼저다 스프가 먼저다는 중요한 문제이지만 이 글에서는 일단 그렇다 치고 넘어가자)

CPU 같은 친구들에게 라면을 끓이게 할려면 아래와 같이 한다.
일단 각 행동에 숫자를 붙인다.

001 = 냄비에 물을 담는다.
002 = 냄비를 가스렌지에 올린다.
003 = 냄비를 식탁으로 가져간다.
010 = 가스렌지를 켠다
011 = 가스렌지를 끈다.
020 = 스프를 넣는다.
021 = 면을 넣는다
031 = 물이 끓는지 확인한다.
032 = 면이 익었는지 확인한다.

그리고 이 행동을 어떤 순서로 해야 되는지 종이에 숫자만 적어준다.

001
002
010
031
020
021
032
003
011

이걸 다시 위의 한글로 순서대로 써보면 이렇게 된다.

001 = 냄비에 물을 담는다.
002 = 냄비를 가스렌지에 올린다.
010 = 가스렌지를 켠다
031 = 물이 끓는지 확인한다.
020 = 스프를 넣는다.
021 = 면을 넣는다
032 = 면이 익었는지 확인한다.
003 = 냄비를 식탁으로 가져간다.
011 = 가스렌지를 끈다.

뭐 얼추 맞는 순서다.
이 CPU 같은 친구는 종이를 보고 시키는 대로 해서 라면을 끓인다.
재밌는건, CPU 는 스스로 판단하지 않고, 오로지 시키는 대로만 한다는거다.

우리 집에 있는 컴퓨터에 들어있는 CPU 도 하는짓이 이 라면 끓이는 방법과 크게 다르지는 않다.
뭔가 숫자를 주면 그 숫자에 맞는 행동을 하는거다.
그게 CPU 가 하는 일이다.
물론 숫자가 매우 복잡하다…ㄷㄷ

CPU 는 이렇게 숫자와 그 숫자에 따라 해야 될일을 외우고 있는 칩이다.
그리고 누군가 CPU 에게 숫자의 순서들이 적힌 종이를 주면 CPU 는 그대로 움직인다.
대신 매우 빠르고 정확하다.

그럼 누가 CPU 한테 종이를 주는건지는 다음 글에서 알아보자.

연관 용어 : instruction set