[Computer Architecture] 컴퓨터의 구성

jiny·2026년 2월 4일

Computer Science

목록 보기
1/16
post-thumbnail

1. 컴퓨터 시스템의 기본 구성 요소

(1) 컴퓨터 시스템의 양대 축

컴퓨터 시스템은 크게 하드웨어소프트웨어로 나누어진다.

  • 하드웨어: 컴퓨터를 구성하는 기계적 장치들
    예) 중앙처리장치(CPU), RAM, HDD, SSD
  • 소프트웨어: 하드웨어의 동작을 지시하고 제어하는 명령어들의 집합
    예) 운영체제(OS), 컴파일러, 워드프로세서

(2) 하드웨어의 주요 구성 요소

  • 중앙처리장치(CPU, Central Processing Unit): 컴퓨터의 두뇌 역할을 하며 연산과 제어를 담당한다.
  • 기억장치: 데이터를 저장하는 곳
    • 주기억장치: RAM(Random Access Memory), ROM(Read Only Memory)

      🌟 RAM, ROM

      컴퓨터의 핵심 기억장치인 RAMROM에 대해 자세히 알아보자.
      두 장치는 모두 주기억장치에 해당하지만, 성격과 역할은 완전히 다르다.

      1. RAM (Random Access Memory)
        • 비유: "컴퓨터의 작업대"라고 생각하면 쉽다.
        • 개념: CPU가 현재 실행 중인 프로그램이나 데이터를 일시적으로 저장하는 공간
        • 특징: 전원이 꺼지면 저장된 내용이 모두 사라진다. 그래서 '휘발성 메모리'라고 부른다. (휘발성)
        • 역할: 우리가 게임을 하거나 인터넷 창을 띄울 때, 그 데이터들은 모두 RAM에 올라와 있다. RAM 용량이 클수록 한 번에 여러 작업을 매끄럽게 할 수 있다.
      2. ROM (Read Only Memory)
        • 비유: "지워지지 않는 기록판"과 같다.
        • 개념: 컴퓨터를 켜는 데 필요한 아주 기본적인 정보(BIOS 등)를 영구적으로 저장하는 공간
        • 특징: 전원이 꺼져도 내용이 지워지지 않는다. 이름 그대로 주로 '읽기만 가능'하고 수정이 어렵다. (비휘발성)
        • 역할: 컴퓨터 전원을 눌렀을 때 하드웨어를 점검하고 운영체제를 불러오는 초기 지침서 역할을 한다.
      3. RAM vs. ROM
      구분RAMROM
      저장 성격일시적 저장 (작업 중인 데이터)영구적 저장 (필수 지침서)
      휘발 여부휘발성 (전원 OFF 시 삭제)비휘발성 (전원 OFF 시 유지)
      쓰기 가능 여부자유롭게 읽고 쓰기 가능주로 읽기만 가능 (수정 어려움)
      비유언제든 치우고 다시 쓰는 책상내용을 바꿀 수 없는 인쇄된 책
      주요 용도실행 중인 앱, OS 구동 데이터부팅 관련 시스템 정보(BIOS)
      1. RAM, ROM 둘 다 필요한 이유
        컴퓨터가 켜지려면 ROM에 저장된 부팅 방법을 읽어야 하고,
        일단 켜진 뒤에 우리가 작업을 하려면 데이터를 빠르게 주고받을 수 있는 RAM이라는 공간이 필요하기 때문이다.
    • 보조기억장치: HDD(Hard disk Drive), SSD(Solid State Drive)

      🌟 HDD, SSD

      1. HDD (Hard Disk Drive)
        • 개념: "회전하는 자기 디스크"를 사용하는 전통적인 저장장치
        • 작동 원리: LP판 플레이어처럼, 자성을 띤 자기 디스크(플래터)를 빠르게 회전시키고 그 위를 헤드가 움직이며 데이터를 읽고 쓴다.
        • 장점: 같은 가격 대비 저장 용량이 매우 커서, 대용량 데이터를 보관하기에 경제적이다.
        • 단점: 물리적으로 디스크를 돌려야 하므로 속도에 한계가 있고, 소음이 발생하며 충격에 약하다.
      2. SSD (Solid State Drive)
        • 개념: "반도체 메모리"를 사용하는 현대적인 저장장치
        • 작동 원리: HDD처럼 움직이는 부품 없이, 전기적 신호로 반도체(플래시 메모리)에 데이터를 저장한다. USB 메모리의 아주 빠르고 거대한 버전이라고 생각하면 쉽다.
        • 장점: HDD보다 압도적으로 빠르다. 부팅 속도나 프로그램 실행 속도가 눈에 띄게 빨라지며, 소음이 없고 충격에도 강하다.
        • 단점: HDD에 비해 가격이 비싸고, 같은 가격일 때 저장할 수 있는 용량이 적다.
      3. HDD vs. SSD
      구분HDDSSD
      핵심 부품자기 디스크 (물리적 회전)반도체 (전기적 신호)
      속도느림 (물리적 한계)매우 빠름
      내구성충격에 약함 (고장 위험)충격에 강함
      소음/발열소음과 진동, 발열 있음소음 없음, 발열 적음
      가격/용량저렴함 (대용량 유리)비쌈 (소용량 위주)
      비유책상에서 직접 책을 찾는 사서머릿속에 내용을 다 외운 천재
      1. 데이터 처리 구조에서의 위치
        컴퓨터는 보통 다음과 같은 구조로 데이터를 주고받는다. HDD와 SSD는 가장 아래 단계에서 데이터를 안전하게 지키는 역할을 한다.
        최근에는 속도가 중요한 운영체제(OS)나 게임은 SSD에 설치하고, 사진이나 영상 같은 대용량 파일은 HDD에 보관하는 식으로 두 장치를 함께 사용하는 경우가 많다.
  • 입출력장치
    • 입력장치: 외부에서 데이터를 넣는 장치 (키보드, 마우스)
    • 출력장치: 처리 결과를 보여주는 장치 (모니터, 프린터, 스피커)

(3) 소프트웨어의 주요 분류

  • 시스템 소프트웨어: 하드웨어를 관리하고 응용 소프트웨어가 실행될 수 있는 환경을 만든다.
    예) 운영체제(OS), 컴파일러
  • 응용 소프트웨어: 우리가 특정 목적을 위해 직접 사용하는 프로그램들
    예) 워드프로세서, 스프레드시트(엑셀 등), 웹 브라우저

(4) 하드웨어 구성 요소 간의 연결 및 통신

  • 하드웨어 구성 요소(CPU, 기억장치, 입출력장치)는 시스템 버스로 연결되어 있다.
  • 시스템 버스: 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 수행한다.

    🌟 시스템 버스 (System Bus)

    시스템 버스는 컴퓨터의 주요 구성 요소인 CPU, 기억장치, 입출력 장치를 물리적으로 연결하여 데이터와 신호가 오갈 수 있게 해주는 '공통 통로'이다.
    쉽게 비유하자면, 도시의 각 건물(장치) 사이를 연결하는 '고속도로'와 같다. 이 고속도로는 용도에 따라 크게 세 가지 차선으로 나뉜다.

    1. 시스템 버스의 3가지 종류
      • 데이터 버스(Data Bus)
        • 역할: 실제 데이터나 명령어를 실어 나르는 통로이다.
        • 특징: CPU가 메모리에서 데이터를 읽어오기도 하고, 연산 결과를 다시 메모리에 저장하기도 해야 하므로 양방향↔️으로 흐른다.
      • 주소 버스(Address Bus)
        • 역할: 데이터를 어디로 보낼지, 혹은 어디서 가져올지 '주소'를 지정하는 통로이다.
        • 특징: 주소는 보통 CPU가 "이 주소에 있는 데이터를 줘!"라고 명령하며 지정하기 때문에, CPU에서 다른 장치로만 향하는 단방향➡️이다.
      • 제어 버스(Control Bus)
        • 역할: "지금 읽기 작업을 할 거야", "쓰기 작업을 할 거야" 같은 제어 신호를 전달한다.
        • 특징: 읽기/쓰기 신호뿐만 아니라 장치들의 상태 보고(인터럽트 등)도 주고받아야 하므로 양방향↔️으로 작동한다.
    2. 시스템 버스의 작동 원리 (예시)
      컴퓨터가 데이터를 처리하는 과정(READ → PROCESS → WRITE)에서 버스는 다음과 같이 움직인다.
      주소 지정: CPU가 주소 버스를 통해 "메모리 100번지"를 지목한다.
      제어 신호: 제어 버스를 통해 "거기 있는 데이터를 읽겠다(READ)"는 신호를 보낸다.
      데이터 이동: 메모리 100번지에 있던 데이터가 데이터 버스를 타고 CPU로 들어온다.
    3. "64비트 컴퓨터"의 의미
      우리가 흔히 말하는 "64비트 컴퓨터"는 이 시스템 버스의 폭과 관련이 있다.
      운영체제가 64비트라면, CPU가 한 번에 RAM으로부터 데이터를 64비트씩 읽어올 수 있다는 뜻이다.
      도로가 넓을수록 한 번에 많은 차가 지나갈 수 있는 것과 같은 원리이다.

