1. 컴퓨터 구조 (Computer Architecture, 때론 Computer Structure)
ㅇ 컴퓨터에 대한 설계 관점의 사상 및 구조 ☞ 구조 아키텍쳐 조직 매커니즘 참조
2. 폰 노이만 구조(Von Neumann Architecture)
ㅇ 폰 노이만에 의해 고안된 컴퓨터 구조
- 메모리,중앙처리장치 및 이 둘 간의 연결장치로 구성되는 구조
※ 폰 노이만(John von Neumann) : 헝가리 출신의 미국 수학자 (1903~1957년)
3. 폰 노이만 구조의 특징
ㅇ 프로그램,데이터가 모두 하나의 기억장소(메모리)에 있음
- 즉, 1차원적으로 서로 혼재되어 저장됨
ㅇ 프로그램 내장 방식 / 축적 프로그램 방식 (Stored Program)
- 수행할 프로그램을 기억장치에 저장시켜두고,
- 개별 명령어들을 순서대로 가져와서,
- 별도의 중앙처리장치에서 이를 실행하는 방식
- 컴퓨터 입장에서는 프로그램(연산 절차)도 데이터 처럼 저장하고 처리 가능함
. 즉, 숫자 같은 형태의 명령어를 사용케됨
ㅇ CPU와 메모리가 서로 분리됨
- 연산의 입력 및 결과가 CPU와 메모리 간에 전달됨
ㅇ SIMD (Single Instruction Multiple Data)
- 한 번에 하나의 명령어 만을 수행하며,
- 각 명령어는 몇 개의 데이터들을 동시에 사용함
ㅇ 폰노이만구조가 프로그래밍 언어와 관련된 특징
- 변수 : 기억장소의 특정 부분과 관련시킬 수 있음
- 배정문 : CPU와 기억장소 간의 데이터 이동 연산과 관련됨
- 반복문 : 반복되는 부분이 기억장소 특정 장소에 인접하여 저장됨
ㅇ 데이터 버스와 주소 버스를 모두 갖는 구조
ㅇ 기계적인 2단계 실행 방식 : fetch - execute cycle
- 데이터를 메모리에서 가져(fetch)와서, 실행(execute)시킴
ㅇ 현대 컴퓨터 거의 대부분에서 이 방법을 사용
- 하나의 메모리에 만 접근하기 때문에 단순함
ㅇ 명령을 읽는 중에 데이터이 접근 불가능하여, CPU 동작이 비효율적이지만,
- 컴퓨터 버스에 사용되는 신호선 수가 적어 회로 크기의 최소화 구현(저렴)이 용이
ㅇ 例) ARM Cortex M0/M1 등
4. 하버드 구조 (Harvard Architecture)
ㅇ 폰 노이만 구조와 거의 동일하나,
- 프로그램과 데이터가 각각 다르게 분리되어 취급됨
ㅇ 즉, 프로그램 명령어와 데이터가 다른 비트 수 기반을 갖을 수 있으며,
- 다른 메모리(프로그램 메모리,데이터 메모리)에서 취급됨
- 통상, 소형 기기(스마트폰 등)에서,
. 프로그램 메모리 => 플래시 메모리 사용
. 데이터 메모리 => SRAM 사용
ㅇ 명령어,데이터 접근에 서로 다른 버스를 사용하므로, 병렬 동시 처리(파이프라이닝 등) 가능하여,
- 속도 등에 효율적이지만, 회로 크기 및 구조 복잡
ㅇ 例) 8051 칩, ARM Cortex M3/M4/M7 등