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ść.