Amd64 microsoft windows что это

  • Введение
  • 1. Архитектура AMD64
    • 1.1. Описание архитектуры
    • 1.2. Достоинства архитектуры
    • 1.3. Недостатки архитектуры
  • 2. Программная модель AMD64
  • 3. Перенос приложений на AMD64
  • Заключение
  • Библиографический список

В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.

Введение

Развитие задач, решаемых с помощью вычислительной техники, постоянно повышает требования к аппаратуре, на которой эти задачи решаются. Требования к вычислительным системам класса персональных компьютеров увеличиваются уже более 20 лет год от года. Это происходит из-за желания людей решать на персональных компьютерах все более сложные задачи, которые ранее решались лишь на высокопроизводительных мэйнфреймах.

Какие же требования возникают к персональным компьютерам для решения сложных задач? Разумеется, это требования по объему оперативной памяти и быстродействию процессора (не путать с частотой!). Господствующая последнее десятилетие архитектура IA32 (Intel Architecture 32) предлагает 4Гб (2^32) оперативной памяти, из которой приложению обычно доступно только 2Гб, различные блоки регистров, а также наборы ухищрений типа блока предсказания переходов, которые должны повысить производительность системы без повышения такого абстрактного параметра как частота процессора [1].

Современные задачи для персональных компьютеров по памяти уже подходят к 2Гб, а повышение частоты процессоров не приводит к повышению производительности.

Решением проблемы ограничений современных 32-битных машин в какой-то степени стало появление 64-битных архитектур SPARC64 и Intel Itanium. Однако они предназначены для hi-end систем и недоступны в качестве дешевых решений. По настоящему массовыми предназначено стать архитектуре AMD64 компании AMD и ее реализации EM64T компании Intel. Эти архитектуры являются близнецами и программы, скомпилированные для одной из них, запускаются и на другой. Однако исторически первой появилось именно решение от AMD. EM64T является всего лишь фактически реализацией AMD64 от Intel. Архитектура AMD64 в настоящее время реализована в процессорах всех классов: мобильных, рабочих станциях, серверах.

Несмотря на явные преимущества платформы AMD64 (о которых подробно говорится в представленной статье), ничего революционно нового в вычислительной технике она не несет. Переход от 32-х бит к 64-м не привел к качественным улучшениям, в то время как прошлый подобный переход от 16-ти к 32-битам заметно повысил надежность и производительность систем.

1. Архитектура AMD64

Архитектура AMD64 полностью описывается в пяти томах документации, предоставляемой компанией AMD. В этой главе представлен краткий обзор, основанный на первом томе [2]. Обратим внимание на то, что в официальной документации данная архитектура обозначается как AMD x86-64, что подчеркивает ее обратную совместимость.

1.1. Описание архитектуры

Архитектура AMD x86-64 простое, но в то же время мощное обратно-совместимое расширение устаревшей промышленной архитектуры x86 [1]. Она добавляет 64-битное адресное пространство и расширяет регистровые ресурсы для поддержки большей производительности для перекомпилированных 64-битных программ, обеспечивая поддержку устаревшего 16-битного и 32-битного кода приложений и операционных систем без их модификации или перекомпиляции.

Необходимость 64-битной x86 архитектуры определяется приложениями, которым необходимо большое адресное пространство. Это высокопроизводительные серверы, системы управления базами данных, CAD-системы и конечно игры. Такие приложения получат преимущество от 64-битного адресного пространства и увеличения количества регистров. Малое количество регистров, доступное в устаревшей x86 архитектуре ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.

Архитектура x86-64 вводит две новые особенности:

1. расширенные регистры (рисунок 1):

  • 8 регистров общего назначения (general-purpose registers);
  • все 16 регистров общего назначения 64-битные;
  • 8 новых 128-битных XMM регистров;
  • новый командный префикс (REX) для доступа к расширенным регистрам.

2. специальный режим «Long Mode» (устоявшегося перевода пока нет), который представлен в таблице 1:

  • до 64-бит виртуальных адресов;
  • 64-битные указатель команд (RIP);
  • плоское (flat) адресное пространство.

a0029_amd64_em64t_ru/image1.png

Рисунок 1. Набор регистров x86-64

a0029_amd64_em64t_ru/image3.png

Таблица 1. Режимы работы процессора

Таблица 2 содержит сравнение ресурсов регистров и стека, доступных приложению в различных режимах. Левые колонки показывают ресурсы устаревшей x86 архитектуры, которые доступны только для совместимости. Правые колонки показывают ресурсы доступные в 64-битном режиме. Серым цветом показано отличие между режимами.

a0029_amd64_em64t_ru/image5.png

Таблица 2. Регистры и стек, доступные в различных режимах

Как показано в таблице 2, устаревшая архитектура x86 (такой режим называется legacy mode в x86-64) поддерживает 8 регистров общего назначения. Однако в действительности, в основном, используются лишь 4 регистра EAX, EBX, ECX, EDX. Регистры EBP, ESI, EDI, ESP имеют специальное назначение. Архитектура x86-64 добавляет 8 новых регистров общего назначения и увеличивает размер регистров с 32-х до 64-х бит. Это позволяет компиляторам повышать производительность кода. 64-битный компилятор может лучше использовать регистры для хранения переменных. Компилятор также может минимизировать обращения к памяти, локализуя работу внутри регистров общего назначения.

Архитектура x86-64 поддерживает весь набор инструкций x86 и добавляет некоторые новые инструкции для поддержки long-режима. Команды разбиты на несколько подмножеств:

  • Команды общего назначения. Это основные x86 целочисленные команды, используемые во всех программах. Большинство из них предназначены для загрузки, сохранения, обработки данных, расположенных в регистрах общего назначения или памяти. Некоторые из этих инструкций управляют потоком команд, обеспечивая переход к другому месту в программе.
  • 128-битные медиа-команды. Это SSE и SSE2 (streaming SIMD extension) команды, предназначенные для загрузки, сохранения, или обработки данных, расположенных в 128-битных XMM регистрах. Они выполняют целочисленные или с плавающей точкой операции над векторными (упакованными) и скалярными типами данных. Поскольку векторные инструкции могут независимо выполнять одну операцию над множеством данных, они называются single-instruction, multiple-data (SIMD) командами. Они используются для медиа- и научных приложений для обработки блоков данных.
  • 64-битные медиа-команды. Это multimedia extension (MMX) и 3DNow! команды. Они сохраняют, восстанавливают и обрабатывают данные, расположенные в 64-битных MMX регистрах. Подобно их 128-битным аналогам, описанным выше, они выполняют целочисленные и с плавающей точкой операции надо векторными (упакованными) и скалярными данными.
  • x87 команды. Предназначены для работы с плавающей точкой в старых x87 приложениях. Обрабатывают данные в x87 регистрах.

