Computer Science를 이해하기에 앞서, 컴퓨터 구조를 먼저 개략적으로 살펴보도록 하겠습니다.
컴퓨터가 이해하는 정보
- 컴퓨터가 직접 이해하지 못하는 정보 → 프로그래밍 언어(파이썬, 자바, C++ 등)
- 컴퓨터가 직접 이해하는 정보 → 데이터 및 명령어
명령어
- “수행할 동작 + 수행할 대상” 으로 구성
- 0, 1로 구성(컴퓨터는 0, 1만 이해하기 때문)
| 수행 동작 | 수행 대상 |
|---|---|
| 곱하라 | “3과 5”를 |
| 출력하라 | “Hi, there”를 |
| USB 메모리에 저장하라 | “cat.jpg”를 |
데이터
- 정적인 정보(숫자, 문자, 이미지, 동영상 등)
- 저장된 정보 및 주고 받은 정보를 통칭하기도
- 명령어와 마찬가지로 0, 1로 구성
명령어와 데이터의 관계
- 데이터 ↔ 명령어, 서로 종속적인 정보
- 데이터는 명령어의 대상 및 재료
- 명령어는 데이터를 활용하여 명령어 실행
- 명령어를 이해하고 실행하는 주체 → CPU
- CPU의 종류에 따라 실행 가능한 세부적인 명령어 종류 및 처리 양상이 달라질 수 있음
- 어느 정도 큰 틀로 볼 때, CPU와 무관하게 실행 가능한 공통적인 명령어가 있음
- 명령어의 종류에 따라 그 사이클이 있음
컴퓨터의 핵심 구성 부품
CPU
정의
- Center Processing Unit
- 컴퓨터가 이해하는 정보를 읽어들이고 해석하는 부품
- 사람의 “두뇌” 역할
주요 구성 요소

- 가장 중요한 요소 → “레지스터”
- ALU(Arithmetic and Logic Unit)
- 사칙연산, 논리연산 등 연산 수행을 위한 회로
- CPU가 처리하는 명령어를 실질적으로 연산하는 요소
- 제어장치(CU, Control Unit)
- 명령어를 해석하여 전기신호를 보내는 장치
- 제어 신호 전달: CPU → 메모리로 전달하여 메모리 작동시킴
- 레지스터(Register)
- CPU 내부의 작은 임시 저장장치
- 데이터 및 명령어를 처리하는 중간과정 저장
- 프로그램의 가장 낮은 단계부터, 어떻게 실행되었는지 레지스터 값 관찰로 파악 가능
메모리 및 캐시 메모리
정의
- 메모리(메인 메모리): RAM / ROM
- 일반적으로, 메모리는 RAM이라 부름
- CPU가 읽어들이고, 해석하고, 실행하는 행위를 위한 모든 정보를 잠시 저장해 두는 곳
- 실행 중인 프로그램을 구성하는 데이터 및 명령어를 저장하는 공간
주요 특징
주소 / 휘발성
- 주소(address)
- CPU가 프로그램 실행을 위해 메모리에 접근할 때, 빠르게 접근하기 위한 개념
- 비유하자면, 내 방의 물건을 중구난방으로 어질러 두지 않고, 규칙에 따라 정돈해 두면 찾기 쉬운 것
- 원하는 목적지를 찾기 위해서는, 주소가 있어야 쉽게 찾을 수 있는 것
- CPU가 프로그램 실행을 위해 메모리에 접근할 때, 빠르게 접근하기 위한 개념
- 휘발성(volatile)
- 컴퓨터에 전원이 공급되지 않으면, 저장하고 있는 정보가 지워지는 특성
- 즉, RAM은 휘발성 저장장치
캐시 메모리
- Cache Memory → CPU가 조금이라도 더 빨리 메모리 저장값에 접근하기 위해 사용하는 저장장치
- RAM의 보조 저장장치
- CPU 바깥쪽에 위치하기도
보조 기억장치
정의
- RAM의 휘발성 보조를 위해, 컴퓨터의 전원이 꺼져도 정보를 저장해두기 위한 장치
- 대표적 보조 기억장치: SSD, USB, SD카드 등
특징
- 메모리 vs 보조 기억장치
- 메모리 → 실행중인 프로그램 저장
- 보조기억장치 → 보관할 프로그램 저장
- 프로그램 실행을 위해서, 보조기억장치에 보관하는 프로그램을 메모리로 복사해야 실행 가능
- CPU가 보조기억장치에 저장된 프로그램을 바로 실행하는 것은 불가
- RAID
- 안정적이고 안전하게 보조기억장치를 구성하는 기술
입출력장치
- 정의
- 컴퓨터 외부에 연결해, 내부와 정보를 교환하는 장치
- 컴퓨터에 정보를 입력하고, 컴퓨터에서 출력한 정보를 확인하는 장치
- 대표적 입출력장치: 키보드, 마우스, 모니터, 스피커, 마이크 등
- 보조기억장치 + 입출력 장치 ⇒ 주변장치라 통칭하기도
메인보드 및 버스
- 메인 보드
- CPU, 메모리 등 컴퓨터의 구성요소를 연결해둔 기판
- 컴퓨터의 여러 핵심부품 연결을 위한 슬롯 및 연결 단자 존재
- 버스 - 컴퓨터 부품들이 정보를 주고받는 통로
- 여러 종류가 있지만, 핵심 부품을 연결하는 시스템 버스가 가장 메인
이어서, 다음 포스트에서는 명령어 및 데이터를 구성하는 정보의 표현 방법 즉, 0과 1만을 이용하여 컴퓨터가 정보를 어떻게 이해하고 표현하는지 자세히 알아보겠습니다.
chat_bubble 댓글남기기
댓글남기기