// it's for Latex

pages

Von Nemann architecture & Havard architecture (폰 노이만 구조 & 하바드 구조)


- 존 폰 노이만이 제시한 컴퓨터 구조로서, ‘프로그램 내장 방식이라고도 불린다. 이론적으로는 튜링 머신(계산하는 기계)과 같은 일을 할 수 있다.(이를 튜링 완전하다 라고 한다) 그 이전의 컴퓨터들은 스위치를 설치하고 전선을 연결하여 데이터를 전송하고 신호를 처리하는 식으로 프로그래밍 하였다. , 폰 노이만으로 인하여 사람이 수동적으로 스위치를 조작해 연결된 전선으로 데이터를 전송하여 신호를 처리하는 방식에서 벗어날 수 있게 된 것이다.

first computer에 대한 이미지 검색결과

폰 노이만 구조의 디지털 컴퓨터에서는 저장된 프로그램’(stored-program)의 개념이 도입되었다. 이는 프로그램을 구성하는 명령어들을 임의 접근이 가능한 메모리(RAM, Random Access Memory)상에 순차적으로 배열하고, 동시에 조건 분기(조건에 따라 메모리의 특정 위치에 있는 명령어를 불러와 실행하는 것)를 무제한적으로 허용(조건 분기가 무제한적으로 허용되는 기계는 튜링 완전하다. 여기서 무제한적이라는 말은 횟수 제한이 없다는 것이다.)한다는 것을 뜻한다. 폰 노이만 구조에서는 같은 메모리 속에 실행코드와 데이터가 따로 구분되지 않고 함께 섞여 있다.

Von Neumann architecture에 대한 이미지 검색결과
이 구조의 특장점을 꼽자면, 컴퓨터에 다른 작업을 시키려고 할 때, 옛날처럼 굳이 하드웨어(전선)를 재배치할 필요 없이 소프트웨어(프로그램)만 교체하면 되기 때문에 범용성이 크게 향상된다는 것이다. 전선을 일일이 교체할 경우, 최초의 컴퓨터 에니악처럼 교체인원도 많이 필요하고 시간도 많이 잡아먹는 등 여러모로 불편함이 있지만, 폰 노이만 구조를 도입하면 프로그램을 교체하는 것으로 모든 일이 끝난다. 이 엄청난 편의성 때문에, 현재 거의 모든 컴퓨터들은 폰 노이만 구조를 따르고 있다.

이 구조의 단점으로 폰 노이만 병목현상이 있다. 우선 메모리의 값을 읽고 쓰는 구조이기 때문에 기억장치에 병목현상이 생길 수 밖에 없다. 용량이 많고 느린 메모리를 아래에 두고 용량이 적고 빠른 메모리를 위에 둠으로써 효율성을 높이는 메모리 계층이나 주변장치들을 직접 메모리에 액세스 하도록 하는 DMA(Direct Memory Access)같은 것들이 모두 이러한 문제를 조금이나마 완화하기 위해 도입된 기술들이다. 또한 코드를 순차적으로 실행하기 때문에 정해진 입력에 따라 정해진 값만 출력하는 멍청한 구조, 결정적 유한 오토마타의 한계에 묶이기 쉽다.

폰 노이만 병목현상을 해결하기 위해 약간의 변형을 가하여, 메모리를 명령어가 저장되는 곳과 데이터를 저장하는 곳으로 구분한 하버드 구조가 있다. 현대의 컴퓨터는 폰 노이만 구조를 쓰고 있으나, CPU 내부적으로는 하버드 아키텍처를 적용해서 속도를 향상시킨 것이 많다.
하버드 구조는 이름 그대로 하버드에서 만들어진 컴퓨터 구조로서, 명령용 버스와 데이터용 버스가 물리적으로 분할된 컴퓨터 구조를 의미한다. 명령용 버스와 데이터용 버스를 함께 사용하는 폰 노이만 구조와 대비되는 양상을 보인다.
harvard architecture에 대한 이미지 검색결과

이러한 구조의 컴퓨터에서는 명령을 메모리로부터 읽는 것과 데이터를 메모리로부터 읽는 것을 동시에 할 수 있다. 하버드 구조의 컴퓨터는 명령의 처리를 끝내자마자 다음의 명령을 읽어들일 수 있기 때문에 보다 더 빠른 속도를 낼 수 있다고 말할 수 있다. 그렇지만 이러한 처리 속도를 높이려면 보다 많은 전기 회로가 필요하게 된다.

최신의 CPU 설계에서는 회로가 단순하지만 병목현상의 우려가 있는 폰 노이만 구조와 회로가 복잡하지만 처리속도가 뛰어난 하버드 구조, 둘의 조합을 통해서 효율성을 이끌어 내고 있다. 빠른 작업이 요구되는 캐시 메모리의 경우 보통 명령용과 데이터용이 분리된 하버드 구조를 사용하고, CPU 외부적으로는 폰 노이만 구조를 사용함으로써, 효율성을 높이게 된다.

--------------------------------------------------------------------------------------

폰 노이만 구조 출처_


하버드 구조 출처_
http://woodforest.tistory.com/164

튜링 머신 : 수학자 앨런 튜링 1936 제시한 개념으로 계산하는 기계 일반적인 개념을 설명하기 위한 가상의 기계이며 오토마타 일종이다. 튜링은 개념을 automatic에서 따온 a-machine이라고 불렀는데 튜링 사후에 창시자의 이름을 튜링 머신이라고 부르게 되었다.
출처_https://namu.wiki/w/%ED%8A%9C%EB%A7%81%20%EB%A8%B8%EC%8B%A0

오토마타 : 오토마타는 그리스어의 '자동' 의미하는 단어에서 유래한 영단어로, 계산 능력이 있는 추상 기계와 기계를 이용해서 있는 문제들에 대한 학문적 접근으로 컴퓨터 과학 분야에 컴파일러의 설계, 파싱, 정형화 등에 있어서 중요한 역할을 담당하는 이론이다.
출처_https://namu.wiki/w/%EC%98%A4%ED%86%A0%EB%A7%88%ED%83%80

A survey for Modeling and Control of of Hybrid System[1] 따르자면 "오토마톤이란 수학적으로 추상화된 개념으로 쓰일 경우, 자동기계를 기능적인 견지에서 모델화하여, 외부로부터의 자극, 입력신호에 대응하여 내부의 상태가 변화하고, 그리고 신호 또는 동작의 형태로 외부에 출력하는 것으로대상의 어떤 기능에 주목하여, 입력과 내부 출력 신호의 상호관계를 수학모델로 옮기고, 모델을 수학적으로 고찰 ·결론을 유도한다. 그리고 유도된 결론을 다시 원래의 대상에 들어 맞춰서 해석한다고 하는 일련의 과정의 일부 또는 전부 관계되는 것이다." 라고 정의할 있다.

RAM(Random Access Memory) : 사용자가 자유롭게 내용을 읽고 쓰고 지울 있는 기억 장치다ROM 함께 컴퓨터의 기억 장치로, 롬과는 달리 '자유롭게 읽고 있다' 것을 기억해야 한다. 컴퓨터는 CPU에서 이뤄진 연산을 메모리에 기록하며 읽어온다.[3] , 메모리가 없으면 컴퓨터는 동작하지 못한다. Random Access(임의접근, 任意接近) 무작위가 아닌, 어디든 똑같은 시간으로 접근이 가능하다는 의미로서, 메모리의 주소만 알고 그곳을 지정하면 별다른 지연 없이 바로 접근할 있다.[4][5]
출처_https://namu.wiki/w/RAM

병목현상 : 병은 일반적으로 부분이 좁아 물이나 액체를 따를 갑자기 쏟아지는 것을 방지하게 되어 있다. 따라서 아무리 병의 크기가 커도 부분이 작으면 흘러나오는 액체의 양에 제한이 걸리게 된다. 그래서 어떠한 특정 요소의 한계 때문에 전체가 제한받는 상황을 이에 비유해서 병목현상이라 부른 것이다. 일부분에 의한 전체의 하향 평준화.
출처_https://namu.wiki/w/%EB%B3%91%EB%AA%A9%20%ED%98%84%EC%83%81?from=%EB%B3%91%EB%AA%A9%ED%98%84%EC%83%81

메모리 계층 구조 : 컴퓨터 메모리는 용량이 많고 느린 아래쪽에서 시작해서 용량이 작고 빠른 위쪽으로 올라가는 계층구조를 지니고 있다. 이를 '메모리 계층 구조' 한다.
출처_https://namu.wiki/w/%EB%A9%94%EB%AA%A8%EB%A6%AC%20%EA%B3%84%EC%B8%B5%20%EA%B5%AC%EC%A1%B0

직접 메모리 접근(DMA, Direct Memory Access) : 직접 메모리 접근(直接 - 接近, Direct Memory Access, DMA) 주변장치들(하드디스크, 그래픽 카드, 네트워크 카드, 사운드 카드 ) 메모리에 직접 접근하여 읽거나 있도록 하는 기능으로서, 컴퓨터 내부의 버스가 지원하는 기능이다. 대개의 경우에 메모리의 일정 부분이 DMA 사용될 영역으로 지정되며, DMA 지원되면 중앙처리장치가 데이터 전송에 관여하지 않아도 되므로 컴퓨터 성능이 좋아진다.
출처_https://ko.wikipedia.org/wiki/%EC%A7%81%EC%A0%91_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EC%A0%91%EA%B7%BC












댓글 없음:

댓글 쓰기