맨위로가기

롱 모드

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

롱 모드는 x86-64 프로세서가 리얼 모드 또는 보호 모드에서 실행될 때 IA-32 프로세서와 동일하게 작동하는 모드이다. CPUID 확장 속성 필드의 비트를 통해 롱 모드 전환 가능 여부를 알 수 있으며, 레거시 BIOS를 사용하는 컴퓨터에서는 BIOS와 부트 로더가 리얼 모드에서 실행된다. 운영 체제 커널은 롱 모드 지원을 확인한 후 롱 모드로 진입하며, UEFI를 사용하는 컴퓨터에서는 펌웨어, 부트 로더, 운영 체제 커널이 모두 롱 모드에서 실행된다. x86-64 아키텍처는 64비트 레지스터 크기를 가지지만, 메모리 주소 지정은 64비트를 모두 사용하지 않으며, 가상 주소 공간은 64비트, 물리 메모리 주소 지정은 52비트까지 지원한다.

더 읽어볼만한 페이지

  • 프로그래밍 언어 구현 - 어셈블리어
    어셈블리어는 사람이 이해하기 쉬운 니모닉 기호로 기계어 명령을 표현하는 저수준 프로그래밍 언어로서, 각 프로세서마다 사양이 다른 어셈블리어가 존재하며 하드웨어 직접 제어, 성능 최적화, 저수준 시스템 프로그래밍 등에 활용된다.
  • 프로그래밍 언어 구현 - 컴파일러
    컴파일러는 고급 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 저급 언어로 변환하는 프로그램으로, 어휘 분석, 구문 분석, 의미 분석, 최적화, 코드 생성 등의 단계를 거쳐 목적 코드를 생성하며, 네이티브 컴파일러, 크로스 컴파일러 등으로 분류되어 다양한 분야에서 활용된다.
  • 컴퓨터에 관한 - 고속 패킷 접속
    고속 패킷 접속(HSPA)은 3세대 이동통신(3G)의 데이터 전송 속도를 높이는 기술 집합체로, 고속 하향/상향 패킷 접속(HSDPA/HSUPA)을 통해 속도를 개선하고 다중 안테나, 고차 변조, 다중 주파수 대역 활용 등의 기술로 진화했으나, LTE 및 5G 기술 발전으로 현재는 상용 서비스가 중단되었다.
  • 컴퓨터에 관한 - 데이터베이스
    데이터베이스는 여러 사용자가 공유하고 사용하는 정보의 집합으로, 데이터베이스 관리 시스템을 통해 접근하며, 검색 및 갱신 효율을 높이기 위해 고도로 구조화되어 있고, 관계형, NoSQL, NewSQL 등 다양한 모델로 발전해왔다.
롱 모드
명칭
정식 명칭롱 모드
다른 명칭64비트 모드
아키텍처
아키텍처x86-64
유형운영 모드
설계자AMD
소개 시기2003년
기술적 세부 사항
특징64비트 가상 주소 공간
플랫 메모리 모델
확장된 레지스터 세트
호환성
이전 버전 호환성대부분의 기존 16비트 및 32비트 x86 코드를 실행할 수 있음
운영 체제 지원
지원 운영 체제리눅스
macOS
윈도우
BSD
관련 주제
관련 주제x86
x86-64
보호 모드
실제 주소 모드
가상 8086 모드

2. 작동 모드

x86-64 프로세서는 롱 모드와 레거시 모드를 지원한다. 레거시 모드는 리얼 모드보호 모드로 나뉜다. CPUID 확장 속성 필드 비트를 통해 x86-64 프로세서를 감지하고 롱 모드 전환 가능 여부를 알 수 있다. 레거시 BIOS 환경에서는 부트 로더 등이 리얼 모드로 실행되지만, x86-64 지원 운영 체제 커널로 실행이 넘어가면 CPU가 롱 모드를 지원하는지 확인 후 롱 모드로 진입한다. UEFI 환경에서는 펌웨어, 부트 로더, 운영 체제 커널 모두 롱 모드에서 실행된다.[1]

2. 1. 레거시 모드

x86-64 프로세서는 롱 모드가 아닌 경우, 리얼 모드 또는 보호 모드에서 실행될 때 IA-32 프로세서와 동일하게 작동한다.

CPUID 확장 속성 필드의 비트는 프로그램이 x86-64 프로세서를 감지하고, 리얼 모드 또는 보호 모드에서 롱 모드로 전환할 수 있는지 여부를 알려준다. 이는 인텔(Intel) IA-64 프로세서가 IA-32 에뮬레이션에서 실행 중인지 프로그램이 감지할 수 있도록 사용하는 CPUID 속성 비트와 유사하다.

레거시 BIOS를 실행하는 컴퓨터에서 BIOS와 부트 로더는 리얼 모드에서 실행된다. x86-64를 지원하는 운영 체제 커널로 실행이 전달된 후, 커널은 CPU가 롱 모드를 지원하는지 확인한 다음 롱 모드로 진입하기 위한 명령을 실행한다. UEFI를 실행하는 컴퓨터의 경우, UEFI 펌웨어(CSM 및 레거시 Option ROM 제외), 모든 UEFI 부트 로더 및 운영 체제 커널은 모두 롱 모드에서 실행된다.

2. 2. 롱 모드

x86-64 프로세서는 롱 모드가 아닌 경우 지원되는 모드인 리얼 모드 또는 보호 모드에서 실행될 때 IA-32 프로세서와 동일하게 작동한다.

CPUID 확장 속성 필드의 비트는 프로세서가 롱 모드로 전환할 수 있는지 여부를 리얼 모드 또는 보호 모드의 프로그램에 알려주며, 이를 통해 프로그램은 x86-64 프로세서를 감지할 수 있다. 이는 인텔(Intel) IA-64 프로세서가 IA-32 에뮬레이션에서 실행 중인지 프로그램이 감지할 수 있도록 사용하는 CPUID 속성 비트와 유사하다.

레거시 BIOS를 실행하는 컴퓨터에서 BIOS와 부트 로더는 리얼 모드에서 실행된다. x86-64를 지원하는 운영 체제 커널로 실행이 전달된 후, 커널은 롱 모드에 대한 CPU 지원을 확인한 다음 롱 모드로 진입하기 위한 명령을 실행한다. UEFI를 실행하는 컴퓨터의 경우, UEFI 펌웨어(CSM 및 레거시 Option ROM 제외), 모든 UEFI 부트 로더 및 운영 체제 커널은 모두 롱 모드에서 실행된다.

3. 메모리 제한

x86 아키텍처에서 레지스터 크기는 64비트로 증가했지만, 메모리 주소 지정은 아직 전체 64비트를 사용하지 않는다. 현재 컴퓨터에 64비트 전체를 필요로 하는 메모리를 갖추는 것은 비현실적이기 때문이다. 이러한 상황에서는 로드/저장 장치, 캐시 태그, MMUTLB를 단순화할 수 있다. 이러한 제한에도 불구하고, 소프트웨어는 전체 64비트 포인터를 사용하여 프로그래밍되며, 향후 프로세서 및 운영 체제에서 지원됨에 따라 점진적으로 더 큰 주소 공간을 사용할 수 있게 될 것이다.

3. 1. 초기 제한

초기 x86-64 아키텍처를 구현한 AMD 애슬론 64/옵테론 (K8) CPU는 48비트 가상 주소[1] 및 40비트 물리 주소[1] 지정을 가지고 있었다.

이러한 프로세서의 가상 주소 공간은 두 개의 47비트 영역으로 나뉘는데, 하나는 가장 낮은 주소에서 시작하고 다른 하나는 가장 큰 주소에서 아래로 확장된다. 이 범위를 벗어나는 주소를 사용하려고 하면 일반 보호 오류가 발생한다.

K8의 물리 메모리 제한 1TB(40비트)는 일반적인 개인용 컴퓨터 표준으로는 매우 크지만 슈퍼컴퓨터에서 사용하기에는 제한적일 수 있다.

3. 2. 현재 및 미래 확장

x86-64 아키텍처는 초기에는 48비트 가상 주소[1]와 40비트 물리 주소를 지원했다.[1] 이후 K10 마이크로아키텍처는 48비트 물리 주소를 지원하여 최대 256 TB의 RAM을 주소 지정할 수 있게 되었다.[2]

x86-64 아키텍처는 최대 64비트 가상 주소와 52비트 물리 주소를 지원하도록 설계되어, 향후 더 큰 메모리 확장이 가능하다. 이러한 확장은 소프트웨어에 영향을 주지 않고 단계적으로 이루어질 수 있다. 이를 통해 프로세서는 16 EB (264 바이트)의 가상 주소 공간과 4 PB (252 바이트)의 물리 주소 공간을 주소 지정할 수 있다.

4. CPUID 확장 속성

x86-64 프로세서가 롱 모드를 지원하는지 확인하기 위해, 프로그램은 CPUID 확장 속성 필드의 비트를 확인할 수 있다. 이를 통해 프로그램은 x86-64 프로세서를 감지할 수 있는데, 이는 인텔 IA-64 프로세서가 IA-32 에뮬레이션에서 실행 중인지 프로그램이 감지하는 방식과 유사하다.[1]

참조

[1] 웹사이트 AMD64 Architecture Programmer's Manual Volume 2: System Programming http://support.amd.c[...] 2015-04-09
[2] 웹사이트 BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors http://support.amd.c[...] 2015-04-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com