JP5803721B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP5803721B2 JP5803721B2 JP2012028418A JP2012028418A JP5803721B2 JP 5803721 B2 JP5803721 B2 JP 5803721B2 JP 2012028418 A JP2012028418 A JP 2012028418A JP 2012028418 A JP2012028418 A JP 2012028418A JP 5803721 B2 JP5803721 B2 JP 5803721B2
- Authority
- JP
- Japan
- Prior art keywords
- context
- task
- register bank
- link
- stored
- 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
- Executing Machine-Instructions (AREA)
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)にコンテキストを格納する対象のタスクと、
前記レジスタバンク制御手段(9)により前記リンクコンテキスト情報として扱われるコンテキストのタスクとを、分離したことを特徴とする請求項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 JP2013164791A (ja) | 2013-08-22 |
JP5803721B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019219984A (ja) * | 2018-06-21 | 2019-12-26 | ルネサスエレクトロニクス株式会社 | メモリモジュール |
CN110928574A (zh) * | 2019-11-20 | 2020-03-27 | 深圳市汇顶科技股份有限公司 | 微控制器、中断处理芯片、设备及中断处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3605978B2 (ja) * | 1997-01-17 | 2004-12-22 | 松下電器産業株式会社 | マイクロコンピュータ |
US6401155B1 (en) * | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
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
Also Published As
Publication number | Publication date |
---|---|
JP2013164791A (ja) | 2013-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590774B2 (en) | Method and system for efficient context swapping | |
US10657039B2 (en) | Control device for a motor vehicle | |
EP2642392B1 (en) | Semiconductor integrated circuit device and system using the same | |
JP5776688B2 (ja) | 情報処理装置及びタスク切り替え方法 | |
JP2007133456A (ja) | 半導体装置 | |
JP5285915B2 (ja) | マイクロプロセッサアーキテクチャ | |
JPH01173247A (ja) | スレーブ制御装置 | |
JP5803721B2 (ja) | データ処理装置 | |
EP2128771B1 (en) | Method and apparatus for controlling cache memory | |
JP4965638B2 (ja) | タスクの切り換えを制御するシステムおよび方法 | |
US7516311B2 (en) | Deterministic microcontroller context arrangement | |
US9430419B2 (en) | Synchronizing exception control in a multiprocessor system using processing unit exception states and group exception states | |
JPH0916409A (ja) | マイクロコンピュータ | |
US7562207B2 (en) | Deterministic microcontroller with context manager | |
JP2010003151A (ja) | データ処理装置 | |
JP2010015364A (ja) | マルチプロセッサシステム及び情報処理装置 | |
JP6913689B2 (ja) | レジスタ・アクセス制御 | |
JP2008225710A (ja) | コンピュータシステム及び該システムで用いられるプロセス切替え方法 | |
JP2008102599A (ja) | プロセッサ | |
JP4916151B2 (ja) | 並列演算装置 | |
JP2005038203A (ja) | メモリ制御方法及び装置 | |
JP3145545B2 (ja) | メモリアクセス装置 | |
JPH06230963A (ja) | メモリアクセス制御装置 | |
EP3796175B1 (en) | Non intrusive multicore debugging based on pc counter | |
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 |