Jak można przyspieszyć procesor dzięki aktualizacji „oprogramowania”?

120

Nowe procesory AMD Ryzen są na rynku i niestety wydają się brakować w grach. Procesory Intel są oczywiście jeszcze szybsze w grach. Ludzie oczywiście nie byli tego zwolennikami, a AMD oświadczyło, że aktualizuje oprogramowanie lub oprogramowanie w celu przyspieszenia Ryzen do gier.

Popraw mnie, jeśli się mylę, ale procesor musi mieć statyczne oprogramowanie wewnętrzne, aby był zgodny ze standardem x64? Jeśli tak, to czy AMD nie musiałoby optymalizować gier (oprogramowania) do swoich procesorów, co jest oczywiście niemożliwe? Co się tam mówi, jeśli wydaje się, że niemożliwe jest zobaczenie podstawowych warunków?

Ale mogę się mylić (mam taką nadzieję), więc pytanie brzmi:

Czy da się przyspieszyć procesor bez zmiany sprzętu? Jeśli to możliwe, jak to się robi? Czy oprócz oprogramowania układowego procesora jest dostępne oprogramowanie?

Arthur PR
źródło
71
Możesz chcieć wyszukać w Google termin „mikrokod”.
PlasmaHH
10
Oprogramowanie układowe może być dobre, złe lub po prostu nie „dobre dla aplikacji”. x86 nie definiuje taktowania instrukcji, więc aktualizacja oprogramowania (mikrokodu) w celu poprawy synchronizacji instrukcji nie narusza kompatybilności z x86. Istnieje kilka potencjalnych powodów, dla których jest to wykonalne i może być konieczne: 1) początkowy mikrokod jest szybką pracą i nie jest optymalny; 2) początkowy mikrokod działa dobrze, gdy program jest kompilowany dla Ryzen, ale nie, jeśli program jest skompilowany dla standardowego x86 lub dla procesora Intel, który jest większością istniejącego oprogramowania.
user3528438,
15
Aktualizacja mikrokodu może skrócić czas instrukcji, ale jest o wiele więcej. Współczesne procesory robią takie rzeczy, jak przewidywanie gałęzi, wykonywanie spekulacyjne, wykonywanie poza kolejnością i inne, które mogą znacznie poprawić wydajność. Wszystko to kontrolowane jest przez mikrokod. Optymalizacje mikrokodów wymagają czasu, a tego towaru często brakuje w konkurencyjnym biznesie.
LMiller7
4
Wyobraź sobie, że biegniesz iz jakiegoś powodu odmawiasz zgięcia lewej nogi. To sprawi, że poczujesz się niezręcznie i powoli - możesz łatwo zwiększyć prędkość biegania, wydajniej wykorzystując „ten sam sprzęt” nogi i wyginając ją bardziej efektywnie. Zmiana instrukcji „mózgu” na nogę znacznie zwiększa wydajność.
Enderland

Odpowiedzi:

123

Nowoczesne procesory są znacznie bardziej skomplikowane, niż mogłoby się wydawać. Są niezwykle skomplikowane, prawie nie do pojęcia dla jednej osoby. Po rozwinięciu krótkiej uwagi przez „horta” można mieć wszystkie następujące elementy:

  1. Na początek prawie cały wewnętrzny sprzęt można w dużym stopniu konfigurować. Istnieją tysiące rejestrów konfiguracji z milionami pojedynczych bitów, które muszą być ustawione, aby procesor działał. Wszystkie kilka warstw interakcji procesora z pamięcią podręczną mają konfigurowalne potoki, a różne opóźnienia czasowe mają oczywiście wpływ na ogólną wydajność.

  2. Istnieją setki zaawansowanych funkcji, które zostały tam wprowadzone przez architektów, których inżynieria nie miała czasu na sprawdzenie, więc setki funkcji są wyłączone lub ustawione w bezpieczną konfigurację z „bitami kurczaka” . Ale można je dostroić i włączyć, jeśli okażą się funkcjonalne i przydatne. Te funkcje ulepszające zwykle są z czasem weryfikowane dogłębnie i mogą być stopniowo włączane przez cały okres użytkowania procesora za pomocą różnych poprawek mikrokodu.

  3. Wszystkie najnowsze procesory mają kilka jednostek wewnętrznych, które są kontrolowane przez niezależne mikroprocesory wbudowane w procesor x86. Jedną publicznie dostępną jednostką jest P-Unit. Nowoczesne procesory nie mogą funkcjonować bez agresywnego zarządzania energią, w przeciwnym razie się stopią. Jednak głębokie zarządzanie energią jest sprzeczne z agresywną polityką zegara / napięcia wejścia-wyjścia, a zmiany w polityce silnie wpływają na ogólną wydajność systemu. Wszystkie szczegóły są kontrolowane przez P-Unit i można je zoptymalizować / dostroić, ładując kolejną łatkę mikrokodu, zgodnie z odpowiedzią tutaj.

  4. Wiele innych aspektów wewnętrznych połączeń jest kontrolowanych przez różne dodatkowe wbudowane procesory, które można poprawić, ładując do nich łaty mikrokodu lub aktualizując BIOS, jeśli ma on dostęp do tych zasobów konfiguracyjnych.

Krótko mówiąc, podczas gdy sprzęt CPU jest rzeczywiście podłączony, konfiguracja tego sprzętu określa jego wydajność i można go dostroić, aby uzyskać lepszą wydajność systemu za pomocą aktualizacji systemu BIOS i wbudowanych poprawek mikrokodu.

Ale..chenski
źródło
Nie jestem pewien, którą odpowiedź powinienem zaakceptować. @ bwDraco odpowiedź jest w porządku, ale Twoja pasuje do rzeczywistej odpowiedzi, nawet trudniej jego odpowiedź zawiera informacje na temat konkretnego problemu.
Arthur PR,
Powinieneś zaakceptować odpowiedź. Pochodzisz z elektroniki, więc wydaje ci się, że interesuje Cię oprogramowanie układowe procesora (a nie niektóre zmiany w systemie Windows). @ ArthurP.R.
AnoE
3
@ ArthurP.R. Jeśli ludzie przeprowadzający testy porównawcze stwierdzili, że Windows nie planuje zadań poprawnie dla procesorów wielowątkowych (traktuje wątki jako niezależne rdzenie), oznacza to, że AMD w jakiś sposób spieprzyło deskryptory procesorów / cokolwiek, więc Microsoft nie może ich zrozumieć. Jeśli deskryptory mogą zostać załatane do standardów Microsoft przez jakiś mechanizm aktualizacji, byłaby to łatwa poprawka pierwszego rzędu. Zadałeś ogólne pytanie, więc to odpowiada na nie. :-)
Ale..chenski
Dlatego zaakceptowałem twoją odpowiedź, nawet jeśli odpowiedź @bwDraco pasuje tutaj
Arthur PR
102

Różnorodne problemy z oprogramowaniem zarówno na poziomie systemu operacyjnego, jak i aplikacji powodują obniżenie wydajności.

Ośmiordzeniowe procesory Ryzen składają się z dwóch kompleksów rdzeniowych (CCX), każdy z czterema rdzeniami i 8 MB pamięci podręcznej L3. Dostęp do pamięci podręcznej L3 na innym CCX jest wolniejszy z powodu potrzeby przenoszenia danych dalej wzdłuż Infinity Fabric (zastrzeżonego interkonektu spójnego z pamięcią podręczną AMD), co oznacza, że ​​przenoszenie wątków z jednego CCX na inny lub komunikacja między rdzeniami na różnych CCX powoduje zmniejszona wydajność. Kara ta przypomina to, co stałoby się na serwerze z wieloma gniazdami i systemem operacyjnym innym niż NUMA .

Wygląda na to, że Windows ma tendencję do po prostu przenoszenia procesów wokół różnych rdzeni i nie rozpoznaje kary za komunikację między CCX . Oznacza to, że Windows może umieszczać wątki w różnych CCX, nawet jeśli nie jest to konieczne , zmniejszając wydajność.

Niemiecki recenzent PC Games Hardware przetestował Ryzen 7 1800X z wyłączoną zmienną liczbą rdzeni i stwierdził, że posiadanie dwóch CCX z dwoma włączonymi rdzeniami na każdym z nich działa wolniej niż włączenie jednego CCX z nienaruszonymi wszystkimi rdzeniami:

Wynik testu sprzętu komputerowego: Battlefield 1

Dzieje się tak pomimo faktu, że włączenie tylko jednego CCX oznacza, że ​​dostępne jest tylko 8 MB pamięci podręcznej L3, a nie pełne 16 MB. Z artykułu na temat sprzętu do gier komputerowych za pośrednictwem Tłumacza Google (wyróżnienie dodane):

[...] O wiele bardziej ekscytujące jest uznanie faktu, że transfery danych CCX w każdym przypadku zakłócają się - czasem bardziej, czasem mniej wyraźnie. Zalety większej pamięci podręcznej L3 (konfiguracja 2 + 2) nigdzie w tej serii pomiarów.

Ten artykuł PC Perspective pokazuje, że istnieje znaczne opóźnienie komunikacji między rdzeniami na różnych CCX, ale bardzo małe opóźnienie podczas komunikacji z rdzeniami na tym samym CCX. Należy zauważyć, że ten artykuł sugeruje, że system Windows zna projekt CCX i unika planowania wątków w różnych CCX, ale członkowie społeczności znaleźli sprzeczne wyniki.


Wiele (ale nie wszystkie) testy porównawcze gier pokazują zwiększoną wydajność, gdy SMT jest wyłączony. Jednak pogłoski stwierdzające, że system Windows nieprawidłowo planuje, tak jakby każdy wątek sprzętowy jako własny rdzeń był niepoprawny . Według AMD jest to spowodowane faktem, że wiele aplikacji jest zoptymalizowanych tylko pod kątem procesorów Intela (co nie jest zaskakujące, biorąc pod uwagę, że AMD jest MIA z rynku wysokiej klasy procesorów od około pięciu lat). AMD twierdzi, że współpracuje z setkami twórców gier, aby poprawić wydajność procesorów Ryzen. Podejrzewam jednak, że aktualizacja systemu Windows nadal może pomóc w dokładniejszym dostrojeniu harmonogramu do charakterystyki architektury Zen .

Poniższy przykład ze sprzętu Toma pokazuje obniżoną wydajność przy włączonym SMT:

Wynik testu sprzętowego Toma: Ashes of the Singularity

TechSpot przeprowadził dogłębną analizę wydajności gier z włączonym i wyłączonym SMT i przyniósł bardzo podobne wyniki:

Wynik testu TechSpot: Deus Ex: Rozłam Ludzkości


W tych testach występują również problemy z zarządzaniem energią . To samo oświadczenie AMD zauważa, że ​​Windows nie jest w pełni świadomy nowych funkcji w Ryzen, takich jak parkowanie rdzenia i szybkie przełączanie częstotliwości zegara. Jest to zgodne z poprawą wydajności zgłoszoną przez sprzęt Tomka podczas korzystania z planu zasilania o wysokiej wydajności (patrz wykres powyżej, HP = wysoka wydajność). Aktualizacja systemu Windows może dodać obsługę tych funkcji i poprawić wydajność.

bwDraco
źródło
12
Nie jestem pewien, czy śledzę. OP wyraźnie mówi, że skoro na tym etapie nie ma mowy o optymalizacji gier dla Ryzen, a błędy systemu Windows są jeszcze dłuższą historią, w jaki sposób ta odpowiedź pomaga zrozumieć, w jaki sposób aktualizacje oprogramowania wewnętrznego mogą dać nadzieję na poprawę wydajności?
Ale..chenski
11
Zasadniczo mówi, że Windows całkowicie psuje, w jaki sposób / gdzie alokuje wątki - powodując problemy z wydajnością.
Journeyman Geek
2
@JourneymanGeek, każdy przyzwoity system Windows (nie jestem pewien, czy kwalifikuje się W10) zawsze ma wyraźną kontrolę nad powinowactwem rdzenia do procesu, a drwiny z powinowactwem zawsze były pierwszym narzędziem w testach porównawczych. Co nowego
Ale..chenski
4
Niestety tak, ale aktualizacje jądra są w toku. Prawdopodobnie będziesz musiał poczekać na jądro 4.12; 4.11 wprowadza kilka poprawek, ale nie ma ich wcale. phoronix.com/scan.php?page=news_item&px=Ryzen-7-Linux-4.11
bwDraco
7
@Crouchingkitten AMD może dostarczać tylko sterowniki, a nie aktualizacje systemu operacyjnego. Takie rzeczy nie znajdują się w puli zadań AMDS.
Arthur PR
9

http://wccftech.com/amd-ryzen-launch-aftermath-gaming-performance-amd-response/

1) Wczesne BIOS-y płyty głównej były z pewnością problematyczne: wyłączenie niepowiązanych funkcji spowodowałoby wyłączenie rdzeni. Ustawienie podkręcania pamięci na niektórych płytach głównych wyłączyłoby przyspieszenie. Niektóre wersje BIOS-u po prostu generowałyby ogólnie tłumioną wydajność.

2) Ryzen korzysta z wyłączenia wysokiej precyzji timerów zdarzeń (HPET). Rozdzielczość czasowa HPET może powodować efekt obserwatora, który może odjąć wydajność. Jest to opcja systemu BIOS lub funkcja, którą można wyłączyć za pomocą powłoki poleceń systemu Windows.

3) Ryzen korzysta z włączenia profilu mocy o wysokiej wydajności. To zastępuje parkowanie rdzenia. W końcu będziemy mieli kierowcę, który pozwoli ludziom pozostać na równowadze i i tak wyłączyć parkowanie podstawowe. Gracze też to robią od dłuższego czasu. Błędnie mówiłem tutaj. Chcę wyjaśnić korzyści: tryb wysokiej wydajności pozwala procesorowi na aktualizację napięcia / prędkości zegara w ciągu 1 ms, w porównaniu do 30 ms, które zajmuje tryb zrównoważony. Właśnie to osiągnie nasz kierowca. Przepraszamy za zamieszanie!

Tak więc prawdziwe pytanie nie dotyczy tego, w jaki sposób aktualizacja systemu BIOS / oprogramowania układowego może przyspieszyć procesor (może to zrobić, optymalizacja mikrokodu itp.). To więcej ... jak okaleczony jest procesor przez wadliwy system BIOS / oprogramowanie układowe

Naib
źródło
Przepraszam, że zadałem niewłaściwe pytanie. Pomyślałem, że będzie pasować, szczególnie, że interesują mnie również nietrywialne informacje.
np. może wystarczająco abstrakcyjne, by zostać. Śledzę Ryzen, ponieważ planuję poważną przebudowę, więc śledzę wszystkie problemy ząbkowania. Jako użytkownik Linuksa śledzę także problemy związane z Linuksem. Jedną rzeczą, którą należy wziąć pod uwagę w przypadku Ryzen (i rdzenia zen) jest to, że jest to pierwszy SMT AMD i początkowe wskazania, że ​​raportuje rdzenie logiczne inaczej niż Intel i BIOS / Windows może próbować używać wszystkich „rdzeni” jako rdzeni fizycznych, gdy połowa jest logiczna rdzenie. ZNACZNIE wpłynęłoby to na wydajność
Naib
Myślę, że odpowiedzi, komentarze i przemyślenia na temat tego pytania są bardzo ważne, ponieważ ludzie muszą wiedzieć, czy może być jeszcze lepiej, a jak dotąd widziałem, mogę znów mieć nadzieję. BTW artykuł jest bardzo, bardzo dobry!
Więcej informacji na temat Ryzen ... forums.gentoo.org/viewtopic-t-1057910.html Wielu z nas na postach na forum Gentoo i dyskutuje, kiedy otrzymamy informacje. W tej chwili dla Linuksa sterowniki audio mobo są tylko w pakiecie, podobnie jak monitory termiczne nie istnieją ... Problemy z HPET i rdzeniem są natychmiastowym problemem. W tej chwili AMD całkowicie nokautuje Intela do czystych obliczeń
Naib
1
do pewnego stopnia tak. Podtrzymuję moje oświadczenie, że dla Ryzen jest on okaleczony, więc BIOS / sterowniki „przyspieszą”
Naib
6