Некоторые из этих команд соединяют два или более подмножества описанных выше команд. Например, это команды пересылки данных между регистрами общего назначения и XMM или MMX регистрами.

Рассмотрим более подробно представленные в таблице 1 режимы работы, поддерживаемые архитектурой x86-64. В большинстве случаев размеры адресов и операндов могут быть перекрыты префиксом команды.

Сначала опишем long-режим. Это расширение устаревшего защищенного (protected) режима. Long-режим состоит из двух подвидов: 64-битный режим и режим совместимости. 64-битный режим поддерживает все новые возможности и регистровые расширения, введенные в x86-64. Режим совместимости поддерживает бинарную совместимость с существующим 16-битным и 32-битным кодом. Long-режим не поддерживает устаревший реальный (real) режим или устаревший виртуальный (virtual-8086) режим, а также не поддерживает аппаратное переключение задач.

Поскольку 64-битный режим поддерживает 64-битное адресное пространство, то для его работы необходимо использовать новую 64-битную операционную систему. Существующие приложения при этом могут запускаться без перекомпиляции в режиме совместимости под операционной системой, работающей в 64-битном режиме. Для 64-битной адресации команд используется 64-битный регистр (RIP) и новый режим адресации с единым плоским (flat) адресным пространством и единым пространством для кода, стека и данных.

64-битный режим реализует поддержку расширенных регистров через новую группу префиксов команд REX.

В 64-битном режиме размер адресов по умолчанию 64 бита, однако реализации x86-64 могут иметь меньший размер. Размер операнда по умолчанию 32 бита. Для большинства инструкций размер операнда по умолчанию может быть перекрыт с использованием префикса команд типа REX.

64-битный режим обеспечивает адресацию данных относительно 64-битного регистра RIP. x86 архитектура обеспечивала адресацию относительно IP регистра только в командах передачи управления. RIP-относительная адресация повышает эффективность позиционно-независимого кода и кода, который адресует глобальные данные.

Несколько кодов операций (opcode) команд были переопределены для поддержки расширенных регистров и 64-битной адресации.

Режим совместимости предназначен для выполнения в 64-битной операционной системе существующих 16-битных и 32-битных программ. Приложения запускаются в режиме совместимости с использованием 32- или 16-битного адресного пространства и могут иметь доступ к 4Гб виртуального адресного пространства. Префиксы команд могут переключать 16- и 32-битные адреса и размеры операндов.

С точки зрения приложения, режим совместимости выглядит как устаревший защищенный режим x86, однако с точки зрения операционной системы (трансляция адресов, обработки прерываний и исключений) используются 64-битные механизмы.

Устаревший (legacy) режим обеспечивает бинарную совместимость не только с 16- и 32-битными приложениями, но и с 16- и 32-битными операционными системами. Он включает в себя три режима:

  • Защищенный (protected) режим. Поддерживаются 16- и 32-битные программы с сегментной организацией памяти, поддержкой привилегий и виртуальной памяти. Адресное пространство — 4Гб.
  • Виртуальный (virtual-8086) режим. Поддерживает 16-битные приложения, запускаемые как задачи в защищенном режиме. Адресное пространство — 1Мб.
  • Реальный (real) режим. Поддерживает 16-битные программы с простой регистровой адресацией сегментированной памяти. Не поддерживается виртуальная память или привилегии. Доступно 1Мб памяти.

Устаревший (legacy) режим используется только при работе 16- и 32-битных операционных систем.

1.2. Достоинства архитектуры

Подчеркнем основные достоинства архитектуры AMD x86-64:

  • 64-битное адресное пространство.
  • Расширенный набор регистров.
  • Привычный для разработчиков набор команд.
  • Возможность запуска старых 32-битных приложений в 64-битной операционной системе.
  • Возможность использования 32-битных операционных систем.

1.3. Недостатки архитектуры

Серьезных недостатков в 32-битную архитектуру новая архитектура AMD x86-64 не внесла. Отметить можно разве лишь чуть большие требования программ к памяти из-за того, что увеличился размер адресов и операндов. Однако это серьезно не скажется ни на размере кода, ни на требованиях к объему доступной оперативной памяти.

Но фактом является и то, что AMD x86-64 не привнесла ничего существенно нового. Нет принципиального повышения производительности. В среднем после перекомпиляции программы можно ожидать прирост производительности в пределах 5-15%.

2. Программная модель AMD64

Практически все современные операционные системы сейчас имеют версии для архитектуры AMD64. Так Microsoft предоставляет Windows XP 64bit, Windows Server 2003 64bit, Windows Vista 64bit. Крупнейшие разработчики UNIX систем также поставляют 64-битные версии, как например Linux Debian 3.1 x86-64. Однако это не означает, что весь код такой системы является полностью 64-битным. Часть кода ОС и многие приложения вполне могут оставаться 32-битными, т.к. AMD64 обеспечивает обратную совместимость.

64-битная версия Windows, к примеру, использует специальный режим WoW (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы. Рассмотрим более подробно программную модель AMD64, доступную программисту в 64-битной системе Windows, для краткости называемой Win64.

Начнем с адресного пространства. Хотя 64-битный процессор теоретически может адресовать 16 экзабайт памяти (2^64), Win64 в настоящий момент поддерживает 16 терабайт (2^44). Этому есть несколько причин. Текущие процессоры могут обеспечивать доступ лишь к 1 терабайту (2^40) физической памяти. Архитектура (но не аппаратная часть) может расширить это пространство до 4 петабайт (2^52). Однако в любом случае, необходимо огромное количество памяти для страничных таблиц, отображающих память (см. таблицу 3).

32-битный режим

64-битный режим

Общее адресное пространство процесса

4Гб

16Тб

Адресное пространство, доступное 32-битному процессу

2Гб (3Гб, если система загружена с ключом /3GB)

4Гб, если приложение скомпилировано с ключом /LARGEADDRESSAWARE (2Гб иначе)

Адресное пространство, доступное 64-битному процессу

Невозможно

8Тб

Нерезидентный пул (paged pool)

470Мб

128Гб

Резидентный пул (non-paged pool)

256Мб

128Гб

System Page Table (PTE)

660Мб — 900Мб

128Гб

Таблица 3. Основные ограничения памяти в Windows

Как и в Win32, адресуемый диапазон памяти делится на пользовательские адреса и на системные. Каждый процесс получает 8Тб и 8Тб остается системе (в отличие от 2Гб и 2Гб в Win32 соответственно). Различные версии Windows имеют различные ограничения, представленные в таблице 4.

Физическая память и количество процессоров

32-битные модели

64-битные модели

Windows XP Home

4 Гбайт, 1 CPU

Не существует

Windows XP Professional

4 Гбайт, 1-2 CPU

128 Гбайт, 1-2 CPU

Windows Server 2003, Standard

4 Гбайт, 1-4 CPU

32 Гбайт, 1-4 CPU

Windows Server 2003, Enterprise

64 Гбайт, 1-8 CPU

1 Тбайт, 1-8 CPU

Windows Server 2003, Datacenter

64 Гбайт, 8-32 CPU

1 Тбайт, 8-64 CPU

Windows Server 2008, Datacenter

64 Гбайт, 2-64 CPU

2 Тбайт, 2-64 CPU

Windows Server 2008, Enterprise

64 Гбайт, 1-8 CPU

2 Тбайт, 1-8 CPU

Windows Server 2008, Standard

4 Гбайт, 1-4 CPU

32 Гбайт, 1-4 CPU

Windows Server 2008, Web Server

4 Гбайт, 1-4 CPU

32 Гбайт, 1-4 CPU

Vista Home Basic

4 Гбайт, 1 CPU

8 Гбайт, 1 CPU

Vista Home Premium

4 Гбайт, 1-2 CPU

16 Гбайт, 1-2 CPU

Vista Business

4 Гбайт, 1-2 CPU

128 Гбайт, 1-2 CPU

Vista Enterprise

4 Гбайт, 1-2 CPU

128 Гбайт, 1-2 CPU

Vista Ultimate

4 Гбайт, 1-2 CPU

128 Гбайт, 1-2 CPU

Таблица 4.Ограничения различных версий Windows.

Также как и в Win32 размер страницы составляет 4Кб. Первые 64Кб адресного пространства никогда не отображаются, т.е. наименьший правильный адрес это 0x10000. В отличие от Win32, системные DLL загружаются выше 4Гб.

Все процессоры, реализующие AMD64, имеют поддержку для «CPU No Execution» бита, который Windows использует для реализации аппаратной технологии «Data Execution Protection» (DEP), которая запрещает исполнение пользовательских данных вместо кода. Это позволяет повысить надежность программ, исключая влияние ошибок типа выполнения буфера с данными как кода.

Особенность компиляторов для AMD64 в том, что они могут наиболее эффективно использовать регистры для передачи параметров в функции, вместо использования стека. Это позволило разработчикам Win64 архитектуры избавиться от такого понятия как соглашение о вызовах (calling convention). В Win32 можно использовать разные соглашения (способы передачи параметров): __stdcall, __cdecl, __fastcall и т.д. В Win64 есть только одно соглашение о вызовах. Рассмотрим пример, как передаются в регистрах четыре аргумента типа integer:

  • RCX: первый аргумент
  • RDX: второй аргумент
  • R8: третий аргумент
  • R9: четвертый аргумент

Аргументы после первых четырех integer передаются на стеке. Для float аргументов используются XMM0-XMM3 регистры, а также стек.

Разница в соглашениях о вызове приводит к тому, что в одной программе нельзя использовать и 64-битный, и 32-битный код. Другими словами, если приложение скомпилировано для 64-битного режима, то все используемые библиотеки (DLL) также должны быть 64-битными.

При написании 64-битного кода можно получить дополнительный выигрыш в производительности за счет специальной оптимизации. Подробно этот вопрос рассмотрен в руководстве по оптимизации [3].

3. Перенос приложений на AMD64

Одним из назначений языков высокого уровня является по возможности сократить привязку программного кода к архитектуре и обеспечить максимально возможную переносимость между аппаратными платформами. Например, правильно написанные программы на языке Си++ теоретически не зависят от аппаратной платформы. И для компиляции существующих 32-битный приложений под платформу AMD64 в идеале достаточно просто сменить компилятор [4] и просто перекомпилировать программу. Но на практике дела обстоят более сложно.

До сих пор существует программное обеспечение, использующий ассемблерный код для 32-битных процессоров. Многие программы, написанные на языках высокого уровня, содержат ассемблерные вставки. Поэтому просто перекомпилировать большой проект часто бывает невозможно. Решение проблемы понятно. Во-первых, можно отказаться от переноса приложения на новую платформу. Это может быть весьма разумным решением, так как, например операционные системы семейства Windows обеспечивают хорошую обратную совместимость, благодаря технологии Wow64. Второй вариант — переписать программный код. Причем разумным выглядит его переписывание с использованием языков высокого уровня. Кстати заметим, что компилятор Visual C++ более не поддерживает компиляцию ассемблерных вставок в 64-битном режиме компиляции [5].

Наличие ассемблерного программного кода не единственное препятствие при освоении 64-битных систем. При переносе программ на 64-битные системы возникают разнообразные ошибки, связанные с изменением модели данных (размерности типов). Причем ряд ошибок проявляет себя только при использовании большого объема памяти, который был не доступен на 32-битных системах. Подобные ошибки хорошо описаны в статье «20 ловушек переноса Си++ — кода на 64-битную платформу» [6].

Сказанное выше относится больше к приложениям, разработанным на языке Си/Си++. С управляемым кодом (C#) дела обстоят лучше, хотя и здесь можно ожидать мелких неполадок. К сожалению, большие программные комплексы часто строятся с использованием библиотек, созданных на языках Си/Си++. И поэтому в случае крупного проекта, написанного на C#, скорее всего найдутся модули или библиотеки на языке Си/Си++, которые могут быть небезопасны и содержать уязвимости.

Для тестирования и проверки программного кода, переносимого на 64-битную платформу можно использовать различные специальные методики и инструменты [7]. Например, хорошие результаты дает использование статических анализаторов, таких как Viva64 (для Windows систем) и PC-Lint (для Unix систем). Более подробно с этим инструментарием можно познакомиться в статье «Сравнение диагностических возможностей анализаторов при проверке 64-битного кода» [8].

Заключение

Предложенная компанией AMD архитектура AMD64 несомненно оказалась востребованной на рынке. Достоинство AMD64 в том, что она позволяет плавно перейти на 64-битные программы, при этом не теряя совместимости со старыми 32-битными приложениями. Однако ничего революционного в AMD64 нет.

Миграция 32-битных программ на AMD64, как показывают эксперименты, позволяет, во-первых, решать задачи, существенно более требовательные к памяти, а, во-вторых, получить порядка 10% прироста производительности «просто так», без изменения кода, за счет оптимизации компилятором приложения под новую архитектуру.

Можно сделать вывод, что архитектура AMD64 на много лет отодвинула проблему ограничения доступного объема оперативной памяти, но не решила проблем роста производительности современных персональных машин. Будущее остается за многоядерными и многопроцессорными системами.

Библиографический список

  • Intel Software Developer’s Manual. Volume 1: Basic Architecture. http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-1-manual.html
  • AMD x86-64 Architecture Programmer’s Manual. Volume 1: Application Programming. http://support.amd.com/TechDocs/24592.pdf
  • Software Optimization Guide for AMD Athlon 64 and AMD Opteron Processors. http://support.amd.com/TechDocs/25112.PDF
  • Compiler Usage Guidelines for 64-Bit Operating Systems on AMD64 Platforms. http://support.amd.com/TechDocs/32035.pdf
  • Daniel Pistelli. Moving to Windows Vista x64. http://www.codeproject.com/Articles/17263/Moving-to-Windows-Vista-x
  • Андрей Карпов, Евгений Рыжков. 20 ловушек переноса Си++ — кода на 64-битную платформу. http://www.viva64.com/ru/a/0004/
  • Андрей Карпов. Проблемы тестирования 64-битных приложений. http://www.viva64.com/ru/a/0006/
  • Андрей Карпов. Сравнение диагностических возможностей анализаторов при проверке 64-битного кода. http://www.viva64.com/ru/a/0024/

Присылаем лучшие статьи раз в месяц

Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.

Введение

В рамках архитектуры вычислительной техники под термином «64-битный» понимают 64-битные целые и другие типы данных, имеющих размер 64 бита. Под «64-битными» системами могут пониматься 64-битные архитектуры микропроцессоров (например, EM64T, IA-64) или 64-битные операционные системы (например, Windows XP Professional x64 Edition). Можно говорить о компиляторах, генерирующих 64-битный программный код.

В данной статье будут рассмотрены различные моменты, связанные с 64-битными технологиями. Статья предназначена для программистов, желающих начать разрабатывать 64-битные программы, и ориентирована на Windows-разработчиков, поскольку для них вопрос знакомства с 64-битными системами наиболее актуален.

История 64-битных систем

64-битность только недавно вошла в жизнь большинства пользователей и прикладных программистов. Однако работа с 64-битными данными имеет уже длинную историю.

1961: IBM выпускает суперкомпьютер IBM 7030 Stretch, в котором используются 64-битные слова данных, 32-битные или 64-битные машинные инструкции.

1974: Control Data Corporation запускает векторный суперкомпьютер CDC Star-100, в котором используется архитектура 64-битных слов (предыдущие системы CDC имели 60-битную архитектуру).

1976: Cray Research выпускает первый суперкомпьютер Cray-1, в котором реализована архитектура 64-битных слов и который послужит основой для всех последующих векторных суперкомпьютеров Cray.

1985: Cray выпускает UNICOS — первую 64-битную реализацию операционной системы Unix.

1991: MIPS Technologies производит первый 64-битный процессор, R4000, в котором реализована третья модификация разработанной в их компании архитектуры MIPS. Этот процессор используется в графических рабочих станциях SGI начиная с модели IRIS Crimson. Kendall Square Research выпускает свой первый суперкомпьютер KSR1, построенный на основе их собственной запатентованной 64-битной архитектуры RISC под операционной системой OSF/1.

1992: Digital Equipment Corporation (DEC) представляет полностью 64-битную архитектуру Alpha — детище проекта PRISM.

1993: DEC выпускает 64-битную Unix-подобную операционную систему DEC OSF/1 AXP (позже переименованную в Tru64 UNIX) для своих систем, построенных на архитектуре Alpha.

1994: Intel объявляет о своих планах по разработке 64-битной архитектуры IA-64 (совместно с компанией Hewlett-Packard) — преемника их 32-битных процессоров IA-32. Дата выпуска назначена на 1998-1999 годы. SGI выпускает IRIX 6.0 с 64-битной поддержкой чипсета R8000.

1995: Sun запускает 64-битный процессор семейства SPARC UltraSPARC. HAL Computer Systems, подчиненная Fujitsu, запускает рабочие станции, созданные на основе 64-битного процессора SPARC64 первого поколения, независимо разработанного компанией HAL. IBM выпускает микропроцессоры A10 и A30, а также 64-битные процессоры PowerPC AS. IBM также выпускает 64-битное обновление для системы AS/400, способное преобразовывать операционную систему, базы данных и приложения.

1996: Nintendo представляет игровую консоль Nintendo 64, созданную на основе более дешевого варианта MIPS R4000. HP выпускает реализацию 64-битной 2.0 версии собственной архитектуры PA-RISC PA-8000.

1997: IBM запускает линейку RS64 64-битных процессоров PowerPC/PowerPC AS.

1998: Sun выпускает Solaris 7 с полной 64-битной поддержкой UltraSPARC.

1999: Intel выпускает набор команд для архитектуры IA-64. AMD публично объявляет о своем наборе 64-битных расширений для IA-32, который был назван x86-64 (позже переименован в AMD64).

2000: IBM выпускает свой первый 64-битный мэйнфрейм zSeries z900, совместимый с ESA/390, а также новую операционную систему z/OS.

2001: Intel наконец запускает линейку 64-битных процессоров, которые теперь получают название Itanium и рассчитаны на высокопроизводительные серверы. Проект не соответствует ожиданиям из-за многочисленных задержек при выпуске IA-64 на рынок. NetBSD становится первой операционной системой, которая запускается на процессоре Intel Itanium после его выхода. Кроме того, Microsoft также выпускает Windows XP 64-Bit Edition для архитектуры IA-64 семейства Itanium, хотя в ней сохраняется возможность запускать 32-битные приложения при помощи прослойки WoW64.

2003: AMD представляет линейки процессоров Opteron и Athlon 64, созданные на основе архитектуры AMD64, которая является первой 64-битной процессорной архитектурой, основанной на архитектуре x86. Apple начинает использовать 64-битный процессор «G5» PowerPC 970 производства IBM. Intel утверждает, что процессорные чипы семейства Itanium останутся единственными 64-битными процессорами, разработанными в их компании.

2004: В ответ на коммерческий успех AMD, Intel признается, что они разрабатывали клон расширений AMD64, которому дали название IA-32e (позже переименован в EM64T, и затем еще раз в Intel 64). Intel также выпускает обновленные версии семейств процессоров Xeon и Pentium 4 с поддержкой новых команд.

2004: VIA Technologies представляет свой 64-битный процессор Isaiah.

2005: 31 января Sun выпускает Solaris 10 с поддержкой процессоров AMD64 / Intel 64. 30 апреля Microsoft выпускает Windows XP Professional x64 Edition для процессоров AMD64 / Intel 64.

2006: Sony, IBM и Toshiba начинают выпуск 64-битного процессора Cell для PlayStation 3, серверов, рабочих станций и других устройств. Microsoft выпускает Windows Vista с включенной 64-битной версией для процессоров AMD64 / Intel 64, которая поддерживает 32-битную совместимость. Все Windows-приложения и компоненты являются 64-битными, однако многие из них имеют 32-битные версии, включенные в систему в виде плагинов в целях совместимости.

2009: Как и Windows Vista, Windows 7 компании Microsoft включает полную 64-битную версию для процессоров AMD64 / Intel 64, и на большинство новых компьютеров по умолчанию устанавливается 64-битная версия. Выходит операционная система компании Apple Mac OS X 10.6, «Snow Leopard» которая имеет 64-битное ядро и предназначена для процессоров AMD64 / Intel 64, однако по умолчанию эта система устанавливается только на некоторые из последних моделей компьютеров компании Apple. Большинство приложений, поставляемых с Mac OS X 10.6, теперь также являются 64-битными.

Более подробно с историей развития 64-битных систем можно познакомиться в статье Джона Машей «Долгая дорога к 64 битам» [1] и в энциклопедической статье в Wikipedia «64-bit» [2].

Прикладное программирование и 64-битные системы

На момент написания статьи в 2010 году, наиболее известными и распространенными являются две 64-битные архитектуры микропроцессоров: IA64 и Intel 64.

  1. IA-64 64-битная микропроцессорная архитектура, разработанная совместно компаниями Intel и Hewlett Packard. Реализована в микропроцессорах Itanium и Itanium 2. Для более подробного знакомства с архитектурой IA-64 можно обратиться к следующим статьям в Wikipedia: «IA-64», «Itanium», «Itanium 2». Архитектуру Itanium поддерживает большое количество производителей серверов: Bull, Fujitsu, Fujitsu Siemens Computers, Hitachi, HP, NEC, SGI и Unisys. Эти производители присоединились к Intel и множеству разработчиков ПО для создания Itanium Solutions Alliance, с целью продвижения архитектуры и ускорения темпов портирования ПО.
  2. Intel 64 (AMD64 / x86-64 / x64 / EM64T) — данная архитектура представляет собой расширение архитектуры x86 с полной обратной совместимостью. Существует множество вариантов названия данной архитектуры, что приводит к путанице, хотя, по сути, все эти названия обозначают одно и тоже: x86-64, AA-64, Hammer Architecture, AMD64, Yamhill Technology, EM64T, IA-32e, Intel 64, x64. Более подробно узнать о том, как появилось так много названий, можно в статье из Wikipedia: «X86-64». Процессоры с архитектурой Intel 64 нашли широкое распространение персональных компьютерах. И скорее всего ваш компьютер оснащен именно процессором с данной архитектурой.

Важно понимать, что IA-64 и Intel 64 (AMD64) это совершенно разные, несовместимые друг с другом, микропроцессорные архитектуры. Далее в статье мы будем рассматривать только архитектуру Intel 64 (x64 / AMD64), как более популярную среди разработчиков прикладного программного обеспечения для операционной системы Windows. Для краткости программную модель Intel 64, доступную программисту в 64-битной системе Windows, называют Win64.

Архитектура Intel 64 (AMD64)

Рассматриваемая архитектура Intel 64 простое, но в то же время мощное обратно совместимое расширение устаревшей промышленной архитектуры x86. Она добавляет 64-битное адресное пространство и расширяет регистровые ресурсы для поддержки большей производительности перекомпилированных 64-битных программ. Архитектура обеспечивает поддержку устаревшего 16-битного и 32-битного кода приложений и операционных систем без их модификации или перекомпиляции.

Отличительной особенностью Intel 64 является поддержка шестнадцати 64-битных регистров общего назначения (в x86-32 имелось восемь 32-битных регистров). Поддерживаются 64-битные арифметические и логические операции над целыми числами. Поддерживаются 64-битные виртуальные адреса. Для адресации новых регистров для команд введены «префиксы расширения регистра», для которых был выбран диапазон кодов 40h-4Fh, использующихся для команд INC <регистр> и DEC <регистр> в 32- и 16-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, двухбайтовой форме.

Регистры:

16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),
8 80-битных регистров с плавающей точкой (ST0 — ST7),
8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — ST7),
16 128-битных регистров SSE (XMM0 — XMM15),
64-битный указатель RIP и 64-битный регистр флагов RFLAGS.

