*해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제(강민철 지음)'을 참고하여 작성되었습니다.
*구체적인 예시와 함께 더 자세히 공부하고 싶으신 분들은 해당 책을 읽어보시기를 추천드립니다.
지난 시간에 컴퓨터 구조를 왜 배워햐 하는지를 설명했습니다.
이번에는 컴퓨터 구조의 개요에 대해 알아보겠습니다.
컴퓨터 구조라는 것이, 어떤 요소들로 구성되어 있는지를 알아봅시다.
컴퓨터 구조는, 크게 2가지로 나누어 볼 수 있습니다.
- 컴퓨터가 이해하는 정보
- 컴퓨터의 네 가지 핵심 부품
컴퓨터가 이해하는 정보
한국인은 ㄱ, ㄴ, ㄷ, ... , 미국인은 a, b, c, ... 를 이해할 수 있겠죠.
하지만 컴퓨터는 0과 1로 표현된 정보만 이해할 수 있습니다.
여러분들이 작성한 코드도, 컴퓨터가 이해할 때는 0과 1과 번역됩니다.
컴퓨터가 이해하는 정보를 크게 두 가지로 나눌 수 있습니다.
바로 데이터와 명령어입니다.
일반적으로 숫자, 문자, 이미지, 동영상처럼 있는 그대로의 정보를 데이터라고 합니다.
그리고 컴퓨터에게 어떤 일을 시키는 정보를 명령어라고 합니다. 말 그대로 컴퓨터에게 명령하는 정보인 것이죠.
'1'과 '2'는 데이터이지만, '더하라, 1과 2를'은 명령어겠죠?
컴퓨터의 4가지 핵심 부품
많은 종류의 컴퓨터들이 있지만, 핵심 부품은 크게 다르지 않습니다.
컴퓨터에는 아래와 같이 4가지 핵심 부품이 있습니다.
- 중앙처리장치 : Central Processing Unit, 이하 CPU
- 주기억장치 : Main Memory, 이하 메모리
- 보조기억장치 : Secondary Storage
- 입출력장치 : Input/Output(I/O) device
각 부품들과 부품들 간의 관계를 이해하면, 컴퓨터가 어떤 식으로 동작하는지를 대략적으로 알 수 있습니다!
1. 메모리
- 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품입니다. (프로그램이 실행되려면 반드시 메모리에 저장되어야 합니다.)
- 컴퓨터가 각 명령어와 데이터에 빠르고 효율적으로 접근할 수 있도록 주소라는 개념이 있습니다.
- 내가 살고 있는 곳이 어딘지를 집 주소를 통해 알 수 있듯이, 주소는 어떤 정보가 저장된 위치를 가리킵니다.
2. CPU
- CPU는 메모리에 저장된 명령어를 읽고, 해석하고, 그에 따라 실행하는 장치입니다. 컴퓨터의 두뇌라고 할 수 있죠.
- CPU는 크게 3가지로 구성되어 있습니다.
- 산술논리연산장치 (Arithmetic Logic Unit, 이하 ALU) : 계산하는 장치
- 레지스터 (Register) : (CPU 내부에 있는) 임시 저장 장치
- 제어장치 (Control Unit) : 컴퓨터 부품을 제어하는 제어 신호를 보내고, 명령어를 해석하는 장치
3. 보조기억장치
- 메모리에도 정보를 저장할 수 있지만, 가격이 비싸서 저장 용량이 작고, 전원이 거지면 저장된 내용을 잃습니다.
- 때문에 메모리보다 용량이 크고 전원이 꺼져도 정보를 계속 저장할 수 있는 저장 장치가 필요합니다.
- 이것이 바로 보조기억장치입니다.
- 대표적으로 하드 디스크, SSD, USB 메모리, DVD, CD-ROM 등이 있습니다.
- 메모리 - 현재 실행되는 프로그램을 저장하는 곳 / 보조기억장치 - 보관할 프로그램을 저장하는 곳
4. 입출력장치
- 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치입니다.
- 마이크, 스피커, 프린터, 마우스, 키보드 등이 바로 입출력장치입니다.
- 하드 디스크, USB 메모리, CD-ROM은 보조기억장치이지만, 관점에 따라 입출력장치의 일종으로도 볼 수 있습니다.
이 4가지 핵심 부품들은 메인보드(Main Board)라는 판에 연결되어 있습니다. 마더보드라고도 합니다.
메인보드에 연결된 부품들은, 메인보드 내부에 있는 버스(Bus)를 통해 서로 정보를 주고 받을 수 있습니다.
컴퓨터 내부에는 다양한 버스들이 있지만, 이 4가지 핵심 부품들을 연결하는 가장 중요한 버스는 시스템 버스(System Bus)입니다.
이 시스템 버스는 아래와 같이 크게 3가지로 구성되어 있습니다.
- 주소 버스 (Address Bus) : 주소 정보가 이동하는 통로
- 데이터 버스 (Data Bus) : 실제 데이터가 이동하는 통로
- 제어 버스 (Control Bus) : 제어 신호를 보내는 통로
다음 예시를 통해 정리해봅시다.
CPU가 메모리를 읽을 때,
1. CPU가 제어 버스로 '메모리 읽기' 제어 신호를 보냅니다.
2. 주소 버스로 읽고자 하는 주소를 보냅니다.
3. 메모리는 주소 버스를 통해 주소 정보를 받아, 해당 주소의 데이터를 데이터 버스를 통해 CPU에게 보냅니다.
CPU가 메모리에 어떤 값을 저장할 때,
1. CPU가 데이터 버스를 통해 메모리에 저장할 값을 보냅니다.
2. CPU가 주소 버스를 통해 저장할 주소 정보를 보냅니다.
3. CPU가 제어 버스를 통해 '메모리 쓰기' 제어 신호를 보냅니다.
4. 메모리는 받은 주소에 받은 데이터를 저장합니다.
오늘 배운 내용은 컴퓨터 구조의 기본입니다.
용어의 정확한 뜻을 외우지 못해도 대략적인 느낌이나 역할은 기억하길 바랍니다.
앞으로 계속 공부하면서 알아가봅시다.
'컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조][기초] 명령어의 구조 - 연산 코드 (3) | 2025.03.11 |
---|---|
[컴퓨터구조][기초] 목적 파일, 실행 파일 (0) | 2025.03.10 |
[컴퓨터 구조][기초] 컴파일 언어, 인터프리터 언어 (1) | 2025.03.09 |
[컴퓨터구조][기초] 고급 언어, 저급 언어 (1) | 2025.03.09 |
[컴퓨터구조][기초] 컴퓨터 구조, 왜 배워야 할까? (1) | 2025.03.07 |