Dlaczego system Windows 7 x64 działa szybciej niż wersja x86 na moim komputerze?


11

Dlaczego Windows 7 x64 działa na moim komputerze szybciej niż edycja x86, mimo że głównie używam w nim rzeczy x86? Co jest ze mną nie tak i czego mi brakuje?

Większość rzeczy, których używam, to x86 (np. DAW, gry, odtwarzacze multimedialne). Znaczna część z nich to jednak x64 (chociaż ich odpowiedniki x86 działają dobrze).

Próbowałem używać tych samych rzeczy w tym samym systemie, ale zawsze kończyło się to tym, że Windows 7 x64 działał nieco szybciej niż x86. Jestem bardzo spostrzegawczy. Zauważyłem nawet najmniejsze animacje okien.

System : Windows 7 Ultimate x64
CPU : Intel Core 2 Duo E7500 @ 2.93 GHz
RAM : 2 GB x 2 = 4 GB DDR2 @ 332 MHz
Płyta główna : Intel D945GCNL
Grafika : ATI Radeon HD 4350 @ 1 GB Dedykowane
audio : M-Audio FastTrack Pro
HDD : Samsung HD753LJ 733 GB i Samsung HD160JJ 156 GB

Jak widać, mój system jest stary.


4
Na początek 64-bitowy system Windows wykorzysta całą przydzieloną pamięć RAM.

3
Dlaczego przejmujesz się, że jest szybszy? powinieneś się cieszyć, że tak jest.
Matt H

@Randolph Rozumiem, ale jak to wpływa na rzeczy x86? @Matt Nie, oczywiście się cieszę. Jestem bardzo ciekawy. Nie mogę zrozumieć przez całe życie DLACZEGO to się dzieje.
Jasper

W dużej mierze wyobrażasz sobie ten efekt, ponieważ spodziewasz się go zobaczyć. Szybkość różni się w zależności od komputera, a nawet w obrębie tego samego komputera, wieloma czynnikami, które są znacznie bardziej znaczące niż krok od 32 do 64 bitów. Każdy świeżo zainstalowany komputer wydaje się szybszy wyłącznie dzięki mniejszej ilości zainstalowanego crufta.
JamesRyan,

Odpowiedzi:


8

Jest to próba udzielenia pełnej odpowiedzi poprzez podsumowanie fragmentów indywidualnych już istniejących odpowiedzi z pewną dodaną treścią. Lista stara się uwzględnić wszystkie możliwości ogólnego przypadku, nawet jeśli można wykluczyć niektóre z tego konkretnego przypadku.

Różnica zestawu instrukcji procesora

Jak opisano przez Joela Coehoorna , dla natywnego kodu x64 dostępny jest większy zestaw rejestrów, a także dodatkowe instrukcje (np. Wszystkie procesory x64 mają gwarancję implementacji instrukcji SSE i SSE2). Oznacza to, że natywny system operacyjny x64 i sterowniki mogą być bardziej wydajne.

Lepsze wykorzystanie pamięci RAM

64b jest w stanie wykorzystać pełne 4 GB (a nawet więcej, jeśli są dostępne). Co więcej, niektóre wewnętrzne limity systemu operacyjnego (pula stronicowana / niestronicowana, maksymalny rozmiar pamięci podręcznej) są zwiększane w systemie operacyjnym 64b . W rezultacie zarówno stronicowanie pamięci, jak i buforowanie plików mogą być bardziej wydajne.

Inna pozycja dysku twardego

Gdy masz dwa systemy operacyjne zainstalowane na dwóch partycjach tego samego dysku, jedna z tych dwóch partycji jest blisko zewnętrznej krawędzi, co jest na ogół szybsze .

Inny stan systemu operacyjnego

Gdy masz dwa systemy operacyjne, każdy z nich może być w nieco innym stanie. Jedna z nich może być bardziej fragmentaryczna niż druga, jedna z nich może mieć nieco czystszy rejestr lub mniej zainstalowanych usług lub aplikacji w tle niż druga.

Lepsi kierowcy

