본문 바로가기

Programming/NEON

[NEON] 기본 개념

NEON의 자료형

{0,1}을 통한 다항식 산술이란 숫자 0과 1을 이용하여 bool 산술 규칙을 이용하는 것을 말한다.


NEON 벡터의 크기

NEON 벡터(변수) 는 레지스터와 연결되어 있고, NEON 함수는 레지스터를 제어하기 위해서 사용된다.


더블워드(64bit) NEON벡터(D 레지스터)

  0 + 0 = 1 + 1 = 0,    0 + 1 = 1 + 0 = 1,   0 * 0 = 0 * 1 = 1 * 0 = 0,    1 * 1 = 1



- 8개의 8비트 요소

- 4개의 16비트 요소

- 2개의 64비트 요소

- 1개의 64 비트 요소


쿼드워드(128bit) NEON벡터(Q 레지스터)

- 16개의 8비트 요소

- 8개의 16비트 요소

- 4개의 32비트 요소

- 2개의 64비트 요소


더블워드 NEON 벡터는 64bit 크기의 연산을 지원하고, 쿼드워드 NEON 벡터는 128bit 크기의 연산을 지원한다.


NEON 레지스터

NEON에서는 Q레지스터와 16개의 D레지스터 32개를 포함하여 총 256byte의 레지스터를 사용하여 연산한다.

256byte 중에서 D레지스터는 VFP(부동 소수점) 레지스터와 공유한다. VFPv2는 D0~D15 레지스터를 사용하고, 

VFPv3은 D0~D31 까지 사용한다.

NEON은 D레지스터를 VFP 레지스터와 공유하므로 NEON 연산과 VFP연산을 동시에 사용하면 레지스터가 충돌하여 예상치 못한 결과가 발생할수 있다.


'Programming > NEON' 카테고리의 다른 글

[NEON] 비트와 시프트 연산  (0) 2016.09.23
[NEON] 레인 설정과 조회  (0) 2016.09.23
[NEON 산술 연산과 확장  (0) 2016.09.23
[NEON] 함수 정리 (로드 함수, 저장 함수)  (0) 2016.09.23
[NEON] 벡터 자료형  (0) 2016.09.23