JP5640805B2 - 演算処理装置および演算処理装置におけるスロット制御方法 - Google Patents
演算処理装置および演算処理装置におけるスロット制御方法 Download PDFInfo
- Publication number
- JP5640805B2 JP5640805B2 JP2011037177A JP2011037177A JP5640805B2 JP 5640805 B2 JP5640805 B2 JP 5640805B2 JP 2011037177 A JP2011037177 A JP 2011037177A JP 2011037177 A JP2011037177 A JP 2011037177A JP 5640805 B2 JP5640805 B2 JP 5640805B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- type
- slot
- weight
- executing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
+(2つ後ろの命令がMULなら重みM2、そうでないなら0)
+(2つ後ろの命令がLDSTなら重みL2、そうでないなら0)
+(2つ後ろの命令がMULなら重みM2、そうでないなら0)
+(スロット0が命令を実行中であればM3、そうでないなら0)
+(スロット1が命令を実行中であればM4、そうでないなら0)
+(2つ後ろの命令がLDSTなら重みL2、そうでないなら0)
+(スロット2が命令を実行中であればL3、そうでないなら0)
+(スロット3が命令を実行中であればL4、そうでないなら0)
スロット11の終了時刻=スロット11の現在実行中の命令の残りサイクル数(無い場合は0)+MUL系命令の実行サイクル数+1
スロット13の終了時刻=スロット13の現在実行中の命令の残りサイクル数(無い場合は0)+LDST系命令の実行サイクル数+1
+(2つ後ろの命令がMULなら重みM2、そうでないなら0)
+(2つ後ろの命令がLDSTなら重みL2、そうでないなら0)
(付記1)
複数の異なる演算スロットを有し、マルチサイクル動作を行う演算処理装置であって、
演算する命令をプリデコードしてその種類を識別するプリデコード部と、
前記命令の種類に対応した重み設定値を格納する重み設定レジスタと、
前記識別された命令の種類および前記重み設定値を受け取り、前記演算する命令に対して重みづけ値を計算する重みづけ計算部と、
前記重みづけ計算部の計算結果に基づいて、前記複数の異なる演算スロットのいずれかを選択するスロット選択部と、
を有することを特徴とする演算処理装置。
前記複数の異なる演算スロットは、ALU系処理およびMUL系処理を実行可能な少なくとも1つのMULスロット、および、前記ALU系処理およびLDST系処理を実行可能な少なくとも1つのLDSTスロットを含み、
前記プリデコード部は、前記演算する命令が命令キューに存在する間に、該演算する命令がMUL系命令か、LDST系命令か、或いは、ALU系命令かを識別するプリデコード結果を出力し、
前記重み設定レジスタは、前記MUL系命令、前記LDST系命令および前記ALU系命令の重み設定値を格納し、
前記重みづけ計算部は、前記プリデコード部からの前記プリデコード結果、および、前記重み設定レジスタからの前記重み設定値を受け取り、前記MUL系命令および前記LDST系命令の重みづけ値を計算し、
前記スロット選択部は、前記重みづけ計算部の計算結果に基づいて、前記MULスロットまたは前記LDSTスロットのいずれかを選択する、
ことを特徴とする付記1に記載の演算処理装置。
前記重みづけ計算部は、現在の命令の後ろの命令を探索して、前記重みづけ値を計算する、
ことを特徴とする付記2に記載の演算処理装置。
前記重みづけ計算部は、現在の命令の後ろの命令、および、前記各スロットが命令を実行中であるかどうかの現在の使用状況を探索して、前記重みづけ値を計算する、
ことを特徴とする付記2に記載の演算処理装置。
前記重みづけ計算部は、現在の命令の後ろの命令の種類およびその命令の実行にかかる時間、並びに、前記各スロットが命令を実行中であるかどうかおよびその実行している命令の終了予想時間を受け取って、前記重みづけ値を計算する、
ことを特徴とする付記2に記載の演算処理装置。
複数の異なる演算スロットを有し、マルチサイクル動作を行う演算処理装置のスロット制御方法であって、
演算する命令をプリデコードして該演算する命令の種類を識別し、
前記演算する命令の種類および前記命令の種類に対応した重み設定値を受け取り、前記演算する命令に対して重みづけ値を計算し、
前記計算された重みづけ値に基づいて、前記複数の異なる演算スロットのいずれかを選択する、
ことを特徴とする演算処理装置のスロット制御方法。
前記複数の異なる演算スロットは、ALU系処理およびMUL系処理を実行可能な少なくとも1つのMULスロットと、前記ALU系処理およびLDST系処理を実行可能な少なくとも1つのLDSTスロットを含み、
前記演算する命令のプリデコードは、該演算する命令が命令キューに存在する間に、該演算する命令がMUL系命令か、LDST系命令か、或いは、ALU系命令かを識別するプリデコード結果を出力し、
前記演算する命令に対する重みづけ値の計算は、前記プリデコード結果、および、前記MUL系命令,前記LDST系命令および前記ALU系命令に対する重み設定値を受け取り、前記MUL系命令および前記LDST系命令の重みづけ値を計算し、
前記演算スロットの選択は、前記計算された重みづけ値に基づいて、前記MULスロットまたは前記LDSTスロットのいずれかを選択する、
ことを特徴とする付記6に記載の演算処理装置のスロット制御方法。
新たに実行可能なALU系命令が到着したとき、当該ALU系命令の後ろの後続命令を識別し、それがALU系命令ではなかった場合に、前記後続命令とは異なる制限を有する演算スロットを優先的に選択する、
ことを特徴とする付記7に記載の演算処理装置のスロット制御方法。
新たに実行可能なALU系命令が到着したとき、当該ALU系命令の後ろの後続命令を識別し、それがALU系命令ではなかった場合に、現在の演算スロットの状況から前記後続命令を配置した場合の演算スロットの状況を予測し、前記MULスロットまたは前記LDSTスロットのうち空きが多い方を優先的に選択する、
ことを特徴とする付記7に記載の演算処理装置のスロット制御方法。
新たに実行可能なALU系命令が到着したとき、当該ALU系命令の後ろの後続命令を識別し、それがALU系命令ではなかった場合に、前記後続命令が最も早く終了する演算スロットの割り当てを計算し、予測結果に基づいて当該ALU系命令の演算スロットを選択する、
ことを特徴とする付記7に記載の演算処理装置のスロット制御方法。
3 デコード部
4,40 スロット選択部
5,5’ 使用スロットのプリデコード部(プリデコード部)
6,6’,6”,60 重みづけ計算部
7,7’,70 重み設定レジスタ
10,11,110,111 MULスロット(演算スロット)
12,13,112,113 LDSTスロット(演算スロット)
14 ALUスロット(演算スロット)
15 スカラースロット(演算スロット)
103 デコード部(スロット選択部)
104 命令メモリ
105 レジスタ
106 メモリアクセス制御部
107 データメモリ
Claims (5)
- 1つ以上の第1の種類の演算スロットと、1つ以上の第2の種類の演算スロットと、プリデコード部と、重み設定レジスタと、重みづけ計算部と、スロット選択部とを備えた演算処理装置であって、
前記第1の種類の演算スロットは、第1の種類の命令と第3の種類の命令とを実行可能なものであって、命令を実行する際にはマルチサイクル動作を行うものであり、
前記第2の種類の演算スロットは、前記第2の種類の命令と第3の種類の命令とを実行可能なものであって、命令を実行する際にはマルチサイクル動作を行うものであり、
前記スロット選択部により前記第3の種類の命令を実行させる演算スロットを選択するに際して、前記プリデコード部は、当該第3の種類の命令に後続する所定数の命令をプリデコードして、当該所定数の命令の種類を識別するものであり、
前記重み設定レジスタは、前記第1の種類の命令と前記第2の種類の命令のそれぞれに対応した重み設定値を格納するものであり、
前記重みづけ計算部は、前記プリデコード部により識別された前記所定数の命令の種類と、前記重み設定レジスタからの重み設定値とに少なくとも基づいて、前記第1の種類の演算スロットに対応した重みづけ値と、前記第2の種類の演算スロットに対応した重みづけ値を計算するものであり、
前記スロット選択部は、前記重みづけ計算部が計算した、前記第1の種類の演算スロットに対応した重みづけ値と、前記第2の種類の演算スロットに対応した重みづけ値を比較することに少なくとも基づいて、前記第3の種類の命令を実行させる演算スロットを選択するものである、
ことを特徴とする演算処理装置。 - 前記第1の種類の演算スロットはMULスロットであり、前記第2の種類の演算スロットはLDSTスロットであり、前記第1の種類の命令はMUL系命令であり、前記第2の種類の命令はLDST系命令であり、前記第3の種類の命令はALU系命令である、
ことを特徴とする請求項1に記載の演算処理装置。 - 第1の種類の命令と第3の種類の命令とを実行可能であり、命令を実行する際にはマルチサイクル動作を行う、1つ以上の第1の種類の演算スロットと、第2の種類の命令と第3の種類の命令とを実行可能であり、命令を実行する際にはマルチサイクル動作を行う、1つ以上の第2の種類の演算スロットとを備えた演算処理装置におけるスロット制御方法であって、
前記第3の種類の命令を実行させる演算スロットを選択するに際して、当該第3の種類の命令に後続する所定数の命令をプリデコードして、当該所定数の命令の種類を識別し、
識別された前記所定数の命令の種類と、前記第1の種類の命令と前記第2の種類の命令のそれぞれに対応した重み設定値とに少なくとも基づいて、第1の種類の演算スロットに対応した重みづけ値と、前記第2の種類の演算スロットに対応した重みづけ値を計算し、
計算された、前記第1の種類の演算スロットに対応した重みづけ値と、前記第2の種類の演算スロットに対応した重みづけ値を比較することに少なくとも基づいて、前記第3の種類の命令を実行させる演算スロットを選択する、
ことを特徴とする演算処理装置におけるスロット制御方法。 - 前記第1の種類の演算スロットはMULスロットであり、前記第2の種類の演算スロットはLDSTスロットであり、前記第1の種類の命令はMUL系命令であり、前記第2の種類の命令はLDST系命令であり、前記第3の種類の命令はALU系命令である、
ことを特徴とする請求項3に記載の演算処理装置におけるスロット制御方法。 - 前記第3の種類の命令を実行させる演算スロットを選択するに際して、当該第3の種類の命令に後続する前記所定数の命令に前記第1の種類の命令が含まれると、前記第1の種類の演算スロットに対応した重みづけ値は、より高くなるものであり、
前記第3の種類の命令を実行させる演算スロットを選択するに際して、当該第3の種類の命令に後続する前記所定数の命令に前記第2の種類の命令が含まれると、前記第2の種類の演算スロットに対応した重みづけ値は、より高くなるものであり、
計算された、前記第1の種類の演算スロットに対応した重みづけ値と、前記第2の種類の演算スロットに対応した重みづけ値を比較することに少なくとも基づいて、前記第3の種類の命令を実行させる演算スロットを選択するに際して、一方の重みづけ値が他方の重みづけ値よりも低ければ、その低いほうの重みづけ値に対応する種類の演算スロットを、前記第3の種類の命令を実行させる演算スロットとして優先して選択するものである、
ことを特徴とする請求項3または請求項4に記載の演算処理装置におけるスロット制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011037177A JP5640805B2 (ja) | 2011-02-23 | 2011-02-23 | 演算処理装置および演算処理装置におけるスロット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011037177A JP5640805B2 (ja) | 2011-02-23 | 2011-02-23 | 演算処理装置および演算処理装置におけるスロット制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012174114A JP2012174114A (ja) | 2012-09-10 |
JP5640805B2 true JP5640805B2 (ja) | 2014-12-17 |
Family
ID=46976951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011037177A Expired - Fee Related JP5640805B2 (ja) | 2011-02-23 | 2011-02-23 | 演算処理装置および演算処理装置におけるスロット制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5640805B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002555A (ja) * | 2012-06-18 | 2014-01-09 | Fujitsu Ltd | プロセッサ |
CN110825440B (zh) * | 2018-08-10 | 2023-04-14 | 昆仑芯(北京)科技有限公司 | 指令执行方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59771A (ja) * | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | デ−タ処理装置における演算処理部選択制御方式 |
JPH05127901A (ja) * | 1991-11-08 | 1993-05-25 | Matsushita Electric Ind Co Ltd | プロセツサ |
JPH07295810A (ja) * | 1994-04-27 | 1995-11-10 | Toshiba Corp | 命令列最適化処理方法及び装置 |
-
2011
- 2011-02-23 JP JP2011037177A patent/JP5640805B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012174114A (ja) | 2012-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3587256B2 (ja) | コンピュータ装置 | |
US7590830B2 (en) | Method and structure for concurrent branch prediction in a processor | |
US7269712B2 (en) | Thread selection for fetching instructions for pipeline multi-threaded processor | |
US5790822A (en) | Method and apparatus for providing a re-ordered instruction cache in a pipelined microprocessor | |
US7725684B2 (en) | Speculative instruction issue in a simultaneously multithreaded processor | |
CN108170471B (zh) | 基于类型的优先化指令 | |
US7949855B1 (en) | Scheduler in multi-threaded processor prioritizing instructions passing qualification rule | |
JP2908598B2 (ja) | 情報処理装置 | |
JP2531495B2 (ja) | ス―パ―スカラ・プロセッサ・システムにおいてブランチ・ヒストリ予測精度を向上させる方法およびシステム | |
US8095779B2 (en) | System and method for optimization within a group priority issue schema for a cascaded pipeline | |
US20030154358A1 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
US11023243B2 (en) | Latency-based instruction reservation station clustering in a scheduler circuit in a processor | |
JP5209933B2 (ja) | データ処理装置 | |
US10846092B2 (en) | Execution of micro-operations | |
US7194603B2 (en) | SMT flush arbitration | |
US20120047352A1 (en) | Processor | |
JP5640805B2 (ja) | 演算処理装置および演算処理装置におけるスロット制御方法 | |
US20110276979A1 (en) | Non-Real Time Thread Scheduling | |
US9430244B1 (en) | Run-time code parallelization using out-of-order renaming with pre-allocation of physical registers | |
JP7205174B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US7577824B2 (en) | Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution | |
US5765017A (en) | Method and system in a data processing system for efficient management of an indication of a status of each of multiple registers | |
US20190057093A1 (en) | Ranking items | |
US11915002B2 (en) | Providing extended branch target buffer (BTB) entries for storing trunk branch metadata and leaf branch metadata | |
US20100106945A1 (en) | Instruction processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140905 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140930 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141013 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5640805 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |