01-1 컴퓨터 구조를 알아야하는 이유
ⓐ 문제 해결 능력을 기를 수 있다.
ex) 같은 코드를 써도 환경에 따라 다른 경우, 컴퓨터를 분석의 대상으로 바라볼 수 있게된다.
ⓑ 성능, 용량, 비용을 고려한 개발을 할 수 있기 때문
ex) 웹 사이트를 운영한다고 가정한다면 운영할 사이트의 서버 컴퓨터를 구매하게 될 때 내가 개발한 코드가 어느정도의 성능, 용량, 비용을 갖고 있는 컴퓨터가 필요한 지 개발자 스스로가 판단 할 수 있어야 한다.
(AWS같은 클라우드 서비스를 이용하더라도 판단 능력은 필요하다.)
01-2 컴퓨터 구조의 큰그림
컴퓨터가 이해하는 두 가지 정보 : 데이터
- 컴퓨터와 주고받는 정보 또는 내부에 저장된 정보를 데이터라고 부르기도 한다.
- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
- 0과 1로 숫자 또는 문자를 표현하는 방법
컴퓨터가 이해하는 두 가지 정보 : 명령어
- 컴퓨터는 결국 명령어를 처리하는 기계이다.
- 명령어 : 컴퓨터를 실질적으로 움직이는 정보, 데이터는 명령어를 위한 일종의 재료
- 명령어의 생김새와 동작 방식
컴퓨터의 네 가지 핵심 부품
- CPU · 메모리 · 보조기억장치 · 입출력장치으로 이루어져 있다.
메모리는 주기억장치 or 메인메모리라고도 부른다. 하드웨어적 관점에서 보면 RAM or ROM으로 구분된다.
④ 메모리
- 현재 실행되는 프로그램 (프로세스)의 명령어와 데이터를 저장하는 부품
- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야한다.
- 메모리에 저장된 값의 위치는 주소로 알 수 있다.
③ CPU
- 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다.
- 구성 : 크게 ALU, 레지스터, 제어장치로 구성되어있다.
- ALU(산술 논리 연산 장치) : 계산기 역할
- 레지스터 : CPU 내부의 작은 저장장치
- 제어장치 : 제어신호를 내보내고, 명령어를 해석하는 장치(제어신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호를 말한다.)
CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어신호를 보내고 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어신호를 보낸다.
CPU 작동 순서
이후 2번지에 있는 명령어또한 위와 같이 실행 후 제어장치의 메모리 쓰기라는 제어신호를 통해 메모리에 저장시킨다.
⑤ 보조 기억 장치
- 메모리는 실행할 정보를 저장하고 보조기억장치는 보관할 정보를 저장한다.
- 전원이 꺼져도 저장할 수 있도록 하기 위한 장치
⑥ 입·출력장치
- 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
① 메인보드
- 메인보드에 연결된 부품은 버스를 통해 정보를 주고 받는다.
- 버스는 컴퓨터의 부품끼리 정보를 주고 받는 일종의 통로를 말한다.
- 다양한 종류의 버스가 있다.
- 컴퓨터의 핵심 부품을 연결하는 버스는 ' 시스템버스 ' 이다.
시스템 버스의 내부 구성
- 주소 버스 : 주소를 주고 받는 통로
- 데이터 버스 : 명령어와 데이터를 주고 받는 통로
- 제어 버스 : 제어신호를 주고 받는 통로
- 제어신호 or 주소 or 데이터 등에 따라 사용되는 버스가 달라진다.
출처: 인프런-개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard
[무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 - 인프런 | 강의
베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로
www.inflearn.com
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
[CS : 컴퓨터 구조] C 언어의 컴파일 과정 (1) | 2023.10.25 |
---|---|
[CS : 컴퓨터 구조] 03-2 명령어의 구조 (1) | 2023.10.24 |
[CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어 (0) | 2023.10.23 |
[CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법 (0) | 2023.10.20 |
[CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법 (0) | 2023.10.19 |