BIOS jest ogólnie uważany za oprogramowanie wewnętrzne. BIOS może kręcić różne bity w sprzęcie, aby zmienić sposób działania systemu

Więc tak, jest całkowicie wykonalne, aby wypchnęli nowe oprogramowanie wewnętrzne i na przykład w zakresie taktowania zegara, czy prefiksy są włączone, lub czy określony rdzeń - lub IIO - może uzyskać pewne preferencje dla pamięci podręcznej, która może zwiększyć wydajność gier z powodu do większości gier zaprojektowanych w sposób jednowątkowy.

horta
źródło
Brzmi interesująco, czy można znaleźć jakieś referencje? Byłoby bardzo miło mieć niektórych z nich, aby to udowodnić ludziom :)
@ ArthurP.R. Pomiędzy pcode, ucode (mikrokodem) i bios, wydajność i funkcjonalność czipa można znacznie zmienić. To wszystko oprogramowanie / oprogramowanie układowe. Jeśli chodzi o źródła, nie, nie mogę podać żadnych zewnętrznych źródeł tych informacji (ponieważ wszystkie są wewnętrzne).
horta
Co za bummer @horta, jednak wielkie dzięki za te informacje. Dostosuj swoją odpowiedź, aby uwzględnić również te informacje. To jest warte!
4

Aktualizacje oprogramowania przyspieszają procesor. Wszyscy oczekują, że aktualizacje oprogramowania sprawią, że oprogramowanie będzie bardziej odpowiednie dla architektury Ryzen i będzie mogło lepiej wykorzystać jego wydajność.

Popraw mnie, jeśli się mylę, ale procesor musi mieć statyczne oprogramowanie wewnętrzne, aby był zgodny ze standardem x64?

Prawie. W procesorze znajduje się oprogramowanie (mikrokod, jak wspomniano powyżej), które może wpływać na wydajność. Zasadniczo X86 określa tylko wyniki operacji, a to, w jaki sposób procesor osiąga te wyniki, jest problemem inżynierów. Szanse na poprawki mikrokodu odgrywające główną rolę w Ryzen są jednak niewielkie, ponieważ różnica w wydajności wydaje się dotyczyć głównie gier, które sugerują, że procesor działa dobrze, ale niektóre gry w szczególności nie wykorzystują go dobrze.

System operacyjny jest odpowiedzialny za starania, aby programy były efektywnie rozmieszczone w procesorze, co może mieć wpływ na wydajność, ale ogólnie rzecz biorąc, żaden z tych czynników nie jest głównym problemem dla nowej architektury. Większość ulepszeń wydajności w takich przypadkach wynika z pisania przez programistów kodu lepiej dostosowanego do nowej architektury. Zdarza się to nie między kolejnymi generacjami procesorów Intel, ponieważ zmiany w projekcie nie są ogromne, więc to, co działa dobrze na jednym, prawdopodobnie będzie dobrze działać na drugim.

Ryzen jest jednak zupełnie nowym projektem, więc wszystko, co z definicji napisano, aby pasowało do innych procesorów, nie zostało napisane tak, by pasowało do Ryzen.

Aby znacznie uprościć sytuację, wyobraź sobie dwa procesory:

  • Procesor One jest na rynku od dłuższego czasu i (z jakiegokolwiek powodu) bardzo szybko dodaje liczby. Oprogramowanie zostało zaprojektowane tak, aby w jak największym stopniu wykorzystywać dodawanie, aby skorzystać z tej możliwości.

  • Konkurujący procesor trafia na rynek i jest słabszy przy dodawaniu, ale silniejszy przy powielaniu. Całe oprogramowanie zoptymalizowane pod kątem użycia większej liczby instrukcji obciążających bardzo źle działa na nowym procesorze, ale oprogramowanie, które nie zostało przystosowane do korzystania z wielu dodatków, działa mniej więcej podobnie. Niektóre programy mogą już dużo powielać i będą działać lepiej na nowych procesorach niż na procesorze One, nawet w dniu uruchomienia.

