1. 컴퓨터 구조를 알아야 하는 이유
📍1) 문제 해결 향상
내가 짠 코드의 문제가 아니라 컴퓨터의 문제라면?
📍2) 성능, 용량, 비용 최적화
개발한 프로그램을 위한 최적의 컴퓨터 환경은?
2. 컴퓨터 구조의 큰 그림
📍컴퓨터 구조의 2가지 핵심 개념
1) 컴퓨터가 이해하는 정보
- 데이터
- 명령어
2) 컴퓨터의 4가지 핵심 부품
- 중앙처리장치(CPU)
- 주기억장치(메모리)
- 보조기억장치
- 입출력장치
📍1) 컴퓨터가 이해하는 정보
컴퓨터는 명령을 처리하는 기계
- 컴퓨터는 데이터로 이루어진 명령어를 처리
- 컴퓨터는 0, 1로 표현된 정보만 이해
📍2) 컴퓨터의 4가지 핵심 부품
메모리
- 현재 실행되는 프로그램의 명령어와 데이터를 저장
- 메모리 주소: 저장된 명령어와 데이터의 위치를 식별하고, 쉽게 접근하기 위해 사용
- 예) DRAM
CPU
- 컴퓨터의 두뇌: 메모리에 저장된 명령어 읽고 해석, 실행
- 3가지 핵심 구성요소: ALU, 레지스터, 제어장치
ALU(Arithmetic Logic Unit): 산술논리연산장치
- 컴퓨터 내부의 대부분의 계산을 수행
레지스터(Register)
- CPU의 임시 저장 장치 (여러개 존재)
제어장치(Control Unit)
- 제어 신호(전기 신호)를 내보내 다른 부품들을 관리하고 작동시킴
- 명령어를 해석
CPU 명령어 실행 과정
- 메모리에 저장된 값을 읽기 위해 메모리에 메모리 읽기 신호 보냄
- 메모리 주소 1번지에 저장된 명령어를 CPU에 보내고 이 명령어는 CPU의 레지스터에 저장됨
- 제어장치는 레지스터에 저장된 명령어 해석하고 추가로 3번지, 4번지 데이터 필요하다고 판단
- 제어장치가 메모리에 읽기 신호 보내고, 이 명령어는 CPU의 다른 레지스터에 저장됨
- ALU에서 읽어들인 데이터로 연산수행하고 결과는 레지스터에 저장됨
- 명령어 끝나면 종료
보조기억장치
- 메모리의 단점1: 전원이 꺼지면 저장된 내용 날아감
- 단점2: 가격이 비싸서 저장 용량이 적음
- 보조기억장치는 전원이 꺼져도 저장된 내용이 날아가지 않음
- 예) 하드 디스크
입출력장치
- 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보 교환
- 예) 마이크, 스피커, 키보드, 마우스, 모니터
메인보드(마더보드)
- 4가지 핵심 부품이 메인보드에 연결됨
- 다양한 슬롯과 연결 단자 존재
- 메인보드 내부에 시스템 버스: 4가지 핵심 부품이 서로 정보를 주고받는 통로
시스템 버스
- 주소 버스: 주소를 주고받는 통로
- 데이터 버스: 데이터와 명령어 주고받는 통로
- 제어 버스: 제어 신호를 주고받는 통로
- 예) 메모리 읽기 신호 발생 시 메모리 주소는 주소 버스로, 제어 신호는 제어 버스로 지나감
- 예) 메모리 쓰기 신호 발생 시 데이터는 데이터 버스로 지나감