강민철 개발자님께서 쓰신 , 혼자 공부하는 컴퓨터구조와 운영체제를 읽고 정리하고 있습니다.
노션 필기 링크 : https://www.notion.so/Chapter-01-91ad65d545ca4ddaa1dd1175d28e7169?pvs=4
[ Chapter 01 ] 컴퓨터 구조 시작하기
[ 01 - 1 ] 컴퓨터 구조를 알아야 하는 이유
컴퓨터 구조는 실력 있는 개발자가 되기 위해 반드시 알아야 할 기본 지식이다.
문제 해결의 관점에서 컴퓨터 구조를 이해하고 있어야 한다.
컴퓨터가 우리가 작성한 프로그래밍 언어, 소스 코드를 제대로 작동시키지 못한다면 어려움이 생긴다.
문제 해결의 실마리를 도저히 찾을 수 없다면, 굉장히 힘들다.
실무에서 종종 발생하는 상황인데, 개발할때 문제 없이 작동했던 코드가 실제 사용자들에게 선보이는 자리에서는 작동하지 않는 상황이 비일비재 해진다.
이 경우는 분명 코드상의 문법적인 오류만이 원인은 아닐 겁니다.
하지만, 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있습니다.
이런 사고가 가능한 이들에게 컴퓨터란 미지의 대상이 아니라, 분석의 대상이 됩니다.
성능, 용량, 비용
어떤 CPU를 사용할 지, 어떤 메모리를 사용할 지 등을 직접 판단하고, 현명하게 선택해야 합니다.
어떤 선택을 하는지에 따라 “성능, 용량, 비용”이 달라지기 때문입니다.
개발자는 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지에 대해서 가장 잘 이해하고 있어야 합니다. 프로그램을 위한 최적의 컴퓨터 환경도 스스로 판단할 수 있어야 합니다.
웹 개발이든, 게임 개발이든 “어떤 기능과 프레임워크를” 다룰 건인지에 대해서도 우리는 컴퓨터의 성능과 용량, 비용을 생각하고 판단해야 함.
유튜브, 워드, 포토샵, 쇼핑몰 등등 많은 상요자가 쓰는 프로그램은 필연적으로 성능, 용량, 비용이 고려됩니다.
그래서 컴퓨터 구조를 아는 것이 중요합니다.
컴퓨터 구조를 이해하게 되면, 입력과 출력에만 집중하는 개발을 넘어
성능, 용량, 비용까지 고려하며 개발하는 개발자가 될 수 있습니다.
[ 01 - 2 ] 컴퓨터 구조의 큰 그림
- [x] 컴퓨터가 이해하는 정보
- [ ] 컴퓨터의 네가지 핵심 부품
컴퓨터의 네가지 핵심 부품에 대해 알아볼 것.
1. 컴퓨터가 이해하는 정보
- 데이터
- 명령어
데이터란
- 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 같은 정적 정보
컴퓨터란
- 명령어를 처리하는 기계이다
명령어란
- 데이터를 움직이고 컴퓨터를 작동시키는 정보
2. 컴퓨터의 4가지 핵심 부품
- 중앙 처리 장치 (Central Processing Unit:CPU)
- 주기억장치 (main memory :메모리)
- RAM(Random Access Memory)
- ROM(Read Only Memory)
- 보조기억장치 (secondary storage)
- 입출력장치(input/output device)
메모리 (주기억장치)
- [ ] 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- [ ] 명령어와 데이터의 위치는 정돈되어 있어야 효율적으로 접근 가능
- [ ] 효율적으로 접근 가능하기 위해 주소(address) 라는 개념이 사용된다.
- 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다
- 메모리에 저장된 값의 위치는 주소로 알 수 있다.
CPU (중앙 처리 장치)
- [ ] 컴퓨터의 두뇌이다.
- [ ] 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품이다.
- 산술 논리 연산장치(ALU : Arithmetic Logic Unit) : 계산만을 위해 존재하는 부품.
- 레지스터 (register) : CPU 내부의 작은 임지 저장 장치. 프로그램을 실행하는 데 필요한 값들을 임시로 저장한다. 여러개의 레지스터가 존재한다.
- 제어장치 (CU : Control Unit) : 제어 신호(control signal)라는 전기 신호를 내보내고 명령어를 해석하는 장치이다. 제어 신호란 컴퓨터 부품들을 관리하고 작동 시키기 위한 일종의 전기 신호.
- CPU가 메모리에 저장된 값을 읽고 싶을 땐, 메모리를 향해 메모리 읽기라는 제어 신호를 보낸다
- CPU가 메모리에 어떤 값을 저장하고 싶을 땐, 메모리를 향해 메모리 쓰기라는 제어 신호를 보낸다 (42p)
- CPU의 내부 구조
보조기억장치
입출력장치
메인보드와 시스템 버스
'Computer Science' 카테고리의 다른 글
Process 와 Thread . 그리고 차이점 (2) | 2024.07.23 |
---|---|
[컴퓨터구조와 운영체제] [Chapter 03] 명령어 (0) | 2023.09.14 |
[컴퓨터구조와 운영체제] [Chapter 09]운영체제 시작하기 (0) | 2023.09.13 |
[Git Hub 기초(1)] git 설정! setting 하기 ! 및 강의를 들으며 (1) | 2023.04.13 |
[Git Hub 기초(2)] 깃 허브에 push 해보기! (3) | 2023.04.13 |