SSE 프리 페치 지침에 대한 인라인 어셈블리가 포함 된 코드로 작업하고 있습니다. 선행 처리 상수는 32-, 64- 또는 128- 바이 프리 페치에 대한 명령어가 사용되는지 여부를 결정합니다. 이 응용 프로그램은 다양한 플랫폼에서 사용되며, 지금까지는 각 경우에 주어진 CPU에 가장 적합한 옵션을 조사해야했습니다. 이것이 캐시 라인 크기라는 것을 이해합니다. 이 정보는 자동으로 얻을 수 있습니까?/proc/cpuinfo에 명시 적으로 나타나지 않는 것 같습니다.SSE 프리 페치 명령어 크기를 결정하는 방법은 무엇입니까?
답변
귀하의 질문은이 question 또는 this과 관련 있다고 생각합니다. OSID 또는 라이브러리 함수에 의존 할 수 없다면 CPUID 명령을 사용하는 것이 좋겠지 만 질문은 정확히 당신이 찾고있는 정보가됩니다. 물론 AMD와 Intel의 구현은 동의 할 필요가 없습니다. 이 page은 Cpuid.1.EBX [15 : 8] (즉, BH)를 사용하여 Intel에서 찾아서 AMD에서 80000005h로 작동하도록 제안합니다. 또한 인텔에서 CPUID.2는 관련 정보를 포함하고있는 것처럼 보이지만 원하는 정보를 파싱하는 것은 정말 고통스러운 것처럼 보입니다. CLFLUSH에 의해 사용되는 QUADWORDs에서 하나 개의 캐시 라인의 크기를 반환 : 내가 읽은 것을 모두 AMD와 인텔 CPUID 지침 CPUID.1.EBX [8 15] 지원에서
나는 생각한다 명령 (모든 프로세서에 존재하지 않으므로 항상 뭔가를 찾을 수 있는지 여부는 알 수 없습니다). 따라서 CPUID.1을 실행 한 후에는 BH에 8을 곱하여 캐시 라인 크기를 바이트 단위로 가져와야합니다. 이것은 CLFLUSH와 PREFETCHh 명령어에 대해 하나의 캐시 라인 크기 정의가 항상 동일하다는 내 암묵적인 가정 (모든 명령어가 실제로 유효한지 말할 수 있습니까?)에 달려 있습니다. 그것은 아무것도 인출을하는 경우도
, 인텔의 manuals PREFETCHh는 힌트 상태,하지만 즉, 항상 32 바이트의 최소 될 것입니다.EDIT1 : PREFETCHh의 최적화 된 사용을위한 또 다른 유용한 리소스 (질문에 직접 대답하지 않더라도)는 Intel의 최적화 설명서 here입니다.
- 1. ARM의 프리 페치 명령어
- 2. 프리 페치 예제?
- 3. 버퍼의 SSE 명령어
- 4. 사용자 정의 프리 페치
- 5. AltiVec에 MMX/SSE 명령어 포팅하기
- 6. 위치 기반 데이터 프리 페치
- 7. 특정 수준의 캐시로 프리 페치
- 8. 개체의 크기를 결정하는 방법은 무엇입니까?
- 9. 프리 페치 후크 기능을 내 자식
- 10. J2ME : 프리 페치 오류 -5. MediaException
- 11. ASP.net 캐시 항목의 크기를 결정하는 방법은 무엇입니까?
- 12. 텍셀에서 OpenGL 텍스처의 크기를 결정하는 방법은 무엇입니까?
- 13. 최적의 스레드 스택 크기를 결정하는 방법은 무엇입니까?
- 14. .NET에서 CPU 캐시 크기를 결정하는 방법은 무엇입니까?
- 15. Oracle 데이터베이스에 대해 Hibernate에서 페치 크기를 설정하는 방법은 무엇입니까?
- 16. ARM9 프리 페치 중단 예외가 소프트웨어 문제 일 수 있습니까?
- 17. C 컴파일러는 호출과 관련하여 데이터를 프리 페치 할 수 있습니까?
- 18. 프리 페치 전에 J2ME 플레이어 객체가 응답하지 않습니다.
- 19. SSE 마이크로 최적화 명령 주문
- 20. 배열에 메서드를 전달한 다음 배열의 크기를 결정하는 방법은 무엇입니까?
- 21. ExpandableListView 그룹 아이콘의 적절한 크기를 결정하는 방법은 무엇입니까?
- 22. 이진 문자열로 주어진 유형의 크기를 결정하는 효율적인 방법은 무엇입니까?
- 23. ASP.NET 캐시의 크기를 바이트 단위로 결정하는 방법은 무엇입니까?
- 24. IE에서 사용자가 볼 수있는 글꼴 크기를 결정하는 방법은 무엇입니까?
- 25. 텍스트 파일의 행 크기를 빠르게 결정하는 방법은 무엇입니까?
- 26. .net, winforms에서 아이콘 개체의 아이콘 크기를 결정하는 방법은 무엇입니까?
- 27. 보기의 크기를 다른보기의 크기에 따라 결정하는 방법은 무엇입니까?
- 28. Actionscript3에서 프리 로더를로드하는 방법은 무엇입니까?
- 29. 저장소를 결정하는 방법은 무엇입니까?
- 30. 점검 대상을 결정하는 방법은 무엇입니까?