Нажмите "Enter", чтобы перейти к содержанию

64 битные процессоры: Процессоры 64-битные, 32-битные. Архитектура процессора

Содержание

Процессоры 64-битные, 32-битные. Архитектура процессора

Вопрос: Архитектура процессора — что это?
Ответ: Термин «архитектура процессора» в настоящее время не имеет однозначного толкования. С точки зрения программистов, под архитектурой процессора подразумевается его способность исполнять определенный набор машинных кодов. Большинство современных десктопных CPU относятся к семейству x86, или Intel-совместимых процессоров архитектуры IA32 (архитектура 32-битных процессоров Intel). Ее основа была заложена компанией Intel в процессоре i80386, однако в последующих поколениях процессоров она была дополнена и расширена как самой Intel (введены новые наборы команд MMX, SSE, SSE2 и SSE3), так и сторонними производителями (наборы команд EMMX, 3DNow! и Extended 3DNow!, разработанные компанией AMD). Однако разработчики компьютерного железа вкладывают в понятие «архитектура процессора» (иногда, чтобы окончательно не запутаться, используется термин «микроархитектура») несколько иной смысл.

С их точки зрения, архитектура процессора отражает основные принципы внутренней организации конкретных семейств процессоров. Например, архитектура процессоров Intel Pentium обозначалась как Р5, процессоров Pentium II и Pentium III — Р6, а популярные в недавнем прошлом Pentium 4 относились к архитектуре NetBurst. После того, как компания Intel закрыла архитектуру Р5 для сторонних производителей, ее основной конкурент — компания AMD была вынуждена разработать собственную архитектуру — К7 для процессоров Athlon и Athlon XP, и К8 для Athlon 64.

Вопрос: Какие процессоры лучше, 64-битные или 32-битные? И почему?
Ответ: Достаточно удачное 64-битное расширение классической 32-битной архитектуры IA32 было предложено в 2002 году компанией AMD (первоначально называлось x86-64, сейчас — AMD64) в процессорах семейства К8. Спустя некоторое время компанией Intel было предложено собственное обозначение — EM64T (Extended Memory 64-bit Technology). Но, независимо от названия, суть новой архитектуры одна и та же: разрядность основных внутренних регистров 64-битных процессоров удвоилась (с 32 до 64 бит), а 32-битные команды x86-кода получили 64-битные аналоги.

Кроме того, за счет расширения разрядности шины адресов объем адресуемой процессором памяти существенно увеличился.

И… все. Так что те, кто ожидает от 64-битных CPU сколь-нибудь существенного прироста производительности, будут разочарованы — их производительность в подавляющем большинстве современных приложений (которые в массе своей заточены под IA32 и вряд ли в обозримом будущем будут перекомпилированы под AMD64/EM64T) практически та же, что и у старых добрых 32-битных процессоров. Весь потенциал 64-битной архитектуры может раскрыться лишь в отдаленном будущем, когда в массовых количествах появятся (а может, и не появятся) приложения, оптимизированные под новую архитектуру. В любом случае, наиболее эффективен переход на 64-бита будет для программ, работающих с базами данных, программ класса CAD/CAE, а также программ для работы с цифровым контентом.

Вопрос: Что такое процессорное ядро?
Ответ: В рамках одной и той же архитектуры различные процессоры могут достаточно сильно отличаться друг от друга. И различия эти воплощаются в разнообразных процессорных ядрах, обладающих определенным набором строго обусловленных характеристик. Чаще всего эти отличия воплощаются в различных частотах системной шины (FSB), размерах кэша второго уровня, поддержке тех или иных новых систем команд или технологических процессах, по которым изготавливаются процессоры. Нередко смена ядра в одном и том же семействе процессоров влечет за собой замену процессорного разъема, из чего вытекают вопросы дальнейшей совместимости материнских плат. Однако в процессе совершенствования ядра, производителям приходится вносить в него незначительные изменения, которые не могут претендовать на «имя собственное». Такие изменения называются ревизиями ядра и, чаще всего, обозначаются цифробуквенными комбинациями. Однако в новых ревизиях одного и того же ядра могут встречаться достаточно заметные нововведения. Так, компания Intel ввела поддержку 64-битной архитектуры EM64T в отдельные процессоры семейства Pentium 4 именно в процессе изменения ревизии.

Вопрос: В чем заключается преимущество двухъядерных процессоров перед одноядерными?
Ответ: Самым значимым событием 2005 года стало появление двухъядерных процессоров. К этому времени классические одноядерные CPU практически полностью исчерпали резервы роста производительности за счет повышения рабочей частоты. Камнем преткновения стало не только слишком высокое тепловыделение процессоров, работающих на высоких частотах, но и проблемы с их стабильностью. Так что экстенсивный путь развития процессоров на ближайшие годы был заказан, и их производителям волей-неволей пришлось осваивать новый, интенсивный путь повышения производительности продукции. Самой расторопной на рынке десктопных CPU, как всегда, оказалась Intel, первой анонсировавшая двухъядерные процессоры Intel Pentium D и Intel Extreme Edition. Впрочем, AMD с Athlon64 X2 отстала от конкурента буквально на считанные дни. Несомненным достоинством двухъядерников первого поколения, к которым относятся вышеназванные процессоры, является их полная совместимость с существующими системными платами (естественно, достаточно современными, на которых придется только обновить BIOS).

Второе поколение двухъядерных процессоров, в частности, Intel Core 2 Duo, «требует» специально разработанных для них чипсетов и со старыми материнскими платами не работает.

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

Впрочем, если сегодня стоит вопрос выбора процессора для игрового ПК среднего или верхнего ценового диапазона, то, в любом случае, лучше предпочесть двухъядерный, а то и 4-ядерный процессор чуть более высокочастотному одноядерному аналогу, так как рынок неуклонно движется в сторону мультиядерных систем и оптимизированных параллельных вычислений.

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

Вопрос: Что такое кэш?
Ответ: Во всех современных процессорах имеется кэш (по-английски — cache) — массив сверхскоростной оперативной памяти, являющейся буфером между контроллером сравнительно медленной системной памяти и процессором. В этом буфере хранятся блоки данных, с которыми CPU работает в текущий момент, благодаря чему существенно уменьшается количество обращений процессора к чрезвычайно медленной (по сравнению со скоростью работы процессора) системной памяти. Тем самым заметно увеличивается общая производительность процессора.

При этом в современных процессорах кэш давно не является единым массивом памяти, как раньше, а разделен на несколько уровней. Наиболее быстрый, но относительно небольшой по объему кэш первого уровня (обозначаемый как L1), с которым работает ядро процессора, чаще всего делится на две половины — кэш инструкций и кэш данных. С кэшем L1 взаимодействует кэш второго уровня — L2, который, как правило, гораздо больше по объему и является смешанным, без разделения на кэш команд и кэш данных. Некоторые десктопные процессоры, по примеру серверных процессоров, также порой обзаводятся кэшем третьего уровня L3. Кэш L3 обычно еще больше по размеру, хотя и несколько медленнее, чем L2 (за счет того, что шина между L2 и L3 более узкая, чем шина между L1 и L2), однако его скорость, в любом случае, несоизмеримо выше, чем скорость системной памяти.

Кэш бывает двух типов: эксклюзивный и не эксклюзивный кэш. В первом случае информация в кэшах всех уровней четко разграничена — в каждом из них содержится исключительно оригинальная, тогда как в случае не эксклюзивного кэша информация может дублироваться на всех уровнях кэширования. Сегодня трудно сказать, какая из этих двух схем более правильная — и в той, и в другой имеются как минусы, так и плюсы. Эксклюзивная схема кэширования используется в процессорах AMD, тогда как не эксклюзивная — в процессорах Intel.

Вопрос: Что такое процессорная шина?
Ответ: Процессорная (иначе — системная) шина, которую чаще всего называют FSB (Front Side Bus), представляет собой совокупность сигнальных линий, объединенных по своему назначению (данные, адреса, управление), которые имеют определенные электрические характеристики и протоколы передачи информации. Таким образом, FSB выступает в качестве магистрального канала между процессором (или процессорами) и всеми остальными устройствами в компьютере: памятью, видеокартой, жестким диском и так далее. Непосредственно к системной шине подключен только CPU, остальные устройства подсоединяются к ней через специальные контроллеры, сосредоточенные в основном в северном мосте набора системной логики (чипсета) материнской платы. Хотя могут быть и исключения — так, в процессорах AMD семейства К8 контроллер памяти интегрирован непосредственно в процессор, обеспечивая, тем самым, гораздо более эффективный интерфейс память-CPU, чем решения от Intel, сохраняющие верность классическим канонам организации внешнего интерфейса процессора.

Основные параметры FSB некоторых процессоров приведены в табл

Процессор частота FSB, МГц Тип FSB Теоретическая пропускная способность FSB, Мб/с
Intel Pentium III 100/133 AGTL+ 800/1066
Intel Pentium 4 100/133/200 QPB 3200/4266/6400
Intel Pentium D 133/200 QPB 4266/6400
Intel Pentium 4 EE 200/266 QPB 6400/8533
Intel Core 133/166 QPB 4266/5333
Intel Core 2 200/266 QPB 6400/8533
AMD Athlon 100/133 EV6 1600/2133
AMD Athlon XP 133/166/200 EV6 2133/2666/3200
AMD Sempron 800 HyperTransport <6400
AMD Athlon 64 800/1000 HyperTransport 6400/8000

Процессоры компании Intel используют системную шину QPB (Quad Pumped Bus), передающую данные четыре раза за такт, тогда как системная шина EV6 процессоров AMD Athlon и Athlon XP передает данные два раза за такт (Double Data Rate). В архитектуре AMD64, используемой компанией AMD в процессорах линеек Athlon 64/FX/Opteron, применен новый подход к организации интерфейса CPU — здесь вместо процессорной шины FSB и для сообщения с другими процессорами используются: высокоскоростная последовательная (пакетная) шина HyperTransport, построенная по схеме Peer-to-Peer (точка-точка), обеспечивающая высокую скорость обмена данными при сравнительно низкой латентности.

Источник: 3dnews.ru

64 бита / Блог компании Intel / Хабр

Статья раскрывает смысл термина «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-битные. 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

64-x битные процессоры / Процессоры и память

Введение

Не так давно — каких то лет десять назад, на наших глазах произошла «микро» революция: мы перешли с 16-ти на 32-битные приложения. Большинство, надо полагать, этот процесс еще довольно хорошо помнит. И помнит, в том числе, что никакого увеличения производительности «на глаз» замечено не было. Так вот -с переходом с 32-бит на 64-бит будет то же самое.

Теперь, после столь оптимистичного вступления, попытаемся разобраться -почему ситуация складывается именно так, а не иначе. Да и вообще — может быть автор ошибается? Тем более, что, усилиями маркетологов шумиха вокруг 64-бит процессоров поднимается в последнее время все больше и больше. Что характерно -раньше такого не было, хотя 64-бит RISC чипы вышли на рынок еще в конце 90-х. Тогда это были типично серверные процессоры, причем уже широко известные узкому кругу специалистов, а сегодня в отрасль пришли многомиллионные маркетинговые бюджеты того же Intel.


CPU Reviews:
CPU: Планы на 2003-2007-й год
ITоги 2002 года. CPU
Перспективы полупроводников
Многопроцессорность для x86
0,09 мкм техпроцесс от Intel
Технология Hyper-Threading
NexGen: «чистый» процессор
AMD: 30 лет гонки за лидером

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

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

Но для начала, нам придется как следует углубиться в самые-самые основы работы процессоров — это послужит той необходимой платформой, от которой будет отталкиваться весь последующий разговор. И, чуть-чуть, в историю. Которая начинается со времен Intel 4004, бывшего 4-бит процессором. Это означало, что процессорные регистры общего назначения могли хранить лишь числа такой размеренности, ALU (arithmetic logic unit), модуль, выполняющий вычисления с целыми числами, мог с ними работать, плюс, процессор мог бы использовать 4-бит числа при адресации к блокам памяти. То есть, к примеру, для инструкций, работающих с целыми числами, были доступны лишь значения от -7 до 8. Очевидно, что — маловато для любой арифметической операции.

Впрочем, уже очень скоро появился на свет 8-бит 8008 (-127 — 128), также скоро сменил его 16-бит 8086 (-32768 — 32767), а уже в 1986 году мы увидели 80386 процессор, впервые реализовавший 32-бит режим работы, что дало возможность работы с числами размерностью свыше двух миллиардов. Кстати, а о какой работе вообще идет речь, как оперирует числами процессор?

Как оперирует числами процессор?

Есть ALU (в последних процессорах — уже несколько), в который поступают все инструкции и данные, необходимые для целочисленных вычислений, как правило, это один из самых быстрых в плане тактовой частоты модулей процессора. Грубо говоря, процесс его работы можно представить следующим образом: поступили данные (две цифры — 3 и 4), поступила инструкция (операция умножения). На выходе получили результат — 12. Сложение, вычитание, деление, и так далее — в общем, все, с чем мы имеем дело в повседневной жизни.

Очевидно, что хоть используем ли мы числа в 4-бит представлении, хоть в 64-бит, а в данной схеме абсолютно ничего не изменится. Поступили на вход два числа, ALU произвел над ними операцию, выдал результат. Есть, конечно, потенциальная возможность того, что удастся каким-то образом распараллелить этот участок, найдя две пары чисел и пару операций, которые необходимо над ними выполнить, абсолютно не влияющих друг на друга. Случай относительно редкий — на то мы и имеем дело с алгоритмом, то есть, цепочкой последовательных шагов, но все же отнюдь не невозможный. В сегодняшних программах хватает процедур, совершенно друг с другом не связанных.

Возникает вопрос, при чем тут регистры? Как уже говорилось — прежде, чем данные попадут в ALU, они должны быть туда загружены. Загружены из некоего источника. Под которым можно подразумевать все угодно — от винчестера, до кэша процессора. Из кэша данные попадают непосредственно в процессор, в блок хранения данных. Небольшой по объему, но скоростной. Однако, в силу ряда чисто физических ограничений, расположить его вплотную к ALU не получится — роль посредника выполняет набор совсем уж небольших блоков для хранения данных, работающих на очень большой скорости, и называющихся регистрами.

Как раз оттуда ALU данные, с которыми он работает, и получает, и звучит для него вышеупомянутая операция скорее не как «3 * 4», а как «содержимое регистра A * содержимое регистра B». И, разумеется, сохранить результат в один из регистров (может быть, даже один из использовавшихся в операции), откуда он потом, при необходимости, сможет быть взять для еще одной операции, или же записан в оперативную память, освободив драгоценное место. Когда мы говорим о разрядности процессора, то, практически в первую очередь, мы говорим как раз о разрядности этих регистров — могут ли они хранить 8, 16, 32, или 64-бит числа.

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

С числами с плавающей запятой работает отдельный набор инструкций, x87, с ними оперируют отдельные вычислительные блоки, сведенные в модуль с общим названием «сопроцессор», а хранятся они и оперирует с ними процессор во внутреннем формате с 80-бит представлением. Так что здесь пока что все нормально, и ради чисел с плавающей запятой весь сыр-бор затевать явно не требовалось. Тем более, что это направление развивается совершенно автономным образом — SSE, 3DNow, и так далее, так что переход x86 с 32-бит на 64 его затрагивает весьма слабо.

Существует, впрочем, и еще один аспект вопроса, а именно — доступ к памяти. Дело в том, что в базовом режиме, так называемом «flat addressing», те же самые регистры общего назначения используются для хранения адресов доступа к памяти. 32 бита дают нам 4.3 миллиарда возможных комбинаций, так что 32-бит процессор может, таким образом, осилить объем памяти лишь объемом в 4.3 Гбайт. Адреса ячеек, имеющих более старшие номера, он попросту не может хранить в своих регистрах.

Очевидно, что здесь польза от 64 бит проявляется наиболее очевидно, поскольку объем адресуемого пространства сразу увеличивается до 18 миллионов терабайт. И 4 Гбайт то памяти в настоящее время можно встретить лишь в серверах, хотя через несколько лет, очевидно, до таких объемов доберутся и PC, но новые возможности: Их, очевидно, хватит на ближайшие несколько десятков лет, по крайней мере, если иметь дело с теоретической стороной вопроса — на практике дела обстоят отнюдь не столь радужно.

Так вот, раз уж мы заговорили о серверах, то впору вообще задаться вопросом — что толку вообще в переходе на 64-бит? Кто выиграет от этого? В первую очередь в голову, разумеется, приходят пресловутые серверы баз данных. Где серьезные базы давно уже переросли объем в 4 Гбайт, а возможность кэшировать их полностью в оперативной памяти слишком заманчива в плане производительности, чтобы от нее отказываться. Так что, между прочим, как и с сопроцессором, производители серверных решений не стали дожидаться, пока как-то решит проблему — за счет использования различных подходов, 32-бит Xeon позволяет адресовать более 4 Гбайт данных (до 64 Гбйт), хотя, конечно подобные полухакерские решения трудно назвать серьезной платформой под будущее, да и падение производительности при операциях с памятью при этом измеряется в десятках процентов. Впрочем, будущее от Intel — это Itanium, а не Xeon.

Зачем необходим 64-х битный процессор?

Даже на рабочих станциях пока что трудно представить себе необходимость объемов памяти выше 4 Гбайт, хотя, конечно, очевидно, что совершенствование приложений, работающих с 2D и 3D графикой, а также с видео, уже в течение ближайших лет позволят перешагнуть этот барьер. Тем не менее, сегодня здесь пользы от 64-бит — ни малейшей.

Про Word, игры, и так далее — в этом контексте рассуждать вообще просто смешно, хотя, с другой стороны, по мере увеличения реалистичности отображаемого в играх мира легко себе представить необходимость в подобных объемах памяти. Достаточно представить себе все сервера, поддерживающие Ultima Online или Everquest, сконцентрированные в обычный будущий игровой PC среднего уровня.

Однако, кто-то, возможно, уже мог заметить изьян в этих рассуждениях — они ведутся так, как будто 64-бит адресация к памяти является единственным достоинством 64-бит процессоров. Неужели, от представления целых чисел в 64-бит формате для вычислений ничего не меняется? Кое-что меняется, конечно, но, во многом, для тех же серверов: симуляция ядерных взрывов, погоды, криптография, и прочие подобные приложения, где действительно может возникнуть ситуация, когда 32-бит диапазона целых чисел может не хватить. Реальный мир обычных PC — фактически, исключено. Кстати, если уж сейчас кому-то такое и нужно, то языки высокого уровня, вроде того же C, позволяют использовать стандартный фокус, когда для представления 64-бит числа используются два 32-бит регистра. Что, естественно, поскольку количество регистров весьма ограничено, несколько негативно сказывается на производительности.

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

Впрочем, уточнение «для той же архитектуры» было сделано отнюдь не зря, поскольку, если уж мы отталкиваемся от x86, то это будет справедливо только для Athlon 64 и Opteron от AMD. Все остальные игроки пошли по совсем другому направлению, разрабатывая под 64-бит совершенно отличные архитектуры. Возьмем тот же Intel, который и положил, собственно, начало шумихе по поводу 64-бит процессоров.

Intel 64

Компания предпочла, если можно так выразиться, совершить бархатную революцию, оставив на некоторое время развиваться свою линейку 32-бит процессоров, и, параллельно, начав выводить на рынок 64-бит семейство. Шаг, сделанный Intel впервые: переход с 16 на 32 бит был сделан абсолютно дискретно — i386 полностью заменил собой i286, волевым решением, если можно так выразиться.

Процессор разрабатывался с нуля, причем, параллельно сразу в двух версиях: инженерами Intel и Hewlett-Packard. Впрочем, в основе обоих чипов лежали, естественно, одни и те же идеи, поскольку создавались они все же совместно, и должны были оба стать родоначальниками одного и того же семейства. Цементирующим составом были, естественно, единая идеология, пришедшая на смену CISC — EPIC (Explicitly Parallel Instruction Computing), и новая архитектура — IA-64, включающая в себя набор инструкций, описание регистров, и прочие подобные вещи. Впрочем, архитектура как раз — вещь изменчивая, достаточно вспомнить как отличаются между собой такие CISC процессоры, как 8086 и i486, оба созданные на базе x86.

Точно так же и с Merced и McKinley, Itanium и Itanium 2 — оба построены на базе одной идеологии, но разных разновидностях архитектуры. В свое время та же история, в общем то, была и с Pentium и Pentium Pro. Впрочем, общие черты были и у тех, есть и у этих, за это «отвечает» EPIC. В первую очередь речь идет о полноценной масштабной суперскалярности, то есть, способности выполнять одновременно несколько инструкций. Для чего, естественно, процессор содержит исполнительных модулей — для операций с целыми числами, с числами с плавающей запятой, и т.д.

В отличие от Pentium и его последователей, разбирающихся в коде самостоятельно, EPIC-процессоры сильно полагаются на компилятор, который должен сам проанализировать код на предмет нахождения оптимальных мест для распараллеливания его выполнения, и снабдить процессор этой информацией. Потому и «explicitly». Очень удобная штука: процессор не должен сам пытаться понять, что можно исполнять параллельно, а что нет, и т.д. — все это ему уже заранее объяснит компилятор. Плюс, мощные механизмы по предсказанию переходов, предварительному выполнению кусков кода, предварительной загрузке данных, и тому подобные вещи — загрузка исполнительных блоков должна быть распределена максимально равномерно.

Кардинально решен вопрос с регистрами, количество которых увеличено в несколько раз: у Itanium их количество составляет 128 общего назначения, 128 — для хранения чисел с плавающей запятой, 8 регистров переходов, и 64, отвечающих за работу механизмов предсказания. Здесь все очевидно — такого количества регистров, да еще реально 64-битных, хватит для хранения любых требуемых чисел для любого разумного количество исполнительных модулей. Каковых у Itanium, первого представителя семейства, всего пять — два целочисленных, два для операций с памятью, (итого — 4 ALU инструкции за такт), и четыре — для операций с плавающей точкой. Физическая память адресуется 44-бит числами, что на самом деле ограничивает ее объем «всего лишь» 17.6 Терабайт, блоки для операций с плавающей точкой работают с числами в 82-бит представлении.


От идеи реализовать 32-бит x86 ядро в аппаратном виде Intel отказался, сочтя это слишком неэффективным использованием площади кристалла, так что для того, чтобы получить возможность исполнения Itanium старого доброго х86 кода, пришлось создать систему трансляции, которая на лету преобразует x86 код в IA-64. Очевидно, что при прочих равных, производительность подобного решения будет ниже, чем чистого x86, работающего на той же частоте. Впрочем, никто и не ждет от Itanium скоростного исполнения x86 программ — поддержка этой архитектуры относится скорее к издержкам переходного периода. Тем не менее, факт остается фактом: это семейство для решения 32-бит задач не приспособлено. Впрочем, вряд ли кто-то будет покупать Itanium для подобных целей.

Вдобавок, сам по себе Itanium был в значительной степени пилотным проектом, как и Pentium Pro, так что процессор вообще стоит рассматривать больше как демонстрацию возможностей архитектуры, чем реальный коммерческий продукт. Характерный штрих — чипсет для Itanium, 460GX, поддерживает в качестве памяти всего лишь PC100 SDRAM, это кое-что говорит о скорости, с которой способен переваривать данные процессор. С другой стороны, однако, в какой-то мере не слишком быстрый интерфейс с оперативной памятью компенсируется очень большим кэшем — 2 или 4 Мбайт L3, работающими на полной частоте процессора (733 или 800 МГц), с пропускной способностью до 12.8 Гбайт/с.

Еще одной задачей Itanium было решить вопрос с компиляторами — ведь EPIC-процессоры, как уже упоминалось, очень сильно от них зависят. В отличие от компиляторов для x86 процессоров, которые на их производительность почти не влияли, здесь компиляторы являются полноправными партнерами процессора — ведь они снабжают его крайне необходимой для работы информацией, и от того, насколько качественной она будет, будет зависеть скорость исполнения этой программы процессором.

Itanium 2 является уже куда более коммерчески интересным продуктом. Созданный командой инженеров Hewlett-Packard, набившей руку на создании 64-бит процессоров серии PA-RISC, чип получился куда более совершенным. С несколько меньшим количеством кэша L3 (1.5 или 3 Мбайт), и несколько более высокой частотой, 900 МГц или 1 ГГц, он обеспечивает в полтора-два раза большую производительность на тех же задачах, что и Itanium. И является, фактически, первым коммерческим представителем архитектуры IA-64. Дальше планы у Intel уже расписаны совершенно четко, и в ближайшие несколько лет особых революций не предвидится — только за счет совершенствования техпроцесса.


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

Технология же Yamhill, полумифический ответ Intel на AMD x86-64, то есть, 64-бит надстройка для 32-бит процессоров, несмотря на все слухи, так и остается чем-то неопределенным. Можно не сомневаться, что подобные наработки у Intel действительно имеются, но линейка Pentium 4 — Xeon — Itanium на сегодняшний день настолько плотно закрывает все возможные спектры применений, что добавлять телеге пятое колесо просто-напросто нет никакой необходимости.

AMD 64

У AMD же подход полностью противоположный. Компания считает, что сейчас не время и не место для революций, а плавность эволюционного развития x86 со времен 8086 до Pentium 4 и Athlon XP, не должна прерываться. Исходя из этой идеи и формулировалась сама идеология создания процессора AMD следующего поколения — K8. Необходимость 64-битности уже тогда прослеживалась абсолютно явно, да и Intel уже во всеуслышание заявил о разработке IA-64, так что вопрос — быть 64-бит или не быть, на повестке дня для компании просто не стоял.

Однако, запас мощности, объем ресурсов, выражающихся как в финансовом выражении, так и в прочих, например, во влиянии — доле рынка, у AMD и Intel просто несравним, так что последовать по пути своего конкурента и предложить Intel абсолютно новую идеологию компания попросту не могла. Не поняли бы и не пошли бы. Оставалось сделать то, что у AMD обычно получалось лучше всего: взять старый добрый x86, и сделать его лучше, чем у Intel. Так и родилась на свет архитектура x86-64.

Естественно, в первую очередь здесь идет речь о расширении восьми регистров общего назначения до 64-бит. Чего, впрочем, безумно мало для сегодняшних процессоров, даже если мы учтем наличие еще восьми регистров для операций с плавающей точкой и восьми регистров для SIMD операций. В любом случае это не сравнить с количеством регистров у процессоров действительно нового поколения — у того же Itanium, во многом и обеспечивающим им новый уровень производительности. Мы привыкли во многом оценивать процессоры по разнице в объеме кэша — а ведь разница в количестве регистров не менее определяюща, поскольку они выполняют роль своеобразного пред-кэша.

Впрочем, опять же, никто здесь не является гениальным провидцем, и разработчиком микропроцессоров эти вещи известны давным-давно. Так же, как и некоторые из путей их решения. Скажем, у того же Pentium 4 действительно 8 32-бит регистров общего назначения. Те, что видит исполняемый код. За их же фоном в глубинах процессора скрываются еще 120 (!), которыми тот может жонглировать как угодно, в нужный момент представляя любой из них под видом одного из базовой восьмерки. Путь интересный, но неочевидный. Для того же компилятора. На который, впрочем, как мы помним, Pentium 4 совершенно и не полагается.

AMD предпочла более очевидный для компилятора путь, вдвое увеличив количество видимых ему регистров — в 64-бит режиме K8 имеет шестнадцать 64-бит регистров общего назначения. Количество регистров для операций с плавающей точкой осталось прежним — восемь, поскольку не на x87 при операциях с плавающей точкой здесь возлагается основная надежда, а на SIMD операции, потому и количество SIMD регистров также удвоено — тоже до шестнадцати.


Дальше все зависит лишь от того режима, в котором работает процессор. Есть режим обратной совместимости, где K8 работает как обычный 32-бит процессор, не используя ничего из своих новых возможностей, кроме тех, что относятся к простому увеличению производительности процессора. Есть так называемый «long mode», который, в свою очередь, состоит из двух подрежимов: «64-bit mode» и «compatibility mode». Обязательно требуется наличие 64-бит OS, способной, впрочем, исполнять оба вида кода, как 64-бит, так и обычный x86. Естественно, что в последнем случае программа не будет иметь доступа к памяти выше 4 Гбайт, полному объему регистров, дополнительным регистрам, и т.д. В общем, в свое время Windows 95 примерно так же относилась к 16-бит и 32-бит программам.

Впрочем, по умолчанию регистры установлены в 32-бит режим, поскольку даже 64-бит программа не пользуется только 64-бит числами. Скорее, она даже не столько пользуется ими, сколько старыми добрыми 32-бит. Выделять под их хранение 64-бит регистры — напрасная трата ресурсов, так что по умолчанию — 32-бит. Если же программе потребовалась именно операция с 64-бит регистрами, она должна использовать специальный префикс при обращении к ним, длиной в один байт. Это довольно много, учитывая, что таких обращений в программе может быть достаточно много. Впрочем, AMD полагает, что вряд ли увеличение объема одного и того же кода при переходе с x86 на x86-64 составит более десяти процентов.


Зато, с другой стороны, 32-бит программы во всех режимах обратной совместимости будут чувствовать себя просто как дома — они попросту не заметят, что исполняются на 64-бит процессоре, пользуясь всеми благами новых технологий, вроде встроенного в процессор северный моста чипсета, и т.д. А учитывая, что, как уже говорилось, 32-бит для подавляющего большинства всех необходимых программ для PC, рабочих станций, и Low-End серверов ближайшие несколько лет хватит, то здесь у Athlon 64 и Opteron перед Itanium несомненное преимущество — они не предлагают ненужных для этого рынка вещей за лишние деньги. Понадобятся 64-бит — всегда пожалуйста, нет — значит будем исполнять 32-бит в родном режиме, не занимаясь медленной эмуляцией.

Весь вопрос в том и заключается — есть ли вообще надобность в подобных процессора: умеющих исполнять стандартный 32-бит код, но, в случае необходимости, пользоваться и преимуществами 64-бит вычислений и доступа к памяти выше 4 Гбайт: Некоторые уверены, что да, вроде создателя Unreal, Tim Sweeny. По его мнению, подобная платформа обеспечит возможность создания дешевых рабочих станций, с соотношением цена/производительность в разы большей, чем у систем на том же Itanium. К выходу Athlon 64 Epic собирается выпустить 64-бит версию Unreal, и вообще полон оптимизма по поводу перспектив подобного подхода.

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

Первый представитель ядра K8 уже вышел — это Opteron, серверный процессор для одно-, двух-, и четырехпроцессорных конфигураций, с перспективой выхода на 8-процессорные платформы. С его облегченным вариантом, Athlon 64, к сожалению, пока полной ясности нет — процессор уже неоднократно откладывался, и сейчас ожидается где-то ближе к 2004 году. Виной тому технологические проблемы, или же уже упоминавшееся отсутствие 64-бит приложений для PC (включая операционную систему — Windows-64, поскольку Unix — это не OS для PC)? Скорее все же второе, и теперь AMD вынуждена ждать, пока Microsoft придет ей на помощь. Остается лишь надеяться, что это произойдет не слишком поздно.


Впрочем, есть 64-бит процессоры, у которых вопрос поддержки на уровне ОС и софта просто-напросто не стоит. Это, естественно, ветераны серверных платформ — RISC процессоры IBM, Sun, и Compaq.

