컴퓨터공학/컴퓨터 구조와 작동 원리

[컴퓨터공학] 컴퓨터 개념 기초 | 하드웨어와 소프트웨어

코코무 2025. 3. 22. 11:30

안녕하세요, 오늘부터는 컴퓨터 공학에 대해 공부해보려 합니다. 비전공자로서 스스로 쉽게 이해하고 오래 기억에 남도록, 또 업무에 적용 및 응용도를 높일 수 있도록 목표하겠습니다.


컴퓨터는 우리가 입력한 명령을 받아서 처리(연산)을 하고, 결과를 출력한다. 이 과정은 단순하지만 내부적으로 여러 하드웨어소프트웨어가 협력해서 작동한다(상호의존적 관계).

 

컴퓨터의 4가지 핵심 기능

컴퓨터는 단순한 계산기 이상의 일을 수행하는 복잡한 정보 처리 시스템이다. 하지만 그 작동 원리는 의외로 단순한 흐름으로 요약된다.

입력 → 처리 → 저장 → 출력

이 4단계 구조는 모든 디지털 시스템의 근간이 되는 작동 방식이다.

 

1. 입력(Input) - 키보드, 마우스, 터치스크린 같은 장치를 통해 데이터를 입력 [컴퓨터와 상호작용의 시작점]

2. 처리(Processing) - CPU(중앙처리장치)가 연산 및 데이터 처리 [Fetch → Decode →  Execute]

3. 저장(Storage) - RAM, SSD, HDD 등에 데이터를 저장 [프로그램 실행 → SSD에서 RAM으로 불러와짐 → CPU는 RAM에 적재된 명령어 처리]

4. 출력(Output) - 모니터, 스피커 등을 통해 사용자에게 결과 출력

 

이 4가지가 조합(협력)되어 컴퓨터는 우리가 원하는 작업을 수행하게 된다.

예시: 웹사이트에 접속할 때

주소창에 URL 입력(입력) → 브라우저가 요청 분석 후 서버에 접속(처리) → HTML, CSS, JS 파일을 다운로드 후 메모리에 저장(저장) → 브라우저가 웹페이지를 렌더링하여 화면에 표시(출력)

* RAM: 작업 공간

* SSD: 하드디스크 드라이브

* HDD: 솔리드 스테이트 드라이브

 

하드웨어 : 컴퓨터의 물리적 인프라

 

컴퓨터 하드웨어(computer hardware, H/W)는 케이스, 중앙 처리 장치, 모니터, 자판, 컴퓨터 기억 장치, 그래픽 카드, 사운드 카드, 메인보드와 같은 컴퓨터의 물리적 부품을 의미한다. 입력, 연산, 제어, 기억, 출력 등 다섯 가지 기능을 구현하기 위해 컴퓨터는 여러 가지 부품들로 구성되어 있다.

(출처: 위키백과)

 

폰 노이만 구조

출처: 위키백과

 

현대의 모든 컴퓨터 템프릿은 헝가리 수학자 폰 노이만이 1945년에 제안한 '폰 노이만 구조'로, 컴퓨터가 프로그램과 데이터를 동일한 메모리에 저장하면서 처리하는 방식을 말한다.

폰 노이만은 알베르트 아인슈타인, 앨런 튜링과 함께 20세기를 대표하는 과학자 중 한 명으로 평가 받는다. 현대 컴퓨터의 아버지라고도 불린다. 

 

1. 작동 원리 - "명령어 순차 실행"

  1) 명령어 읽기(Fetch): 메모리에서 다음 명령어를 읽어온다.

  2) 명령어 해석(Decode): CPU가 명령어를 분석해서 어떤 작업인지 파악한다.

  3) 명령어 실행(Execute): 연산장치가 계산하거나 메모리에 접근하거나 입출력을 수행한다.

 

2. 폰 노이만 구조의 한계 - "폰 노이만 병목 현상"

  1) CPU는 메모리에서 명령어와 데이터를 한 번에 하나씩 가져올 수 있다.

  2) CPU는 빠는데 메모리는 느려서, CPU가 대기하는 시간이 생긴다.

 

컴퓨터의 주요 하드웨어 구성 요소

1. 중앙처리장치(Central Processing Unit)

인텔 Core Ultra 9 285K(나무위키)

  • CPU
    • 역할: 컴퓨터의 두뇌 역할로, 명령어를 해석하고 연산을 수행하며 전체 시스템을 제어
    • 구성
      • ALU(산술 논리 연산장치) - 기본적인 산술 및 논리 연산 수행
      • CU(제어 장치) - 명령어의 흐름을 관리하고 하드웨어 간 신호 조정
      • 레지스터(Register) - 초고속 임시 저장 공간으로, 연산 속도 극대화
    • 특징
      • 멀티코어: 여러 개의 코어가 동시에 작업을 분담하여 병렬 처리 성능 향상
      • 하이퍼스레딩(Hyper-Threading): 하나의 코어가 두 개의 스레드를 실행하도록 하여 처리량 증가

 

