[CS] Chapter 01. 컴퓨터 구조 시작하기
혼자 공부하는 컴퓨터 구조 + 운영체제 (한빛미디어 출판, 강민철 지음) 으로 공부한 내용을 정리합니다.
CS Study를 통해 함께 공부하고 있습니다. [github repository]
✅ 01 - 1. 컴퓨터 구조를 알아야 하는 이유
본격적으로 컴퓨터 구조를 학습하기에 앞서 실력 있는 개발자가 되려면 왜 컴퓨터 구조를 반드시 알아야 하는지 알아보자
컴퓨터 구조
는 실력 있는 개발자가 되려면 반드시 알아야 할 기본 지식!- 코드를 똑같이 작성했는데도 어떤 컴퓨터에서는 코드가 제대로 작동하지 않는 상황을 해결하려면
컴퓨터 구조
지식이 필요하다.
성능, 용량, 비용까지 고려하면 개발하는 개발자가 되려면 컴퓨터 구조
를 이해하고 있어야 한다!
✅ 01 - 2. 컴퓨터 구조의 큰 그림
앞으로 학습해 나갈 컴퓨터 구조의 큰 그림을 그려보자
우리가 알아야 할 컴퓨터 구조 지식
은 크게 두 가지이다.
✔️ 컴퓨터가 이해하는 정보
컴퓨터는 0과 1로 표현된 정보만을 이해한다. 이런 정보에는 아래의 크게 두 종류가 있다.
- 데이터
- 명령어
- 데이터(data)
- 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리킨다.
- 명령어(instruction)
- 데이터를 움직이고 컴퓨터를 작동시키는 정보이다.
책의 저자는 컴퓨터를 한마디로 정의해보라고 한다면,
컴퓨터는 명령어를 처리하는 기계입니다
라고 답할 것이라고 함
✔️ 컴퓨터의 네 가지 핵심 부품
컴퓨터의 핵심 부품은 아래와 같다.
- 중앙처리장치(CPU: Central Processing Unit)
- 주기억장치(main memory)
- 보조기억장치(secondary storage)
- 입출력장치(input/output(I/O) device)
주기억 장치의 종류 주 기억장치에는 크게
RAM(Random Access Memory)
와ROM(Read Only Memory)
두 가지가 있다.메모리
라는 용어는 보통 RAM을 지칭한다.
🔎 메모리
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.
- 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 정돈되어 있어야 한다.
- 메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해
주소(address)
라는 개념이 사용된다.
아래의 세 가지 기억하기
- 프로그램이 실행되기 위해서는 반드시
메모리에 저장
되어 있어야 한다.- 메모리는 현재 실행되는 프로그램의
명령어
와데이터
를 저장한다.- 메모리에 저장된 값의 위치는
주소
로 알 수 있다.
🔎 CPU
CPU는 컴퓨터의 두뇌이다. 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다.
CPU 내부 구성 요소 중 가장 중요한 세 가지는 아래와 같다.
- 산술논리연산장치(ALU: Arithmetic Logic Unit)
- 레지스터(register)
- 제어장치(CU: Control Unit)
- ALU (Arithmetic Logic Unit)
- 쉽게 말해 계산기이다. 계산만을 위해 존재하는 부품. 컴퓨터 내부에서 수행되는 대부분의 계산은 ALU가 도맡아 수행한다.
- 레지스터 (register)
- CPU 내부의 작은 임시 저장 장치이다. 프로그램을 실행하는데 필요한 값들을 임시로 저장. CPU 안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다.
- 제어장치 (CU: Control Unit)
제어 신호
(control signal)라는 전기 신호를 내보내고 명령어를 해석하는 장치이다.제어 신호
란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호이다.- CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해
메모리 읽기
라는 제어 신호를 보낸다. - CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해
메모리 쓰기
라는 제어 신호를 보낸다.
- CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해
아래의 세 가지 기억하기
- CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.
- CPU 내부에는
ALU, 레지스터, 제어장치
가 있다.ALU
는 계산하는 장치,레지스터
는 임시 저장 장치,제어장치
는 제어 신호를 발생시키고 명령어를 해석하는 장치다.
🔎 보조기억장치
메모리의 두 가지 치명적인 약점
- 가격이 비싸 저장 용량이 적다.
- 전원이 꺼지면 저장된 내용을 잃는다.(휘발성)
보조기억장치
: 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장 장치
- 하드 디스크, SSD, USB 메모리, DVD, CD-ROM과 같은 저장 장치가 보조기억장치의 일종
🔎 입출력장치
마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미
보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수 있다. 실제로 보조기억장치와 입출력장치를 ‘컴퓨터 주변에 붙어있는 장치’라는 의미에서
주변장치
(peripheral device)라 통칭하기도 한다. 많은 전공 서적에서는 둘을 구분하여 서술한다. 따라서 보조기억장치와 입출력장치는 구분해서 생각하자.
🔎 메인보드와 시스템 버스
컴퓨터의 핵심 부품들은 모두 메인보드
(main board)라는 판에 연결된다. 메인보드는 마더보드
(mother board)라고도 부른다.
메인보드 내부에 버스
(bus)라는 통로를 통해 메인보드에 연결된 부품들은 서로 정보를 주고 받을 수 있다. 여러 버스 가운데 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스
(system bus)이다.
시스템 버스란 컴퓨터의 네 가지 핵심 부품들이 서로 정보를 주고받는 통로이다. 시스템 버스는 주소 버스, 데이터 버스, 제어 버스
로 구성되어 있다.
- 주소 버스(address bus)
- 주소를 주고받는 통로
- 데이터 버스(data bus)
- 명령어와 데이터를 주고받는 통로
- 제어 버스(control bus)
- 제어 신호를 주고받는 통로