IBM, Sun, и Compaq

Линейки IBM PowerPC, в своих серверных воплощениях известные, как Power4/Power4+, являются на сегодняшний день, пожалуй, наиболее реальными соперниками Itanium 2. В свое время это были первые 0.13 мкм 64-бит процессоры на рынке, с тех пор IBM неустанно работала над их техническими параметрами, и вот, сегодня мы имеем то, что имеем: относительно недорогой процессор с двумя физическими ядрами, 1.4-1.5 Мбайт кэша L2, и встроенным северным мостом. Процессор исповедует достаточно экзотический подход, комбинируя до пяти инструкций в группу, затем обращаясь с ней как с единым неделимым целым. С одной стороны — упрощает работу, с другой стороны — если что-то произошло, то придется делать откат на уровне всей группы. Да и на возможности параллельного исполнения такое ограничение сказывается не самым лучшим способом, лишая гибкости.


Нельзя не отметить еще одного из последних представителей семейства PowerPC — 64-бит PowerPC 970, нацеленный на совершенно другой сегмент. Это процессор для компьютеров класса PowerMac, представляющий из себя урезанный вариант Power4, дополненный к тому же SIMD набором инструкций Altivec от Motorola. Почти идеальный вариант для замены PowerPC G4 и G4+, к тому же, очень экономичный. И с потенциалом роста тактовой частоты выше 2 ГГц.


Sun в последнее время страдает от беспрестанных ударов со всех сторон, со все сокращающейся рыночной долей на рынке серверов и, соответственно, серверных процессоров. Компания слишком затянула с процессом развития своих продуктовых линеек, и ее сегодняшний UltraSPARC III по производительности выглядит довольно бледно относительно конкурентов. Хуже того, UltraSPARC IV, фактически, является всего лишь его его 0.13 мкм вариантом. Чего-то действительно нового можно ждать лишь от UltraSPARC V, но до этого процессора надо еще дожить — раньше 2005 года его ждать никак не приходится.


Alpha? Здесь, по большей части, ситуация очевидна — отдаленного будущего у архитектуры нет. HP сделала долгосрочную ставку на Itanium, Samsung в последнее время также не проявляет особой активности в этой сфере. Тем не менее, запас хода и инерция архитектуры весьма велики, так что, даже будучи практически лишенной поддержки, она все еще продолжает развиваться. Маленькая, но мощная 1.25 ГГц EV68, оказалась вполне способна потягаться с куда более серьезным на вид Power4, а ее дальнейшее воплощение, EV7, в силу заложенных в него технических решений, является, пожалуй, наиболее мощным на сегодняшний день средством для многопроцессорных комплексов. Вдобавок, в течение года HP собирается выпустить на рынок 0.13 мкм версию EV7 — EV79, с куда большим кэшем L2 и поддержкой более скоростной PC1066 RDRAM.


Вопрос здесь, однако, заключается не столько в чисто технических возможностях процессоров, сколько в тех силах, что за ними стоят — насколько те в состоянии обеспечить мощную поддержку. Как в этом плане, так и все же с точки зрения чисто технологического потенциала, на победу со временем в верхнем эшелоне просто обречены Itanium и Power4+. Судьба же Athlon 64 и Opteron выглядит не совсем ясной — все зависит от того, насколько они смогут использовать свой 64-бит потенциал, для чего им потребуются 64-бит операционные системы и приложения для массовых пользователей. С чем, по крайней мере, на данный момент, дела обстоят не очень. Впрочем, это не удивляет — переход с 16-бит на 32-бит Microsoft совершала почти десяток лет.

Дополнительные материалы:

Производство CPU. Планы на 2003-2007-й год
ITоги 2002 года. CPU
0,09 мкм техпроцесс от Intel
Технология Hyper-Threading от Intel
Будущее процессорных упаковок: BBUL упаковка от Intel
О перспективах и существующих технологиях создания полупроводниковых устройств
Многопроцессорность для x86
Время перемен. NexGen: «чистый» процессор
Время перемен. AMD: 30 лет гонки за лидером

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Урок 1. Что такое 64-битные системы

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

  • IA-64 64-битная микропроцессорная архитектура, разработанная совместно компаниями Intel и Hewlett Packard. Реализована в микропроцессорах Itanium и Itanium 2. Для более подробного знакомства с архитектурой IA-64 можно обратиться к следующим статьям в Wikipedia: «IA-64», «Itanium», «Itanium 2».
  • Intel 64 (EM64T / AMD64 / x86-64 / x64) — данная архитектура представляет собой расширение архитектуры x86 с полной обратной совместимостью. Существует множество вариантов названия данной архитектуры, что приводит к путанице, хотя, по сути, все эти названия обозначают одно и тоже: x86-64, AA-64, Hammer Architecture, AMD64, Yamhill Technology, EM64T, IA-32e, Intel 64, x64. Более подробно узнать о том, как появилось так много названий, можно в статье из Wikipedia: «X86-64».

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

Архитектура Intel 64

Представленная здесь информация основана на первом томе документации «AMD64 Architecture Programmer’s Manual. Volume 1. Application Programming».

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

Необходимость 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 обеспечивает обратную совместимость. Так, 64-битная версия Windows использует специальный режим WoW64 (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы. 52). Однако в этом случае необходимо огромное количество памяти для страничных таблиц, отображающих память.

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

Таблица 1 — Поддерживаемый объем оперативной памяти в различных версиях Windows

Программная модель 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-битные типы данных, о чем будет рассказано в соответствующем уроке. 32?

Не хочу показаться глупым, но я понятия не имею о процессорах. Я предполагаю, что 64-битные, в общем, лучше, чем 32-битные. Хотя мой компьютер сейчас (годовалый, Win 7, Intel Atom) имеет 32-битный процессор.

64-bit hardware 32bit-64bit 32-bit processors
Поделиться Источник Unknown     29 декабря 2010 в 09:27

