JP5494925B2 - 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 - Google Patents
半導体集積回路、情報処理装置およびプロセッサ性能保証方法 Download PDFInfo
- Publication number
- JP5494925B2 JP5494925B2 JP2009167503A JP2009167503A JP5494925B2 JP 5494925 B2 JP5494925 B2 JP 5494925B2 JP 2009167503 A JP2009167503 A JP 2009167503A JP 2009167503 A JP2009167503 A JP 2009167503A JP 5494925 B2 JP5494925 B2 JP 5494925B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory
- request
- wait
- cycle
- 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.)
- Active
Links
Images
Landscapes
- Bus Control (AREA)
Description
全種類のメモリにおいて、アクセスの中断・再開が可能であるわけではないので、もし可能でないメモリの場合には、メモリアクセス動作が保証できない。このような中断・再開が不能であるメモリの一例としては、DRAM、DDRSRAM、一部のSRAMなどが挙げられる。
尚、無論、中断・再開が可能なメモリに対しては、優先度の高いプロセッサの性能を上記技術と同等に保証することが可能である。
本発明は、その好ましい一実施の形態の半導体集積回路(半導体集積装置)によれば、複数のプロセッサと、バスと、アービタと、メモリI/Fとを備え、アービタとメモリI/Fとが接続されている。メモリI/Fには、優先度に基づいたメモリアクセスの中断と再開を行う回路が設けられている。また、半導体集積回路は、メモリI/Fに所望のメモリを接続し、情報処理装置として使用される。
装置は、中断・再開に関し、例えば、読出しから書込みへの切替に1サイクル必要であるといった、待ちサイクルを仕様として必要とされるメモリを利用する場合がある。あるいは、ロックアクセスなど、アクセスによっては待ちが生じる可能性がある。
メモリI/F400は、このような待ちが発生する場合において、その待ちサイクルをプロセッサ毎にカウントする。そして、そのカウントがある閾値になると、アービタ200へその情報(待ちサイクル情報)を通知する。当該通知は、バスラインと異なるラインから情報として送っても良いし、プロセッサ毎に要求不受理信号のラインを設けて電圧のhigh又はLowを用いて通知するようにしてもよい。
その結果、性能保証を行いたいプロセッサをサイクル単位で制御することが可能となる。
また、上記周期がすぎれば、その待ちをゼロにリセットし、待ちサイクル情報(又は要求不受理信号)を用いて通知を行なっている場合にはアービタ200への通知も取り消す。その後、新たな周期における待ちサイクルの計測を同様に繰り返す。周期や閾値の設定、待ちのリセットは、一般のタイマー装置をそのまま利用することができる。なお、アービタ200への通知タイミングは、閾値を超えた場合について説明したものの、無論、それより早めたりするなど、システムに応じて、いかようにも変更可能である。
ステップ1(S1):メモリI/F400は、バス300を介してCPUnからリード要求を受理し、リード要求バッファ420Pnへと保存する。
ステップ2(S2):リード要求バッファ420Pnは、リード要求選択部450へ当該要求を渡す。
ステップ3(S3):リード要求選択部450は、メモリ500へ当該リード要求を発行する。
ステップ4(S4):メモリ500からの読出データを、リード応答バッファ410Pnへと保存する。
ステップ5(S5):リード応答バッファ410Pnは、当該要求への応答を、バス300を介してCPUnへと返す。
ステップ2(S2):リード要求バッファ420Pnは、リード要求選択部450へ当該要求を渡す。
ステップ3(S3):リード要求選択部450は、CPUnのリード要求をメモリへ発行する。
ステップ4(S4):メモリI/F400は、CPU0からリード要求を受理し、そして、リード要求バッファ420P0へと保存する。
ステップ5(S5):リード要求バッファ420P0は、リード要求選択部450へ当該要求を渡す。
ステップ7(S7):リード要求選択部450は、要求の中断にあたり、待ちサイクルを待ちサイクルカウンタ470へと通知する。このとき、待ちサイクルがなければ通知は省略できる。このタイミングで閾値を超えた場合には、サイクルカウンタ470は、閾値を超えたプロセッサについてアービタ200へ通知を行う。
ステップ9(S9):メモリ500からの読出データを、リード応答バッファ410P0へと保存する。
ステップ10(S10):リード応答バッファ410P0は、当該要求への応答を、バス300を介してCPU0へと返す。
ステップ11(S11):リード要求選択部450は、リード中断バッファ451からさきほど保存したCPUnのリード要求情報を受理する。
ステップ12(S12):リード要求選択部450は、プロセッサ100Pnのリード要求をメモリへ発行する。
ステップ13(S13):メモリ500からの読出データを、リード応答バッファ410Pnへと保存する。
ステップ14(S14):リード応答バッファ410Pnは、当該要求への応答を、バス300を介してCPUnへと返す。
ステップ2(S2):ライト要求バッファ430Pnは、ライト要求選択部460へ当該要求を渡す。
ステップ3(S3):ライト要求選択部460は、メモリ500へ当該ライト要求を発行する。
ステップ4(S4):ライト要求選択部460の受理に伴い、当該ライト要求への応答をライト応答バッファ440Pnへと保存する。
ステップ5(S5):ライト応答バッファ440Pnは、当該要求への応答を、バス300を介してCPUnへと返す。
ステップ2(S2):ライト要求バッファ430Pnは、ライト要求選択部460へ当該要求を渡す。
ステップ3(S3):ライト要求選択部460は、CPUnのライト要求をメモリへ発行する。
ステップ4(S4):ライト要求選択部460の受理に伴い、当該ライト要求への応答をライト応答バッファ440Pnへと保存する。
ステップ5(S5):ライト応答バッファ440Pnは、当該要求への応答を、バス300を介して、CPUnへと返す。
ステップ6(S6):メモリI/F400は、CPU0からライト要求を受理し、そして、ライト要求バッファ430P0へと保存する。
ステップ7(S7):ライト要求バッファ430P0は、ライト要求選択部460へ当該要求を渡す。
ステップ9(S9):ライト要求選択部460は、要求の中断にあたり、待ちサイクルを待ちサイクルカウンタ470へと通知する。このとき、待ちサイクルがなければ通知は省略できる。
ステップ10(S10):待ちサイクルカウント470は、ここでCPU0の待ちサイクルが規定の閾値以上になったことを検知してアービタ200へ通知する。無論、規定した値以下であれば、このステップは必要ない。
ステップ12(S12):ライト要求選択部460の受理に伴い、当該ライト要求への応答をライト応答バッファ440P0へと保存する。
ステップ13(S13):ライト応答バッファ440P0は、当該要求への応答を、バス300を介してCPU0へと返す。
ステップ14(S14):ライト要求選択部460は、ライト中断バッファ461からさきほど保存したCPUnのライト要求情報を受理する。
ステップ15(S15):ライト要求選択部460は、CPUnのライト要求をメモリ500へ発行する。
通常動作時、選択部220は、優先度の高いプロセッサを選択的に選ぶように要求受理部210へと通知する。一方、メモリI/F400から通知を受けると、選択部220は、該当する優先度未満のプロセッサからの要求は常時拒否するよう、要求受理部210へと通知する。したがって、要求受理部210が通知を受けた以降、該当する優先度未満のプロセッサは、バスに対する使用権の発行を受けられない。これにより、低優先度のプロセッサによって、高優先度のプロセッサのメモリI/Fでの待ちサイクルの発生を防ぐことができる。なお、この選択部220に、ラウンドロビンのような公平型の選択ポリシーを導入して、最高優先度のプロセッサが動的に切り替えてもよい。
図9は、アービタ200の動作の例を示す図である。図9において、矢印脇のSと数字(英字)からなる符合は、ステップ番号を表している。この例では、メモリI/F400(待ちサイクルカウンタ470)から通知があった場合の動作について説明する。
具体的には、中断・再開が不可能なメモリに対しても、優先度の高いプロセッサの性能を保証できる。また、中断・再開が可能なメモリに対しては、優先度の高いプロセッサの性能を劣化させることなく性能を保証できる。
200 アービタ
210 要求受理部
220 選択部
300 バス
400 メモリI/F
410P0,410Pn リード応答バッファ
420P0,420Pn リード要求バッファ
430P0,430Pn ライト要求バッファ
440P0,440Pn ライト応答バッファ
450 リード要求選択部
451 リード中断バッファ
460 ライト要求選択部
461 ライト中断バッファ
470 待ちサイクルカウンタ
500 メモリ
10100P0,10100P1,10100Pn プロセッサ
10200 アービタ
10300 バス
10400 メモリI/F
10500 メモリ
Claims (14)
- 複数のプロセッサとバスとアービタとメモリI/Fとを備え、
前記複数のプロセッサは、プロセッサ間に固定された順序関係を有し、
前記メモリI/Fは、メモリI/F内で発生した待ちサイクルに関する情報を待ちサイクル情報として前記アービタへと通知し、
前記アービタは、前記メモリI/Fからの待ちサイクル情報に応じて、優先度の高いプロセッサの待ちサイクル数が閾値を超えた場合に、前記優先度の高いプロセッサよりも優先度の低いプロセッサからの要求を、前記優先度が高いプロセッサで動作するソフトウェアに応じて予め定めた該プロセッサの待ちサイクルの周期が過ぎるまで受理しない
ことを特徴とする半導体集積回路。 - 前記メモリI/Fは、前記複数のプロセッサの優先度に基づいたメモリアクセスの中断と再開を行う手段を有することを特徴とした請求項1に記載の半導体集積回路。
- プロセッサ間に固定された順序関係を有する複数のプロセッサと、
メモリへのアクセスの中断および再開する手段を有し、更に、前記メモリへのアクセス、中断、および再開に関して生ずる待ちサイクルをプロセッサ毎にカウントして、閾値を超えたプロセッサの通知に用いる待ちサイクル情報を送出するメモリI/Fと、
前記メモリI/Fからの待ちサイクル情報に基づき、通知された待ちサイクル数が閾値を超えた所定優先度のプロセッサよりも優先度の低いプロセッサからの要求を、前記所定優先度のプロセッサで動作するソフトウェアに応じて予め定めた該プロセッサの待ちサイクルの周期が過ぎるまで受理しないようにアクセス権を制御するアービタと、
前記複数のプロセッサと前記メモリI/Fと前記アービタとを接続するバスとを備え、
前記メモリI/Fに、中断および再開が不能なメモリを接続していることを特徴とする情報処理装置。 - 前記メモリI/Fは、個々のプロセッサ毎に、夫々のプロセッサで動作するタスクの動作周期の最大公倍数の周期に準じて、前記メモリとの通信で生ずる待ちサイクルを計測し、各々の計測結果が所定の閾値を越えた場合に待ちサイクル情報を前記アービタに送出すると共に、前記夫々のプロセッサで動作するタスクの動作周期の最大公倍数の周期期間経過毎に、各々積算中の待ちサイクルをリセット処理する
ことを特徴とする請求項3記載の情報処理装置。 - 前記メモリI/Fは、所定のプロセッサから受理したリード要求が、前記所定のプロセッサと異なるプロセッサからの既に発行しているリード要求よりも優先度が高いことを識別した場合に、先に発行したリード要求で完了したところまでの情報を中断バッファへ保存すると共に、要求の中断にあたり生ずる待ちサイクルを計測する待ちサイクルカウンタ回路を有する
ことを特徴とする請求項3又は4記載の情報処理装置。 - 前記メモリI/Fは、所定のプロセッサから受理したライト要求が、前記所定のプロセッサと異なるプロセッサからの既に発行しているライト要求よりも優先度が高いことを識別した場合に、先に発行したライト要求で完了したところまでの情報を中断バッファへ保存すると共に、要求の中断にあたり生ずる待ちサイクルを計測する待ちサイクルカウンタ回路を有する
ことを特徴とする請求項3又は4記載の情報処理装置。 - 前記メモリI/Fに、DRAM又はDDRSRAMを接続したことを特徴とする請求項3ないし6の何れか一項に記載の情報処理装置。
- 複数のプロセッサに、プロセッサ間に固定された順序関係を設定し、
前記複数のプロセッサの夫々について、メモリI/F内で発生した待ちサイクルを計測し、
計測した値に基づき、優先度の高いプロセッサの待ちサイクル数が閾値を超えた場合に該プロセッサよりも優先度の低いプロセッサからの要求を、前記優先度が高いプロセッサで動作するソフトウェアに応じて予め定めた該プロセッサの待ちサイクルの周期が過ぎるまで受理しないように、アービタを用いて前記複数のプロセッサ毎のメモリへのアクセスを制御する
ことを特徴とするプロセッサ性能保証方法。 - 前記メモリI/Fは、前記複数のプロセッサの優先度に基づいたメモリへのアクセスの中断および再開を行い、中断および再開に伴う待ちサイクルを計測する
ことを特徴とした請求項8に記載のプロセッサ性能保証方法。 - 複数のプロセッサに、プロセッサ間に固定された順序関係を設定し、
メモリI/Fに、メモリへのアクセスの中断および再開する手段と、前記メモリへのアクセス、中断、および再開に関して生ずる待ちサイクルをプロセッサ毎にカウントして、閾値を超えたプロセッサを示す情報を待ちサイクル情報として送出する回路を付与し、
アービタに、前記メモリI/Fからの待ちサイクル情報に基づき、通知された待ちサイクル数が閾値を超えた所定優先度のプロセッサよりも優先度の低いプロセッサからの要求を、前記所定優先度のプロセッサで動作するソフトウェアに応じて予め定めた該プロセッサの待ちサイクルの周期が過ぎるまで受理しないようにバスへのアクセス権を制御する回路を付与し、
前記メモリI/Fに、メモリを接続する
ことを特徴とするプロセッサ性能保証方法。 - 前記メモリI/Fは、個々のプロセッサ毎に、夫々のプロセッサで動作するタスクの動作周期の最大公倍数の周期に準じて、前記メモリとの通信で生ずる待ちサイクルを計測し、各々の計測結果が所定の閾値を越えた場合に待ちサイクル情報を前記アービタに送出すると共に、前記夫々のプロセッサで動作するタスクの動作周期の最大公倍数の周期期間経過毎に、各々積算中の待ちサイクルをリセット処理する
ことを特徴とする請求項10記載のプロセッサ性能保証方法。 - 前記メモリI/Fは、所定のプロセッサから受理したリード要求が、前記所定のプロセッサと異なるプロセッサからの既に発行しているリード要求よりも優先度が高いことを識別した場合に、先に発行したリード要求で完了したところまでの情報を中断バッファへ保存すると共に、要求の中断にあたり生ずる待ちサイクルを計測する
ことを特徴とする請求項10又は11記載のプロセッサ性能保証方法。 - 前記メモリI/Fは、所定のプロセッサから受理したライト要求が、前記所定のプロセッサと異なるプロセッサからの既に発行しているライト要求よりも優先度が高いことを識別した場合に、先に発行したライト要求で完了したところまでの情報を中断バッファへ保存すると共に、要求の中断にあたり生ずる待ちサイクルを計測する
ことを特徴とする請求項10又は11記載のプロセッサ性能保証方法。 - 前記メモリとして、DRAM又はDDRSRAMを接続されることを特徴とする請求項8ないし13の何れか一項に記載のプロセッサ性能保証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009167503A JP5494925B2 (ja) | 2009-07-16 | 2009-07-16 | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009167503A JP5494925B2 (ja) | 2009-07-16 | 2009-07-16 | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011022814A JP2011022814A (ja) | 2011-02-03 |
JP5494925B2 true JP5494925B2 (ja) | 2014-05-21 |
Family
ID=43632833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009167503A Active JP5494925B2 (ja) | 2009-07-16 | 2009-07-16 | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5494925B2 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140148U (ja) * | 1984-02-23 | 1985-09-17 | 株式会社明電舎 | バスの優先制御装置 |
JPS63245551A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | マルチプロセツサシステムのメモリアクセス方式 |
JPH02110560A (ja) * | 1988-10-20 | 1990-04-23 | Konica Corp | 印刷材料 |
JPH02166549A (ja) * | 1988-12-21 | 1990-06-27 | Mitsubishi Electric Corp | 共有メモリ制御装置 |
JPH031263A (ja) * | 1989-05-30 | 1991-01-07 | Canon Inc | 調停回路 |
JP2626510B2 (ja) * | 1993-10-28 | 1997-07-02 | 日本電気株式会社 | 調停装置 |
JP2000132505A (ja) * | 1998-10-27 | 2000-05-12 | Matsushita Electric Ind Co Ltd | バスアクセス方法および装置とその利用装置およびシステム |
JP2002091903A (ja) * | 2000-09-11 | 2002-03-29 | Hitachi Ltd | バスシステム |
JP2007304908A (ja) * | 2006-05-12 | 2007-11-22 | Sharp Corp | データ転送処理装置 |
-
2009
- 2009-07-16 JP JP2009167503A patent/JP5494925B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011022814A (ja) | 2011-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3699833B2 (ja) | メモリアーキテクチャーのための優先符号化及び復号化 | |
CN102567109B (zh) | 中断分配方案 | |
EP3238080B1 (en) | Guaranteed quality of service in system-on-a-chip uncore fabric | |
JP4457168B2 (ja) | 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム | |
US7213084B2 (en) | System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit | |
US10133670B2 (en) | Low overhead hierarchical connectivity of cache coherent agents to a coherent fabric | |
US7500038B2 (en) | Resource management | |
US6393505B1 (en) | Methods and apparatus for data bus arbitration | |
US20160239442A1 (en) | Scheduling volatile memory maintenance events in a multi-processor system | |
US7035277B1 (en) | Priority-based arbitration system for context switching applications | |
EP3770759A1 (en) | Wake-up and scheduling of functions with context hints | |
CN109933549B (zh) | 一种适用于risc-v处理器的中断控制器 | |
JP4659008B2 (ja) | ホスト負荷調整機能付周辺回路 | |
US11662948B2 (en) | Norflash sharing | |
US8140728B1 (en) | Data packet arbitration system | |
EP3256952B1 (en) | Systems and methods for providing kernel scheduling of volatile memory maintenance events | |
US7099972B2 (en) | Preemptive round robin arbiter | |
JP5494925B2 (ja) | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 | |
US6105082A (en) | Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle | |
WO2014006450A1 (en) | Method and apparatus for managing a thermal budget of at least a part of a processing system | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
EP3238085B1 (en) | Virtual legacy wire | |
JP2016151949A (ja) | Dmaコントローラ | |
JP2004005589A (ja) | 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130905 |
|
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: 20140205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140218 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5494925 Free format text: JAPANESE INTERMEDIATE CODE: R150 Country of ref document: JP |