BIOS가 32/64 비트 대신 16 비트로 작동하는 이유는 무엇입니까? 모드로 작동합니다. 그게 사실이야?

내 선생님은 BIOS (또는 레거시 모드) 항상 내 PC를 16 비트 부팅.

즉, 23.9GHz의 Intel Core i291832를 사용할 수 있지만 레거시 모드를 사용하는 경우 PC는 16 비트 모드로 작동합니다. 그게 사실이야? 그렇다면 왜 그렇게됩니까?

추신 : 당신은 매우 기술적 일 수 있습니다. 나는 컴퓨터 과학을 가르치고있어 아마 당신이 말하는 것을 이해할 것입니다.
P.S2 : UEFI와 레거시 모드의 차이점을 알고 있습니다.



답변

이전 버전과의 호환성.

최신 x86 프로세서는 원본을 위해 작성된 소프트웨어를 실행할 수 있습니다. 8088 소프트웨어 에뮬레이션에 의지하지 않고 MS DOS와 같은. 일부 작업은 실행되지 않을 수 있습니다. 예를 들어 많은 게임은 타이밍을 위해 클럭 속도에 의존했기 때문에 5MHz에서 10 초 만에 일어난 일은 이제 2.5GHz에서 0.02 초에 가까운 것이 발생합니다. 행운을 빈다.

실제 모드 (16 비트)는 보호 모드 (32 비트) 및 긴 모드 (64 비트)와 다르게 동작합니다. 리얼 모드 용으로 작성된 프로그램은 보호 된 모드 나 긴 모드에서는 실행할 수 없으며 다른 명령어를 사용합니다.

이전 버전과의 호환성은 x86의 가장 중요한 특성 중 하나이므로 모든 x86 프로세서는 계속 실제 모드로 시작됩니다. (그렇지 않으면 아마 지금까지 덜 정신없는 아키텍처로 옮겨 갔을 것입니다. 인텔도 아이태니엄 .)

BIOS와 UEFI는 CPU가 아닌 마더 보드의 일부입니다. 따라서 원래의 IBM PC와 역 호환을 유지하고 있고 매우 단순한 BIOS는 부트 로더에 제어권을 넘겨 주므로 CPU를 리얼 모드로 남겨 둡니다. UEFI는 그러한 하위 호환성을 위해 설계되지 않았으므로 컨트롤을 전달하기 전에 보호 모드로 자유롭게 전환 할 수 있습니다. 그러나 UEFI 컴퓨터에서 동일한 x86 CPU를 꺼내서 호환되는 마더 보드가있는 BIOS 컴퓨터에 넣으면 여전히 작동 할 것입니다. 부트 로더를로드하기 전에 32 비트 보호 모드로 점프하는 것이 이제는 16 비트 모드로 유지됩니다 부트 로더 전에.


답변