[Computer Science] 컴퓨터의 구조

양영준·2026년 1월 20일

Computer Science

목록 보기
5/5
post-thumbnail

📌 컴퓨터 구조

컴퓨터 구조는 컴퓨터를 다루는 프로그래머라면 반드시 알아야 하는 기본 지식이다.
개발 단계에서는 문제 없이 동작하더라도 실제 라이브 서비스를 개시했을 때는 개발 단계에서 예상했던 동작과 동일하게 작동하지 않는 상황이 자주 일어날 것이다.
이 때, 컴퓨터 구조에 대해 알고 있는 상태라면 모르는 것보다 문제 상황 파악 및 해결을 빠르게 할 수 있을 것이다.

📌 폰 노이만 구조

폰 노이만 모델 또는 프린스턴 구조라고도 불린다.
1945년 존 폰 노이만이 제시했다고 알려진 컴퓨터 구조로, 현재 일반적으로 사용되는 컴퓨터들은 모두 폰 노이만 구조를 따르고 있다.

폰 노이만 구조의 핵심은 CPU와 메모리를 분리하여 명령어를 따로 저장하는 프로그램 내장 방식이다.
기존에 하나의 기기를 스위치로 조작하던 방식에서 CPU와 메모리를 분리하고, 연산 작업을 프로그램 메모리에 순서대로 저장한다.
그리고 해당 연산 작업이 필요해질 때 저장해놓은 프로그램을 찾아 데이터 영역으로 꺼내온 뒤 입력 값과 함께 CPU에 전달하여 연산 작업을 진행한다.
그리고 CPU에서 데이터 연산을 마친 뒤 다시 메모리에 저장한다.

장점

  • 하드웨어를 재배치할 필요 없이 프로그램인 소프트웨어만 교체하면 되기 때문에 범용성이 높다.

단점

  • CPU와 메모리 사이의 병목 현상이 발생한다.

폰 노이만 구조를 따르는 컴퓨터는 크게 CPU, 기억장치(메모리), 입출력 장치 로 구분되어져 있다.

CPU (Central Processing Unit)

CPU는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리한다.
메모리에 저장된 명령어를 읽어 들이고, 읽어들인 명령어를 해석하고 실행하는 부품이다.
CPU 내부를 구성하는 요소에 가장 중요한 세가지가 있다.

  • 산술 논리 연산 장치 (ALU : Arithmetic and Logic Unit) : 산술 연산, 배타적 논리합, 논리곱, 논리합 같은 컴퓨터 내부에서 수행되는 대부분의 계산을 수행한다.
  • 제어 장치 (CU : Control Unit) : 프로그램의 명령어를 해독하여 명령어 실행에 필요한 제어 신호를 발생시키고 컴퓨터의 모든 장치를 제어한다.
  • 레지스터 (Register) : CPU 내부의 작은 임시 저장 장치로 CPU가 연산을 수행하는데 필요한 데이터를 빠르게 가져오기 위한 임시 저장소이다. 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다.

기억 장치 (Memory)

메모리는 현재 실행되는 프로그램 명령어와 데이터를 저장하는 부품이다.
프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.
컴퓨터가 빠르게 작동하기 위해서는 메모리 안에 저장된 명령어와 데이터의 위치는 정돈되어 있어야 한다.
메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(address) 라는 개념이 사용된다.
컴퓨터에서 주소를 활용하여 메모리 내 원하는 위치에 접근 가능하다.

주 기억 장치 (Random Access Memory, RAM)

반도체 칩으로 구성되어 있어 고속 접근이 가능하지만 가격이 높고 면적을 많이 차지하여 저장 용량에 한계가 존재한다.
또한 전원이 꺼지면 데이터가 지워지는 휘발성 메모리를 가진 저장장치이다.

보조 기억 장치

하드 디스크, SSD, 플래시 메모리와 같은 비휘발성 메모리를 가진 저장장치로, 저장 밀도가 높고 저가이지만 속도가 느리다.
CPU에서 당장 필요하지 않은 많은 양의 데이터나 프로그램을 저장한다.

  • HDD (Hard Disk Driver) : 물리적 디스크를 고속으로 회전시켜 데이터를 저장
  • SSD (Solid State Driver) : 반도체 기반의 저장장치, 전기적으로 데이터를 저장

입 / 출력 장치

마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치이다.

  • 입력 장치 : 정보를 컴퓨터가 인식할 수 있는 형태로 변환시켜 주 기억 장치로 읽어 들이는 장치
  • 출력 장치 : 컴퓨터에서 처리된 내용을 사용자가 인식할 수 있게 다양한 멀티 미디어 형태로 표시해주는 장치

📌 메인 보드와 시스템 버스

메인 보드는 위에서 설명한 컴퓨터의 핵심 부품들을 부착할 수 있는 슬롯과 연결 단자가 있는 판으로 컴퓨터의 각 부품에 전원을 공급하고 부품 간에 신호를 주고 받는 통로 역할을 한다.

메인 보드가 이러한 역할을 수행할 수 있는 이유는 메인 보드 내부에 버스(bus)라는 통로가 존재하기 때문이다.
버스에도 여러 가지 종류가 있으며, 컴퓨터의 핵심 부품들을 연결하는 가장 중요한 버스를 시스템 버스 (system bus)라고 부른다.

시스템 버스는 세가지 버스로 구성되어 있다.

  • 데이터 버스 : CPU와 기타 장치 사이에서 데이터를 전달할 때 사용된다..
  • 주소 버스 : CPU가 기억 장치주소를 주 기억 장치나 입 / 출력 장치로 전달할 때 사용된다.
  • 제어 버스 : 데이터 버스와 주소 버스를 제어하기 위한 제어 신호들을 전송하는데 사용된다.

EX 1. CPU가 메모리 1번 주소의 데이터를 읽고자 할 때

제어 버스를 통해 '메모리를 읽는다.' 라는 제어 신호가 전달된다.
주소 버스를 통해 메모리 읽기를 실행할 '1번 주소' 라는 주소 데이터가 전달된다.
메모리는 제어 버스와 주소 버스를 통해 전달 받은 데이터를 바탕으로 '메모리 1번 주소의 데이터 읽기' 를 수행하고, 1번 주소에 저장되어 있는 데이터는 데이터 버스를 통해 전달된다.

EX 2. CPU가 메모리 5번 주소에 220 이라는 데이터를 저장하고자 할 때

제어 버스를 통해 '메모리에 데이터를 저장한다.' 라는 제어 신호가 전달된다.
주소 버스를 통해 메모리 쓰기를 실행할 '5번 주소' 라는 주소 데이터가 전달된다.
데이터 버스를 통해 저장하고자 하는 데이터인 '220' 이라는 데이터가 전달된다.

메모리는 세 개의 버스에서 전달 받은 데이터를 통해 메모리 5번 주소에 220이라는 값을 저장한다.


[컴퓨터 구조] 1. 컴퓨터의 기능과 기본 구조
1.1.2. 컴퓨터 구조 + 운영체제
컴퓨터공학부: 컴퓨터 구조
[컴퓨터 구조] 컴퓨터의 4가지 핵심 부품: CPU, 메모리, 보조기억장치, 입출력장치
컴퓨터를 구성하는 기본 요소들
Chapter 01: 컴퓨터 구조 시작하기

profile
학습 내용 정리 순차적 갱신 / 정리 중

0개의 댓글