이 글은 혼자 공부하는 컴퓨터 구조+운영체제 교재와 강의를 참고하여 정리한 글입니다. 오타나, 잘못된 내용이 있으면 언제든지 알려주세요! 감사합니다.😊
컴퓨터 구조의 큰 그림
컴퓨터 구조는 크게 두 가지로 나누어져 있다.
- 컴퓨터가 이해하는 정보
- 데이터
- 명령어
- 컴퓨터의 4가지 핵심 부품
- CPU(중앙처리장치)
- 메모리(주기억장치)
- 보조기억장치
- 입출력장치
참고: 주기억장치에는 크게 RAM과 ROM 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭한다.
컴퓨터가 이해하는 정보
데이터란?
- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
- 컴퓨터와 주고받는 정보나 내부에 저장된 정보
명령어란?
- 컴퓨터를 실질적으로 작동시키는 정보
- 데이터는 명령어를 위한 일종의 재료, 즉 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리이다.
- 예) 1과 2를 더하라. 1과 2는 데이터
컴퓨터를 한마디로 정의하면?
컴퓨터는 명령어를 처리하는 기계이다.
컴퓨터의 4가지 핵심 부품
다양한 종류의 컴퓨터가 있다. 예) 아두이노, 라즈베리 파이, 스마트폰, 노트북 등등
하지만 컴퓨터를 이루는 핵심 부품은 크게 다르지 않다.
핵심 부품은 크게 중앙처리장치(CPU), 주기억장치(메모리), 보조기억장치, 입출력장치로 이루어져 있다.
- 메인보드: 4가지 핵심 부품들을 부착하는 곳
- 시스템 버스: 컴퓨터 4가지 핵심 부품들끼리 정보를 주고받을 수 있는 척추와 같은 통로
메모리
- 메모리는 현재 실행되는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품이다.
- 어떤 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.
- 모든 프로그램은 명령어와 데이터로 이루어져 있는데, 실행되는 프로그램(프로세스)의 명령어와 데이터가 메모리 안에 저장되어 있다.
참고: 현재 실행되지 않는 프로그램은 어디에 저장되어 있을까? -> 보조기억장치
주소
- 메모리에는 주소라는 개념이 있다.
- 주소라는 개념을 사용해 저장된 값에 빠르고 효율적으로 접근할 수 있다.
- 주소는 내가 원하는 명령어와 데이터가 메모리 어디에 저장되어 있는지 위치를 특정하기 위해 사용한다.
- 즉, 메모리에 저장된 값의 위치는 주소로 알 수 있다.
CPU
- CPU는 컴퓨터의 두뇌이다. 정말 중요한 부품!
- CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.
- CPU의 내부 구성 요소는 중 가장 중요한 3가지
- 산술논리연산장치(ALU, Arithmetic Logic Unit)
- 레지스터
- 제어장치(CU, Control Unit)
산술논리연산장치(ALU, Arithmetic Logic Unit)
- ALU는 계산기 즉, 계산하는 장치이다.
- 컴퓨터 내부에서 수행되는 대부분의 계산은 ALU가 도맡아 수행한다.
레지스터
- 레지스터는 CPU 내부의 작은 저장 장치로, 프로그램을 실행하는 데 필요한 값들을 임시로 저장한다. 임시 저장 장치이다.
- CPU 안에는 여러개의 레지스터가 존재한다.
제어장치(CU, Control Unit)
- 제어 장치는 제어 신호를 발생시키고, 명령어를 해석하는 장치이다.
- 제어신호란?: 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호이다.
- 다양한 제어신호가 존재한다. 대표적으로 메모리 읽기, 메모리 쓰기 신호가 있다.
- 메모리 읽기: CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기 제어 신호를 보낸다.
- 메모리 쓰기: CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기 제어 신호를 보낸다.
CPU가 메모리에 있는 명령어를 어떻게 실행하는지 알아보자.
- 1번지에 저장된 명령어를 읽기 위해 CPU에 있는 제어 장치는 메모리에 '메모리 읽기' 제어 신호를 보낸다.
- 메모리는 1번지에 저장된 명령어를 CPU에 건네주는데, CPU의 레지스터에 저장된다.
- 제어장치는 명령어를 해석하는 장치이기도 하다. 읽어 들인 명령어를 해석한다. -> (3번지, 4번지에 있는 데이터가 필요하겠구나~)
- 3번지, 4번지에 있는 데이터를 읽기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다.
- 메모리는 3번지와 4번지에 있는 데이터를 CPU에 건네주고, 각각 다른 레지스터에 저장된다.
- 제어장치가 산술논리연산장치(ALU)에게 지시한다. 지시를 받은 산술논리연산장치(ALU)는 읽어 들인 데이터로 연산을 수행한다.
- 계산의 결과값은 레지스터에 저장된다.
보조기억장치
- 보조기억장치는 전원이 꺼져도 보관될 프로그램을 저장하는 부품이다.
- 보조기억장치는 왜 필요할까?
- 메모리(RAM)는 두 가지 단점이 존재한다.
- 보조기억장치에 비해 가격이 비싸 저장용량이 적다.
- 전원이 꺼지면 저장된 내용을 잃는다.
- 이러한 단점 때문에 메모리(RAM)보다 저장용량이 크고, 전원이 꺼져도 저장된 내용을 잃지 않는 보조기억장치를 사용해야 한다.
정리하면, 메모리(RAM)는 실행할 정보를 저장하고, 보조기억장치는 보관할 정보를 저장한다.
입출력장치
- 입출력장치는 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품이다.
- 입출력장치 예) 모니터, 마이크, 스피커, 마우스, 키보드 등등
외장하드나 USB 같은 것도 입출력장치로 볼 수 있지 않나? 보조기억장치랑 입출력장치랑 뭐가 다른 걸까?
- 딱 잘라 구분되는 개념은 아니다.
- 보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수 있다. (보조기억장치는 메모리를 보조하는 특별한 입출력장치다)
- 실제로 보조기억장치와 입출력장치를 주변장치라 통칭하기도 한다.
메인보드
- 메인보드는 컴퓨터의 4가지 핵심부품들을 연결할 수 있는 판이다.
- 마더보드라고도 부른다.
- 버스: 컴퓨터의 부품끼리 정보를 주고받는 일종의 통로. 다양한 종류의 버스가 존재한다.
- 시스템 버스: 컴퓨터의 4가지 핵심부품들끼리 서로 정보를 주고받는 통로이다. 가장 중요한 역할을 하는 버스이다.
시스템 버스
- 시스템 버스의 내부 구성
- 주소 버스: 주소를 주고받는 통로
- 데이터 버스: 명령어와 데이터를 주고받는 통로
- 제어 버스: 제어 신호를 주고받는 통로
- CPU가 '메모리 읽기' 제어 신호와 주소를 보낸다.
- 제어 신호는 시스템 버스 중 제어 버스를 통해 메모리에 전달된다.
- 읽고자 하는 주소는 시스템 버스 중 주소 버스를 통해 메모리에 전달된다.
- 메모리는 1번지에 해당하는 값을 데이터 버스를 통해 CPU에 전달한다.
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 메모리와 캐시 메모리 (1) | 2023.04.14 |
---|---|
[컴퓨터 구조] CPU의 성능 향상 기법 (0) | 2023.04.12 |
[컴퓨터 구조] CPU의 작동 원리 (0) | 2023.04.06 |
[컴퓨터 구조] 명령어 (1) | 2023.04.02 |
[컴퓨터 구조] 0과 1로 데이터를 표현하는 방법 (0) | 2023.03.31 |