하드웨어
- 컴퓨터에서 각종 정보의 전송 통로를 제공해주고, 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체
- ex) 메인 보드, CPU, HDD, 키보드, 마우스, 모니터
소프트웨어
- 정보들이 이동하는 방향과 정보 처리의 종류를 지정 및 그러한 동작들이 수행될 시간을 지정해주는 명령(command)들의 집합
- ex) 시스템 소프트웨어 : 운영체제, 컴파일러
- ex) 응용 소프트웨어 : 워드프로세서, 스프레드시트
컴퓨터의 기본 동작
- 컴퓨터는 프로그램 코드를 정해진 순서대로 실행(execute)
- 그 과정에서 필요한 데이터를 읽어서(read), 처리(processing) 하고, 결과를 저장(store)
중앙처리장치(CPU)
- 프로세서(processor)
- 비교와 연산을 담당하는 산술논리장치(ALU) 와 명령어 해석과 실행을 담당하는 제어장치, 속도가 빠른 데이터 기억장소인 레지스터로 구성
기억장치(Memory)
- CPU가 처리할 프로그램 코드와 데이터는 기억장치에 저장
- 주기억장치 : 액세스 속도가 높지만, 프로그램 실행 중에만 사용될 수 있는 일시적 기억장치
- 보조저장장치 : 속도는 느리지만, 영구저장 능력을 가진 보조적 기억 장치
입출력장치(I/O Devices)
- 사용자와 컴퓨터간의 상호 작용(interaction)을 위한 장치
- 키보드, 모니터, 마우스, 프린터 등
시스템 버스
- CPU와 시스템 내의 다른 요소들 사이에 정보를 교환하는 통로
- 주소 버스(address bus)
- CPU가 외부로 발생하는 주소 정보를 전송하는 신호 선들의 집합
- 전체 주소 선들의 개수가 CPU와 접속될 수 있는 최대 기억장치 용량을 결정
- 주소는 CPU에 의해 발생되어 장치로 보내지는 정보이기 때문에 단방향성(uni-directional)
- 데이터 버스(data bus)
- CPU가 기억장치 혹은 I/O 장치와의 사이에 데이터를 전송하기 위한 신호 선들의 집합
- 한 번에전송될 수 있는 데이터 비트의 수를 결정
- 읽기와 쓰기 동작을 모두 지원해야 하므로 양방향 전송(bi-directional transfer)
- 제어 버스(control bus)
- CPU가 시스템 내의 각종 요소들의 동작을 제어하는 데 필요한 신호 선들의 집합
- 기억장치 읽기/쓰기 및 I/O 읽기/쓰기 등
- 읽기와 쓰기 동작을 모두 지원해야 하므로 양방향 전송(bi-directional transfer)