컴퓨터 구성

💻 7. 컴퓨터 시스템 구조 완벽 정리

잔잔한 흐름 2025. 4. 20. 18:24

 

안녕하세요! 오늘은 컴퓨터공학의 기초 중에서도 아주 중요한 **‘컴퓨터 시스템 구조’**에 대해 정리해보려고 합니다. 


✅ 컴퓨터 시스템이란?

컴퓨터 시스템은 크게 하드웨어(Hardware)소프트웨어(Software) 로 나뉜다.

  • 하드웨어: 눈에 보이고 손으로 만질 수 있는 물리적인 장치들 (예: CPU, 메모리, 마우스, 모니터, ROM, RAM등)
  • 소프트웨어: 하드웨어를 작동시키기 위한 프로그램 (예: 운영체제, 컴파일러, 유틸리티 등)


🧠 컴퓨터 시스템의 기본 구성

컴퓨터는 다음과 같은 다섯 가지 주요 구성 요소로 이루어져 있어요.

  1. 입력 장치: 데이터를 입력 (예: 키보드, 마우스)
  2. 중앙처리 장치 (CPU): 모든 연산과 제어를 담당(연산 장치 + 제어 장치)
  3. 주기억 장치: 실행 중인 프로그램과 데이터를 저장
  4. 보조기억 장치: 장기 저장 (예: SSD, HDD, USB 등)
  5. 출력 장치: 처리 결과를 출력 (예: 모니터, 프린터)


🧩 중앙처리 장치 (CPU)의 구조

CPU는 크게 세 부분으로 구성돼요:

  • 연산 장치 (ALU): 사칙연산, 논리연산 등 실제 계산 담당
    - 자료의 비교, 판단, 이동, 편집
  • 제어 장치: 명령어 해석 및 각 장치 제어
    - 각종 입출력 장치, 기억 장치, 연산 장치 등의 동작을 제어함
    - 해독된 명령들을 각 장치에 보내 처리하도록 지시하는 일을 담당함
  • 레지스터: 데이터를 임시 저장하는 초고속 기억장치

💡 CPU는 흔히 마이크로프로세서라고도 불리며, CISCRISC 구조로 나뉘어요.

  • CISC(Complex Instruction Set Computer)(ex. 인텔) 
    - 마이크로 프로그래밍을 통한 다양한 명령어 형식을 제공
    - 명령어의 수가 많고 구조가 복잡하여 생산 단가가 비쌈
  • RISC(Reduced Instruction Set Computer) (ex. ARM)
    - 연산 속도를 향상시키기 위해 제어 논리를 단순화시킴
    - 단순화된 명령어 구조를 가짐
    - 가격이 저렴하며 주로 워크스테이션에 쓰인다.

 

시스템 소프트웨어(System Software)

1. 시스템 소프트웨어

  • 사용자가 복잡한 하드웨어를 모르고서도 사용할 수 있게 도와주는 프로그램
  • 종류에는 운영체제, 언어 번역 프로그램, 유틸리티(utility) 등이 있다.
  • 운영체제는 컴퓨터의 전체적인 작동을 관리하는 프로그램
  • 언어 번역프로그램 중 어셈블리 프로그램을 번역하는 프로그램 어셈블러(Assembler), 고급 언어를 번역하는 프로그램을 컴파일러(Comiler)라고 부른다.
  • 유틸리티 프로그램은 컴퓨터의 조작을 편리하게 해주는 프로그램
  • 대부분의 유틸리티 프로그램은 컴퓨터 제작 회사에서 제공하고 있다.

운영체제

  • 감시 프로그램
  • 작업 관리 프로그램
  • 데이터 관리 프로그램
  • 문제 처리 프로그램
  • MS-DOS, Windows XP/7/8/10, UNIX, Linux

언어 번역 프로그램

  • 어셈블러
  • 컴파일러
  • 인터프리터
  • 프리프로세서

유틸리티

  • 정렬, 조합, 편집 프로그램
  • 파일 압축 유틸리티
  • 디스크 관련 유틸리티

2. 디바이스 드라이버(Device Driver)

  • '장치 구동기'
  • 하드웨어와 운영체제의 중간에 위치한다.
  • 하드웨어 장치들을 동작시키는 일을 한다.

 

펌웨어(Firmware)

  • 시스템의 효율을 높이기 위해 ROM에 들어 있는 기본적인 프로그램
  • ROM에 고정되어 있기 때문에 하드웨어의 특성도 가지고 있으나, 실제로는 소프트웨어에 더 가깝다
  • 전형적인 처리 루틴, 비휘발성, 변경불가 등의 특징이 있다.

 


📥 명령어의 실행 과정

명령어는 크게 두 단계로 실행돼요:

  1. Fetch (가져오기): 주기억장치에서 명령어를 가져옴
  2. Execute (실행): 가져온 명령어를 해석하고 실행

명령어 수행

  • 컴퓨터의 중앙처리 장치는 주기억 장치에 기억되고 있는 프로그램 명령어를 호출하는 패치 과정을 수행하고 해독함
  • 해독된 결과를 따라 자료를 이동시키고(transfer) 연산과 입출력을 실행
  • 이때 명령어를 패치하는 시간을 패치 사이클(fetch cycle)이라 한다.
  • 명령어의 내용에 따라 수행되는 시간을 실행 사이클(execution cycle)이라 한다.

이 두 단계를 반복하면서 프로그램이 동작합니다.

💡 실행 도중 인터럽트가 발생할 수 있어요. 예를 들어 I/O 요청이 들어오면 CPU는 현재 작업을 멈추고 요청을 처리합니다.

※ 인터럽트란? 프로그램의 실행 도중 운영체제나 시스템에 의해서 실행 중인 프로그램이 잠시 중단된 후 특정한 작업을 수행하는 것.

 

✳️레지스터의 종류

레지스터(register)는 중앙처리장치에 있는 기억 장소로 명령어의 실행 과정에서 발생하는 중간 값을 저장한다.

범용 레지스터와 특수 목적 레지스터가 있다.

 

특수 목적 레지스터

1. 메모리 버퍼 레지스터(Memory Buffer Register: MBR): 주기억 장치에서 페치한 데이터나 명령어를 임시 보관하고, 중앙처리장치에서 처리한 결과를 주기억장치에 저장하기 전에 잠시 보관하는 레지스터

2. 메모리 어드레스 레지스터(Memory Address Register:MAR): 기억 장치 내의 자료를 저장하거나 읽어 올때 주소를 저장하는 레지스터

3. 명령어 레지스터(Instruction Register:IR) : 현재 수행 중인 명령어를 임시로 기억해 두는 레지스터

4. 프로그램 카운터(Program Counter:PC) : 다음에 실행될 명령어의 주소를 기억하는 레지스터

 

PSW(Program Status Word)

명령어가 실행되는 과정의 모든 정보 보관

  • 명령어 해독기(Instruction Decoder) : 명령어 코드를 해독하여 필요한 실행 신호를 발생시킴
  • 주소 해독기(Address Decoder) : 주소를 해독하여 그 정보를 MBR로 전달함

범용 레지스터(General Purpose Register:GPR)

  • 인덱스 레지스터(Index Register: IR) : 프로그래밍에서 반복되는 부분의 반복횟수를 저장하는 레지스터
  • 베이스 레지스터(Base Register:BR) : 프로그램이 저장되는 시작 주소(기본 주소)를 저장하는 레지스터

✳️ 명령어 페치 사이클에서 레지스터들의 상호 관계


🗃️ 기억 장치 (Memory)의 종류

먼저 기억장치의 계층 구조에 대해 알아보자.

 

