대학교

마이크로프로세서 - (1) 마이크로컨트롤러 개요

매 석 2023. 9. 13. 00:05
반응형

마이크로컨트롤러

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

마이크로컨트롤러는 하나의 칩으로 구현한 컴퓨터라고 할 수 있다.

하지만 위 사진과 같이 메모리도 적고 동작 속도도 느리다.

그렇기에 가볍고, 저렴한 가격, 신뢰성 향상, 융통성 있다는 장점이 있고,

낮은 처리 능력과 범용성 부족이라는 한계가 있다.

보통 신호등, 무선 전화기, 게임기 등 간단한 작업에 사용된다.

추가로 마이크로프로세서는 중앙처리장치를 하나의 칩으로 만든 것을 말하고,

마이크로컨트롤러는 중앙처리장치와 메모리, 입출력 인터페이스를 포함한 것을 말한다.

마이크로컨트롤러를 위한 프로그램은 컴퓨터에서 작성하지만 프로그램의 실행은

마이크로컨트롤러에서 이루어진다. 그렇기에 부트로더가 필요하다.

즉 컴퓨터에서 마이크로컨트롤러로 연결하는 과정이 필요하다.

(교차개발환경)

 

데이터 교환

- 병렬 통신 : 여러 개의 핀을 사용, 바이트 단위 이상의 데이터를 동시에 전송

- 직렬 통신 : 적은 수의 핀을 사용, 바이트 단위 이상의 데이터를 여러 번에 나눠 전송

또한 직렬 통신은 동기 전송 방식과 비동기 전송 방식으로 구분된다.

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

비동기 방식은 전송 속도를 약속하여 별도의 클록을 사용하지 않기에

동일한 속도로 송수신 하지 않으면 오류가 발생한다.

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

또한 전송 방법에는 전이중 방식과, 반이중 방식으로 나뉘는데

전이중 방식은 2개의 데이터 연결선을 사용해 동시에 송수신 가능하다.

하지만 반이중 방식은 1개의 데이터 연결선을 사용해 동시에 송수신이 불가하다.

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

 

동작

마이크로컨트롤러는 시스템에서 하드웨어의 변경 없이

소프트웨어를 통해 서로 다른 동작을 구현하다는 큰 장점이 있다.

- 명령어 집합의 구조 차이

CISC : 복잡한 명령을 한 번에 처리 가능하지만 하드웨어는 복잡, 명령어에 따라 클록 수가 다름

RISC : 하드웨어는 간단하지만, 여러 번의 명렁으로 처리, 동일한 클록 수 필요

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

RISC가 실행할 명령어 개수는 증가하지만 시간은 오히려 적게 걸린다.

그렇기에 마이크로컨트롤러에서 RISC를 많이 사용한다.

- 컴퓨터의 구조

폰 노이만 구조 : 명령어와 메모리가 하나의 메모리에 저장, 병목 현상 발생

하버드 구조 : 명령어와 메모리를 전용의 메로리에 나눠 저장, 병목 현상 해소

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

- 메모리의 종류

ROM & RAM : 전원이 주어지지 않을 때 기록된 내용의 보존 여부로 구분한다.

SRAM & DRAM : RAM을 만드는 방식에 따라 리프레시의 필요 여부로 구분한다.

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍

SRAM은 저용량의 고속 메모리에 주로 사용되고, DRAM은 대용량의 메인 메로리로 주로 사용된다.

출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