Inną możliwością jest to, że sterowniki x64 mogą być lepszej jakości niż x86, nie z powodu pewnych fundamentalnych różnic w architekturze, ale po prostu dlatego, że ich dostawca poświęcił więcej wysiłku na ich optymalizację i dostrojenie.

Adresowanie 64b

Dodam to tylko ze względu na kompletność, ponieważ w zdecydowanej większości codziennych zastosowań ta różnica nie odgrywa żadnej roli i na pewno nie ma związku z tym, co opisuje Jasper w swoim pytaniu.

Jeśli masz aplikację przetwarzającą ogromne ilości danych (np. Pracującą w Photoshopie z dużymi obrazami), uruchomienie wersji 64b może mieć ogromne znaczenie pod warunkiem, że masz zainstalowane 4 GB lub więcej pamięci RAM.

Co tak naprawdę oznacza „szybszy”?

Oto lista z komentarza do innej odpowiedzi , jakie dokładnie „szybsze rzeczy” widzi Jasper:

  • płynniejsze animowanie okien

Trudno wytłumaczyć. Animacja systemu Windows jest wykonywana przez procesor graficzny w systemie Windows 7, a procesor graficzny jest taki sam. Obciążenie procesora jest znikome. (Przypuszczam, że za pomocą pulpitu Aero).

  • niektóre programy do edycji zdjęć rysują szybciej (zarówno x86, jak i x64)
  • Płynne odtwarzanie filmów HD (na MPC-HC x64) i ogólnie bardziej stabilne wrażenia.

Mogą być lepiej dostrojone sterowniki lub sterowniki korzystające z x64,.

  • pliki są kopiowane znacznie szybciej

Może to być spowodowane szybszą partycją (w ogóle niezwiązaną z systemem operacyjnym) lub lepszą obsługą pamięci podręcznej w systemie operacyjnym x64.

  • Gry nie wykazały żadnych zmian.

Zrozumiale. Wydajność gier zależy od procesora i karty graficznej. W przypadku ograniczenia procesora kodem ograniczającym jest sama gra, która jest tym samym kodem x86 z niewielkim sprzężeniem z systemem operacyjnym x64. Wydajność procesora jest zatem taka sama. GPU jest taki sam. Narzut sterownika i systemu operacyjnego w dobrze zaprogramowanej grze jest niski, dlatego różnice w sterownikach lub systemie operacyjnym raczej się tutaj nie pokażą.


Skomentowałem swoje doświadczenia dotyczące odpowiedzi GrandmasterB. W jaki sposób doświadczenia mogą być zbieżne z tymi samymi (ilością) rzeczami zainstalowanymi (zwłaszcza własnymi funkcjami Windows) na tym samym komputerze DWUKROTNIE? Czy Windows 7 był w jakiś sposób bardziej zoptymalizowany pod kątem x64? Czy dostawcy sprzętu są bardziej ostrożni ze swoimi sterownikami x64? Jeśli zarówno programy, jak i maszyna pozostają niezmienne ze stałą różnicą, wydaje się, że niektóre rzeczy są lepiej zoptymalizowane dla jednego sposobu niż drugiego.
Jasper,

Nie twierdzę, że doświadczenie jest przypadkowe w twoim konkretnym przypadku. Jednak dla pełnego wyjaśnienia taką możliwość należy rozważyć w ogólnym przypadku. Np. Wewnętrzna / zewnętrzna partycja jest czymś, co może znacząco wpłynąć na czasy ładowania i nie jest w żaden sposób związana z systemem operacyjnym 64b / 32b.
Suma

Chciałbym jednak dodać trochę informacji. Za każdym razem, gdy instalowałem 7 (w tym przypadku pierwsze dwie instalacje x86 i dwie ostatnie instalacje x64), zawsze świeżo instalowałem go na tym samym dysku, całkowicie usuwając poprzednią instalację. W grę nie wchodziły żadne podwójne buty. Lol. Tak, nawet pozostawiłem dyski nietknięte.
Jasper

Więcej: Używam Aero na monitorze 1080p. Ponadto zawsze przeprowadzałem szybki format zamiast pełnego.
Jasper

„Zawsze świeżo instalowałem go na tym samym dysku, całkowicie usuwając poprzednią instalację”. Dobrze wiedzieć, wyklucza to możliwość „partycji zewnętrznej szybciej”, a także możliwość stanu systemu operacyjnego.
Suma

16

Przejście z 32 do 64 bitów nie jest jedyną zmianą w architekturze x64. x64 dodaje także więcej rejestrów procesora i nowe instrukcje procesora. System operacyjny, który wie, jak z nich skorzystać, może uzyskać niewielki wzrost wydajności tego samego sprzętu. Aha, i odzyskanie 1 GB pamięci RAM, która była kiedyś adresowana na kartę graficzną, również nie zaszkodzi.


W rzeczywistości tylko 3,25 GB jest użyteczne z 4 GB nawet w wersji x64. Spodziewałem się, że zostanie to naprawione dzięki mojej aktualizacji z x86, ale tak się nie stało.
Jasper,

+1 za pamięć wideo, nawet nie zauważył, że ma kartę wideo.
Supercereal

3
@Jasper: Nie jestem pewien, czy mam rację, ale jeden z moich komputerów korzysta z całej 8 GB pamięci RAM, którą zainstalowałem (Win 7 x64 Ultimate)
xbonez

To naprawdę jedyna rzecz, która ma dla mnie sens. Wszystkie inne rzeczy są takie same, gdy uruchamiane są wersje 32b i 64b tego samego systemu operacyjnego w tym samym systemie. Istnieją tylko dwie różnice: 1) ulepszony rejestr i zestaw instrukcji 2) 64b przestrzeń adresowa pozwalająca na adresowanie 4 GB lub pamięci RAM i więcej
Suma

Jednak, dla kompletności, część o karcie 1 GB ukrywającej 1 GB pamięci RAM jest zdecydowanie nieprawdziwa, ponieważ każdy, kto ma 4 GB pamięci RAM, system operacyjny 32b i taką kartę, może z łatwością być świadkiem (patrz również mój komentarz do odpowiedzi Pete'a).
Suma

7

Ostrzeżenie: jest to nieco bardziej złożone pytanie, niż mogłeś sobie wyobrazić, a na pewno więcej niż większość przedstawionych odpowiedzi. Aby postarać się opisać choć trochę więcej historii, ten post jest dość długi ...

Przede wszystkim sytuacja z pamięcią wideo. Cała pamięć karty graficznej nie jest (przynajmniej normalnie) bezpośrednio widoczna w przestrzeni adresowej procesora. Zazwyczaj masz „okno” około 128-256 megabajtów pamięci wideo widoczne dla procesora. GPU może mapować różne części pamięci do tego okna, więc zazwyczaj możesz zapisywać do większości pamięci GPU z procesora, ale musisz wcześniej poinformować GPU, do czego będziesz pisać, zanim będziesz mógł to zrobić. Na przykład, gdy używasz DirectX i chcesz pisać bezpośrednio do pamięci graficznej, możesz to zrobić - ale aby to zrobić, zacznij od wywołania, LockRectaby GPU zamapowało odpowiednią pamięć w oknie (i jako jak tylko skończysz, zadzwoniszUnlockRectdzięki czemu może mapować inną pamięć w razie potrzeby). Przynajmniej w typowym przypadku możesz dostosować rozmiar okna wideo w ustawieniach BIOS.

Po drugie, nawet w trybie 32-bitowym procesory x86 obsługują tak zwane rozszerzenia adresu fizycznego (PAE), które pozwalają procesorowi na adresowanie powyżej 4 gig. pamięciowy. Microsoft obsługuje PAE w niektórych wersjach systemu Windows - ale tylko w stosunkowo drogiej wersji Enterprise Windows Server. Ponadto program musi być napisany specjalnie, aby korzystać z AWE. Istnieje tylko kilka programów (np. SQL Server Enterprise Edition), które kiedykolwiek to zrobiły. Podsumowując: jest to możliwe, ale dość rzadkie.

Jeśli chodzi o odczytywanie 64 bitów naraz: ostatnim procesorem, który odczytywał dane tylko 32 bity na raz, było 486. Począwszy od Pentium, wszystkie procesory miały 64-bitowe szyny danych. Zauważ, że magistrala adresowa nie jest taka sama jak magistrala danych, więc rozszerzenie do 64-bitowej magistrali danych nie pozwoliło procesorowi na pracę z większą pamięcią (chociaż, jak to się dzieje, PAE zostało dodane w Pentium Pro, więc był prawie zbieżny z rozszerzeniem do 64-bitowej magistrali danych).

Mimo że Pentium może odczytać 64 bity danych w jednym cyklu zegara, wewnętrznie (głównie) przetwarza dane 32 bity na raz. Szersza magistrala przede wszystkim pomogła zrekompensować różnicę prędkości między procesorem a pamięcią główną. Instrukcje MMX Pentium MMX obsługiwały przetwarzanie danych w 64-bitowych porcjach, ale korzystanie z niego było dość niezręczne i (w szczególności) większość kompilatorów nie generowała kodu MMX, więc aby go użyć, trzeba było pisać w asemblerze . Pentium obsługiwał także operacje 64-bitowe (i 80-bitowe) dla liczb zmiennoprzecinkowych, ale jest to używane tylko w przypadku niewielkiej większości programów (i ogólnie było wolniejsze niż praca z liczbami całkowitymi).

Projekt x86-64 ma dwa razy więcej rejestrów ogólnego przeznaczenia niż 32-bitowy projekt x86, a każdy z tych rejestrów ma szerokość 64 bitów. Jednak gdy procesor pracuje w trybie 32-bitowym, tylko podzbiór rejestrów, który istniał w 32-bitowych procesorach, jest użyteczny.

Wracając na chwilę do zmiennoprzecinkowego, w trybie 32-bitowym matematyka zmiennoprzecinkowa jest wykonywana przy użyciu zestawu instrukcji oryginalnie zaprojektowanego dla koprocesora matematycznego Intel 8087. Wykorzystuje model, który sprawia, że ​​dość trudno jest w pełni wykorzystać jego możliwości. Intel (i AMD) ostatnio dodał „Streaming SIMD Extensions” lub SSE. Większość 64-bitowych kompilatorów generuje kod, który może używać SSE zamiast zmiennoprzecinkowego kompatybilnego z 8087. „SIMD” w SSE oznacza „pojedynczą instrukcję, wiele danych”. Oznacza to, że jedna instrukcja SSE może wykonać dwie operacje zmiennoprzecinkowe na dwóch osobnych danych. Chociaż niekoniecznie oznacza to dwukrotność prędkości, zwykle poprawia prędkość przynajmniej trochę.

Na koniec powinienem chyba zaznaczyć, że jest jedna część porównania, która jest na ogół trochę niesprawiedliwa. Po zainstalowaniu nowego systemu operacyjnego jest prawie zawsze co najmniej trochę szybszy niż system operacyjny, który był używany od dłuższego czasu. Programy przechowują dane w rejestrze, na dysku twardym itp. Im więcej danych dodasz, tym więcej pracy zwykle wiąże się ze znalezieniem potrzebnych danych w danym momencie. Podczas gdy firmy sprzedające „narzędzia do czyszczenia rejestru” i tak często wyolbrzymiają ten efekt, w pewnym stopniu jest to prawdą. W związku z tym, jeśli wszystko, co zrobiłeś, to ponownie sformatowałeś dysk twardy i ponownie zainstalowałeś dokładnie ten sam system operacyjny, możesz spodziewać się pewnej poprawy prędkości - a jeśli stary system operacyjny był zainstalowany i był intensywnie używany przez długi czas , ta poprawa (sama w sobie) możebyć całkiem pokaźnym. Przynajmniej część widocznej poprawy prędkości może być niezależna od rzeczywistej różnicy między dwoma systemami operacyjnymi.

Oczywiście jest coś więcej, ale zaczynasz rozumieć. To nie tyle kwestia pojedynczej funkcji, która robi ogromną różnicę, ile wielu funkcji, które zwykle powodują stosunkowo niewielkie różnice osobno, ale wiele z nich dodaje (a nawet pomnaża) razem, aby ogólnie zrobić całkiem istotną różnicę.


To bardzo dobre wytłumaczenie. Ważne jest, aby wiedzieć, że wiele 32-bitowych plików binarnych zaprojektowano do działania w wielu wersjach systemu Windows, w tym XP, i prawdopodobnie wcześniejszych. Muszą działać na i386 lub przynajmniej na i586. AMD64 nie musi obsługiwać niczego mniejszego niż Pentium 4. Oczywiście jeśli jest to oprogramowanie typu open source, które można rekompilować, istnieją stopnie SSE, co jest jednym z powodów tak złego tankowania Silverlight.
mckenzm

4

Może nie mieć to nic wspólnego z wersją 32 vs 64-bitową.

Z Twojego postu nie jest jasne, co rozumiesz przez „64bit jest szybszy”. Czy mamy wziąć z tego, że ponownie zainstalowałeś 64-bitowy system Windows na komputerze, na którym wcześniej miałeś 32-bitowy system Windows? Jeśli tak, „resetowanie” struktury pliku może łatwo uwzględniać zmiany prędkości. Nowa instalacja, szczególnie po ponownym sformatowaniu, jest często bardziej responsywna niż starsza instalacja, w której pliki są pofragmentowane, brakuje miejsca na dysku, rejestr jest zaśmiecony itp.

Może to być także jeden ze sterowników ... na przykład nowsze sterowniki wideo mogą być szybsze i lepiej zoptymalizowane przez producenta niż starsze wersje x86. Lub sterownik dysku twardego może być lepszy.


1
Świetny pomysł. Pomocne może być lepsze zrozumienie, co tak naprawdę oznacza „szybszy”. Czy aplikacje ładują się szybciej? Czy okno animuje się szybciej? Czy gry mają wyższy FPS? Czy pliki są kopiowane szybciej? Jest całkiem możliwe, że wszystkie wyjaśnienia tutaj, chociaż interesujące dla zrozumienia różnicy OS 32b i 64b, są w rzeczywistości nieistotne dla prawdziwej różnicy, którą opisuje Jasper.
Suma

Dobra, dam ci jaśniejszy obraz tego, o czym mówię. Przez jakiś czas miałem system Windows 7 x86 z zainstalowanym 100% potrzebnego oprogramowania i gier. Ponownie zainstalowałem ten sam system na tym samym komputerze wraz z taką samą ilością oprogramowania i gier, co zapewniło mi identyczne wrażenia. Sprzątam swoje rejestry raz dziennie, co kilka dni dzielę dyski twarde i zawsze utrzymuję przyzwoitą ilość wolnego miejsca na każdym dysku. W każdym razie po tym zainstalowałem Windows 7 x64 dwa razy, w tym 100% moich wymaganych rzeczy, tylko po to, aby oba te ostatnie doświadczenia były identyczne. [Kontynuuj]
Jasper

Rzeczy, które wydawały się lepsze - płynniejsze animowanie okien, szybsze kopiowanie plików, szybsze rysowanie niektórych programów do edycji zdjęć (zarówno x86, jak i x64), płynniejsze odtwarzanie filmów HD (na MPC-HC x64) i ogólnie bardziej stabilne wrażenia. Gry nie wykazały żadnych zmian.
Jasper

Widzisz, to są małe rzeczy. Ale nie rozumiem DLACZEGO zdarzają się te małe rzeczy, które zrodziły to pytanie. =) Nie zawracałbym sobie głowy, gdybym miał 4 GB pamięci RAM. Uznałbym, że Windows 7 x64 jest w stanie sobie z tym poradzić, ale tutaj tak nie jest, co czyni go nieco bardziej złożonym.
Jasper

