An Entity of Type: baseball league, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer architecture, a branch predictor is a digital circuit that tries to guess which way a branch (e.g., an if–then–else structure) will go before this is known definitively. The purpose of the branch predictor is to improve the flow in the instruction pipeline. Branch predictors play a critical role in achieving high performance in many modern pipelined microprocessor architectures such as x86.

Property Value
dbo:abstract
  • Un predictor de salts és un mecanisme maquinari utilitzat en els processadors que utilitzen segmentació de la unitat de procés per reduir cicles de parada en el pipeline. Els salts condicionals introdueixen retard en aquests processadors, ja que normalment no s'avalua la condició del salt fins passades diverses etapes, el que fa que s'hagi de parar el llit, o que es puguin introduir instruccions en el pipeline que no han de ser executades, havent de convertir-se posteriorment en nops, i decrementat així el rendiment. La predicció és possible anotant el comportament del programa en salts anteriors. (ca)
  • في معمارية الحاسوب متنبئ الفروع Branch Predictor هي دارة رقمية تحاول تخمين مسار الخطوة القادمة ضمن كتلة تجري معالجتها قبل ان يتم تحديدها بناء على نتيجة العملية السابقة «كمحاولة تخمين نتيجة حلقة if الشرطية قبل حساب الشرط». الغاية من متنبئ الفروع هي تسريع معالجة كتلة من الكود وكذلك تحسين تدفق البيانات ضمن انابيب التعليمات، متنبئ الفروع عامل حرج لتحقيق اداء بكفاءة عالية خصوصا لمعالجات x86. (ar)
  • Die Sprungvorhersage (englisch branch prediction) wird in der (Mikro-)Rechnerarchitektur verwendet und behandelt das Problem von Mikroprozessoren, alle Stufen ihrer Pipeline möglichst immer und sinnvoll auszulasten. (de)
  • In computer architecture, a branch predictor is a digital circuit that tries to guess which way a branch (e.g., an if–then–else structure) will go before this is known definitively. The purpose of the branch predictor is to improve the flow in the instruction pipeline. Branch predictors play a critical role in achieving high performance in many modern pipelined microprocessor architectures such as x86. Two-way branching is usually implemented with a conditional jump instruction. A conditional jump can either be "taken" and jump to a different place in program memory, or it can be "not taken" and continue execution immediately after the conditional jump. It is not known for certain whether a conditional jump will be taken or not taken until the condition has been calculated and the conditional jump has passed the execution stage in the instruction pipeline (see fig. 1). Without branch prediction, the processor would have to wait until the conditional jump instruction has passed the execute stage before the next instruction can enter the fetch stage in the pipeline. The branch predictor attempts to avoid this waste of time by trying to guess whether the conditional jump is most likely to be taken or not taken. The branch that is guessed to be the most likely is then fetched and speculatively executed. If it is later detected that the guess was wrong, then the speculatively executed or partially executed instructions are discarded and the pipeline starts over with the correct branch, incurring a delay. The time that is wasted in case of a branch misprediction is equal to the number of stages in the pipeline from the fetch stage to the execute stage. Modern microprocessors tend to have quite long pipelines so that the misprediction delay is between 10 and 20 clock cycles. As a result, making a pipeline longer increases the need for a more advanced branch predictor. The first time a conditional jump instruction is encountered, there is not much information to base a prediction on. But the branch predictor keeps records of whether branches are taken or not taken. When it encounters a conditional jump that has been seen several times before, then it can base the prediction on the history. The branch predictor may, for example, recognize that the conditional jump is taken more often than not, or that it is taken every second time. Branch prediction is not the same as branch target prediction. Branch prediction attempts to guess whether a conditional jump will be taken or not. Branch target prediction attempts to guess the target of a taken conditional or unconditional jump before it is computed by decoding and executing the instruction itself. Branch prediction and branch target prediction are often combined into the same circuitry. (en)
  • Un predictor de saltos (branch predictor en inglés) es un circuito digital utilizado en los procesadores que utilizan segmentación de la unidad de proceso para reducir ciclos de parada en la segmentación. Los saltos condicionales introducen retardo en estos procesadores, ya que normalmente no se evalúa la condición del salto hasta pasadas varias etapas, lo que hace que se tenga que parar el cauce, o que se puedan introducir instrucciones en la segmentación que no deben de ser ejecutadas, teniendo que convertirse posteriormente en , y decrementando así el rendimiento. La predicción es posible anotando el comportamiento del programa en saltos anteriores. (es)
  • La prédiction de branchement est une fonctionnalité d'un processeur qui lui permet de prédire le résultat d'un branchement. Cette technique permet à un processeur de rendre l'utilisation de son pipeline plus efficace. Avec cette technique, le processeur va faire de l’exécution spéculative : il va parier sur le résultat d'un branchement, et va poursuivre l’exécution du programme avec le résultat du pari. Si le pari échoue, les instructions chargées par erreur dans le pipeline sont annulées. Le processeur peut parier sur deux paramètres d'un branchement : * son adresse de destination : c'est la prédiction de direction de branchement ; * le fait qu'il soit pris ou non : c'est la prédiction de branchement. Par pari, on veut dire que le branchement fera poursuivre l’exécution du programme à une instruction différente de celle qui est placée immédiatement après le branchement en mémoire. (fr)
  • In informatica, la predizione delle diramazioni (branch prediction) è il compito della BPU (Branch Prediction Unit), una componente della CPU che cerca di prevedere l'esito di un'operazione su cui si basa l'accettazione di una istruzione di salto condizionato, evitando rallentamenti che possono essere molto evidenti in una architettura con pipeline. Per fare un esempio molto pratico, la CPU si comporta come un turista che non sa quale strada prendere ad un bivio; mentre consulta la cartina, imbocca una strada sperando nell'intuito. Se indovina, evita di fermarsi al bivio e perdere tempo; se non indovina, non deve tornare al bivio, ma è come se ripartisse istantaneamente dal bivio. L'importanza di questa operazione è evidente soprattutto per i microprocessori moderni, superscalari e con lunghe pipeline, che per ogni errore di previsione devono sprecare molti cicli di clock di lavoro prezioso. La predizione delle diramazioni non va confusa con la predizione dell'indirizzo di arrivo della diramazione. Questa predizione è svolta dall'unità branch target predictor che, data la predizione dell'unità di predizione delle diramazioni, cerca di predire l'indirizzo di arrivo del salto e di caricare le istruzioni corrispondenti prima che il salto sia svolto, in modo da evitare rallentamenti dovuti al caricamento delle istruzioni dopo il salto. (it)
  • 분기 예측(영어: branch prediction)은 다음 실행될 조건문이 어떤 곳으로 분기할 것인지를 확실히 알게 되기 전에 미리 추측하는 CPU 기술이다. 분기 예측기(branch predictor)는 분기 예측을 수행하는 디지털 회로를 가리킨다. 분기 예측을 수행하는 목적은, 명령어 파이프라인이 일시적으로 정지되지 않도록 하는 것이다. 최신 x86 아키텍처와 같이 많은 수의 파이프라인을 사용하는 구조에서 분기 예측기는 전체적인 성능을 크게 향상시킬 수 있다. 조건 분기 명령이 명령어 파이프라인에 입력되면, 조건 분기의 다음 명령은 둘 중 하나로 정해진다. 만약 파이프라인이 조건 값의 계산이 끝날 때까지 대기한다면, 조건 분기 명령이 전체 파이프라인을 통과할 때까지 다음 명령은 파이프라인에서 수행되지 못하고 대기하게 될 것이다. 분기 예측기는 이런 낭비를 막기 위해 단순한 알고리즘에 따라 다음 명령을 미리 추론한 후 시킨다. 만약 분기 예측기의 예측이 맞으면 파이프라인은 낭비 없이 계속 수행되며, 예측이 틀릴 경우 미리 실행되던 명령이 파이프라인에서 모두 취소되고 올바른 명령이 다시 실행된다. 분기 예측기가 올바른 예측에 실패하면 파이프라인의 개수 만큼의 클럭 주기가 낭비된다. 복잡한 파이프라인 구조를 가진 현대 아키텍처에서는, 분기 예측기가 실패하면 10-20 클럭 주기가 낭비된다. 조건 분기문이 처음 파이프라인에 들어왔을 때 활용할 수 있는 정보는 많지 않다. 분기 예측기는 해당 조건 분기문이 분기한 이력이나 , 함수 구조 등의 정보를 바탕으로 다음 분기를 예측한다. (ko)
  • コンピュータ・アーキテクチャにおける分岐予測(ぶんきよそく、Branch Prediction、ブランチプレディクション)とは、プログラム実行の流れの中で条件分岐命令が分岐するかしないかを予測することにより、命令パイプラインの効果を可能な限り維持し、性能を高めるためのCPU内の機能である。 (ja)
  • Branch prediction (av engelska "branch", gren och "prediction", förutsägelse) är inom datorarkitektur en pipelineoptimeringsteknik där processorn försöker förutse hur ett programflöde kommer förgrenas, för att instruktionerna där programflödet antas fortsätta. Implementationer av branch prediction delas in i statiska och dynamiska. * Statisk branch prediction: hoppförutsägelser baserar sig på hopptypsinstruktion. * Dynamisk branch prediction: under programkörning samlas statistik om hur programflödet förgrenar sig. Hoppförutsägelser utgår från den insamlade informationen. (sv)
  • Branch prediction são conjuntos de técnicas implementadas em hardware ou software, que têm o objetivo de reduzir os conflitos de controle em processadores de arquitetura Pipeline, através da previsão correta de que os desvios condicionais vão desviar ou não, reduzindo atrasos no fluxo de instruções posteriores aos desvios, conhecidos como bolhas no pipeline. Quando ocorre qualquer desvio, as instruções anteriores a de desvios devem ser anuladas. Tal processo recebe o nome de Flush, onde registradores entre os estágios e sinais de controle são responsáveis por enviar instruções NOPs ou adiantamento de outras. Apesar dos conflitos de controle forem menores que os conflitos de dados, quase 20% das instruções são de desvio condicional, tornando-se crítico alternativas para amenizar os gargalos, principalmente quando há muitas instruções no mesmo ciclo de clock. Para isto, existem as chamadas técnicas de execução especulativa que, com base em probabilidades de ocorrência ou estratégias, permitem que haja uma previsão se haverá desvio ou não, ou até mesmo trocar de ordem algumas instruções, sem alterar o resultado final do programa, para quando surgir uma condição de desvio, a mesma seja resolvida com o mínimo possível de bolhas no Pipeline. O conjunto de técnicas dividem-se em técnicas de software ou técnicas de hardware (pt)
  • Модуль предсказания переходов (прогнозирования ветвлений) (англ. branch prediction unit) — устройство, входящее в состав микропроцессоров, имеющих конвейерную архитектуру, предсказывающее, будет ли выполнен условный переход в исполняемой программе. Предсказание ветвлений позволяет сократить время простоя конвейера за счёт предварительной загрузки и исполнения инструкций, которые должны выполниться после выполнения инструкции условного перехода. Прогнозирование ветвлений играет критическую роль, так как в большинстве случаев (точность предсказания переходов в современных процессорах превышает 90 %) позволяет оптимально использовать вычислительные ресурсы процессора. Без предсказания переходов конвейер должен дождаться выполнения инструкции условного перехода, чтобы произвести следующую выборку. Предсказатель переходов позволяет избежать траты времени, пытаясь выяснить ответвление. Ответвление выбирается по предыдущим результатам проверки условия. Предполагаемое ответвление затем загружается и частично выполняется. Если затем обнаруживается, что предсказание было выполнено неверно, отменяются результаты неверного ветвления и в конвейер загружается правильное ответвление, производя задержку. Величина задержки зависит от длины конвейера. Для процессора Intel Core i7 глубина конвейера составляет 14 стадий. Следует отличать «предсказание переходов» от . Цель предсказания адреса перехода состоит в выборе адреса условного или безусловного перехода до декодирования и выполнения инструкции перехода. Существует два основных метода предсказания переходов: * статический; * динамический. (ru)
  • 在電腦架構中,分支預測器(英語:Branch predictor)是一種數位電路,在分支指令执行结束之前猜測哪一路分支將會被執行,以提高处理器的指令流水线的效能。使用分支預測器的目的,在於改善指令管線化的流程,就像一家公司的員工提前預測公司所需要的東西,即交付不同單位進行準備工作,而那各個部門之間的等待交辦的時間大大地縮短,整個公司的效率就會提高了。現代使用指令管線化處理器的效能能夠提高,分支預測器对于现今的指令流水线微处理器获得高性能是非常关键的技術。 (zh)
  • Модуль передбачення умовних переходів (англ. Branch Prediction Unit) — пристрій, який визначає напрям розгалужень (передбачає, виконається умовний перехід, чи ні) в програмі, що наразі виконується. Входить до складу мікропроцесорів, які мають конвеєрну архітектуру. Передбачення розгалужень дозволяє робити попередню вибірку інструкцій та даних з пам'яті, а також виконувати інструкції, які розташовані після умовного переходу до того, коли він буде виконаний. Модуль передбачення є невід'ємною частиною усіх сучасних суперскалярних мікропроцесорів, бо в більшості випадків (точність передбачення переходів в сучасних процесорах перевищує 90 %) дозволяє оптимально використовувати обчислювальні ресурси процесора. Існує два базових методи передбачення переходів: статичний і динамічний. (uk)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 416129 (xsd:integer)
