JPH10207717A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH10207717A
JPH10207717A JP9006007A JP600797A JPH10207717A JP H10207717 A JPH10207717 A JP H10207717A JP 9006007 A JP9006007 A JP 9006007A JP 600797 A JP600797 A JP 600797A JP H10207717 A JPH10207717 A JP H10207717A
Authority
JP
Japan
Prior art keywords
task
register
memory
cpu
context
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
Application number
JP9006007A
Other languages
English (en)
Other versions
JP3605978B2 (ja
Inventor
Toshimichi Matsuzaki
敏道 松崎
Keisuke Tanaka
啓介 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP00600797A priority Critical patent/JP3605978B2/ja
Publication of JPH10207717A publication Critical patent/JPH10207717A/ja
Application granted granted Critical
Publication of JP3605978B2 publication Critical patent/JP3605978B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 高速なタスク切り換えを可能とする。 【解決手段】 CPUからの開始信号によりシーケンサ
55は、現タスク番号レジスタ60、次タスク番号レジ
スタ57、前タスク番号レジスタ61の内容に従って、
コンテキスト退避メモリ3およびデータメモリとレジス
タファイル1との間でデータの転送を制御し、コンテキ
ストを退避/復帰する。タスク切り換え要求時に切り換
わる新しいタスクは、タスク許可フラグ56と現タスク
番号レジスタにより決定される。レジスタファイルは、
同一構成の2組のレジスタセットから構成され、レジス
タセットA使用フラグ63により切り換えられる。レジ
スタ書き込み制御部は次タスクが使用するレジスタセッ
トへコンテキストを書き込み、レジスタ読み出し制御部
68は現タスクが使用するレジスタセットを読み出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のタスクを切
り換えながら実行するマイクロコンピュータに関する。
【0002】
【従来の技術】近年、マイクロコンピュータはあらゆる
機器に利用されており、処理能力の向上に伴い、より広
い分野でより複雑な制御に応用されている。組み込み用
途ではより複雑な制御に応用できるように、マルチタス
ク処理などの高度な機能が望まれている。
【0003】図14は、第1の従来例におけるマルチタ
スク機能を有するマイクロコンピュータの説明図であ
る。同図において、CPU10は、演算部11とレジス
タセット12からなる。
【0004】演算部11は、タスクを1つずつ実行し、
レジスタセット12は、タスク実行に必要なデータを保
持する。
【0005】メモリ13は、各タスク毎にコンテキスト
(レジスタセットのデータ、PCの内容、PSWの内容
等のタスクの実行によって変化するタスク固有のデー
タ)を退避する領域であるコンテキストブロック14を
有する。同図では、コンテキストブロック14中にタス
ク1〜3用のコンテキス退避領域が示されている。
【0006】第1の従来例におけるタスクはソフトウェ
ア(OS)によって管理される。例えば、タスク1から
タスク2に切り換わる場合、OSは、タスク切り換えを
示すイベント(タイマ割込み等)を受け付けると、まず
CPU10からメモリ13にタスク1のコンテキストを
退避し、次にメモリ13からCPU10にタスク2のコ
ンテキストを復帰してからタスク2の実行を開始する。
【0007】上記のように、第1の従来例では、ソフト
ウェア(OS)によりマルチタスクを実現しているの
で、ハードウェア規模が小さくて済むという利点があ
る。
【0008】図15は、第2の従来例におけるマルチタ
スク機能を有するマイクロコンピュータの説明図であ
る。同図においてCPU20は、演算部21、レジスタ
ファイル22、レジスタセット切り換え部23、制御部
24とからなる。
【0009】演算部21は、タスクを1つずつ実行し、
レジスタファイル22は、タスクの実行に必要なデータ
を保持する複数のレジスタセットからなる。
【0010】レジスタセット切り換え部23は、現在実
行中のタスクに対応するレジスタセットを有効にする。
この有効なレジスタセットのみが演算部21に使用され
る。制御部24は、タスクの切り換えを制御する。
【0011】メモリ25は、レジスタセットのデータを
除くコンテキストの退避領域を有する。この第2の従来
例におけるタスクはハードウェアによって管理される。
例えば、タスク1からタスク2に切り換える場合、制御
部24は、タスク切り換えを指示するイベント(タイマ
割込み等)を受け付けると、レジスタセット切り換え部
23にタスク2に対応するレジスタセットを有効にする
ように指示すると共に、演算部21のPCの内容、PS
Wの内容等をメモリ25に退避し、タスク2のPCの内
容、PSWの内容等を演算部21に復帰する。その後、
演算部21は、有効なレジスタセット2を用いてタスク
2を実行する。
【0012】上記のように第2の従来例では、ハードウ
ェアによってマルチタスクを実現しているので、タスク
の切り換えが高速であるという利点がある。
【0013】
【発明が解決しようとする課題】しかしながら、上記従
来例によれば、組み込み用途のマイクロコンピュータに
おけるマルチタスク管理には適していないという問題が
あった。
【0014】第1の従来例によれば、タスク切り換えに
際してコンテキストの退避および復帰をソフトウェアに
よって実現するので切り換え速度が遅く、リアルタイム
性を要求される制御の組み込み用途のマイクロコンピュ
ータには適していない。また、第2の従来例によれば、
タスク数と同数のレジスタセットを必要とし、しかもタ
スク切り換えをハードウェアで実現するので制御部のハ
ードウェア規模が大きくなる。その結果コストが高くな
り組み込み用途のマイクロコンピュータには適していな
い。
【0015】本発明は上記の問題点に鑑み、コストを増
大させることなく高速にタスクを切り換えるマイクロコ
ンピュータを提供することを目的としている。
【0016】
【課題を解決するための手段】上記課題を解決するた
め、請求項1の発明は、複数のタスクを順に切り換えな
がら実行するマイクロコンピュータであって、同一のレ
ジスタ構成で、タスクの実行に1つが使用される少なく
とも2つ以上のレジスタセットと、実行中でないタスク
のコンテキストデータを保持する第1のメモリと、CP
Uがデータ処理に使用する第2のメモリと、前記第1の
メモリおよび前記第2のメモリから次に実行するタスク
のコンテキストデータをレジスタセットに復帰した時点
で、レジスタセットを切り換えるレジスタ切り換え手段
と、前記レジスタセットと前記第1のメモリおよび前記
第2のメモリとに接続され、タスク切り換え時にタスク
のコンテキストデータの一部を前記第2のメモリに転送
し、切り換えられる前に使用していたレジスタセットの
内容を新規タスクの実行中に前記第1のメモリに退避す
る転送手段とを有する。
【0017】請求項2の発明は、請求項1において前記
転送手段が、CPUからの起動要求により動作を開始す
るシーケンサと、タスクが使用していたレジスタセット
のデータを読み出す読み出し手段と、レジスタ読み出し
手段により読み出したデータを前記第1のメモリに書き
込む書き込み手段と、次に実行するタスクのコンテキス
トデータを前記第1のメモリから読み出すメモリ読み出
し手段と、メモリ読み出し手段により読み出したデータ
を次に実行するタスクが使用するレジスタセットに書き
込むレジスタ書き込み手段と、前記シーケンサに接続さ
れ、前記メモリ書き込み手段または前記メモリ読み出し
手段がアクセスするアドレスを指定する第1のアドレス
レジスタと、前記シーケンサに接続され、前記第2のメ
モリのアドレスを指定する第2のアドレスレジスタと、
前記シーケンサに接続され、タスクが使用中のレジスタ
セットを指定するレジスタセット番号指定手段とを有す
る。
【0018】請求項3の発明は、請求項2において前記
転送手段が、現在実行中のタスクの番号を指定する現タ
スク番号レジスタと、次に実行するタスクの番号を指定
する次タスク番号レジスタと、前回実行したタスクの番
号を指定する前タスク番号レジスタと、前記シーケンサ
のステートに基づいて、前記現タスク番号レジスタの内
容を前記前タスク番号レジスタに転送し、前記次タスク
番号レジスタの内容を前記現タスク番号レジスタに転送
するタスク番号制御手段とを有する。
【0019】請求項4の発明は、請求項1において前記
転送手段が、前記レジスタセットと前記第1のメモリと
に接続され、かつデータバスを介して前記第2のメモリ
とに接続される内部バスを有する。
【0020】請求項5の発明は、請求項1において記転
送手段が、コンテキストの一部を格納する前記第2のメ
モリのあらかじめ割り当てられた特定番地を有する。
【0021】請求項6の発明は、請求項1において前記
転送手段が、コンテキストの一部を格納する前記第2の
メモリに割り当てられたスタック領域を有する。
【0022】請求項7の発明は、請求項6において前記
レジスタセットが、コンテキストを前記第2のメモリの
スタック領域に格納後、スタックの最終位置とは異なる
アドレスを保持するスタックポインタを有する。
【0023】請求項8の発明は、複数のタスクを順に切
り換えながら実行するマイクロコンピュータであって、
同一のレジスタ構成で、タスクの実行に1つが使用され
る少なくとも2つ以上のレジスタセットと、実行中でな
いタスクのコンテキストデータを保持する第1のメモリ
と、CPUがデータ処理に使用する第2のメモリと、前
記第1のメモリおよび前記第2のメモリから次に実行す
るタスクのコンテキストデータをレジスタセットに復帰
した時点で、レジスタセットを切り換えるレジスタ切り
換え手段と、前記レジスタセットと前記第1のメモリお
よび前記第2のメモリとに接続され、タスク切り換え時
にタスクのコンテキストデータの一部を前記第2のメモ
リに転送し、切り換えられる前に使用していたレジスタ
セットの内容を新規タスクの実行中に前記第1のメモリ
に退避する転送手段と、命令を処理するマイクロ制御手
段と、前記マイクロ制御手段が出力する制御信号と内部
のバスとを出力するCPUと、CPU内部にあって、前
記マイクロ制御手段によりレジスタセットを内部バスに
読み出すレジスタ読み出し手段と、前記CPUの制御信
号と内部バスとに接続され、前記CPUと同一のレジス
タセットを備える拡張手段と、前記拡張手段が前記CP
Uに接続されていることを通知し、前記読み出し手段の
動作を停止させる拡張指定手段とを有する。
【0024】請求項9の発明は、請求項8においてCP
Uはデータを処理するデータパス部とデータパスを制御
する制御部とからなり、前記制御部はデータパス部のデ
ータ処理の流れとは垂直方向に配置されてデータパス部
および前記拡張部に入力される前記データパスを制御す
るデータパス制御信号と、データパス部のデータ処理の
流れと水平方向に配置されて制御部から出力された後
に、前記拡張部に入力される前記拡張部を制御する拡張
部制御信号を有する。
【0025】請求項10の発明は、複数のタスクを順に
切り換えながら実行するマイクロコンピュータであっ
て、n個のタスクの起動を許可するか禁止するかを示す
nビットの第1のフラグを有する。
【0026】請求項11の発明は、請求項10におい
て、次に実行する予定のタスク番号を示すmビットであ
ってかつ、mをべきとする2のべき乗値が前記第1のフ
ラグの値以下である第2のフラグと、前記第2のフラグ
に所望のタスク番号を設定することで、前記第1のフラ
グの該当するビットをセットするタスク許可フラグ制御
手段を有する。
【0027】
【発明の実施の形態】図1は、本発明の実施例における
マイクロコンピュータの主要な構成を示すブロック図で
ある。実施例のマイクロコンピュータは、レジスタファ
イル1、CPU2、コンテキスト退避メモリ3、メモリ
4、転送部5を有する。
【0028】レジスタファイル1は、レジスタセットA
(GRA)とレジスタセットB(GAB)とからなる。
レジスタセットA、Bはタスク切り換え毎に交互に切り
換えられ、常にどちらか一方がCPU2のタスク実行に
使用される。
【0029】CPU2は、複数のタスクを切り換えなが
ら実行する。CPU2が実行するタスクは、タスク切り
換えを指示するイベントが発生する毎に、転送部5のタ
スク許可フラグに基づいてタスク番号の昇順又は降順に
切り換えられる。タスク切り換えのイベントは例えば、
周期的なタイマー割込み、シリアル転送割込み、タスク
切り換え命令等である。
【0030】コンテキスト退避メモリ3は、CPU2が
実行中でないタスクの情報を退避しておくメモリであ
る。タスクの情報はレジスタセットの内容、プロセッサ
ステータスワード(PSW)の内容、プログラムカウン
タ(PC)の内容等を含むコンテキストである。
【0031】メモリ4は、CPU2がタスクの実行で処
理するデータ等を記憶する。転送部5は、タスク切り換
えイベントが発生する毎に、CPU2が次に実行するタ
スクのコンテキストをコンテキスト退避メモリ3から使
用中でないレジスタセットに復帰し、レジスタセットを
切り換える。切り換えたレジスタセットを使用してCP
U2が次のタスクを実行中に、切り換える前に使用中で
あったレジスタセットの内容をコンテキスト退避メモリ
3に退避する。
【0032】図2は、図1に示したマイクロコンピュー
タの転送部の内部バスを含むより詳細な構成を示すブロ
ック図である。転送部5は、転送制御部51、ABUS
501、BBUS502、CBUS503、ARAMB
US504、DRAMBUS505から構成される。
【0033】転送制御部51は、転送部5の各バスや各
バスに接続されたメモリ、レジスタファイル等を制御す
る。転送制御部51は、CPUがコンテキスト退避メモ
リ3をアクセスする際のアドレスをARAMBUS50
4から入力する。さらに、ABUS501にコンテキス
ト退避時の特定アドレスを出力する。
【0034】図3は、図1に示したマイクロコンピュー
タのより詳細な構成を示すブロック図である。
【0035】同図に示すように、本マイクロコンピュー
タは、レジスタセットA101、レジスタセットB10
2、インクリメンタ201、命令アドレスバッファ20
2、プリフェッチカウンタ203、命令フェッチバッフ
ァ204、プロセッサステータスワード205、命令バ
ッファ206、命令レジスタ207、ステータスレジス
タ208、PLA209、マイクロ命令レジスタ21
0、ALU211、ALU出力バッファ212、オペラ
ンドアドレスバッファ213、ストアバッファ214、
ロードバッファ215、バス制御部216、タイミング
生成部217、ROM401、RAM402、転送制御
部51、タスクタイマ52、バススイッチ53、RAM
アドレス生成部54、シーケンサ55、タスク許可フラ
グ56、次タスク番号レジスタ57、コンテキスト退避
メモリアドレスレジスタ58、ABUS501、BBU
S502、CBUS503、ARAMBUS504、D
RAMBUS505、AROMBUS506、DROM
BUS507、COREBUS508とからなる。
【0036】レジスタセット101とレジスタセット1
02とは、同一のレジスタ構成であり、それぞれ8ビッ
ト幅のデータレジスタ(D0、D1、D2、D3)と1
6ビット幅のアドレスレジスタ(A0、A1)と、16
ビット幅のスタックポインタ(SP)と、これらのデー
タを選択して出力するセレクタとを有する。インクリメ
ンタ201、命令アドレスバッファ202、プリフェッ
チカウンタ203、命令フェッチバッファ204からな
る回路は、ROM401から命令を順次プリフェッチす
る命令先読み準備部である。
【0037】プロセッサステータスワード205は、A
LU211の演算フラグやCPU2の割込み状態等を記
憶する。
【0038】命令バッファ206は、命令先読み準備部
によってプリフェッチされた複数の命令を保持する命令
キューである。
【0039】命令レジスタ207、ステータスレジスタ
208、PLA209、マイクロ命令レジスタ210か
らなる回路は、命令バッファ206から供給される命令
を解読し、実行を制御する命令制御部である。また、こ
の命令制御部はタスク切り換えを指示するイベントが発
生すると、タスクのコンテキストの一部を退避、復帰す
る制御および転送制御部51に転送の開始を通知する制
御を行う。本実施例では、上記イベントはタスクタイマ
ー52による割込みとする。また、命令制御部は、AB
US501、BBUS502のデータの入出力を制御す
る。
【0040】ALU211、ALU出力バッファ21
2、オペランドアドレスバッファ213、ストアバッフ
ァ214、ロードバッファ215からなる回路は、命令
制御部の制御に従って命令を実行する命令実行部であ
る。
【0041】ROM401とRAM402は図1に示し
たメモリ4に相当し、複数のタスクのプログラム、スタ
ック領域、タスク開始アドレス退避領域を有する。各タ
スクのプログラムはROM401に記憶され、スタック
領域、タスク開始アドレス退避領域はRAM402に設
けられる。
【0042】CPU内部バスはABUS501、BBU
S502、CBUS503の3本から構成され、CPU
外部のメモリバスは、ARAMBUS504、DRAM
BUS505、AROMBUS506、DROMBUS
507、COREBUS508の5本から構成される。
【0043】ABUS501、BBUS502は、主に
レジスタファイル1に対してアクセスされるデータを伝
達する。
【0044】CBUS503は、主にコンテキスト退避
メモリ3に対してアクセスするデータを伝達する。
【0045】ARAMBUS504とDRAMBUS5
05は、それぞれ主にRAM402に対してアクセスす
るアドレスとデータを伝達し、AROMBUS506と
DROMBUS507は、それぞれ主にROM401に
対してアクセスするアドレスとデータを伝達する。
【0046】COREBUS508は、主にマイクロコ
ンピュータの周辺機能に含まれるレジスタ等をアクセス
するアドレスとデータを伝達する。
【0047】タスクタイマー52は、CPUが実行中の
タスクの時間を計測するタイマーで、タスク実行開始時
に設定され、一定時間間隔でタイマーの値がデクリメン
トされる。タスクタイマーの内容がゼロになると、CP
U2に対してタスク切り換えイベントの割込みを発生す
る。タスクタイマーに設定される値は、あらかじめコン
テキスト退避メモリに設定されている。また、タスク切
り換え時にはタスクタイマーの内容は常にゼロであるた
め、コンテキスト退避メモリには退避されない。
【0048】バススイッチ53は、DRAMBUS50
5とCBUS503との間でデータの受け渡しをするバ
ッファである。
【0049】RAMアドレス生成部54は、タスク切り
換え時にCPUが退避、復帰するコンテキストの一部を
格納するRAM402のアドレスを生成する。
【0050】シーケンサ55は、CPUからの起動要求
に応じて、CBUS503の制御や転送制御部内のレジ
スタの更新を制御する信号を出力し、タスクのコンテキ
ストを退避、復帰させる。
【0051】タスク許可フラグ56は、CPUが実行す
るタスクの数と同数のビット数から構成され、各ビット
に対応するタスクの実行を許可するか、またはタスクの
実行を禁止するかを指定する。
【0052】次タスク番号レジスタ57は、タスク切り
換えのイベントが発生したときに、次に切り換えて実行
するタスクの番号を格納するレジスタで、レジスタの内
容は、シーケンサがタスク許可フラグ56の内容に基づ
いて決められる。
【0053】タスク許可レジスタ56および次タスク番
号レジスタ57は、COREBUS508にも接続され
ており、CPUのプログラム実行によって内容の読み出
しまたは書き込みが出来る。
【0054】コンテキスト退避メモリアドレスレジスタ
58は、コンテキスト退避メモリ3をアクセスする番地
を格納するレジスタで、シーケンサ55がコンテキスト
退避メモリをアクセスする際に参照される。
【0055】図4は、図2のマイクロコンピュータの転
送制御部51のより詳細な構成と、コンテキスト退避メ
モリ3のより詳細なデータ構成を示すブロック図であ
る。同図において、タスク許可フラグ制御部59は、次
タスク番号レジスタ57に格納されたタスクの番号をデ
コードし、タスク許可フラグ56のタスク番号に対応す
るビットを1にする。また、命令によりタスク許可フラ
グを変更する場合、タスク許可フラグ制御部59はCO
REBUS508のデータをタスク許可フラグ56に設
定する。
【0056】現タスク番号レジスタ60は、CPUが現
在実行中のタスクの番号を格納する。前タスク番号レジ
スタ61は、CPUが現在実行中のタスクに切り換わる
前に実行していたタスクの番号を格納する。
【0057】タスク番号制御部62は、タスク許可フラ
グ56の内容と現タスク番号レジスタ60の内容とシー
ケンサ55が出力するレジスタ書換信号とを入力し、次
タスク番号レジスタ57、現タスク番号レジスタ60、
前タスク番号レジスタ61の内容をそれぞれ更新する。
シーケンサ55が出力する書換信号のタイミングは、図
9に矢印で示されている。また、タスク番号制御部が次
タスク番号レジスタを更新する内容は、図11に示され
ている。
【0058】図9によると、矢印で示されているよう
に、前タスク番号レジスタ61が書き換えられるのはシ
ーケンサ55のステート0であり、次タスク番号レジス
タ57および現タスク番号レジスタ60が書き換えられ
るのはシーケンサ55のステート9である。
【0059】レジスタセットA使用フラグ63は、CP
Uがタスク実行に使用するレジスタセットを指定するフ
ラグであり、レジスタセットA使用フラグが1の時、レ
ジスタセットAを使用し、0の時、レジスタBを使用す
る。
【0060】メモリ制御部64は、コンテキスト退避メ
モリ3の読み出しおよび書き込みと、レジスタファイル
1の読み出しおよび書き込みを制御する。メモリ制御部
64は、コンテキスト退避メモリ3へのデータの書き込
みを制御するコンテキスト退避メモリ書き込み制御部6
5と、コンテキスト退避メモリ3からのデータの読み出
しを制御するコンテキスト退避メモリ読み出し制御部6
6と、レジスタファイルへのデータの書き込みを制御す
るレジスタ書き込み制御部67と、レジスタファイルか
らのデータの読み出しを制御するレジスタ読み出し制御
部68とを有する。
【0061】図4に示すコンテキスト退避メモリ3は、
タスク数4までに対応する場合の構成を示し、64バイ
トの容量である。64バイトを4つに分割し、分割した
各領域のアドレスの若いほうから順に、スタックポイン
タ(SP)、データレジスタ(D0、D1、D2、D
3)、アドレスレジスタ(A0、A1)、プロセッサス
テータスワード(PSW)、タスクタイマー(TT)、
オペランドアドレスバッファ(OAB)を退避する。1
6ビット幅のレジスタは、下位の8ビットがアドレスの
若いほうに退避される。また、本実施例では分割した各
領域には、2バイトの予備の退避領域が存在する。
【0062】図5は、タスク切り換え時の処理のフロー
チャートである。同図において、「CPU、転送部」、
「転送部」はそれぞれ、タスク切り換え時にCPU2お
よび転送部5が同期して並行に処理するフローと転送部
5単独で処理するフローを示す。
【0063】同図のフローチャートは、CPU2がレジ
スタセットAを使用してタスク1を実行中に、タスク切
り換え要求が発生し、タスク2に切り換わるフローを示
している。CPU2は、タスク切り換え要求が発生する
と、実行中のタスクを一次停止し、タスク切り換え処理
に移行する。このタスク切り換えは、CPU2は割込み
処理と同様にPLA209により処理され、転送部5は
シーケンサ55により処理される。
【0064】図6、図7、図8は、タスク切り換え処理
のタイミングチャートを示す図である。同図には、タイ
ミング(T2、T1)、IAB202、PFC203、
IR207、MIR210、ABUS501、BBUS
502、CBUS503、ALU211、ALB21
2、OAB213、STB214、LDB215、AR
AMBUS504、DRAMBUS505の内容が、各
サイクル毎にそれぞれ示されている。なお同図において
右方向が時間軸である。
【0065】また、ABUS、BBUS、CBUSの網
かけは転送部5により制御されていることを示してい
る。
【0066】図9は、転送部5のシーケンサ55による
各部の動作を示した図であり、シーケンサ55のステー
トおよびタイミング毎に、コンテキスト退避メモリ3の
アドレス(address)とデータ(data)と転
送方向(R/W)、バス(ABUS、BBUS、CBU
S)、タスク番号レジスタ(PRVTSK、CRNTT
SK、NEXTTSK)、レジスタファイルA使用フラ
グ(GRARUN)の状態がそれぞれ図示されている。
【0067】転送方向のWはコンテキスト退避メモリへ
の書き込みを、Rはコンテキスト退避メモリからの読み
出しをそれぞれ示している。
【0068】同図のバスの欄にカッコ付きで示されたも
のは、他のバスに出力された内容が転送されていること
を示す。また、「old」はタスク切り換え要求発生時
点で実行していたタスクのコンテキストを指し、「ne
w」はタスク切り換え要求により新しく切り換わるタス
クのコンテキストを指す。「address」の欄の
「crnttsk」、「nexttsk」、「prvt
sk」はそれぞれ、現タスク番号レジスタCRNTTS
K60、次タスク番号レジスタNEXTTSK57、前
タスク番号レジスタPRVTSK61の内容を16倍し
た値を示し、例えば、ステート0の「crnttsk+
12」はCRNTTSKの内容「1」を16倍した値に
12を加算した値「28」をコンテキスト退避メモリの
アドレスにすることを示している。
【0069】同図のステートおよびタイミングは、図6
Aから図6Cのサイクルの表示に一致している。従っ
て、例えば図7のステート0は、図6Aのサイクル0に
対応し、タイミングT2、タイミングT1は、図6のT
2の状態1、T1の状態1にそれぞれ対応している。
【0070】図10は、各タスクのプログラムカウンタ
を退避するRAM402の特定領域の構成を示した図で
ある。本実施例では4つのタスクのプログラムカウンタ
の内容を退避する領域が、アドレス0からアドレス7ま
での8バイトの特定領域に設けられている。
【0071】以下、図5、図6、図7、図8、図9に基
づいてタスク切り換え処理をステートに従って詳細に説
明する。
【0072】<ステート0>CPU2はタスク切り換え
要求発生時のOAB213の内容をタイミングT2、T
1でそれぞれBBUSに出力する。
【0073】転送部5は、現タスク番号レジスタの内容
が1なので、ABUSにはPCの退避アドレス2番地の
下位8ビットをタイミングT2で、上位8ビットをタイ
ミングT1でそれぞれABUSに出力するとともに、C
PUがBBUSに出力したOABの内容をCBUSに転
送し、コンテキスト退避メモリの28番地と29番地に
書き込む(ステップ51)。また、CRNTTSKの内
容をPRVTSKに転送する。
【0074】ABUSに出力された退避アドレスは、C
PUによりALUを通してALB212に転送される。
【0075】<ステート1>CPUはALBに格納され
た退避アドレスをIAB202に転送するとともに、A
ROMBUSを通して、ARAMBUSに出力する。ま
た、ABUSにPFC203の内容を、BBUSに定数
「1」をそれぞれ出力し、実行中であったタスク1の戻
り番地(プログラムカウンタの値)をALUにより計算
する。計算結果の下位8ビットはSTB214に転送さ
れ、タイミングT2でDRAMBUSに出力される。計
算結果の上位8ビットはALBに格納される。従って、
CPUはRAM402の2番地に戻り番地の下位8ビッ
トを書き込む(ステップ52)。
【0076】転送部はステート1では何もしない。な
お、戻り番地の計算は、計算時の命令バッファ206の
先読み量によって制御されるが、本発明には関係ないの
で詳細な説明は省略する。
【0077】<ステート2>CPUはサイクル1で使用
したIABの内容をインクリメンタ201により+1
し、AROMBUSを通してARAMBUSに出力する
とともに、サイクル1で計算したタスク1の戻り番地の
上位8ビットをDRAMBUSに出力して、RAM40
2の3番地に書き込む(ステップ52)。また、タスク
1のPSWの内容をABUSに出力する。
【0078】転送部はタイミングT2でABUSに出力
されたPSWの内容を、CBUSに転送し、コンテキス
ト退避メモリの26番地に書き込み(ステップ53)、
タイミングT1でコンテキスト退避メモリの32番地を
読み出す。また、転送部がアクセスするレジスタセット
は、レジスタセットA使用フラグの内容を反転した値が
示すレジスタセットを使用する。従って、図7の例で
は、ステート2よりステート8の間では、転送部はレジ
スタセットBに対してアクセスし、ステート9よりステ
ート14の間では、レジスタセットAに対してアクセス
する。
【0079】<ステート3>CPUは、ABUSに出力
されたタスク2の戻り番地が退避されているRAM40
2のアドレスをALUを通してALBに格納する。
【0080】転送部は、次タスク番号レジスタの内容
「2」に基づいて、タスク2の戻り番地が退避されてい
るRAM402のアドレス4番地の下位8ビットをタイ
ミングT2で、上位8ビットをタイミングT1でそれぞ
れABUSに出力するとともに、前サイクルのタイミン
グT1で読み出したタスク2のSPLを、タイミングT
2でCBUSに出力する。また、タイミングT2ではコ
ンテキスト退避メモリの33番地を読み出し、タイミン
グT1でCBUSに出力する。CBUSに出力されたS
PLの内容およびSPHの内容はBBUSに転送され、
レジスタセットBのSPLおよびSPHに格納される
(ステップ54)。
【0081】<ステート4>CPUは、ALBに格納さ
れたアドレスをIABに転送するとともに、AROMB
USを通してARAMBUSに出力し、RAM402の
4番地からタスク2の戻り番地の下位8ビットを読み出
して、LDBに格納する。
【0082】転送部は、前サイクルのタイミングT1で
コンテキスト退避メモリの34番地から読み出したD0
の内容を、CBUSに出力し、BBUSを通してレジス
タセットBのD0に格納するとともに、タイミングT1
でコンテキスト退避メモリの35番地のD1の内容を読
み出してCBUSに出力し、BBUSを通してレジスタ
セットBのD1に格納する(ステップ54)。
【0083】<ステート5>CPUは、LDBの内容を
ABUSに出力し、ALUを通してALBに格納すると
共に、前サイクルのIABの内容をインクリメンタによ
り+1したアドレスをARAMBUSに出力して、RA
M401の5番地からタスク2の戻り番地の上位8ビッ
トを読み出し、LDBに格納する(ステップ55)。
【0084】転送部は、ステート4と同様に、D2の内
容およびD3の内容をコンテキスト退避メモりから読み
出して、レジスタセットBのD2、D3にそれぞれ格納
する(ステップ54)。
【0085】<ステート6>CPUは、ALBに格納さ
れたタスク2の戻り番地の下位8ビットの内容をIAB
の下位8ビットに格納すると共に、LDBの内容をAB
USに出力し、ALUを通して再度ABUSに出力す
る。CPUはABUSに出力したタスク2の戻り番地の
上位8ビットをALUを通してALBに格納する。
【0086】転送部は、ステート4と同様に、A0の下
位8ビットの内容および上位8ビットの内容をコンテキ
スト退避メモりから読み出して、レジスタセットBのA
0L、A0Hにそれぞれ格納する(ステップ54)。
【0087】<ステート7>CPUは、ALBに格納さ
れたタスク2の戻り番地の上位8ビットの内容をIAB
の上位8ビットに格納し(ステップ55)、IABの内
容をAROMBUSに出力してタスク2の戻り番地から
命令をフェッチしてIFBに格納する。
【0088】転送部は、ステート4と同様に、A1の下
位8ビットの内容および上位8ビットの内容をコンテキ
スト退避メモりから読み出して、レジスタセットBのA
1L、A1Hにそれぞれ格納する。
【0089】<ステート8>CPUは、BBUSに出力
されたタスク2のPSWの内容をALUを通してABU
Sに出力し、PSW205に格納する(ステップ5
6)。また、前サイクルでフェッチした命令を命令バッ
ファ206に転送すると共に、タスク2の戻り番地を+
1したアドレスから続けて命令をフェッチし、IFBに
格納する。
【0090】転送部は、前サイクルのタイミングT1で
コンテキスト退避メモリの42番地から読み出したタス
ク2のPSWの内容を、タイミングT2でCBUSに出
力すると共にBBUSに転送する。また、タイミングT
2で読み出した43番地の内容を、タスクの実行時間を
決めるタスクタイマ52に格納する(ステップ57)。
【0091】<ステート9>CPUは、タスク2の命令
をIR207に格納して命令の解読を開始すると共に、
BBUSに出力されたタスク2のOABの内容をALU
を通してALBに格納する(ステップ58)。
【0092】転送部は、前サイクルのタイミングT1で
コンテキスト退避メモリの44番地から読み出したタス
ク2のOABLの内容を、タイミングT2でCBUSに
出力すると共にBBUSに転送する。また、タイミング
T2で読み出した45番地の内容を、タイミングT1で
CBUSに出力すると共にBBUSに転送する。さら
に、次タスク番号レジスタNEXTTSKの内容を現タ
スク番号レジスタCRNTTSKに転送し、NEXTT
SKの内容を更新する。
【0093】転送部はさらに、レジスタセットA使用フ
ラグ63を「0」にして、以降でCPUがタスクの実行
に使用するレジスタセットをB側にする(ステップ5
9)。
【0094】<ステート10>CPUは、ALBに格納
された内容をタスク2のOABに格納し、タスク2の命
令を転送部とは独立して実行する(ステップ61)。従
って、ステート11以降は、転送部のみの動作を説明す
る。
【0095】転送部は、タスク切り換え要求発生時のタ
スク1のコンテキストであるSPLおよびSPHをレジ
スタセットAから読み出してCBUSに出力し、コンテ
キスト退避メモリの16番地および17番地に格納する
(ステップ62)。
【0096】<ステート11>転送部は、ステート10
と同様にタスク切り換え要求発生時のタスク1のコンテ
キストであるD0およびD1をレジスタセットAから読
み出してCBUSに出力し、コンテキスト退避メモリの
18番地および19番地に格納する(ステップ62)。
【0097】<ステート12>転送部は、ステート10
と同様にタスク切り換え要求発生時のタスク1のコンテ
キストであるD2およびD3をレジスタセットAから読
み出してCBUSに出力し、コンテキスト退避メモリの
20番地および21番地に格納する(ステップ62)。
【0098】<ステート13>転送部は、ステート10
と同様にタスク切り換え要求発生時のタスク1のコンテ
キストであるA0LおよびA0HをレジスタセットAか
ら読み出してCBUSに出力し、コンテキスト退避メモ
リの22番地および23番地に格納する(ステップ6
2)。
【0099】<ステート14>転送部は、ステート10
と同様にタスク切り換え要求発生時のタスク1のコンテ
キストであるA1LおよびA1HをレジスタセットAか
ら読み出してCBUSに出力し、コンテキスト退避メモ
リの24番地および25番地に格納する(ステップ6
2)。
【0100】図11は、タスク番号制御部62が次タス
ク番号レジスタNEXTTSKの値を決定するための動
作を示した図である。
【0101】次タスク番号レジスタの値は、タスク許可
フラグTSKEN56の内容と現タスク番号レジスタC
RNTTSK60の内容とによって決定する。タスク許
可フラグのLSB側が番号の若いタスクに対応してお
り、本実施例では、タスク許可フラグのLSB側が高い
優先度となっている。従って、タスク許可フラグの複数
のビットがセットされている場合には、番号の若いタス
クから先に実行される。例えば、TSKEN=’001
1’はタスク0とタスク1を許可することを示し、現タ
スク番号が「0」であれば次タスク番号は「1」にな
り、現タスク番号が「1」、「2」、「3」であれば次
タスク番号は「0」になる。この例ではTSKENのビ
ット2、ビット3は「0」になっているので、タスク2
およびタスク3の許可フラグが命令の実行等でクリアさ
れたことを示している。
【0102】他の組み合わせ状態も同様であるので、詳
細な説明は省略する。なお、上記実施例の説明ではタス
クの数を4にしたが、これに限定されるものではない。
また、コンテキスト退避メモリやRAMへのタスクの退
避領域のアドレスも限定されるものではない。
【0103】上記実施例では、タスクのコンテキストの
うちプログラムカウンタのみをRAMに退避したが、プ
ログラムカウンタ以外にPSW等をRAMに退避しても
よい。
【0104】上記実施例では、RAMへの退避領域は特
定番地としたが、実行中であったタスクのSPが指すス
タック領域にコンテキストを退避してもよい。その場
合、退避するSPはタスクの実行を停止した時点の値の
ままでもよい。
【0105】図12は、本発明の第2の実施例における
転送部とCPUとの接続を説明する図である。
【0106】同図においてマイコンコア1は、CPU2
とレジスタセット3とからなり、CPU2は、マイクロ
制御部21と、コアレジスタ読み出し制御部22とバッ
ファ23とを含む。拡張部4は、転送部5と2つのレジ
スタセットGRA6およびレジスタセットGRB7とか
らなり、転送部5は、拡張指定部51と拡張レジスタ読
み出し制御部52とバッファ53とバッファ54とを含
む。マイコンコア1と拡張部4とはABUSとBBUS
からなる2本の内部バスで接続されている。マイコンコ
ア1は、拡張部4が接続されていない状態でも命令の実
行が可能である。以下では、マイコンコア1に拡張部4
が接続されている場合の動作を説明する。
【0107】拡張指定部51により、拡張部4がマイコ
ンコア1に接続されていることをCPU2に通知する
と、コアレジスタ読み出し制御部22は、レジスタセッ
トの読み出しをマイクロ制御部21から指示されても、
バッファ23を動作させず、ABUSおよびBBUSに
は何も読み出さないようにする。一方、マイクロ制御部
からのレジスタセット読み出しの指示は、拡張レジスタ
読み出し制御部52に対しても出される。拡張部4に含
まれる転送部5の動作は、2つのレジスタセットを有す
る本発明の第1の実施例と同様であるので詳細は省略す
る。
【0108】図13は、図12に示された本発明の第2
の実施例における回路配置を説明する図である。
【0109】マイコンコア1はビット当りの回路の繰り
返しから構成されるデータパス部と不規則回路から構成
される制御部とからなり、データパス部は制御部から出
力されるデータパス制御信号により制御される。データ
パス部で処理するデータの流れの方向をX軸とすると、
データパス制御信号はY軸方向である。制御部、データ
パス部、拡張部の順にY軸方向に配置し、データパス制
御信号をデータパス部を貫通させてY軸方向に延長する
ことで、同一のデータパス制御信号をデータパス部と拡
張部とに接続する。
【0110】また、拡張部を制御する拡張部制御信号
は、制御部から一旦X軸方向に出力した後、データパス
を通らずに拡張部に接続する。
【0111】図13には省略しているが、ABUSおよ
びBBUSは、データパス部からY軸方向に延ばして拡
張部に接続する。
【0112】なお、ABUSおよびBBUSは拡張部制
御信号と同様に一旦X軸方向に延ばした後、拡張部に接
続してもよい。
【0113】
【発明の効果】以上説明したように、請求項1の発明に
よれば、コンテキストの退避処理と切り換えた後のタス
クの実行を並行処理できるという効果がある。特に、組
み込み用途のマイクロコンピュータにおいては、ハード
ウェア規模の制約があっても、タスク切り換えを高速に
実現できるので、リアルタイム制御を可能にする。
【0114】請求項2の発明によれば、請求項1の効果
に加えて、コンテキストの退避処理を高速に実現できる
という効果がある。
【0115】請求項3の発明によれば、請求項1または
請求項2の効果に加えて、タスク切り換え要求が発生し
た後に、次に実行すべきタスクを決定できるという効果
がある。これにより、リアルタイムOS等でタスク処理
の順序を制御する応用においても柔軟に対応できる。
【0116】請求項4の発明によれば、請求項1の効果
に加えて、コンテキストの退避処理と切り換えた後のタ
スクの実行との並行処理の時間を短縮する効果がある。
これにより、並行処理中に命令によりコンテキスト退避
メモリをアクセスするような場合の、タスクの待ち時間
が短縮できる。
【0117】請求項5の発明によれば、請求項1の効果
に加えて、コンテキストを退避するメモリのアドレス計
算時間を短縮するという効果がある。
【0118】請求項6の発明によれば、請求項1の効果
に加えて、コンテキストの退避処理する時間を短縮する
という効果がある。
【0119】請求項7の発明によれば、請求項6の効果
に加えて、コンテキストの退避処理の量を減少するとい
う効果がある。
【0120】請求項8の発明によれば、タスク切り換え
の機能をCPUに容易に追加して、機能拡張できるとい
う効果がある。
【0121】請求項9の発明によれば、請求項8の効果
に加えて、回路の配置をコンパクトにでき、チップの面
積を小さくするという効果がある。
【0122】請求項10の発明によれば、タスク切り換
えの順序をプログラムで柔軟に変更できるという効果が
ある。
【0123】請求項11の発明によれば、請求項10の
効果に加えて、任意のタスクの起動をプログラムで柔軟
に指定できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例におけるマイクロコンピュータ
の主要な概略構成を示すブロック図
【図2】同実施例における転送部5の詳細な構成を示す
ブロック図
【図3】同実施例におけるマイクロコンピュータのより
詳細な構成を示すブロック図
【図4】同実施例における転送制御部51のより詳細な
構成と、コンテキスト退避メモリ3のより詳細なデータ
構成を示すブロック図
【図5】同実施例におけるタスク切り換え時の処理のC
PU2および転送部5の動作を示すフローチャート
【図6】同実施例におけるタスク切り換え時の処理のC
PU2および転送部5の動作を示すタイミングチャート
【図7】同実施例におけるタスク切り換え時の処理のC
PU2および転送部5の動作を示すタイミングチャート
【図8】同実施例におけるタスク切り換え時の処理のC
PU2および転送部5の動作を示すタイミングチャート
【図9】同実施例における転送部5のシーケンサ55に
よる各部の動作を示した図
【図10】同実施例における各タスクのプログラムカウ
ンタを退避するRAM402の特定領域の構成を示した
【図11】同実施例におけるタスク番号制御部62が、
次タスク番号レジスタNEXTTSKの値を決定するた
めの動作を示した図
【図12】本発明の第2の実施例におけるマイクロコン
ピュータの転送部とCPUとの接続を説明する図
【図13】同実施例における回路配置を説明する図
【図14】第1の従来技術におけるマルチタスク処理機
能を有するマイクロコンピュータの説明図
【図15】第2の従来技術におけるマルチタスク処理機
能を有するマイクロコンピュータの説明図
【符号の説明】
1 レジスタファイル 2 CPU 3 コンテキスト退避メモリ 4 メモリ 5 転送部 51 転送制御部 52 タスクタイマ 53 バススイッチ 54 RAMアドレス生成部 55 シーケンサ 56 タスク許可フラグ 57 次タスク番号レジスタ 58 コンテキスト退避メモリアドレスレジスタ 59 タスク許可フラグ制御部 60 現タスク番号レジスタ 61 前タスク番号レジスタ 62 タスク番号制御部 63 レジスタセットA使用フラグ 64 メモリ制御部 65 コンテキスト退避メモリ書き込み制御部 66 コンテキスト退避メモリ読み出し制御部 67 レジスタ書き込み制御部 68 レジスタ読み出し制御部

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】複数のタスクを順に切り換えながら実行す
    るマイクロコンピュータであって、 同一のレジスタ構成で、タスクの実行に1つが使用され
    る少なくとも2つ以上のレジスタセットと、 実行中でないタスクのコンテキストデータを保持する第
    1のメモリと、 CPUがデータ処理に使用する第2のメモリと、 前記第1のメモリおよび前記第2のメモリから次に実行
    するタスクのコンテキストデータをレジスタセットに復
    帰した時点で、レジスタセットを切り換えるレジスタ切
    り換え手段と、 前記レジスタセットと前記第1のメモリおよび前記第2
    のメモリとに接続され、タスク切り換え時にタスクのコ
    ンテキストデータの一部を前記第2のメモリに転送し、
    切り換えられる前に使用していたレジスタセットの内容
    を新規タスクの実行中に前記第1のメモリに退避する転
    送手段とを備えることを特徴とするマイクロコンピュー
    タ。
  2. 【請求項2】前記転送手段は、CPUからの起動要求に
    より動作を開始するシーケンサと、 タスクが使用していたレジスタセットのデータを読み出
    す読み出し手段と、 レジスタ読み出し手段により読み出したデータを前記第
    1のメモリに書き込む書き込み手段と、 次に実行するタスクのコンテキストデータを前記第1の
    メモリから読み出すメモリ読み出し手段と、 メモリ読み出し手段により読み出したデータを次に実行
    するタスクが使用するレジスタセットに書き込むレジス
    タ書き込み手段と、 前記シーケンサに接続され、前記メモリ書き込み手段ま
    たは前記メモリ読み出し手段がアクセスするアドレスを
    指定する第1のアドレスレジスタと、 前記シーケンサに接続され、前記第2のメモリのアドレ
    スを指定する第2のアドレスレジスタと、 前記シーケンサに接続され、タスクが使用中のレジスタ
    セットを指定するレジスタセット番号指定手段とを備え
    ることを特徴とする請求項1記載のマイクロコンピュー
    タ。
  3. 【請求項3】前記転送手段は、 現在実行中のタスクの番号を指定する現タスク番号レジ
    スタと、 次に実行するタスクの番号を指定する次タスク番号レジ
    スタと、 前回実行したタスクの番号を指定する前タスク番号レジ
    スタと、 前記シーケンサのステートに基づいて、前記現タスク番
    号レジスタの内容を前記前タスク番号レジスタに転送
    し、前記次タスク番号レジスタの内容を前記現タスク番
    号レジスタに転送するタスク番号制御手段とを備えるこ
    とを特徴とする請求項2記載のマイクロコンピュータ。
  4. 【請求項4】前記転送手段は、 前記レジスタセットと前記第1のメモリとに接続され、
    かつデータバスを介して前記第2のメモリとに接続され
    る内部バスを備え、CPUが前記第2のメモリを使用中
    にレジスタセットの読み出しと前記第1のメモリへの書
    き込みを並行処理することを特徴とする請求項1記載の
    マイクロコンピュータ。
  5. 【請求項5】前記転送手段は、コンテキストの一部を前
    記第2のメモリのあらかじめ割り当てられた特定番地に
    格納することを特徴とする請求項1記載のマイクロコン
    ピュータ。
  6. 【請求項6】前記転送手段は、コンテキストの一部を前
    記第2のメモリに割り当てられたスタック領域に格納す
    ることを特徴とする請求項1記載のマイクロコンピュー
    タ。
  7. 【請求項7】前記レジスタセットは、CPUが使用する
    スタックの最終位置を示すスタックポインタを備え、前
    記スタックポインタは、コンテキストを前記第2のメモ
    リのスタック領域に格納後、スタックの最終位置とは異
    なるアドレスを保持することを特徴とする請求項6記載
    のマイクロコンピュータ。
  8. 【請求項8】複数のタスクを順に切り換えながら実行す
    るマイクロコンピュータであって、 同一のレジスタ構成で、タスクの実行に1つが使用され
    る少なくとも2つ以上のレジスタセットと、 実行中でないタスクのコンテキストデータを保持する第
    1のメモリと、 CPUがデータ処理に使用する第2のメモリと、 前記第1のメモリおよび前記第2のメモリから次に実行
    するタスクのコンテキストデータをレジスタセットに復
    帰した時点で、レジスタセットを切り換えるレジスタ切
    り換え手段と、 前記レジスタセットと前記第1のメモリおよび前記第2
    のメモリとに接続され、タスク切り換え時にタスクのコ
    ンテキストデータの一部を前記第2のメモリに転送し、
    切り換えられる前に使用していたレジスタセットの内容
    を新規タスクの実行中に前記第1のメモリに退避する転
    送手段と、 命令を処理するマイクロ制御手段と、 前記マイクロ制御手段が出力する制御信号と内部のバス
    とを出力するCPUと、 CPU内部にあって、前記マイクロ制御手段によりレジ
    スタセットを内部バスに読み出すレジスタ読み出し手段
    と、 前記CPUの制御信号と内部バスとに接続され、前記C
    PUと同一のレジスタセットを備える拡張手段と、 前記拡張手段が前記CPUに接続されていることを通知
    し、前記読み出し手段の動作を停止させる拡張指定手段
    とを備えたことを特徴とするマイクロコンピュータ。
  9. 【請求項9】前記CPUはデータを処理するデータパス
    部と前記データパスを制御する制御部とからなり、前記
    制御部は前記データパスを制御するデータパス制御信号
    と、前記拡張部を制御する拡張部制御信号を出力し、デ
    ータパス制御信号はデータパス部のデータ処理の流れと
    は垂直方向に配置されてデータパス部および前記拡張部
    に入力され、 拡張部制御信号は、データパス部のデータ処理の流れと
    水平方向に配置されて制御部から出力された後に、前記
    拡張部に入力されることを特徴とする請求項8記載のマ
    イクロコンピュータ。
  10. 【請求項10】複数のタスクを順に切り換えながら実行
    するマイクロコンピュータであって、 n個のタスクの起動を許可するか禁止するかを示すnビ
    ットの第1のフラグを備え、前記第1のフラグが許可さ
    れたタスクのみをタスク番号の昇順または降順に順次実
    行することを特徴とするマイクロコンピュータ。
  11. 【請求項11】次に実行する予定のタスク番号を示すm
    ビットであってかつ、mをべきとする2のべき乗値が前
    記第1のフラグの値以下である第2のフラグと、 前記第2のフラグに所望のタスク番号を設定すること
    で、前記第1のフラグの該当するビットをセットするタ
    スク許可フラグ制御手段とを備え、 所望のタスクを直接起動することを特徴とする請求項1
    0記載のマイクロコンピュータ。
JP00600797A 1997-01-17 1997-01-17 マイクロコンピュータ Expired - Fee Related JP3605978B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00600797A JP3605978B2 (ja) 1997-01-17 1997-01-17 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00600797A JP3605978B2 (ja) 1997-01-17 1997-01-17 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH10207717A true JPH10207717A (ja) 1998-08-07
JP3605978B2 JP3605978B2 (ja) 2004-12-22

Family

ID=11626679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00600797A Expired - Fee Related JP3605978B2 (ja) 1997-01-17 1997-01-17 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP3605978B2 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000023891A1 (en) * 1998-10-22 2000-04-27 Telefonaktiebolaget Lm Ericsson (Publ) A processor
EP1192533A4 (en) * 1999-01-27 2005-06-08 Mips Tech Inc REGISTRY TRANSFER UNIT FOR ELECTRONIC PROCESSOR
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
JP2009104611A (ja) * 2002-01-09 2009-05-14 Panasonic Corp プロセッサ
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US8327122B2 (en) 2006-03-02 2012-12-04 Samsung Electronics Co., Ltd. Method and system for providing context switch using multiple register file
JP2013164791A (ja) * 2012-02-13 2013-08-22 Denso Corp データ処理装置
US9588817B2 (en) 2011-01-21 2017-03-07 Fujitsu Limited Scheduling method and scheduling system for assigning application to processor
CN110633132A (zh) * 2018-06-21 2019-12-31 瑞萨电子株式会社 存储器模块

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000023891A1 (en) * 1998-10-22 2000-04-27 Telefonaktiebolaget Lm Ericsson (Publ) A processor
US7650605B2 (en) 1998-12-16 2010-01-19 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7900207B2 (en) 1998-12-16 2011-03-01 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7926062B2 (en) 1998-12-16 2011-04-12 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
EP1192533A4 (en) * 1999-01-27 2005-06-08 Mips Tech Inc REGISTRY TRANSFER UNIT FOR ELECTRONIC PROCESSOR
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
JP2009104611A (ja) * 2002-01-09 2009-05-14 Panasonic Corp プロセッサ
US7921281B2 (en) 2002-01-09 2011-04-05 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8719827B2 (en) 2002-01-09 2014-05-06 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7930520B2 (en) 2002-01-09 2011-04-19 Panasonic Corporation Processor and program execution method capable of efficient program execution
US9823946B2 (en) 2002-01-09 2017-11-21 Socionext Inc. Processor and program execution method capable of efficient program execution
US8006076B2 (en) 2002-01-09 2011-08-23 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
US7950016B2 (en) 2003-03-13 2011-05-24 Panasonic Corporation Apparatus for switching the task to be completed in a processor by switching to the task assigned time slot
US8327122B2 (en) 2006-03-02 2012-12-04 Samsung Electronics Co., Ltd. Method and system for providing context switch using multiple register file
US9588817B2 (en) 2011-01-21 2017-03-07 Fujitsu Limited Scheduling method and scheduling system for assigning application to processor
JP2013164791A (ja) * 2012-02-13 2013-08-22 Denso Corp データ処理装置
CN110633132A (zh) * 2018-06-21 2019-12-31 瑞萨电子株式会社 存储器模块

Also Published As

Publication number Publication date
JP3605978B2 (ja) 2004-12-22

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JPH10207717A (ja) マイクロコンピュータ
US7590774B2 (en) Method and system for efficient context swapping
JP3619939B2 (ja) 中央処理装置
JPH08305585A (ja) 割込制御装置
JP3619532B2 (ja) 半導体集積回路装置
JPS62197830A (ja) デ−タ処理システム
JPH0991134A (ja) 情報処理装置
US6964049B2 (en) Smart internetworking operating system for low computational power microprocessors
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPH0916409A (ja) マイクロコンピュータ
JP2556182B2 (ja) デ−タ処理装置
JP6316593B2 (ja) 半導体装置
WO2007037930A2 (en) PERFORMING AN N-BIT WRITE ACCESS TO AN MxN-BIT-ONLY PERIPHERAL
JP3562215B2 (ja) マイクロコンピュータ及び電子機器
JPS6290728A (ja) 割込処理方法
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JP3077807B2 (ja) マイクロコンピュータシステム
JP2668987B2 (ja) データ処理装置
JPS6032220B2 (ja) 情報処理装置
JP2847729B2 (ja) 情報処理装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2965045B2 (ja) 半導体集積回路装置
JP3345050B2 (ja) 二次元配列型メモリシステム
JP3199604B2 (ja) プロセッサ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

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: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081015

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111015

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees