2011-01-15 5 views
2

매핑 된 I/O의 주소 범위가 입력/출력 명령을 사용하더라도 쓰기 되돌림 (WB)으로 입력되는 경우 메모리 매핑 I/O 연산 (인텔 프로세서에서)이 여전히 캐시됩니까?메모리가 I/O 명령을 사용하여 (인텔 프로세서에서) I/O 연산을 매핑 ... 여전히 캐시됩니까?

편집 : 이 질문은 해결되었습니다. 나는 MMIO가 캐시 가능하다는 것을 알아 냈고 MMIO 작업은 메모리 유형에 따라 재정렬 될 수있다. 그래서 Intel은 MTRR을 UC (uncacheable)로 설정하여 MMI를 설정하는 것이 좋습니다. Intel 소프트웨어 개발자 매뉴얼 v3A에서도 발견되었지만 AMD 프로세서에도 적용될 수 있습니다 ...

+3

in 및 out 명령어를 사용한 메모리 매핑 - 어떻게 관련되어 있습니까? –

+0

메모리 매핑 I/O는 메모리와 I/O 장치를 모두 주소 지정하기 위해 동일한 주소 버스를 사용합니다. – prinzrainer

+2

그리고 in/out 명령은 시스템 메모리와 별도의 주소 공간을 사용합니다. 입출력 사용은 mmio가 아닙니다. – Michael

답변

0

MMIO (x86 시스템에서) 실제로 캐시 가능하도록 설정할 수 있지만 가능한 경우에도 IO 지침을 사용하면 MMU의 해당 부분을 우회 할 수 있다고 생각합니다. CPU는 사용자가 작성한 IO 주소가 내부적으로 장치의 동일한 MMIO 주소에 매핑됩니다. MMIO 영역의 캐시 가능성을 어떻게 설정하고 있습니까?

+0

일부 장치 IO는 메모리 영역의 캐시 가능성을 제어 할 수있는 MTRR (메모리 유형 범위 레지스터)을 설정하여 실제 메모리의 일부 영역에 매핑됩니다. – prinzrainer

+0

늦게 답장을해서 죄송합니다. 답변! 내가 MMIO의 캐시 가능성에 대해 틀렸다고 생각합니다 ... 캐시 가능하도록 미리 가져 오기 가능한 MMIO 공간을 설정하는 것이 일반적인 것처럼 보입니다! –