dbo:wikiPageLength
  • 40339 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1119722013 (xsd:integer)
dbo:wikiPageWikiLink
dbp:date
  • 2007-12-27 (xsd:date)
  • 2008-07-20 (xsd:date)
dbp:url
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • في معمارية الحاسوب متنبئ الفروع Branch Predictor هي دارة رقمية تحاول تخمين مسار الخطوة القادمة ضمن كتلة تجري معالجتها قبل ان يتم تحديدها بناء على نتيجة العملية السابقة «كمحاولة تخمين نتيجة حلقة if الشرطية قبل حساب الشرط». الغاية من متنبئ الفروع هي تسريع معالجة كتلة من الكود وكذلك تحسين تدفق البيانات ضمن انابيب التعليمات، متنبئ الفروع عامل حرج لتحقيق اداء بكفاءة عالية خصوصا لمعالجات x86. (ar)
  • Die Sprungvorhersage (englisch branch prediction) wird in der (Mikro-)Rechnerarchitektur verwendet und behandelt das Problem von Mikroprozessoren, alle Stufen ihrer Pipeline möglichst immer und sinnvoll auszulasten. (de)
  • コンピュータ・アーキテクチャにおける分岐予測(ぶんきよそく、Branch Prediction、ブランチプレディクション)とは、プログラム実行の流れの中で条件分岐命令が分岐するかしないかを予測することにより、命令パイプラインの効果を可能な限り維持し、性能を高めるためのCPU内の機能である。 (ja)
  • Branch prediction (av engelska "branch", gren och "prediction", förutsägelse) är inom datorarkitektur en pipelineoptimeringsteknik där processorn försöker förutse hur ett programflöde kommer förgrenas, för att instruktionerna där programflödet antas fortsätta. Implementationer av branch prediction delas in i statiska och dynamiska. * Statisk branch prediction: hoppförutsägelser baserar sig på hopptypsinstruktion. * Dynamisk branch prediction: under programkörning samlas statistik om hur programflödet förgrenar sig. Hoppförutsägelser utgår från den insamlade informationen. (sv)
  • 在電腦架構中,分支預測器(英語:Branch predictor)是一種數位電路,在分支指令执行结束之前猜測哪一路分支將會被執行,以提高处理器的指令流水线的效能。使用分支預測器的目的,在於改善指令管線化的流程,就像一家公司的員工提前預測公司所需要的東西,即交付不同單位進行準備工作,而那各個部門之間的等待交辦的時間大大地縮短,整個公司的效率就會提高了。現代使用指令管線化處理器的效能能夠提高,分支預測器对于现今的指令流水线微处理器获得高性能是非常关键的技術。 (zh)
  • Un predictor de salts és un mecanisme maquinari utilitzat en els processadors que utilitzen segmentació de la unitat de procés per reduir cicles de parada en el pipeline. Els salts condicionals introdueixen retard en aquests processadors, ja que normalment no s'avalua la condició del salt fins passades diverses etapes, el que fa que s'hagi de parar el llit, o que es puguin introduir instruccions en el pipeline que no han de ser executades, havent de convertir-se posteriorment en nops, i decrementat així el rendiment. (ca)
  • In computer architecture, a branch predictor is a digital circuit that tries to guess which way a branch (e.g., an if–then–else structure) will go before this is known definitively. The purpose of the branch predictor is to improve the flow in the instruction pipeline. Branch predictors play a critical role in achieving high performance in many modern pipelined microprocessor architectures such as x86. (en)
  • Un predictor de saltos (branch predictor en inglés) es un circuito digital utilizado en los procesadores que utilizan segmentación de la unidad de proceso para reducir ciclos de parada en la segmentación. Los saltos condicionales introducen retardo en estos procesadores, ya que normalmente no se evalúa la condición del salto hasta pasadas varias etapas, lo que hace que se tenga que parar el cauce, o que se puedan introducir instrucciones en la segmentación que no deben de ser ejecutadas, teniendo que convertirse posteriormente en , y decrementando así el rendimiento. (es)
  • In informatica, la predizione delle diramazioni (branch prediction) è il compito della BPU (Branch Prediction Unit), una componente della CPU che cerca di prevedere l'esito di un'operazione su cui si basa l'accettazione di una istruzione di salto condizionato, evitando rallentamenti che possono essere molto evidenti in una architettura con pipeline. (it)
  • La prédiction de branchement est une fonctionnalité d'un processeur qui lui permet de prédire le résultat d'un branchement. Cette technique permet à un processeur de rendre l'utilisation de son pipeline plus efficace. Avec cette technique, le processeur va faire de l’exécution spéculative : il va parier sur le résultat d'un branchement, et va poursuivre l’exécution du programme avec le résultat du pari. Si le pari échoue, les instructions chargées par erreur dans le pipeline sont annulées. Le processeur peut parier sur deux paramètres d'un branchement : (fr)
  • 분기 예측(영어: branch prediction)은 다음 실행될 조건문이 어떤 곳으로 분기할 것인지를 확실히 알게 되기 전에 미리 추측하는 CPU 기술이다. 분기 예측기(branch predictor)는 분기 예측을 수행하는 디지털 회로를 가리킨다. 분기 예측을 수행하는 목적은, 명령어 파이프라인이 일시적으로 정지되지 않도록 하는 것이다. 최신 x86 아키텍처와 같이 많은 수의 파이프라인을 사용하는 구조에서 분기 예측기는 전체적인 성능을 크게 향상시킬 수 있다. 조건 분기 명령이 명령어 파이프라인에 입력되면, 조건 분기의 다음 명령은 둘 중 하나로 정해진다. 만약 파이프라인이 조건 값의 계산이 끝날 때까지 대기한다면, 조건 분기 명령이 전체 파이프라인을 통과할 때까지 다음 명령은 파이프라인에서 수행되지 못하고 대기하게 될 것이다. 분기 예측기는 이런 낭비를 막기 위해 단순한 알고리즘에 따라 다음 명령을 미리 추론한 후 시킨다. 만약 분기 예측기의 예측이 맞으면 파이프라인은 낭비 없이 계속 수행되며, 예측이 틀릴 경우 미리 실행되던 명령이 파이프라인에서 모두 취소되고 올바른 명령이 다시 실행된다. (ko)
  • Branch prediction são conjuntos de técnicas implementadas em hardware ou software, que têm o objetivo de reduzir os conflitos de controle em processadores de arquitetura Pipeline, através da previsão correta de que os desvios condicionais vão desviar ou não, reduzindo atrasos no fluxo de instruções posteriores aos desvios, conhecidos como bolhas no pipeline. Quando ocorre qualquer desvio, as instruções anteriores a de desvios devem ser anuladas. Tal processo recebe o nome de Flush, onde registradores entre os estágios e sinais de controle são responsáveis por enviar instruções NOPs ou adiantamento de outras. (pt)
  • Модуль предсказания переходов (прогнозирования ветвлений) (англ. branch prediction unit) — устройство, входящее в состав микропроцессоров, имеющих конвейерную архитектуру, предсказывающее, будет ли выполнен условный переход в исполняемой программе. Предсказание ветвлений позволяет сократить время простоя конвейера за счёт предварительной загрузки и исполнения инструкций, которые должны выполниться после выполнения инструкции условного перехода. Прогнозирование ветвлений играет критическую роль, так как в большинстве случаев (точность предсказания переходов в современных процессорах превышает 90 %) позволяет оптимально использовать вычислительные ресурсы процессора. (ru)
  • Модуль передбачення умовних переходів (англ. Branch Prediction Unit) — пристрій, який визначає напрям розгалужень (передбачає, виконається умовний перехід, чи ні) в програмі, що наразі виконується. Входить до складу мікропроцесорів, які мають конвеєрну архітектуру. Передбачення розгалужень дозволяє робити попередню вибірку інструкцій та даних з пам'яті, а також виконувати інструкції, які розташовані після умовного переходу до того, коли він буде виконаний. Модуль передбачення є невід'ємною частиною усіх сучасних суперскалярних мікропроцесорів, бо в більшості випадків (точність передбачення переходів в сучасних процесорах перевищує 90 %) дозволяє оптимально використовувати обчислювальні ресурси процесора. (uk)
rdfs:label
  • متنبئ فروع (ar)
  • Predictor de salts (ca)
  • Sprungvorhersage (de)
  • Predictor de saltos (es)
  • Branch predictor (en)
  • Prédiction de branchement (fr)
  • Predizione delle diramazioni (it)
  • 分岐予測 (ja)
  • 분기 예측 (ko)
  • Branch prediction (pt)
  • Branch prediction (sv)
  • Предсказатель переходов (ru)
  • 分支預測器 (zh)
  • Модуль передбачення переходів (uk)
owl:differentFrom
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License