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

-하버드  구조에서는  MCU가  적합하고,  범용성이  목적인  컴퓨터는  폰  노이만이  적합하다.

                    -코드  메모리  버스:  물리적으로  2개의  버스로  구성(  I  CODE,  D  CODE)
                 -시스템  버스 : SRAM과 주변장치로 접근하기  위해서 사용
                    -전용  주변장치  버스  로  구성
                B.  3  State  Pipeline 구조로  명령어 처리
                 - FETCH  ->  DECODE  ->  EXECUTE

                  C.  중첩  벡터  인터럽트  컨트롤을  지원
                 - NVIC  (Nested  Vectored Interrupt Controller)는  중첩 벡터  인터럽트 컨트롤러이다.
                    -  NVIC는  MPU,  SYSTICK  Timer,  디버깅  제어를  위한  제어  레지스터와,  인터럽트  처리를
                    위한  레지스터의 제어로직이 있다.
                  D.  Debug  access  port는  Debug을  위한  Port

                  E.  Bus  Matrix는  M3의  내부  블록간의  인터페이스를  담당
                    -  하버드  아키텍쳐를  갖기  때문에  명령어  버스와  데이터  버스가  별도로  존재한다.
                    -  그렇기  때문에  동시에  접근이  가능하므로  빠른  처리가  가능하다.


              2.  미리  정의된  메모리  맵

              인터럽트  컨트롤러  및  peripheral  장치들이  메모리  접근  명령어에  의해  접근  할  수  있도록  하
            여  C프로그램  코드  안에서도  접근이  가능하다.  외부  인터럽트  컨트롤러나  디버그  컴포넌트는
            Vendor  Specific  memory에  할당  되어있고,  전용  주변장치에  대한  제어도  Private  Peripheral
            bus의  메모리  영역에  할당  되어있다.  출력OUT파일에  대한  Memory  Map을  제공하여  Memory
            Map을  통해  최적화를  할  수  있다.


             3. CODE영역과 Data영역
               Code  영역은  코드  자체를  구성하는  메모리  영역으로  HEX나  BIN파일에  저장되고  Data  영
             역은  전역  변수나  정적  변수,  구조체  등이  저장된다.  초기화  된  데이터는  data영역에  저장되
             고,  초기화  되지  않은  영역은  BSS(Block  Stated  Symbol)에  저장된다.



             4.  R0~R12는  데이터  동작을  위한  범용  레지스터  (R0-R3은  로컬변수처럼  자유롭게  사용)
                 A.  R0~R7은 Low  Register라고  한다.
                    B.  R0~R7은  16Bit  Thumb-2  명령어의  일부  접근할  수  있다.
                    C.  R13은  Stack  Pointer로  2개의  스택포인터로  메인  스택  포인터와  프로세스  스택  포인터

                          이다.  메인  스택  포인터는  익셉션  핸들러(Interrupt  포함)에  의해  사용(인터럽트가  중첩
                          하여  들어왔을  때  처리하는  스택포인터)하고  프로세스  스택  포인터는  사용자  어플리케
                          이션  코드에  의해  사용된다.  Special  Register의  Control  Register에  따라서  어떤
                     Stack Pointer를  사용할지  결정된다.



              5.  간단한  APP는  MSP만  사용한다.




                                                         -  199  -
   201   202   203   204   205   206   207   208   209   210   211