2012-04-20 5 views
3

나는 Tilera Instruction Set을 통해 열람했고, 더하기, 빼기, 곱하기, 나누기 및 이동 만한다는 것을 알았습니다. 뿌리, 힘, 통나무, 등등에 대한 언급이 없습니다.Tilera 및 SSE의 "Missing"산술 명령어. 작업은 어떻게 수행됩니까?

SSE (모든 맛)에는 후자의 지시 사항이 없습니다.

Tilera와 SSE는 모두 비디오 인코딩과 같은 수학 기반 처리를 위해 설계되었으므로 궁금합니다.

이러한 경우 (Tilera & SSE [일반 스칼라 작업 제외]) 이러한 작업 중 하나를 수행하는 방법은 무엇입니까?

+0

소프트웨어로 구현하십시오. 예를 들어, 하드웨어에서 자연 로그를 구현하는 데는 많은 실리콘이 필요합니다. – Mysticial

+0

@ 신비로운 ... 대답해야합니다. 한 시간 전에 네 웹 사이트에 있었어. Intel의 경우 스칼라 FP 명령어를 사용해야하고, Tilera의 경우 성능이 좋은 코드를 사용해야합니다. 크기가 2 배인 실리콘에서보다 느립니다. – IamIC

+0

lol XD ... 작은 세계. 어쨌든, 너무 많은 데이터 종속적 인 브랜칭이 없다면 벡터화 될 수 있습니다. 기존 소프트웨어 구현을 모두 가져 와서 SIMD로 모든 것을 바꾸면 이제는 동시에 두 가지 작업을 수행 할 수 있습니다. 나는 인텔 컴파일러가 모든 수학 함수의 (수직 벡터 라이즈 된) 구현을 가지고 있다고 믿는다. – Mysticial

답변

3

하드웨어를 간단하게 유지하기 위해 일반적으로 가장 일반적으로 사용되는 가장 기본적이고 간단한 지침 만 구현합니다.

가장 진보 된 기능은 일반적으로 사용되지 않으며 프로세서에서 많은 실리콘 및 다이 공간을 차지합니다. 삼각 함수, 로그, 힘 등은 구현하기가 어렵고 비용이 많이 든다.

거의 모든 특수 함수는 기본 연산 (덧셈/뺄셈/곱셈/나눗셈)으로 나눕니다. 따라서 이들을 제공하는 한 무엇이든 구현할 수 있습니다.

데이터 종속적 인 분기가 너무 많지 않으면 일반적으로 특수 기능을 벡터화 할 수 있습니다. 스칼라 구현을 취하고 모든 것을 SIMD 버전으로 대체하기 만하면됩니다.