Являются ли 64-битные процессоры «быстрее» 32-битных просто потому, что они 64-битные?

Являются ли 64-битные процессоры «быстрее» 32-битных просто потому, что они 64-битные?

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

  1. Микроархитектурный дизайн, включающий такие вещи, как размер кэша, реализация микрокода (если применимо), шина данных/адреса и соединения регистров и, конечно же, принципы или структуры проектирования.

  2. Сама тактовая частота.

  3. Скорости шины, такие как скорость FSB (системной шины) и связанные с ней скорости.

  4. Специальные функции, такие как параллелизм, «гиперпоточность», «вычислительные блоки», разгрузка работы с помощью сопроцессора или фонового процессора, многоядерные среды и т. д.

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

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

решение1

Очевидно, что для любого приложения с большими требованиями к памяти или включающего множество чисел больше 2/4 миллиарда, 64-бит — это огромный выигрыш. Для программных инструкций и целочисленных вычислений, которые являются огромной частью общих вычислений, нет никаких внутренних преимуществ для 64-бит. Потому что, честно говоря, кому нужно считать больше 2/4 миллиарда или отслеживать больше, чем 32-битное адресное пространство ОЗУ.

Но почему мы видим такое ускорение? Умные компиляторы. Компиляторы всегда учатся новым трюкам. Например, зачем цикл и суммирование 100 32-битных целых чисел, когда вместо этого можно сложить 50 64-битных чисел, преобразованных в void, а затем сложить 32 бита каждой части этого «64-битного» числа.

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

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

http://zsmith.co/

решение2

Просто потому что... нет.

Процессор с большим размером регистра может перемещать и обрабатывать больше бит за один такт.

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

Связанный контент