2

Mówiąc prościej, dzieje się tak dlatego, że komputer może przetwarzać 64 bity (8 bajtów) danych na cykl zegara. Twój procesor otrzymuje dane w postaci wcześniej ustalonych bitów zwanych słowami. Słowa w architekturze x64 są dwa razy większe niż słowa w architekturze x86. Chociaż twój procesor może nie przetwarzać danych szybciej (twój Core 2 ma 2,93 Ghz w obu instalacjach), jednak przetwarza dane bardziej wydajnie. Ponadto, jak wspomniano w komentarzach, pozwoli ci zająć się całą pamięcią RAM, ponieważ twój procesor odczytuje z pamięci RAM 64-bitowymi słowami. Z Wikipedii :

Bardzo często, odnosząc się do wielkości słowa współczesnego komputera, opisuje się także wielkość przestrzeni adresowej na tym komputerze. Na przykład komputer, o którym mówi się, że jest „32-bitowy”, zwykle również pozwala na 32-bitowe adresy pamięci; adresowany bajtowo komputer 32-bitowy może adresować 2 ^ 32 = 4 294 967 296 bajtów pamięci lub 4 gibibajtów (GB). Wydaje się to logiczne i przydatne, ponieważ pozwala skutecznie przechowywać jeden adres pamięci w jednym słowie.

