글 수 83
예전에 하이텔 소프트동호회 어셈블리 게시판에 올렸던 글입니다.
제 목:[참고] sse와 정수연산 레지스터 속도비교 관련자료:없음 [6592]
보낸이:유영천 (yuchi ) 2001-05-16 09:45 조회:68
궁금해하시는 분이 계셔서 간단하게 테스트 해서 올립니다.
예상 오차는 1클럭 정도.mul,div와 sse의 mulss,divss,mulps,divps
가 사용방식이 약간 달라서 1클럭 정도의 오차는 있을 수 있습니다.
rdtsc는 30-31클럭인데 거의 31클럭인거 같습니다.
일단 rdtsc를 31클럭으로 가정합니다.
테스트 기종은 p3 450과 p3 600듀얼.당연한 얘기겠지만 두 기종 모두
동일한 결과였습니다.메모리는 전혀 사용하지 않았고 레지스터만 갖
고 테스트했습니다.
5/3(sse에선 5.0f / 0.3f)
div rdtsc 포함 67클럭(따라서 나눗셈 자체는 36클럭
divss(sse) rdtsc 포함 45클럭(따라서 나눗셈 자체는 14클럭
divps(sse의 simd) rdtsc 포함 62클럭(따라서 나눗셈 자체는 31클럭
5*3(sse에선 5.0f * 3.0f)
mul rdtsc 포함 34클럭(따라서 곱셈 자체는 3클럭)
mulss(sse) rdtsc 포함 33클럭(따라서 곱셈 자체는 2클럭)
mulps(sse의 simd) rdtsc 포함 33클럭(따라서 곱셈 자체는 2클럭)
눈여겨 볼 부분은 나눗셈의 경우 단일 float연산이면 정수 나눗셈보다
훨 빠르고 simd일 경우에도 약간 더 빠르다는 점입니다.
제 목:[참고] sse와 정수연산 레지스터 속도비교 관련자료:없음 [6592]
보낸이:유영천 (yuchi ) 2001-05-16 09:45 조회:68
궁금해하시는 분이 계셔서 간단하게 테스트 해서 올립니다.
예상 오차는 1클럭 정도.mul,div와 sse의 mulss,divss,mulps,divps
가 사용방식이 약간 달라서 1클럭 정도의 오차는 있을 수 있습니다.
rdtsc는 30-31클럭인데 거의 31클럭인거 같습니다.
일단 rdtsc를 31클럭으로 가정합니다.
테스트 기종은 p3 450과 p3 600듀얼.당연한 얘기겠지만 두 기종 모두
동일한 결과였습니다.메모리는 전혀 사용하지 않았고 레지스터만 갖
고 테스트했습니다.
5/3(sse에선 5.0f / 0.3f)
div rdtsc 포함 67클럭(따라서 나눗셈 자체는 36클럭
divss(sse) rdtsc 포함 45클럭(따라서 나눗셈 자체는 14클럭
divps(sse의 simd) rdtsc 포함 62클럭(따라서 나눗셈 자체는 31클럭
5*3(sse에선 5.0f * 3.0f)
mul rdtsc 포함 34클럭(따라서 곱셈 자체는 3클럭)
mulss(sse) rdtsc 포함 33클럭(따라서 곱셈 자체는 2클럭)
mulps(sse의 simd) rdtsc 포함 33클럭(따라서 곱셈 자체는 2클럭)
눈여겨 볼 부분은 나눗셈의 경우 단일 float연산이면 정수 나눗셈보다
훨 빠르고 simd일 경우에도 약간 더 빠르다는 점입니다.