ARM7 강좌 [1] : 강좌 소개

 


● 강좌 소개


  RISC칩 중에 가장 널리 사용되고 있는 것의 하나인 ARM7에 대하여 다루어 보려고 합니다. 부족한 점이 많겠지만, 이 강좌를 통해 ARM7을 공부하시는 분들에게 조금이나마 도움이 되었으면 하고, 아울러 저 역시 어떤 보람을 얻을 수 있었으면 합니다.


● 강좌에서 다루고자 하는 내용들

  

  - 개요

  - 구조

  - 레지스터

  - Exception(1)

  - Exception(2)

  - Instruction Set(1)

  - Instruction Set(2)

  - Instruction Set(3)

  - StrongARM

  사실 ARM 아키텍처의 경우엔 관련 문서가 아주 잘 만들어져 있습니다. www.arm.com 사이트에 들어가면 해당 문서를 PDF형태로 받아 볼 수 있고 내용도 아주 잘 정리되어 있습니다. 강좌를 통해 어느 정도 기본을 익히고 해당 자료를 찾아 공부하신다면, 빠른 시일 내에 ARM을 익힐 수 있으리라 생각됩니다.


--------------------------------------------------------------------------------------------


ARM7 강좌 [2] : 개요

 


● ARM7의 특징

  

  ARM의 가장 큰 특징은 전력을 조금만 소모한다는 것입니다. 일설에 의하면, ARM을 설계할 때, 요즘 CPU를 설계하는 방법처럼 VHDL등을 사용한 것이 아니라 일일이 회로를 그려가면서 했다는 설도 있습니다. 사실이야 어떻든, ARM의 저-전력 설계기술은 널리 알려진 사실입니다. 이런 이유 때문에, ARM CPU는 상대적으로 전력이 중요하게 여겨지는 휴대용 단말기에 많이 채택되고 있습니다.


  이제 이런 일반적인 내용말고, 좀 구체적인 내용으로  들어가  보겠습니다. 다음은 ARM7의 특징들입니다.


  1. 32 Bit RISC 프로세서

    : ARM7은 내부적으로 32Bit의 데이터 버스와 32Bit의 어드레스 버스를 제공합니다. 내부적이란 말은, ARM7이 Core 형태로 여러 종류의 칩에 탑재되기 때문인데, 어떤 칩은 어드레스 라인을 내부적으로는 32비트를 사용하고 외부적으로는 메모리 매니지먼트 유닛을 통해 24비트를 사용하기도 합니다. 그리고 잘 알려져 있듯이 ARM은  대표적인 RISC 코어입니다.

  

  2. Big/Little Endian 모드지원

    : 엔디안이라는 것은, 흔히 역-워드 방식이라고 말하는 것과 관련이 있습니다. 인텔 계열의 CPU에서는 메모리에 여러 바이트의 내용을 저장 할 때, 하위 바이트가 먼저 오고 상위 바이트일 수록 뒤에 오는데, 이런 형태를 Little Endian이라고 합니다. 또 모토롤라 계열의 CPU처럼 가장 상위 바이트가 먼저 오는 방식이 Big Endian입니다. 해당 설정은 ARM7이 구현된 칩에 따라 틀리지만, 보통 칩 외부에서 핀 입력을 받아 결정됩니다.


 3. High Performance RISC

    : ARM7 의 경우 3V를 사용하고 25MHz의 Clock을 사용할 때 약 17MIPS가 나온다고 합니다.


 4. Fast Interrupt Response

    : 인터럽트 처리를 빠르게 해 줄 수 있는 FAST인터럽트 기능이 있습니다. 후에 레지스터 부분에서 자세히 다루겠지만, 레지스터 셋을 따로 제공해서, 인터럽트 처리루틴에서 레지스터를 저장, 복구하는 시간을 줄이는 방식입니다.


  5. Excellent high level language support

    : 인스트럭션 셋을 살피면, C나 다른 언어에서 일반적으로 사용하는 기능들을 바로 구현할 수 있는 명령어들이 제공됩니다. 예를 들어 변수의 앞, 뒤에 ++나 --를 붙이는  형식의 오퍼레이션을 제공합니다.


 6. Simple & Powerful Instruction Set

    : ARM의 명령어는 그 종류가 적으면서도, 다양하게 적용시킬 수 있는 특징이 있습니다. 이후에 다루게 되면 여러분들도 느끼시겠지만, 배우기 쉽고, 또 강력한 기능을 제공합니다.


  오늘은 ARM7의 전반적인 내용에 대해 간단히 언급했습니다. 사실 ARM을 개인적으로 사용하기는 쉽지 않은 일입니다. 왜냐하면, ARM을 사용한 칩을 구하기가 쉽지 않기 때문인데요, 최근 CPU인 만큼, 나오더라도 SMD타입으로 나오는 것이 많고 소량으로 구매하기가 쉽지가 않습니다.


  하지만, 여러분들이 회사에서 일을 하게 되면, 사정이 달라집니다. ARM은 비교적 저렴하면서도 가격에 비해 좋은 성능을 보이고, 게다가 저-전력 소모라는 강력한 장점을 가지고 있기 때문입니다. 국내 반도체 업계에서도 LG, 삼성, 현대 등, 모두 ARM 코어를 사용한 칩을 생산하고 있습니다. 그리고, ARM을 사용할 때의 장점중의 하나는, ARM사에서 개발환경과 도큐먼트 등을 제공한다는 것입니다.


  내용은 되도록 쉽게 쓰려고 노력했는데, 어땠는지 모르겠군요. 그러면 다음 강좌에서 뵙겠습니다. 다음 강좌에서는 ARM7의 블록 구조에 대해서 살펴볼 생각입니다.


+ Recent posts