Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

문타쿠, 공부하다.

[혼공컴운] Chapter 01. 컴퓨터 구조 시작하기 본문

컴퓨터 구조/혼자 공부하는 컴퓨터 구조+ 운영체제

[혼공컴운] Chapter 01. 컴퓨터 구조 시작하기

개발새발 문타쿠 2023. 8. 3. 23:21

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

컴퓨터 구조는 실력 있는 개발자가 되기 위해 반드시 알아야 할 기본 지식이다.

 

그렇다면 실력 있는 개발자가 되려면 왜 컴퓨터 구조를 알아야 할까?

 

"컴퓨터 구조를 이해하면 얻을 수 있는 대표적인 이점"

  1. 문제 해결 능력 향상
    • 컴퓨터 구조 지식은 문법에 맞는 코드만 작성할 줄 아는 개발자를 넘어 다양한 문제를 스스로 해결할 줄 아는 개발자로 만들어준다.
  2. 성능, 용량, 비용을 고려한 개발 가능
    • 컴퓨터 구조를 이해하면 입력과 출력에만 집중하는 개발을 넘어 문법만으로는 알기 어려운 성능, 용량, 비용까지 고려하며 개발하는 개발자가 될 수 있다.  
    • 내가 개발한 프로그램이 어떻게 작동하는지 본인이 가장 잘 이해하고 있어야 하고, 프로그램을 위한 최적의 컴퓨터 환경을 스스로 판단할 수 있어야 한다.

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


"컴퓨터가 이해하는 정보"

  1. 데이터
    • 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
    • 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보
    • 명령어 없이는 아무것도 할 수 없는 정보 덩어리 
  2. 명령어
    • 컴퓨터를 한마디로 정의한다면? -> 컴퓨터는 명령어를 처리하는 기계
    • 데이터를 움직이고 컴퓨터를 실질적으로 작동시키는 중요한 정보

"컴퓨터의 네 가지 핵심 부품"

  1. 중앙처리장치(CPU)
    • 컴퓨터의 두뇌
    • 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품
    • 구성요소
      • 산술논리연산장치(ALU)
        • 컴퓨터 내부에서 수행되는 계산을 수행하는 계산기 역할
      • 레지스터
        • CPU 내부의 작은 임시 저장 장치
        • 프로그램을 실행하는 데 필요한 값들을 임시로 저장
        • 레지스터는 여러 개가 존재하고 각기 다른 이름과 역할을 가지고 있다. 
      • 제어장치
        • 제어신호를 내보내고 명령어를 해석하는 장치
        • 제어신호: 컴퓨터 부품을 관리하고 작동시키기 위한 일종의 전기 신호
  2. 주기억장치(메모리, RAM)
    • 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
    • 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.
    • 메모리에 저장된 값의 위치는 주소를 사용하여 접근한다.
    • 장점: 속도가 빠르다.
    • 단점: 가격이 비싸 저장 용량이 작고, 전원이 꺼지면 저장된 내용을 잃는다.
  3. 보조기억장치
    • 저장 용량이 크고, 전원이 꺼져도 저장된 내용을 잃지 않아 주기억장치를 보조하는 역할을 한다.
    • HDD, SSD, USB ...
  4. 입출력장치
    • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
    • 마이크, 스피커, 프린터, 마우스, 키보드 ...
    • 보조기억장치와 입출력장치를 합쳐 '컴퓨터 주변에 붙어 있는 장치'라는 의미로 '주변장치'라고도 함
  5. 그 외: 메인보드와 시스템 버스
    • 메인보드(마더보드)
      • 컴퓨터의 여러 부품들을 연결시켜둔 판
    • 버스
      • 메인보드에 연결된 부품들이 서로 정보를 주고받을 수 있게 해주는 통로로, 다양한 종류의 버스가 있다.
    • 시스템 버스
      • 컴퓨터의 네 가지 핵심 부품을 연결하여 서로 정보를 주고받을 수 있게 한 가장 중요한 버스 
      • 구성요소
        • 주소 버스: 주소를 주고받는 통로
        • 데이터 버스: 명령어와 데이터를 주고받는 통로
        • 제어 버스: 제어 신호를 주고받는 통로