JP2555912B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP2555912B2
JP2555912B2 JP2255614A JP25561490A JP2555912B2 JP 2555912 B2 JP2555912 B2 JP 2555912B2 JP 2255614 A JP2255614 A JP 2255614A JP 25561490 A JP25561490 A JP 25561490A JP 2555912 B2 JP2555912 B2 JP 2555912B2
Authority
JP
Japan
Prior art keywords
microprocessor
task
tcb
status
instruction
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 - Lifetime
Application number
JP2255614A
Other languages
English (en)
Other versions
JPH04133133A (ja
Inventor
哲治 濱内
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2255614A priority Critical patent/JP2555912B2/ja
Publication of JPH04133133A publication Critical patent/JPH04133133A/ja
Application granted granted Critical
Publication of JP2555912B2 publication Critical patent/JP2555912B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサに関し、特に多重仮想空
間にてマルチタスクを実行するマイクロプロセッサに関
する。
〔従来の技術〕
この種の、多重仮想空間でマルチタスクを実行するマ
イクロプロセッサは、メモリに格納されるタスクコント
ロールブロック(以下TCB)により各タスクの実行状態
や仮想空間を管理する。
TCBには実行中のプログラムの状態を記述するレジス
タや仮想アドレス空間を定義するレジスタなどが含まれ
る。異なるタスクでは別のTCBを用いるため、それぞれ
独立した仮想アドレス空間をとることができる。TCBの
内容は、コンテキストと呼ばれる。
通常TCBはオペレーティングシステムが管理する。
タスク実行時にはTCBの先頭アドレスをマイクロプロ
セッサのタスクレジスタに設定し、TCBよりコンテキス
トをマイクロプロセッサ上のレジスタに転送する。
タスクを終了するときには、マイクロプロセッサ上の
コンテキストをタスクレジスタで示されるTCBに待避す
る。
コンテキストの入替えは高速に行なう必要があるた
め、タスクレジスタの設定とTCBからレジスタへコンテ
キストの転送を自動的に行なうLDTASK命令や、逆に、タ
スクレジスタで示されるTCBへレジスタからコンテキス
トを転送するSTTASK命令などの専用命令を持っている場
合がある。
従来、TCBは、プログラムやデータが格納されるメモ
リと同様のメモリに格納されていたため、以上のような
マイクロプロセッサにおけるTCBアクセス時において
も、通常のメモリアクセスと全く同じステータスを出力
するようになっていた。
第4図は、従来のマイクロプロセッサの一例を示すブ
ロック図である。
第4図において、従来のマイクロプロセッサ1は、メ
モリ管理ユニット2と、命令実行ユニット3と、エンコ
ーダ4と、メモリ管理ユニット2からのアドレスを出力
するアドレスバス5と、エンコーダ4からのステータス
Sを出力するステータスパス6と、メモリ管理ユニット
2からのステータスをエンコーダ4に入力する内部ステ
ータスパス7とから構成されていた。
第5図に、従来のマイクロプロセッサにおけるステー
タスの一例を示す。
第5図に示すように、TCBアクセス時においても、ス
テータスとして、、データアクセスを示すコード0011が
出力されていた。
従来のマイクロプロセッサをインサーキットエミュレ
ータに使用した場合の一例をとしてブレーク回路の部分
を第6図に示す。
ブレーク回路は、プログラム実行中のマイクロプロセ
ッサが、任意のアドレスをアクセスしたときにマイクロ
プロセッサに割込みをかけ、実行をブレークさせるため
の回路である。
第6図において、ブレーク回路は、マイクロプロセッ
サ1と、比較器9と、ブレークレジスタ10と、これらを
接続するアドレスバス5と、ステータスバス6と、ブレ
ークアドレスバス16と、ブレークステータスバス17と、
割込みパス18とから構成されていた。
ブレークレジスタ10には、マイクロプロセッサ1に割
込みをかけたいアドレスとステータスをブレークポイン
トとして設定しておく。
比較器9は、マイクロプロセッサ1がアドレスバス5,
ステータスバス6にそれぞれ出力するアドレスA,ステー
タスSと、ブレークレジスタ10に設定され、ブレークア
ドレスバス16,ブレークステータスバス17にそれぞれ出
力されるブレークアドレスBA,ブレークステータスBSと
が一致したときマイクロプロセッサ1に割込みIを割込
みパス18を介して要求する。
第7図に、多重仮想空間でのタスクの一例を示す。
ここで、タスク0はオペレーティングシステムの常駐
領域であり、タスク1とタスク2では、それぞれ、仮想
アドレス0000番地から独立した仮想アドレス空間を持っ
ている。
タスク1の仮想アドレス0008番地にブレークポイント
を設定し、マイクロプロセッサ1がこのアドレスをアク
セスしたらブレークするようにするものであった。
しかし、タスクが切替わってタスク2が実行開始され
てもこのブレークポイントは依然として有効であるの
で、タスク2で0008番地をアクセスしてもブレークして
しまうというものであった。
〔発明が解決しようとする課題〕
上述した従来のマイクロプロセッサは、タスクコント
ロールブロック(TCB)のアクセスも、通常のメモリア
クセスと全く同様のステータスを出力していたので、ど
のタスクを実行中であるかということは外部から検出で
きないという欠点があった。
したがって、たとえば、従来のマイクロプロセッサを
インサーキットエミュレータに使用した場合、マイクロ
プロセッサがどのタスクを実行しているのか判らないた
め、特定のタスクの仮想アドレスを指定してブレークポ
イントを設定することはできず、単にアドレスを指定す
るのみにすぎないという欠点があった。
このため、本来ブレークしたいタスクとは違うタスク
でブレークするという欠点があった。
〔課題を解決するための手段〕
本発明のマイクロプロセッサは、多重仮想空間にて複
数のタスクを実行するようタスク切替え命令を発する命
令実行ユニットと、メモリにタスクコントロールブロッ
クを備えるマイクロプロセッサにおいて、 前記命令実行ユニットは、前記タスクコントロールブ
ロックをアクセス中であることを示すタスクコントロー
ルブロックアクセス信号を出力する手段を有するもので
ある。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は、本発明の一実施例を示すブロック図であ
る。
第1図において、本発明のマイクロプロセッサ1は、
従来の例と同様のメモリ管理ユニット2と、エンコーダ
4と、メモリ管理ユニット2からのアドレスを出力する
アドレスバス5と、エンコーダ4からのステータスSを
出力するステータスパス6と、メモリ管理ユニット2か
らのステータスをエンコーダ4に入力する内部ステータ
スパス7とに加えて、メモリのタスクコントロールブロ
ック(TCB)がアクセスされているときTCBアクセス信号
TCBAを出力する命令実行ユニット3と、命令実行ユニッ
ト3からエンコーダ4へのTCBアクセス信号パス8とか
ら構成されている。
命令実行ユニット3は、命令をデコードする命令デコ
ーダ31と、命令の意図する動作をマイクロプロセッサの
各構成部に実行させるシーケンサ32を有している。
デコーダ31は、所定の命令、たとえば、コンテキスト
切替え命令であるLDTASK命令や、STTASK命令をデコード
するとともに、これらの命令を実行中のTCBアクセスサ
イクルに、そのタスクを実行中であることを示すTCBア
クセス信号TAを出力する。
TCBアクセス信号TAは、シーケンサ32より、命令実行
ユニットの出力としてTCBアクセス信号パス8を介し
て、エンコーダ4に入力される。
エンコーダ4は、このTCBアクセス信号TAを、内部ス
テータスバス7を介して入力されるメモリ管理ユニット
2からの他のステータスとともにエンコードしてステー
タスバス6に出力する。
第2図は、エンコーダ4によりエンコードしたステー
タスの一例を示す。
第2図に示すように、TCBをアクセスするサイクルに
は、データアクセスのステータスコード0011とは独立し
た、ステータスコード0000を出力する。
次に、本発明のマイクロプロセッサをインサーキット
エミュレータに使用した場合の一例を第3図に示す。
第3図において、本発明のマイクロプロセッサを使用
したインサーキットエミュレータは、マイクロプロセッ
サ1と、比較器9,13と、ブレークレジスタ10と、ステー
タスデコーダ11と、イネーブルレジスタ12と、Dフリッ
プフロップ14と、これらを接続するアドレスバス5と、
ステータスバス6と、TCBアクセス信号パス15と、ブレ
ークアドレスバス16と、ブレークステータスバス17と、
割込みパス18と、RWパス19と、一致信号パス20と、イネ
ーブルアドレスバス21とから構成される。
次に、本インサーキットエミュレータの動作について
説明する。
ステータスデコーダ11は、マイクロプロセッサ11がス
テータスバス6を介して出力するエンコードされたステ
ータスSをデコードして、TCBアクセス信号TAをTCBアク
セス信号パス15に出力する。
イネーブルレジスタ12にはブレークポイントを有効に
したいタスクのTCBの先頭アドレスを設定する。
指定したタスクが実行される前に、LDTASK命令によ
り、TCBからマイクロプロセッサ上のレジスタへ、コン
テキストが転送される。
ここで、TCBをアクセスするときにアドレスバス5上
に出力するアドレスAと、イネーブルレジスタ12に設定
したアドレスとが等しく、かつ、TCBアクセス信号パス1
5上のステータスデコーダ11の出力であるTCBアクセス信
号TAが有効のとき、Dフリップフロップ14にマイクロプ
ロセッサ1からRWパス19を介して入力されるRW信号RWを
ラッチする。
この、RW信号RWが“H"レベルのときは、メモリからの
TCBを読出し中、すなわち、LDTASK命令実行中であるの
で、これ以降にタスクが実行されることになる。
Dフリップフロップ14の出力Qが“H"レベルになる
と、比較器9の出力がそのまま割込みIとして割込み信
号パス18を介してマイクロプロセッサ1に入力されるよ
うになる。
タスク終了時にSTTASK命令が実行されると、同様にし
て、Dフリップフロップ14にRW信号RWの“L"レベルがラ
ッチされるため、Dフリップフロップ14のQ出力も“L"
レベルとなり、これに接続されているアンドゲートのア
ンドがとれないことにより、比較器9の出力がそのレベ
ルに関係なく阻止されるので割込みIは禁止される。
以上のようにして、TCBの先頭アドレスを設定したタ
スク内でのみブレークポイントが有効になるため、特定
のタスクに注目してデバッグができる。
以上、本発明の実施例を説明したが、本発明は上記実
施例に限られることなく種々の変形が可能である。
たとえば、本実施例のマクロプロセッサは、TCBアク
セス信号を他のステータスとともに、エンコーダでエン
コードして、出力端子から出力しているが、端子数に余
裕がある場合には、TCBアクセス信号をエンコードしな
いで直接独立した出力端子から出力することができるこ
とは当然である。
〔発明の効果〕
以上説明したように本発明のマイクロプロセッサは、
タスクコントロールブロックをアクセスしていることを
示すタスクコントロールブロックアクセス信号を出力す
る手段を有する命令実行ユニットを備えている。
このため、マイクロプロセッサの外部においてもどの
タスクが実行中であるかということを検出できるという
効果がある。
したがって、たとえば、インサーキットエミュレータ
に使用した場合には、特定のタスクを指定して、ブレー
クポイントを有効にできるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図で示した回路のステータスの一例を示す図、第3
図は本発明のマイクロプロセッサを使用したインサーキ
ットエミュレータの一例を示すブロック図、第4図は従
来のマイクロプロセッサの一例を示すブロック図、第5
図は第4図で示した従来のマイクロプロセッサのステー
タスの一例を示す図、第6図は従来のマイクロプロセッ
サを使用したインサーキットエミュレータの一例を示す
ブロック図、第7図は多重仮想空間におけるタスクの例
を示す図である。 1……マイクロプロセッサ、2……メモリ管理ユニッ
ト、3……命令実行ユニット、4……エンコーダ、5…
…アドレスバス、6……ステータスパス、7……内部ス
テータスパス7、8……TCBアクセス信号パス、9,13…
…比較器、10……ブレークレジスタ、11……ステータス
デコーダ、12……イネーブルレジスタ、14……Dフリッ
プフロップ、15……TCBアクセス信号パス、16……ブレ
ークアドレスバス、17……ブレークステータスバス、18
……割込みパス、19……RWパス、20……一致信号パス、
21……イネーブルアドレスバス、31……命令デコーダ、
32……シーケンサ。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】多重仮想空間にて複数のタスクを実行する
    ようタスク切替え命令を発する命令実行ユニットと、メ
    モリにタスクコントロールブロックを備えるマイクロプ
    ロセッサにおいて、 前記命令実行ユニットは、前記タスクコントロールブ
    ロックをアクセス中であることを示すタスクコントロー
    ルブロックアクセス信号を出力する手段を有することを
    特徴とするマイクロプロセッサ。
  2. 【請求項2】前記タスクコントロールブロックアクセス
    信号を発生する手段は、前記命令をデコードする命令デ
    コーダのデコード信号の出力回路を有することを特徴と
    する請求項1記載のマイクロプロセッサ。
JP2255614A 1990-09-26 1990-09-26 マイクロプロセッサ Expired - Lifetime JP2555912B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2255614A JP2555912B2 (ja) 1990-09-26 1990-09-26 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2255614A JP2555912B2 (ja) 1990-09-26 1990-09-26 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH04133133A JPH04133133A (ja) 1992-05-07
JP2555912B2 true JP2555912B2 (ja) 1996-11-20

Family

ID=17281193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2255614A Expired - Lifetime JP2555912B2 (ja) 1990-09-26 1990-09-26 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2555912B2 (ja)

Also Published As

Publication number Publication date
JPH04133133A (ja) 1992-05-07

Similar Documents

Publication Publication Date Title
US6681280B1 (en) Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
EP1034472A2 (en) An instruction decoder
JPH02252008A (ja) マイクロプロセッサ
JPH02250110A (ja) チャンネル間の通信機能を有する専用サービス・プロセッサ
JPH0728670A (ja) 情報処理装置
JP2555912B2 (ja) マイクロプロセッサ
JP3547012B2 (ja) マイクロコンピュータ
JPS62197831A (ja) デ−タ処理装置
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
JP2504191B2 (ja) マイクロプロセッサ
KR950006585B1 (ko) 마이크로프로그램 제어장치 및 그 제어방법
JP2859048B2 (ja) マイクロコンピュータ
JPS6236581B2 (ja)
JPS6316350A (ja) マイクロプロセッサ
JPS63104151A (ja) トレ−ス機能付きマイクロプロセサ
JPS63289653A (ja) インサ−キツトエミユレ−タ
JPS6244845A (ja) デバッグ装置
JPH087679B2 (ja) マイクロプロセッサ
JPH04367902A (ja) プログラマブルコントローラ
JPS619733A (ja) テスト装置
JPH05158872A (ja) データ処理装置
JPH0589057A (ja) レジスタ制御装置
JPS60105048A (ja) マイクロプログラム制御方式
JP2001134448A (ja) 情報処理装置及び割込み処理方法