x86 GNU 어셈블러에는 메모리 관련 작업에 다른 접미사가 있습니다. 예 : 이제 내 질문은 다음과 메모리에서 접미어가 캐시 작업에 미치는 영향
movb, movs, movw, movl, movq, movt(?)
입니다
:는 접미사 프로세서가 메인 메모리에서 데이터를 얻는 방법에 어떤 영향이 있거나 항상 32 비트 하나 이상의 (86됩니다합니까) 청크가 캐시에로드 되었습니까?
메모리 액세스 이외의 효과는 무엇입니까?
x86 GNU 어셈블러에는 메모리 관련 작업에 다른 접미사가 있습니다. 예 : 이제 내 질문은 다음과 메모리에서 접미어가 캐시 작업에 미치는 영향
movb, movs, movw, movl, movq, movt(?)
입니다
:는 접미사 프로세서가 메인 메모리에서 데이터를 얻는 방법에 어떤 영향이 있거나 항상 32 비트 하나 이상의 (86됩니다합니까) 청크가 캐시에로드 되었습니까?
메모리 액세스 이외의 효과는 무엇입니까?
"접미사"가 아닙니다. 6 가지의 다른 기계 지침을보고 있습니다. 각각은 서로 다른 양의 데이터를 이동합니다. movb
은 예를 들어 한 바이트 만 이동합니다.
이제 캐시에 대해 묻습니다. 전체 캐시 라인 만 캐시로 이동되는 경우가 항상 있습니다. 예를 들어, 캐시 크기가 16 바이트 인 경우 16 또는 32 바이트가 주 메모리 (하나 또는 두 개의 캐시 라인)에서 이동됩니다.
그러나 캐시에서 레지스터로 이동하는 것은 명령어에 따라 다릅니다.
메모리 액세스 방식에 영향을주지 않습니다. 그 영향을 줄 수있는 유일한 것은 CPU의 데이터 버스의 너비입니다. 영향을받는 것은 데이터 조작의 세분화입니다.