W przypadku procesora 64-bitowego liczba ta nie jest mnożona przez 2, rośnie wykładniczo:

Nowoczesny 64-bitowy komputer z adresowaniem bajtów - z odpowiednią obsługą systemu operacyjnego, może adresować 2 ^ 64 bajty (lub 16 ekbibajtów), co od 2011 roku jest uważane za praktycznie nieograniczone.

Ten artykuł , choć nieco przestarzały, stanowi bardzo pouczający artykuł na temat działania przetwarzania 64-bitowego.

Chcę zauważyć, że tak naprawdę nie przekłada się to na dwukrotny wzrost wydajności, ponieważ rzeczywista wydajność zależy od wielu innych zmiennych (prędkość dysku, szybkość magistrali, pamięć podręczna procesora, dostępny współczynnik pamięci). Powinieneś jednak zauważyć wzrost wydajności w systemie Windows, ponieważ więcej systemu operacyjnego można załadować do pamięci i wydajniej zająć się nim.


13
„może przetwarzać 64 bity (8 bajtów) danych na cykl zegara” może to brzmieć rozsądnie, ale w rzeczywistości jest to nonsens. Prawie żadne obliczenia nie używają 8 bajtów na nic użytecznego. Jeśli chodzi o ruch do pamięci, podstawowy procesor jest taki sam, pamięć podręczna i ruch do pamięci używają tej samej magistrali.
Suma

5
„ponieważ więcej systemów operacyjnych można załadować ponownie do pamięci”, nieprawda. Byłoby tak, gdyby „więcej systemu operacyjnego” przekraczało 4 GB. Adresowanie 64b w ogóle nie pomaga podczas pracy z danymi poniżej 4 GB.
Suma

6
@Kyle: przeczytaj pytanie ponownie. Procesor jest taki sam, jak na tym samym komputerze. Chodzi o różnicę w zachowaniu systemu operacyjnego na tym samym komputerze, a nie o różnicę między dwoma komputerami. i fyi, chciałbym kontynuować dyskusję. Krzyczenie na ludzi nigdy nikomu nie pomogło. Ponadto jestem użytkownikiem komputera i to jest pytanie użytkownika komputera. Dlaczego więc nie mam odpowiedzieć?
Joris Meys,

6
Nie możesz odpowiedzieć na forum publicznym bez wystarczająco grubej skóry, aby zrobić kilka grudek. Musisz także być w stanie poradzić sobie z pedantyczną naturą kujonów komputerowych wybierających każdy szczegół pytania ORAZ odpowiedzi. Nie ciągnij swoich ciosów, ale upewnij się, że dobrze przemyślałeś posty. dokonywać poprawek, jak się okazało, niesłusznie, i stań na swoim miejscu, gdy masz rację.
WernerCD

6
Część o tym, że „więcej systemu operacyjnego można załadować do pamięci i bardziej efektywnie rozwiązać przez procesor”, jest kompletnym śmieciem. Moja Win7 używa około 500 MB pamięci RAM, co jest znacznie poniżej limitu 4 GB, do którego ograniczane są procesory 32-bitowe. Adresowanie, jeśli w ogóle, jest mniej wydajne, ponieważ wskaźniki są dwukrotnie większe w pamięci i zajmują więcej cennego bufora danych. Rzeczywisty wzrost wydajności pochodzi z większego zestawu rejestrów; operacja na danych w pamięci podręcznej L1 to 3 cykle zegarowe, operacja na danych w rejestrze to 1 cykl zegarowy.
zvrba

