Czy 64-bitowe procesory są „szybsze” niż 32-bitowe, po prostu dlatego, że są 64-bitowe? [duplikować]

19

Zastanawiałem się nad tym, że niektórzy twierdzą, że „32-bit to stare wiadomości”, ponieważ masz ograniczoną ilość pamięci RAM bez rozcinania, na przykład z PAE . Zakładając najpierw, że na szybkość samego procesora wpływają następujące czynniki:

  1. Projektowanie mikroarchityczne, czyli takie rzeczy jak rozmiar pamięci podręcznej, implementacja mikrokodu (jeśli dotyczy), połączenia magistrali danych / adresu i rejestru oraz, oczywiście, zasady projektowania lub struktury.

  2. Szybkość samego zegara .

  3. Prędkości magistrali, takie jak prędkości FSB (magistrala przednia) i podobne.

  4. Funkcje specjalne, takie jak równoległość, „hiperwątkowość”, „jednostki obliczeniowe”, odciążanie pracy z koprocesorem lub procesorem w tle, środowiska wielordzeniowe itp.

Zakładając (i wiemy, że wszystkie te czynniki mają wpływ na szybkość), procesor jest 32-bitowy, czy fakt, że jest on sam 64-bitowy, przyspieszyłby tylko ze względu na większą szerokość bitów, adresowanie pamięci, rozmiar itp. ?

Zasadniczo, czy w przypadku dwóch identycznych procesorów 64-bitowy byłby szybszy w dekodowaniu kodu maszynowego, pobieraniu, uzyskiwaniu dostępu do pamięci, MMIO, obliczeniach itp., Niż poprzedni 32-bitowy klon?

Kevin Panko
źródło
7
To zaskakująco dobre pytanie; dobrze sformułowane i, w przeciwieństwie do tego, co sugeruje tytuł, bardzo ograniczony zakres. Myślę, że świetnie pasuje do tego formatu i nie znajduję żadnego powodu, aby był on zamykany jako „zbyt szeroki”.
Marcks Thomas
Link do oryginalnego, usuniętego pytania, do którego się odwołuję (zwróć uwagę, że tytuł jest prawie identyczny z tym pytaniem): o ile szybszy jest procesor 64-bitowy niż procesor 32-bitowy?
Przełom

Odpowiedzi:

9

Oczywiście, dla każdej aplikacji wymagającej dużej pamięci lub wymagającej wielu liczb przekraczających 2/4 miliarda, 64-bit jest ogromną wygraną. W przypadku instrukcji programu i obliczania liczb całkowitych, które stanowią ogromną część obliczeń ogólnych, nie ma istotnej korzyści dla wersji 64-bitowej. Bo, szczerze mówiąc, kto musi liczyć ponad 2/4 miliarda lub śledzić więcej niż 32-bitową pamięć RAM na adres.

Ale dlaczego widzimy takie przyspieszenie? Inteligentne kompilatory. Kompilatory zawsze uczą się nowych sztuczek. Na przykład, dlaczego zapętlamy i sumujemy 100 32-bitowych liczb całkowitych, skoro zamiast tego możemy dodać 50 liczb 64-bitowych rzutowanych w pustkę, a następnie dodać 32 bity z każdej części tej „64-bitowej” liczby.

Ale główny czynnik, który odpowiada „tak!” na twoje pytanie jest szerszy dostęp do ścieżki danych, który 64-bitowe procesory mają do pamięci głównej.

Aby zapoznać się z analizą porównawczą i omówieniem różnic w jednej architekturze, a następnie porównać ją z innymi architekturami, zobacz:

http://zsmith.co/

William Entriken
źródło
0

Po prostu dlatego, że ... nie.

Procesor o większym rozmiarze rejestru może przesuwać i przetwarzać więcej bitów w tym samym cyklu zegara.

Jednak fakt ten jest niezależny od prędkości zegara. I nie wszystkie zadania, które komputer może wykonać, mogą przenieść więcej bitów.

Walt Stoneburner
źródło