컴퓨터한테 어떻게 '이걸 해'라고 시킬까요?
지금까지 계산하는 회로, 기억하는 회로, 주소를 배웠죠. 그럼 이 부품들한테 '이걸 해'라고 어떻게 시킬까요? 컴퓨터가 알아듣는 말, 명령어를 만나봐요.
명령은 '무엇을' '어디에'예요
컴퓨터한테 내리는 명령은
아주 단순해요.
'무엇을 해라' 더하기
'어디에/어디를'.
이 두 부분이면 끝이에요.
예를 들면
'더해라, 3번과 7번을'.
딱 이런 식이죠.
무엇을(더해라) + 어디를(3번과 7번).
사람 말로 풀면
'3번 칸이랑 7번 칸을 더해'.
짧고 분명하죠.
컴퓨터는 이런 작은 명령을
하나하나 받아서 실행해요.
이 하나하나를 명령어라고 불러요.
명령어도 0과 1로 적혀요
그런데 컴퓨터는
한글도 영어도 모르죠.
오직 0과 1뿐.
그래서 명령어도
0과 1로 적어요.
앞부분은 '무엇을 할지',
뒷부분은 '어디에'.
정해진 자리에
정해진 패턴으로요.
앞 4비트는 명령의 종류, 뒤는 대상 주소.
우리 눈엔
그냥 0과 1의 나열이지만,
컴퓨터한텐
'3번과 7번을 더해라'라는
완벽한 문장이에요.
정해진 자리를 보면
뜻이 정확히 읽히죠.
아는 단어는 몇 개 안 돼요
놀라운 사실 하나.
컴퓨터가 아는 명령은
생각보다 적어요.
값을 가져와라,
값을 저장해라,
더해라,
다른 곳으로 건너뛰어라.
이런 기본 명령 몇 가지뿐이에요.
이 작은 단어장으로
모든 걸 해내죠.
이 단순한 명령들을 수없이 엮어서, 게임도 영상도 만들어요.
단어가 적어도 괜찮아요.
짧은 단어로도
긴 이야기를 쓰듯,
이 몇 가지 명령을
수백만 번 엮으면
못 할 게 없어요.
컴퓨터는 이렇게 읽어요
그럼 컴퓨터는
이 0과 1을 어떻게 읽을까요?
정해진 자리를 잘라서 봐요.
앞부분을 보고 '아, 더하라는 거구나',
뒷부분을 보고 '3번과 7번이구나'.
이렇게 쪼개 읽는 걸
해독이라고 해요.
버튼을 눌러보세요.
정해진 자리를 잘라서, 뜻을 읽어내요.
정해진 자리에
정해진 뜻.
그래서 컴퓨터는
0과 1만 보고도
무엇을 어디에 할지
정확히 알아내요.
약속이 있으니까 가능한 거죠.
명령을 이으면 프로그램이에요
명령어 하나는 작지만,
줄줄이 이으면
뭔가를 해내요.
'5번 값 가져와,
6번 값 가져와,
둘을 더해'.
이렇게 세 줄이면
덧셈 프로그램이 되죠.
실행을 눌러 한 줄씩 따라가 보세요.
3줄짜리 미니 프로그램.
방금 본 게
컴퓨터가 일하는 가장 밑바닥이에요.
우리가 쓰는 모든 프로그램이,
결국 이런 명령어 수백만 개로
이루어져 있어요.
다음 시간엔
더하기 말고 빼기와 비교는
어디서 하는지 볼게요.