Необходимость 64-битной архитектуры определяется приложениями, которым необходимо большое адресное пространство. В первую очередь это высокопроизводительные серверы, системы управления базами данных, САПР и, конечно, игры. Такие приложения получат существенные преимущества от 64-битного адресного пространства и увеличения количества регистров. Малое количество регистров, доступное в устаревшей x86 архитектуре, ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.

Подчеркнем основные достоинства архитектуры x86-64:

  • 64-битное адресное пространство;
  • расширенный набор регистров;
  • привычный для разработчиков набор команд;
  • возможность запуска старых 32-битных приложений в 64-битной операционной системе;
  • возможность использования 32-битных операционных систем.

64-битные операционные системы

Практически все современные операционные системы сейчас имеют версии для архитектуры Intel 64. Например, Microsoft предоставляет Windows XP x64. Крупнейшие разработчики UNIX систем также поставляют 64-битные версии, как например Linux Debian 3.5 x86-64. Однако это не означает, что весь код такой системы является полностью 64-битным. Часть кода ОС и многие приложения вполне могут оставаться 32-битными, так как Intel 64 обеспечивает обратную совместимость с 32-битными приложениями. Например, 64-битная версия Windows использует специальный режим WoW64 (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы.

Далее в статье мы будем рассматривать только 64-битные операционные системы семейства Windows.

WoW64

Windows-on-Windows 64-bit (WoW64) — подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости, при выполнении 32-битных программ.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение, за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки, простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN «Running 32-bit Applications».

Программная модель Win64

Также как и в Win32 размер страниц в Win64 составляет 4Кб. Первые 64Кб адресного пространства никогда не отображаются, то есть наименьший правильный адрес это 0x10000. В отличие от Win32, системные DLL загружаются выше 4Гб.

Особенность компиляторов для Intel 64 в том, что они могут наиболее эффективно использовать регистры для передачи параметров в функции, вместо использования стека. Это позволило разработчикам Win64 архитектуры избавиться от такого понятия как соглашение о вызовах (calling convention). В Win32 можно использовать разные соглашения: __stdcall, __cdecl, __fastcall и так далее. В Win64 есть только одно соглашение о вызовах. Рассмотрим пример, как передаются в регистрах четыре аргумента типа integer:

  • RCX: первый аргумент
  • RDX: второй аргумент
  • R8: третий аргумент
  • R9: четвертый аргумент

Аргументы после первых четырех integer передаются на стеке. Для float аргументов используются XMM0-XMM3 регистры, а также стек.

Разница в соглашениях о вызове приводит к тому, что в одной программе нельзя использовать и 64-битный, и 32-битный код. Другими словами, если приложение скомпилировано для 64-битного режима, то все используемые библиотеки (DLL) также должны быть 64-битными.

Передача параметров через регистры является одним из новшеств, делающих 64-битные программы более производительными, чем 32-битные. Дополнительный выигрыш в производительности можно получить, используя 64-битные типы данных.

Адресное пространство

Хотя 64-битный процессор теоретически может адресовать 16 экзабайт памяти (2^64), Win64 в настоящий момент поддерживает 16 терабайт (2^44). Этому есть несколько причин. Текущие процессоры могут обеспечивать доступ лишь к 1 терабайту (2^40) физической памяти. Архитектура (но не аппаратная часть) может расширить это пространство до 4 петабайт (2^52). Однако в этом случае необходимо огромное количество памяти для страничных таблиц, отображающих память.

Помимо перечисленных ограничений, объем памяти, который доступен в той или иной версии 64-битной операционной системе Windows зависит также от коммерческих соображений компании Microsoft. Ниже приведена информация по объему памяти, поддерживаемой различными версиями 64-биными версиями Windows:

Windows XP Professional — 128 Gbyte;
Windows Server 2003, Standard — 32 Gbyte;
Windows Server 2003, Enterprise — 1 Tbyte;
Windows Server 2003, Datacenter — 1 Tbyte;
Windows Server 2008, Datacenter — 2 Tbyte;
Windows Server 2008, Enterprise — 2 Tbyte;
Windows Server 2008, Standard — 32 Gbyte;
Windows Server 2008, Web Server — 32 Gbyte;
Vista Home Basic — 8 Gbyte;
Vista Home Premium — 16 Gbyte;
Vista Business — 128 Gbyte;
Vista Enterprise — 128 Gbyte;
Vista Ultimate — 128 Gbyte;
Windows 7 Home Basic — 8 Gbyte;
Windows 7 Home Premium — 16 Gbyte;
Windows 7 Professional — 192 Gbyte;
Windows 7 Enterprise — 192 Gbyte;
Windows 7 Ultimate — 192 Gbyte;

Разработка 64-битных приложений

Наиболее полно вопросы разработки 64-битных приложений рассмотрены в курсе «Уроки разработки 64-битных приложений на языке Си/Си++». Содержание:

Урок 01. Что такое 64-битные системы.
Урок 02. Поддержка 32-битных приложений.
Урок 03. Перенос кода на 64-битные системы. За и против.
Урок 04. Создание 64-битной конфигурации.
Урок 05. Сборка 64-битного приложения.
Урок 06. Ошибки в 64-битном коде.
Урок 07. Проблемы выявления 64-битных ошибок.
Урок 08. Статический анализ для выявления 64-битных ошибок.
Урок 09. Паттерн 01. Магические числа.
Урок 10. Паттерн 02. Функции с переменным количеством аргументов.
Урок 11. Паттерн 03. Операции сдвига.
Урок 12. Паттерн 04. Виртуальные функции.
Урок 13. Паттерн 05. Адресная арифметика.
Урок 14. Паттерн 06. Изменение типа массива.
Урок 15. Паттерн 07. Упаковка указателей.
Урок 16. Паттерн 08. Memsize-типы в объединениях.
Урок 17. Паттерн 09. Смешанная арифметика.
Урок 18. Паттерн 10. Хранение в double целочисленных значений.
Урок 19. Паттерн 11. Сериализация и обмен данными.
Урок 20. Паттерн 12. Исключения.
Урок 21. Паттерн 13. Выравнивание данных.
Урок 22. Паттерн 14. Перегруженные функции.
Урок 23. Паттерн 15. Рост размеров структур.
Урок 24. Фантомные ошибки.
Урок 25. Практическое знакомство с паттернами 64-битных ошибок.
Урок 26. Оптимизация 64-битных программ.
Урок 27. Особенности создания инсталляторов для 64-битного окружения.
Урок 28. Оценка стоимости процесса 64-битной миграции Си/Си++ приложений.

Также рекомендую раздел с обзорами статей по тематике связанной с 64-битнми технологиями.

Библиографический список

  1. Джон Р. Машей. Долгая дорога к 64 битам. http://www.viva64.com/go.php?url=321
  2. Wikipedia. 64-bit. http://www.viva64.com/go.php?url=203

Amd64 Microsoft Windows – это операционная система, разработанная корпорацией Microsoft специально для 64-битных компьютерных систем. Эта версия Windows была выпущена с целью оптимизации работы на современных процессорах, способных обрабатывать большие объемы данных и обеспечивать высокую производительность.

Если вы хотите узнать подробнее о том, как функционирует Amd64 Microsoft Windows и какие преимущества она может предложить, то данное руководство поможет вам разобраться в основных аспектах этой операционной системы.

Содержание

  1. Что такое Amd64 Microsoft Windows?
  2. Исследование архитектуры и функций
  3. Подробный обзор технических особенностей Amd64
  4. Как работает операционная система Amd64?
  5. Принципы работы и основные функции
  6. Шаг за шагом: процесс загрузки и работа с ядром
  7. Особенности использования Amd64 Microsoft Windows
  8. Плюсы и минусы операционной системы

Что такое Amd64 Microsoft Windows?

Исследование архитектуры и функций операционной системы Amd64 Microsoft Windows позволяет лучше понять, как она работает и какие преимущества она предоставляет пользователю. Основными особенностями этой ОС являются поддержка больших объемов оперативной памяти, улучшенная производительность и расширение возможностей в области мультимедиа и игр.

Архитектура x86-64
Производитель Microsoft
Поддерживаемые процессоры AMD64, Intel 64
Объем оперативной памяти Большие объемы
Производительность Улучшенная
Функционал Мультимедийные возможности, игровые возможности

Использование операционной системы Amd64 Microsoft Windows может значительно повысить эффективность работы на компьютере и обеспечить более комфортное взаимодействие с приложениями. Однако, как и любая другая ОС, у нее есть свои плюсы и минусы, которые следует учитывать при выборе системы для работы или развлечений.

Исследование архитектуры и функций

Архитектура Amd64 Microsoft Windows представляет собой 64-битную операционную систему, которая обеспечивает поддержку работы с большим объемом оперативной памяти, что делает ее более производительной и мощной по сравнению с 32-битными системами.

Основной характеристикой архитектуры Amd64 является использование 64-битных регистров процессора, что позволяет осуществлять операции с данными большего размера и эффективнее управлять системными ресурсами.

  • Одной из ключевых функций Amd64 Microsoft Windows является поддержка работы с 64-битными приложениями, что позволяет пользователю использовать программное обеспечение, рассчитанное на работу с большими объемами данных и выполнять сложные вычисления.
  • Другим важным аспектом архитектуры является поддержка аппаратной виртуализации, что обеспечивает возможность запуска нескольких виртуальных машин на одном физическом сервере и обеспечивает изоляцию каждой из них.
  • Также стоит отметить возможность работы с большим объемом оперативной памяти, что позволяет операционной системе эффективно управлять памятью и обеспечивать стабильную работу даже при выполнении ресурсоемких задач.

Исследование архитектуры и функций Amd64 Microsoft Windows позволяет понять преимущества этой операционной системы и использовать их в повседневной работе с компьютером.

Подробный обзор технических особенностей Amd64

Основными особенностями Amd64 Microsoft Windows являются:

  • Поддержка большого объема оперативной памяти — до 128 гигабайт;
  • Увеличенная производительность и скорость работы программ;
  • Поддержка 64-разрядных приложений и драйверов, что позволяет использовать все возможности современного оборудования;
  • Улучшенная безопасность и защита данных благодаря технологиям защиты памяти и исполнения;
  • Более эффективное управление ресурсами компьютера и оптимизация процессов работы.

Операционная система Amd64 Microsoft Windows предлагает пользователям более широкие возможности для работы с современным программным обеспечением, а также обеспечивает стабильную и надежную работу компьютера в различных сценариях использования.

Как работает операционная система Amd64?

Основные принципы работы операционной системы Amd64

Amd64 Microsoft Windows – это операционная система, предназначенная для компьютеров с 64-битными процессорами. Главным преимуществом данной архитектуры является возможность обработки больших объемов памяти и повышенная производительность при выполнении задач.

Основные функции операционной системы Amd64

Преимущества операционной системы Amd64

Операционная система Amd64 обладает высокой степенью безопасности, устойчивостью к сбоям и вирусам, а также оптимизированной работы с многозадачностью. Благодаря этому, пользователи могут быть уверены в надежности и эффективности работы своего компьютера.

Недостатки операционной системы Amd64

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

Принципы работы и основные функции

Операционная система Amd64 Microsoft Windows работает на принципе модульности и многофункциональности. Она состоит из различных компонентов, каждый из которых выполняет определенные функции.

Компонент Функция
Ядро операционной системы Управляет ресурсами компьютера и обеспечивает взаимодействие между аппаратным обеспечением и программным обеспечением.
Драйверы Обеспечивают взаимодействие с аппаратным обеспечением, таким как принтеры, сканеры, видеокарты и другие устройства.
Интерфейс пользователя Предоставляет пользователю доступ к различным функциям операционной системы через графический или текстовый интерфейс.

Основные функции операционной системы Amd64 включают в себя обработку пользовательских команд, управление памятью и процессами, обеспечение безопасности данных и выполнение различных задач, необходимых для работы компьютера.

Шаг за шагом: процесс загрузки и работа с ядром

Процесс загрузки операционной системы Amd64 Microsoft Windows

1. Первоначально компьютер проходит POST (Power-On Self Test) — проверку на наличие подключенных устройств и их работоспособность.

2. Затем загружается BIOS (Basic Input Output System), который инициирует запуск загрузчика операционной системы.

3. Загрузчик операционной системы, такой как NTLDR или BOOTMGR, читает информацию о системе с жесткого диска и начинает загрузку ядра операционной системы.

4. Ядро операционной системы загружается в оперативную память компьютера и начинает работу по управлению ресурсами и выполнению задач.

Работа с ядром операционной системы Amd64 Microsoft Windows

1. Ядро отвечает за управление процессами в операционной системе, включая планирование выполнения задач, распределение ресурсов и управление памятью.

2. Оно обеспечивает взаимодействие между аппаратным обеспечением компьютера и программными приложениями, обеспечивая их работу и безопасность.

4. В случае возникновения ошибок или конфликтов, ядро операционной системы обеспечивает их обработку и уведомление пользователя о проблемах.

Этот процесс обеспечивает стабильную и эффективную работу операционной системы Amd64 Microsoft Windows на компьютере пользователя.

Особенности использования Amd64 Microsoft Windows

Особенности использования операционной системы Amd64 Microsoft Windows включают в себя:

  • Поддержка 64-битных процессоров — Amd64 Windows предназначена для работы на 64-битных процессорах, что обеспечивает более высокую производительность и обработку большего объема данных;
  • Совместимость с 32-битными приложениями — хотя Amd64 Windows предназначена для работы на 64-битных процессорах, она также способна запускать 32-битные приложения без каких-либо дополнительных настроек;
  • Большой объем оперативной памяти — благодаря архитектуре Amd64 Windows может адресовать значительно больше оперативной памяти, что делает ее идеальным выбором для мощных и ресурсоемких приложений;
  • Улучшенная безопасность — Amd64 Windows содержит множество улучшений в области безопасности, таких как разделение ядра операционной системы и пользовательских процессов, что повышает защиту от вредоносного программного обеспечения и атак;
  • Поддержка новейших технологий — операционная система Amd64 Microsoft Windows постоянно обновляется, чтобы поддерживать новейшие технологии и стандарты, что обеспечивает ее актуальность и совместимость с современным оборудованием и программным обеспечением.

Плюсы и минусы операционной системы

Плюсы:

1. Высокая производительность: Amd64 Microsoft Windows обладает высокой производительностью благодаря 64-битной архитектуре, что позволяет выполнять сложные операции быстро и эффективно.

2. Большой объем оперативной памяти: Операционная система поддерживает большой объем оперативной памяти, что позволяет запускать множество приложений одновременно без потерь в производительности.

3. Безопасность: Amd64 Microsoft Windows имеет высокий уровень безопасности благодаря встроенным механизмам защиты данных и системы.

4. Совместимость с широким спектром программ и устройств: Операционная система совместима с большим количеством программ и устройств, что обеспечивает удобство в работе.

Минусы:

1. Высокая стоимость: Лицензионная версия Amd64 Microsoft Windows может быть дороже других операционных систем, что может быть недоступно для некоторых пользователей.

2. Сложность установки и настройки: Для некоторых пользователей может быть сложно установить и настроить операционную систему Amd64 из-за большого количества параметров и настроек.

3. Не все программы могут быть совместимы: Некоторые старые программы могут не работать на Amd64 Microsoft Windows из-за различий в архитектуре и требованиях к системе.

4. Требовательность к оборудованию: Для оптимальной работы операционной системы может потребоваться мощное оборудование, что может быть дополнительным затратным фактором для пользователей.


Readers help support Windows Report. We may get a commission if you buy through our links.

Read our disclosure page to find out how can you help Windows Report sustain the editorial team. Read more

Back in 2019 a lot of Windows 10 users have noticed that Windows 10 v1903 includes AMD64 software updates even though they have an Intel based system.

Because Intel and AMD are different manufacturers and also competitors, this raised some eyebrows. Here’s how one user described it:

Microsoft Windows Professional 10 was using a 64 bit intel chip was downloading only AMD64 updates.[…] have to reboot into safe mode and remove the contents of the directory every time the delay ticker is met to stop a 16 hour update cycle with a 52% install and the a forced return to the previous version as the update is trying to apply AMD code to my windows installation on an Intel 64bit processor.

windows v1809/v1903 amd64 update on intel system

And here’s a screenshot of the original OP:

Although this could seem a big problem that affects a lot of people, you don’t have to worry about it.

AMD64 update is applicable to Intel based systems

If you saw the same thing on your PC, you have to understand that AMD owns the 64-bit architecture and the AMD64 updates are applicable to AMD and Intel-based systems alike, as another savvy user confirms:

AMD invented and owns the 64bit architecture, so even if your system is Intel based, as long as it is 64bit, that update will be applicable.

AMD64 is a generic name for an instruction set used by AMD and Intel. It doesn’t affect one or the other in any way because it’s used for 64-bit processors, regarding the manufacturer of the CPU.

So if you were having the same dilemma, don’t worry about it and just leave the update run its course. Everything is how it’s supposed to be and the update should take place without any issues.

If you encounter any problems similar to the user above, they are most likely caused by something else and surely not from the AMD64 update.

OneDrive is getting the 64-treatment as well

Two years after the release, an update to the Microsoft 365 roadmap stated that,

OneDrive is now available as a 64-bit install for AMD64-based devices.

Thanks to the 2019 AMD64 update, you don’t have to worry if you want to install the new OneDrive on an Intel PC, since they will now work.

If you have any more questions, feel free to reach for the comments section below.


Vlad Turiceanu

Windows Editor

Passionate about technology, Windows, and everything that has a power button, he spent most of his time developing new skills and learning more about the tech world.

Coming from a solid background in PC building and software development, with a complete expertise in touch-based devices, he is constantly keeping an eye out for the latest and greatest!


На чтение1 мин

Опубликовано

Обновлено

Амд64 (AMD64) — это набор расширений для процессоров с архитектурой x86, разработанный компанией Advanced Micro Devices (AMD). Эти расширения предоставляют возможность обрабатывать 64-разрядные команды и адресацию памяти, в отличие от 32-разрядных систем.

Microsoft Windows, в свою очередь, является операционной системой, разработанной корпорацией Microsoft. В рамках этой операционной системы существует несколько вариантов сборки, включая Amd64 Microsoft Windows.

Зачем нужно Amd64 Microsoft Windows? Во-первых, она позволяет использовать все преимущества 64-разрядных процессоров. Это операционная система для современных компьютеров, которым требуется быстрая и эффективная работа с большим объемом памяти и ресурсов.

Невероятная мощь и производительность Amd64 Microsoft Windows делают ее идеальным выбором для самых требовательных задач, таких как игры, видеообработка, 3D-моделирование и научные вычисления.

Кроме того, Amd64 Microsoft Windows поддерживает большинство современных программ и приложений, которые разработаны для 64-разрядных систем. Это позволяет получить доступ к широкому спектру программного обеспечения и эффективно использовать возможности современного оборудования.

В результате, Amd64 Microsoft Windows является важной частью инфраструктуры компьютерной технологии, обеспечивая функциональность и производительность, которые требуются для выполнения потребностей современных пользователей и бизнес-организаций.

Что такое Аmd64 Microsoft Windows?

Архитектура x86-64 является 64-битной альтернативой архитектуре x86, которая была широко использована в 32-битных компьютерах в течение многих лет. Аmd64 Microsoft Windows позволяет использовать преимущества 64-битных вычислений, таких как увеличение объема доступной оперативной памяти и более эффективное использование ресурсов процессора.

Аmd64 Microsoft Windows поддерживает широкий спектр функций и возможностей, включая поддержку большого количества приложений, драйверов и аппаратного обеспечения. Она также обладает улучшенной безопасностью и стабильностью.

Аmd64 Microsoft Windows является одной из самых популярных операционных систем, которую используют миллионы пользователей по всему миру для выполнения различных задач, включая работу, игры, мультимедиа и многое другое.

Преимущества Аmd64 Microsoft Windows
Поддержка большого объема оперативной памяти
Улучшенная эффективность работы процессора
Большой выбор приложений и драйверов
Улучшенная безопасность и стабильность

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Huawei windows 10 pro
  • Отключить internet explorer при запуске windows
  • Windows sdk components for windows installer developers
  • How to activate windows without product key
  • Как установить geforce experience на windows 11