🔹 주기억 장치 (Main Memory)

  • RAM (휘발성)
  • 사용자가 작성한 문장이나 프로그램이 기억되는 기억 장소
  • 임의의 메모리 주소에 기억되어 있는 데이터를 주소 지정에 의해 즉시 판독하고 기록할 수 있는 기억 장치
  • 컴퓨터 전원이 꺼지면 내용이 사라짐(휘발성(volatile memory) 메모리)
    • SRAM: 빠르지만 비쌈
    • DRAM: 느리지만 저렴 (PC에 주로 사용)

  • ROM (비휘발성): 읽기 전용
    • Mask ROM: 제조 과정에서 내용을 미리 프로그래밍하여 기억시킨다. 사용자가 내용을 변경할 수 없음.
    • PROM(Programmable ROM) : 사용자가 내용을 일단 기억시킨 후에도 필요에 따라 프로그램을 다시 기억시킬 수 있는 장치
    • EPROM : PROM을 개량한 것으로 자외선이나 높은 압력을 이용하여 내용 변경이 가능한 메모리
    • Flash ROM : 프로그래밍을 실행하여 ROM의 내용 변경가능하게 함.

🔸 보조기억 장치

  • 주기억 장치의 제한된 용량을 지원하는 장치
  • HDD, SSD, CD/DVD, USB 등
  • 데이터를 영구적으로 저장하고 주기억장치를 보조함

✅ 개인용 컴퓨터의 보조 기억 장치

  1. 플로피 디스크(Floppy disk)와 하드 디스크(Hard Disk)
    - 플로피 디스크 : 통상 디스켓(diskette)이라 불림
    - 하드 디스크: 많은 프로그램과 자료들을 저장하는 보조 기억 장치
  2. CD-ROM과 CD-RW
    - CD-ROM: 멀티미디어 시대의 필수적 저장 매체(저렴)
    - CD-RW : 읽기 전용 + 쓰기 기능
  3. USB Flash Drive
    - USB 포트에 꽃아 쓰는 이동이 편리한 저장 장치
    - 크기가 작아 휴대하기 간편함
    - 보안용 암호장치가 있어 자료 안전하게 보관
    - 정보의 유출을 줄임(공인 인증서)
    - 현재 32GB와 64GB가 널리 사용
    - USB 메모리나 USB 디스크

✅ 낸드 플래시 메모리(Nand Flash Memory)

  • 전기적으로 데이터를 지우고 다시 기록할 수 있는 비휘발성 컴퓨터 기억 장치
  • 현재 가장 많이 사용되는 메모리 종류
  • 휴대용 정보통신 기기의 메모리

✅ SSD(Solid State Drive)

  • 하드디스크 드라이브(HDD)를 대체하고 있는 차세대 저장매체
  • HDD보다 가볍고 데이터 처리속도가 빠르며 낮은 전력 소모와 안정성이 장점

💡 캐시 메모리

  • CPU와 RAM 사이에서 속도 차이를 보완해주는 초고속 메모리

⏱️ 컴퓨터 성능과 속도

  • Hz (헤르츠): 초당 몇 번 명령을 처리할 수 있는지
  • IPC: 사이클당 명령어 처리 수
  • 버스(Bus): 컴퓨터 내부에서 데이터가 이동하는 통로
    • 데이터 버스, 주소 버스, 제어 버스
    • 버스의 대역폭(bandwidth)
      - 버스의 전송 양
    • ISA(Industrial System Architecture), EISA(Enhanced ISA), Vesa Local Bus, PCI

데이터 버스와 시스템과의 관계

 


🎮 입력 & 출력 장치

입력 장치

  • 키보드, 마우스, 터치스크린, OMR, OCR, 바코드 스캐너 등

출력 장치

  • 모니터 (LCD, OLED 등), 프린터 (잉크젯, 레이저), 플로터, 스피커 등
 

✨ 마무리하며

이 포스트에서 소개한 컴퓨터 시스템의 구조는 IT 기초 지식 중에서도 가장 핵심적인 파트입니다.