컴퓨터 구조: 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 구성하는 방법을 말한다.
컴퓨터 구조는 컴퓨터 기능 구조에 대한 설계, 명령어 집합구조, 마이크로 아키텍처, 그리고 기타 하드웨어 및 컴퓨팅 방법에 대한 설계 등이 포함된다.
컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야이다.
대표적으로 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조가 있다.
CPU의 명령어에 대한 설계는 명령어 집합구조라 불리며, CPU가 처리해야 하는 명령어를 설계하는 분야이다.
CPU의 하드웨어적 설계는 마이크로 아키텍처라고 불리며, 정의된 명령어 집합을 효율적으로 처리할 수 있도록, CPU의 회로를 설계하는 분야이다.
폰 노이만 구조
초기 컴퓨터 과학자 중 한명인 폰 노이만은 컴퓨터에 연산, 제어, 저장의 세 가지 핵심 기능이 필요하다고 생각했다.
근대의 컴퓨터는 연산과 제어를 위해 중앙처리장치를, 저장을 위해 기억장치를 사용한다.
그리고 장치간에 데이터나 제어 신호를 교환할 수 있도록 버스라는 전자 통로를 사용한다.
중앙 처리 장치
프로그램의 연산을 처리하고 시스템을 관리하는 컴퓨터의 두뇌이다.
프로세스의 코드를 불러오고, 실행하고, 결과를 저장하는 일련의 모든 과정이 CPU에서 일어난다.
CPU는 산술 / 논리 연산을 처리하는 산술 논리 장치, CPU를 제어하는 제어 장치, CPU에 필요한 데이터를 저장하는 레지스터 등으로 구성된다.
기억 장치
기억 장치는 컴퓨터가 동작하는데 필요한 여러 데이터를 저장하기 위해 사용된다.
용도에 따라 주 기억 장치와 보조 기억 장치로 분류된다.
버스
컴퓨터 부품과 부품 사이 또는 컴퓨터와 컴퓨터 사이에 신호를 전송하는 통로를 말한다.
대표적으로 데이터가 이동하는 데이터 버스, 주소를 지정하는 주소 버스, 읽기 / 쓰기를 제어하는 제어 버스가 있다.