[CS/컴퓨터구조] 1. 컴퓨터 구조 시작하기

728x90

 

안녕하세요. 해당 포스트는 강민철 저자님의 '혼자 공부하는 컴퓨터 구조+운영체제'를 읽고 정리한 포스트입니다.

 

 

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

컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 할 기본 지식!

 

문제 해결

  • 컴퓨터의 내부를 거리낌 없이 들여다보면 더 좋은 해결책을 고민할 수 있음

 

성능, 용량, 비용

  • 위 3가지를 고려하며 개발하는 개발자가 될 수 있음
  • 서버 컴퓨터를 구매하거나 또는 클라우드 서비스를 이용할 경우 CPU, 메모리 등은 직접 선택해야 하는데 어떤 선택을 하는지에 따라 성능, 용량, 비용이 달라짐

 

 

 

 

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

컴퓨터의 구조는 크게 두 가지이다.

출처 : https://hongong.hanbit.co.kr

컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보만을 이해하는데 이렇게 표현된 정보에는 데이터명령어가 있음

 

데이터

  • 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
  • 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보
  • 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐!

 

명령어

  • 컴퓨터를 실질적으로 작동시키는 중요한 정보

✔️ 명령어는 컴퓨터를 작동시키는 정보, 데이터는 명령어를 위해 존재하는 일종의 재료!

 

 

 

컴퓨터의 4가지 핵심 부품

CPU(중앙처리장치), 메모리(RAM), 보조기억장치, 입출력장치

 

메모리

출처 : https://tcpschool.com

  • 현재 실행되는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품 (모든 프로그램은 명령어와 데이터로 이루어져있음)
  • 메모리에는 주소라는 개념이 있는데 사용하고자 하는 데이터나 명령어가 어느 위치에 있는지 알 수 있고, 컴퓨터가 주소를 통해 메모리 내 원하는 위치에 접근할 수 있음
  • 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 함

 

CPU

  • 컴퓨터의 두뇌. 메모리에 저장된 명령어를 읽어들이고, 해석하고 실행하는 부품
  • CPU의 내부 구성 요소 3가지 : 산술논리연산장치(ALU), 레지스터, 제어장치
    • ALU : 계산기 역할. 컴퓨터 내부에서 수행되는 대부분의 계산을 도맡아 함
    • 레지스터 : 임시 기억 장치
    • 제어장치 : 컴퓨터의 부품들을 관리하고 작동시키기 위한 전기 신호인 제어 신호를 내보내고 명령어를 해석하는 장치
      • 메모리 읽기 : CPU가 메모리에 저장된 값을 읽고 싶을 때 보내는 제어 신호
      • 메모리 쓰기 : CPU가 메모리에 어떤 값을 저장하고 싶을 때 보내는 제어 신호

 

보조기억장치

  • 메모리를 보조할 저장 장치
  • 메모리는 현재 실행되고 있는 프로그램이 저장됨(실행할 정보 저장). 컴퓨터 전원이 꺼지면 저장된 내용을 모두 잃음(휘발성 저장 장치). 반면에 보조기억장치는 실행되지 않는 프로그램이 저장됨(보관할 정보 저장)
  • 보조기억장치에는 하드 디스크, SSD, USB 메모리 등이 있음

 

입출력장치

  • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
  • 입출력장치에는 마이크, 스피커, 프린터, 마우스, 키보드 등이 있음

✔️  보조기억장치와 입출력장치는 딱 잘라 구분되는 개념은 아님. 다만 보조기억장치는 메모리를 보조한다는 특별한 기능을 수행하는 입출력장치임!

 

 

메인보드와 시스템 버스

  • 메인보드(=마더보드)는 위에서 설명한 부품들을 부착할 수 있는 슬롯과 연결 단자가 존재하며 연결된 부품들은 버스라는 통로를 통해 서로 정보를 주고 받음
  • 여러 버스들 중에서 가장 중요한 버스는 시스템 버스
  • 시스템 버스의 내부 구성
    • 주소 버스 : 주소를 주고 받는 통로
    • 데이터 버스 : 명령어와 데이터를 주고 받은 통로
    • 제어 버스 : 제어 신호를 주고 받는 통로

 

728x90

'CS > 컴퓨터구조' 카테고리의 다른 글

[CS/컴퓨터구조] 메모리 구조  (1) 2024.11.08
[CS/컴퓨터구조] 3. 명령어  (1) 2024.01.15
[CS/컴퓨터구조] 2. 데이터  (1) 2024.01.14