border=0

"192.102.6.94 - 192.102.6.94"

Vragen met de tag 'branch-prediction'

In een computerarchitectuur is de vertakkingsvoorspeller een digitaal circuit dat probeert te raden welke tak (bijvoorbeeld de if-then-else-structuur) zal gaan voordat het zeker bekend is. Het doel van branchevoorspelling is om de stroom in de instructiepijplijn te verbeteren. Industrievoorspellers spelen een cruciale rol bij het bereiken van hoge prestaties in veel moderne microprocessor-gebaseerde microprocessorarchitecturen, zoals x86.
26
antwoord

Waarom is het sneller om een ​​gesorteerde array te verwerken dan een ongesorteerde array?

Hier is een stuk C ++ code dat heel eigenaardig lijkt. Om een ​​vreemde reden, het op miraculeuze wijze sorteren van de gegevens maakt de code bijna zes keer sneller. # include <algoritme> # include <ctime> # include <iostream> int main () {// Ge ...
Stel 27 juni '12 in om 16:51 uur
5
antwoord

Waarom is (a * b! = 0) sneller dan (a! = 0 b! = 0) in Java?

Ik schrijf wat code in Java, waar op een gegeven moment de stroom van het programma bepaald wordt door de vraag of de twee variabelen int "a" en "b" niet nul zijn (opmerking: a en b zijn nooit negatief en mogen nooit binnen het gehele getal vallen) overloopnummers ...
stel 21 febr 16 om 4:51
10
antwoord

Wat is het effect van bestellen, als ... anders, als de uitspraken waarschijnlijk zijn?

In het bijzonder, als ik een reeks if ... else if statements heb, en ik op de een of andere manier op voorhand weet wat de relatieve waarschijnlijkheid is dat elke operator zal evalueren naar true, in hoeverre sorteert het verschil in runtime het in volgorde van waarschijnlijkheid? ...
vastgesteld op 19 oktober. 17 om 18:17
7
antwoord

Is er een compiler-tip voor GCC om branchevoorspelling altijd op een bepaalde manier te laten verlopen?

Is er voor de Intel-architectuur een manier om de GCC-compiler opdracht te geven om code te genereren die altijd een vertakkingsvoorspelling op een bepaalde manier in mijn code afdwingt? Ondersteunt deze hardware Intel? Hoe zit het met andere compilers of ap ...
ingesteld op 08 mei 15 om 21:54 uur
7
antwoord
5
antwoord

Wanneer moeten threads de voorkeur hebben boven traditionele loops voor betere prestaties? Maken threads gebruik van branchevoorspelling?

Ik heb zojuist gelezen over Branch-Prediction en wilde proberen hoe het werkt met Java 8-threads, maar de prestaties met Streams zijn altijd slechter dan traditionele loops. int totalSize = 32768; int filterValue = 1280; int [] array = nieuw in ...
ingesteld op 22 dec. 16 om 11:26
5
antwoord

Draagbare tips voor het voorspellen van de industrie

Is er een draagbare manier om branchevoorspelling te voorspellen? Beschouw het volgende voorbeeld: if (onwaarschijnlijk_voorwaarde) {/ * ..A .. * /} else {/ * ..B .. * /} Is dat niet: if (! Unlikely_condition) {/ * ..B .. * /} anders ...
Stel 13 september in '10 om 20:35
8
antwoord

Programmeren met filialen

Ik heb gelezen dat een onjuiste voorspelling van de branche een knelpunt kan zijn voor een toepassing om te werken. Zoals ik zie, laten mensen vaak een assemblercode zien die dit probleem blootlegt, en stelt dat programmeurs meestal kunnen voorspellen waar de branch is ...
gevraagd op 15 september 15 om 11:48
2
antwoord
5
antwoord

Waarom produceert deze C ++ -functie zoveel onjuiste branchevoorspellingen?

Laat A een array zijn met een oneven aantal nullen en enen. Als n de afmeting A heeft, dan is A zo geconstrueerd dat de eerste ceil (n / 2) elementen 0 zijn en de overige elementen 1. Dus als n = 9, ziet A er zo uit: 0,0,0,0,0, 1,1,1,1 Het doel is ...
gevraagd op 15 september '16 om 17:44 uur
2
antwoord

Krijgt GCC een suboptimale code voor het voorspellen van een statische tak?

Van mijn universitaire opleiding hoorde ik dat het in overleg beter is om een ​​meer waarschijnlijke toestand te plaatsen in plaats van ergens anders, die een voorspeller van een statische tak kan helpen. Bijvoorbeeld: if (check_collision (speler, vijand)) {// waarschijnlijk niet waar ...
vastgesteld op 26 januari 17 om 21:49 uur
4
antwoord

Industry Prediction en Zero Split

Ik schreef een code die er als volgt uitzag: if (noemer == 0) {return false; } int resultaat = waarde / noemer; ... toen ik nadacht over vertakkingsgedrag in de CPU. xbad.info.site/questions/1 / ... Dit antwoord zegt dat de CPU zal proberen ...
set 03 aug. 15 om 11:22
5
antwoord

Hoe vaak wordt branchevoorspelling op de huidige processors gebruikt?

Vanwege de enorme impact op de prestaties, vraag ik me nooit af of mijn huidige bureaublad een branchevoorspellingsprocessor heeft. Natuurlijk Maar hoe zit het met de verschillende ARM-aanbiedingen? De iPhone- of Android-telefoons hebben een voorspelling over ...
ingesteld op 23 november 11 om 14.31 uur
3
antwoord

Is "==" in een gesorteerde array niet sneller dan een ongesorteerde array?

Opmerking: ik denk dat de vermeende duplicaatvraag hoofdzakelijk gerelateerd is aan "<" en ">" -vergelijking, maar niet aan de vergelijking "==" en daarom mijn vraag over de effectiviteit van de operator "==" niet beantwoordt. >
ingesteld op 18 augustus 15 om 6:51
4
antwoord

X86-64 Build Performance Optimization - Leveling and Branching Prediction

Ik codeer momenteel sterk geoptimaliseerde versies van enkele van de standaard C99 bibliotheekfuncties, zoals strlen (), memset (), enz., Met behulp van de x86-64 build met SSE-2 instructies. Tot nu toe heb ik uitstekende resultaten behaald ...
ingesteld op 08 aug. '13 om 0:18