"프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 한다."
프로그래밍을 배우기에 앞서 컴퓨터의 구조를 알아야 하는 이유는
첫 번째, 문제 해결 능력을 기를 수가 있다.
두 번째, 성능, 용량, 비용을 고려한 개발을 할 수 있다.
개발했던 환경에서는 문제없이 돌아갔던 코드가 실제로 사용자들한테 릴리즈 했을 때 동작이 안 되는 경우가 있다.
이런 경우에는 프로그래밍 언어의 문법상의 오류가 실제 문제는 아니기 때문에 문제의 원인은 프로그래밍 언어 그 너머에 근원적인 문제가 있을 것이다. 그렇다면 이를 해결하기 위해서는 컴퓨터 내부를 들여다보고 분석할 수 있어야 한다. 컴퓨터 구조를 학습하면 컴퓨터를 관조할 수 있는 능력을 배양할 수 있다.
문법에 맞는 소스 코드를 컴퓨터에 입력만 하는 개발자에서 컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자가 될 수 있다.
컴퓨터 구조를 학습하면 성능, 용량, 비용을 고려한 프로그래밍을 할 수가 있다. 새로운 웹사이트를 만들 때 필요한 서버 컴퓨터를 고르는 경우 내가 개발한 코드가 어느 정도의 성능, 용량, 비용을 갖고 있는 컴퓨터가 필요한지를 스스로 판단할 수 있어야 한다.
컴퓨터 각각을 이루고 있는 부품들의 성능, 용량, 비용에 대한 지식은 개발을 하는데 있어 필요한 지식이라고 할 수 있다.
데이터
- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
- 컴퓨터와 주고받는/내부에 저장된 정보
- 0과 1로 숫자를 표현하는 방법
- 0과 1로 문자를 표현하는 방법
명령어
- 컴퓨터를 실질적으로 움직이는 정보
- 데이터는 명령어를 위한 일종의 재료
'1과 2를 더하라'
- '1'과 '2'는 데이터
- '1과 2를 더하라'는 명령어
'안녕하세요'를 출력하라
- '안녕하세요'는 데이터
- '안녕하세요'를 출력하라는 명령어
컴퓨터의 네 가지 핵심 부품은 CPU, 메모리, 보조기억장치, 입출력 장치이다.
CPU
- CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.
- ALU : 계산기
- 레지스터 : CPU 내부의 작은 저장장치
- 제어장치 : 제어 신호를 내보내고, 명령어를 해석하는 장치
메모리
- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.
- 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다.
- 메모리에 저장된 값의 위치는 주소로 알 수 있다.
보조기억장치
- 보조기억 장치는 전원이 꺼져도 보관될 프로그램을 저장하는 부품
- 하드디스크, SSD 등
입출력장치
- 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
- 모니터, 키보드, 마우스 등
메인보드
- 메인보드에 연결된 부품은 버스를 통해 정보를 주고 받음
- 버스는 컴퓨터의 부품끼리 정보를 주고받는 일종의 통로
- 다양한 종류의 버스가 있음
- 컴퓨터의 핵심 부품을 연결하는 버스는 시스템 버스
시스템 버스
- 주소 버스 : 주소를 주고받는 통로
- 데이터 버스 : 명령어와 데이터를 주고받는 통로
- 제어 버스 : 제어 신호를 주고받는 통로
'컴퓨터공학' 카테고리의 다른 글
5. CPU의 작동원리 : ALU와 제어장치 (0) | 2024.10.01 |
---|---|
4. 소스코드와 명령어 (0) | 2024.09.30 |
3.데이터 0과 1로 문자를 표현하는 방법 (4) | 2024.09.28 |
2.데이터 0과 1로 숫자를 표현하는 방법 (0) | 2024.09.28 |
개발자를 위한 컴퓨터공학 : 혼자 공부하는 컴퓨터구조 + 운영체제 (2) | 2024.09.24 |