Post

[CS] Chapter 01. 컴퓨터 구조 시작하기

혼자 공부하는 컴퓨터 구조 + 운영체제 (한빛미디어 출판, 강민철 지음) 으로 공부한 내용을 정리합니다.
CS Study를 통해 함께 공부하고 있습니다. [github repository]

✅ 01 - 1. 컴퓨터 구조를 알아야 하는 이유

본격적으로 컴퓨터 구조를 학습하기에 앞서 실력 있는 개발자가 되려면 왜 컴퓨터 구조를 반드시 알아야 하는지 알아보자

  • 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 할 기본 지식!
  • 코드를 똑같이 작성했는데도 어떤 컴퓨터에서는 코드가 제대로 작동하지 않는 상황을 해결하려면 컴퓨터 구조 지식이 필요하다.

성능, 용량, 비용까지 고려하면 개발하는 개발자가 되려면 컴퓨터 구조를 이해하고 있어야 한다!

✅ 01 - 2. 컴퓨터 구조의 큰 그림

앞으로 학습해 나갈 컴퓨터 구조의 큰 그림을 그려보자

우리가 알아야 할 컴퓨터 구조 지식은 크게 두 가지이다.

✔️ 컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보만을 이해한다. 이런 정보에는 아래의 크게 두 종류가 있다.

  • 데이터
  • 명령어
데이터(data)
컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리킨다.
명령어(instruction)
데이터를 움직이고 컴퓨터를 작동시키는 정보이다.

책의 저자는 컴퓨터를 한마디로 정의해보라고 한다면, 컴퓨터는 명령어를 처리하는 기계입니다라고 답할 것이라고 함

✔️ 컴퓨터의 네 가지 핵심 부품

컴퓨터의 핵심 부품은 아래와 같다.

주기억 장치의 종류 주 기억장치에는 크게 RAM(Random Access Memory)ROM(Read Only Memory) 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭한다.

image 컴퓨터 구조 큰 그림

🔎 메모리

  • 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.
  • 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 정돈되어 있어야 한다.
  • 메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(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 내부에는 ALU, 레지스터, 제어장치가 있다.
  • ALU는 계산하는 장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치다.

🔎 보조기억장치

메모리의 두 가지 치명적인 약점

  1. 가격이 비싸 저장 용량이 적다.
  2. 전원이 꺼지면 저장된 내용을 잃는다.(휘발성)

보조기억장치 : 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장 장치

  • 하드 디스크, SSD, USB 메모리, DVD, CD-ROM과 같은 저장 장치가 보조기억장치의 일종

🔎 입출력장치

마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미

보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수 있다. 실제로 보조기억장치와 입출력장치를 ‘컴퓨터 주변에 붙어있는 장치’라는 의미에서 주변장치(peripheral device)라 통칭하기도 한다. 많은 전공 서적에서는 둘을 구분하여 서술한다. 따라서 보조기억장치와 입출력장치는 구분해서 생각하자.

🔎 메인보드와 시스템 버스

컴퓨터의 핵심 부품들은 모두 메인보드(main board)라는 판에 연결된다. 메인보드는 마더보드(mother board)라고도 부른다.

메인보드 내부에 버스(bus)라는 통로를 통해 메인보드에 연결된 부품들은 서로 정보를 주고 받을 수 있다. 여러 버스 가운데 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스(system bus)이다.

시스템 버스란 컴퓨터의 네 가지 핵심 부품들이 서로 정보를 주고받는 통로이다. 시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있다.

주소 버스(address bus)
주소를 주고받는 통로
데이터 버스(data bus)
명령어와 데이터를 주고받는 통로
제어 버스(control bus)
제어 신호를 주고받는 통로
This post is licensed under CC BY 4.0 by the author.

-

[CS] Chapter 02. 데이터