* 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고 정리하는 글입니다. *
1강. 컴퓨터 구조를 알아야 하는 이유
개발자를 희망하는 사람들이 제일 먼저 하는 것 = 프로그래밍 언어의 문법 공부
하지만, 컴퓨터의 근간(컴퓨터 구조 + 운영체제)을 알아야 한다.
컴퓨터의 근간을 안다는 것은 결국, 문제 해결력 + 비용, 성능, 용량을 고려한 개발이 가능해진다는 것
- 문제 해결력
코드만 쳐서 해결할 수 없는 문제들이 생각보다 많이 일어난다.
즉, 컴퓨터 구조를 통해 근원적인 문제를 파악하고 해결하는 개발자가 되어야 한다.
- 성능, 비용, 용량
개발자라면 떼어내지 못할 요소
무조건 싼 비용 = 성능의 저하
무조건 좋은 성능, 큰 용량 = 기하급수적인 비용 증가
클라우드 컴퓨팅도 마찬가지. 위 세 요소를 알아야 적합한 컴퓨터를 구성할 수 있고, 문제를 해결할 수 있다.
따라서 컴퓨터 구조 = 컴퓨터를 구성하는 부품들의 성능, 비용, 용량에 대한 이야기
-> 프로그래밍 언어의 문법만으로는 해결하기 어렵기 때문에 컴퓨터 구조는 필수 요소이다.
2강. 컴퓨터 구조의 큰 그림
컴퓨터가 이해하는 정보
1. 데이터
- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
- 컴퓨터와 주고 받는 / 내부에 저장된 정보를 데이터라 통칭하기도 함.
우리가 배워야 할 것은
0과 1로 숫자, 문자를 표현하는 방법을 배우면 된다.
2. 명령어
- 컴퓨터를 실질적으로 움직이는 정보 (ex. 1과 2를 더하라. 에서 '1, 2'는 데이터 '~~를 더하라.' 는 명령어)
- 데이터는 명령어를 위한 일종의 재료 역할
결국, 컴퓨터 = 명령어 처리 기계
우리가 배워야 할 것은
명령어의 생김새와 동작 방식을 배워야 한다.
컴퓨터의 네 가지 핵심 부품
1. 메인보드 : 각 부품을 연결해주는 판
- 버스 : 컴퓨터 부품끼리 정보를 주고 받는 일종의 통로. 다양한 종류가 있지만 핵심 부품의 연결은 시스템 버스가 담당함.
2. 시스템 버스 : 네 가지 핵심 부품들이 서로 정보를 주고 받을 수 있는 통로 역할
- 주소 버스 : 주소를 주고 받는 통로
- 데이터 버스 : 명령어와 데이터를 주고 받는 통로
- 제어 버스 : 제어 신호를 주고 받는 통로
3. CPU : 메모리에 저장된 명령어를 읽어들이고, 해석하고, 실행하는 부품
- ALU(산술논리연산장치) : 계산기
- 레지스터 : CPU 내부의 작은 저장장치
- 제어장치 : 제어 신호를 내보내고, 명령어를 해석하는 장치
- 제어 신호 = 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호
(ex. CPU가 메모리에 저장된 값을 읽고 싶다 = 메모리 읽기라는 제어 신호 보낸다. <-> CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어 신호를 보낸다.)
4. 메모리 : 현재 실행되는 프로그램(프로세스)의 명령어 + 데이터를 저장하는 부품
- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.
- 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다.
- 메모리에 저장된 값의 위치는 주소로 알 수 있다.
5. 보조기억장치 : 전원이 꺼져도 보관될 프로그램을 저장하는 부품(메모리를 보조하는 특별한 입출력장치)
6. 입출력장치 : 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
(보조기억장치와 입출력장치는 딱 잘라서 다른 개념은 아니다. - 주변 장치라고 통칭하기도 함.)
'✏️ > TIL' 카테고리의 다른 글
[혼자 공부하는 컴퓨터 구조 + 운영체제] 5 ~ 6강 정리 (0) | 2024.06.05 |
---|---|
[혼자 공부하는 컴퓨터 구조 + 운영체제] 3 ~ 4강 정리 (0) | 2024.06.04 |
[TIL] 2023.08.10 (0) | 2023.08.10 |
[Today I Learned] 2023.06.19 (0) | 2023.06.20 |
[Today I Learned] 2023.06.18 (0) | 2023.06.19 |