Busan IT/ARM Assembly2015. 11. 29. 17:54

==================================Outline====================================

ARM/ Thumb PCS - 레지스터 사용법

ARMInterrupt냄새를 어떻게 맡는가

ARM SoC (System On Chip) - ARM 그렇고 말고

AMBA - SoC안에서 IP끼리의 Bus 규격

Little EndianBig Endian

컴파일에 대한 단상

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

 

임베디드 레시피 p/126

 

 

ARM/ Thumb PCS - 레지스터 사용법

 

 

ARMaccumulator 레지스터가 따로 존재하지 않고 변수를 사용하여 연산을 한다.

 

r0 ~ r3까지의 레지스터 값은 함수를 사용할 때 가변한다고 가정한 후 사용해야 한다. 때문에 해당 레지스터 값을 보존하고 싶다면 스택에 백업을 해두어야 한다.

 

5번째 인자는 스택에 저장됨으로 인자가 5개로 늘어나면 속도가 느려진다는 점을 염두에 두어야 한다.

 

프로그램이 어떻게 동작하는지 확인하기 위해서는 컴파일시 ASM중간 파일을 생성하여 확인해보면 된다.

 

구조체의 복사는 대입 연산이 아닌 주소를 사용하여 복사하는 것이 프로그램을 효율적을 사용하는 방법이다.

 

** 인텔에서 구조체의 복사는 어떻게 이루어지는지 ASM를 통하여 확인해보자.

 

1. ASM파일 생성하여 확인

2. VS에서 debugging을 사용하여 확인

 

인자 4, 내부변수 8개까지는 스택을 쓰지 않는다. 외부에서 할당되어 스택에 구해 받지 않고 사용할 수 있는 레지스터들을 scratch라고 한다.

 

함수를 사용할 때 인자가 4개까지 필요하지 않더라도 프로그램의 효율을 위해 인자를 4개 선언하고 사용하지 않은 인자는 함수의 내부 변수로 사용하면 좋다.

 

ARM에서는 PC(P15)에 바로 값을 넣을 수 있다.

 

Java를 실행시키기 위해서는 JRE(Java Runtime Environment)가 있어야 한다.

 

ARMInterrupt냄새를 어떻게 맡는가

인터럽트를 위해 따로 전기 신호가 통하도록 선이 만들어져 있다.

 

인터럽트 중에 또 인터럽트가 발생했을 때 이것을 처리해 주는 것을 nesting이라고 한다. nesting에 대한 판단은 시스템에서 하게 된다.

ARM SoC (System On Chip) - ARM 그렇고 말고

 

SoC(System on Chip)은 코어와 함께 일련의 프로세서를 처리할 수 있는 장치들을 함께 연결하여 하나의 칩에 시스템을 구축하는 것이다. SoC는 레고 블록처럼 기능별로 하드웨어영역이 설정되어 있어 유연하게 추가 및 제거가 가능하다.

//SoC내부의 block들을 IP (Intellectual Property)라고 부른다.

//IP를 부착하고 제거 한 후 다른 기능들과 연동 가능하도록 연결해주는 작업이 필요하다.

AMBA - SoC안에서 IP끼리의 Bus 규격

 

내부 장치들간의 데이터를 주고 받기 위해서는 통신규약이 필요하다. ARM사는 이러한 통신 규약을 무료로 제공한다.이것을 AMBA라고 한다.

 

AHB는 고속, APB 저속 내부 통신 프로토콜이다. 버스 통신을 위해서는 통신을 제어하는 장치가 필요한데 이것을 Arbiter라고 한다.

 

통신의 순서는 위와 같고 도표로 나타내면 아래와 같다.

 

고속 버스 통신을 위해서는 burst를 사용하는데 이것을 주소를 한번 전송한 후 이후 연속된 데이터를 주소의 자동증가와 함께 보내는 것이다.

Little EndianBig Endian

 

리틀 엔디안은 낮은 주소 값을 갖는 데이터가 메모리 뒤에 위치하는 것이고, 빅 엔디안은 주소의 순서대로 데이터가 메모리에 저장되는 것이다. 인간이 쉽게 인식하는 방식은 빅 엔디안이다.

 

 

컴파일에 대한 단상

 

컴파일러는 인간이 인지하기 쉽도록 만들어진 컴퓨터 언어를 기계가 인지할 수 있도록 바꿔주는 장치이다.

 


반응형
Posted by newind2000