[컴퓨터 구조] 컴퓨터를 구성하는 요소

2025. 12. 23. 19:51·CS

 

매일 컴퓨터를 사용하지만, 정작 컴퓨터가 어떤 구조로 일을 처리하는지에 대해 깊이 생각해보지 않는다.

버튼을 누르면 화면이 바뀌고, 파일을 저장하면 디스크에 남아 있으며 프로그램을 실행하면 당연히 실행된다.

 

하지만, 이 '당연함' 뒤에는 역할이 분리된 컴퓨터의 구조가 숨어있다는 사실 !

 

이번에는 컴퓨터를 구성하는 기본 요소를 중심으로 '컴퓨터가 어떻게 일을 나눠서 처리하는지'를 살펴보겠다.

 

 

1. 컴퓨터가 하는 일은 생각보다 단순하다

컴퓨터가 수행하는 모든 작업은 크게 다음 4가지 흐름으로 정리할 수 있다.

입력 - 처리 - 저장 - 출력

이 흐름은 메신저, 웹 브라우저, 게임 등 모든 프로그램에서 공통적으로 반복된다.

 

2. 왜 컴퓨터는 하나의 장치가 아니라 여러 요소로 나뉘어 있을까?

'하나의 장치로 모든 작업을 처리하면 안 될까'라는 질문을 떠올릴 수 있다.

- 각 작업의 속도와 역할이 다르기 때문에 하나의 장치로 처리하기에는 무리가 있다.

 

계산과 메모리 접근은 빠르게 이뤄지는 반면,

저장 장치 접근이나 입출력 장치는 상황에 따라 더 느리다.

 

만약에 모든 작업을 하나의 장치가 처리한다면 빠른 작업이 느린 작업을 계속 기다려야 하는 문제가 발생한다.

 

그래서 컴퓨터는 역할별로 부품을 나누는 구조로 설계되어 있다.

 

 

3. 컴퓨터를 구성하는 4가지 핵심 요소

컴퓨터의 구성 요소는 관점에 따라 다르게 설명될 수 있지만 일반적으로 다음 4가지로 정리한다.

 

- CPU (중앙처리장치)

- 메모리 (주기억장치)

- 보조기억장치

- 입출력 장치

이 4가지 요소는 각자의 역할을 분담하면서 협업한다.

 

3-1. CPU (중앙처리장치)

CPU는 컴퓨터에서 처리를 담당하는 장치다.

명령어를 하나씩 읽고 해석하고 계산한 뒤에 그 결과를 저장한다.

 

CPU는 스스로 판단하거나 생각하지 않는다.

이미 정해진 명령어를 매우 빠르게 실행하는 장치라고 보면 된다.

 

어떤 일을 할지는 프로그램이 정해주고, CPU는 그 지시를 그대로 따른다.

또한, CPU는 레지스터라는 초고속 저장 공간을 가지고 있어서 실제 연산은 메모리가 아닌 레지스터에서 이뤄진다.

 

3-2. 메모리(주기억장치)

메모리는 실행 중인 프로그램과 데이터가 올라가는 공간이다.

프로그램을 실행하면 보조기억장치에 있던 파일이 메모리에 로드되고, CPU는 메모리에 있는 명령과 데이터를 사용해서 작업을 수행한다.

 

메모리는 빠르지만, 전원이 꺼지면 내용이 사라지는 휘발성 저장소다.

 

CPU가 직접 작업하기에 가장 적합한 공간으로 흔히 '작업대'에 비유되기도 한다.

 

3-3. 보조기억장치

보조기억장치는 전원이 꺼져도 데이터를 보관하는 저장 공간이다.

프로그램 파일이나 문서, 사진, 영상과 같은 데이터가 여기에 저장된다.

 

보조기억장치는 메모리보다 훨씬 느리기 때문에 CPU는 보조기억장치의 데이터를 직접 실행하지 않는다.

 

대신, 보조기억장치 → 메모리 → CPU라는 흐름으로 데이터를 처리한다.

 

3-4. 입출력 장치

입출력장치는 컴퓨터가 외부와 데이터를 주고받는 창구다.

입출력 장치는 CPU나 메모리와 달리 속도와 동작 방식이 제각각이기 때문에 보통 컨트롤러와 드라이버를 통해 관리된다.

 

또한, 입출력 작업이 끝났을 때 CPU에게 알려주는 방식으로 인터럽트가 사용된다.

* 인터럽트란, CPU가 계속 장치를 감시하지 않아도 되도록 장치가 스스로 '작업이 끝났다'라고 알리는 신호를 의미한다.

 

4. 전체 구조 한 번에 정리하기

다시 이 그림을 보면서 지금까지 살펴본 내용을 하나의 흐름으로 정리해 보겠다.

프로그램은 보조기억장치에 저장되어 있다가 실행 시 메모리로 적재된다.

CPU는 메모리에 올라온 명령어와 데이터를 읽어 연산을 수행하고 그 결과는 다시 메모리에 저장된다.

 

이때 CPU, 메모리, 보조기억장치, 입출력 장치는 서로 직접 연결되어 있는 것이 아니라 시스템 버스라는 공통 통로를 통해 연결된다.

 

시스템 버스는 데이터와 명령, 제어 신호를 각 장치 사이로 전달하는 역할을 수행한다.

 

입출력 장치는 시스템 버스를 통해 CPU와 통신하며 작업이 완료되면 인터랩트를 발생시켜 CPU에게 이를 알린다.

 

마무리

컴퓨터는 하나의 거대한 장치가 아니라 역할이 분리된 여러 구성 요소가 각자의 일을 맡아 협업하는 구조로 이뤄져 있다.

 

다음 글에서는 이러한 구조 안에서 프로그램이 실제로 실행되는 과정을 조금 더 자세히 살펴볼 예정이다.

 

 

'CS' 카테고리의 다른 글

[컴퓨터 구조] 프로그램이 실행된다는 것의 의미  (0) 2026.01.03
캐시와 참조 지역성으로 웹 성능을 높이는 방법  (1) 2025.01.22
개발자가 컴퓨터 구조를 알아야 하는 이유  (0) 2025.01.13
웹 개발 시 꼭 챙겨야 할 보안 체크 리스트  (0) 2025.01.07
혼자 공부하는 네트워크 CH5. 응용 계층  (2) 2024.12.19
'CS' 카테고리의 다른 글
  • [컴퓨터 구조] 프로그램이 실행된다는 것의 의미
  • 캐시와 참조 지역성으로 웹 성능을 높이는 방법
  • 개발자가 컴퓨터 구조를 알아야 하는 이유
  • 웹 개발 시 꼭 챙겨야 할 보안 체크 리스트
uoaheu
uoaheu
uoaheu 님의 블로그 입니다.
  • uoaheu
    uoaheu 님의 블로그
    uoaheu
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • 알고리즘 (7)
      • CS (9)
      • FRONTEND (9)
        • React (12)
        • Kotlin (1)
        • JS (5)
        • HTML (2)
      • SQL (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼자서 공부하는 네트워크
    mysql 피벗테이블
    mysql
    toss 분석
    토스 uiux
    백준1926번
    부트캠프후기
    리액트usestate
    유레카3기
    엘지유플러스유레카프론트엔드
    useactionstate
    멀티캠퍼스it부트캠프
    이더넷프레임
    토스 앱 분석
    mysql로 피벗테이블만들기
    토스분석
    boj25418
    알고리즘
    toss uiux
    BFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
uoaheu
[컴퓨터 구조] 컴퓨터를 구성하는 요소
상단으로

티스토리툴바