ARM Linux에서 사용자 커널 가상 주소 범위는 3 : 1 비율로 나뉩니다. 사용자 커널 주소 부분
그러나 MIPS 리눅스에서
이 보통 2 : 2누군가가이 디자인의 차이를 동기를 알고 있나요?
이것은 MIPS에서 TLB 리필이 s/w로 관리되고 커널 TLB 항목이 일종의 유선이며 TLB를 결코 겪지 않을 것이라는 사실과 관련이있다는 희미한 생각이 있습니다 미스.
ARM Linux에서 사용자 커널 가상 주소 범위는 3 : 1 비율로 나뉩니다. 사용자 커널 주소 부분
그러나 MIPS 리눅스에서
이 보통 2 : 2누군가가이 디자인의 차이를 동기를 알고 있나요?
이것은 MIPS에서 TLB 리필이 s/w로 관리되고 커널 TLB 항목이 일종의 유선이며 TLB를 결코 겪지 않을 것이라는 사실과 관련이있다는 희미한 생각이 있습니다 미스.
이것은 MIPS 32 비트 아키텍처의 제한 사항입니다. 대부분의 MIPS CPU에서 사용자 모드는 2GB로 제한됩니다.
사용자 모드에서 하위 2GB 가상 주소 (0x0000_00000 to 0x7fff_ffff
) 만 액세스 할 수 있습니다. 주소 공간의이 부분은 kuseg
입니다. Kuseg
주소는 TLB에 의해 번역됩니다. TLB 리필이 소프트웨어로 수행되는지 여부는 부적합합니다.
커널은 0x8000_0000 to 9fff_ffff
까지 확장되는 512MB 가상 공간에 있습니다. 주소 공간의이 부분은 kseg0
입니다. Kseg0 주소는 TLB에 의해 변환되지 않습니다. 이 주소는 MSB를 제거하여 변환됩니다 (즉, 가상 주소 범위 0x8000_0000-9fff_ffff는 실제 주소 범위 0x0000_0000-0x1fff_0000
에 고정되어 있습니다).
자세한 내용은 MIPS 설명서를 참조하십시오.