Подтвердить что ты не робот

32 против 64 бит... или, что именно означает "обработка информации"

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

4b9b3361

Ответ 1

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

Несколько вещей приводят к процессору. Один из них - сколько операций он может выполнять в секунду (измеряется в Герце). Хотя архитектура предотвращает простой ответ, одноядерный процессор 1 ГГц выполняет 1 000 000 000 операций в секунду. Грубо. Хотя можно получить более конкретный ответ, это не прояснит этого случая.

Процессор - это и другие вещи, такие как контроллер памяти (в i7), ALU и FPU и другие специализированные схемы, что даже делает трудный вопрос для ответа.

Для ваших целей и задач, каждый процессор имеет регистры. Регистры похожи на пространство с царапинами (быстрее, чем память) для процессора для хранения небольших объемов данных, когда он работает на нем. Они подкреплены кешами L1 и L2 (иногда L3), которые также смехотворно быстры. В основном, 64-разрядный относится к размеру пространства царапины (и через прокси-канал, который подключает регистр к кешу, поскольку данные загружаются и выходят за один раз).

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

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

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

РЕДАКТИРОВАТЬ: чтобы люди не ошибались, "операциями" я конкретно не обращаюсь к операциям (добавление, умножение и т.д.). Мой плохой, я сосредоточился на ответе на вопрос, а не на полное введение в архитектуру микропроцессора.

Ответ 2

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

Ответ 3

Это не очень точное выражение, но я рассматриваю его как длину адресов памяти. Например, 32 бита означает, что для программ доступно 4 GiB (2 32 bytes).

(Для жаворонок проверьте IBM s390, которая имеет 31 бит.)

Кроме того, это не всегда максимальный объем данных, которые процессор может считывать или работать одновременно. Например, 64-разрядные процессоры AMD/Intel имеют ряд встроенных кэшей, которые могут извлекать данные из основной памяти в больших кусках. Они также имеют 128-разрядные регистры SSE.

Ответ 4

Я заметил, что вы отметили память, поэтому я собираюсь ответить на этот вопрос:

В 32-битном процессоре процессор может использовать только 32 бита для адресной памяти. Это означает, что существует 2 ^ 32 уникальных комбинаций, поэтому процессор может адресовать только 2 ^ 32 байта. (4Gb)

В 64-битном процессоре процессор может (теоретически) использовать 64 бита для адресной памяти или 2 ^ 64 байта адресной памяти. Я считаю, что это составляет 16 Exo Bytes, что является огромным количеством, которое почти соответствует подсчету количества молекул в вашей машине. На практике, однако, большинство процессоров на линии сегодня позволяют вам адресовать 42 бита физической памяти и 48 бит виртуальной памяти из-за аппаратных ограничений текущего дня.

Ответ 6

Это показатель вычислительной мощности. Скорее, как транспортное средство, которое может перевозить 4 пассажира, или 12, примерно на столько же энергии.

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

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

8 бит: от 0 до 255/-128 до 127
16 бит: от 0 до 65535/-32768 до 32767
32 бит: от 0 до 4,294,967,295/-2,147,483,648 до 2,147,483,647
64 бит: от 0 до 18 446 744 073 709 551 615/-9,223,372,036,854,775,808 до 9,223,372,036,854,775,807