JP4801725B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP4801725B2 JP4801725B2 JP2008502600A JP2008502600A JP4801725B2 JP 4801725 B2 JP4801725 B2 JP 4801725B2 JP 2008502600 A JP2008502600 A JP 2008502600A JP 2008502600 A JP2008502600 A JP 2008502600A JP 4801725 B2 JP4801725 B2 JP 4801725B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- unit
- processing unit
- input
- priority
- 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
- 238000000034 method Methods 0.000 title claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000003111 delayed effect Effects 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 5
- 230000002411 adverse Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/507—Low-level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Bus Control (AREA)
Description
また、本発明は、パイプラインへのコマンドのリトライ(再投入)を繰り返す状況となるのを回避するための技術を提供することを第2の目的とする。
図3は、本実施の形態によるコマンド選択装置、及びコマンド投入装置を搭載したプロセッサの構成を説明する図である。
そのコントローラ24は、コマンド・キュー格納用の4つのバッファ401a〜dを備えている。それにより、パイプライン部22の実行結果として出力されるコマンドは、その優先度に応じて何れかのバッファ401に格納される。各バッファ401a〜dに格納されたコマンドは、FIFO(First-In First-Out )方式で取り出される。ここでは、各バッファ401a〜dに格納されたコマンド・キューの優先順位は、図中、上方に位置するほど高いと想定する。その想定により、バッファ401aに格納されたコマンド・キューが最も優先順位が高いことになる。
バッファ401bから読み出されたコマンドはANDゲート422にそのまま入力される。各カウンタ406c〜dの信号(例えばキャリービットの信号)は反転されて入力される。このことから、そのコマンドは、各カウンタ406c〜dが出力する信号がLであればANDゲート422から出力される。
Claims (4)
- 投入されたコマンドを処理する処理部と、
前記処理部が処理したコマンドを優先順位が割り当てられた複数のキューのいずれかに保持する保持部と、
前記複数のキューのうち優先順位が最も高いキューを除いて、保持されたコマンドが選択されなかった非選択回数をキュー毎に計数する計数部と、
乱数を発生する乱数部と、
前記乱数部が生成した乱数が所定数に合致した場合、前記複数のキューに割り当てられた優先順位を、前記計数部が計数した非選択回数が所定値に達したキューの優先順位が最も高くなるように変更する変更部と、
前記複数のキューに保持されたコマンドのいずれかを、優先順位に基づいて選択する選択部を有することを特徴とする演算処理装置。 - 前記処理部はさらに、
投入されたコマンドを処理できない場合にリトライを発生し、
前記演算処理装置はさらに、
コマンドを前記処理部に入力するとともに、優先度が割り当てられた複数の入力ポートと、
前記処理部に投入されたコマンドにリトライが発生したかを入力ポート毎に監視する監視部と、
コマンドを遅延させる遅延時間を入力ポート毎に指定する遅延部と、
いずれかの入力ポートから前記処理部に投入されたコマンドにリトライが発生した旨を前記監視部が検出した場合、前記遅延部が指定する遅延時間に基づき、前記入力ポートからのコマンドを遅延させる調整部と、
前記調整部が遅延させたコマンドを、前記優先度に基づいて前記処理部に投入する投入部を有することを特徴とする請求項1記載の演算処理装置。 - 投入されたコマンドを処理する処理部と、前記処理部が処理したコマンドを優先順位が割り当てられた複数のキューのいずれかに保持する保持部とを有する演算処理装置の制御方法において、
前記演算処理装置が有する計数部が、前記複数のキューのうち優先順位が最も高いキューを除いて、保持されたコマンドが選択されなかった非選択回数をキュー毎に計数し、
前記演算処理装置が有する乱数部が、乱数を発生し、
前記乱数部が生成した乱数が所定数に合致した場合、前記演算処理装置が有する変更部が、前記複数のキューに割り当てられた優先順位を、前記計数部が計数した非選択回数が所定値に達したキューの優先順位が最も高くなるように変更し、
前記演算処理装置が有する選択部が、前記複数のキューに保持されたコマンドのいずれかを、優先順位に基づいて選択することを特徴とする演算処理装置の制御方法。 - 前記処理部はさらに、
投入されたコマンドを処理できない場合にリトライを発生し、
前記演算処理装置の制御方法はさらに、
前記演算処理装置が有する優先度が割り当てられた複数の入力ポートに、コマンドを入力し、
前記演算処理装置が有する監視部が、前記処理部に投入されたコマンドにリトライが発生したかを入力ポート毎に監視し、
前記演算処理装置が有する調整部が、いずれかの入力ポートから前記処理部に投入されたコマンドにリトライが発生した旨を前記監視部が検出した場合、指定されたコマンドを遅延させる遅延時間に基づき、前記入力ポートからのコマンドを遅延させ、
前記演算処理装置が有する投入部が、前記調整部が遅延させたコマンドを、前記優先度に基づいて前記処理部に投入することを特徴とする請求項3記載の演算処理装置の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/303788 WO2007099613A1 (ja) | 2006-02-28 | 2006-02-28 | コマンド選択方法、装置、コマンド投入方法、及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007099613A1 JPWO2007099613A1 (ja) | 2009-07-16 |
JP4801725B2 true JP4801725B2 (ja) | 2011-10-26 |
Family
ID=38458737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008502600A Expired - Fee Related JP4801725B2 (ja) | 2006-02-28 | 2006-02-28 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8161274B2 (ja) |
JP (1) | JP4801725B2 (ja) |
WO (1) | WO2007099613A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334641A (ja) * | 2006-06-15 | 2007-12-27 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP5413098B2 (ja) * | 2009-09-29 | 2014-02-12 | 日本電気株式会社 | 調停優位性の切り替え方法、調停装置、及びプロセッサ |
WO2011053891A2 (en) * | 2009-10-31 | 2011-05-05 | Rutgers, The State University Of New Jersey | Virtual flow pipelining processing architecture |
US20110321052A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Mutli-priority command processing among microcontrollers |
US9154556B1 (en) | 2011-12-27 | 2015-10-06 | Emc Corporation | Managing access to a limited number of computerized sessions |
EP2807567B1 (en) * | 2012-01-27 | 2018-03-07 | Marvell World Trade Ltd. | Systems and methods for dynamic priority control |
JP5955385B2 (ja) * | 2012-06-12 | 2016-07-20 | 三菱電機株式会社 | 情報処理システム |
JP6179369B2 (ja) * | 2013-11-22 | 2017-08-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP6201812B2 (ja) * | 2014-02-27 | 2017-09-27 | 大日本印刷株式会社 | 情報処理装置、及び情報処理方法 |
US10642668B2 (en) * | 2018-04-18 | 2020-05-05 | Open Text GXS ULC | Producer-side prioritization of message processing |
CN108663971A (zh) * | 2018-06-01 | 2018-10-16 | 北京汉能光伏投资有限公司 | 命令转发方法及装置、太阳能系统和中央控制器 |
US20200004584A1 (en) * | 2018-06-28 | 2020-01-02 | William Burroughs | Hardware Queue Manager for Scheduling Requests in a Processor |
US11055128B2 (en) | 2018-07-30 | 2021-07-06 | Open Text GXS ULC | System and method for request isolation |
KR20220082563A (ko) * | 2020-12-10 | 2022-06-17 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02143361A (ja) * | 1988-11-25 | 1990-06-01 | Nec Corp | 処理順序決定回路 |
JPH09198264A (ja) * | 1995-12-06 | 1997-07-31 | Internatl Business Mach Corp <Ibm> | データ処理システム用の動的待ち行列優先順位づけのシステムおよび方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371893A (en) * | 1991-12-27 | 1994-12-06 | International Business Machines Corporation | Look-ahead priority arbitration system and method |
JPH06119282A (ja) * | 1992-10-05 | 1994-04-28 | Mitsubishi Electric Corp | デバイス制御装置及びその優先処理方式 |
US5896539A (en) * | 1997-04-14 | 1999-04-20 | International Business Machines Corporation | Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities |
JPH10334042A (ja) * | 1997-05-30 | 1998-12-18 | Nec Eng Ltd | バス調停制御装置及びバス調停制御方法並びにバス調停制御プログラムを記録した記録媒体 |
US6157963A (en) * | 1998-03-24 | 2000-12-05 | Lsi Logic Corp. | System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients |
US6304906B1 (en) * | 1998-08-06 | 2001-10-16 | Hewlett-Packard Company | Method and systems for allowing data service system to provide class-based services to its users |
US6658485B1 (en) * | 1998-10-19 | 2003-12-02 | International Business Machines Corporation | Dynamic priority-based scheduling in a message queuing system |
CN1318993C (zh) * | 2001-10-16 | 2007-05-30 | 皇家飞利浦电子股份有限公司 | 计算机系统和操作计算机系统的方法 |
US7401208B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor |
-
2006
- 2006-02-28 JP JP2008502600A patent/JP4801725B2/ja not_active Expired - Fee Related
- 2006-02-28 WO PCT/JP2006/303788 patent/WO2007099613A1/ja active Application Filing
-
2008
- 2008-08-27 US US12/199,447 patent/US8161274B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02143361A (ja) * | 1988-11-25 | 1990-06-01 | Nec Corp | 処理順序決定回路 |
JPH09198264A (ja) * | 1995-12-06 | 1997-07-31 | Internatl Business Mach Corp <Ibm> | データ処理システム用の動的待ち行列優先順位づけのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007099613A1 (ja) | 2007-09-07 |
JPWO2007099613A1 (ja) | 2009-07-16 |
US8161274B2 (en) | 2012-04-17 |
US20090064153A1 (en) | 2009-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4801725B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US6240458B1 (en) | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system | |
JP5270077B2 (ja) | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 | |
JP5498505B2 (ja) | データバースト間の競合の解決 | |
JP5895840B2 (ja) | マルチプロセッサシステム、実行制御方法、実行制御プログラム | |
JP2007241918A (ja) | プロセッサ装置 | |
US8086766B2 (en) | Support for non-locking parallel reception of packets belonging to a single memory reception FIFO | |
JP2004199698A (ja) | 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法 | |
JP4829038B2 (ja) | マルチプロセッサシステム | |
US7007138B2 (en) | Apparatus, method, and computer program for resource request arbitration | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
JP4814653B2 (ja) | リオーダリング装置 | |
JP4846482B2 (ja) | バスアービトレーション装置 | |
JP5650441B2 (ja) | 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム | |
JP2013206095A (ja) | データ処理装置及びデータ処理装置の制御方法 | |
JP4376787B2 (ja) | イベント通知方法、デバイス及びプロセッサシステム | |
JP6142783B2 (ja) | メモリコントローラ,情報処理装置及びメモリコントローラの制御方法 | |
US8667233B2 (en) | Competition testing device | |
JPWO2010122607A1 (ja) | 記憶制御装置及びその制御方法 | |
JP5794632B2 (ja) | メモリコントローラ、メモリ診断方法及びプロセッサシステム | |
JP6161395B2 (ja) | 演算装置 | |
JP3956652B2 (ja) | プロセッサシステム | |
US20230409323A1 (en) | Signal processing apparatus and non-transitory computer-readable storage medium | |
JP3882791B2 (ja) | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 | |
JP5505963B2 (ja) | ベクトル処理装置及びベクトル演算処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110711 |
|
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: 20110802 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |