728x90
반응형
안녕하세요 제타지니입니다.

이번 포스팅은 아두이노 하드웨어의 기반을 설명하기에 앞서서 아키텍쳐에 관한 설명을 하려고 합니다.
처음 포스트를 쓸 때, RISC와 CICS 스트럭처를 가지고 하버드 구조와 폰 노이만 구조를 연결시켜서 설명을 하려고 했습니다.
하지만, 하버드 구조 / 폰 노이만 구조는 생각보다 방대한 양을 가지고 있었고, 그보다는 하버드 구조와 폰 노이만 구조를 비교한 뒤에 그것을 연결시켜서 설명하는 편이 훨씬 이해하기 쉽겠다는 생각을 했습니다.
따라서, 이 포스트는 하버드 구조와 폰 노이만의 구조에 대한 정의, 원리, 그리고 특징을 설명하는 포스트가 될 것입니다. 하하..
<사전 지식>
모두 아시다 시피, 연산기기(Computer)는 다음과 같은 원리들을 가지고 작동하는 체계를 지니고 있습니다.

- Input data 혹은 오퍼랜드(Operand)라고 불리는 코드화 된 정보를 받습니다. -입력
- Computer안에서 알고리즘에 따라서 이런 코드화 된 정보를 해석합니다. -처리
- 컴퓨터 혹은 인간이 받아들일 수 있는 형태로 처리된 데이터를 내보냅니다. -출력
조금더 상세히 보자면... 다음과 같습니다.

<용어 해설>
- Input: 입력 단자,
- Output: 출력 단자
- ALU: 산술 처리 장치
- CPU: 중앙 처리 장치
- CU :Control Unit, CPU(Central Process Unit)의 구성요소 중 하나로, 프로세서의 동작을 지시한다. CU는 ALU, Memory 와 입출력 장치에게 프로그램의 지시에 따라 어떻게 작동할 것을 지시하는 역할을 한다.
<Von Neumann Structure - 폰 노이만 구조>
- 원리 및 특징
- 컴퓨터에서의 데이터는 이진수로 구성되어 있습니다.
- 2진수 코딩에 대한 법칙은 데이터에 상관없이 동일합니다.
- 2진수 코딩에 대한 데이터와 프로그램을 위해서 컴퓨터는 특별한 메모리블락을 가지고 있습니다.
- 2진수 코드는 다음과 같이 정해진 형태를 지니게 됩니다.
Field Operation Code(OPCODE, 명령어 코드)와 Address(주소)가 합쳐진 형태입니다. - 모든 제공된 명령어 코드는 순차적으로 행해집니다.
폰 노이만 구조의 컴퓨터 실행 원리는 다음의 그림과 같습니다.

<Havard Structure - 하버드 구조>
-특징 및 원리
- 하버드 구조는 명령어 제공을 위한 '신호 전달 통로' 와 '저장소'를 분리해 놓은 구조입니다.
그림으로 보자면 다음과 같습니다. - 그림에서 보는 것과 같이, 두개의 메모리가 자신만의 bus를 가지고 CPU(Processor)와 통신을 합니다. 이러한 원리는 작업 속도를 높이는 특징을 지니고 있습니다.
- Instruction Memory의 경우 Processor에서 READ(읽음)밖에 못하지만, Data Memory에서는 실행된 명령에 따라 Processor에서 READ / WRITE(읽기 / 쓰기) 모두 할 수 있습니다.
- Instruction Memory와 Data Memory의 변수가 모두 같을 필요는 없습니다. 일반적으로 용량, 위치, 빠르기가 다릅니다. 일반적으로 Instruction Memory의 크기를 더 크게 만들어주고, ROM Type으로 만들어 주는 반면, Data memory는 RAM Type으로 만듭니다.
- 각각의 Memory들은 자신들만의 독립적인 주소를 가지고 있습니다.
다음 포스트에서는 하버드 구조와 폰 노이만 구조의 컴퓨터를 비교해 보도록 하겠습니다.
728x90
반응형
'만져보는 임베디드 시스템 > 아두이노 하드웨어' 카테고리의 다른 글
DIY Arduino-(1). 필요한 하드웨어 (0) | 2020.08.29 |
---|---|
아두이노, Arduino-(5). 아두이노 제작에 관하여 (0) | 2020.08.29 |
아두이노, Arduino-(4). 폰 노이만 구조와 하버드 구조의 비교(Von Neumann Architecture vs Havard Architecture) (0) | 2020.08.29 |
아두이노, Arduino-(2). ATmel AVR의 RISC 구조 및 CISC 구조 비교 (0) | 2020.08.29 |
아두이노, Arduino-(1). 아두이노 Hardware 탐구 (0) | 2020.08.29 |