2. 기억장치(Memory & Storage)

  • 주기억장치(Main Memory) - "RAM"
    삼성전자 PC133 SDR SDRAM(나무위키)

    • 역할: 실행 중인 프로그램과 데이터의 임시 저장(단기기억)
    • 종류: DRAM(일반적), SRAM(캐시)
    • 특징: 휘발성, 속도 빠름
  • 보조기억장치
    • HDD(하드디스크 드라이브)
      2.5" HDD (IDE, SATA 방식) (나무위키)

      • 자기 디스크 방식, 속도 느림, 용량 큼
    • SSD(솔리드 스테이트 드라이브)
      M.2 SSD (나무위키)

      • 반도체 기반 저장, 속도 빠름, M.2 NVMe 방식 등
      • 비휘발성, 영구 저장

* 휘발성 메모리: 예를 들어, 웹 브라우저를 열면 RAM에 데이터를 올려놓고 빠르게 접근하지만, 브라우저를 닫으면 RAM에서 사라짐

 

3. 입출력 장치(Input/Output Devices)

  •  입력 장치
    • 키보드, 마우스, 터치패드, 마이크, 스캐너 등
    • 역할: 사용자 명령 또는 데이터를 컴퓨터로 전달
  •   출력 장치
    • 모니터, 프린터, 스피커 등
    • 역할: 처리 결과를 사용자에게 보여줌

 

4. 연결 및 통신 장치

ASUS ROG MAXIMUS Z890 EXTREME (나무위키)

  • 메인보드(Motherboard)
    • 모든 하드웨어가 연결되는 중앙 허브 역할
    • CPU, RAM, 저장 장치, 그래픽 카드 등이 연결되어 소통할 수 있게 해줌
    • 메인보드에 따라 지원하는 부품의 종류와 성능이 달라짐
  • 버스(Bus)
    • 데이터 버스, 주소 버스, 제어 버스 등
    • CPU, 메모리, 입출력 장치를 연결하는 데이터 통로

5. 전원 공급 장치(Power Supply)

  • 각 부품이 필요한 전력을 공급하는 역할
  • 전력이 부족하거나 불안정하면 시스템이 오작동할 수도 있음

 

소프트웨어 : 하드웨어를 구동하는 논리적 계층

소프트웨어의 2가지 종류

1. 시스템 소프트웨어(운영체제, OS)

  • 컴퓨터의 모든 부품을 관리하고, 프로그램이 실행될 수 있도록 도와줌
  • 대표적인 운영체제(OS)
    • Windows - 직관적인 인터페이스
    • macOS - 애플 기기에 최적화
    • Linux - 오픈소스 기반, 개발자 친화적
  • 운영체제가 하는 일
    • CPU, 메모리, 저장 장치 등 하드웨어 관리
    • 파일 시스템 운영(파일 저장, 삭제, 복구 등)
    • 사용자 인터페이스 제공
  • 운영체제가 없다면?
    • 컴퓨터가 켜지기는 하지만, 아무것도 할 수 없음
    • 일일이 코드로 명령해야 함

2. 응용 소프트웨어(Application Software)

  • 사용자가 직접 실행하는 프로그램들
  • 예: 웹 브라우저, 문서 작성 프로그램, 게임, 사진 편집 프로그램 등

컴퓨터는 위 과정을 거치며 동작한다.

다음은 이해에 도움이 되는 질문과 그에 대한 답이다.

 

CPU가 빠르면 무조건 좋은 걸까?

 

→ ❌, CPU의 성능은 중요하나, 다른 부품(RAM, 저장 장치 등)과 균형이 맞아야 한다. 만약 CPU만 빠르고 다른 부품이 느리면 병목현상이 생길 수 있다.

 

💡 예제:

  • CPU가 아무리 빠르더라도 RAM이 부족하면 실행 중인 프로그램이 느려질 수 있음
  • SSD 대신 느린 HDD를 쓰면 CPU가 처리한 데이터를 저장하는 속도가 느려져 전체 시스템 속도가 떨어질 수 있음
  • GPU(그래픽카드)가 필요 없는 작업에서는 CPU가 더 중요하지만, 게임이나 영상 편집처럼 그래픽 연산이 많은 작업에서는 GPU가 더 중요한 경우도 있음
RAM이 많으면 컴퓨터가 안 느려질까?

 

→ ❌, RAM의 역할은 실행 중인 프로그램이 사용하는 데이터를 저장하는 것이다. 만약 RAM이 부족하면 컴퓨터는 SSD/HDD를 가상 메모리로 사용하는데, 이 과정이 느려서 성능이 떨어진다. 하지만 RAM이 너무 많아도 필요 이상이면 그냥 놀고 있는 메모리가 된다.

 

💡 예제:

  • 일반적인 웹서핑, 문서 작성만 한다면 8GB~16GB RAM이면 충분
  • 하지만 영상 편집, 3D 렌더링, 머신러닝 같은 무거운 작업을 한다면 32GB~64GB RAM이 필요할 수도 있음
SSD가 HDD보다 빠른 이유는?

 

→ ✅, HDD는 데이터를 읽을 때 회전하는 디스크에서 물리적으로 읽어야 하기 때문에 느리다. 반면, SSD는 전자 회로에서 직접 데이터를 처리해서 훨씬 빠르다. 그래서 요즘은 SSD가 보다 기본 저장 장치로 사용된다.

운영체제가 다르면 프로그램 실행 방식도 달라질까?

 

→ ✅, 설치 파일 형식도 다르고 명령어도 다르다.