Этот ответ, вероятно, опоздал на 9 лет, но я чувствую, что приведенные выше ответы не дают адекватного ответа на вопрос.
Определения 32-битных и 64-битных плохо определены или регламентированы каким-либо органом по стандартизации. Это просто интуитивные понятия. 32-разрядный или 64-разрядный ЦП обычно относится к собственному размеру слова архитектуры набора команд ЦП (ISA). Так что же такое ISA и какой размер слова?
ISA и размер слова
ISA - мнемоника машинных инструкций / сборок, используемая ЦП. Это самый низкий уровень программного обеспечения, который напрямую говорит о том, что делать с оборудованием. Пример:
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
Старым определением размера слова было бы количество битов, которые ЦПУ может вычислить за один цикл команд. В современном контексте размер слова - это размер по умолчанию для регистров или размер регистров, на которые действует базовая инструкция (я знаю, что в этом определении я сохранил много двусмысленности, но это интуитивная концепция для нескольких архитектур, которые не полностью соответствуют друг с другом). Пример:
ADD16 r2,r1,r3 # perform addition half-word wise (assuming 32 bit word size)
Пример разрядности процессора Pentium Pro с PAE
Во-первых, различные размеры слова в общем обучении:
- Арифметические, логические инструкции: 32 бита (обратите внимание, что это нарушает старое представление о размере слова, поскольку умножение и деление занимают более одного цикла)
- Ветвь, инструкции перехода: 32-битная для косвенной адресации, 16-битная для немедленной (Опять же, Intel не является хорошим примером из-за CISC ISA, и здесь достаточно сложности)
- Перемещение, загрузка, сохранение: 32 бита для косвенного, 16 бит для немедленного (эти инструкции могут занимать несколько циклов, поэтому старое определение размера слова не выполняется)
Второй, размеры доступа к шине и памяти в аппаратной архитектуре:
- Размер логического адреса до преобразования виртуального адреса: 32 бита
- Размер виртуального адреса: 64-битный
- Физический размер адреса после преобразования: 36 бит (шина адреса системной шины)
- Размер шины данных системной шины: 256 бит
Таким образом, из всех вышеперечисленных размеров большинство людей интуитивно называли это 32-битным процессором (несмотря на отсутствие единого мнения о размерах слова ALU и размере бит адреса).
Интересно отметить, что в древние времена (70-е и 80-е) существовали архитектуры ЦП, размер слова ALU которых сильно отличался от размера доступа к памяти. Также обратите внимание, что мы даже не рассматривали причуд в инструкциях не общего назначения.
Примечание по Intel x86_64
Вопреки распространенному мнению, x86_64 не является 64-битной архитектурой в прямом смысле этого слова. Это 32-битная архитектура, которая поддерживает инструкции расширения, которые могут выполнять 64-битные операции. Он также поддерживает 64-битный размер логического адреса. Сами Intel называют это ISA IA32e (расширенный IA32, а 32-разрядный ISA - IA32).
Ссылки
Примеры инструкций ARM
Режимы адресации Intel