Zastanawiam się, czy istnieje jakiś sposób, aby napisać program w języku C, aby zmienić ilość pamięci współdzielonej między pamięcią RAM i kartą GFX, lub w ogóle, w jaki sposób skontaktować się z Ustawienia BIOS?Zmiana ustawień BIOS przy użyciu języka C
Odpowiedz
Krótka odpowiedź: Nie
Długa odpowiedź: Nie zadzieraj z BIOS użytkownika. Istnieje powód, dla którego nie ma API ani podobnych rozwiązań. Mój komputer, moje ustawienia.
Dostęp do ustawień BIOS można uzyskać poprzez port I/O 70h i 71h. (Niektóre chipsety mają także rozszerzoną CMOS w wersji 72/73 lub podobnej).
Z jakiego systemu operacyjnego korzystasz? Jeśli korzystasz z systemu Windows, nie będziesz w stanie wykonywać operacji wejścia/wyjścia portu bezpośrednio z aplikacji, będziesz musiał napisać sterownik trybu jądra lub użyć zestawu narzędzi innej firmy, np. WinIO. Pod Linuksem możesz użyć/dev/nvram, aby uzyskać ustawienia CMOS. (Zakładając, że sterownik nvram dla systemu Linux ma obsługę twojego chipsetu, w przeciwnym razie użyj/dev/port.)
Po uzyskaniu bitów CMOS, następnym zadaniem będzie ustalenie, która lokalizacja w CMOS odpowiada ustawieniu pamięci wideo.
Oto (żałośnie niekompletne) mapa miejsc w pamięci CMOS: http://ivs.cs.uni-magdeburg.de/~zbrog/asm/cmos.html
Mapa lokalizacji CMOS jest bardzo charakterystyczne dla płyty głównej, BIOS oraz BIOS rev. (Mapa CMOS może zmieniać się pomiędzy obrotami BIOS-u, gdy nowe opcje menu są dodawane/usuwane.) Może twój dostawca płyty głównej może dostarczyć mapę CMOS. Mają narzędzia do generowania takiej mapy (jest to część procesu kompilacji BIOS-u), ale mogą nie być skłonni do jej udostępnienia.
Bez mapy istnieją inne metody określania, które bity w pamięci CMOS reprezentują rozmiar pamięci wideo. Spróbuj wyrzucić ustawienia CMOS z różnymi rozmiarami pamięci i dowiedzieć się, które bity się zmieniają.
Niektóre inne szczegóły:
Poza kilkoma bitami „standardowych” CMOS, większość z nich są bardzo zależne od platformy, mam nadzieję, że nie planują na złożenie aplikacji ogólnego przeznaczenia z tego .
Istnieją sumy kontrolne w niektórych przesunięciach w CMOS. Po zmianie wartości CMOS, musisz naprawić sumę kontrolną, aby odzwierciedlić zmiany.
Po zmianie ustawienia nie zostanie zastosowany do następnego ponownego uruchomienia (gdy BIOS odczytuje ustawienia CMOS i inicjalizuje mikroukład).
Czy to jest mikroukład Intela? Rdzenie graficzne Intel posiadają magiczną funkcję o nazwie Dynamic Video Memory Technology (DVMT), która modyfikuje wykorzystanie pamięci wideo w oparciu o intensywność działania aplikacji. http://www.intel.com/support/graphics/sb/cs-010488.htm Nie jestem pewien, czy inni producenci chipsetów mają podobną technologię.
Przerzuć to wszystko przez okno na nowoczesny system UEFI, który zazwyczaj używa nieulotnej partycji pamięci w układzie BIOS BIOS do ustawień. (Niektóre lokalizacje CMOS są wypełniane dla kompatybilności starszych w systemie UEFI.)
- 1. Zmiana/zmiana języka Windows 7 przy użyciu java
- 2. Podłoża ciągu znaków przy użyciu języka Python
- 3. Zmiana ustawień regionalnych Laravel
- 4. przy użyciu właściwości Ustawienia dla ustawień aplikacji
- 5. Zapisywanie ustawień aplikacji qt przy użyciu QSettings
- 6. Problem podczas renderowania przy użyciu języka C# w szablonie złożonym
- 7. Zmiana ustawień SQL Server programowo
- 8. Dynamiczne ładowanie pliku ustawień regionalnych przy użyciu Requirejs
- 9. Ustawianie języka napisów przy użyciu ffmpeg
- 10. Jak uzyskać informacje o temperaturze procesora z Bios przy użyciu C#?
- 11. Zmiana ActionBar przy użyciu fragmentów
- 12. Wielkość tabeli przy użyciu języka zapytań JPA
- 13. Where przy użyciu języka XML w SQL
- 14. Parsowanie ciągów przy użyciu języka Python?
- 15. Wyodrębnianie hierarchii katalogów przy użyciu języka go
- 16. Programowa zmiana języka aplikacji
- 17. Zmiana języka Div styl
- 18. Zmiana kolejności wierszy przy użyciu niestandardowych zamówień
- 19. Zmiana ustawień aplikacji podczas pracy
- 20. zmiana kolejności geom_bar przy użyciu facet_wrap
- 21. Zmiana bieżącego katalogu w systemie Linux przy użyciu C++
- 22. Visual Studio Zmiana z ogólnych ustawień programowania
- 23. Zmiana języka komunikatów o błędach w ASP.NET
- 24. SOAP przy użyciu C#
- 25. Zmiana domyślnego języka w Liferay
- 26. Zmiana rozszerzenia pliku przy użyciu Ruby
- 27. Zmiana rozmiaru okna przy użyciu QPropertyAnimation
- 28. Zmiana rozmiaru obrazu przy użyciu metody rozciągliwejImageWithLeftCapWidth
- 29. Zmiana tła obrazu przy użyciu jQuery
- 30. Zmiana wskaźnika myszy przy użyciu JavaScript
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.vc .language & tid = f5c02216-01e2-46d4-8c99-ac6a5981313c & cat = & lang = & cr = & sloc = & p = 1 – Xinus
Myślę, że to nie jest dobre, aby to zrobić, "nie rób tego" –
Potencjalnie niebezpieczne dla zdrowia maszyn. Nie rób tego. – ty812