Jakiś czas po uruchomieniu, programiści zaczną się dostosowywać, wykorzystując większe zwielokrotnienie w swoim oprogramowaniu, a nawet zaprojektują swoje oprogramowanie tak, aby przełączało się między ścieżkami kodu wymagającymi dodatkowego dodawania, a ścieżkami wymagającymi mnożenia w zależności od używanej architektury procesora.

To właśnie dzieje się z Ryzenem - to nowa architektura, której twórcy oprogramowania nie zoptymalizowali jeszcze do charakterystyki. Z czasem programiści zaczną dostosowywać swoje oprogramowanie, aby uzyskać lepszą wydajność. Ponieważ większość oprogramowania jest już zaprojektowana tak, aby działała dobrze na procesorach Intel (w końcu są one dość popularne!), Prawdopodobnie nie skorzystają z tych zmian.

Istnieją pewne obciążenia, w których Intel po prostu pozostanie szybszy, a niektóre, w których Ryzen jest już szybszy (i będzie jeszcze szybszy), w zależności od podstawowego zachowania. W sytuacji, którą podałem powyżej, oprogramowanie, które wystarczy tylko dodać, zawsze będzie działało lepiej na pierwszym procesorze, a oprogramowanie, które po prostu musi się zwielokrotniać, zawsze będzie działać lepiej na drugim - ale w przeważającej części oprogramowanie jest złożone i różnice te nieco się wyrównają.

Jeśli tak, to czy AMD nie musiałoby optymalizować gier (oprogramowania) do swoich procesorów, co jest oczywiście niemożliwe?

Warto również zauważyć, że to, co AMD powiedziało o wydajności gier, to fakt, że współpracują z programistami w celu zoptymalizowania gier. Wysyłają systemy deweloperów do firm (obecnie jest ich na wolności 300, a do końca roku zamierzają 1000) i rozmawiają z tymi, których gry źle radzą sobie z tym problemem. O ile mi wiadomo, nie zostało stwierdzone, że AMD same optymalizują gry.

W tym szczególnym przypadku Ryzen jest również w pewnych okolicznościach powstrzymywany przez system Windows podejmujący złe decyzje dotyczące tego, które rdzenie mają zostać obciążone pracą, a obecne BIOSy są problematyczne z powodów, o których po prostu nie będę udawać, że wiem. Jednak te problemy nie mogą być odpowiedzialne za całą lukę w wydajności, ponieważ istnieją obciążenia, w których Ryzen już przewyższa Intel w przekonujący sposób, co sugeruje, że problem jest przynajmniej częściowo (jeśli nie głównie) spowodowany konkretnymi uruchomionymi programami, a nie system operacyjny lub BIOS jako całość.

Chris Rimmer
źródło
Ta odpowiedź jest również interesująca. Dzięki.
Arthur PR
1

Oczywiście oprogramowanie może poprawić wydajność procesora, a nawet GPU.

Jednym ze sposobów jest zdecydowanie podkręcanie lub inny rodzaj mechanizmu zmieniającego zegar. Drugim może być optymalizacja sterowników. Należą do nich lepsze metody kompresji danych, szybsze dekodowanie algorytmów itp. Zasadniczo funkcje, które pomagają lepiej wykorzystać więcej sprzętu. Funkcje te można również zaktualizować poprzez aktualizacje oprogramowania układowego, które nie są tak naprawdę (zwykłym) oprogramowaniem. Jest też oprogramowanie, które może kontrolować chłodzenie twojego komputera. Jest to bardzo przydatne w przypadku procesorów i procesorów graficznych wykorzystujących technologie zwiększające wydajność, takie jak Turbo Boost Intela i Boost GPU Nvidii. Taki sprzęt ma pewne ograniczenia temperaturowe, więc obniżają jego wydajność, gdy działają zbyt gorąco i dynamicznie się podkręcają, gdy aplikacje wymagają większej mocy obliczeniowej, dopóki nie osiągną maksymalnego poboru mocy i „