2. 하드웨어의 상세 구성 및 기능

(1) 중앙처리장치(CPU)의 역할과 구조

  • CPU의 역할: 인간의 두뇌에 해당하는 부분으로, 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어한다.
  • CPU의 내부 구성 요소
    • 산술논리연산장치(ALU, Arithmetic Logic Unit): 비교와 연산을 담당한다.
    • 제어장치: 명령어의 해석과 실행을 담당한다.
    • 레지스터: 속도가 빠른 데이터 기억장소이다.
  • 마이크로프로세서: 개인용 컴퓨터와 같은 소형 컴퓨터에서는 CPU를 마이크로프로세서라고도 부른다.

(2) 기억장치 및 입출력장치의 기능

  • 기억장치의 기능 및 분류
    • 기능: 프로그램, 데이터, 연산의 중간 결과를 저장하는 장치
    • 주기억장치: RAM과 ROM이 해당하며, 실행 중인 프로그램과 프로그램에 필요한 데이터를 일시적으로 저장한다.
    • 보조기억장치: 하드디스크 등을 말하며, 주기억장치에 비해 속도는 느리지만 많은 자료를 영구적으로 보관할 수 있는 장점이 있다.

      🌟 보조기억장치의 느린 속도?

      1. 얼마나 느린걸까?
        • 주기억장치(RAM): 데이터를 찾는 데 약 수십 나노초(ns)가 걸린다. (우리가 눈을 한 번 깜빡이는 것보다 수백만 배 빠르다.)
        • 보조기억장치(HDD/SDD)
          SSD: 약 수십수백 마이크로초(μs) (RAM보다 수백수천 배 느림)
          HDD: 약 수 밀리초(ms) (RAM보다 수십만 배 느림)
        • 비유: RAM에서 데이터를 가져오는 게 '내 책상 위에서 펜을 집는 것'이라면, HDD에서 가져오는 건 '옆 동네 도서관에 가서 책을 빌려오는 것'만큼의 차이가 난다.
      2. 그런데 사용자는 왜 느리다는 걸 체감을 못할까?
        • RAM이 방패 역할을 해주기 때문이다.
          컴퓨터는 보조기억장치에서 데이터를 직접 읽어 처리하지 않는다. 반드시 보조기억장치에 있는 데이터를 RAM으로 먼저 옮겨놓고, CPU는 오직 RAM하고만 대화한다.
          우리가 프로그램을 사용하는 동안에는 이미 필요한 데이터가 RAM에 다 올라와 있기 때문에, 보조기억장치의 느린 속도를 느낄 기회가 없는 것이다.
        • 64비트 전송 등 효율적인 통로 설계
          운영체제와 시스템 버스가 데이터를 한 번에 대량으로(예: 64비트씩) 빠르게 실어 나르기 때문에, 장치 간의 속도 차이에서 오는 병목 현상을 최대한 줄여준다.
        • SSD의 보급
          과거 HDD 시절에는 컴퓨터를 켤 때(부팅) 1~2분씩 걸리는 걸 누구나 체감했다.
          하지만 최근에는 RAM과의 속도 차이를 획기적으로 줄인 SSD를 쓰기 때문에, 사용자가 "느리다"고 느낄 틈도 없이 데이터가 RAM으로 옮겨진다.
      3. 느리다는 걸 체감하게 되는 상황
        • 로딩 화면: 게임을 실행할 때 나오는 'Loading...' 화면이 바로 보조기억장치(느림)에 있는 데이터를 주기억장치(빠름)로 옮기는 시간이다. 이 시간이 길수록 보조기억장치가 느린 것이다.
        • 부팅 속도: 전원을 켜고 윈도우 바탕화면이 나올 때까지의 시간도 보조기억장치의 성능에 좌우된다.
        • 대용량 복사: 10GB짜리 영화 파일을 옮길 때 걸리는 시간도 보조기억장치의 속도 한계 때문이다.
  • 입출력장치의 분류
    • 입력 장치: 컴퓨터 내부로 자료를 입력하는 장치
      예) 키보드, 마우스
    • 출력 장치: 컴퓨터에서 외부로 표현하는 장치
      예) 프린터, 모니터, 스피커

3. 시스템 버스의 종류와 데이터 전송 방식

(1) 시스템 버스의 정의

  • 하드웨어 구성 요소를 물리적으로 연결하는 선
  • 각 구성요소가 다른 구성요소로 데이터를 보낼 수 있도록 통로 역할을 한다.

(2) 시스템 버스의 분류

