Длинный режим
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2023 г. ) |
Часть серии о |
Режимы микропроцессора для x86 архитектуры |
---|
|
В скобках указана первая поддерживаемая платформа. |
В длинный компьютерной архитектуре x86-64 режим — это режим, в котором 64-битная операционная система может получить доступ к 64-битным инструкциям и регистрам . 64-битные программы запускаются в подрежиме, называемом 64-битным режимом, а 32-битные программы и 16-битные программы защищенного режима выполняются в подрежиме, называемом режимом совместимости. Программы реального режима или виртуального режима 8086 не могут запускаться в длинном режиме.
Обзор
[ редактировать ]Процессор x86-64 действует идентично процессору IA-32 при работе в реальном или защищенном режиме, которые поддерживаются, когда процессор не находится в длительном режиме.
Бит в поле расширенных атрибутов CPUID сообщает программам в реальном или защищенном режимах, может ли процессор перейти в длинный режим, что позволяет программе обнаружить процессор x86-64. Это похоже на бит атрибутов CPUID, который процессоры Intel IA-64 используют, чтобы позволить программам определять, работают ли они в режиме эмуляции IA-32.
На компьютере с устаревшей версией BIOS BIOS и загрузчик работают в реальном режиме . После того, как выполнение переходит к ядру операционной системы , поддерживающему x86-64, ядро проверяет поддержку ЦП для длинного режима, а затем выполняет инструкции для входа в него. На компьютере под управлением UEFI прошивка UEFI (кроме CSM и устаревшего дополнительного ПЗУ ), любой загрузчик UEFI и ядро операционной системы работают в длинном режиме.
Ограничения памяти
[ редактировать ]Хотя размеры регистров увеличились до 64 бит по сравнению с предыдущей архитектурой x86 , адресация памяти еще не увеличена до полных 64 бит. В настоящее время нецелесообразно оснащать компьютеры достаточной памятью, чтобы требовать полные 64 бита. Пока это так, единицы загрузки/хранения, кэша теги , MMU и TLB могут быть упрощены без потери полезной памяти. Несмотря на это ограничение, программное обеспечение программируется с использованием полных 64-битных указателей и, следовательно, сможет использовать все более крупные адресные пространства по мере того, как они будут поддерживаться будущими процессорами и операционными системами.
Текущие лимиты
[ редактировать ]Первые процессоры, реализующие архитектуру x86-64, а именно процессоры AMD Athlon 64 / Opteron (K8), имели 48-битную виртуальную [1] : 129–130 и 40-битная физическая адресация . [1] : 4
Виртуальное адресное пространство этих процессоров разделено на две 47-битные области: одна начинается с наименьшего возможного адреса, а другая простирается вниз от наибольшего. Попытка использовать адреса, выходящие за пределы этого диапазона, приведет к общей ошибке защиты .
Предел физической адресации ограничивает объем установленной оперативной памяти , к которому компьютер может получить доступ. В системе ccNUMA многопроцессорной (Opteron) сюда входит память, установленная на удаленных узлах, поскольку ЦП могут напрямую обращаться (и кэшировать) ко всей памяти независимо от того, находится ли она на домашнем узле или на удаленном. Ограничение физической памяти в 1 ТБ (40 бит) для K8 огромно по стандартным стандартам персональных компьютеров, но могло быть ограничением для использования в суперкомпьютерах. Следовательно, K10 (или «10h») микроархитектура реализует 48-битные физические адреса и поэтому может адресовать до 256 ТБ ОЗУ. [2]
При необходимости микроархитектуру можно расширять шаг за шагом без побочных эффектов со стороны программного обеспечения и одновременно экономить средства на ее внедрении. Для будущего расширения архитектура поддерживает расширение виртуального адресного пространства до 64 бит и адресацию физической памяти до 52 бит (ограничено форматом записи таблицы страниц ). [3] Это позволит процессору обратиться к 2 64 байт (16 эксабайт ) виртуального адресного пространства и 2 52 байт (4 петабайта ) физического адресного пространства.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б «Руководство программиста по архитектуре AMD64, том 2: Системное программирование» (PDF) . 2016 . Проверено 9 апреля 2015 г.
- ^ «Руководство разработчика BIOS и ядра (BKDG) для процессоров семейства AMD 10h» (PDF) . п. 30 . Проверено 9 апреля 2015 г.
Физическое адресное пространство увеличено до 48 бит.
- ^ AMD 2016 , с. 24: «Архитектура AMD64 расширяет эту поддержку, позволяя транслировать 64-битные виртуальные адреса в 52-битные физические адреса, хотя реализации процессоров могут поддерживать меньшие пространства виртуальных и физических адресов».
Внешние ссылки
[ редактировать ]- Зейчик, Алан (3 декабря 2003 г.). «Платформы и инструменты для процессора AMD Athlon 64» . Разработчик. АМД. Архивировано из оригинала 14 февраля 2012 г.
Руководство по новым функциям длинного режима
- Чурдакис, Майкл (21 мая 2015 г.). «Учебное пособие по сборке в реальном, защищенном и длинном режиме для ПК» . Код проекта .