1. NEON의 자료형
2. NEON 벡터의 크기
A. NEON 벡터(변수)는 레지스터와 연결되어 있으며, NEON 함수는 레지스터를 제어하기 위해서 사용된다. 다음은 벡터의 종류와 크기를 정의한 것이다.
B. 더블 워드 (64bit) NEON 벡터 (D 레지스터)
C. 쿼드 워드 (64bit) NEON 벡터 (Q 레지스터)
B. 더블 워드 (64bit) NEON 벡터 (D 레지스터)
- 8개의 8비트 요소
- 4개의 16비트 요소
- 2개의 64비트 요소
- 1개의 64비트 요소
C. 쿼드 워드 (64bit) NEON 벡터 (Q 레지스터)
- 16개의 8비트 요소
- 8개의 16비트 요소
- 4개의 32비트 요소
- 2개의 64비트 요소
D. NEON 벡터 형태인 더블 워드 NEON 벡터는 D 레지스터와 연결되어 있고, 쿼드 NEON벡터는 Q레지스터와 연결되어 있다. 더블 워드 NEON 벡터는 64bit 크기의 연산을 지원하고 쿼드 워드 NEON 벡터는 128bit 크기의 연산을 지원한다.
E. NEON 벡터는 NEON함수의 동작이나 연산으로 얻은 결과를 같은 형태의 NEON벡터에 대입할 수 있고, 다른 형태의 NEON 벡터에도 대입할 수 있다.
F. 즉, 더블 워드 벡터를 더블 워드 벡터에, 쿼드 워드 벡터를 쿼드 워드 벡터에 대입할 수 있으며, 더블 워드벡터를 쿼드 워드 벡터에, 쿼드 워드벡터를 더블 워드 벡터에 대입할 수도 있다.
3. NEON 레지스터
A. NEON에서는 Q 레지스터 16개와 D 레지스터 32개를 포함하여 총 256 byte의 레지스터를 사용하여 연산한다.
B. 256 byte중에서 D레지스트는 VFP(부동 소수점) 레지스터와 공유한다.
C. NEON은 D레지스터를 VFP레지스터와 공유하므로 NEON 연산과 VFP 연산을 동시에 사용하면 레지스터가 충돌하여 예상하지 못한 결과가 발생한다.
댓글 없음:
댓글 쓰기