CPU의 동작과정에 대해 궁금해져서 관련 내용에 대해 알아보게 되었습니다. 컴퓨터는 오직 0과 1만 가지고 우리가 원하는 동작을 수행하는 능력을 가지고 있습니다. 저는 전기 관련 전공도 아니고, 학습하고 있는 입장에서 정리를 목적으로 글을 쓴 것이기 때문에 정보에 오류가 있을 수 있습니다. 참고해주시면 감사하겠습니다.
CPU
그렇다면 CPU란 무엇일까요? CPU는 중앙 처리 장치라고 하며, 말 그대로 중앙에서 컴퓨터에 내려진 명령어를 수행하고, 데이터를 처리하는 장치를 말합니다.
그렇다면, 컴퓨터는 0과 1만 가지고 동작한다고 했는데 이게 어떻게 되는걸까요?
정말 컴퓨터가 숫자 0과 1을 이해한걸까요? 정답은 전류를 이용하는 것입니다.
논리회로라는 단어를 한번쯤은 들어보셨을겁니다. 논리회로에는 OR, AND, NOT, XOR 등이 있습니다. 참과 거짓을 가지고 조건에 따라 결과를 도출하는 회로들입니다.
짧게 설명드리면, AND 논리회로의 경우 두 개의 입력값이 모두 참이여야만 결과 값이 참이 됩니다. 이런식으로 두 개의 입력값을 가지고 한 개의 결과를 도출합니다.
갑자기 논리회로에 대한 얘기가 나와서 이해가 안되셨을 수도 있습니다만, 이 논리회로가 사용하는 참과 거짓이 1과 0으로 표현될 수 있습니다. 그리고, 이 참과 거짓 그리고 1과 0은 전류가 통하고 안통하고의 유무로 판단할 수 있습니다.
말 그대로 전류가 통하는 상태라면 참(1), 전류가 통하지 않는 상태라면 거짓(0)으로 판단할 수 있는거죠. 그렇기에 컴퓨터는 전류를 사용해서 0과 1을 판단하고 우리가 원하는 동작을 수행합니다.
그리고 CPU는 트랜지스터들로 이루어지는데, 트랜지스터는 특정 전압을 걸어주면 전류를 흐르게하는 반도체 소자입니다.
트랜지스터
위에서 트랜지스터는 반도체 소자라고 했습니다. 즉, 반도체로 이루어져 있다는건데요. 그렇다면 반도체는 무엇일까요? 아래는 위키에서 설명하는 반도체의 내용입니다.
반도체(半導體, 영어: semiconductor)는 상온에서 전기 전도율이 구리 같은 도체(전도체)하고 애자, 유리 같은 부도체(절연체)의 중간 정도인 물질이다.
출처: 반도체(wikipedia)
위에서 설명하는 얘기는 전기 전도율 즉, 물체에서 전류가 잘 흐를수 있는 정도가 중간 정도라는 얘기입니다. 중간이라는 의미를 저는 특정 조건에서는 흐를 수 있는 상태가 되고, 특정 조건에서는 흐를 수 없는 상태가 된다고 이해했습니다.
즉, 해당 조건들에 대해 잘 모르더라도 반도체는 조건에 따라 전류가 흐를 수 있는 상태가 된다는 사실은 알 수 있으므로 반도체로 이루어진 트랜지스터 또한 그렇다는 얘기가 될 수 있겠네요.
그래서 트랜지스터를 사용해서 위에서 언급한 논리회로를 구성할 수 있습니다. 그걸 토대로 CPU를 만들 수 있겠네요.
머신사이클
이번에는 CPU의 명령어 수행 과정에 대해 알아보겠습니다. 기본적으로 컴퓨터는 프로그램이 작성한 명령어의 순서대로 동작합니다. 이 명령어를 컴퓨터의 CPU에서 처리하는데, CPU는 명령어를 4단계에 걸쳐서 수행합니다. 이 4단계를 머신사이클이라고 합니다.
- Fetch cycle(인출 사이클)
- Decode cycle(해독 사이클)
- Excute cycle(실행 사이클)
- Store cycle(저장 사이클)
각각의 사이클이 담당하는 내용은 아래와 같습니다.
Fetch cycle
필요한 명령어를 주기억장치(RAM)에서 불러오는 과정
Decode cycle
호출된 명령어를 해석하는 사이클
Excute cycle
산술논리장치를 이용해 해석된 명령어를 실행하는 사이클
Store cycle
수행 결과를 주기억장치(RAM)에 저장하는 사이클
머신 사이클이란 데이터와 명령어가 RAM에 저장되어 있다가 데이터 버스(데이터가 지나가는 통로 같은 겁니다.)를 통해 CPU로 전달되면 전달된 명령어와 데이터를 가지고 원하는 데이터로 처리한 뒤에 다시 데이터 버스를 통해서 주기억장치에 저장되는 일련의 과정을 나타냅니다.
이렇게 이번 글에서는 컴퓨터는 어떻게 0과 1을 가지고 동작하는지에 대해서 간단하게 알아보았습니다. 앞으로 더 자세한 내용을 다룰 수 있게 되면 좋겠네요. 읽어주셔서 감사합니다.
참고 자료
- 컴퓨터 구조와 원리 2.0 (신종홍 저) 262p. CPU와 마이크로 프로세서의 이해
- bRd 3D YouTube 채널의 CPU는 어떻게 작동할까? (해당 영상은 한번쯤 보시면 정말 많은 도움이 되실 것 같습니다! CPU에 대해 이해하는데 도움이 많이 되었습니다.)
Comments