관리 메뉴

나만을 위한 블로그

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

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

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

참깨빵위에참깨빵_ 2023. 10. 29. 20:48
728x90
반응형
컴퓨터 구조를 알아야 하는 이유

 

컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 하는 기본 지식이다. 컴퓨터 구조를 이해하면 문제 상황을 빨리 진단할 수 있고 문제 해결 실마리를 다양하게 찾을 수 있다. 컴퓨터 내부를 들여다보며 더 좋은 해결책을 고민할 수 있다. 이런 사고가 가능한 사람들에게 컴퓨터는 분석의 대상이기 때문이다.

 

서버 컴퓨터를 사야 하는 경우 뭘 사느냐에 따라 CPU, 메모리, 성능, 용량, 비용이 다양하다.

항상 비싼 게 좋지는 않다. 돈이 많이 깨진다. 그렇다고 너무 싼마이를 고르면 트래픽이 튈 경우 처리할 수가 없다.

AWS 등 클라우드 서비스를 써도 이 고민은 피할 수 없다. 어떤 부품을 쓸 것인지 잘 선택해야 한다.

내가 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지는 내가 가장 잘 알고 있어야 하기 때문에 누가 대신 해결해 줄 수 없다.

성능, 용량, 비용 문제는 프로그래밍 언어 문법만 알아선 해결하기 어렵다. 혼자 쓰는 프로그램을 만든다면 신경쓸 필요 없겠지만 사용자가 많은 프로그램은 필수적으로 성능, 용량, 비용을 고려해야 한다.

때문에 컴퓨터 구조를 아는 건 중요하다. 컴퓨터 구조에서 배우는 내용은 성능, 용량, 비용과 직결되기 때문이다.

 

컴퓨터 구조의 큰 그림

 

알아야 하는 컴퓨터 지식은 크게 2개다.

 

  • 컴퓨터가 이해하는 정보
  • 컴퓨터의 핵심 부품 4개

 

컴퓨터가 이해하는 정보

 

컴퓨터는 0, 1로 표현된 정보만 이해한다. 정보에는 데이터, 명령어 2종류가 있다.

 

  • 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 영상 등 정적인 정보. 컴퓨터와 주고받는 데이터나 저장된 정보를 가리킬 때 데이터라고 함
  • 명령어 : 데이터를 움직이고, 실질적으로 컴퓨터를 작동시키는 중요한 정보

 

컴퓨터의 핵심 부품 4개

 

  • 중앙처리장치(CPU)
  • 주기억장치(메모리) : RAM, ROM 2개가 있는데 보통 RAM을 말함
  • 보조기억장치
  • 입출력장치

 

메모리

 

  • 프로그램이 실행되려면 반드시 메모리에 저장돼 있어야 함
  • 메모리는 현재 실행되는 프로그램의 명령어, 데이터를 저장
  • 메모리에 저장된 값의 위치는 주소로 알 수 있음

 

주소 : 메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해 사용됨

 

CPU

 

메모리에 저장된 명령어를 불러오고, 불러온 명령어를 해석, 실행함

 

  • ALU(산술연산장치) : 컴퓨터 안에서 수행되는 계산 대부분은 ALU가 수행함
  • 레지스터 : CPU 안의 작은 임시 저장소. 프로그램 실행에 필요한 값들을 임시로 저장함. CPU 안에는 여러 레지스터가 있고 각자 다른 이름, 역할을 지님
  • 제어장치 : 제어신호라는 전기신호를 내보내고 명령어를 해석함

 

CPU가 메모리에 저장된 값을 읽으려고 한다 -> 메모리 읽기 제어 신호 전송

CPU가 메모리에 어떤 값을 저장하려고 한다 -> 메모리 쓰기 제어 신호 전송

추가 내용은 시스템 버스 부분 참고

 

보조기억장치

 

메모리의 단점

 

  1. 비싼 가격, 적은 저장 용량
  2. 전원이 꺼지면 저장된 내용 사라짐

 

이 단점을 보완하는 저장장치. HHD, SSD, USB, DVD, CD-ROM 등이 보조기억장치의 일종

 

입출력장치

 

컴퓨터 밖에 연결되서 컴퓨터 내부와 정보를 교환하는 장치. 마이크, 스피커, 프린터, 마우스, 키보드 등

보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수 있음. 보조기억장치와 입출력장치를 주변장치라고 부르기도 함. 차이는 보조기억장치는 일반 입출력장치에 비해 메모리를 보조하는 특별 기능을 수행하는 입출력장치란 것

 

메인보드, 시스템 버스

 

컴퓨터의 핵심 부품들은 모두 메인보드에 연결됨. 메인보드에 연결되어야 메인보드 안의 버스를 통해 부품들이 서로 정보를 주고받을 수 있음. 컴퓨터 부품 4개를 연결하는 가장 중요한 버스는 시스템 버스.

시스템 버스는 주소 / 데이터 / 제어 버스로 구성

 

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

 

CPU가 메모리를 읽을 때 제어 버스로 메모리 읽기 제어 신호를 보내고 + 주소 버스로 읽으려는 주소를 보냄. 이후 메모리가 데이터 버스로 CPU가 요청한 주소의 내용을 보냄

메모리에 어떤 값을 저장할 때도 CPU가 데이터 버스로 메모리에 저장할 값을 보내고, 주소 버스로 어떤 주소에 저장할지 보내고, 제어 버스로 메모리 쓰기 제어신호를 보냄

반응형
Comments