2

Myślę, że najgłębszym powodem, dla którego system jest szybszy przy użyciu 64-bitowego systemu operacyjnego, jest to, że 32-bitowy system operacyjny nie jest w stanie wykorzystać całej pamięci RAM w systemie.

32-bitowy system operacyjny będzie w stanie kontrolować 32-bitowe, tj. 4 GB fizycznej przestrzeni adresowej. Ta przestrzeń adresowa obejmuje pamięć systemową, pamięć wideo, urządzenia IO itp. Więc jeśli masz 1 GB dedykowanego pamięci RAM, możesz odjąć pierwszą GB od dostępnej pamięci RAM. Wtedy inne urządzenia prawdopodobnie odejmą kolejne 200 MB.

Dzięki temu masz tylko 2,8 GB pamięci RAM na aplikacje. Niewiele w systemie Windows 7;)

Z drugiej strony 64-bitowy system operacyjny jest w stanie wykorzystać całą pamięć RAM.


„Więc jeśli masz 1 GB dedykowanego pamięci RAM, możesz odjąć pierwsze GB od dostępnego pamięci RAM.” Przykro mi, że jestem tak uciążliwy, ale nie wydaje się to prawdą. Miałem system WinXP z 4 GB pamięci RAM i 1 GB dedykowanej karty graficznej VRAM i miałem 3,6 GB pamięci RAM dla systemu. Pytanie o przestrzeń adresową jest dość skomplikowane: np. Każdy proces ma 4 GB wirtualnej przestrzeni adresowej. Sterownik musi zamapować pamięć RAM GPU na wirtualną przestrzeń adresową, aby mogli uzyskać do niej dostęp, ale system operacyjny nie musi mapować RAM GPU na fizyczną pamięć RAM.
Suma

@Suma, więc może nie cała pamięć VRAM nie jest odwzorowana na fizyczny RAM. Ale 32-bitowe systemy Windows XP, Vista i 7 nie będą mogły korzystać z więcej niż 4 GB fizycznej przestrzeni adresowej. Niektóre 32-bitowe wersje serwerowe systemu Windows będą mogły adresować więcej, jednak przy użyciu fizycznych rozszerzeń adresów (chociaż możesz włączyć rozszerzenia adresów fizycznych w 32-bitowych oknach pulpitu, nadal odmówi adresowania więcej niż 4 GB fizycznej przestrzeni adresowej). Więc umieść 4 GB pamięci RAM w 32-bitowym systemie Windows 7, a nie będziesz w stanie korzystać z tego wszystkiego. Wirtualna przestrzeń adresowa procesów nie ma nic wspólnego z tym limitem
Pete

„Jednak 32-bitowe systemy Windows XP, Vista i 7 nie będą mogły korzystać z więcej niż 4 GB fizycznej przestrzeni adresowej”. Tak to prawda. Aby uzyskać szczegółowe wyjaśnienie, zobacz codinghorror.com/blog/2007/03/… . GPU zdecydowanie zjada część 4 GB miejsca. Chciałem tylko poprawić powszechne nieporozumienie, że zjedzona przestrzeń adresowa potrzebuje dostępu do RAM GPU, co w rzeczywistości nie jest. Opis w superuser.com/questions/242562/… jest pod tym względem poprawny.
Suma

-1

Zainstalowałem 32-bitowy i 64-bitowy na dwóch osobnych identycznych notebookach Lenovo x100e. 32-bitowy miał RAM 2G, a 64-bitowy RAM 4G, a 32-bitowy nadal działał szybciej, płynniej, szybciej reagował z dużo mniejszym opóźnieniem niż 64-bitowy, który był opóźniony i powolny. Jednostka centralna to 64-bitowa jednostka centralna. Zainstalowano te same sterowniki i aktualizacje systemu Windows dla obu. Myślę, że wersja 64-bitowa jest przeznaczona dla maszyn z wyższej półki, a nie z poziomu podstawowego nawet z procesorami x64.


to źle, „wrażenia użytkownika” na maszynie x64 są czasem dość złe, ponieważ działają na niej prawie 90% aplikacji x86.
Francisco Tapia,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.