본문 바로가기

ARM7

ARM7 강좌 [14] : Instruction Set(8) (출처 : 디지털 동호회) 2007/10/19 - [임베디드/ARM] - ARM7 강좌 [13] : Instruction Set(7) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [14] : Instruction Set(8) ---------------------------------------------------------------------- 오늘 다룰 명령은 SWP와 SWI두가지 입니다. Co - Process 명령을 제외하면 이 명령이 마지막이겠군요... 코프로세서는 다루지 않을 생각이니... 참 홀 가분한 느낌입니다. 1. Single Data Swap : {cond}{B} Rd,Rm,[Rn] 레.. 더보기
ARM7 강좌 [13] : Instruction Set(7) (출처 : 디지털 동호회) 2007/10/19 - [임베디드/ARM] - ARM7 강좌 [12] : Instruction Set(6) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [13] : Instruction Set(7) ---------------------------------------------------------------------- * Block Data Transfer 명령(LDM,STM) 해당 명령은 개인적인 생각으로 참 독특하다고 생각합니다. 지난 강좌에 서 다루었던 LDR, STR과 마찬가지로 실제 메모리에 레지스터의 내용을 전 달 하거나, 전달 받을 수 있는 명령입니다. ARM7에서.. 더보기
ARM7 강좌 [12] : Instruction Set(6) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [12] : Instruction Set(6) ---------------------------------------------------------------------- 정말 오랜만에 강좌를 쓰는군요. 생활에 여유가 좀 있어서 강좌를 시작했는 데 예상보다 강좌가 길어지고 더불어 점점 다른 일들이 생겨서 요즘에는 통 시간을 낼 수가 없었습니다. 혹... 강좌를 기다리신 분이 계시다면 죄송하다는 말씀을 드려야 겠군요. 아무래도 강좌를 빨리 정리해야겠다는 생각이 듭니다. 자꾸 늘어지니까, 저 도 부담스럽고... 읽으시는 분들에게도 폐를 끼치는 것 같아서... 남은 부.. 더보기
ARM7 강좌 [11] : Instruction Set(5) (출처 : 디지털 동호회) 2007/10/19 - [임베디드/ARM] - ARM7 강좌 [10] : Instruction Set(4) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [11] : Instruction Set(5) ---------------------------------------------------------------------- * PSR Transfer 명령 기억하실런지 모르겠지만 PSR이란 Program Status Register 로서 플래그 비트와 Control 비트들로 구성된 레지스터입니다. 해당 레지스터의 값을 일반 레지스터로 옮기거나 반대의 일을 하는 명령이 PSR Trans.. 더보기
ARM7 강좌 [10] : Instruction Set(4) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [10] : Instruction Set(4) ---------------------------------------------------------------------- 오늘 강좌에서는 Data Processing Instruction에 대해서 계속 이어나가도록 하겠습니다. 되도록이면 오늘 이부분을 다 커버하고 싶습니다만 해봐야 겠 지요. 지난 강좌에서 다루었던 내용중 오퍼랜드쪽 부분은 계속 겹치는 내용 이므로 의문이 생기시면 이전 강좌로 돌아가서 확인해 보시길 바랍니다. 1) MVN{cond}{S} Rd,Op2 해당 명령은 Rd:=NOT Operand2 의 의.. 더보기
ARM7 강좌 [9] : Instruction Set(3) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [9] : Instruction Set(3) ---------------------------------------------------------------------- 지난번 강좌를 쓰고나서 이것 저것 생각을 해봤는데, 내용이 좀 어렵지 않 았나 싶네요. 인스터럭션의 코드를 가지고 접근하는 방식은 디지털쪽의 기 초지식과 어셈블리에 대한 보편적인 지식을 갖고 접근하는 방법이어서, 혹 그런 기본지식이 없으신 분들에게는 딱딱하고 어렵게 느껴졌을지도 모른다 는 생각을 혼자(?) 했습니다. 강좌에대한 피드백이 없어서... 쩝... 그냥 나름대로 생각하고 쓰고 있는 데요... 더보기
ARM7 강좌 [9] : Instruction Set(3) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [9] : Instruction Set(3) ---------------------------------------------------------------------- 지난번 강좌를 쓰고나서 이것 저것 생각을 해봤는데, 내용이 좀 어렵지 않 았나 싶네요. 인스터럭션의 코드를 가지고 접근하는 방식은 디지털쪽의 기 초지식과 어셈블리에 대한 보편적인 지식을 갖고 접근하는 방법이어서, 혹 그런 기본지식이 없으신 분들에게는 딱딱하고 어렵게 느껴졌을지도 모른다 는 생각을 혼자(?) 했습니다. 강좌에대한 피드백이 없어서... 쩝... 그냥 나름대로 생각하고 쓰고 있는 데요... 더보기
ARM7 강좌 [8] : Instruction Set(2) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [8] : Instruction Set(2) ---------------------------------------------------------------------- 이번 강좌에서는 데이터 프로세싱 명령에 대해 다루려 합니다. 해당 명령은 ARM7 의 50%정도에 해당하는 명령입니다. 실제 개수는 16개이고, 연산명령 과 비교명령, 비트연산명령, 데이터 전송 명령 등이 포함됩니다. * Data Processing Instruction 데이터 전송명령의 형식은 다음과 같습니다. -----------------------------------------------.. 더보기
ARM7 강좌 [7] : Instruction Set(1) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [7] : Instruction Set(1) ---------------------------------------------------------------------- * ARM7 인스터럭션의 특징 AMR7은 32 Bit 코어입니다. 특징적인 것은 모든 명령어가 32Bit 하나의 Word로 구성된다는 것입니다. 8086의 경우엔 명령어에 따라 1바이트 명령 부터 5바이트 까지 있나요? 그런데, ARM7은 모든 명령어를 한 워드로 처 리 합니다. 일단은 명령어의 개수가 몇 안되고, 주소는 상대주소 방식을 사용하며, 심지어는 Immediate 상수값도 32비트 값은.. 더보기
ARM7 강좌 [6] : Exception(2) (출처 : 디지털 동호회) ---------------------------------------------------------------------- ARM7 강좌 [6] : Exception(2) ---------------------------------------------------------------------- * Exception Overview Exception을 처음부터 완전히 이해 할 필요가 있다고는 생각하지 않습니 다. 대부분의 것들이 그러하듯 우선은 이런게 뭐다 라고 파악만 하고 있 다면, 정작 필요할 경우에 다시 자세히 살펴보아도 좋을 것입니다. 그런 취지에서 Exception을 바라본다면, ARM 7 에는 여섯가지의 CPU 동작 모드를 지원한다는 사실과, 차후 MMU 같은것에도 그 동작모드가 관여한다.. 더보기
ARM7 강좌 [5] : Exception(1) (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [5] : Exception(1) ---------------------------------------------------------------------- * Exception 우선 Exception이 무엇을 말하는지부터 정리해 보고자 합니다. 일반적으 는 인터럽트와 유사한 개념으로 사용합니다. 어떻게 보면 인터럽트 보다 는 조금 큰 개념이랄 수도 있고, 정확한 정의에 대해서는 말씀을 드리지 못하겠군요. 개념을 ARM7에서의 Exception으로 한정해서 말씀드리겠습니 다. 구체적으로 ARM7에는 FIQ(Fast Interrupt reQ.. 더보기
ARM7 강좌 [4] : 레지스터 (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [4] : 레지스터 ---------------------------------------------------------------------- * ARM7의 레지스터 지난 강좌에서 ARM7에는 31개의 General Purpose 레지스터와 6개의Status 레지스터가 있다고 말씀드렸습니다. 물론 모두 32비트 레지스터 입니다. 그런데 ARM7의 어셈블러에서 사용하는 범용 레지스터 키워드는 r0 에서 r15 까지 16개 밖에는 되지 않습니다. 즉, 다시 말해서 사용자가 한번에 사용할 수 있는 레지스터는 16개 입니다. 그중에 몇개는 프로그.. 더보기
ARM7 강좌 [3] : ARM7의 구조 (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [3] : ARM7의 구조 ---------------------------------------------------------------------- * ARM7의 구조 1. 레지스터 : ARM7에는 31개의 32Bit 레지스터가 있습니다. 또, 동작모드에 따르는 -여기서 동작모드는 Exception부분에서 자세히 다루겠습니다.- 6개의 Status 레지스터가 있습니다. 2. ALU : 32Bit 연산이 가능한 ALU가 제공됩니다. 그런데 특이한 것은 ALU의 한쪽 입력은 Barrel Shifter라는것이 연결되어 있어서 ALU의 인수 하.. 더보기
ARM7 강좌 2 개요 (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [2] : 개요 ---------------------------------------------------------------------- * ARM7의 특징 ARM의 가장 큰 특징은 전력을 조금만 소모한다는 것입니다. 일설에 의하 면, ARM을 설계할 때, 요즘 CPU를 설계하는 방법처럼 VHDL등을 사용한 것 이 아니라 일일이 회로를 그려가면서 했다는 설도 있습니다. 사실이야 어 떻든, ARM의 저전력 설계기술은 널리 알려진 사실입니다. 이런 이유 때문 에, ARM CPU는 상대적으로 전력이 중요하게 여겨지는 휴대용 단말기에 많 이 채.. 더보기