우리가 알아야 할 컴퓨터 구조 지식은 크게 두 가지이다.
- 컴퓨터가 이해하는 정보
- 컴퓨터의 핵심 네 가지 부품
1. 컴퓨터가 이해하는 정보
우선 컴퓨터가 무엇을 이해할 수 있는지부터 알아야 한다.
컴퓨터는 0과 1로 표현된 정보만을 이해한다.
0과 1로 표현된 정보에는 크게 두 가지, 데이터와 명령어가 있다.
- 데이터 : 컴퓨터가 이해하는 숫자,문자,이미지,동영상과 같은 정적인 정보
- 명령어 : 데이터를 움직이고, 컴퓨터를 작동시키는 정보
예시 ) '1과 2를 더하라' => 1 , 2 는 데이터, '더하라'는 명령어
2. 컴퓨터의 핵심 네 가지 부품
핸드폰, 노트북 , 서버 컴퓨터 등 다양한 종류의 컴퓨터가 존재하지만 핵심 부품은 크게 다르지 않다.
- 중앙처리장치 (Central Processing Unit , CPU )
- 주기억장치 ( main memory , 메모리 ) // RAM(Random Access Memory) 과 ROM
- 보조기억장치 ( secondary storage )
- 입출력장치 ( input/output(IO) device )
01. 메모리
- 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 함 .
- 컴퓨터의 빠른 작동을 위해 명렁어와 데이터의 위치를 정돈함, 이를 나타내주는 '주소'가 있음
02. CPU
- 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고 실행하는 부품
- 내부 구성 요소는 산술논리연산장치(ALU : Arithmetic Logic Unit ) , 레지스터, 제어 장치(CU: Control Unit)
- ALU : 쉽게 말해 계산기, 컴퓨터 내부의 대부분의 계산을 맡아서 실행/ 논리 연산 (AND, OR, NOT 등)도 수행
- 레지스터 : 임시 저장 장치, 프로그램 실행 시 필요한 값들을 임시로 저장함 / 명령어 주소 같은 제어용 정보도 저장
- 제어장치 : 제어 신호라는 전기 신호를 보내고 명령어를 해석하는 장치 ( 메모리 읽기 / 메모리 쓰기 )
CPU가 메모리에 저장된 명령어를 실행하는 과정
현재 메모리에 는 1 ~ 4 순서대로 다음과 같이 명령어/데이터가 저장되어 있다.
1. 더하라, 3번지와 4번지를
2. 저장하라, 연산 결과를 5번지에
3. 100
4. 120
1. 1번지에 저장된 명령어를 읽기 위해 메모리에 '메모리 읽기' 제어 신호를 보냄
2. 메모리는 명령어를 CPU에 건내주고, 명령어는 레지스터에 저장됨,
제어장치는 명령어를 해석하고 3번지와 4번지에 저장된 데이터가 필요하다고 판단.
3번지와 4번지에 저장된 데이터를 읽기 위해 메모리에 '메모리 읽기' 제어 신호를 보냄
3. 메모리는 3번지와 4번지에 저장된 데이터를 CPU에 건내주고 서로 다른 레지스터에 저장됨.
이 데이터들은 ALU로 계산되고 레지스터에 결과값이 저장되어 1번 명령어 실행이 끝남.
4. 2번지에 저장된 명령어를 읽기 위해 메모리에 '메모리 읽기' 제어신호를 보냄
5. 메모리는 2번지에 저장된 명령어를 CPU에 건내주고, 명령어가 레지스터에 저장됨.
제어장치는 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단.
6. 계산 결과를 저장하기 위해 '메모리 쓰기' 제어 신호와 함께 계산 결과 (220)을 보냄
메모리에서 계산 결과를 저장하면서 두 번째 명령어의 실행도 끝남.
이 순서가 완벽한 것은 아니나 대략적으로 CPU가 메모리를 실행하는 과정을 보여준다.
정리해보자면 다음과 같다.
- CPU는 메모리에 저장된 값을 읽고/해석하고/실행하는 장치
- CPU 내부에는 ALU, 레지스터, 제어장치가 존재
- ALU는 계산장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치
03. 보조기억장치
메모리에는 큰 두 가지 약점이 존재한다.
- 가격이 비싸 저장 용량이 적다.
- 전원이 꺼지면 저장된 내용을 잃는다.
이 두 가지 문제를 해결하기 위해, 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 것이 필요하게 되었는데
이것이 바로 보조기억장치다. ( SSD, USB, HDD 등 ) / 영구 저장장치라고도 불린다.
메모리가 '실행되는' 프로그램을 저장한다면, 보조기억장치는 '보관할'프로그램을 저장한다.
04. 입출력장치
컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 입출력 장치라고 한다.
보조기억장치도 관점에 따라 입출력장치의 일종으로 볼 수 있고, 실제로 보조기억장치와 입출력장치를 통틀어 '주변장치'라고 부르기도 한다. 다만 일반적으로는 구분해서 서술한다.
예시로는 키보드, 마우스 , 모니터 등이 있다.
4가지 주요 부품들을 연결해주는 메인보드와 시스템 버스
4가지 핵심 부품들은 모두 메인보드(마더보드)에 연걸된다.
메인보드에 연결된 부품들은 서로 버스라는 통로를 통해 정보를 주고받는다.
다양한 통로(버스) 가 있지만 가장 중요한 버스는 시스템버스다.
시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있다.
주소 버스는 주소를, 데이터 버스는 명령어와 데이터를, 제어 버스는 제어 신호를 주고받는 통로다.
위의 예시에서, 처음에 '메모리 읽기'라는 신호를 보낼 때 사실 제어 신호만 보내지 않는다.
제어 신호로는 '메모리 읽기'라는 신호를 보내고 주소 버스로 원하는 주소를 보낸다.
마찬가지로 값을 저장할 때에도 데이터 버스를 통해 저장할 값을, 주소 버스를 통해 저장할 주소를, 제어 버스를 통해 '메모리 쓰기' 신호를 보낸다.
💡 요약
- 컴퓨터는 0과 1로 표현된 데이터와 명령어만 이해함
- 핵심 부품: CPU, 메모리, 보조기억장치, 입출력장치
- CPU 내부 구성: ALU, 레지스터, 제어장치
- 모든 부품은 메인보드에 연결되며 시스템버스로 데이터 교환
https://www.youtube.com/watch?v=SiC74U8aJbM
'개념공부 > 컴퓨터구조와 운영체제' 카테고리의 다른 글
03장 - 2 : 명령어의 구조 (0) | 2025.03.28 |
---|---|
03장 - 1 : 소스 코드와 명령어 (0) | 2025.03.26 |
02장 -2 : 0과 1로 문자를 표현하는 방법 (0) | 2025.03.26 |
02장 -1 0과 1로 숫자를 표현하는 방법 (0) | 2025.03.24 |
00. 왜 공부하는가 ? (0) | 2025.03.20 |