Zijn de benchmarks van een processor te manipuleren?

Van tijd tot tijd verschijnt er vergelijkend nieuws over welke processor beter is dan een andere door middel van prestatietests. Maar wist u dat benchmarks kunnen worden gemanipuleerd om een ​​processor beter te laten presteren dan hij in werkelijkheid doet? Welnu, we gaan er in dit artikel over praten, en het is dat alles wat vaak lijkt geen goud is en dat veel fabrikanten het nodig hebben om hun processors te kunnen verkopen tegen prijzen die voor hen winstgevend zijn en hen in staat te stellen door te gaan.

Kunnen de benchmarks van een processor worden gemanipuleerd?

Een van de dingen die geleerd wordt bij het bestuderen van computerarchitecturen is hoe processors voordeel kunnen halen uit prestatietests om benchmarks te manipuleren. Dit is iets dat niet nieuw is, bovendien worden sinds het begin van de pc rapporten meestal verzonden waar de fabrikant, zij het Intel, AMD of een ander merk, begeleidt de informatie over de architectuur meestal met cijfers en afbeeldingen. Maar net zoals financiële manipulatie ook bestaat, gebeurt het ook, vreemd genoeg in de wereld van verwerkers.

Veelvoorkomende cheats die zijn gemaakt om benchmarks te manipuleren

Om te weten of een processor beter is dan een andere, hebben we een kardinale beoordeling nodig, dat wil zeggen een getal dat de prestaties meet en specificeert of processor A beter is dan processor B. Alleen het lezen van de specificaties is niet genoeg voor ons, aangezien deze gegevens ze niet help ons er een te vergelijken CPU met een ander als ze van verschillende architecturen zijn. Dit is waar benchmarks binnenkomen en dit wetende, gebruiken processorontwerpers en fabrikanten een aantal trucs of vallen om benchmarks te manipuleren.

Instructies voor valsspelen

Een benchmark is niets meer dan een programma, dat wil zeggen een reeks geordende instructies die in volgorde worden uitgevoerd. Welnu, een van de valkuilen die alle hardware-architecten al jaren, zo niet decennia doen, is het optimaliseren van degene die het meest worden gebruikt in benchmarks. Wat bedoelen we? Zorg er bijvoorbeeld voor dat ze minder tijd nodig hebben om te rennen. Wanneer ze moeten beslissen welke instructie meer middelen heeft in het ontwerp, wordt er altijd meer belang gehecht aan de meest gebruikte, en als ze bovenaan staan, kunnen ze een beter resultaat geven in prestatietests.

Diseño Procesadores testen

Kloksnelheid en cache om benchmarks te manipuleren

Hoewel beide afzonderlijke elementen zijn, zijn ze blijkbaar erg verwant als we het hebben over het manipuleren van resultaten van de chip zelf. Tegenwoordig kan de kloksnelheid van een processor, de zogenaamde GHz, fluctueren afhankelijk van het werkniveau. Het feit is dat, afhankelijk van waar de gegevens zich bevinden, of op een bepaald niveau van de cache of in de RAM het verbruik is lager. Meestal draait een programma in RAM, maar er zijn benchmarks die microprogramma's zijn die in het cachegeheugen passen.

Velocidade Datos

Dus wanneer ze worden uitgevoerd, hebben ze geen toegang tot de geheugencontroller nodig, ze doen het gewoon recursief vanuit de cache. Wat ze niet alleen een zeer lage latency geeft, maar ook een lager verbruik, waardoor de kloksnelheid op de lange termijn kan worden verhoogd. In een conventionele omgeving zou een dergelijke aanhoudende toename van het verbruik niet worden aanbevolen, maar de prestatietest meet niet dat aspect, maar de snelheid waarmee het programma draait.

De truc is niets anders dan de Turbo- of Boost-snelheid zo lang mogelijk aan te houden. Er zijn zelfs ontwerpen die in dat opzicht een snelheid specificeren die lager is dan wat ze tijdens die tests bereiken. Maar maakte de wet, maakte de val.

Multi-threaded testen en heterogene configuraties

Vanwege slechte marketing worden de E-Cores van de laatste twee generaties Intel verward met cores in het licht van energie-efficiëntie. In plaats daarvan zijn ze geoptimaliseerd voor het gebied. En wat voor zin hebben ze? Wanneer een processor een programma uitvoert, zijn er soms zogenaamde 'stalls' voor een oorzaak waardoor het doorgaat, wat perioden van inactiviteit genereert die we bellen noemen. Welnu, het idee van multithreading is om de processor mechanismen te geven zodat deze van context verandert en voor andere processen kan zorgen.

Intel Core 12 13 processor

Het probleem is dat dit het stroomverbruik enorm verhoogt en dodelijk is voor draagbare apparaten. De oplossing? In plaats van ruimte en transistors te verspillen aan multithreading, werden eenvoudigere processorkernen toegevoegd aan apparaten met een laag vermogen. Strategie die Intel blijkbaar heeft aangenomen, maar de P-Cores blijven multithreading behouden, dus het nut van de E-Cores is dat niet. In plaats daarvan dienen ze zodat de krachtigste kernels geen tijd verspillen aan het verwerken van dingen die het hoofdprogramma beïnvloeden. Als bijvoorbeeld toepassingen zoals de mailmanager plotseling worden geactiveerd, mogen ze niet op de voorgrond komen te staan.

In multithreaded benchmarks is de score een optelsom van de prestaties van alle cores, iets dat niet kan worden uitgeschakeld. Dit is een van de valkuilen van vergelijkingen tussen homogene en heterogene processors. Daarom zou het ideaal zijn om aan te geven hoeveel elk type kern toevoegt aan het totaal.

Valse resultaten

Dit is het meest brutale geval, waarin, afhankelijk van het merk of model, extra punten worden gegeven. Dit is mogelijk dankzij het feit dat elke CPU een instructie heeft die deze identificeert, zodat het benchmarkprogramma kan weten waar het draait en een positieve of negatieve voorwaarde kan toepassen.