JP2013164791A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2013164791A JP2013164791A JP2012028418A JP2012028418A JP2013164791A JP 2013164791 A JP2013164791 A JP 2013164791A JP 2012028418 A JP2012028418 A JP 2012028418A JP 2012028418 A JP2012028418 A JP 2012028418A JP 2013164791 A JP2013164791 A JP 2013164791A
- Authority
- JP
- Japan
- Prior art keywords
- context
- task
- register bank
- link
- context information
- 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.)
- Granted
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】コンテキストに、当該コンテキストに対応するタスクが実行されることに関連して、以降に実行される可能性が高いと推定される他のタスクに対応する1つ以上のコンテキストについて、RAM6上の配置情報を示すリンクコンテキスト情報を含むようにする。そして、CPU2が、スケジューラ13からの切り替え指示に応じてレジスタバンク7の1つに格納されているコンテキストの実行を開始すると、実行コンテキスト情報部8は、そのコンテキストに付随するリンクコンテキスト情報で示される他のコンテキストをレジスタバンク7に格納する。
【選択図】図1
Description
また、リンクコンテキスト情報を取り扱うレジスタバンクの制御は、スケジューラとは独立したレジスタバンク制御手段によって行われる。したがって、スケジューラが実行するリアルタイムスケジューリングとは無関係に、レジスタバンク間においてデータ転送を高速に実行することが可能になる。
以下、第1実施例について説明する。マイクロコンピュータ1(データ処理装置)を構成するCPU2(CPUコア)は、CPUメモリバス(アドレス及びデータバス)3及びメモリコントローラ4を介してROM5(プログラムメモリ)及びRAM6(外部メモリ)にアクセスする。ROM5には、CPU2によって実行されるプログラムやデータが記憶されており,RAM6はCPU2のワークエリアとして使用される。CPU2は、前記プログラムに従い複数のタスクを切り換えながら実行するようになっており、所謂マルチタスクCPUである。
「実行状態」:タスクがCPU2によって実行中。
「実行可能状態」:タスクのコンテキストがレジスタバンク7に格納済み。
「待機状態」:タスクのコンテキストがRAM6に格納済み。
「休止状態」:タスクのコンテキストがRAM6に未格納。
また、リンクコンテキスト情報を、CPU2が実行するプログラムが記憶されているROM5の例外ベクタ領域に配置し、リンクコンテキスト情報を、最初に取得する際には、CPU2が対応するタスクのベクタにフェッチを行って取得するようにした。これにより、CPUメモリバス3を介してリンクコンテキスト情報を取得できるので、専用のバスを別途設ける必要がない。
以下、第1実施例と同一部分には同一符号を付して説明を省略し、異なる部分のみ説明する。第1実施例では1つのRAM6を用いたが、第2実施例のマイクロコンピュータ21は、2つのRAM22及び23を設ける。そして、前者のRAM22はCPU2のワークエリアとしてのみ使用し、後者のRAM23(外部メモリ)は、レジスタバンク7との間でコンテキストを退避,復帰させるためだけに使用する。そのため、メモリコントローラも、CPUメモリバス3側のメモリコントローラ24と、コンテキストメモリバス10側のメモリコントローラ25との2つをそれぞれ専用に設けている。
第3実施例のマイクロコンピュータ31は、レジスタバンク7(図7では、リンクレジスタバンク)と別個に、4つのリアルタイムレジスタバンク32を備えている。リアルタイムレジスタバンク32は、実行コンテキスト情報部8によっては制御されず、スケジューラ13に替わるスケジューラ33によって制御される。スケジューラ33は、リンクコンテキスト情報に基づくコンテキストの管理とは別個に、リアルタイムスケジューリングにより必要と判断されたタスクのコンテキストを直接指定して、コンテキストメモリバス10より読み出す。そのため、コンテキストメモリバス10を介したRAM6へのアクセスアドレスは、実行コンテキスト情報部8が出力するアドレスと、スケジューラ33が出力するアドレスとがマルチプレクサ34を介して出力される。
これにより、現在はレジスタバンク7に格納されていないが、スケジューラ33がリアルタイムスケジューリングを行うことで、例えば割り込み処理が発生する確率が高いと判断したような場合に、対応するタスクのコンテキストを予めリアルタイムレジスタバンク32に格納しておく。すると、実際に割り込みが発生した際に、その処理を迅速に実行できる。
第4実施例は、図8(a)に示すように、例えばコンテキストBのリンクコンテキスト情報で指定すべきコンテキストがC,Dの2つのみである場合に、残りの1つを例えば「HOLD」というように、既にレジスタバンク7に格納されているコンテキストを保持するための指示子を指定可能とする。尚、この指示子は、実際には特定の数値を割り当てるようにする。このように指定すると、図8(b)において、コンテキストAからBにスイッチした際に、リンクコンテキストは全て「実行可能状態」であるから、RAM6との間でコンテキストの退避や復帰を行う必要が無くなる。尚、指示子「HOLD」に替えて、例えばリンクコンテキストの「指定なし」を意味する「N/A」等の指示子を指定可能としても良い。
リンクコンテキスト情報で指定可能とするリンクコンテキストの数は「3」に限ることなく、個別の設計に応じて適宜変更して良い。それに従い、レジスタバンクの数も「4」に限ることなく適宜変更して良い。
図5に示すタスクディスパッチ処理を、ハードロジックにより行っても良い。
リンクコンテキスト情報は、プログラムメモリの例外ベクタ領域に配置する必要はなく、その他の任意の領域に配置しても良い。
Claims (6)
- 複数のタスクを実行するCPUコア(2)と、
前記複数のタスクの一部に対応する複数のコンテキストが格納され、前記コンテキストを外部メモリ(6,23)との間で退避,復帰させるためのレジスタバンク(7)と、
外部イベント及び/又は内部イベントの発生に応じて、前記CPUコア(2)に実行させるタスクの切り替え指示を出力するスケジューラ(13,33)とを備え、
前記コンテキストには、当該コンテキストに対応するタスクが実行されることに関連して、以降に実行される可能性が高いと推定される他のタスクに対応する1つ以上のコンテキストについて、前記外部メモリ(6,23)上の配置情報を示すリンクコンテキスト情報が含まれており、
前記CPUコア(2)が、前記切り替え指示に応じて前記レジスタバンク(7)の1つに格納されているコンテキストの実行を開始すると、前記コンテキストに付随するリンクコンテキスト情報で示される他のコンテキストを、前記レジスタバンク(7)に格納するレジスタバンク制御手段(9)を備えることを特徴とするデータ処理装置。 - 前記外部メモリ(23)は、前記CPUコア(2)が直接アクセスするメモリ(22)とは別個に設けられており、
前記レジスタバンク(7)と前記外部メモリ(23)との間で、前記コンテキストの退避処理及び復帰処理を行うための専用のアドレスバス及びデータバス(10)を備えることを特徴とする請求項1記載のデータ処理装置。 - 前記スケジューラ(33)が直接指示して、前記外部メモリ(6)から読み出したコンテキストを格納するためのリアルタイムスケジューリング用のリアルタイムレジスタバンク(32)を別途備えることを特徴とする請求項1又は2記載のデータ処理装置。
- 前記スケジューラが(33)、前記リアルタイムレジスタバンク(32)にコンテキストを格納する対象のタスクと、
前記リンクコンテキスト情報として扱うコンテキストのタスクとが、分離されていることを特徴とする請求項3記載のデータ処理装置。 - 前記リンクコンテキスト情報に、前記レジスタバンク(7)に現在格納されているコンテキストを保持するための指示子,又はコンテキストの「指定なし」を意味する指示子を配置可能としたことを特徴とする請求項1ないし4の何れかに記載のデータ処理装置。
- 前記リンクコンテキスト情報を、前記CPUコア(2)が実行するプログラムが記憶されているプログラムメモリ(5)の例外ベクタ領域に配置し、
前記リンクコンテキスト情報を、最初に取得する際には、前記CPUコア(2)が対応するタスクのベクタにフェッチを行って取得することを特徴とする請求項1ないし5の何れかに記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012028418A JP5803721B2 (ja) | 2012-02-13 | 2012-02-13 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012028418A JP5803721B2 (ja) | 2012-02-13 | 2012-02-13 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013164791A true JP2013164791A (ja) | 2013-08-22 |
JP5803721B2 JP5803721B2 (ja) | 2015-11-04 |
Family
ID=49176093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028418A Expired - Fee Related JP5803721B2 (ja) | 2012-02-13 | 2012-02-13 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5803721B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928574A (zh) * | 2019-11-20 | 2020-03-27 | 深圳市汇顶科技股份有限公司 | 微控制器、中断处理芯片、设备及中断处理方法 |
US10853123B2 (en) | 2018-06-21 | 2020-12-01 | Renesas Electronics Corporation | Memory module |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207717A (ja) * | 1997-01-17 | 1998-08-07 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JP2002533807A (ja) * | 1998-12-22 | 2002-10-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 割込み/ソフトウエア制御スレッド処理 |
JP2006092042A (ja) * | 2004-09-21 | 2006-04-06 | Sanyo Electric Co Ltd | 情報処理装置及びコンテキスト切り替え方法 |
-
2012
- 2012-02-13 JP JP2012028418A patent/JP5803721B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207717A (ja) * | 1997-01-17 | 1998-08-07 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JP2002533807A (ja) * | 1998-12-22 | 2002-10-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 割込み/ソフトウエア制御スレッド処理 |
JP2006092042A (ja) * | 2004-09-21 | 2006-04-06 | Sanyo Electric Co Ltd | 情報処理装置及びコンテキスト切り替え方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10853123B2 (en) | 2018-06-21 | 2020-12-01 | Renesas Electronics Corporation | Memory module |
CN110928574A (zh) * | 2019-11-20 | 2020-03-27 | 深圳市汇顶科技股份有限公司 | 微控制器、中断处理芯片、设备及中断处理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5803721B2 (ja) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4610593B2 (ja) | デュアルスレッドプロセッサ | |
EP3451163A1 (en) | Device and method for use in executing matrix addition/subtraction operations | |
US6944850B2 (en) | Hop method for stepping parallel hardware threads | |
JP2005182825A5 (ja) | ||
JP5776688B2 (ja) | 情報処理装置及びタスク切り替え方法 | |
US9760374B2 (en) | Stack pointer and memory access alignment control | |
JPH01173247A (ja) | スレーブ制御装置 | |
GB2538985A (en) | Flushing control within a multi-threaded processor | |
EP2159691B1 (en) | Simultaneous multithreaded instruction completion controller | |
JP5803721B2 (ja) | データ処理装置 | |
US10558489B2 (en) | Suspend and restore processor operations | |
US9430419B2 (en) | Synchronizing exception control in a multiprocessor system using processing unit exception states and group exception states | |
US7516311B2 (en) | Deterministic microcontroller context arrangement | |
JPH0916409A (ja) | マイクロコンピュータ | |
US7562207B2 (en) | Deterministic microcontroller with context manager | |
JP2010015364A (ja) | マルチプロセッサシステム及び情報処理装置 | |
JP2008225710A (ja) | コンピュータシステム及び該システムで用いられるプロセス切替え方法 | |
JP6913689B2 (ja) | レジスタ・アクセス制御 | |
JP2005038203A (ja) | メモリ制御方法及び装置 | |
US7107478B2 (en) | Data processing system having a Cartesian Controller | |
JP4916151B2 (ja) | 並列演算装置 | |
EP3796175B1 (en) | Non intrusive multicore debugging based on pc counter | |
JPH06230963A (ja) | メモリアクセス制御装置 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JP2006099335A (ja) | コンテキスト処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150716 |
|
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: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150817 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5803721 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |