본문 바로가기
운영체제

폰 노이만 아키텍처, 하버드 아키텍처

by asd135 2024. 3. 18.
728x90

폰 노이만 아키텍처

 

1949년 EDSAC(1949) 컴퓨터 개발 때 폰 노이만이 설계한 컴퓨터 아키텍처이며 프로그램 내장 방식을 특징으로 한다.

 

프로그램의 구동을 위해서는 비휘발성 메모리에 저장한 데이터를 주 메모리(RAM)로 읽어와야 한다.

 

폰 노이만 구조 구성요소

CPU, 메모리, 입출력 장치, 저장장치가 하나의 Bus로 연결되어 있는 구조

명령어와 데이터를 하나의 메모리에서 처리한다. (병목 현상 발생 원인)

 

병목 현상 발생 이유

명령어와 데이터가 같은 메모리를 공유하기 때문에 CPU가 명령어를 처리하는 동안에는 메모리에 데이터를 읽거나 쓸 수 없다.

CPU의 처리 속도가 메모리 접근 속도보다 훨씬 빠르다. CPU는 필요한 데이터나 명령어를 메모리에서 가져오기 위해 대기하는 시간이 발생한다.

 

장점
구조가 간단하고 이해하기 쉬움
프로그램을 메모리에 저장할 수 있어, 소프트웨어를 통한 프로그램 변경이 용이함 (프로그램의 저장 가능성)

단점
데이터와 명령어가 같은 메모리를 공유하기 때문에, 명령어를 읽는 동안 데이터 접근이 제한될 수 있음 (병목 현상)
보안 측면에서 명령어와 데이터의 구분이 없어 취약할 수 있음

 

폰 노이만 구조에서의 계산기 예시

메모리가 하나이므로 프로세서는 명령어를 읽기 위해 메모리에 접근한 후, 다시 데이터(숫자)를 읽기 위해 메모리에 접근해야 한다. 이후 연산을 수행하고, 결과를 다시 메모리에 쓰기 위해 또다시 메모리에 접근한다. 명령어와 데이터 접근이 순차적으로 실행되기 때문에 메모리 접근에 시간이 더 걸린다.

 

하버드 아키텍처

 

폰 노이만 구조의 메모리 병목 현상을 해결하기 위해 나온 구조

메모리 구조를 제외하면 폰 노이만 구조와 유사하다.

명령어 메모리와 데이터 메모리가 물리적으로 분리되어 있으며 각각의 메모리 버스를 통해 접근하는 방식이다.

 

설계가 복잡하여(단가 상승) 일부 성능이 중요한 시스템에서 사용된다

 

장점
명령어와 데이터가 서로 다른 메모리와 버스를 사용하기 때문에, 동시에 명령어와 데이터 접근이 가능하여 처리 속도가 빠름
명령어와 데이터가 분리되어 있어 보안성이 높음

단점
메모리와 버스가 두 배로 필요하여 하드웨어 설계가 복잡하고 비용이 더 듦

 

하버드 구조에서의 계산기 예시

명령어와 데이터가 서로 다른 메모리에 저장된다. 프로세서는 명령어 메모리에서 더하기 연산을 수행하는 명령어를 읽는 동시에 데이터 메모리에서 더할 두 숫자를 읽을 수 있다. 동시에 접근이 가능하기 때문에 메모리 접근 시간이 줄어들고 프로그램 실행 시간이 단축된다.

'운영체제' 카테고리의 다른 글

휘발성 메모리, 비휘발성 메모리, 메모리 보호 방식  (0) 2024.04.08
프로세스 라이프 사이클  (0) 2024.04.04
운영 체제, 부팅  (0) 2024.03.27
커널  (0) 2024.03.20
컴퓨터 버스 구성  (0) 2024.03.19