• Functional Diagram
  • 하드웨어 구조


    - 프로세서
     
     

      Embedded System에 적합한 프로세서 구조는? RISC
      : 로드-스토어(Load-Store) 아키텍처 프로세서는 보통 레지스터 안에 저장되어 있는 데이터를 이용하여 어떤 동작을 수행한다. 메모리에서 레지스터로 데이터를 읽어들일 때에는 로드 명령어를, 레지스터에서 메모리로 데이터를 저장할 때에는 스토어 명령어를 사용한다. 메모리를 액세스하기 위해서는 비용이 들기 때문에, 메모리를 여러 번 액세스하는 대신, 레지스터 안에 저장되어 있는 데이터를 여러 번 사용하는 식으로, 데이터 처리 동작과 메모리 액세스를 분리하는 것이 좋다.

      : CISC는 하드웨어의 복잡도에 초점을 맞추고 있고, RISC는 컴파일러의 복잡도에 초점을 맞추고 있다.

      
      : 이러한 설계 방식은 RISC 프로세서를 더욱 단순화시켜, 결론적으로 더 빠른 클럭으로 동작할 수 있게 되었다. 반면 전형적인 CISC 프로세서는 좀더 복잡하고, 좀더 낮은 클럭으로 동작한다. 하지만 지난 20년 동안, CISC가 RISC의 개념을 조금씩 적용함에 따라, RISC와 CISC 사이의 구분이 점점 모호해지고 있다.

      
     

    ■ 레지스터
      

      
     ■ 연산 장치 (ALU: Arithmetic & Logic Unit)
      
     
     ■ 제어 장치 (CU: Control Unit)
      

     ■ 버스 (Bus)

      

    - 메모리

      : 프로그램과 데이터를 저장하기 위한 공간
     
     


      



      ■ 주기억 장치
       : 프로그램이 실행되는 동안 프로그램과 데이터 저장
       : DRAM이 주로 사용

      ■ 보조 기억 장치
       : 주기억 장치보다 빈번하게 사용되지 않는 프로그램과 데이터 저장
       : HDD, SD, MMC

      ■ Cache
       : 주기억 장치의 접근 속도를 빠르게 하기 위해서 프로세서 주변에 배치된 소용량의 메모리
       : 프로세서가 읽고자 하는 명령이나 데이터를 최대한 빨리 프로세서에 전달하는데 목적
       : Data Inconsistency 발생 가능
       : SRAM이 주로 사용
       



      ■ Flash Memory


       



    - 입/출력 장치

      


     


      ■ Interrupt
      : Interrupt Latency? Interrupt가 발생했을 때부터 프로세서가 관련 ISR을 수행하기 시작할 때까지 걸린 시간
      : Interrupt Nesting? Interrupt는 비동기 이벤트이기 때문에 여러 개의 Interrupt가 동시에 발생할 수 있음, 모든 Interrupt에 대해 우선 순위를 정의해두고 높은 순위를 가지는 Interrupt를 낮은 순위의 Interrupt보다 우선적으로 처리

      
       


       


       



      ■ DMA (Direct Memory Access)

       : 같은 Bus를 사용할 경우 충돌 가능성

      



      ■ UART (A Universal Asynchronous Receiver/Transmitter)

      



      ■ GPIO (General Purpose I/O)
      



    - System Bus
      : Bus Handshaking
      : Wait Signals
      : Wait States
      ■ Architecture[폰-노이만(Von-Neumann) vs 하버드(Harvard Architecture)]
     

     



'Major > Linux' 카테고리의 다른 글

리눅스 - 가상 파일 시스템  (0) 2016.01.28
리눅스 - 파일 디스크립터  (7) 2016.01.28
리눅스 - 파일 시스템  (0) 2016.01.28
리눅스 - System Call  (0) 2016.01.28
리눅스 - 기초  (0) 2016.01.28

+ Recent posts