10 ответов


  • Разница между генератором GWT и процессором аннотаций Java?

    GWT использует генератор для создания кода до того, как все будет переведено в JavaScript. Java, с другой стороны, имеет процессор аннотаций, который генерирует код до того, как все будет переведено в байт-код. В чем разница между генератором GWT и процессором аннотаций Java?

  • xp_md5.dll для 64-bit

    Я прямо сейчас использую эту расширенную хранимую процедуру в одной из тестовых баз данных на sql server 2008, и она отлично работает. 32 байта (что составляет около 4 GB данных). Процессор 64-bit может управлять гораздо более очевидно.

    Есть и другие последствия, но это те два, которые приходят на ум.

    Поделиться Jakob     29 декабря 2010 в 09:36



    24

    Первые 32-разрядные и 64-bit называются архитектурами.

    Эти архитектуры означают, что сколько данных микропроцессор обработает в течение одного цикла команд , т. е. fetch-decode-execute

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

    32-бит означает, что микропроцессор может выполнить 4 байта данных за один цикл команд, в то время как 64-bit означает, что микропроцессор может выполнить 8 байт данных за один цикл команд.

    Поскольку микропроцессору необходимо общаться с другими частями компьютера, чтобы получать и отправлять данные, т. Е. Память, шину данных, видеоконтроллер и т. Д., Они также должны теоретически поддерживать передачу данных 64-bit. Однако по практическим соображениям, таким как совместимость и стоимость, другие части все еще могут общаться с микропроцессором в 32 битах. Это произошло в оригинальном IBM PC, где его микропроцессор 8088 был способен к 16-битному исполнению, в то время как он разговаривал с другими частями компьютера в 8 битах по причине стоимости и совместимости с существующими частями.

    Представьте, что на 32-разрядном компьютере вам нужно записать ‘a’ как ‘A’, т. Е. в CAPSLOCK, поэтому для операции требуется только 2 байта, в то время как компьютер будет считывать 4 байта данных, что приведет к накладным расходам. Эти накладные расходы увеличиваются на компьютере 64 bit до 6 байт. Таким образом, компьютеры 64 bit не обязательно должны быть быстрыми все время.

    Помните, что 64 bit windows может выполняться на микропроцессоре только в том случае, если он поддерживает выполнение 64-bit.

    Поделиться Bubba Yakoza     31 августа 2016 в 04:57



    19

    Процессор вызывает данные из памяти, т. е. RAM, передавая свой адрес MAR (регистр адресов памяти). Затем электроника селектора находит этот адрес в банке памяти, извлекает данные и помещает их в MDR (регистр данных памяти) Эти данные записываются в один из регистров процессора для дальнейшей обработки. Вот почему размер шины данных определяет размер регистров в процессоре. Теперь, если мой процессор имеет 32-битный регистр, он может одновременно вызывать данные размером только 4 байта. И если размер данных превышает 32 бита, то для того, чтобы данные были в нем, потребуется два цикла выборки. Это замедляет скорость 32-битной машины по сравнению с 64 bit, которая завершит операцию только в цикле выборки ONE. Таким образом, очевидно, что для меньших данных не имеет значения, работают ли мои процессоры с одинаковой скоростью. Опять же, с процессором 64 bit и 64 bit OS мои инструкции всегда будут иметь размер 64 bit… что излишне занимает больше места в памяти.

    Поделиться ht.of.ignorance     18 сентября 2013 в 11:04


    • Установка Hadoop на windows 7 с 32-битным процессором?

      У меня есть 32-битная машина с windows 7, Мне нужно установить hadoop и попробовать его, я проверил дистрибутив Cloudera, и он предназначен для linux, VMWare изображений с процессором 64 bit. Как установить Hadoop на windows 7 с 32-битным процессором?

    • Разница между 32-битным и 64-bit Excel 2007

      Я поспорил со своими коллегами о разнице между 32-битным и 64-bit Excel 2007 годом. Я сказал, что главное отличие заключается в том, что в версии 64-bit мы сможем добавить более 65536 строк, где, как и в 32-битной версии, мы не сможем добавить более 65536 строк. Пожалуйста, проясните это.



    3

    32-битные процессоры могут обращаться к банку памяти с 32-битным адресом.64 ячеек памяти.

    Поделиться Simon     29 декабря 2010 в 09:31



    1

    Этот ответ, вероятно, запоздал на 9 лет, но я чувствую, что приведенные выше ответы не дают адекватного ответа на этот вопрос.

    Определение 32-разрядных и 64-bit не является четко определенным или регулируемым каким-либо органом по стандартизации. Это всего лишь интуитивные концепции. 32-разрядный или 64-bit CPU обычно относится к собственному размеру слова архитектуры набора команд CPU (ISA). Итак, что такое ISA и что такое размер слова?

    ISA и размер слова

    ISA-это машинные инструкции / assembly мнемоники, используемые CPU. Это самый низкий уровень программного обеспечения, который напрямую говорит, что делать аппаратному обеспечению. Пример:

    ADD r2,r1,r3   # add instruction in ARM architecture to do r2 = r1 + r3
                   # r1, r2, r3 refer to values stored in register r1, r2, r3
                   # using ARM since Intel isn't the best when learning about ISA
    

    Старое определение размера слова-это количество битов, которые CPU может вычислить за один цикл команд. В современном контексте размер слова-это размер регистров по умолчанию или размер регистров, на которые действует базовая инструкция (я знаю, что сохранил много двусмысленности в этом определении, но это интуитивная концепция для нескольких архитектур, которые не полностью совпадают друг с другом). Пример:

    ADD16 r2,r1,r3 # perform addition half-word wise (assuming 32 bit word size)
    ADD r2,r1,r3   # default add instruction works in terms of the word size
    

    Пример разрядности Pentium Pro CPU с PAE

    Во-первых, различные размеры слов в инструкциях общего назначения:

    • Арифметические, логические инструкции: 32 бит (обратите внимание, что это нарушает старую концепцию размера слова, так как умножение и деление занимает более одного цикла)
    • Ответвление, инструкции перехода: 32-бит для косвенной адресации, 16-бит для немедленной (опять же, Intel не является отличным примером из-за CISC ISA, и здесь достаточно сложности)
    • Перемещение, загрузка, хранение: 32 бита для косвенного, 16 бит для немедленного (эти инструкции могут занять несколько циклов, поэтому старое определение размера слова не выполняется)

    Во-вторых, размеры доступа к шине и памяти в аппаратной архитектуре:

    • Размер логического адреса перед трансляцией виртуального адреса: 32 бит
    • Размер виртуального адреса: 64-bit
    • Размер физического адреса после перевода: 36 бит (шина адреса системной шины)
    • Размер шины данных системной шины: 256 бит

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

    Интересно отметить, что в старые времена (70-е и 80-е годы) существовали архитектуры CPU, размер ALU слова которых сильно отличался от размера доступа к памяти. Также обратите внимание, что мы даже не рассматривали причуды в инструкциях не общего назначения.

    Примечание по Intel x86_64

    Вопреки распространенному мнению, x86_64 не является архитектурой 64-bit в прямом смысле этого слова. Это 32-битная архитектура, которая поддерживает инструкции расширения, которые могут выполнять операции 64 bit. Он также поддерживает размер логического адреса 64-bit. Сами Intel называют это ISA IA32e (IA32 extended, причем IA32 является их 32-разрядным ISA).

    Рекомендации

    ARM примеры инструкций

    Режимы адресации Intel

    Поделиться tinkerbeast     21 мая 2019 в 07:18



    0

    Отсюда :

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

    Еще одно большое различие между 32-разрядными процессорами и процессорами 64-bit-это максимальный объем поддерживаемой памяти (RAM). 32-разрядные компьютеры поддерживают максимум 3-4GB памяти, в то время как компьютер 64-bit может поддерживать объем памяти более 4 GB. Это важно для программ, которые используются для графического дизайна, проектирования дизайн или редактирование видео, где выполняется множество вычислений для визуализации изображений, чертежей и видеоматериалов.

    Следует отметить, что 3D графические программы и игры не очень выигрывают , если вообще выигрывают, от перехода на компьютер 64-bit, если только программа не является программой 64-bit. 32-разрядный процессор подходит для любой программы, написанной для 32-разрядного процессора. В случае компьютерных игр вы получите гораздо большую производительность, обновив видеокарту вместо процессора 64-bit.

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

    Поделиться kombsh     07 октября 2013 в 10:17



    0

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

    Ссылка: Разница между 32-разрядным процессором и процессором 64-bit

    Поделиться Mohd Shibli     22 июля 2017 в 07:11



    0

    Из чего следует значение 32 бит или 64 bit процесс? ? автор kenshin123 :

    Виртуальные адреса процесса являются отображениями адреса таблица, соответствующая реальной физической памяти в системе. По соображениям эффективности и безопасности kernel создает абстракцию для процесса, которая дает ему иллюзию наличия собственного адреса пространство. Эта абстракция называется виртуальным адресным пространством. Это просто таблица указателей на физическую память.

    Таким образом, 32-разрядному процессу предоставляется около 2^32 или 4 ГБ адресного пространства. Что это означает под капотом, так это то, что процессу предоставляется 32-разрядная страница стол. Кроме того, эта таблица страниц имеет 32-разрядный VAS, который сопоставляется с 4 ГБ памяти в системе.

    Так что да, процесс 64-bit имеет 64-bit VAS. Есть ли в этом смысл?

    Поделиться prat     21 ноября 2017 в 06:50



    -4

    в байте есть 8 бит, поэтому, если его 32 бита, вы обрабатываете 4 байта данных на любой частоте ГГц или МГц, на которой работает ваш cpu в секунду. таким образом, если есть 64 bit cpu и 32-битный cpu, синхронизированные с одинаковой скоростью, 64 bit cpu будет быстрее

    Поделиться anonymous     07 января 2013 в 23:12



    -5

    32 — битные процессоры обрабатывают 32 бита данных в зависимости от частоты процессора в секунду, а процессоры 64 bit обрабатывают 64 бита данных в секунду с той скоростью, с которой работает ваш PC. также 34-битные процессоры работают с 4 ГБ RAM .

    Поделиться Abed behrooz     12 марта 2013 в 06:48


    Похожие вопросы:


    Какова связь между 32/64-bit приложением, OS и процессором?

    Я погуглил эти темы, но не уверен, что правильно понял их отношения. Я суммировал следующие моменты, пожалуйста correct/complement. 32-битный или 64-bit процессор означает, что процессор может…


    32 против 64 bit…or, что именно означает ‘processing information’

    Мне трудно понять разницу между 32-битным процессором и процессором 64 bit. Я знаю, что 32-битный процессор может получить доступ к 32 битам одновременно, в то время как процессор 64 bit может…


    Как установить Docker на NVIDIA Tegra Jetson TK1 с 32-битным процессором ARM под управлением Ubuntu 14.04?

    Docker поддерживает только 64 bit x86 Linux, но люди сделали изображения для Raspberry Pi с 32-битным процессором ARM. Будут ли они работать с TK1? Я новичок в Docker. Я пытаюсь поставить Jupyterhub…


    Разница между генератором GWT и процессором аннотаций Java?

    GWT использует генератор для создания кода до того, как все будет переведено в JavaScript. Java, с другой стороны, имеет процессор аннотаций, который генерирует код до того, как все будет переведено…


    xp_md5.dll для 64-bit

    Я прямо сейчас использую эту расширенную хранимую процедуру в одной из тестовых баз данных на sql server 2008, и она отлично работает. Я попытался сделать то же самое на другом sql server, и это не…


    Установка Hadoop на windows 7 с 32-битным процессором?

    У меня есть 32-битная машина с windows 7, Мне нужно установить hadoop и попробовать его, я проверил дистрибутив Cloudera, и он предназначен для linux, VMWare изображений с процессором 64 bit. Как…


    Разница между 32-битным и 64-bit Excel 2007

    Я поспорил со своими коллегами о разнице между 32-битным и 64-bit Excel 2007 годом. Я сказал, что главное отличие заключается в том, что в версии 64-bit мы сможем добавить более 65536 строк, где,…


    можно ли запустить код 64 bit на машине с 32-битным процессором?

    Я искал вокруг, чтобы получить ответы на эти вопросы. но не слишком удачно. Можно ли запустить код 32-bit в машине с 64-bit processor ? Ответ, кажется, да. но существует дискуссия по вопросам…


    Разница между ядром и процессором

    В чем разница между ядром и процессором? Я уже искал его в Google, но у меня просто есть многоядерное и многопроцессорное определение, но оно не соответствует тому, что я ищу.


    Как определить, является ли устройство android 64 bit или 32-битным процессором?

    Я пытаюсь найти лучшее решение для этого вопроса. Причина в том, что lib в нашем приложении не может работать с процессором 64 bit, поэтому мне нужно отключить его в этом случае. Я обнаружил, что в…

    32 бита и 64 бита — в чём разница?

    Хотя бы раз каждый из нас используя компьютер сталкивался с таким понятием, как “64-битная” система или программа. Чем отличаются 64 бита от 32-х кроме номера, и почему некоторым важно это знать – об этом расскажет Digitark!

    Прошло почти пять лет с того момента, как Apple представили смартфон iPhone 5S. Устройство стало первым телефоном компании с сенсором отпечатка пальца. Во время презентации Тим Кук сделал акцент и на другое техническое новшество нового iPhone, внедрённого в его процессор Apple A7. Данный мобильный чип стал первым в своём классе процессором со встроенным 64-битным расширением.

    Очевидно, для многих зрителей презентации по всему миру, не интересующихся такими тонкостями аппаратной начинки iPhone, 64-битная архитектура не вызвала особенного интереса, так как редко кому нужно знать – чем 64 бита лучше 32-х? Речь, впрочем, не только о продуктах Apple. Практически все персональные компьютеры давно используют эту же технологию.

    32 или 64 бита среди нас

    Мы сталкиваемся с выбором между 64- или 32-битными версиями программ, загружая их из интернета. Windows также разделяет эти программы по разным папкам Program Files следующим образом:

    В 64-битной версии Windows папка Program Files отвечает за 64-битные программы, а в папке Program Files (x86) находятся 32-битные приложения

    Но почему же 32-битные программы находятся в папке “x86”? Дело в том, что модельные номера процессоров Intel в конце прошлого века заканчивались цифрой 86. Все эти процессоры, разумеется, обладали именно 32-битной архитектурой (с 1985 года).

    Главное отличие 64-битной системы от 32-битной в том, что последняя не способна читать более 4 ГБ RAM.

    Это касается не только основной оперативной памяти, но и той, что установлена в видеокарты компьютера. Важно знать эти различия потому, что многие современные компьютеры, способные поддерживать современные игры на приемлемом уровне графики, или же проигрывающие видео в формате 1080p и 4K, оснащены, как правило, минимум 8 ГБ оперативной памяти, не считая видеокарты.

    Разумеется, на таких компьютерах уже заранее установлена именно 64-битная ОС, поддерживающая и 32-битные программы. Тем не менее, никогда не будет лишним убедиться в том, что ваше устройство работает с современным стандартом. В Windows это легко сделать, выбрав в настройках меню “Система” и раздел “О системе”. Графа “Тип системы” должна говорить следующее:

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

    В случае компьютеров Mac ещё проще узнать, с какой системой вы имеете дело. Просто убедитесь в том, что ваше устройство было произведено в 2008 году или позже. Скорее всего, этот критерий точно выполнен.

    Судьба 32 бит

    Переход индустрии с 32 бит на 64 уже давно завершён. Тем не менее, на просторах интернета и в магазинах приложений до сих пор можно найти 32-битные программы. Это не очень хорошо, поскольку, например, если на вашем компьютере с 12 ГБ RAM запустить 32-битный веб-браузер, то он будет утилизировать максимум 4 ГБ.

    Для кого-то это покажется хорошей новостью, т.к. браузер не будет посягать на отведённый для других программ ресурс. Однако стоит учесть то, что разнообразные HTML5-плееры, которые загружаются по умолчанию в Facebook и YouTube, съедают огромное количество памяти, что в случае её нехватки приводит к нестабильности приложения.

    Apple стараются похоронить 32-битную архитектуру одними из первых, задавая тренд индустрии, как это некогда случилось с отказом от Flash в пользу HTML5. Многие пользователи iPhone, обновившие свои устройства до iOS 11, могли обнаружить, что некоторые программы больше не запускаются, а в качестве ошибки преподносится “разработчик не обновил своё приложение”.

    Именно так Apple борется с устаревшей технологией на своих устройствах – 32-битные приложения было запрещено публиковать в App Store ещё в 2015 году. На очереди программы и приложения для Mac, ведь в Apple пообещали, что их macOS High Sierra станет последней ОС, поддерживающих 32-битные программы. 1 января этого года в Mac App Store также запретили публикацию новых приложений со старой архитектурой, а с июня нельзя будет обновить уже имеющиеся.

    Apple напоминает, что на macOS High Sierra поддержка 32-битных приложений закончится

    Со стороны же Microsoft в этом плане пока тишина. Линейка Windows славится среди многих компьютерных энтузиастов своей консервативностью (к примеру поддержка выпущенной в 2001 году Windows XP вплоть до 2014 года). Тем не менее есть основания полагать, что и в Microsoft задумываются о том, как сделать 32-битную архитектуру историей. Из года в год разработчики прекращают поддержку устаревшей технологии, что может позволить компании выпустить следующую версию Windows полностью 64-битной.

    Если это кому-то не понравится – всегда есть возможность остаться на Windows 10 до конца цикла поддержки. Ни для кого не секрет, что пользователи Windows очень медленно адаптируются к новым версиям (к примеру по сей день доля 51% от общего количества установленных на компьютерах систем Windows принадлежит выпущенной в 2009 году Windows 7).

    32-битные приложения – технология прошлого. Её конец неминуем. Это дело времени – как скоро потребитель и разработчик откажутся от неё навсегда. На обычном пользователе компьютера это сильно не скажется, но специализирующимся на компьютерах профессионалам стоит следить за развитием событий.

    Просто о сложном: зачем нужен 64-битный процессор

    Как все мы знаем, недавно компания Apple представила iPhone 5s, одним из главных новшеств которого стал новый процессор, но процессор не простой, а 64-битный! Но поскольку для большинства пользователей 64 bit vs 32 bit означает только в два раза большее число, сегодня нам бы хотелось рассказать о том, что же в действительности получат пользователи, то есть мы с вами, от этого революционного новшества в седьмом поколении iPhone.

    Для начала кратенько: во-первых, 64-битный процессор означает попросту большую производительность: в теории, двукратный прирост производительности и скорости, но на практике мы получаем около 15-30 % прироста. Во-вторых, приложения, которые используют возможности 64-битного процессора, более оптимизировано используют его ресурсы, а также RAM. Идеальным примером, разумеется, являются игры.

    А теперь просто о сложном. Чтобы понять, в чем отличие 64-битного процессора от 32-битного, давайте обратимся к мысленному эксперименту: допустим, что у нас есть библиотекарь, у которого 32 помощника, но в соседнем здании есть более «прокаченный» библиотекарь, у которого 64 помощника.


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

    Допустим, пришел профессор палеонтологии и попросил 65 книг о палеозойской эре в обеих библиотеках. Как действуют в первой библиотеке: помощники отправляются искать книги и приносят 32 книги, потом еще раз, а потом и третий раз, но уже возвращаясь с одной книгой. Как действуют во второй библиотеке: помощники отправляются искать книги и приносят 64 книги, а потом бегут еще разок за последней книжкой. Прирост только на 1/3.


    Но бывают случаи, когда прирост действительно составляет 100 %, например, если нам захочется 256 книг: первый библиотекарь получит их после 8 «заходов» его помощников, а второй после 4-х.

    Вот так, подобно двум библиотекарям, работают процессоры 32- и 64-битных архитектур. Ведь количество бит указывает на то, какое количество информации способен обработать процессор. Надеюсь, с этим все ясно.

    Идем дальше

    Более того, существует еще маленькое преимущество, которое известно буквально всем: доступная оперативная память. Дело в том, для 32 бит ограничение составляет 4 ГБ, выше не взлетит, точнее, попросту не увидит. И вот в данном случае это действительно задел на будущее, поскольку до такого количества оперативной памяти устройствам компании Apple далеко. Стоит также отметить, что Apple не разглашает количество оперативной памяти в своих устройствах, но в iPhone 5, например, ее 1 ГБ.

    Подведем итог

    Итак, для чего все-таки нужен 64-битный процессор сейчас и в ближайшем будущем. Сейчас — просто для более быстрой работы приложений, интерфейса и… пожалуй, все. А в будущем это позволит вывести приложения на более новый уровень, использовать в устройстве более 4 ГБ оперативной памяти, а также, вероятно, позволит осуществить какие-либо новые функции.

    По материалам independent.co.uk

    В чем разница между 32-битным и 64-битным процессором?

    Обновлено: 30.04.2020 компанией Computer Hope

    Две основные категории процессоров — 32-битные и 64-битные. Тип процессора компьютера не только влияет на его общую производительность, но также может определять тип используемого программного обеспечения.

    32-битный процессор

    32-разрядный процессор был основным процессором, который использовался во всех компьютерах до начала 1990-х годов. Процессоры Intel Pentium и ранние процессоры AMD были 32-битными, что означает, что операционная система и программное обеспечение работают с блоками данных шириной 32 бита.Windows 95, 98 и XP — это 32-разрядные операционные системы.

    Примечание

    На компьютере с 32-разрядным процессором не может быть установлена ​​64-разрядная версия операционной системы. На нем может быть установлена ​​только 32-разрядная версия операционной системы.

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

    64-разрядный компьютер появился в 1961 году, когда IBM создала суперкомпьютер IBM 7030 Stretch. Однако в домашних компьютерах он не использовался до начала 2000-х годов. Microsoft выпустила 64-битную версию Windows XP для использования на компьютерах с 64-битным процессором.Windows Vista, Windows 7 и Windows 8 также доступны в 64-разрядных версиях.

    Примечание

    На компьютере с 64-битным процессором может быть установлена ​​64-битная или 32-битная версия операционной системы. Однако с 32-разрядной операционной системой 64-разрядный процессор не будет работать на полную мощность.

    Примечание

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

    Различия между 32-битным и 64-битным процессорами

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

    Еще одно большое различие между 32-битными и 64-битными процессорами — это максимальный поддерживаемый объем памяти (ОЗУ). 32-разрядные компьютеры поддерживают максимум 4 ГБ (2 32 байтов) памяти, тогда как 64-разрядные процессоры могут адресовать теоретический максимум 18 ЭБ (2 64 байтов). Однако практический предел 64-битных процессоров (по состоянию на 2018 год) составляет 8 ТБ адресуемой ОЗУ.

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

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

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

    Разница между 32-битными и 64-битными операционными системами

    В вычислительной технике существуют процессоры двух типов: i.е., 32-битные и 64-битные. Этот тип процессора сообщает нам, к какому объему памяти процессор может получить доступ из регистра ЦП. Например,

    32-разрядная система может получить доступ к 2 32 адресам памяти, то есть к 4 ГБ ОЗУ или физической памяти, в идеале, она также может получить доступ к более чем 4 ГБ ОЗУ.
    64-битная система может получить доступ к 2 64 адресам памяти, то есть фактически 18 квинтиллионам байт ОЗУ. Короче говоря, он легко обрабатывает любой объем памяти, превышающий 4 ГБ.

    Большинство компьютеров, произведенных в 1990-х и начале 2000-х годов, были 32-битными. В регистре ЦП хранятся адреса памяти, с помощью которых процессор получает доступ к данным из ОЗУ. Один бит в регистре может ссылаться на отдельный байт в памяти, поэтому 32-битная система может адресовать максимум 4 ГБ (4 294 967 296 байт) ОЗУ. Фактический предел часто меньше 3,5 ГБ , поскольку часть регистра используется для хранения других временных значений помимо адресов памяти .Большинство компьютеров, выпущенных за последние два десятилетия, были построены на 32-битной архитектуре, поэтому большинство операционных систем были разработаны для работы на 32-битном процессоре.


    64-битный регистр теоретически может ссылаться на 18 446 744 073 709 551 616 байт или 17 179 869 184 ГБ (16 эксабайт) памяти. Это в несколько миллионов раз больше, чем требуется средней рабочей станции. Важно то, что 64-разрядный компьютер (что означает, что он имеет 64-разрядный процессор) может иметь доступ к более чем 4 ГБ оперативной памяти.Если на компьютере 8 ГБ оперативной памяти, лучше с 64-битным процессором. В противном случае ЦП будет недоступен как минимум 4 ГБ памяти.

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

    Преимущества 64-битной версии над 32-битной

    • Используя 64-битную версию, можно многое сделать в многозадачном режиме, пользователь может легко переключаться между различными приложениями без проблем с зависанием окон.
    • Геймеры могут легко играть в игры с высокой графикой, такие как Modern Warfare, GTA V, или использовать высокопроизводительное программное обеспечение, такое как Photoshop или CAD, которое требует много памяти, поскольку делает многозадачность с большим программным обеспечением, простым и эффективным для пользователей. Однако обновление видеокарты вместо получения 64-битного процессора было бы более выгодным.

    Примечание :

    • На компьютере с 64-разрядным процессором может быть установлена ​​64-разрядная или 32-разрядная версия операционной системы.Однако с 32-разрядной операционной системой 64-разрядный процессор не будет работать на полную мощность.
    • На компьютере с 64-битным процессором мы не можем запустить 16-битную устаревшую программу. Многие 32-разрядные программы будут работать с 64-разрядным процессором и операционной системой, но некоторые старые 32-разрядные программы могут работать неправильно или вообще не работать из-за ограниченной совместимости или ее отсутствия.

    Ссылки: https://www.computerhope.com/issues/ch001498.htm

    Вниманию читателя! Не прекращайте учиться сейчас.Ознакомьтесь со всеми важными концепциями теории CS для собеседований SDE с помощью курса CS Theory Course по доступной для студентов цене и подготовьтесь к работе в отрасли.

    64-разрядная архитектура — обзор

    Часто задаваемые вопросы

    Q: Какие процессоры (ЦП) поддерживаются Exchange Server 2007?

    A: Это зависит от того, говорим мы о 32-битной версии или 64-битной версии. 32-разрядная версия поддерживает любой Intel Pentium или совместимый 32-разрядный процессор с тактовой частотой 800 МГц или выше.64-разрядная версия поддерживает технологию Intel Extended Memory 64 Technology (Intel EM64T) и 64-разрядный процессор AMD, который поддерживает платформу AMD64, но имейте в виду, что процессор Intel Itanium IA64 не поддерживается 64-разрядной версией Exchange 2007.

    Q: Каковы требования к памяти 64-разрядной версии Exchange Server 2007?

    A: Минимальные требования — 2 ГБ ОЗУ, но рекомендуется установить 2 ГБ на сервер плюс 5 МБ ОЗУ на почтовый ящик.Чем больше ОЗУ, тем лучше, поскольку 64-разрядная архитектура позволяет Exchange 2007 хранить гораздо больше данных в адресном пространстве по сравнению с предыдущими версиями Exchange, которые существовали только в 32-разрядных версиях. Если мы говорим о сервере почтовых ящиков Exchange 2007 с более чем четырьмя группами хранения, рекомендуется установить 2 ГБ ОЗУ на три группы хранения (если у вас от пяти до восьми групп хранения, вы должны установить 4 ГБ; если у вас от девяти до восьми групп хранения). 12, следует установить 6 ГБ и т. Д.).

    Q: Поддерживается ли использование 32-разрядной версии Exchange 2007 в производственной среде?

    A: Нет! В производственной среде следует использовать только 64-разрядную версию. 32-разрядная версия предназначена для использования в целях оценки и тестирования. Однако есть одно исключение из этого правила: поддерживается 32-разрядная версия инструментов управления Exchange 2007 (в частности, консоль управления Exchange, командная консоль Exchange, файл справки Exchange и инструмент Exchange Best Practices Analyzer). для задач управления в производственной среде.

    Q: Какие операционные системы поддерживает Exchange 2007?

    A: Exchange 2007 необходимо установить на сервере под управлением Windows Server 2003 с пакетом обновления 1 (SP1) или Windows Server 2003 R2. Поддерживаются как Standard, так и Enterprise Edition этих операционных систем, но имейте в виду, что вам необходимо установить Enterprise Edition, если вы планируете использовать такие функции кластеризации, как Cluster Continuous Replication (CCR) или Single Copy Clusters (SCC).

    Q: Я помню, что Exchange 2000 и 2003 требовали, чтобы перед установкой Exchange были установлены компоненты Windows SMTP и NNTP.Так ли обстоит дело и с Exchange 2007?

    A: Нет, это изменилось в Exchange 2007. Exchange 2007 не требует установки ни SMTP, ни NNTP компонентов Windows. Причина в том, что Exchange 2007 теперь включает собственную службу SMTP, которая была создана с нуля с использованием управляемого кода. Функция NNTP была удалена в Exchange 2007.

    Q: Следует ли готовить лес и домен (ы) Active Directory с помощью ForestPrep и DomainPrep , как это было в Exchange 2000 и 2003?

    A: Лес Active Directory, а также любые домены должны быть подготовлены для Exchange 2007, но переключатели ForestPrep и DomainPrep больше не существуют.Вместо этого вы должны использовать PrepareSchema и PrepareDomain или PrepareAD (который будет запускать как PrepareSchema , так и PrepareDomain ). Но обратите внимание, что запускать эти переключатели перед началом установки Exchange 2007 не обязательно, поскольку они будут запускаться автоматически во время установки, если у вас есть соответствующие разрешения.

    Q: Могу ли я установить Exchange 2007 в Windows 2000 Active Directory?

    A: No.Exchange 2007 можно установить только в Windows 2003 Active Directory. Кроме того, каждый контроллер домена должен работать под управлением Windows Server 2003 с установленным пакетом обновления 1 (SP1).

    Q: В какой режим уровня леса нужно установить Active Directory, чтобы можно было установить Exchange 2007?

    A: Режим уровня леса должен быть установлен на основной режим Windows 2000 или основной режим Windows 2003.

    Q: Я слышал, что Exchange 2007 необходимо лицензировать с помощью ключа продукта.Не могли бы вы подтвердить, правильно ли это?

    A: Вы не ослышались. Каждый сервер Exchange 2007 в организации Exchange должен быть надлежащим образом лицензирован с использованием 25-значного ключа продукта, который можно найти на коробке DVD или запросить на сайтах TechNet или MSDN. Нелицензионная версия Exchange 2007 истекает через 120 дней.

    32-разрядная версия и 64-разрядная: основные различия

    Подробности

    Что такое 32-разрядная версия?

    32-разрядный — это тип архитектуры ЦП, способной передавать 32 бита данных.Это объем информации, который может быть обработан вашим процессором всякий раз, когда он выполняет операцию.

    В этом руководстве вы узнаете

    Что такое 64-разрядная версия?

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

    КЛЮЧЕВАЯ РАЗНИЦА

    • 32-разрядные процессоры имеют адресуемое пространство 4 ГБ, а 64-разрядные процессоры имеют адресное пространство 16 ГБ.
    • 32-разрядные системы ограничены 3,2 ГБ ОЗУ, в то время как 64-разрядные системы позволяют хранить до 17 млрд ГБ ОЗУ
    • 32-разрядным процессорам требуется 32-разрядная операционная система, тогда как 64-разрядные процессоры могут работать либо в 32- или 64-битных операционных системах.
    • 32-разрядные процессоры не являются идеальным вариантом для стресс-тестирования и многозадачности, тогда как 64-разрядные процессоры лучше всего подходят для выполнения многозадачности и стресс-тестирования.
    • 32-битные операционные системы и приложения требуют 32-битных процессоров, тогда как 64-битная ОС требует 64-битных процессоров

    История 32-битных

    Вот важные вехи из истории 32-битных процессоров:

    • 32-битный процессор был основным процессором, который широко использовался во всем мире в начале 1990-х годов.
    • В 2000 году процессоры AMD и Intel Pentium также начали использовать 32-разрядные процессоры.

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

    Вот важные вехи из истории 64-битных процессоров:

    • 64-битные процессоры использовались в суперкомпьютерах с 1970-х годов
    • Он используется в RISC (сокращенный набор команд вычисления) на базе рабочих станций и серверов в начале 1990-х годов.
    • Первый процессор на базе AMD64, Opteron, был выпущен в апреле 2003 года.
    • Архитектура ARM для смартфонов и планшетных компьютеров, впервые проданных в сентябре 2013 г.

    Разница между 32-битной и 64-битной операционной системой

    Разница между 32-битными и 64-битными процессорами:

    Параметр 32-разрядные процессоры 64-разрядные процессоры
    Адресное пространство Имеет адресное пространство 4 ГБ 64-разрядные процессоры имеют адресное пространство 16 ГБ
    Поддержка приложений 64-битные приложения и программы не будут работать 32-битные приложения и программы будут работать
    Поддержка ОС Требуется 32-битная операционная система. Может работать в 32- и 64-битной операционной системе.
    Поддержка многозадачности Не идеальный вариант для стресс-тестирования и многозадачности. Лучше всего подходит для многозадачности и стресс-тестирования.
    Требования к ОС и ЦП 32-разрядные операционные системы и приложения требуют 32-разрядных ЦП Для 64-разрядной ОС требуется 64-разрядный ЦП, а для 64-разрядных приложений требуется 64-разрядная ОС и ЦП.
    Доступная система Поддержка Windows 7, 8 Vista, XP и Linux. Windows XP Professional, Windows Vista, Windows 7, Windows 8, Windows 10, Linux и Mac OS X.
    Ограничения памяти 32-разрядные системы ограничены 3,2 ГБ ОЗУ 32-разрядная Windows. Он устраняет ограничение, которое не позволяет вам использовать полные 4 ГБ пространства физической памяти. 64-битные системы позволят вам хранить до 17 миллиардов ГБ оперативной памяти.

    Преимущества 32-битного процессора

    Вот важные преимущества \ преимущества 32-битного процессора:

    • Единственное преимущество, которое можно упомянуть, это то, что он совместим со всеми старыми устройствами, разработанными в начале 2000 года. и в конце 1990 г.

    Преимущества 64-битного процессора

    Вот преимущества \ плюсы использования 64-битного процессора:

    • Повышенная производительность программы и помощь в использовании преимуществ 64-битной операционной системы
    • Улучшенная функция безопасности
    • 64-разрядная версия Windows с современным 64-разрядным процессором позволяет получить дополнительную защиту, недоступную для 32-разрядных пользователей.
    • 64-разрядный процессор предлагает защиту, которая не ограничивается защитой аппаратных исправлений ядра.
    • 64-битный процессор позволяет создать 16 ТБ виртуальной памяти. Хотя для пользовательских процессов выделено 8 ТБ, а для выполнения процессов ядра — 8 ТБ.
    • 64-битные процессоры предлагают расширенные возможности. Он позволяет хранить 264 расчетных значения.
    • На 64-битном компьютере может быть до 16,8 терабайт ОЗУ.
    • 64-разрядные процессоры предлагают двухъядерные, шестиядерные, четырехъядерные и восьмиъядерные версии.
    • Поддержка нескольких ядер, чтобы помочь вам увеличить количество вычислений, которые могут быть выполнены, что может увеличить вычислительную мощность для выполнения ваш компьютер, чтобы работать быстрее.
    • Программы, которым для бесперебойной работы требуются различные типы, могут эффективно работать на многоядерных 64-битных процессорах.
    • Позволяет получить доступ к виртуальной памяти для каждого процесса.

    Недостатки 32-битного процессора

    Вот важные минусы / недостатки использования 32-битной операционной системы:

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

    Недостатки 64-битного процессора

    Вот некоторые возможные недостатки использования 64-битного процессора:

    • Маловероятно, что 64-битные драйверы будут доступны для старых систем и оборудования.
    • Некоторое старое 32-битное программное обеспечение не обеспечивает плавный переход на 64-битный.

    Стоит ли обновляться до 64-битных компьютеров?

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

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

    64-битные и 32-битные: что они означают?

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

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

    Что они означают?

    • 32-разрядное оборудование и программное обеспечение часто называют x86 или x86-32 .
    • 64-разрядное оборудование и программное обеспечение
    • часто обозначается как x64 или x86-64 .
    • 32-битные системы
    • используют данные в 32-битных частях, в то время как 64-битные системы используют данные в 64-битных частях. Как правило, чем больше данных можно обработать за один раз, тем быстрее может работать система.

    У 64-битной системы также есть несколько других преимуществ, в первую очередь возможность использовать значительно больший объем физической памяти (больше, чем 4 ГБ, разрешенные 32-битной машиной).

    64-разрядный процессор может обрабатывать 64 бита данных одновременно, что позволяет ему быстрее вычислять информацию независимо от тактовой частоты процессора. Это позволяет увеличить использование памяти, поскольку с 32-разрядными процессорами можно получить доступ только к 2 32 адресам ОЗУ (все 32-значные двоичные числа).

    Это ограничивает использование процессором гораздо меньшего объема памяти, чем 64-битные процессоры, которые могут считывать удвоенные цифры. Фактически, с каждой дополнительной цифрой максимальное количество адресов, к которым можно получить доступ, также удваивается, что позволяет использовать на больше памяти, чем 32-разрядный процессор.

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

    64-разрядные и 32-разрядные операционные системы

    Большинство современных процессоров основаны на 64-битной архитектуре и поддерживают 64-битные операционные системы. Эти процессоры также полностью совместимы с 32-битными операционными системами.

    Большинство выпусков Windows 10, Windows 8, Windows 7 и Windows Vista доступны в 64-битном формате. Из редакций Windows XP только Professional доступна в 64-битной версии.

    Все редакции Windows, от XP до 10, доступны в 32-битном исполнении.

    Каждая операционная система Mac, начиная с версии 10.8 (Mountain Lion), была 64-битной.

    Как и Windows, Linux может быть 32-битным или 64-битным. Вы можете увидеть, что у вас запущено, с помощью команды lscpu .

    Не уверены, является ли копия Windows на вашем компьютере 32-разрядной или 64-разрядной?

    Самый быстрый и простой способ узнать, используется ли у вас 32-разрядная или 64-разрядная версия Windows, — это проверить, что написано на панели управления.

    Еще один простой способ узнать, с какой архитектурой ОС вы работаете в Windows, — это проверить папку Program Files. Подробнее об этом ниже.

    Чтобы увидеть архитектуру оборудования, вы можете открыть командную строку и ввести команду:

    эхо% PROCESSOR_ARCHITECTURE%
     

    Вы можете получить ответ, например, AMD64 , чтобы указать, что у вас система на базе x64, или x86 для 32-разрядной версии.

    Еще одна работающая команда:

    reg query "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PROCESSOR_ARCHITECTURE
     

    Эта команда должна привести к гораздо большему количеству текста, но затем закончится ответом, подобным одному из следующих:

    PROCESSOR_ARCHITECTURE REG_SZ x86 
    PROCESSOR_ARCHITECTURE REG_SZ AMD64

    Лучший способ использовать одну из этих команд — скопировать их здесь, на этой странице, а затем щелкнуть правой кнопкой мыши в черном пространстве в командной строке и вставить команду.

    Эти команды сообщают вам только архитектуру оборудования, а не версию Windows, которую вы используете. Это , скорее всего, , что они одинаковы, поскольку системы x86 могут устанавливать только 32-разрядную версию Windows, но это не обязательно верно, поскольку 32-разрядная версия Windows также может быть установлена ​​в системах x64.

    Почему это важно

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

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

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

    Другой раз, когда различия между 32-разрядными и 64-разрядными версиями вступают в игру, — это устранение неполадок программного обеспечения или просмотр каталога установки программы.

    Важно понимать, что 64-разрядные версии Windows имеют две разные установочные папки , поскольку они также содержат 32-разрядный каталог. Однако 32-разрядная версия Windows имеет только одну установочную папку . Чтобы сделать это немного более запутанным, папка Program Files 64-битной версии имеет то же имя, что и папка 32-битной версии Program Files в 32-битной версии Windows.

    Одним из примеров того, почему это так, является то, что 32-разрядная программа не пытается использовать 64-разрядную DLL, которая не будет работать.Вместо этого, когда 32-разрядная программа устанавливается в папку 32-разрядных программных файлов, а затем вы запускаете указанную программу, Windows знает, что ей необходимо загрузить некоторые 32-разрядные файлы вместо тех, которые используются для 64-разрядных программ.

    Если вы запутались, посмотрите сюда:

    В 64-разрядной версии Windows есть две папки:

    • 32-разрядное расположение: C: \ Program Files (x86) \
    • 64-битное расположение: C: \ Program Files \

    В 32-битной версии Windows — это одна папка:

    • 32-битное расположение: C: \ Program Files \

    Как вы понимаете, это немного сбивает с толку, чтобы просто сказать, что папка 64-разрядных программных файлов — это C: \ Program Files \ , поскольку это неверно для 32-разрядной ОС.

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

    Например, вы хотите, чтобы программа для редактирования видео имела доступ к большему объему оперативной памяти, чем то, что она могла бы использовать в 32-битной системе. Или, если вы знаете, что у используемого вами оборудования нет 64-разрядного драйвера, то вы знаете, что не можете использовать его с 64-разрядным компьютером.То же самое верно и для старых 16-битных приложений, которые могут не работать на 64-битном компьютере; знание этого может помочь вам решить, следует ли вам перейти на 64-разрядный компьютер или придерживаться 32-разрядного.

    FAQ

    • Как называется 32-битное или 128-битное число, используемое для идентификации устройства в сети?

      Адрес Интернет-протокола, обычно называемый IP-адресом, представляет собой идентификационный номер сетевого оборудования, подключенного к сети.

    • Как запустить 32-битные программы в 64-битной Windows 10?

      Щелкните программу правой кнопкой мыши, перейдите к Свойства > Совместимость , выберите Запустить эту программу в режиме совместимости для и выберите версию.

    • Почему 32-разрядная версия называется x86, а не x32?

      Названия процессоров Intel заканчиваются цифрой 86 (первым был 8086). 32-битное поколение этой архитектуры также называется «x86».

    Спасибо, что сообщили нам!

    Расскажите, почему!

    Другой Недостаточно подробностей Сложно понять

    x64 Определение

    x64 — это сокращение от архитектуры 64-битного процессора. Его часто противопоставляют архитектуре x86, которая относится к 32-битным процессорам Intel, включая серии 386, 486 и 586.Однако x64 относится ко всем 64-битным процессорам, независимо от производителя. Метка «x86-64» указывает на 64-разрядный процессор x86.

    Основное различие между 32-битным и 64-битным процессорами заключается в том, как ЦП обращается к памяти. 32-разрядный процессор может ссылаться на 2 32 или 4 294 967 296 адресуемых значений. 64-битный процессор может получить доступ к 2 64 значениям. 2 64 не двойное 2 32 , а в 4 294 967 296 раз больше. Следовательно, 64-разрядный процессор может ссылаться на 18 446 744 073 709 551 616 значений.

    32-разрядный процессор может получить доступ только к 4 ГБ ОЗУ. 64-разрядный процессор может получить доступ к памяти в 4 миллиарда раз больше, чем 32-разрядный процессор, что устраняет любые практические ограничения памяти. Процессоры x64 могут запускать 64-битные приложения, которые созданы и скомпилированы для 64-битного оборудования.

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

    История

    На протяжении 1980-х и 1990-х годов большинство процессоров ПК были 32-разрядными.В 1996 году Nintendo выпустила игровую консоль Nintendo 64, одно из первых массовых 64-битных устройств. По иронии судьбы, у консоли было всего 4 мегабайта или RAM, или 1/1000 от 4 гигабайт ограничения 32-битного процессора. Но это проложило путь к большему количеству 64-битных процессоров.

    В период с 2000 по 2010 год популярность процессоров x64 росла. И Microsoft, и Apple выпустили 64-битные версии своих операционных систем. С 2010 года почти все настольные и мобильные устройства были построены на процессорах x64.Большинство приложений теперь также 64-битные.

    ПРИМЕЧАНИЕ: В 2019 году Apple выпустила macOS 10.15 Catalina, в которой прекратилась поддержка 32-разрядных приложений. По состоянию на 2020 год Microsoft Windows по-прежнему поддерживает как 32-разрядные, так и 64-разрядные приложения.

    Обновлено: 29 июля 2020 г.

    TechTerms — Компьютерный словарь технических терминов

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

    Все определения на веб-сайте TechTerms составлены так, чтобы быть технически точными, но также простыми для понимания. Если вы сочтете это определение x64 полезным, вы можете сослаться на него, используя приведенные выше ссылки для цитирования. Если вы считаете, что термин следует обновить или добавить в словарь TechTerms, отправьте электронное письмо в TechTerms!

    Подпишитесь на рассылку TechTerms, чтобы получать избранные термины и тесты прямо в свой почтовый ящик. Вы можете получать электронную почту ежедневно или еженедельно.

    Подписаться

    Какие преимущества у 64-битных процессоров перед 32-битными?

    Есть 3 наиболее очевидных преимущества 64-битных процессоров перед их 32-битными аналогами: расширенное адресное пространство, увеличение емкости и большее количество регистров общего назначения.40) памяти на практике, она все равно намного выше, чем в случае 32-битной адресации. В свою очередь, больший объем доступной памяти позволяет исключить или значительно сократить медленные операции по подкачке данных на диск.

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

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

    Но наибольший прирост производительности от перехода на 64-битную платформу ожидает те приложения, которые обрабатывают большие массивы данных — это программы типа CAD / CAE, менеджеры данных, программы для работы с цифровыми носителями и прикладные научные приложения. Прирост производительности для такого программного обеспечения может составить несколько сотен процентов.

    Так, например, перенос услуги Oracle on Demand от компании Oracle с 32-битной платформы на 64-битную, позволил сократить время отклика сервера (одновременно работают 350 пользователей) с 13,60 секунды до 2,35 секунды. . Когда FASTCOM интегрировала 64-битную платформу на базе Itanium 2 в свою IT-инфраструктуру, им удалось устранить проблемы, вызванные повышенной нагрузкой на биллинговые системы, и получить двукратный прирост производительности.

    Список литературы

    .

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *