Что такое разрядность процессора и как ее определить? Что такое разрядность операционной системы? x86 и x64 Как узнать сколько бит процессор.

Многие на нашем сайте задаются вопросом, кукую битность (разрядность) Windows установить на компьютер, 32 или 64 бита? В этой статье мы проясним ситуацию с выбором 32 или 64 битных систем.

Для начала давайте разберемся что что такое битность (разрядность) архитектуры.

Термины 32-разрядный и 64-разрядный относятся к способу обработки информации процессором компьютера (ЦП ). 64-разрядная версия Windows обрабатывает большие объемы оперативной памяти (RAM) эффективнее, чем 32-разрядная система. В википедии есть 2 страницы о 32 (x86) и 64 битной архитектуре:

  • 32 (x86) - архитектура процессора c одноимённым набором команд, впервые реализованная в процессорах компании Intel.

    Название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей - 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). За время своего существования набор команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями.

    Помимо Intel архитектура также была реализована в процессорах других производителей: AMD , VIA, Transmeta, IDT и др. В настоящее время для 32-разрядной версии архитектуры существует ещё одно название - IA-32 (Intel Architecture - 32).

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

    Это расширение архитектуры x86 с почти полной обратной совместимостью. Корпорации Microsoft и Oracle используют для обозначения этого набора инструкций термин «x64», однако каталог с файлами для архитектуры в дистрибутивах Microsoft Windows называется «amd64» (ср. «i386» для архитектуры x86).

    Набор команд x86-64 в настоящее время поддерживается:

  1. AMD - процессорами Z-серии (например, AMD Z-03), C-серии (например, AMD C-60), G-серии (например, AMD T56N), E-серии (например, AMD E-450), E1, E2, A4, A6, A8, A10, FX, Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon II, Phenom, Phenom II, Turion 64, Turion 64 X2, Turion II, Opteron, FX, последними моделями Sempron;
  2. Intel (с незначительными упрощениями) под названием «Intel 64» (ранее известные как «EM64T» и «IA-32e») в поздних моделях процессоров Pentium 4, а также в Pentium D, Pentium Extreme Edition, Celeron D, Celeron G-серии, Celeron B-серии, Pentium Dual-Core, Pentium T-серии, Pentium P-серии, Pentium G-серии, Pentium B-серии, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom (далеко не всеми) и Xeon;
  3. VIA - процессорами Nano, Eden, QuadCore.

Да все это тяжело для понимания. Объясню своими словами 64 битная архитектура ОС это усовершенствованная 32 (86) битная архитектура. Она имеет более новые наборы команд для вычислений, а также может работать с большими объемами оперативной памяти. Если брать семейство ОС Windows, то 32 битная ОС фактически может обработать только 3,2 гигабайта оперативной памяти, а 64 теоретически до 4 терабайтов. О чем это говорит нам?

Что же выбрать 32 или 64?

О том что целесообразно ставить ОС исходя из количества оперативной памяти. Например если у вас стоит 3ГБ оперативки или меньше, вам лучше поставить 32 битную систему, а если у вас более 3ГБ, лучше 64 битку. Но не стоит забывать о том какой у вас процессор. В нашем сервисе мы давно заметили что если процессор имеет низкую частоту (от 1 до 2,4ГГц), то на 64 битной ОС компьютер работает медленно, даже если на нем установлено 4 и более ГБ оперативной памяти. По мнению нашего сервиса на такие компьютеры лучше ставить 32 битные системы и не более 4ГБ оперативной памяти. Кроме того крупные производители ноутбуков с низко частотными процессорами тоже ставят 32 битные системы с завода, даже при наличии 4ГБ памяти. Для установки 64-разрядной версии Windows требуется процессор, поддерживающий запуск 64-разрядной ОС Windows. Преимущества использования 64-разрядной операционной системы особенно очевидны при работе с большими объемами оперативной памяти (ОЗУ), например 4 ГБ и более. В таких случаях 64-разрядная операционная система обрабатывает большие объемы памяти более эффективно, чем 32-разрядная система. 64-разрядная операционная система работает быстрее при одновременном запуске нескольких программ и частом переключении между ними. В любом случае что ставить, выбирать вам, а мы ответим на интересующие вас вопросы ниже.

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

Чтобы в ОС Windows или определить, какая версия Windows используется на компьютере (32-разрядная или 64-разрядная), выполните следующие действия.

    Откройте компонент «Система». Для этого нажмите кнопку Пуск, щелкните правой кнопкой мыши Компьютер и выберите пункт Свойства. В Windows 8 откройте панель управления и перейдите в раздел система.

    В разделе Система можно просмотреть тип системы.

Если компьютер работает под управлением Windows XP, выполните следующие действия.

    Нажмите кнопку Пуск.

    • Если в появившемся окне отсутствует надпись «x64 Edition», компьютер работает под управлением 32-разрядной версии Windows XP.

      Если в разделе Система указано «x64 Edition», компьютер работает под управлением 64-разрядной версии Windows XP.

Как определить возможность запуска на компьютере 64-разрядной версии Windows?

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

  1. В поиске наберите MSINFO , или
  2. Откройте раздел «Счетчики и средства производительности». Для этого нажмите кнопку Пуск и выберите компонент Панель управления (в 8 сразу идем в панель управления). В поле поиска введите Счетчики и средства производительности, а затем в списке результатов выберите пункт Счетчики и средства производительности.

    Выполните одно из следующих действий.

    • В Windows выберите параметр Отображение и печать подробных сведений о производительности компьютера и системе.

    В разделе Система можно увидеть, какой тип операционной системы используется (в разделе Тип системы) и есть ли возможность применять 64-разрядную версию Windows (в разделе 64-разрядная поддержка). (Если компьютер уже работает под управлением 64-разрядной версии Windows, раздел 64-разрядная поддержка не отображается).

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

    Нажмите кнопку Пуск.

    Правой кнопкой мыши щелкните Мой компьютер и выберите пункт Свойства.

    • Если раздел Система содержит надпись «x64 Edition», процессор поддерживает запуск 64-разрядной версии Windows.

      Если надпись «x64 Edition» отсутствует, процессор тоже может быть совместим с 64-разрядными версиями Windows. Чтобы точно определить эту возможность, загрузите и запустите бесплатного советника по переходу на Windows 7 с веб-страницы советника по переходу на Windows 7 .

Можно ли обновить 32-разрядную версию Windows до 64-разрядной версии Windows или перейти с 64-разрядной версии Windows на 32-разрядную версию Windows?

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

Примечания

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

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

    Средство переноса данных Windows не перемещает файлы из 64-разрядной версии Windows в 32-разрядную версию Windows. При использовании 64-разрядной версии Windows XP потребуется вручную перенести файлы на внешний носитель.

Можно ли запускать 32-разрядные программы и драйвера на 64-разрядном компьютере?

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

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

Можно ли запускать 64-разрядные программы и драйвера на 32-разрядном компьютере?

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

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

Нужны ли 64-разрядные драйверы для устройств при работе в 64-разрядной версии Windows?

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

Какие недостатки есть у 64 битной Windows?

  • Тупит при малом объеме оперативной памяти.
  • Тяжело найти драйвера под старые устройства, например, принтеры, сканеры, тв-тюнеры и т.д.
  • Некоторые старые программы и игры не работают на 64 битной архитектуре.
  • Некоторые старые Windows, например Windows 7 Starter не могут работать на 64-разрядной системе.

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

Если в статье мы что то упустили пишите нам в комментариях и мы добавим это. А еще, если материал был вам полезен не скупитесь на лайки !

Разрядность или битность процессора – это определенное количество процессов, обрабатываемое за единицу времени. Существует х32 (х86) и х64 разрядные процессоры и операционные системы. Знания о разрядности процессора необходимы для корректной установки программ и количестве поддерживаемого объема оперативной памяти.

Устаревшими компьютерами на 2015 год считаются те, у которых разрядность процессора х32. Такие ПК обрабатывают максимум 4 ГБ оперативной памяти. Слоты на материнской плате не будут воспринимать планки оперативки с объемом, превышающим этот показатель. Операционная система также должна быть 32-х битная. Процессоры нового поколения имеют х64 разрядность. Они гораздо быстрее обрабатывают данные, поддерживают процессоры от 2-х ядер и «читают» оперативную память от 4 ГБ до 32 ГБ. Windows тоже должна быть 64-х битной. Проверить разрядность своего компьютера можно через Свойства. Для этого на рабочем столе 2 раза щелкните по значку «Мой компьютер». Далее нажмите кнопку «Свойства системы». В значении «Тип системы» отображается битность операционной системы, а она равна разрядности центральному процессору. В версии Windows 8, 8.1 в этом значении одновременно указаны оба параметры: и ОС, и ЦП.


Еще один простой и эффективный метод проверки – посмотреть количество папок “Program Files”. Для этого зайдите в «Мой компьютер», откройте «Локальный диск (С:)». Обратите внимание на папки “Program Files”. Если у вас она одна, значит, компьютер имеет разрядность ЦП х32. Если две, одна из них “Program Files (x86)”, тогда ЦП х64.


Проверить количество ядер процессора и его разрядность можно с помощью Диспетчера задач. Вызывают его с помощью комбинации клавиш Ctrl+Alt+Delete, либо кликнув правой клавишей мыши на Панели задач и выбрав пункт «Запустить диспетчер задач».


Открылось окно «Диспетчер задач Windows». Переходим во вкладку «Быстродействие». Если ваш процессор 64-х разрядный, то увидите два окошка ЦП с разными диаграммами, как на скриншоте. Если окно одно, следовательно, процессор 32-х разрядный.


И последний способ точной проверки разрядности компьютера без дополнительных программ – это Диспетчер устройств. Открываем его следующим образом: нажимаем клавишу «Пуск», кликаем вкладку «Панель управления». В появившемся окне нажимаем категорию «Оборудование и звук». Во вкладке «Устройства и принтеры» нажимаем на надпись «Диспетчер устройств». Рядом с этим текстом нарисован желто-синий щит.


Открылось дополнительное окно программы. Открываем пункт «Компьютер» и пункт «Процессоры». Читаем значение в подпунктах. Мой компьютер имеет разрядность х64 и два ядра процессора, как показано на скриншоте. Если ваш компьютер 32-х разрядный, будет один процессор и, естественно, другая модель компьютера. Кроме этих данных, в диспетчере устройств можно посмотреть сведения о каждой детали ПК, установленном драйвере и оборудовании. Для просмотра сведений с помощью программы воспользуйтесь приложением CPU-Z.


Теперь вы знаете, что такое разрядность центрального процессора, её важность. И с легкостью проверите любым способом.

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

Тогда встает два вопроса. Во-первых, какая операционная система установлена, 32 или 64 разрядная. А во-вторых, можно ли установить 64 разрядную систему, поддерживает ли ее процессор.

На эти вопросы мы и постараемся ответить в этом материале. Здесь мы расскажем о том, как узнать какая система установлена на данный момент и поддерживает ли процессор установку 64 разрядной системы.

Разрядность системы и процессора в Windows 8 или Windows 10

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

Для этого нужно просто открыть окно «Просмотр сведений о вашем компьютере». Открыть это окно можно по-разному. Например, если на вашем рабочем столе есть иконка компьютера, то вы можете просто кликнуть по ней правой кнопкой мышки и в открывшемся меню выбрать пункт «Свойства». Либо можно открыть «Панель управления» и перейти в раздел «Система и безопасность – Система». Ну и самый простой способ открыть окно «Просмотр сведений о вашем компьютере» это комбинация клавиш Windows-Pause/Break.

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

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

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

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

Разрядность системы и процессора в Windows 7 и XP

Если вы используете Windows 7 или Windows XP, то описанный выше способ не даст вам всей информации. Например, в Windows 7 также есть окно «Просмотр сведений о вашем компьютере» и оно открывается точно также как в Windows 8 или Windows 10 (через свойства компьютера, через панель управления или через комбинацию клавиш Windows-Pause/Break). Но в Windows 7 в данном окне есть информация только о разрядности системы, данных о разрядности процессора нет.

В Windows XP также можно открыть окно с информацией о компьютере, там оно называется «Свойства системы». Для его открытия нужно кликнуть правой кнопкой по иконке «Мой компьютер» и выбрать «Свойства» либо нажать комбинацию клавиш Windows-Pause/Break. В Windows XP в окне «Свойства системы» разрядность системы будет указываться только в том случае если используется 64 разрядная Windows XP.

Если же Windows XP – 32 разрядная, то никаких упоминаний о разрядности не будет.

18. 07.2018

Блог Дмитрия Вассиярова.

Разрядность процессора — копаем в суть

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

Для того чтобы максимально приблизится к пониманию процесса я считаю необходимым вспомнить некоторые понятия.

Информация в процессоре представлена в виде цифрового , который в свою очередь выглядит в виде серии импульсов с определенной последовательностью сигналов (есть напряжение –«1», нет – «0»). Один импульс – это бит информации.

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

Чтобы процессору было удобнее оперировать данными, в нем специально выделяют регистры для записи объема информации, обрабатываемого ЦП за один . В каждом из них помещаться набор из 4, 8, 16, 32 или 64–х знаков кода, называемых «машинным словом».

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

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

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

Прогресс разрядности процессоров

Самым первым серийным чипом стал 4-х разрядный Intel 4004, предназначенный исключительно для калькуляторов. С помощью комбинации из 4-х нулей или единиц можно было закодировать 2^4=16 символов. И этого с головой хватало для 10 цифр и 6-и знаков основных арифметических действий.

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

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

В итоге в 1978 году появился первый 16-и битный процессор 8086, работающей на x86, которая оказалась весьма успешной, поскольку обладала огромными возможностями для постоянного совершенствования и доработки.

Ее третье поколение позволило в 1985 году создать 32-бинтный процессор Intel 80386. Работающий уже на архитектуре IA-32.

Прогресс не стоит на месте

