処理中

しばらくお待ちください...

PATENTSCOPE は、メンテナンスのため次の日時に数時間サービスを休止します。サービス休止: 土曜日 31.10.2020 (7:00 午前 CET)
設定

設定

出願の表示

1. WO2010134330 - 分岐予測装置、その分岐予測方法、コンパイラ、そのコンパイル方法及び分岐予測プログラム記録媒体

公開番号 WO/2010/134330
公開日 25.11.2010
国際出願番号 PCT/JP2010/003357
国際出願日 19.05.2010
IPC
G06F 9/38 2006.01
G物理学
06計算;計数
F電気的デジタルデータ処理
9プログラム制御のための装置,例.制御装置
06プログラム記憶方式を用いるもの,すなわちプログラムを受取りまたは保持するために処理装置の内部記憶装置を用いるもの
30機械語命令を実行するための装置,例.命令のデコード
38命令の同時実行,例.パイプライン,ルック・アヘッド
CPC
G06F 9/3806
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
38Concurrent instruction execution, e.g. pipeline, look ahead
3802Instruction prefetching
3804for branches, e.g. hedging, branch folding
3806using address prediction, e.g. return stack, branch history buffer
G06F 9/3844
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
38Concurrent instruction execution, e.g. pipeline, look ahead
3836Instruction issuing, e.g. dynamic instruction scheduling, out of order instruction execution
3842Speculative instruction execution
3844using dynamic prediction, e.g. branch history table
出願人
  • パナソニック株式会社 PANASONIC CORPORATION [JP]/[JP] (AllExceptUS)
  • 天野克重 AMANO, Katsushige (UsOnly)
発明者
  • 天野克重 AMANO, Katsushige
代理人
  • 中島司朗 NAKAJIMA, Shiro
優先権情報
2009-12058319.05.2009JP
公開言語 (言語コード) 日本語 (JA)
出願言語 (言語コード) 日本語 (JA)
指定国 (国コード)
発明の名称
(EN) BRANCH PREDICTING DEVICE, BRANCH PREDICTING METHOD THEREOF, COMPILER, COMPILING METHOD THEREOF, AND MEDIUM FOR STORING BRANCH PREDICTING PROGRAM
(FR) DISPOSITIF DE PRÉDICTION DES BRANCHEMENTS, PROCÉDÉ CORRESPONDANT DE PRÉDICTION DES BRANCHEMENTS, COMPILATEUR, PROCÉDÉ CORRESPONDANT DE COMPILATION, ET SUPPORT DE STOCKAGE POUR LOGICIEL DE PRÉDICTION DES BRANCHEMENTS
(JA) 分岐予測装置、その分岐予測方法、コンパイラ、そのコンパイル方法及び分岐予測プログラム記録媒体
要約
(EN)
A branch predicting mechanism (1000) contained in an information processing device (100) is provided with an argument stack (113) that stacks, at the timing when a function is called, the arguments of the function. In the argument stack (113), arguments related to branching commands within a function are stored. The branch predicting mechanism (1000) stores, in a branching result buffer (116), information that has; the address where the branching command is located; the forefront value of the argument stack (113) at the timing when the branching command was executed; and the branching destination address at the time the branching command was executed; made to corresponds to each other. A branch predicting unit (117) obtains the address where the branching command is located when the execution of the branching command was notified, and the forefront value of the argument stack (113) at that time; conduct searching whether there is a branching destination that corresponds to that address and forefront value within the branching result buffer (116); and predicts the branching destination that was obtained as a result of the searching, as the branching destination of the branching command to be executed. A command fetching unit (118) will fetch the command that exists at the branching destination predicted by the branch predicting unit (117).
(FR)
La présente invention concerne un mécanisme de prédiction des branchements (1000) qui est contenu dans un dispositif informatique (100) et qui est pourvu d'une pile d'arguments (113) qui empile les arguments d'une fonction lors de l'appel de celle-ci. Les arguments se rapportant aux instructions de branchement à l'intérieur d'une fonction sont stockés dans la pile d'arguments (113). Le mécanisme de prédiction des branchements (1000) range dans un tampon des résultats des branchements (116), de façon à faire correspondre entre elles, d'une part une information comportant l'adresse où se situe l'instruction de branchement, d'autre part la valeur de premier rang de la pile d'arguments (113) lors de l'exécution de l'instruction de branchement, et enfin l'adresse de destination de branchement lors de l'exécution de l'instruction de branchement. À cet effet, un module de prédiction des branchements (117) se procure, d'une part l'adresse où se trouve l'instruction de branchement au moment où a été notifiée l'exécution de l'instruction de branchement, et d'autre part la valeur de premier rang de la pile d'arguments (113) à ce moment-là. Le module de prédiction des branchements (117) recherche ensuite dans le tampon de résultats des branchements une éventuelle destination de branchement qui correspond à cette adresse et une éventuelle valeur de premier rang. Le module de prédiction des branchements (117) utilise enfin comme destination de branchement de l'instruction de branchement à exécuter la destination de branchement issue de la recherche. Il ne reste plus au module d'extraction des instructions (118) qu'à extraire l'instruction se trouvant à l'adresse de destination de branchement prédite par le module de prédiction des branchements (117).
(JA)
情報処理装置100に含まれる分岐予測機構1000は、関数呼び出しを行うタイミングで、当該関数の引数をスタックする引数スタック113を備える。引数スタック113には、関数内の分岐命令に関連する引数が格納される。分岐予測機構1000は、分岐命令が位置するアドレスと、その分岐命令が実行されたタイミングにおける引数スタック113の先頭値と、分岐命令が実行されたときの分岐先のアドレスとを対応付けた情報を分岐結果バッファ116に記憶している。分岐予測部117は、分岐命令の実行が通知されたときに、当該分岐命令の位置するアドレスと、そのときの引数スタック113の先頭値とを取得して、当該アドレスと先頭値とに対応する分岐先が分岐結果バッファ116にあるかどうかを検索し、検索して得られた分岐先を実行される分岐命令の分岐先として予測する。命令フェッチ部118は、分岐予測部117が予測した分岐先にある命令をフェッチする。
国際事務局に記録されている最新の書誌情報