롱 모드

Long mode

x86-64 컴퓨터 아키텍처에서 롱 모드64비트 운영 체제가 64비트 명령레지스터에 액세스할 수 있는 모드입니다.64비트 프로그램은 64비트 모드라고 하는 서브 모드로 실행되고 32비트 프로그램과 16비트 보호 모드 프로그램은 호환성 모드라고 불리는 서브 모드로 실행됩니다.리얼 모드 또는 가상 8086 모드 프로그램은 롱 모드에서 기본적으로 실행할 수 없습니다.

개요

x86-64 프로세서는, 리얼 모드 또는 보호 모드로 동작하는 경우 IA-32 프로세서와 같이 동작합니다.이러한 프로세서는, 롱 모드가 아닌 경우에 서포트되고 있습니다.

[ CPUID extended attributes ]필드의 비트는 프로세서가 롱모드로 이행할 수 있는지 여부를 실제 모드 또는 보호 모드로 프로그램에게 알립니다.이것에 의해, 프로그램은 x86-64 프로세서를 검출할 수 있습니다.이것은, 인텔 IA-64 프로세서가 IA-32 에뮬레이션으로 동작하고 있는지를 검출하기 위해서 사용하는 CPUID 어트리뷰트 비트와 비슷합니다.

레거시 BIOS를 실행하는 컴퓨터에서는 BIOS 및 부트 로더가 Real 모드로 실행되며 64비트 운영 체제 커널이 CPU를 확인하고 Long 모드로 전환한 다음 64비트 코드를 실행하는 새로운 커널 모드 스레드를 시작합니다.UEFI를 실행하는 컴퓨터에서는 UEFI 펌웨어(CSM 및 레거시 옵션 ROM 제외), UEFI 부트 로더 및 UEFI 운영 체제 커널이 모두 롱 모드로 실행됩니다.

메모리 제한

레지스터 사이즈는 이전 x86 아키텍처에서 64비트로 증가했지만 메모리 어드레싱은 아직 64비트로 증가하지 않았습니다.당분간은 컴퓨터에 64비트를 풀로 필요로 하는 충분한 메모리를 탑재하는 것은 비현실적입니다.이 경우 사용 가능한 메모리 손실 없이 로드/스토어 유닛, 캐시 태그, MMUTLB를 단순화할 수 있습니다.이러한 제한에도 불구하고 소프트웨어는 완전한 64비트 포인터를 사용하여 프로그래밍되므로 향후 프로세서와 운영체제에 의해 지원되기 때문에 점차적으로 더 큰 주소 공간을 사용할 수 있습니다.

전류 한계치

x86-64 아키텍처를 구현한 최초의 CPU, 즉 AMD Athlon 64/Opteron(K8) CPU는 48비트[1]: 129–130 가상 주소와 40비트의 물리 주소[1]: 4 가지고 있었습니다.

이들 프로세서의 가상 주소 공간은 2개의 47비트 영역으로 나누어져 있습니다.하나는 가능한 가장 낮은 주소에서 시작하여 다른 하나는 가장 큰 주소에서 확장됩니다.이 범위를 벗어나는 주소를 사용하려고 하면 일반적인 보호 장애가 발생합니다.

물리 주소 지정의 제한에 의해서, 컴퓨터에 액세스 할 수 있는 인스톨 끝난 RAM 의 용량이 제한됩니다.ccNUMA 멀티프로세서시스템(Opteron)에서는 CPU는 홈노드 또는 리모트에 관계없이 모든 메모리를 직접 어드레스(및 캐시)할 수 있기 때문에 리모트노드에 설치되어 있는 메모리가 포함됩니다.K8의 물리 메모리의 1TB 제한(40비트)은 일반적인 퍼스널 컴퓨터 표준에서는 매우 크지만 슈퍼컴퓨터에서 사용하기에는 제한이 있었을 수 있습니다. 결과, K10 (또는 「10h」)마이크로 아키텍처는 48 비트의 물리 주소를 실장하고 있기 때문에, 최대 256 TB의 RAM [2]에 대응할 수 있습니다.

필요에 따라 소프트웨어의 부작용 없이 마이크로아키텍처를 단계적으로 확장하는 동시에 구현 비용을 절감할 수 있습니다.향후 확장을 위해 이 아키텍처는 가상 주소 공간을 64비트로 확장하고 물리 메모리 주소 지정을 52비트로 지원합니다(페이지 테이블엔트리 [3]형식에 따라 제한됨).이것에 의해, 프로세서는 2 바이트(16 엑사바이트)의 가상 주소 공간과 252 바이트(4 페타바이트)의 물리 주소 공간을 할당할64 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b "AMD64 Architecture Programmer's Manual Volume 2: System Programming" (PDF). 2016. Retrieved 2015-04-09.
  2. ^ "BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors" (PDF). p. 30. Retrieved 2015-04-09. Physical address space increased to 48 bits.
  3. ^ AMD 2016, 페이지 24: "AMD64 아키텍처는 64비트의 가상 주소를 52비트의 물리 주소로 변환할 수 있도록 이 지원을 강화합니다.단, 프로세서의 실장에서는 가상 주소 및 물리 주소 공간을 줄일 수 있습니다."

외부 링크