하버드 아키텍처
하버드 아키텍처(Harvard architecture)는 데이터와 명령어를 저장하는 메모리 공간을 물리적으로 분리한 컴퓨터 아키텍처입니다. 폰 노이만 아키텍처와 대조를 이루는 방식이며, 폰 노이만 아키텍처는 데이터와 명령어를 하나의 메모리 공간에 저장합니다.
특징
- 분리된 메모리 공간: 명령어와 데이터에 각각 별도의 메모리 공간을 할당하여, 동시에 명령어 인출과 데이터 접근이 가능합니다.
- 병렬 처리: 명령어 인출과 데이터 접근을 동시에 수행하여 성능 향상을 기대할 수 있습니다.
- 복잡성 증가: 메모리 공간 분리로 인해 주소 지정 방식이 복잡해질 수 있으며, 하드웨어 설계의 복잡성이 증가할 수 있습니다.
- 유연성 감소: 폰 노이만 아키텍처에 비해 메모리 할당의 유연성이 떨어질 수 있습니다.
활용 분야
하버드 아키텍처는 주로 디지털 신호 처리(DSP), 임베디드 시스템 등 실시간 성능이 중요한 분야에서 활용됩니다. 마이크로컨트롤러(MCU)와 같은 특정 목적에 특화된 프로세서에서도 널리 사용됩니다.
장단점
- 장점: 명령어 인출과 데이터 접근의 병렬 처리로 인한 빠른 실행 속도, 예측 가능한 실행 시간.
- 단점: 폰 노이만 아키텍처에 비해 복잡한 하드웨어 설계, 메모리 공간 활용의 유연성 부족, 상대적으로 높은 비용.
관련 용어
- 폰 노이만 아키텍처(Von Neumann architecture)
- 캐시 메모리(Cache memory)
- 마이크로컨트롤러(Microcontroller)
- 디지털 신호 처리(Digital Signal Processing, DSP)