본문 바로가기
Embedded System/Embedded Recipes

2.3 ARM mode와 Thumb mode

by 리미와감자 2022. 8. 15.

2.3 ARM mode와 Thumb mode

 

  • ARM mode와 Thumb mode

  ARM mode는 알겠는데, Thumb mode는 무엇일까? thumb은 알다시피 엄지손가락을 의미하며 최고를 뜻한다. 그럼 무언가 최고의 성능을 내기위한 mode가 아닐까 추측해본다.

 

  ARM mode는 32bit Instruction set이고, Thumb mode는 16bit Instruction set이다. 이말이 무엇인가 하면, ARM은 32bit RISC machine임을 우리는 알고있다. 그래서 ARM은 32bit로 동작할 때 최상의 Performance를 낸다.즉 Word가 32bit일 때 제일 효율이 좋다는 것이다. 참고로, 제품군에 T가 들어있으면 Thumb mode를 지원한다는 의미이다. 예) ARM7TDMI

 

  하지만, 메모리의 상황은 그렇지 않다. 메모리의 경우는 ARM이 만들어질 당시 32bit data line을 제공하지 못하고 16bit data line을 제공하고 있었다. 그래서, 16bit data bus를 가진 메모리와 ARM의 CPU가 최대의 효율을 내기위해 ARM에서 16bit Instruction set을 제공하는 것이다.

 

  16bit data bus 메모리를 사용할 때, Thumb mode가 ARM mode보다 70% code 압축 효과가 있고, 130% 성능 개선을 해준다.16bit data bus 메모리라고해서 ARM mode를 못 쓰는 것이 아님을 명심해야한다. Instruction을 두 번 fetch해오면 되니 문제생길 일이 없다.

 

  Thumb 모드는 별도의 프로세서가 아닌 보조 하드웨어를 거쳐서 ARM Instruction으로 변환된다. 이 변환은 하드웨어에서 이루어지기 때문에 별도의 속도 저하가 일어나지 않는다.

 

  결론적으로, ARM mode와 Thumb mode는 ARM core가 몇 bit로 동작할 것인지를 결정하는 것이다. 32bit Instruction인가? 16bit Instruction인가?

 

1. ARM mode는 32bit Instruction Set, Thumb mode는 16bit Instruction Set를 제공한다.
2. 제품에 T가 들어있으면 Thumb mode를 지원한다는 의미이다.

참고

http://recipes.egloos.com/4985218

 

ARM mode와 THUMB mode

ARM mode와 Thumb mode라는 말을 들어봤을 거라 믿어 의심치 않는 이 마당에, 도대체 ARM mode와 Thumb mode는 무엇인지 뜀틀 짚고 폴짝 넘어보겠습니다.

recipes.egloos.com

https://kwangyulseo.com/2006/09/23/arm-thumb-%EB%AA%A8%EB%93%9C/

 

ARM Thumb 모드

ARM(Advanced RISC machines) 프로세서의 Thumb 모드에 대한 글을 써야겠다고 마음 먹고 있다가 시간을 내어 글을 쓰게 되었습니다. ARM 프로세서는 일반적인 32비트 인스트럭션 셋을 제공하는 ARM 모

kwangyulseo.com

 

'Embedded System > Embedded Recipes' 카테고리의 다른 글

2.3 ARM 동작 Mode  (7) 2022.08.15
2.2 ARM Inside  (1) 2022.08.15
2.1 Microprocessor  (1) 2022.08.15
1.18 일반적인 CPU의 동작 예(Core)와 Pipe Line  (1) 2022.08.15
1.17 확장 to the CPU - How CPU works  (2) 2022.08.12

댓글