JP5621747B2 - マルチタスクシステム - Google Patents
マルチタスクシステム Download PDFInfo
- Publication number
- JP5621747B2 JP5621747B2 JP2011231678A JP2011231678A JP5621747B2 JP 5621747 B2 JP5621747 B2 JP 5621747B2 JP 2011231678 A JP2011231678 A JP 2011231678A JP 2011231678 A JP2011231678 A JP 2011231678A JP 5621747 B2 JP5621747 B2 JP 5621747B2
- Authority
- JP
- Japan
- Prior art keywords
- polling
- tasks
- task
- control unit
- time
- 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
- 238000012545 processing Methods 0.000 claims description 98
- 238000004891 communication Methods 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000004904 shortening Methods 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 1
- 230000003111 delayed effect Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 101150039208 KCNK3 gene Proteins 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 101150083764 KCNK9 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Bus Control (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
マルチタスクで動作する場合、各タスクがポーリングを行うことで、通信バスを介して他のノードにある例えばメモリなどのリソースにアクセスし(すなわち、通信を行い)、必要なデータを取得するように構成されることがある。このようなマルチタスクシステムでは、各タスクのポーリング周期の設定によってはリソースにアクセスする処理期間が重なることがあり、その場合、処理を実行中のタスク以外は待機状態となるため、ポーリング周期内に必要なデータを取得できなくなるおそれがある。
以下、本発明のマルチタスクシステムを、通信ネットワークに接続される通信ノードに搭載されるマイクロコンピュータに適用した場合の第1実施例について図1ないし図7を参照して説明する。図3は、マイクロコンピュータの構成を示す機能ブロック図である。マイクロコンピュータ1は、CPU(ホスト)2を備え、通信モジュール3を介して通信バス4(通信ネットワーク)に接続されている。CPU2と通信モジュール4との間には、ホストインターフェイス5,バッファアクセス制御部6,バイパスアクセス制御部7,書き込みバッファ8,読み出しバッファ9,アクセス順序制御部10等が配置されている。
読み出しバッファ9のデータ格納領域は、32バイト単位のブロック領域であるエントリが定義されており、タグメモリ15には、各エントリのベースアドレスを示すBuffer Addrがエントリの数だけ書き込まれる。尚、読み出しバッファ9の容量は、例えば1kバイト程度である。
ホストインターフェイス5は、CPU2が出力するアドレスが、書き込みバッファ8又は読み出しバッファ9へのアクセスを示すか、通信モジュール3への直接アクセス(バイパスアクセス)を示すかに応じて、バッファアクセス制御部6,バイパスアクセス制御部7の何れか一方にアクセス経路を切り替える。
尚、CPU2によって実行される制御プログラムが記憶されているメモリや、制御プログラムの実行中にワークエリア等として使用するメモリは、図示はしないがCPUバス20に直接接続されている。
調停制御部17のロジックが以上のように構成されることで、各タスクの処理要求は、ポーリングタスク21(1)側の優先順位が高く、ポーリングタスク21(3)側の優先順位が低くなるように設定されている。
尚、以上の図3ないし図6では、ポーリングタスクブロック16や調停制御部17のロジックを専らハードウェア的なイメージで示したが、これらは必ずしもハードウェアにより構成されるとは限らず、CPU2によって実行されるソフトウェアで実現される機能であっても良い。また、一部の機能をハードウェアで実現しても良い。
図8ないし図10は第2実施例であり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。尚、第2実施例では、第1実施例とは異なり、各タスク21のポーリング周期が互いに整数倍になっているという条件はないものとする。図8,図9,図10はそれぞれ図1,図2,図6相当図であり、図9ではステップS7〜S10が追加されており、ステップS3において「YES」と判断するとステップS7に移行する。ステップS7では、現在処理要求を発生させているタスク21(図8(a)のタスクB)のポーリング周期(Tb)が、競合を生じている、すなわち処理を実行中であるタスク(A)のポーリング周期(Ta)よりも長いか否かを判断する。
ここでの判断は、図4に示すポーリングタスクブロック16において、各タスク21は、自身以外のタスク21の各種設定情報を相互に参照可能となっており、他のタスク21のポーリング周期が把握できることを前提として行う。
図11は第3実施例であり、第1実施例と異なる部分について説明する。図11は、調停制御部32における調停制御ロジックを示しており、ANDゲート25d,25eに替えて優先ロジック部(Minimum)33が配置されている。優先ロジック部33には、各ポーリングタスク21(1,2,3,…)が発生させる処理要求;Task(1,2,3,…) Requestが入力されていると共に、各ポーリングタスク21(1,2,3,…)のポーリング周期データ;Task(1,2,3,…)Cycleが入力されている。
図12及び図13は第4実施例である。第4実施例では、各タスクが初期化処理において位相調整処理行う。図12に示すように、何れのタスクも初期化処理においてN周期分のポーリング処理を実行する。図13は対応するタイミングチャートを示すが、初期化フェーズにおいて、第1実施例における図1と同様の処理が実行されることになる。この、初期化フェーズでは、実際にリソースにアクセスしてデータを取得しても良いし、位相調整のみを目的として上記アクセスを実行せずとも良い(若しくは、この期間に取得したデータを無視しても良い)。
図14及び図15は第5実施例であり、第4実施例と異なる部分について説明する。第4実施例では、第3実施例と同様に各タスクが初期化フェーズにおいて位相調整処理を行うが、図14に示すように、ステップS11及びS12で位相調整処理を行う前にそれぞれのポーリング周期を1/M倍に設定する(S10)。そして、ステップS12の実行を終了すると(YES)、それぞれのポーリング周期を通常の値に戻し(S13)、初期化を完了する。図14は、M=2の場合の図13相当図である。このように処理することで、初期化フェーズにおいて位相調整処理に要する時間が、第4実施例の1/2に短縮される。
以上のように第5実施例によれば、複数のタスクは、初期化フェーズにおける自身のポーリング周期を、それぞれ通常処理時よりも一律に短縮して位相調整時間を設定する。したがって、位相調整時間が徒に長引くことを防止して処理効率を向上させることができる。
読み出しバッファ9に対するデータ転送中に発生した書き込みバッファ8への書き込みや、バイパス経路へのアクセスを優先して実行する処理については、必要に応じて行えば良い。
ホストは、CPU2やDMAコントローラ62に限らず、例えばDSP等であっても良い。
データバスサイズや記憶容量,データ転送速度等については、個別の設計に応じて適宜変更すれば良い。
ポーリング周期タイマを、アップカウンタで構成しても良い。
また、ポーリング周期タイマと待機時間タイマとを個別に構成しても良い。
通信ノードに搭載されるマイクロコンピュータに限ることなく、マルチタスクで動作するものであれば適用が可能である。
Claims (8)
- 並行して動作する複数のタスクと、これらのタスクによって出力される処理要求を調停し、処理要求を許可したタスクに対して許可信号を出力する調停制御部とを備え、前記許可信号が与えられたタスクがリソースにアクセスを行うマルチタスクシステムにおいて、
前記複数のタスクは、夫々に設定されているポーリング周期毎に処理要求を出力すると共に、それぞれのポーリング周期が基準周期の整数倍に設定されており、
前記調停制御部に対して処理要求を出力した時点から、前記許可信号が与えられるまでの待機時間を計測する待機時間タイマを備え、
前記待機時間タイマにより前記待機時間が計測されると、次回に自身のポーリング周期を開始させるタイミングを、前記待機時間の分だけ遅延させることを特徴とするマルチタスクシステム。 - 並行して動作する複数のタスクと、これらのタスクによって出力される処理要求を調停し、処理要求を許可したタスクに対して許可信号を出力する調停制御部とを備え、前記許可信号が与えられたタスクがリソースにアクセスを行うマルチタスクシステムにおいて、
前記複数のタスクは、夫々に設定されているポーリング周期毎に処理要求を出力し、
前記調停制御部に対して処理要求を出力した時点から、前記許可信号が与えられるまでの待機時間を計測する待機時間タイマを備え、
自身以外のタスクの実行状態がモニタ可能であり、
前記待機時間タイマにより前記待機時間が計測されている間に実行中である他のタスクのポーリング周期が、自身のポーリング周期以下であれば、次回に自身のポーリング周期を開始させるタイミングを、前記待機時間タイマにより計測された待機時間の分だけ遅延させることを特徴とするマルチタスクシステム。 - 並行して動作する複数のタスクと、これらのタスクによって出力される処理要求を調停し、処理要求を許可したタスクに対して許可信号を出力する調停制御部とを備え、前記許可信号が与えられたタスクがリソースにアクセスを行うマルチタスクシステムにおいて、
前記複数のタスクは、夫々に設定されているポーリング周期毎に処理要求を出力し、
自身以外のタスクの実行状態がモニタ可能であり、
前記処理要求を出力した時点で、自身よりも長いポーリング周期が設定されている他のタスクが処理を実行中であれば、前記時点における前記他のタスクの実行経過時間を取得して、次回に自身の開始させるタイミングを、前記実行経過時間の分だけ早めることを特徴とするマルチタスクシステム。 - 前記複数のタスクは、通信モジュールを備え、通信ネットワークに接続されている他の通信ノードと通信を行うマイクロコンピュータによって実行されることを特徴とする請求項1ないし3の何れかにマルチタスクシステム。
- 前記調停制御部は、2つ以上のタスクが実行待機状態にあると、それらの内ポーリング周期が短いものを優先して、次に前記許可信号を与えることを特徴とする請求項1ないし4の何れかに記載のマルチタスクシステム。
- 前記複数のタスクは、初期化処理において、自身のポーリング周期のN(Nは自然数)倍に相当する位相調整時間を経た後、前記リソースへのアクセスを開始することを特徴とする請求項1ないし5の何れかに記載のマルチタスクシステム。
- 前記複数のタスクは、初期化処理における自身のポーリング周期を、それぞれ通常処理時よりも一律に短縮して前記位相調整時間を設定することを特徴とする請求項6記載のマルチタスクシステム。
- 前記複数のタスクは、前記ポーリング周期を管理するための周期タイマと、前記ポーリング周期の開始位相を制御するための開始位相調整レジスタとを備え、
前記開始位相調整レジスタに、前記許可信号が与えられるタイミングで前記周期タイマのタイマ値をロードし、
前記ポーリング周期毎に、前記開始位相調整レジスタをリセットするように構成したことを特徴とする請求項1又は2記載のマルチタスクシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011231678A JP5621747B2 (ja) | 2011-10-21 | 2011-10-21 | マルチタスクシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011231678A JP5621747B2 (ja) | 2011-10-21 | 2011-10-21 | マルチタスクシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013089165A JP2013089165A (ja) | 2013-05-13 |
JP5621747B2 true JP5621747B2 (ja) | 2014-11-12 |
Family
ID=48532980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011231678A Expired - Fee Related JP5621747B2 (ja) | 2011-10-21 | 2011-10-21 | マルチタスクシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5621747B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1084365A (ja) * | 1996-09-09 | 1998-03-31 | Toshiba Corp | データ伝送方法及び装置 |
JP2001256064A (ja) * | 2000-03-10 | 2001-09-21 | Mitsubishi Electric Corp | 複数周期実行タスクの最適化スケジューリング方式 |
-
2011
- 2011-10-21 JP JP2011231678A patent/JP5621747B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013089165A (ja) | 2013-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4737438B2 (ja) | 複数の処理ユニットでリソースを共有する情報処理装置 | |
AU2010319715B2 (en) | Command queue for peripheral component | |
US20160191420A1 (en) | Mitigating traffic steering inefficiencies in distributed uncore fabric | |
US7467245B2 (en) | PCI arbiter | |
US9798686B2 (en) | Slave side bus arbitration | |
JP5102789B2 (ja) | 半導体装置及びデータプロセッサ | |
JP2011150397A (ja) | バス調停装置 | |
JP2012064021A (ja) | 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 | |
WO2005119465A1 (en) | Data processing unit and bus arbitration unit | |
JP2013097659A (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
US9971711B2 (en) | Tightly-coupled distributed uncore coherent fabric | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
US9015272B2 (en) | Microcomputer | |
JP4902640B2 (ja) | 集積回路、及び集積回路システム | |
JP2004318340A (ja) | データ転送制御装置 | |
JP5621747B2 (ja) | マルチタスクシステム | |
TWI312113B (en) | Systems and methods capable of controlling multiple data access | |
JP2005165508A (ja) | ダイレクトメモリアクセスコントローラ | |
JP7226084B2 (ja) | 情報処理装置 | |
CN115017093B (zh) | 一种片上外部总线通信的方法以及装置 | |
JP4898527B2 (ja) | リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法 | |
JP2004227484A (ja) | 情報処理装置およびメモリアクセス調停方法 | |
JP2012150656A (ja) | 半導体装置 | |
JP2000250852A (ja) | バス調停装置、バスシステムおよびバス調停方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140624 |
|
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: 20140826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140908 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5621747 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |