개발을 하기 위해서는 프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야 함
컴퓨터 구조를 알아야 하는 이유
문제 해결 능력을 기를 수 있음
성능, 용량, 비용을 고려한 개발을 할 수 있음
컴퓨터 구조 : 컴퓨터가 이해하는 정보 + 컴퓨터의 네가지 핵심 부품
숫자, 문자, 이미지 등과 같은 정적인 정보
컴퓨터와 주고받는/ 내부에 저장된 정보
0과 1로 숫자, 문자를 표현하는 방법
데이터는 명령어를 위한 일종의 재료
컴퓨터는 결국 명령어를 처리하는 기계
명령어는 컴퓨터를 실질적으로 움직이는 정보
명령어의 생김새와 동작 방식
현재 실행되고 있는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품
메모리에는 주소라는 개념이 있는데, 접근하고자 하는 데이터, 사용하고자 하는 명령어가 현재 어느 위치에 저장되어있는지 알 수 있게 해줌.
프로그램(데이터와 명령어로 이루어짐)이 실행되기 위해서는 메모리에 저장되어 있어야 함
메모리에 저장된 값의 위치는 주소로 알 수 있음
컴퓨터의 두뇌와 같은 역할을 수행하는데, 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품임
CPU = ALU + Register + Control unit
ALU(산술 논리 연산 장치) : 계산기와 같은 역할; 계산을 위한 회로들의 모음
레지스터 : CPU 내부의 작은 저장 장치
제어장치 : 제어 신호(컴퓨터의 부품들을 관리하고 작동시키기 위한 전기 신호)를 내보내고, 명령어를 해석하는 장치
RAM은 전원이 꺼지면 저장된 내용들을 모두 잃는 휘발성 저장장치임.
보조기억장치는 전원이 꺼져도 프로그램을 저장하는 부품.
다시말해 메모리는 실행할 정보를 저장하고 보조기억장치는 보관할 정보를 저장한다.
컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품을 의미.
모니터, 키보드, 마우스, USB 등을 의미
보조기억장치와 딱 구분되는 개념은 아님.
컴퓨터의 네가지 핵심부품들을 연결해서 서로 정보를 교환할 수 있도록 함.
이때 정보를 교환할 수 있는 통로를 버스라고 함.
가장 중요한 버스, 컴퓨터의 핵심 부품들을 연결하는 버스를 시스템 버스라고 함.
주소 버스 : 주소를 주고받는 통로
데이터 버스 : 명령어와 데이터를 주고받는 통로
제어 버스 : 제어 신호를 주고받는 통로