Сама система x86 с начала своего существования регулярно получала всевозможные расширения, которые добавляли все новые возможности. А потребность в этом была постоянная: объемы обрабатываемых данных и размеры используемых файлов постоянно росли. И в решении сложных задач 32-разрядные процессоры уже были бессильны (блок объемом свыше 4 Гб в регистр ЦПУ уже не помещался).

«Интел» попыталась создать новую архитектуру IA-64 с обратной совместимостью, но скорость ее работы была неудовлетворительна.

Их прямые конкуренты, компания AMD, в решении этой проблемы достигли большего успеха. Они пошли проверенным путем. И в 2003 г ввели новое расширение для 32-битной архитектуры, назвав его AMD64.

Решение, реализованное в процессорах Opteron, Athlon 64 и Turion 64 оказалось настолько удачным, что Intel приобрели лицензию на набор управляющих инструкций. На базе этого уже создали свой продукт: архитектуру EM64T. Которая на сегодня используется во всех их процессорах.

Такие инновации позволили не только ускорить работу самого процессора. Но и дали возможность использовать шину памяти для перемещения файлов практически неограниченного объема.

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

В последних версиях Windows сделать это можно, открыв параметры системы где указана разрядность ОС и процессора, которые могут отличаться. Если ваш комп не слишком древний, то скорей всего вы убедитесь что ЦП на нем современный. Также удобно для этой цели использовать небольшую программку CPU-Z , которая предоставит много подробной информации по процессору (в т.ч. и обозначение управляющих инструкций).

На что влияет разрядность ОС и процесора

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

А вот нюансы 32х битной ОС:

  • Большинство популярных программ и приложений для ПК предлагаются для установки (скачивания) либо в двух версиях, либо являются универсальными. И успешно работают в системах с любой разрядностью. Даже Винда, предлагается к установке в 32-х или 64-х битном виде. Почему до сих пор популярны оба варианта? Об этом дальше;
  • Такая ОС не видит оперативную память, объемом свыше 4 Гиг. Но есть в 32-битной системе очевидные преимущества: она обрабатывает информацию меньшими порциями. А это значит на считывание и передачу одного машинного слова будет затрачено меньше времени. Это позволяет более эффективно работать с памятью. А так же с простыми приложениями и небольшими файлами;

64-разрядная система – отличный вариант для игр, обработки видео и прочих емких программ. Но для нее лучше иметь ОЗУ с запасом. Почему? Да потому что она потребляет больше ресурсов. Ведь КПД использования его пространства такой операционкой может оказаться ниже чем у 32 битной;

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

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

До встречи на новых станицах моего блога и всем удачи.

Целью данной статьи является попытка посеять сомнение в голове читателя, уверенного, что он знает о разрядности всё или почти всё. Но сомнение должно быть конструктивным, дабы сподвигнуть на собственное исследование и улучшить понимание.

Термин «разрядность» часто используют при описании вычислительных устройств и систем, понимая под этим число бит, одновременно хранимых, обрабатываемых или передаваемых в другое устройство. Но именно применительно к центральным процессорам (ЦП), как к наиболее сложным представителям вычислительного железа, не делимым на отдельные детали (до тех пор, пока кто-то не придумал, как продать отдельно кэш или умножитель внутри чипа), понятие разрядности оказывается весьма расплывчатым. Продемонстрировать это поможет умозрительный пример.

Представьте себе, что вокруг благодатные 80-е, в мире (всё ещё) десятки производителей ЦП, и вы работаете в одном из них над очередным поколением. Никаких 256-битных SSE8, встроенных GPU и 5-канальных контроллёров памяти на свете пока нет, но у вас уже есть готовый 16-битный процессор (точнее, «16-битный» пишется в технической документации), в котором 16 бит везде и во всём - от всех внешних шин до архитектурного размера обрабатываемых данных. Реальным примером такого ЦП могут быть первые однокорпусные (правда, не однокристальные) ЦП для архитектуры DEC PDP-11. И вот приходит задание руководства - разработать новое, обратно совместимое поколение этого же ЦП, которое будет 32-битным - не уточняя, что понимается под последним. Именно это понимание и предстоит прояснить в первую очередь. Итак, наш главный вопрос: что именно надо удвоить по разрядности в нашем пока насквозь 16-битном ЦП, чтобы получившийся процессор мог называться 32-битным? Чтобы решать задачу было легче, применим два подхода: систематизируем определения и посмотрим на примеры.Систематизируем

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

Рискну предположить, что все производители любого программируемого «железа», особенно процессоров, на 90% стараются не для конечных пользователей, а для программистов. Следовательно, с точки зрения производителей процессор должен выполнять нужные команды нужным образом. С другой стороны, детали структуры кристалла (топологические, электрические и физические параметры отдельных транзисторов, вентилей, логических элементов и блоков) могут быть скрыты не только от пользователя, но и от программиста. Выходит, что разрядность надо отличать и по реализации - физическую и архитектурную.

Следует добавить, что программисты тоже бывают разные: большинство пишут прикладные программы на языках высокого уровня с помощью компиляторов (что делает код до некоторой степени платформонезависимым), некоторые пишут драйверы и компоненты ОС (что заставляет более внимательно относиться к учёту реальных возможностей аппаратной части), есть творцы на ассемблере (явно требующем знания целевого процессора), а кто-то пишет сами компиляторы и ассемблеры (аналогично). Поэтому под программистами далее будем понимать именно тех, для кого детали аппаратной реализации важны если не для написания программы вообще, то хотя бы для её оптимизации по скорости - «архитектурная» разрядность чего-либо будет относиться именно к программированию на родном машинном языке процессора или более удобном ассемблере, не залезая при этом в нутро ЦП (это уже вопросы микроархитектуры, которую мы для большего различия и назвали физической реализацией). Описанные нюансы всё равно влияют на всех программистов, т.к. языки высокого уровня почти всегда переводятся компиляторами в машинный код, а компиляторы тоже должен кто-то написать. Исключения в виде интерпретируемых языков тоже не стоят в стороне - сами интерпретаторы тоже создаются с помощью компиляторов.

Осталось рассмотреть, разрядность какой именно информации нам интересна. Что вообще потребляет и генерирует ЦП в информационном смысле? Команды, данные, адреса и сигнально-управляющие коды. О последних речь не идёт - их разрядность жёстко зафиксирована в конкретной аппаратной реализации и в большинстве случаев программно не управляема. Чуть трудней с командами - в семействе архитектур RISC, например, разрядность любого обращения к памяти должна быть равна физической разрядности шины данных процессора, в т.ч. и при считывании кода (кроме некоторых послаблений в современных ARM и PowerPC). Это хорошо для ЦП - нет проблем с невыровненным доступом, все команды имеют одинаковую, либо переменную, но просто вычисляемую длину. Зато плохо для программиста - RISC это усечённый набор команд, которые ещё и занимают больше места, чем при более компактном кодировании (для того же алгоритма нужно больше команд, но и для того же числа команд надо больше байтов). Поэтому именно CISC-парадигма завоевала наибольший подход с её разнообразием и переменной длинной команд, не равной разрядности чего-либо. Разумеется, все современные ЦП внутри - настоящие RISC, но это только физически, а не архитектурно. Остались только два вида информации - данные и адреса. Их и рассмотрим.Собираем

У нас имеется три критерия видов разрядности: функциональный (обработки, хранения и обмена), реализационный (физическая и архитектурная) и типовой (данных и адресов). Итого уже 12 видов этой непонятной штуки. Предположим, что на каждую комбинацию критериев для нашего исходного ЦП мы отвечаем «16-битная» (и физическая разрядность обработки данных, и архитектурная хранения адресов, и все остальные). Теперь посмотрим, какие из этих вопросов обязательно должны давать ответ «32-битная», чтобы получившийся процессор оказался именно таким.

Начнём с архитектурной части. Должен ли ЦП хранить данные и адреса в логическом 32-битном формате, чтобы называться 32-битным? Насчёт данных, очевидно, да, а вот по поводу адресов всё не так просто. Почти все 8-битные (по данным) ЦП имеют возможность хранить 16-битные адреса в парах регистров (иначе им не видать распространённой на этих платформах 16-битной адресации), но от этого их не называют 16-битными. Может быть, если ЦП сможет хранить 32-битные данные, но всего-то 16-битные адреса, его уже можно называть 32-битным?..

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

Перейдём на физическую реализацию. Должен ли ЦП хранить данные и адреса в физически 32-битном формате? Оказывается, не обязательно, т.к. для 32-битных операндов можно спарить регистры, чем успешно пользовались ещё 8-битные ЦП, начиная с i8080. А зилоговские 16-битные Z8000 могли даже счетверять регистры, получая 64-битный аргумент (только для данных). Это не так эффективно, т.к. полный объём данных, умещающийся в регистровом файле, не увеличится, но это и не требовалось. Зато всегда есть возможность обратиться и к старшей, и к младшей половине виртуального 32-битного регистра - камень в огороды архитектур IA-32 и MC68k, где можно обращаться только к младшей половине (в IA-32 - ещё и с префиксом, что замедляет выполнение).

Идём далее. Должен ли ЦП обрабатывать данные и адреса 32-битными физическими порциями? Оказывается, и это не требуется, операнды можно обрабатывать половинками в функциональных устройствах 16-битного размера. Стоит вспомнить процессор Motorola MC68000, применявшийся в первых Макинтошах, Амигах, Атари и других популярных машинах - он считался 32-битным, в нём есть 32-битные регистры, но нет ни одного 32-битного ФУ (оно появилось только в 68020). Зато есть целых три 16-битных АЛУ, два из которых умеют спариваться при выполнении 32-битной операции. У i8080 и Z80 8-битные АЛУ выполняли 16-битные операции для вычисления адреса последовательно над его байтами. Позже эта история повторилась с набором SSE и его 128-битными операндами, которые поначалу обрабатывались на 64-битных ФУ.

Наконец, обмен: нужно ли процессору физически принимать и передавать данные 32-битными порциями с 32-битной адресацией? На первый вопрос дали ответ почти все производители ЦП, выпустив чипы с половинной шириной шины: 8 бит для 16-битного i8088, 16 бит для 32-битных MC68000/010 и i80386SX/EX/CX, и даже 8 бит для 32-битного MC68008. С физической разрядностью шины адреса куда веселее. Начнём с того, что для многобайтовых шин данных (т.е. начиная с 16-битной) физическая адресация памяти может происходить по словам или по байтам. В первом случае на шину адреса всегда подаётся адрес слова, а шина данных считывает или записывает нужную его часть - от отдельного байта до слова целиком. Для обозначения разрядности доступа может применяться отдельная шина байт-маски (в архитектуре x86 такой приём начал применяться со времён i386 - по биту на каждый байт шины данных), либо комбинация управляющих сигналов с младшими битами шины адреса, которые в этом режиме не нужны (для 32-биной шины данных адрес слова нацело делится на 4, а потому младшие 2 бита шины адреса всегда равны нулю) - так было до выхода i386. Случай же адресации байтов возможен лишь при динамической подстройке ширины шины и из широко известных ЦП применялся только в MC68020/030. В результате к сегодняшнему дню используется именно адресация слов вместе с байт-маской, поэтому физическая разрядность шины адреса оказывается меньше её логической ширины на число бит, на единицу меньшее разрядности шины данных в байтах. Из чего следует, что 32-битная физическая шина адреса может быть только при 8-битной шине данных, на что ни один архитектор и инженер в здравом уме не пойдёт по очевидным соображениям.

Но это ещё не всё. Зачем нам вообще 32-битная физическая или логическая адресация? Середина-конец 80-х, на рынке только-только появились мегабитные микросхемы памяти, типичный объём памяти для ПК пока что измеряется сотнями килобайт, но чуть позже - мегабайтами. А 32-битная адресация позволит получить доступ к 4 ГБ физического ОЗУ! Да кому вообще такое может понадобиться в ближайшие лет 20 в персоналках?! Неудивительно, что первые популярные «32-битные» ЦП имели совсем не 32 бита логической ширины шины адреса: MC68000 имел 24 (23 физических + 1 для управления разрядами), а MC68008 - и вовсе 20. Intel 386SX (вышедший на 3 года позже оригинального полностью 32-битного i80386), помимо уполовинивания шины данных, сократил и шину адреса до 24 (23 физических) бит, а его встраиваемые версии 386EX/CX имели 26-битную шину. Более того, первые чипсеты, позволявшие оперировать 32-битными адресами, появились лишь в 90-х, а первые материнские платы, имевшие достаточное число слотов памяти, чтобы набрать >4 ГБ модулями максимального на тот момент размера - лишь в 2000-х. Хотя первые ЦП с 64-битной физической шиной адреса (IBM/Motorola PowerPC 620) появились аж в 1994 г.. Выводим

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

Как известно, любую хорошую идею можно довести до абсурда, и тогда она сама себя дискредитирует. Увеличение разрядности ЦП - не исключение. На этом месте архитектурщик сразу должен задаться вопросом - а зачем всё это? Увеличивать разрядность данных хорошо для ускорения работы с ними (часто требуется обрабатывать значения, не умещающиеся в 16 бит), а адресов - для получения возможности оперировать большими объёмами данных (ограничение в 64 КБ для 16-битной адресации, кое-как ослабленное сегментной моделью IA-16, сковывало программистов уже в середине 80-х). Можно, конечно, сделать страничную адресацию с программно переключаемыми банками (могли же 8-битные ЦП адресовать 1 МБ на популярных дешёвых ПК и игровых приставках), но ценой усложнения программ и замедления доступа к памяти. Аналогично - разве имеет смысл делать 32-битность для данных такой, что она почти не ускоряет производительность по сравнению с обработкой 32-битных чисел на 16-битной платформе под управлением программы, а не микрокода? Таким образом мы только упростим программирование, сэкономив на числе команд, но не получим скачок в скорости. Из чего мы приходим к выводу - увеличение разрядности должно реализовываться так, чтобы оно реально привело к качественному (больше памяти) и количественному (быстрее операции) скачку возможностей архитектуры. «Больше памяти» здесь относится именно к качественному развитию, т.к. многие алгоритмы и приложения вообще откажутся работать при недостатке ОЗУ, в то время как даже медленный процессор всё равно рано или поздно программу выполнит. Виртуальная память с дисковой подкачкой бессмысленна при менее чем 32-битной реализации.

Но означает ли всё это, что в ЦП как можно больше ресурсов, и аппаратных, и архитектурных, должны быть 32-битными, чтобы его можно было бы назвать полноценным 32-битным процессором? Совсем нет. Возьмём тот же MC68000 - у него 32-битная архитектура для данных и адресов и 32-битные регистры, но 16-битные АЛУ и внешняя шина данных и 24-битная физическая внешняя адресация. Тем не менее, недостаточная «32-битность» не мешает ему обгонять появившийся на 3 года позже «16-битный» 80286: на популярном в 1980-е бенчмарке Dhrystones MC68000 на 8 МГц набирает 2100 «попугаев», а 286 на 10 МГц - 1900 (также 16-битный i8088 на 4,77 МГц - 300).

Но всё это нам не поможет ответить на вопрос - что же такое разрядность процессора? В момент, когда мы уже было пришли к некоему заключению, на сцене появляется новый герой - тип данных. Всё вышеизложенное имело отношение лишь к целочисленным вычислениям и их аргументам. Но ведь есть ещё и вещественные. Кроме того, пока что мы оперируем скалярными величинами, но есть ещё и векторные. А ведь, по слухам, Intel намерена встроить вещественный сопроцессор прямо внутрь своего нового 80486 (напомню: на дворе у нас, условно - 80-е годы). С учётом того, что внутреннее физическое и архитектурное представление данных (с адресами FPU не работает) 80-битное - как же тогда называть «четвёрку» - «32/80-битным» процессором? Вернёмся обратно в настоящее - как называть Pentium MMX, который откусил 64 бита от каждого 80-битного скалярного вещественного регистра и назвал их целочисленным векторным регистром? А Pentum Pro/II с 256-битной шиной данных между кэшем L2 и ядром? (Ещё ранее MIPS R4000 и его варианты имели внутренний контроллёр L2 с внешней 128-битной шиной до самого кэша.) А как назвать Pentium III с его 128-битными регистрами XMM, хотя в каждом таком векторе могут пока храниться лишь 32-битные компоненты, а обрабатываться лишь парами в 64-битных ФУ, но не четвёрками? А как воспринимать готовящиеся сейчас для новых архитектур (в частности, Intel Larrabee) команды векторной адресации типа Scatter и Gather, где части векторного регистра воспринимаются как адреса, а не данные, и потому адресация тоже может считаться ххх-битной?

Современный спор о переходе с 32-битной на 64-битную платформу повторяет эту историю с дополнениями, ещё более подсаливающими и так разнообразное по вкусу блюдо. Прежде всего, если посмотреть на темпы удвоения разрядности (что бы под ней не понимали) однокристальных ЦП, то окажется, что переход от первых 4-битных к первым 32-битным произошёл всего за 8 лет - c 1971 г. (i4004) по 1979 г. (MC68000 и куда менее известный NS32016). Следующее удвоение до 64 бит потребовало 10 лет - i860 имел 32-битное целое скалярное АЛУ и 32-битные универсальные регистры со спариванием, но 64-битные FPU и целочисленное векторное ФУ, 64-битные внешние шины и, впервые, внутреннюю 128-битную шину ядро-кэш. А пока 64 бита добрались до ПК - прошло ещё лет 15, хотя 64-битный доступ к памяти (через 64-битную же шину данных, но для «32-битного» процессора) появился уже в первых Pentium в 1993 г.. А дело в том, что для целочисленных скалярных вычислений два главных типа операндов - данные и адреса - пока достаточно было иметь лишь 32-битными. Об избыточности 32-битной адресации для 80-90-х гг. уже сказано, но и жёсткая необходимость в 64-битных целочисленных вычислениях, в отличие от 32-битных, также до сих пор не возникала, да и не просматривается и сейчас. Для целых чисел диапазон от –2·10 9 до 2·10 9 или от 0 до 4·10 9 покрывает подавляющее большинство нужд, а редкие моменты 64-битности вполне удовлетворяются дедовским способом - операциями над частями операндов с переносом, что не так уж сильно медленнее и доступно с первых моментов появления 32-битных архитектур. Дополнительной пикантности добавляет тот факт, что 64-битная арифметика над целыми числами в архитектуре x86 появились ещё до AMD64 и EM64T, причём сразу векторная - начиная с набора SSE2 (2001 г.) существуют команды paddq и psubq для сложения и вычитания целых 64-битных компонентов, а команды 32-битного перемножения для любой архитектуры дают 64-битное число (команды деления, соответственно - его принимают; аналогично для многих 16-битных платформ, включая IA-16).

Разрядности некоторых процессоров для ПК

Критерий Разрядность
Функциональный обработки хранения обмена
Реализационный физич. архитектурн. физич. архитектурн. физич. архитектурн.
Типовой (D: данных; A: адресов) D A D A D A D A D A D A
i8080/85, Z80 8 8 8-16 16 8 8 8-16 16 8 16 8-16 16
Z8000 16 16 8-64 16 16 16 8-64 16 8-16 23 8-64 23
MC68000/010 (MC68008) 16 16 8-32 32 32 32 8-32 32 8-16 (8) 24 (20) 8-32 32
MC68020/030 32 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i8086/186* (i8088/188*) 16 16 8-16 16 16 16 8-16 16 8-16 (8) 20 8-16 20
i80286 16 16 8-16 16 16 16 8-16 16 8-16 24 8-16 24
i80386DX 32 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i80386SX (EX/CX) 32 32 8-32 32 32 32 8-32 32 8-16 24 (26) 8-32 32
i860 32/64|64 32 8-64/64|64 32 32/64/32 32 8-64/64/64 32 64 64 8-64 64
i80486 32/80 32 8-32/80 32 32/80 32 8-32/80 32 32 32 8-80 32
Pentium, K5 (Pentium Pro) 32/80 32 8-32/80 32 32/80 32 8-32/80 32 64 32 (36) 8-80 32 (51)
Pentium MMX (Pentium II) 32/80|64 32 8-32/80|64 32 32/80|64 32 8-32/80|64 32 64 32 (36) 8-80 32 (51)
K6 (K6-2) 32/80| 64(/64) 32 8-32/80| 64(/64) 32 32/80| 64(/64) 32 8-32/80| 64(/64) 32 64 32 8-80 32
Athlon 32/80| 64/64 32 8-32/80| 64/64 32 32/80| 64/64 32 8-32/80| 64/64 32 64 36 8-80 51
Athlon XP 32/80| 64/64 32 8-32/80| 64/32-128 32 32/80|64/128 32 8-32/80| 64/128 32 64 36 8-128 51
Pentium III (Pentium 4/M, Core) 32/80| 64/64 32 8-32/80| 64(+128)/32-128 32 32/80| 64(+128)/128 32 8-32/80| 64(+128)/128 32 64 36 8-128 51
Pentium 4 D/EE (Athlon 64*) 64/80| 64/64 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64(+16) 40 8-128 52
Atom 32-64/80| 64/64-128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 36 8-128 51
Core 2 (i7*) 64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 (192+16) 40 8-128 52
Athlon II*, Phenom (II)* 64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 128+16 40 (48) 8-128 52

* - Мультиплексированная шина данных и адреса (для ЦП с интегрированным контроллёром памяти - только межпроцессорная)
«A/B|C/D» - для данных указана разрядность скалярного целого / вещественного | векторного целого / вещественного доменов
«X+Y» - имеет домены этого вида двух разрядностей
«X-Y» - в зависимости от команды или ФУ принимает все промежуточные значения с целой степенью двойки

Если вы дочитали до этого места, то объявленная цель статьи, скорее всего, уже достигнута, а Идеальное Конечное Точное Определение разрядности так и не найдено. Может быть, его вообще нет, и это даже хорошо. В конце концов, если компьютер это главный инструмент для работы с информацией, то каждая IT-технология это метод улучшения работы компьютера. Разрядность сама по себе ничего не даст в отрыве от всего остального арсенала высоких инфотехнологий. PDA/коммуникаторы, мобильники, нетбуки, медиа-плееры и прочая карманная электроника, а также гигантское количество встроенных контроллёров и бортовых компьютеров отлично работают, увеличивая свою популярность и без всякой 64-битности. Так зачем тогда переходят на большие разрядности? Зачем, например, никому пока не нужная 64-битность в Intel Atom для нетбуков, где 8 ГБ памяти мало того, что никому не нужны, так ещё и за пару часов досуха выжмут батарею, а научные или экономические вычисления (где могут потребоваться 64 целых бита) никто запускать не будет? Один из возможных ответов: «потому что мы можем». Дополнительная пара миллионов транзисторов для удвоения ещё оставшихся 32-битными блоков утонет каплей в море вентилей, уже потраченных на всё остальное в этом же чипе. Галопирующий прогресс микроэлектроники как главного паровоза IT сделал интегральный транзистор таким дешёвым, что теперь лакомый для любого маркетолога шильдик «64 bit» обойдётся потребителю в десяток лишних центов, обеспечивая совсем не бутафорское, а вполне реальное ускорение на 10-50 % в 1-5 % приложений. И если мелкая овчинка стоит почти бесплатной выделки, почему нет?