관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

컴퓨터 구조 시작하기 3 - 컴퓨터 구조의 큰 그림 1 : 컴퓨터가 이해하는 정보 및 컴퓨터의 4가지 핵심 부품 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

컴퓨터 구조 시작하기 3 - 컴퓨터 구조의 큰 그림 1 : 컴퓨터가 이해하는 정보 및 컴퓨터의 4가지 핵심 부품

huenuri 2024. 10. 14. 11:36

다시 집중해서 컴퓨터 구조 공부를 시작해 볼 것이다. 벌써 2교시가 다 지났으니 남은 2시간 동안 최대한 집중해서 학습해야겠다.

이번 절에서는 마치 지도를 그리듯 앞으로 학습해 나갈 컴퓨터 구조의 큰 그림을 그려보게 된다.

 

 

 

우리가 알아야 할 컴퓨터 구조 지식은 크게 2가지이다. 하나는 컴퓨터가 이해하는 정보이고, 다른 하나는 컴퓨터의 네 가지 핵심 부품이다.


 

 

 

 

컴퓨터가 이해하는 정보

 

먼저 컴퓨터가 무엇을 이해할 수 있는지부터 알아야 한다. 컴퓨터는 0과 1로 표현된 정보만을 이해한다. 그리고 이렇게 0과 1로 표현되는 정보에는 크게 두 종류가 있는데, 바로 데이터와 명령어이다.

 

 

 

 

컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리켜 데이터라고 한다.

 

 

 

 

명령어는 컴퓨터의 주요 동작을 이해하는데 매우 중요한 정보이다. 데이터와 명령어 중 컴퓨터를 실질적으로 작동시키는 더 중요한 정보는 명령어이다. 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐이지만, 명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보이다.

 

 

 

 

 

여기서 1과 2는 데이터이고 행위는 명령어가 된다.

 

 

 

 

명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료이다. 이런 점에서 컴퓨터 프로그램은 '명령어들의 모음'으로 정의되기도 한다.


 

 

 

 

 

컴퓨터의 4가지 핵심 부품

 

하지만 외관과 용도를 막론하고 컴퓨터를 이루는 핵심 부품은 크게 다르지 않다. 컴퓨터의 핵심 부품은 중앙처리장치(CPU), 주기억장치(메모리), 보조기억장치, 입출력장치이다.

이 네 가지 보품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 파악할 수 있다.

 

 

 

주기억장치의 종류

주기억장치에는 크게 RAM(Random Access Memory)과 ROM(Read Only Memory), 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭한다. 컴퓨터의 작동 원리를 파악하기 위해 알아야 할 더 중요한 주기억장치는 RAM이다. 따라서 특별한 언급이 없는 한 여기서 다루는 주기억장치는 RAM이라고 생각하면 된다.


 

 

 

 

컴퓨터의 실질적인 명령어는 이처럼 0과 1로 이루어져 있다.

 

 

 

 

 

개발자는 컴퓨터가 이해할 수 있도록 소스 코드를 변환한다.

 

 

 

 

 

그리고 컴퓨터가 이해할 수 있는 명령어로 바꾸는 것이 여기 보이는 어셈블리어이다.


 

 

 

 

 

이것이 CPU이다.

 

 

 

 

위쪽에 있는 것이 RAM이고 아래쪽에 있는 것이 ROM이다.

 

 

 

이것이 보조기억장치이다. 백업용으로 많이 사용한다.

 

 

 

 

입출력장치는 컴퓨터와 정보를 주고받을 수 있는 장치이다.

 

 

 

 

 

이 네 가지의 핵심 부품이 모일 수 있는 메인보드가 필요하다. 마더보드라고도 하는데, 여기에 컴퓨터의 주요 부품들을 부착해 연결해 줄 수 있는 판이다.


 

 

 

 

 

 

컴퓨터에는 CPU, 모모리, 보조기억장치, 입출력 장치로 이루어져 있고 이들을 이루는 메인보드가 있다. 이 4가지 핵심 부품이 서로 정보를 주고받을 수 있는 통로가 시스템 버스이다.


 

 

 

 

메모리

 

메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 이것을 프로세스라고 한다. 여기서 중요한 말은 '현재 실행되는 프로그램' 이다. 어떤 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.

현재 실행되지 않는 프로그램은 보조기억장치에 저장되어 있다.

 

 

이때 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 중구난방으로 저장되어 있으면 안 된다. 저장된 명령어와 데이터 위치는 정돈되어 있어야 한다. 그래서 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념이 사용된다. 이 주소를 통해 내가 저장된 메모리의 위치를 알 수 있다.

 

 

 

 


 

 

 

 

CPU

 

CPU는 컴퓨터의 두뇌이다. CPU는 메모리에 저장된 명령어를 읽어 들이고, 읽어들인 명령어를 해석하고, 실행하는 부품이다. CPU의 역할과 작동 원리를 구체적으로 이해하기 위해서는 CPU 내부 구성 요소를 알아야 한다.

이 책에서 학습할 CPU 내부 구성 요소 중 가장 중요한 세 가지는 산술논리연산장치(ALU), 레지스터, 제어장치이다. 

 

 

 

 

레지스터는 프로그램을 실행하는데 필요한 값들을 임시로 저장한다. CPU 안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 갖고 있다.

 

 

 

 

제어장치는 1번지에 저장된 명령어를 읽어들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다.

 

 

 

 

① 메모리는 1번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장된다. ② 제어장치는 읽어 들인 명령어를 해석한 뒤 3번지와 4번지에 저장된 데이터가 필요하다고 판단한다. ③ 제어장치는 3번지와 4번지에 저장된 데이터를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다.

 

 

① 메모리는 3번지와 4번지에 저장된 데이터를 CPU에 건네주고, 이 데이터들은 서로 다른 레지스터에 저장된다. ② ALU는 읽어들인 데이터로 연산을 수행한다.  ③ 계산의 결과값은 레지스터에 저장된다. 계산이 끝났다면 첫 번째 명령어의 실행은 끝난다. 

① 제어장치는 2번지에 저장된 다음 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다. 

 

 

 

 

② 메모리는 2번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장된다. ③ 제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단한다.

 

 

④ 제어장치는 계산 결과를 저장하기 위해 메모리에 '메모리 쓰기' 제어 신호와 함께 계산 결과인 220을 보낸다. 메모리가 계산 결과를 저장하면 두 번째 명령어의 실행도 끝난다.

 

 

 

 

이 CPU는 컴퓨터 구조를 학습하는데 가장 중요한 부품이다. 

 


 

 

 

학습을 마치고

강의를 들으며 책의 내용을 요약해서 정리하니 훨씬 더 머릿속에 잘 기억되는 것 같다. 아직 보조기억장치와 입출력장치 등 몇 가지 핵심 부품이 남아있지만 이 내용은 다음 포스트에 이어서 정리하려고 한다.

아무튼 이 책을 선택하길 정말 잘한 것 같다. 그리고 지금이 내가 컴퓨터 구조와 운영체제를 배우기에 딱 적당한 시기라는 것도 알게 되었다.

 

다시 집중이 잘 되고 공부하는 시간이 즐거워졌다.