정보 처리/컴퓨터 구조

폰 노이만 아키텍처(Von Neumann Architecture)

본클라쓰 2010. 7. 21. 07:57

폰 노이만 아키텍처란 폰 노이만이 제안한 방식으로 1944년 애니악(ANIAC) 개발에 참여하다가 컴퓨터에 다른 일을 시키려면 전기회로를 모두 바꿔야 하는 불편함을 해결하기 위한 방법으로 프로그램 내장 방식(Stored Program)이라는 개념을 제시한 것이다. 이 방식은 주기억장치, 중앙처리장치 및 입출력 장치의 전형적인 3단계 구조로 이루어지며 ENIAC에서 진일보한 방식이다.

 

[사진출처] 위키백과 - http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Von_Neumann_architecture_kor.png

 

 

이와 같은 프로그램 내장방식이 최초로 적용된 컴퓨터는 에드삭(EDSAC)이며, 중앙처리장치(CPU) 옆에 기억장치(Memory)를 붙인 것인데, 프로그램과 자료를 메모리에 저장해 놓았다가 사람이 실행시키는 명령에 따라 작업을 차례로 불러내 처리하는 방식이다. 기존의 에니악 컴퓨터는 작업을 할 때마다 전기회로를 바꿔주어야 했지만 프로그램 내장형 컴퓨터는 소프트웨어만 바꿔주면 되는 셈이다.

 

프로그램 내장방식은 사람의 노력이 필요없을 뿐더러 중앙처리장치와 메모리를 기반으로 하는 컴퓨터 하드웨어는 그대로 둔 체 과업을 진행하기 위한 프로그램만을 교체해줌으로써 노력을 훨씬 덜 수 있다는 장점으로 현대 컴퓨터의 원형으로 자리잡았다. 즉, 처리방법(명령어)과 데이터를 메모리에 올려놓고, 제어장치가 명령어를 읽고(fetch), 해석(decode)하여 실행(execution)하는 방식이다.

 

이 때 프로그램과 데이터가 저장되는 메모리는 명령어와 데이터를 구분하지 않는다. 따라서 폰 노이만 구조는 프로세서에게 메모리의 특정 지점부터 실행하도록 지시할 수 있으며, 이 때 데이터와 명령어 사이에 뚜렷한 구분이 없이 주어진 내용은 무조건 실행한다. 이는 특정 프로그램에서 명령어의 내용이 다른 프로그램에서는 데이터일 수 있다는 뜻이다. 또한 메모리에서 명령어는 읽기만 가능하고 데이터는 읽거나 쓰기가 가능한 구조이다.

 

 

하지만 프로그램 내장방식은 CPU가 모든 작업을 순차적으로 처리해야 한는 순차처리 방식이라는 점과 중앙처리장치와 주기억장치 간의 전달과정의 문제가 단점으로 지적되어 왔다. 특히 GUI 환경이 일반화되고 처리해야 할 연산이 급격히 늘어나면서 폰 노이만형 컴퓨터의 구조적인 문제점이 불거져 나오고 있는 상태이다.

 

즉, 컴퓨터의 CPU는 메모리에서 데이터가 도착할 때까지 아무런 작업도 하지 않는 대기 상태가 되며, 이런 대기 시간은 컴퓨터의 성능향상에 장애요인으로 인식되고 있다. 이를 해결하기 위해 인텔은 하이퍼 스레딩 기술을 내놓았으며, AMD는 메모리 컨트롤러를 내장함으로써 이를 완화시키고 있다.

 

 

참고) 전자신문 1997.05.31