용도에 따라 데이터 버스, 주소 버스, 제어 버스로 나누어진다.

  • 데이터 버스 (양방향)
    • 역할: 중앙처리장치(CPU)와 기타 장치 사이에서 데이터를 전달하는 통로이다.
    • 전송 방향: 기억장치와 입출력장치의 명령어와 데이터를 CPU로 보내거나, CPU의 연산 결과를 기억장치와 입출력장치로 보내는 양방향↔️ 버스이다.
  • 주소 버스 (단방향)
    • 필요성: 데이터를 정확히 실어나르기 위해서는 기억장치 주소를 지정해 주어야 한다.

      기억장치 주소(Memory Address): 컴퓨터의 기억장치(주로 RAM) 내부에 있는 수많은 저장 칸들에 붙여진 고유한 번호

    • 역할: 중앙처리장치가 주기억장치나 입출력장치로 주소를 전달하는 통로이다.
    • 전송 방향: 주소는 CPU에서 장치로만 전달되므로 단방향➡️ 버스이다.
  • 제어 버스 (양방향)
    • 필요성: 주소 버스와 데이터 버스는 모든 장치에 공유되므로, 이를 제어할 수단이 필요하다.
    • 역할: 중앙처리장치가 기억장치나 입출력장치에 제어 신호를 전달하는 통로이다.
    • 제어 신호의 종류: 기억장치 읽기 및 쓰기, 버스 요청 및 승인, 인터럽트 요청 및 승인, 클락, 리셋 등
    • 전송 방향: 읽기 동작과 쓰기 동작을 모두 수행하기 때문에 양방향↔️ 버스이다.

      🌟 제어 버스가 양방향인 이유

      제어 버스가 양방향인 이유는 단순히 '읽기'와 '쓰기'라는 두 가지 일을 하기 때문이 아니라, "명령을 내리는 쪽(CPU)"과 "상태를 보고하는 쪽(기억장치/입출력장치)" 사이의 대화가 필요하기 때문이다.
      이해하기 쉽게 '무전기 대화'에 비유해서 설명해 본다.

      1. 왜 양방향 대화가 필요할까?
        제어 버스는 단순히 "해라!"라고 명령만 내리는 통로가 아니다. 명령을 받은 장치가 "알겠다"거나 "잠시만 기다려달라"고 대답을 해야 한다.
        이렇게 신호가 양쪽으로↔️ 오가야 하기 때문에 제어 버스는 양방향이 될 수밖에 없다.
        • CPU ➡️ 장치 (명령): "지금부터 데이터를 읽을(Read) 테니 준비해!" 혹은 "데이터를 쓸(Write) 테니 저장해!"
        • CPU ⬅️ 장치 (응답/상태): "준비됐어요!", "지금 다른 일을 하느라 바빠요(Wait)", "작업이 끝났어요!(Interrupt)"
      2. '읽기'와 '쓰기' 동작에서의 양방향성
        • 읽기(Read) 동작 시
          • CPU가 제어 버스로 "읽기 신호"를 보낸다. (CPU ➡️ 메모리)
          • 메모리가 데이터를 준비한 뒤 "준비 완료" 신호를 보낸다. (CPU ⬅️ 메모리)
        • 쓰기(Write) 동작 시
          • CPU가 제어 버스로 "쓰기 신호"를 보낸다. (CPU ➡️ 메모리)
          • 메모리가 저장을 마친 후 "저장 완료" 신호를 보낸다. (CPU ⬅️ 메모리)
      3. 제어 버스의 주요 신호들
        • 인터럽트 요청 및 승인: 입출력 장치가 "저 다 했어요!"라고 요청(CPU ⬅️ 장치)하면, CPU가 "그래, 확인했어"라고 승인(CPU ➡️ 장치)한다.
        • 버스 요청 및 승인: 다른 장치가 "저도 이 통로 좀 써도 될까요?"라고 요청(CPU ⬅️ 장치)하면, CPU가 "지금은 안 돼" 혹은 "그래 써라"라고 답(CPU ➡️ 장치)해준다.

4. 컴퓨터의 기본 작동 과정 및 데이터 처리

  • 컴퓨터의 기본 작동 순서: 컴퓨터는 기본적으로 읽고(READ) → 처리한 뒤(PROCESS) → 저장하는(WRITE) 과정으로 이루어진다.
  • 주기억장치와의 소통: 이 과정을 진행하면서 컴퓨터는 끊임없이 주기억장치(RAM)와 소통한다.
  • 데이터 읽기 단위: 운영체제가 64bit라면, CPU는 RAM으로부터 데이터를 한 번에 64비트씩 읽어온다.

0개의 댓글