1. 컴퓨터란?
- 입력 받은 데이터를 정해진 규칙에 따라 연산하여 연산 결과를 저장하고 출력하는 장치
2. 컴퓨터의 구성 요소
- 소프트웨어 + 하드웨어
소프트웨어
- 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합
- 시스템 소프트웨어와 응용 소프트웨어로 구분할 수 있다.
System Software
- 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할 수행
- 하드웨어 장치들이 제대로 동작할 수 있도록 관리
Application Software
- 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미
- 어플리케이션 및 앱이라고도 하며, 일반적으로 프로그램이라고도 불린다.
하드웨어
- 컴퓨터를 구성하는 기계적 장치들의 집합
- 중앙처리장치 + 기억장치 + 입출력장치 + 시스템버스
중앙처리장치 (CPU, Central Processing Unit)
- 프로그램 실행과 연산을 담당하는 컴퓨터의 핵심 장치
- 제어장치, 연산장치, 레지스터로 구성
- 제어장치
- CPU의 모든 동작과 데이터 흐름을 통제 및 관리
- 운영체제와 소통하며 컴퓨터의 자원 관리
- 연산장치
- 프로그램에 기술되어져 있는 명령어 수행
- 레지스터
- CPU 내에 존재하는 작고 빠른 기억장치
- 연산장치의 동작에 필요한 데이터를 임시적으로 보관 및 제공
기억장치 (Memory Device)
- CPU의 동작에 필요한 데이터를 장기적 또는 단기적으로 보관한다.
- 보조기억장치
- 모든 정보를 반영구적으로 저장
- 큰 용량의 데이터 저장 가능
- 데이터 처리 속도가 느리다 -> 연산 속도 차이로 인해 CPU와 직접적으로 소통하지 않음.
- ex) SSD(Solid State Drive), HDD(Hard Disk Drive)
- 주기억장치
- 프로그램을 수행하는 동안 필요한 모든 데이터들을 저장
- 큰 용량의 데이터 저장 불가능
- 데이터 처리 속도가 빠르다 -> CPU의 연산 속도를 어느 정도 따라 잡을 수 있기 때문에 CPU와 직접적으로 소통함.
- ex) RAM(Random Access Memory), ROM(Read Only Memory)
- 캐시 메모리 (Cache Memory)
- 한 번 CPU가 사용한 데이터와 관련된 데이터 중, 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와 대기시켜놓는 역할을 수행함
입출력장치 (I/O Device)
- 입력 장치 (Input Device) : 사용자로부터 데이터를 입력 받는 장치 ex) 키보드, 마우스, 트랙패트, 마이크 등
- 출력 장치 (Output Device) : 사용자에게 인간이 감각할 수 있는 형태로 데이터를 출력해주는 장치 ex) 모니터, 스피커 등
시스템 버스 (System Bus)
- 각 하드웨어 장치를 물리적으로 연결한 전선을 의미
- 데이터 버스
- 하드웨어간 데이터 전달하는 통로
- 주소 버스
- 데이터가 어디에 도착해야 하는지에 대한 정보 전달하는 통로
- 제어 버스
- CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로