비트책 

ARM 32bit Architecture

 

ARM 소개

ARM 아키텍처는 RISC (Reduced Instruction Set Computer) 아키텍처로, 원래는 "Acorn RISC Machine"으로 사용되었지만 이제는 "Advanced RISC Machines"

 

CISSC vs RISC

x86과 같은 CISC (Complex Instruction Set Computer) 프로세서는 단일 명령어 세트로 복잡한 작업을 수행 할 수있는 풍부한 명령어 세트를 가지고 있습니다.

 

instruction. 이러한 프로세서는 종종 기계 명령어를 내부 연산 시퀀스 (마이크로 코드)로 디코딩하는 상당한 양의 내부 로직을 가지고 있습니다.

 

반대로 RISC 아키텍처는 훨씬 적은 수의 범용 명령어를 가지고 있기 때문에 트랜지스터가 훨씬 적게 사용되어 실리콘을 더 저렴하고 효율적으로 사용할 수 있습니다.

 

다른 RISC 아키텍처와 마찬가지로 ARM 코어에는 많은 수의 범용 레지스터가 있으며 많은 명령어가 단일 사이클로 실행됩니다.

그것은 모든로드 / 저장 주소가 레지스터 내용과 명령 필드에서 결정될 수있는 간단한 어드레싱 모드를 가지고 있습니다

 

RISC 구조의 특징

로드 / 저장 아키텍처는로드 및 저장 작업에 의해서만 메모리에 액세스 할 수 있으며 메모리에서로드하고 레지스터에로드해야하는 모든 값은 "add reg, [address]"와 같은 작업을 허용하지 않습니다.

[메모리->레지스터->ALU연산 순서로 진행된다]

 

CICS 아키텍처의 또 다른 차이점은 분기 및 링크가 호출 될 때 (인텔 에서는 "호출"작업 임) 반환 주소는 스택이 아닌 특수 레지스터에 저장됩니다.

[Branch & Link시에 스택이 아닌 R14(Link레지스터)에 돌아올 주소 값 저장]

 

데이터 크기와 명령어 세트

The ARM is a 32-bit architecture.

 

When used in relation to the ARM:

  • Byte means 8 bits
  • Halfword means 16 bits(tow bytes)
  • Word means 32 bits (four bytes)

 

Most ARM's implement two instructions sets

  • 32-bit ARM Instruction Set
  • 16-bit Thumb Instruction Set

Jazelle cores can also execute Java bytecode

 

ARM Famliy

  • Classic or Cortext-A : with DSP, Floating Point, TrustZone e Jazelle extensions. ARMv5 e ARM6(2001)
  • Cortex-M : ARM Thumb®-2 technology which provides excellent code density. With Thumb-2 technology, the Coretex-M processors support a fundamental base of 16-bit Thumb instructions, extended to include more powerful 32-bit instructions. First Multi-core. (2004)
  • Cortex-R: ARMv7 Deeply pipelined micro-architecture, Flexible Multi-Processor Core (MPCore) configurations: Symmetric Multi-Processing (SMP) & Asymmetric Multi-Processing (AMP), LPAE extension.
  • Coretex-A50: ARMv8-A 64bit with load-acquire and store-release features, which are an excellent match for the C++11, C11 and Java memory models. (2011)

 

 

프로세서 모드

Mode Description  
User 대부분의 일반 작업이 실행되는 unprivileged mode USR
FIQ 높은 우선순위의 Fast Interrupt reQuest 요청이 있을때 진입 FIQ
IRQ 일반 우선순위의 Interrupt ReQuest 요청이 있을때 진입 IRQ
Supervisor Reset이 입력되거나 SoftWare Interrupt 요청이 있을때 진입 SVC
Abort 메모리 액세스 위반(violation)이 발생할 때 진입 ABT
Undef undefined instructions이 발생할 때 진입 UND
System User모드와 동일한 레지스터를 사용하는 privileged mode SYS

 

 

 

 

 

+ Recent posts