폰 노이만 아키텍처의 장단점 (Von Neumann architecture)
목차
폰 노이만의 아키텍처를 공부해야 하는 이유
폰 노이만 구조라는 현대 컴퓨터의 기반이 되는 아키텍처를 이해함에 따라 프로그램이 실행되는 기본적인 동작 방식을 알 수 있게 된다.
폰 노이만의 아키텍처 설명
뛰어난 과학자였던 존 폰 노이만(John von Neumann)은 경제학, 양자역학, 함수 해석학, 위상 수항, 컴퓨터 과학, 기하학, 통계학 등 다양한 분야에 업적을 남긴 반신이라 불리는 천재였다. 그가 컴퓨터 과학에 남긴 업적으로는 ‘프로그램 내장 방식’이라 불리는 컴퓨터 동작 아키텍처를 최초로 제안한 것이다.
이전의 컴퓨터들은 프로그램이 소프트웨어가 아닌 하드웨어 적인 구성으로 외부에서 입력하는 프로그램 외장 방식을 사용하였다. 설명을 하자면 스위치를 설치하고 전선을 연결하여 데이터를 전송하고 신호를 처리하는 식으로 프로그래밍을 하였다. 하지만 이 방식은 새로운 프로그램이 필요할 때 마다 하드웨어를 다시 설정해야 하기에 비효율 적이었다.
예를 들어 a + b 연산을 위해 프로그램 회로를 구성하면, 이 프로그램은 a + b만 연산할 수 있으며, 사용자는 a와 b에 들어갈 값만 변경이 가능하였다.
이에 폰 노이만은 1942년 8월 맨해튼 프로젝트에서 발표한 논문에서 프로그램 내장 방식이 최초로 제시 하였다. 이 구조에서 우리가 잘 알고 있는 중앙 처리 장치(CPU), 메모리, 프로그램 3가지의 구성 요소가 나왔다. 그리고 이 구조는 현대의 컴퓨터에 이르기까지 계속해서 사용되어지고 있다.

데이터 메모리(Data memory)와 프로그램 메모리(Program memory)가 구분되어 있지 않고 하나의 버스를 가지고 있는 구조를 가지고 있다. 이는 명령어와 데이터가 같은 버스와 메모리를 사용하기 때문에 동시에 접근하는 것이 불가능 하며, 따라서 CPU는 한 번에 하나의 명령어만 실행 가능하게 한다. 또한 명령어 실행은 메모리에 상주하여 수행해야 한다.
폰 노이만의 아키텍처 장점
하드웨어를 재배치 할 필요 없이 소프트웨어(프로그램)만 교체하면 되기 때문에 범용성이 크게 향상 되었다. 이 때문에 현대까지 거의 모든 컴퓨터는 폰 노이만 구조로 설계되고 있다.
공용 시스템 버스와 메모리를 사용하기에 설계가 단순하고 비용이 저렴한 편이다.
폰 노이만의 아키텍처 단점
가장 많이 꼽히는 부분이 병목 현상이다. CPU와 메모리 간 데이터 전송율(data transfer rate)의 한계로 인해 발생하는 병목현상 또는 기억 장소의 지연 현상이 있다.
이는 명령이 나열된 순서대로 순차적으로 수행하는 방식에 기인 되는 것으로 CPU나 전자 반도체 등의 기술이 혁신적으로 발전함에 따라 처리 능력도 향상되어 지금에 이르게 되었다.
- 메모리의 경우 값을 읽고 쓰는 구조이기 때문에 기억 장치에 병목 현상이 생긴다. 이를 완화하기 위해 도입된 기술이 메모리 계층 구조, NUMA, DMA 같은 것들이다.
폰 노이만 아키텍처의 단점인 병목 현상을 해결하기 위해서 메모리를 명령어가 저장되는 곳과 데이터를 저장하는 곳으로 구분한 '하버드 아키텍처'같은 시도도 있다. 그러나 기반 기술이 폰 노이만의 구조이기에 완전한 해결이 아닌 개선된 정도이다.
이 외에도 다른 아키텍처를 개발하는 시도는 계속해서 이어지고 있다.