Может ли 32-разрядная ОС работать в 64-битном процессоре?

В чем разница между 32-битной ОС и 64-разрядной ОС? Может ли 32-разрядная ОС работать в 64-битном процессоре?

  • Как я могу открыть 32-разрядный администратор источника данных ODBC в 64-разрядной версии Windows 7?
  • Различная переменная среды PATH для 32-битной и 64-битной Windows - возможно ли это?
  • Можно ли использовать 32-разрядный драйвер на 64-разрядной Windows 7?
  • Быстрый способ узнать, установлено ли установленное приложение 64-разрядной или 32-разрядной
  • Невозможно открыть IE 10 в 32-битном режиме
  • Запуск 64-разрядных программ на 32-битной системе
  • Что означает 32-битный процессор?
  • Невозможно получить доступ к некоторым сайтам с любым браузером
  • Запустить vcredist_x86.exe отсутствует MSVCR120.dll
  • Пакет языковых аксессуаров для Office 2016 не устанавливается на 64-разрядном Office
  • Установите Adobe Flash 64-бит в IE8 на W2K8 R2
  • Процессы Windows 7, начиная с приостановки
  • 4 Solutions collect form web for “Может ли 32-разрядная ОС работать в 64-битном процессоре?”

    Ваш вопрос специфичен для архитектуры. X64 по существу является расширением архитектуры x86. Он поддерживает 64-разрядное адресное пространство. Он содержит некоторые новые инструкции и новые регистры.

    Вы можете запускать 32-разрядные x86 Windows на машине x64. Обратите внимание, что вы не можете сделать это на 64-разрядных системах Itanium.

    64-битный процессор может работать как на 32, так и на 64 ОС (по крайней мере, на 64-разрядном процессоре). 32-битный процессор может работать только 32 изначально.

    Разница в основном связана с размером указателя / ссылки. На 64-битных машинах вы можете ссылаться на адрес в 64-битном адресном диапазоне (таким образом, вы получаете 2 ^ 64 байта памяти). На 32 бит вы можете адресовать только 2 ^ 32 байта (= 4 ГБ). Теперь, если вы посмотрите на текущие компьютеры, очевидно, почему мир переходит на 64-разрядный: 32-разрядная версия не может легко адресовать всю оперативную память.

    На x64 (AMD / Intel) у вас есть дополнительные преимущества 64 бит. ЦП имеет больше регистров и, следовательно, обеспечивает более эффективный код.

    На других архитектурах различия между 64 и 32 бит менее очевидны. Например, Nintendo 64 (помните, что?) Был 64-битной машиной, но большая часть его кода была 32 бит. Таким образом, в этом случае 64-разрядная версия послужила маркетинговым трюком.

    В настоящее время принятый ответ, как правило, правильный, но не так. В действительности нет ни одной вещи, называемой «32-разрядным процессором» или «64-разрядным процессором», – это описание, которое относится только к одной небольшой части архитектуры ЦП. В частности, оно ссылается на число Линий выбора адреса между ЦП и памятью, т. Е. Так называемое адресное пространство, доступное для операций с памятью.

    В дни, когда CPU, когда люди сидели и переплетали провода между процессором и памятью, вам пришлось бы использовать либо 32, либо (теоретически, потому что в то время не существовало) 64 проводов между CPU и контроллером памяти, которые будут использоваться для указания адреса памяти, к которому вы хотели получить доступ. Например, предположим, что у нас есть 2-битная архитектура памяти: отправка 00 будет выбирать адрес 0, 01 будет выбирать адрес 1, 10 будет выбирать адрес 2, а 11 будет выбирать адрес 3. Этот 2-бит дает нам 2 ^ 2 байта ОЗУ (4 байта).

    Если вы возьмете 32-битный процессор и добавите еще 32 провода между процессором и контроллером памяти, чтобы вы могли волноваться, чтобы поддерживать больше памяти, теперь у вас есть «64-разрядный процессор», который может запускать 32-разрядный Кода или 64-битного кода. Что это значит и как это происходит? Ну, давайте возьмем наш 2-битный процессор из более ранней части этого ответа и добавим еще один провод, превратив его в 3-битный процессор, взяв нас от 4 байт до 2 ^ 3 или 8 байтов ОЗУ.

    Существующий «2-байтовый» код будет работать, установив значения последних двух проводов, как указано выше (00-11). Мы подключаем дополнительное подключение к нулю по умолчанию, так что, фактически, когда выполняется 2-байтовый код, когда он выбирает 00, он фактически выбирает 000, и когда он выбирает 11, он фактически выбирает 011. Просто.

    Теперь программист хочет написать «родной» 3-байтовый код и записать свое программное обеспечение, чтобы воспользоваться дополнительным адресным пространством. Она рассказывает процессору, что она знает, что она делает, и что она будет вручную управлять новыми, дополнительными проводами. Ее программное обеспечение знает о дополнительных проводах и правильно отправляет 000-111, предоставляя ей полный доступ к диапазону памяти, поддерживаемому этой новой архитектурой процессора.

    Но это не так, как должно было случиться. На самом деле, как правило, это не так. Когда 64-битные процессоры были впервые введены (и их было много), все они прошли с совершенно новыми архитектурами / проектами. Они не просто зацепили еще на 32 провода и сказали: «Здесь вы идете, это 64-битный процессор, который вы можете использовать в 32-разрядном или 64-битном режиме», но они сказали: «Это наш новый процессор и Он только требует программирования на этом совершенно новом машинном языке, ведет себя совершенно по-новому, решает проблемы с множеством различных функций гораздо шире, чем старые 32-разрядные процессоры x86 / i386, и это родная 64-битная архитектура. «.

    Это была история Intel Itanium, которая теперь известна как «Itanic» из-за того, насколько сильно она опустилась. Предполагалось, что это будет означать новую 64-разрядную эпоху, и это было что-то посмотреть. Инструкции переменной длины, огромные кеши, 64-битное адресное пространство, тонны регистров, супер захватывающие, супер-крутые и супер-тяжелые, чтобы убедить всех перекомпилировать или переписать 20-летний код устаревшего кода. Это было снова, когда AMD и Intel на самом деле конкурировали, и у AMD была блестящая идея сказать «давайте забудем об этом», разрешим все проблемы в мире, и просто добавим еще 32 провода в i386 и сделаем 32-разрядную совместимую 64- Бит CPU "и появилась архитектура процессора x86_64.

    Фактически, если вы посмотрите на имена и источники ядра для основных операционных систем (Linux, Windows, BSD и т. Д.), Вы найдете их завален ссылками на процессоры AMD64 и архитектуру AMD64. AMD придумала выигрышную стратегию, чтобы заставить всех переключиться на 64-битный мир, сохранив при этом совместимость с 32-битными приложениями, таким образом, чтобы 32-разрядная ОС могла работать на 64-разрядном оборудовании или даже на 32-разрядных приложениях Может работать на 64-разрядной ОС на 64-битном оборудовании. Intel вскоре последовали за комплектом, а не с архитектурой Intel EM64T (которая в основном была идентичной AMD64), а x86_64 выиграл, в то время как Itanic и другие, подобные MIPS64 и ALPHA64, больше не видели на рынке настольных компьютеров.

    Tl; dr amd64 aka x86_64 Процессоры спроектированы так, чтобы быть совместимыми как с 32-, так и с 64-битным ядром и кодом, но большинство 64-разрядных процессоров явно не поддерживают обратную совместимость таким же образом. 32-разрядный процессор может получить доступ к 4 ГБ памяти, а 64-разрядный процессор может получить доступ к потрясающим 16 EiBs (16 × 1024 ^ 6 байт или 4 миллиарда раз больше, чем 4GiB).

    И 32, и 64-разрядная ОС могут работать на 64-битном процессоре, но 64-разрядная ОС может использовать полнофункциональный процессор 64-битного процессора (более крупные регистры, больше инструкций). Короче говоря, он может работать в одно и то же время. 32-битный процессор поддерживает только 32-битную ОС Windows.

    Давайте будем гением компьютера.