Page 149 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 149

ARMv7개열의  ARM12칩으로  나온  것이  Cortex칩이다.  Cortex칩은  크게  3가지의

            A,  R,  M타입으로  구분된다.  임베디드  시스템은  가격에  민감하기  때문에  비용적인  문제를  해결
            하기  위해  Family를  3개로  나눴다.  용도에  맞게  가격과  성능을  고려한  적합한  모듈을  선택할
            수  있기  때문이다.


            -General  Register


































            전통적인  ARM(ARM7,ARM9)  에서는  7개의  동작  모드별로  Banked  Register  가  있었으나
            Cortex-M3  에  와서는  R13이  Main  Stack  Pointer와  Process  Stack  Pointer  로
            구분되어  Banked  Register로  존재하고  나머지  레지스터는  Cortex-M3  동작  모드(Thread
            Mode,  Handler  Mode)  에  상관없이  1개씩만  존재한다.  16-bit  Thumb  명령어  에서는  R0  ~
            R7  레지스터만  사용이  되고  32-bit  Thumb2  명령어에서는  R0  ~  R15가  모두  사용이  된다.

            Stack  Pointer  (R13)  는  항상  4-Byte정렬이  되어  운영  되어야  하므로  Stack  Pointer의 하위
            2비트는  항상  '2b00'  이  되어야  한다.  그리고  Stack은  Full  Descending  방식으로  운영이  된
            다.  Linked  Register(R14)  는  전통적인  ARM과  마찬  가지로  BLX  명령어  사용  시  복귀  할  주
            소가  저장  되어  있다.  Program  Counter(R15)는  당연히  현재  실행하고  있는  명령어의  주소
            를  가지고  있다.  그러므로  실제  PC는  현재  실행하고  있는  명령어  다음  다음의  명령어의  주

            소가  저장되어  있다.















                                                         -  142  -
   144   145   146   147   148   149   150   151   152   153   154