Istnieją również inne opcje, ale w większości to obejmują. Zasadniczo, o ile znasz problem i możesz programowo manipulować sposobem przetwarzania danych (np. Wprowadzając algorytm inteligentnego dekodowania, który zastępuje rozwiązanie typu „brutalna siła”) lub manipulować reakcjami procesora na różne kluczowe czynniki wpływające na jego wydajność (np. bardziej agresywnie zwiększając chłodzenie w przypadku przegrzania lub monitorowania zapotrzebowania na zasoby aplikacji i dynamicznego podkręcania się, gdy potrzebna jest większa moc obliczeniowa), możesz wiele zrobić, aby poprawić (lub pogorszyć) wydajność procesora.

W przypadku AMD jest to prawdopodobnie optymalizacja mechanizmu doładowania lub rozwiązania chłodzącego. Jeden lub oba z nich zostały prawdopodobnie zmienione, aby reagowały bardziej agresywnie na wzrost obciążenia lub temperatury.

TL; DR: Tak, oprogramowanie może poprawić wydajność procesora. Istnieje wiele sposobów, które można zrobić, takich jak optymalizacja sterowników i oprogramowania układowego, przetaktowywanie itp. Każda zmiana oprogramowania, która przygotowuje dane, aby ułatwić przetwarzanie lub sprawić, że sprzęt lepiej reaguje na obciążenie lub jego ograniczenia najprawdopodobniej doprowadzi do zwiększenia wydajności.

BassGuitarPanda
źródło
-1

Aktualizacje oprogramowania mogą zdecydowanie przyspieszyć działanie systemu (w tym procesora).

Bardzo skrajnym przykładem tego są duże komputery mainframe IBM: możesz kupić więcej czasu procesora online, a wszystko, co dostajesz, to klucz licencyjny, który musisz wprowadzić do systemu operacyjnego, i boom !, system działa szybciej. Sztuczka jest prosta: harmonogram systemu operacyjnego czasami po prostu odmawia zaplanowania zadań i zamiast tego procesor przechodzi w tryb uśpienia, a nawet po prostu uruchamia pętlę NO-OP na krótki czas, aby osiągnąć określoną ogólną średnią przepustowość. Jeśli płacisz za droższą licencję, program planujący usuwa te NIE-OP.

Lub jeszcze bardziej drastycznie: jeśli kupisz system z tylko 4 lub 6 lub 8 procesorami, zwykle będzie to około 16-32 faktycznie zainstalowanych. System operacyjny po prostu wyłącza niektóre z nich, a wprowadzając klucz licencyjny, możesz je włączyć.

Podobnie, komputery mainframe IBM rozróżniają różne rodzaje procesorów: procesory Linux, procesory Java, procesory transakcyjne itp. Są to tak naprawdę wszystkie te same procesory, ale program planujący system operacyjny odmówi zaplanowania zadań transakcyjnych (które są najważniejsze) do Procesor Java lub Linux. Tylko procesory Java zostaną zaplanowane na procesory Java, a tylko procesory Linux zostaną zaplanowane na procesory Linux. Jeśli chcesz uzyskać wyższą wydajność transakcji, musisz kupić licencje dla większej liczby procesorów transakcyjnych: ponownie, są to dokładnie te same procesory, jedyną różnicą jest flaga konfiguracji w harmonogramie, która mówi „nie planuj zadań transakcyjnych dla tych procesorów „.

Kolejnym przykładem, choć nie tak skrajnym, są różne wersje systemu Windows. Różne wersje systemu Windows obsługują różną liczbę rdzeni procesora i różną ilość pamięci. Jeśli masz dużą pamięć i dużą liczbę procesorów, możesz przyspieszyć swój system, po prostu aktualizując do „większej” wersji systemu Windows. Pamiętaj, że wydania mają dokładnie ten sam kod; gdzieś jest tylko przełącznik konfiguracji, który mówi: „Jesteś Home Edition, obsługujesz tylko 1 procesor i 128 GiByte”.

Jörg W Mittag
źródło