Re: Jak precyzyjnie ustalic, ktory podzespol wymienic, aby uzyskac najwieksze przyspieszenie?

Autor: Radosław Sokół <Radoslaw.Sokol_at_polsl.pl>
Data: Mon 21 Jan 2008 - 12:35:22 MET
Message-ID: <fn201q$s3q$1@polsl.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

Marcin Narzynski pisze:
> Zaintrygowałeś mnie. Myślałem, że BIOS potrafi obsłużyć 4 GB RAM i że
> tylko Win XP ma ograniczenie do 3.2 GB. Czy mógłbyś rozwinąć temat?

Architektura PC wymaga, aby w liniowej fizycznej przestrzeni
adresowej w pierwszych 4 GiB były dwie "dziury" w adresacji:
między 640 KiB a 1024 KiB i gdzieś powyżej 3 GiB aż do 4 GiB.
Ta pierwsza dziura nie sprawia problemów (zazwyczaj te 384 KiB
RAMu się po prostu wyłącza, wsadzając w to miejsce BIOS i RAM/
ROM kart rozszerzeń), ale ta druga (przeznaczona na obszary pa-
mięci RAM/ROM, aperturę graficzną oraz obszar Memory Mapped I/O
kart PCI/AGP/PCIe) jest kłopotliwa -- głównie dlatego, że jesz-
cze do niedawna komputery z pamięcią powyżej 3 GiB były rzad-
kością i nikt tego nie testował.

BIOS musi zrobić dwie rzeczy:

1) Przemapować pamięć z zakresu tej drugiej dziury na wyższe
    adresy, poza granicę 4 GiB.

2) Ustawić MTRR w sposób dokładnie opisujący obszary pamięci
    po przemapowaniu.

Obie te rzeczy sprawiają problemy. Przede wszystkim, BIOS
może nie realizować przemapowania w ogóle, albo ucinać część
pamięci. A nawet, jak przemapuje, źle ustawione MTRR może
powodować, że system nie będzie używał fragmentu pamięci (bo
z braku opisu stwierdzi, że jej tam nie ma lub jest uszko-
dzona) albo będzie używał w trybie bez buforowania (bo nie-
prawidłowe MTRR zaprogramuje procesor na dostęp do tego frag-
mentu z pominięciem cache).

Teraz dopiero wchodzimy na obszar win systemu operacyjnego.
32-bitowy system musi użyć mechanizmu PAE aby dostać się
do pamięci przemapowanej powyżej 4 GiB za pomocą 36-bitowego
liniowego adresu fizycznego. Nie ma z tym problemu generalnie,
ale ponieważ niektóre aplikacje się z tym gryzą, o ile się nie
mylę w Windows XP (od SP2 włącznie, w górę) PAE jest *zablo-
kowane* nawet, jeżeli specjalnie się je włączy i w efekcie nie
widać resztki pamięci mimo, że teoretycznie nie ma żadnych
przeciwwskazań. Nie jestem tego pewien, na razie to tylko w
jednym źródle widziałem, jeżeli ktoś wie lepiej niech potwier-
dzi albo zdementuje.

-- 
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół  |  http://www.grush.one.pl/              |
|                 |  Administrator, Politechnika Śląska    |
\................... Microsoft MVP ......................../
Received on Mon Jan 21 12:40:09 2008

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Mon 21 Jan 2008 - 12:51:16 MET