본문 바로가기
Java 공부/입문 개념

프로그래밍을 위한 컴퓨터 구조 이해하기 (CPU, 메모리)

by 정쿠s 2018. 10. 7.

프로그래밍을 위한 컴퓨터 구조 이해하기 (CPU, 메모리)


프로그램은 컴퓨터가 있어야 동작할 수 있습니다. 


현대의 컴퓨터는 엄청나게 많은 일을 하고 똑똑해보이지만, 사실 컴퓨터는 일종의 자동 계산기 역할을 하는 기계입니다. 

다양한 자동 계산을 통해서 간단하게는 숫자 계산을 하기도 하고, 이메일을 보내고, 문서를 작성하고, 동영상을 보는데까지 쓰여지는 것입니다. 

복잡해보이지만, 자세히 들여다보면 시키는대로 하나씩 하나씩엄청 빠른 속도로 일을 하고 있습니다. (단순하고 멍청하지만 몹시 빠른 친구죠!)


전기를 연결한 기계일 뿐인데, 컴퓨터는 어떻게 이런 다양한 작업을 할 수 있을까요?

이를 위해서는 컴퓨터가 어떻게 이루어져 있는지 구조를 알아야 합니다.


컴퓨터는 어떻게 구성되어 있을까요? 그 구조에 대해 알아보아요!


컴퓨터는 크게 '본체'각종 '입력 장치' '출력 장치'로 이루어져 있습니다.

그 중에서 본체 내부를 먼저 살펴보면 수많은 장치가 있는데요, 


그 중에서 가장 중요한 것이 메모리 CPU입니다.


[ 학습 TIP ]
메모리CPU는 프로그래밍에서 무척 중요하게 다뤄지는 용어(장치)이니 기억해주세요!


메모리는 프로그램 및 데이터를 저장하는 저장소 역할을 합니다. 메모리의 종류로는 하드디스크, RAM 등이 있습니다.

CPU는 명령이 들어오는 경우 이를 계산하고 실행하는 역할을 합니다. 

마우스, 키보드는 입력장치로 사용자가 데이터를 입력할 수 있는 도구(기계)입니다.


컴퓨터로 문서를 작성할 때, 키보드로 글자를 입력하거나 바탕화면에서 아이콘을 더블 클릭하는 것을 생각하면 쉽습니다.

모니터는 출력 장치죠, 컴퓨터의 본체에서 계산된 결과를 사용자가 볼 수 있게 내보내주는 역할을 합니다.


컴퓨터는 사람의 신체와 매우 비슷한 구조를 가졌습니다. 한 번 비교해보죠.

본체 - 뇌
입출력장치 - 눈,입,손,다리 
버스(BUS) - 혈관


본체에 CPU메모리가 있는 것은 사람의 뇌에 '기억을 저장'하는 부분과 '생각하는 부분'이 있는 것과 같습니다. 


사람은 산소나 음식을 섭취하여 영양소로 분해하고, 혈관을 통해 이들을 각 부분으로 전달합니다. 

이와 비슷한 원리로, 컴퓨터도 전기를 공급받아서 버스(bus)를 통해 데이터나 명령을 각 장치에 전달합니다.


따라서 컴퓨터 내 데이터와 명령은 모두 '전기'로 표현되며 전기가 낮을 때를 0, 높을 때를 1로 인식해서 표현합니다.

그래서 컴퓨터의 언어(기계어)는 2진수로 표현됩니다. 


이것이 오리지널 기계의 언어입니다. 자 우리 함께 이해해볼까요??!


00111010 1101001 1101010 

10010011 0101010 11001100



우리의 선조 개발자님들은 0101로 코딩을 했다고 하더군요! (대단!) 

하지만 우리를 포함한 대부분의 사람들은 기계어를 이해할 수가 없습니다..


다행히 과거, 기계어에 능통하셨던 분들이,


컴퓨터의 언어를 인간의 언어에 가깝게 번역해 주는 여러가지 프로그램(컴파일러 등) 등을 만들어왔습니다. (실제로는 번역에 여러 단계가 있습니다!)

덕분에 우리는 어느정도 읽을 수 있는 프로그래밍 언어를 사용할 수 있게 되었고, 그 중 하나가 자바입니다! 


자바 언어는 이런 식입니다.

System.out.println(" 안녕 여러분! 자바는 참 착한 친구야! ");


쉽게 이해가 되진 않아도, 왠지 "" 따옴표 안에 텍스트를 출력할 것 같은 느낌이 들지요..?? 


차차 자바의 문법을 익히게 되면, 컴퓨터의 언어를 더 확실하게 이해할 수 있을 거에요 :-)