64-Бітну x86 процесори. Відмінність 64-бітних x86 процесорів від 32-бітових. Використання пам`яті

Відео: Різниця між 32-бітними і 64-бітними процесорами | База знань

19 вересня 2008

Відео: FAQ: процесори смартфонів

Коротка історична довідка.

Еволюція мікропроцесорів історично мала на увазі збільшення розрядності цілочисельних регістрів процесора, тобто максимального числа біт, що утворюють числа, над якими можна було виконувати елементарні арифметичні дії шляхом виконання відповідних команд. Також від цього параметра залежить обсяг лінійно (без усіляких хитрощів, які уповільнюють роботу) оперативної пам`яті, що, до якої може звертатися процесор.

Найперший мікропроцесор Intel 4004 був 4-бітовим, а засновник сімейства x86, тобто перший процесор, який використовує найбільш популярний досі базовий набір команд, Intel 8086 був 16-бітовим. Епоха 32-бітних мікропроцесорів почалася з 1985 року з процесором Intel 386, з тих пір аж до Intel Pentium4 і AMD AthlonXP включно система команд процесорів тільки доповнювалася (MMX, SSE / SSE2 / SSE3, 3Dnow!), Але, незважаючи на збільшення розрядності зовнішніх шин і шин кешей аж до 256-біт в деяких випадках, число розрядів цілочисельних регістрів загального призначення залишалося рівним 32.

