Найважливіша відмінність x86 від x64 полягає в тому, що перша - це 32-бітова архітектура, а остання - 64-бітна архітектура набору інструкцій. Архітектура наборів інструкцій (ISA) - це дуже важливий термін, який стосується будь-якого процесора. Інструкції, адресація пам'яті, регістри та багато інших архітектурних розділів ЦПУ визначені ISA. x86 - всесвітньо відома ISA, представлена Intel в 1978 році з процесором 8086. Потім траплялися різні розширення, і в 2000 році AMD створила специфікацію для розширення набору інструкцій x86 на 64 біт під назвою AMD64. Пізніше інші компанії, такі як Intel, також реалізували цю специфікацію, і цей AMD64 є тим, що ідентифікується за назвою x64.
x86 є архітектура наборів інструкцій, представлена Intel з відомим процесором 8086. У 1978 році Intel представила процесор 8086, який був 16-бітовим процесором. Потім пізніше вони представили різні процесори, такі як 80186, 80286, 80386 і 80486, і всі вони були сумісні з оригінальним набором інструкцій, використовуваним у процесорі 8086. Оскільки всі ці процесори закінчуються цифрою 86, архітектура набору інструкцій ідентифікується за назвою x86. З введенням 80386 інструкція x86 була поширена на 32-бітну систему. Тут 32 біт означає, що всі регістри, шина пам'яті та шина даних є 32-бітовими. Потім процесори Pentium стали Pentium I, Pentium II, Pentium III, Pentium IV, і всі вони також дотримувались 32-бітної архітектури. Але в архітектурі x86 траплялися різні інші розширення, такі як додавання таких інструкцій, як MMX, SSE та SSE2. Крім цього, було також здійснено багато інших вдосконалень. Потім набір інструкцій x86 поширився на 64-розрядний набір інструкцій, і з цього моменту він називався x64, про який ми будемо обговорювати в наступному розділі. У будь-якому випадку, в цілому x86 посилається на 32-бітну архітектуру, що розвинулася з 16-бітової архітектури, яка придумала процесор 8086.
8086 процесор
32-бітова система може представляти лише 232 відмінні значення і, отже, адресація пам'яті обмежена цією кількістю адрес. 232 байти дорівнюють 4 ГБ і, отже, x86 мав максимальний обмежений обсяг пам'яті в 4 Гб. Щоб подолати це, було здійснено подальше розширення архітектури x86. AMD близько 2000 року представив таку специфікацію, яка розширила архітектуру x86 до 64 біт. Це було введено під назвою AMD64. x64 - інша назва цієї архітектури AMD64. Ця архітектура AMD64 або x64 також відома під назвою x86_64. З 64-бітовою архітектурою всі регістри стали 64 бітами, а шина пам'яті та шина даних також стали 64 бітними. Тепер 264 можна вирішити різні значення, що дає величезну верхню межу можливої максимальної пам'яті. AMD K8 - перший процесор, який реалізував цю 64-бітну архітектуру. Тоді Intel також прийняла цю архітектуру. З процесорами Intel Core, які почалися з Intel Core 2, Intel почала використовувати цю архітектуру у своїх процесорах. В даний час усі процесори Intel, такі як Core i3, Core i5 та Core i7, використовують цю архітектуру x64. Важливо підкреслити, що ця архітектура x64 все ще сумісна зі старим набором інструкцій x86.
64-бітний процесор
• x86 був представлений приблизно в 1978 році, тоді як x64 з'явився нещодавно в 2000 році.
• x86 вийшов із відомого процесора Intel 8086, а тому x86 був представлений Intel. Але x64, який став розширенням до x86, був введений AMD.
• архітектура x86 має 32 біт. (Спочатку процесори x86 були 16 бітними, але в пізніших процесорах було зроблено розширення на 32 біт). x64 архітектура - 64 біт.
• Процесори з архітектурою набору інструкцій x86, отже, мають 32-бітові регістри, 32-бітну шину пам'яті та 32-бітну шину даних. Але x64 має 64-бітові регістри, 64-бітну шину пам'яті та 64-бітну шину даних.
• x86 має обмеження на максимальну адресируемую пам'ять, що є верхньою межею 4 Гб (232 байт). Але для систем x64 ця межа величезна, а це 264 байт.
• x64 - це розширення x86; отже, він значно вдосконалений та потужніший, ніж старий x86.
• Значення, які можна зберігати в регістрі, в системі x64, перевищують значення, які можна зберігати в регістрі на основі x86. Таким чином, x64 може обробляти великі цілі числа набагато швидше, оскільки немає необхідності використовувати кілька регістрів у такому випадку для розділення значення та збереження, як у x86.
• x64 може паралельно передавати дані більшого розміру по шині даних. Тобто шина даних 64-бітної може паралельно передавати 64 біт, тоді як архітектура x86, яка має 32-бітну шину, може паралельно передавати 32 біти.
Підсумок:
Архітектура набору інструкцій x86 - 32 біт, тоді як архітектура набору команд x64 - 64 біт. x64 став розширенням існуючої архітектури x86. Регістри, шина пам'яті, шина даних в архітектурах x86 - 32 біти, тоді як це 64 біти на x64. Отже, максимальний об'єм пам'яті, що адресується, значно вищий у системах x64, ніж у системах x86. x86 був представлений Intel з процесором 8086, який був 16-бітовим процесором, а з часом цей x86 був розширений до 32 біт. Потім AMD представила архітектуру x64, розширивши існуючу архітектуру x86, і цей x64 повністю сумісний з набором інструкцій x86.
Надано зображення: