2012-10-03 2 views
1

나는 년 FPU 전에 몇 FPU 나이에 그 읽었습니다.전환 FPU는

여전히 사건을인가합니다 ( http://stereopsis.com/FPU.html의 소스를 확인), 그와 같은 전환하는 것은 내부 부동 소수점 코드를 많이 만들고, 일부 루프 속도를 높일 수 있습니다?

와 관련된 두 번째 질문, 내가 freelly 내 코드에서 FPU의 precission 장난감 FPU 라운딩 모드 및 시스템 면이 동일 시스템 (WINAPI) 예를 들어 통화를하고, API가도 망칠 수 있습니다 내 설정?

+1

MSDN의 _controlfp 기능 조회 –

+1

성능 향상을 위해이 작업을 수행하는 경우 SSE를 사용하지 않는 이유는 무엇입니까? SSE를 갖지 못한 시스템에서 성능을 중요하게 생각하는 것을 상상할 수 없습니다. – Mysticial

+2

나는 약간 다른 견해를 가진 Mysticial의 의견을 두 번째로 들었다. ** 역사적 ** 스택 기반 FPU는 80 비트 확장 부동 소수점 숫자에서 작동하지만 64 비트 또는 32 비트 가수로 제한 될 수 있습니다. 요즘 SSE2 명령어 세트에는 단 정밀도 또는 배정도 숫자를 직접 처리하는 명령어가 있습니다. 읽은 링크는 12 세입니다. 정밀도를 제한하기 위해 이전 FPU 명령어를 사용하는 것이 더 빠르다고 가정 할 이유가 없습니다. 그렇더라도 속도를 높이려는 코드가 SSE2 명령어를 사용하지 않는다고 확신하십니까? –

답변

0

내 생각에 레거시 x86 FPU의 속도에 대한 정밀도의 영향은 i486으로 끝났습니다. 8087 일 전의 일반적인 최적화였습니다.

+0

그 것 내가 언젠가 그것을 측정해야 할 것이다 :/개인적으로 나는 divs에 여전히 speedup을 줄 것이라고 생각한다. –