본문 바로가기
하드웨어/컴퓨터 구조

생각 날 때마다 찾아보는 컴퓨터의 작동 원리와 프로세스

by bantomak 2025. 1. 30.
반응형

컴퓨터의 작동 원리

컴퓨터는 여러 구송 요소가 유기적으로 동작하며 우리가 원하는 동작을 수행하게 된다. 컴퓨터에서 프로그램이 실행되는 관점에서 어떤 구성 요소가 있고, 각 구성 요소가 어떻게 프로그램을 작동시킬 수 있는지 간단히 살펴보자.

  • CPU : CPU(Central Processing Unit)는 프로그램의 명령어를 해석해 산순 연산, 논리 연산 등 모든 연산을 수행하는 컴퓨터의 두뇌이다. 여러 CPU로 된 하나의 칩을 프로세서(processor)라고 하며, 프로세서에 장착된 CPU를 코어(core)라고 한다. 그리고 코어가 여러 개면 멀티 코어 프로세서(Multi-core processor)라고 한다.
  • 레지스터 : 레지스터(register)는 CPU 내부에 포함된 아주 작고 빠른 메모리를 말한다. 레지스터는 CPU가 연산을 수행할 때 필요한 데이터를 임시로 저장한다. 사용 목적에 따라 범용 레지스터(general purpose register)와 특수 목적 레지스터로 나눌 수 있다.
  • 메모리 : RAM(Random Access Memory)은 프로그램의 코드와 데이터를 저장하는 공간이다. 레지스터는 CPU 내부에 존재하는 반면 메모리는 CPU와 물리적으로 떨어져 시스템 버스라는 통로로 연결되어 있다. 메모리는 레지스터보다 크기가 매우 크지만 접근 속도는 훨씬 느리다. 메모리에 저장된 데이터는 컴퓨터가 꺼지면 모두 없어진다. 그래서 메모리를 휘발성 메모리라고 한다.
  • 저장 장치 : 저장 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive), SSD(Solid State Drive), 플래시 메모리와 같은 저장소를 말한다. 흔히 디스크라고 통칭하기도 한다. 저장 장치에 저장된 데이터는 컴퓨터의 전원이 꺼져도 보존된다. 그래서 비휘발성 메모리라고 한다. 저장 장치에는 운영체제, 프로그램, 일반 파일 등 컴퓨터가 꺼져도 보관해야 하는 데이터를 저장한다.
  • 시스템 버스 : 시스템 버스(system bus)는 컴퓨터 내부에서 데이터를 주고받는 통로이다. CPU, 메모리, 디스크 등 다양한 구성 요소가 데이터를 주고받을 때 버스를 사용한다. 주소 버스, 데이터 버스, 제어 버스 등 여러 종류가 있으며, 각기 다른 역할을 수행한다. 프로그램을 작동시키면 디스크에 저장된 프로그램 실행 코드를 시스템 버스를 통해 메모리로 적재(load)한다. 디스크에 저장된 프로그램 코드를 메모리에 복사한다고 볼 수 있다. CPU는 이 과정에서 메모리에 저장된 데이터를 사용한다. CPU는 버스를 통해 데이터를 메모리에서 레지스터로 읽어와 연산을 수행한다. 그리고 버스를 통해 연산 결과를 다시 메모리에 저장한다.
 

CPU의 작동

기본적인 컴퓨터 구조 오늘날의 컴퓨터는 대부분 폰노이만 구조를 따른다. 폰노이만 구조는 CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조를 말한다. 이 구조가 등장하기 이전

jettstream.tistory.com

 

SRAM과 DRAM에 대하여

RAM이란 무엇인가?RAM이란 Random Access Memory의 줄임말로 프로그램이 실행되는 동안 필요한 데이터를 저장하는 컴퓨터 장치이다. R저장된 데이터를 순차적이 아닌 임의의 순서로 액세스 할 수 있다.

jettstream.tistory.com

 

HDD에서 SSD로의 전환

스토리지 매체 패러다임의 변화 간단히 설명하면 HDD는 플래터라고 하는 얇은 마그네틱 필름에 자기적 자극을 가하여 데이터를 읽고 씁니다. 플래터를 물리적으로 돌려가면서 파일을 인식하므

jettstream.tistory.com

프로세스(Process)란?

컴퓨터 시스템에서 프로세스(process)는 메모리에서 실행 중인 프로그램을 말한다.

프로그램(program)은 디스크에 저장된 실행 파일을 의미한다. 한 프로그램이 하나의 실행 파일로 구성된 경우도 있지만, 라이브러리 등을 추가해 여러 파일로 구성된 경우가 더 많다. 프로그램이 시스템에 설치되면 프로그램을 구성하는 여러 파일이 디스크에 저장된다. 그래서 무거운 프로그램을 설치하거나 많은 프로그램을 설치하면 남은 디스크 용량이 줄어들게 된다.

 

프로세스(process)는 실행 중인 프로그램을 말한다. 시스템에 설치하고 실행하지 않은 프로그램은 그저 디스크에 저장된 파일일 뿐이다. 디스크의 자리만 차지하며 아무런 동작을 하지 않는다. 프로세스는 프로세스는 메모리에서 실행되는 프로그램을 말한다. 왜 '메모리'일까? 디스크에 저장된 상태 그대로 프로그램을 실행할 수는 없는 것일까? CPU는 실행할 명령을 메모리로부터 읽어 들이도록 설계되었다. 프로그램이 CPU에 의해서 연산되고 처리되려면 프로그램의 코드가 반드시 메모리에 적재되어야 한다. 코드가 실행되면 CPU는 실행 결과를 메모리에 저장하거나 메모리로부터 다음 실행 코드를 읽어 들인다. 프로그램의 동작에 필요한 여러 정보를 메모리에 저장하거나 메모리에서 가져오는 것이다. 프로그램을 실행하기 위한 코드를 메모리에 적재하기도 하고, 프로그램이 작동하면서 사용하는 정보를 메모리에 저장하기도 한다.

함께 읽으면 좋은 글

 

폰노이만 구조

폰노이만 구조 우리가 주목할 사건은 폰노이만 구조의 등장이다. 사실 에니악(ENIAC)은 현대 컴퓨터와 같이 다양한 프로그램을 수행할 수 있는 '범용 컴퓨터(general purpose computer)'는 아니었다. 다른

jettstream.tistory.com

댓글