폰 노이만 아키텍쳐
Posted 2012. 10. 16. 18:191. 컴퓨터 아키텍처의 기본
컴퓨터는 크게 입력,연산,저장,출력 장치로 나눌수 있다.
입력/출력 장치는 말 그대로 키보드 모니터 같은 거고
연상장치와 저장장치는 주로 Computer Architecture에서 다룬다.
2. 폰 노이만 아키텍쳐 , 하바드 아키텍쳐
둘다 Stored Program Concept를 따르는 아키텍쳐다.
Stored Program Concept란
1 + 1 = 2 라는 계산을 컴퓨터로 한다면
1. Fetch : 1 + 1 을 해 달라고 컴퓨터 에게 입력한다.
2. Decode : 컴퓨터는 받은 명령을 해석한다.
3. Execute : 컴퓨터는 1과 1을 더해 2를 만들어 낸다.
4. Store : 결과를 보여준다.
이런 순서를 반복하는것.
이런 Stored Program Concept를 Von Neumann(폰 노이만) 박사가 1945년 제안하였고
현재 가장 많이 사용하고 있다. 이런 Stored P..... 를 사용한 구조를 폰 노이만 아키텍처라 한다.
여기서. 데이터는 메모리에서 읽거나 메모리에 쓰기도 하는 반면..
명령어는 메모리에서 읽기만 하는 구조가 폰 노이만 아키텍처다.
특징은 프로세서에게 메모리 특정 지점부터 실행하도록 지시 할 수 있다.
이때 데이터와 명령어 사이에 뚜렷한 구분이 없어서 주어진 내용을 무조건 실행한다.
데이터 자체에 고유 의미가 없고 이를 해석하는 프로그램에 의해 의미가 달라진다.
데이터와 명령어는 메모리를 공유하며 특정 프로그램에서 명령어인 내용은 다른 프로그램에서
데이터 일수 있다.
하바드 아키텍처
명령어와 데이터 통로를 저장공간과 물리적으로 분리한 아키텍처를 말한다.
폰 노이만 아키텍처와 다르게 CPU는 메모리로부터 명령어를 읽거나 데이터를 읽고쓰고가 동시에 가능
하다. 그러나 명령어와 데이터 같은 신호 통로와 메모리를 동시에 사용하지 않는다.
하바드 아키텍처 컴퓨터에서는 CPU는 메모리로부터 명령어와 데이터를 동시에 사용할수 있고
현재 명령을 마치는것과 동시에 다음 명령을 가져 올 수 있기 때문에 속도가 더 빠르다.
하지만.. 가격이 더 비싸다던데..
뭐.. 1~4번을 하나의 싸이클로 보면
1~4번 작업이 끝날때 하나의 결과를 받을 것이다.
작업이 다 끝나야 다음 작업이 실행되고..
결국 작업 중인 번호 외엔 놀고있는거다.
이 놀고있는 시간이 무언가 다른 작업을 하면서 속도를 올리는게 파이프라이닝 이란것..
즉 겹치지 않는 곳에서 할일을 하는것이다.
폰 노이만 : 중앙처리장치 중심의 구조로 중앙집권식 명령처리. 데이터메모리와 프로그램 메모리가 구분되어있지않고 하나를 가지는 구조
하버드 아키텍처 : 중앙처리장치 없는 병렬식 구조. 지방분권식 명령처리.
데이터 메모리와 프로그램 메모리가 서로 다른 버스를 사용하는 구조로 명령과 데이터를
동시에 읽어 들일 수 있다.
- Filed under : 윈도우즈 프로그래밍/폰 노이만 아키텍쳐