[펌웨어] 마이크로 컨트롤러와 마이크로 프로세서 차이

이채윤·2022년 3월 29일
0

임베디드

목록 보기
11/70

[OS포팅을 진행하며]

  • 처음 OS포팅을 진행하면서 기존에 가지고있는 stm32 보드로 포팅이 되지 않는것을 확인했다.
  • 이유를 분석해보니 리눅스를 어딘가에 저장하려면 RAM이 존재해야하는데, RAM이 없어서였다.

[마이크로 프로세서란?]

  • 위와 같이 OS포팅을 진행하지 못 하고 단일침으로 구성되어 입력된 프로그램에 의해 데이터로 입력받아 처리하고 결과를 출력하는 장치를 '마이크로 프로세서'라 한다.

[마이크로 컨트롤러란?]

  • 마이크로 프로세서 중에서 자동화 기기를 제어하기에 최적으로 구현되어 있는 프로세서이다.

[OS포팅을 하기 위해서는 마이크로 컨트롤러를 사용해야 한다.]

  • 마이크로 프로세서는 단순히 연산의 기능만을 가지고 있기 때문에 사용자가 원하는 프로그램을 저장할 곳도 없고 프로그램을 실행하기 위한 RAM이나 데이터 입출력을 위한 별도의 I/O장치도 없다.
  • 이러한 장치들을 마이크로 프로세서와 함께 하나의 칩에 구성한 아주 작은 규모의 시스템을 우리는 마이크로 컨트롤러, 마이크로 컴퓨터(마이컴)이라 한다.

[마이컴 구성요소]

  • CPU : 명령어 처리나 연산 기능
  • 주기억장치 : 우리가 만든 프로그램이나 다양한 데이터들을 저장
  • 입출력장치 : 프로그램이 필요로하는 입력과 그에 해당하는 출력값을 받아들이고 표현한다. 일반적으로 입출력장치는 마이컴에서 포트(Port)라 한다.

[레지스터]

  • 마이컴 프로그래밍을 하다보면 레지스터를 자주 다룬다.
  • 이때, 레지스터는 CPU내부의 아주 작은 기억장치이다.
  • 레지스터는 2개로 나눌 수 있는데 데이터를 임시로 저장하는 '범용 레지스터'와 CPU수행을 위한 '특수목적용 레티스터'로 나뉜다.
  • 특수목적용 레지스터는 'PC(Program Counter)', 'SP(Stack Pointer)', '플래그'로 구분된다.

0개의 댓글