Тим часом, практично всі високопродуктивні процесори пізніших, ніж x86, архітектур (переважно - варіанти RISC) вже давно були 64-бітними. (Перший такий процесор, MIPS R3000, з`явився в 1994 році і був відомий в основному за робочих станцій і серверів SGi). Більш того, Intel просувала вже друге покоління власних спочатку 64-бітових процесорів з архітектурою IA64 (що базується на технології VLIW) з комерційною назвою Itanium, не володіли програмної x86-сумісністю.

Однак в 2002 році компанія AMD представила розвиток архітектури x86 під назвою AMD64, що представляє собою чергове розширення набору команд x86, але розраховане на роботу з 64-бітними цілочисельними регістрами загального призначення. В "залозі" цей набір команд вперше був реалізований на процесорах сімейства AMD K8: Opteron / Athlon64, повністю програмно сумісних і зі звичайними x86 процесорами.

Протягом наступних двох років стало ясно, що повна реалізація потенціалу цих процесорів можлива тільки при роботі в операційній системі, що використовує відповідний набір команд і 64-бітну адресацію пам`яті, що, в першу чергу, дозволяло без всяких обмежень працювати з лінійними масивами даних обсягом понад 4 Гб.

В першу чергу на нові процесори були перенести ОС сімейства Linux разом з досить представницьким набором критичних до швидкості процесора і вимагають великих обсягів пам`яті додатків. Швидкість і стабільність роботи нових процесорів, а також принципові труднощі зі створенням настільного процесора з архітектурою Intel IA64 спонукали компанію Microsoft зайнятися портированием своїх ОС на цю платформу.

З цього моменту стало ясно, що набір команд AMD64 стане новим індустріальним стандартом, і Intel не залишилося нічого іншого, як додати в свої процесори повний аналог набору команд AMD64, в реалізації Intel названий EM64T (Extended Memory 64-bit Technology)




Чим принципово 64-бітові x86 процесори відрізняються від 32-бітових?

Крім можливості швидкої роботи з цілими 64-бітними числами і прямої адресації незрівнянно більших обсягів як віртуальної, так і фізичної пам`яті, новий індустріальний стандарт для x86 процесорів ліквідував три принципових нестачі цієї архітектури:

  1. Подвоєння числа цілочисельних регістрів загального призначення - за цим параметром все нащадки Intel 386 дуже сильно відставали від сучасних RISC і VLIW процесорів. Використання компілятором цих регістрів дозволяє помітно поліпшити ефективність реалізації багатьох алгоритмів.
  2. Використання для операцій з плаваючою точкою не стека, а регістрів, використовуваних в наборі команд SSE2. Дуже помітно позначається на продуктивності, але також вимагає перекомпіляції програмного забезпечення.
  3. DEP - Data Execution Protection (захист від передачі на виконання вмісту сегмента даних при виникненні помилки переповнення), також називається EVP (Enhanced Virus Protection), сильно ускладнює роботу певних класів шкідливих програм, в першу чергу - черв`яків і Трої. Не потребує перекомпіляції ПО, підтримується і 32-бітових ОС Microsoft, починаючи з WindowsXP SP2 і Wndows 2003 Server SP1

Що потрібно для роботи 64-бітних x86 додатків на моєму ПК?

1. 64-бітний x86 процесор. На момент написання FAQ це були процесори AMD з підтримкою технології AMD64 і Intel c EM64T, відповідно. Конкретно мова йде про AMD Opteron / Athlon64 / Turion 64 (мобільний аналог Athlon64) / Sempron 64 / Phenom64. У Intel підтримка EM64T присутній у процесорів Celeron D 3X1 / 3X6, Pentium4 5X1 / 5X6 / 6XX, Pentium D, Pentium XE (НЕ Pentium4 XE!), Всіх Xeon DP з 800 МГц з шиною і XeonMP c 667МГц шиною, а також у більшості майбутніх процесорів Intel за винятком Pentium M і Сeleron M.

Доповнення від січня 2008 - на даний момент набір команд AMD64 / EM64T остаточно став стандартом для всіх вироблених мобільних, настільних і серверних x86 процесорів Intel і AMD

Також треба переконатися, що процесор коректно розпізнається BIOS`ом материнської плати (це означає, що в нього завантажений необхідний мікрокод, недотримання цієї умови може призвести до серйозних проблем в роботі комп`ютера). У деяких ситуаціях може знадобитися оновлення BIOS материнської плати. В першу чергу це стосується процесорів Intel, оскільки не всі LGA775-материнські плати спочатку підтримували такі процесори.

2. Операційна система. На момент написання FAQ доступні наступні ОС:
Microsoft Windows XP Professional x64 Edition, Microsoft Windows 2003 Server x64 Editions (Standart / Enterprise / Datacenter), Windows Server 2008, також на платформу AMD64 перенесені Sun Solaris і різні варіанти Linux і FreeBSD, (детальний розгляд особливостей unix-подібних ОС виходить за рамки даного FAQ), Windows Vista також має x64 версії всіх редакцій крім початкових.

3. Драйвери. Всі драйвери, що працюють в ядрі системи повинні бути 64-бітними, забезпечення сумісності не передбачено. Для найбільш поширених комплектуючих (відеокарти nVidia GeForce і ATi Radeon, чіпсети і дискові контролери Intel, VIA, nVidia) такі драйвери вже написані.

Чи будуть працювати звичайні додатки на 64-бітної ОС Windows?

1. 32-бітові додатки для Microsoft Windows - так, будуть, при цьому в деяких ситуаціях можливий приріст продуктивності в порівнянні з виконанням на тому ж комп`ютері, але під 32-бітної ОC (особливо якщо додаток використовує дуже великі обсяги оперативної пам`яті), але при цьому 32-бітові додатки не можуть звертатися до 64-бітовим DLL і елементам Active Controls і навпаки. (На практиці це виразилося в тому, що в складі 64-х бітних Windows Internet Explorer залишений 32-бітовим для коректної роботи зі сторінками, що містять ActiveX елементи.)

2. 16-бітові додатки для Microsoft Windows - немає, за винятком декількох програм-інсталяторів.

3. DOS-додатки - немає. (На момент написання FAQ стало відомо про збіжність на 64-бітові версії Windows прекрасно зарекомендував себе OpenSource емулятора DosBox, що майже повністю знімає можливі проблеми)

4. Додатки Windows для IA64 (Itanium) - немає

Що все це дасть мені в даний момент і що це може дати в майбутньому?

Для звичайних користувальницьких повсякденних програм перенесення їх в даний момент на 64-бітну платформу не дає будь-якого якісно стрибка в продуктивності. Винятком, (та й то відносним) є тільки деякі новітні високотехнологічні гри.
Найбільшу користь від переходу на 64-біта отримують програми для роботи з базами даних, причому чим більше обсяг використовуваних даних, тим більше помітний виграш, програми для CAD / CAE (автоматизоване проектування, моделювання і т.п.), а також програми для створення цифрового контенту (обробка зображень, звуку, відео), більш детальну інформацію вже, як правило, можна дізнатися на сайті фірми-розробника використовуваного вами ПО - як правило, з термінів готовності 64-бітових версій секретів ніхто не робить.

З програм, портирование яких на 64-біт Windows завершено або наближається до завершення варто згадати Microsoft SQL Server 2000 і 2005, Cakewalk Sonar 4.0, CryTek FarCry, Epic Unreal Tournament 2004, SiSoft Sandra 2005 повний список ПО, яке знаходиться на різних стадіях перенесення під Windows x64 можна знайти тут.

Порівняльна таблиця обмежень по максимальному обсягу використовуваної оперативної пам`яті і числу процесорів для 32 і 64-бітових версій операційних систем від Microsoft:

Загальні обмеження за обсягом використовуваної пам`яті32-Bit64-Bit
Повний ВАП4 ГБ16 TБ
ВАП для 32-бітного процесу2 ГБ (3 ГБ c ключем завантаження / 3ГБ)4 ГБ якщо програма відкомпільована з ключем / LARGEADDRESSAWARE (2 ГБ без цього)
ВАП для 64-бітного процесуНе застосовується8 TБ
Paged pool (вивантажувати стек)470 МБ128 ГБ
Non-paged pool (невивантажуваного стек)256 МБ128 ГБ
System Page Table Entry (PTE)660 МБ to 900 МБ128 ГБ
Обмеження по фізичній обсягом пам`яті і кількістю процесорів32-Bit64-Bit
Windows XP Professional4 ГБ / до 2 CPU128 ГБ / до 2 CPU
Windows Server 2003, Standard Edition4 ГБ / до 4 CPU32 ГБ / до 4 CPU
Windows Server 2003, Enterprise Edition64 ГБ / до 8 CPU1 TБ / до 8 CPU
Windows Server 2003, Datacenter Edition64 ГБ / 8 - 32 CPU TБ / 8 - 64 CPU
Поділися в соціальних мережах:

Схожі
Чим архітектура arm відрізняється від x86Чим архітектура arm відрізняється від x86
Процесори intel шостого покоління (skylake)Процесори intel шостого покоління (skylake)
Що потрібно знати при виборі процесора (частина 1)Що потрібно знати при виборі процесора (частина 1)
Ряд портативних intel- процесорів поповнився десятьма моделямиРяд портативних intel- процесорів поповнився десятьма моделями
Intel випускає компактні десктопи nuc на базі bay trail-mIntel випускає компактні десктопи nuc на базі bay trail-m
Процесори intel devil`s canyon з`явилися в продажуПроцесори intel devil`s canyon з`явилися в продажу
У чому відмінність процесорів intel core i3, i5 і i7?У чому відмінність процесорів intel core i3, i5 і i7?
Архітектури процесора intel за весь часАрхітектури процесора intel за весь час
У мережі з`явилися дані про нові процесори intel skylake: core i7-6700k і i5-6600kУ мережі з`явилися дані про нові процесори intel skylake: core i7-6700k і i5-6600k
У мережі з`явилося фото інженерного зразка восьмиядерного процесора intel core i7 haswell-eУ мережі з`явилося фото інженерного зразка восьмиядерного процесора intel core i7 haswell-e
» » 64-Бітну x86 процесори. Відмінність 64-бітних x86 процесорів від 32-бітових. Використання пам`яті