최신 64 비트 CPU가 있습니다. BIOS가 여전히 16 비트 REAL 모드로 작동합니까?


11

여전히 부팅이 필요하기 때문에 x64 / AMD64 64 비트 시스템에서 BIOS가 여전히 16 비트 명령어를 사용하는지 궁금합니다. REAL MODE에서도 작동합니까?


Wikipedia : " BIOS 제한 (16 비트 프로세서 모드, 1MiB 주소 지정 가능 공간, PC AT 하드웨어 종속성 등)은 최신 컴퓨터 플랫폼에서는 명백히 수용 할 수없는 것으로 나타났습니다. EFI (Extensible Firmware Interface)는 런타임을 대체하는 사양입니다. 레거시 BIOS의 인터페이스. "
Daniel Beck

@Daniel Beck, 저는 EFI가 Mac과 Itanium 전용이라고 생각했습니다.
unixman83

7
@ unixman83-Sandy Bridge가 출시 된 이후 대부분의 새로운 Intel 마더 보드가 EFI에서 실행되고 있습니다. 불도저가 타격을 받으면 AMD가 소송을 따를 것으로 보입니다. 실제로는 2TB보다 큰 경우 MFT로 포맷 된 디스크는 부팅 할 수 없습니다. 일반적으로 막 시작된 ​​한도입니다. GPT 포맷 디스크를 부팅하려면 EFI가 필요합니다 (훨씬 클 수 있음)
Shinrai

@ unixman83 : 답변이 아니라 Shinrai의 의견을 복사 / 붙여 넣기 때문에 "답변"을 삭제했습니다.
studiohack

BIOS가 GPT를 읽고 이해하는 것을 막는 것은 없으며 부트 로더는 BIOS 호출을 사용하여 2TB 이상을 액세스 할 수 있으므로 큰 디스크에 대한 "EFI의 필요성"은 (슬프게 널리 퍼져있는) 신화입니다.
Patrick Georgi

답변:


6

x86 프로세서는 여전히 실제 모드에서 시작됩니다. BIOS는 하드웨어를 초기화하는 동안 보호되거나 긴 모드로 전환 할 수있는 자유롭고 때로는 강제적이지만 운영 체제 (또는 부트 로더)로 제어권을 넘겨 줄 때 실제 모드로 되돌아 가야합니다. 이 로더는 시스템이 들어올 것으로 예상합니다.

corebootUEFI는 초기에 보호 모드로 전환하지만 PCBIOSes (phoenix / award, ami 등)의 경우에는 알 수 없습니다. 그들은 폐쇄 소스이며 일반적으로 내부에 대해별로 말하지 않으며 인터페이스는 모두 실제 모드로 지정됩니다.

ECC RAM으로 실행되는 시스템의 경우 모든 RAM을 처리 할 수있는 일부 모드로 전환 할 수 있으므로 적어도 보호 모드로 전환됩니다. 즉, 메모리를 초기화해야하기 때문입니다 (각 주소에 약간의 값 쓰기) )는 부팅시 또는 나중에 일부 코드에서 기록되지 않은 주소를 읽는 경우 (가양 성 오류를 일으킬 수있는 오류 감지로 인해) 중지됩니다. 그러나 말했듯이, 그것은 BIOS 내부에 있으며, 필사자들이 쉽게 알아낼 수 있거나 생각해야 할 것은 없습니다.

tl; dr : BIOS는 외부에서 볼 수있는 모든 지점에서 리얼 모드에 있으므로 모든 의도와 목적을 위해 항상 리얼 모드로 실행될 수 있습니다.


1
원래 IBM PC AT BIOS조차도 메모리 테스트를 위해 보호 모드로 전환되었습니다.
Yuhong Bao
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.