본문 바로가기
컴퓨터공학

1.컴퓨터 구조 시작하기

by 이면지91 2024. 9. 26.

 

"프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 한다."

 

프로그래밍을 배우기에 앞서 컴퓨터의 구조를 알아야 하는 이유는

 

첫 번째,  문제 해결 능력을 기를 수가 있다.

 

두 번째, 성능, 용량, 비용을 고려한 개발을 할 수 있다.

 

 개발했던 환경에서는 문제없이 돌아갔던 코드가 실제로 사용자들한테 릴리즈 했을 때 동작이 안 되는 경우가 있다.

이런 경우에는 프로그래밍 언어의 문법상의 오류가 실제 문제는 아니기 때문에 문제의 원인은 프로그래밍 언어 그 너머에 근원적인 문제가 있을 것이다. 그렇다면 이를 해결하기 위해서는 컴퓨터 내부를 들여다보고 분석할 수 있어야 한다. 컴퓨터 구조를 학습하면 컴퓨터를 관조할 수 있는 능력을 배양할 수 있다.

 

 문법에 맞는 소스 코드를 컴퓨터에 입력만 하는 개발자에서 컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자가 될 수 있다.

 

  컴퓨터 구조를 학습하면 성능, 용량, 비용을 고려한 프로그래밍을 할 수가 있다. 새로운 웹사이트를 만들 때 필요한 서버 컴퓨터를 고르는 경우 내가 개발한 코드가 어느 정도의 성능, 용량, 비용을 갖고 있는 컴퓨터가 필요한지를 스스로 판단할 수 있어야 한다.

 

 컴퓨터 각각을 이루고 있는 부품들의 성능, 용량, 비용에 대한 지식은 개발을 하는데 있어 필요한 지식이라고 할 수 있다.


데이터

  • 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
  • 컴퓨터와 주고받는/내부에 저장된 정보
  • 0과 1로 숫자를 표현하는 방법
  • 0과 1로 문자를 표현하는 방법

명령어

  • 컴퓨터를 실질적으로 움직이는 정보
  • 데이터는 명령어를 위한 일종의 재료

 '1과 2를 더하라'

  • '1'과 '2'는 데이터
  • '1과 2를 더하라'는 명령어

 '안녕하세요'를 출력하라

  • '안녕하세요'는 데이터
  • '안녕하세요'를 출력하라는 명령어

 

컴퓨터의 네 가지 핵심 부품은 CPU, 메모리, 보조기억장치, 입출력 장치이다.

 

CPU

  • CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.
  • ALU : 계산기
  • 레지스터 : CPU 내부의 작은 저장장치
  • 제어장치 : 제어 신호를 내보내고, 명령어를 해석하는 장치 

 

메모리

  • 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.
  • 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다.
  • 메모리에 저장된 값의 위치는 주소로 알 수 있다.

보조기억장치

 

  • 보조기억 장치는 전원이 꺼져도 보관될 프로그램을 저장하는 부품
  • 하드디스크, SSD 등

입출력장치

 

  • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
  • 모니터, 키보드, 마우스 등

메인보드

  • 메인보드에 연결된 부품은 버스를 통해 정보를 주고 받음
  • 버스는 컴퓨터의 부품끼리 정보를 주고받는 일종의 통로
  • 다양한 종류의 버스가 있음
  • 컴퓨터의 핵심 부품을 연결하는 버스는 시스템 버스

시스템 버스

  • 주소 버스 : 주소를 주고받는 통로
  • 데이터 버스 : 명령어와 데이터를 주고받는 통로
  • 제어 버스 : 제어 신호를 주고받는 통로

메모리 값 읽어 들이기

 

메모리 값 쓰기