JPH02289007A - タスク処理用論理回路 - Google Patents

タスク処理用論理回路

Info

Publication number
JPH02289007A
JPH02289007A JP4465990A JP4465990A JPH02289007A JP H02289007 A JPH02289007 A JP H02289007A JP 4465990 A JP4465990 A JP 4465990A JP 4465990 A JP4465990 A JP 4465990A JP H02289007 A JPH02289007 A JP H02289007A
Authority
JP
Japan
Prior art keywords
task
processor
state
circuit
clock
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
JP4465990A
Other languages
English (en)
Other versions
JPH0563820B2 (ja
Inventor
Michel West Roderick
ロダーリツク・マイケル・ウエスト
Nicholas D Butler
ニコラス・デヴイド・バトラー
Gerardo Sidoli Paoli
ポーリイ ジエラルド・サイドリイ
Steven P Larky
ステイブン・フイリツプ・ラーキイ
Douglas Batimer Malcolm
マルコム・ダグラス・バテイマー
Brian C Homewood
ブライアン・クライブ・ホームウツド
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02289007A publication Critical patent/JPH02289007A/ja
Publication of JPH0563820B2 publication Critical patent/JPH0563820B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、多重タスク処理環境でタスクを処理するため
の論理回路、及びそうした回路を動作させる方法に関す
る。
B、従来の技術 多重タスク処理とは、メインフレーム・コンピュータ・
システムに関して久しく以前から知られている概念であ
る。近年、多重タスク処理パーソナル・コンピュータも
市販されるようになってきている。多重タスク処理シス
テムの概念に不可欠なのは、タスクを実行する物理的コ
ンピュータの現状態を後で復元できるような形でセーブ
し、新しいタスクを実行する際にプロセッサを以前にセ
ーブまたは定義された状態でセットアツプすることので
きる機構である。従来、これは、タスクのセーブ時に重
要なプロセッサ・レジスタをすべて記憶し、後でタスク
を復元する際にプロセッサ・レジスタに記憶した値を復
元する、一連の手順によって行なわれてきた。
多重タスク処理システムを目指す傾向が進むにつれて、
特定の1組の処理(たとえば入出力処理)を実行するた
めに、主プロセツサと関連するコプロセッサまたはコブ
ロセッシング論理回路によって実行されるタスクをセー
ブまたは復元しあるいはその両方を行なって、コプロセ
ッサまたはコブロセッシング論理回路が多重タスク処理
モードで動作できるようにする必要がでてきた。その難
点は、この論理回路が非常に複雑になることであり、状
態情報を保存するために何百個もの値をセーブする必要
のあることである。
C0発明が、解決しようとする課題 したがって、本発明の目的は、複雑な論理回路の場合で
も、タスクの切替えを確実かつ効率的に行なう機構を提
供することにある。
00課題を解決するための手段 本発明の第1の実施例によれば、多重タスク処理環境で
タスクを処理するための論理回路が提供される。この論
理回路は、複数の刻時式状態ラッチと、タスクを機能的
に処理するための組合せ論理回路と、タスク切替え手段
とを含み、ラッチの内容がタスクの現状態を定義し、状
態ラッチの機能的刻時に応答してタスクが組合せ論理回
路によって処理され、状態ラッチはさらにラッチの少な
くとも1つの走査可能連鎖を形成するように相互接続さ
れ、タスク切替え手段は、機能的処理の間に、タスク切
替えコマンドの受領に応答して、状態ラッチの機能的刻
時に一時的に割り込み、それによって機能的タスク処理
を一時的に中断し、上記中断の間にその走査連鎖または
各走査連鎖の状態ラッチを走査して、タスク状態を定義
する状態ラッチの既存の内容が状態ラッチからセーブで
きるようにし、またはタスク状態を定義する新しい内容
が状態ラッチにロードできるようにし、あるいはその両
方ができるようにする。
本発明に基づく論理回路は、その論理回路が実行するタ
スクを切り替える、非常に効率のよい機構を提供する。
本発明で採用する手法は、外部アドレス可能であり、し
たがってマルチプレクサを用いて通常の論理経路により
読取り可能かつ書込み可能な設計であらゆるレジスタを
作るよりも、シリコン面積及び回路全体の複雑さの点で
ずっと効率がよい。
特に論理回路が集積論理回路である場合、各連鎖の第1
の位置にある1つの状態ラッチまたは隣接する複数の状
態ラッチにデータをロードするためのデータ経路と、各
連鎖の第2の位置にある1つの状態ラッチまたは隣接す
る複数の状態ラッチからデータを読み取るためのデータ
経路を設けることが好ましい。ただし、上記第1の位置
と第2の位置の少なくとも一方は、連鎖の全長の中間に
ある。このようにして、タスクの切替えを制御するのに
使用され、タスクの機能的処理の間にプロセッサの機能
的状態を定義しない、追加の刻時式ラッチを回路の一部
に組み込むことができる。次いで、これらの追加ラッチ
を使って、回路製造中に回路をテストすることができる
が、タスク切替え中にはセーブまたは復元されない。そ
うした場合、タスク切替え手段は、上記第1の位置及び
第2の位置にある状態ラッチならびに同位置の間にある
状態ラッチに関するデータのみがそこからセーブされ、
またはそこにロードされ、あるいはその両方が行なわれ
るように、機能的処理の間にタスク切替えコマンドの受
領に応答して追加の刻時式ラッチの機能的刻時に割り込
む必要はない。
この論理回路は、上記クロックの機能的刻時のための機
能クロックを生成し、状態ラッチを走査するための走査
クロックを生成するクロック生成機構を含むことができ
る。機能的タスク処理の一時的中断の間に状態ラッチを
走査するため、タスク切替え手段は次に、上記状態ラッ
チに走査クロッりを印加して、その走査連鎖または各走
査連鎖を走査することができる。
複数のラッチ走査連鎖がある場合、各連鎖は、第1の位
置と第2の位置の間に等しい数の状態う、。
チを含むことが好ましい。こうすると、タスク・データ
の走査及び処理が簡単になる。
既存タスクの状態データがセーブされるときにそのタス
クが復元できるように、各走査連鎖中の第2の位置から
のデータをその走査連鎖中の第1の位置にある上記状態
ラッチに選択的にロードするためのフィードバック経路
を設けることができる。こうしたフィードバック経路を
用いると、機能的処理に割り込み、状態ラッチの内容を
セーブし、状態ラッチの内容を復元し、次いで機能的処
理を再開することにより、機能的処理の間に使用される
機能的ソフトウェアのデバッグが行なえる。
後で説明する本発明の特定の例では、論理回路は、デー
タ処理用の統合プロセッサの形をとる。
その際、タスク切替え手段は制御回路を含み、機能的デ
ータ処理はプロセッサ回路によって実行され、上記走査
連鎖は上記制御論理回路と上記プロセッサ回路を通って
延び、上記第1及び第2の位置は、プロセッサ回路中の
走査連鎖の」二記状態ラッチのうちそれぞれ最初のラッ
チと最後のラッチに対応する。
本発明は、レベル感受性走査設計(LSSD)思想に基
づいて設計された論理回路の場合に特に有利である。と
いうのは、このような論理回路に固有のLSSD走査連
鎖を修正することにより、最小数の回路を追加するだけ
でタスク切替え機構が実現できるからである。
本発明の第2の態様によれば、上記のようなシステム・
プロセッサとシステム・メモリと論理回路を含むデータ
処理システムにおいて、システム・プロセッサからのタ
スク・セーブ命令の受領に応答して、上記論理回路が実
行するタスクをセーブする方法が提供される。この方法
は、次の諸ステップを含む。
a)上記状態ラッチの機能的刻時に割り込むステップ。
b)タスクの機能的状態を定義するデータがラッチされ
る上記ラッチの列の最後にある1つの状態ラッチまたは
隣接する複数の状態ラッチにおける各走査連鎖からデー
タを読み取り、上記データを上記システム・メモリにセ
ーブするステップ。
C)データが各走査連鎖に沿って、ステップ(b)でそ
こからデータが読み取られる各走査連鎖当りの状態ラッ
チの数に等しいラッチ位置の数だけ走査されるように、
状態ラッチを制御するステップ。及び、 d)上記のラッチの列中のすべての状態ラッチの内容が
上記システム・メモリにセーブされるまで、ステップ(
b)と(C)を繰り返すステップ。
本発明の第3の態様によれば、上記のようなシステム・
プロセッサとシステム・メモリと論理回路を含むデータ
処理システムにおいて、システム・プロセッサからのタ
スク復元命令の受領に応答して上記論理回路が実行すべ
き、予め定義されたタスクまたは以前にセーブされたタ
スクをロードする方法が提供される。この方法は、次の
諸ステップを含む。
a)上記状態ラッチの機能的刻時に割り込むステップ。
b)タスクの機能状態を定義するためのデータを、シス
テム・メモリから、上記機能状態を定義するデータがラ
ッチされる上記ラッチの列の始めにある1つの状態ラッ
チまたは隣接する複数の状態ラッチにおける各走査連鎖
にロードするステップ。
C)データが各走査連鎖に沿って、ステップ(b)でデ
ータがそこにロードされる各走査連鎖当りのラッチの数
に等しいラッチ位置の数だけ走査されるように、状態ラ
ッチを走査するステップ。
d)″J:、記ラッチの列中のすべての状態ラッチに上
記システム・メモリからの上記データがロードされるま
で、ステップ(b)と(C)を繰り返すステップ。及び e)状態ラッチの機能的刻時を復元するステップ。
タスク・セーブ及び復元動作は、上記のようなシステム
・プロセッサとシステム・メモリと論理回路を含むデー
タ処理システムにおいて、l)まず上記のようなタスク
をセーブする方法を実施し、 ii)続いて、上記のような事前定義されたタスクまた
は以前にセーブされたタスクを復元する方法のステップ
(b)ないしくe)を実行する ことによって実施できる。
別法として、論理回路によって実行されている第1のタ
スクをセーブして、システム・プロセッサからのタスク
・セーブ後に復元命令またはデバッグ命令の受領に応答
して実施される、以前にセーブされたタスクまたは同じ
タスクを復元する方法の各ステップを、インタリーブさ
せることもできる。
以下に本発明に基づく論理回路の例と代替例の諸態様と
を、添付の図面を参照しながら説明する。
E、実施例 次に、本発明に基づく論理回路の具体的な例について説
明する。この特定の例は、レベル感受性走査設計(LS
SD)技術に従って設計されたプロセッサの形のもので
ある。
LSSD技術の概要 LSSDとは、かなり前から知られ、複雑な回路をテス
トするのに用いられている設計技術である。LSSDの
本質は、複雑な回路中の組合せ論理回路をセクションに
分割し、各セクションを状態ラッチで連結することであ
る。これらの状態ラッチは互いに連鎖されて、従来は製
造時の回路テストに使用されてきた走査連鎖をもたらす
第1図は、走査連鎖中の3つのシフト・レジスタ・ラッ
チ(SRL)段の概略構成図である。LSSD走査連走
査連鎖量初のSRLの入力が回路の最初の入力となり、
最後のSRLの出力が回路の最初の出力となるような、
SRLの連鎖によって形成される。最初のSRL以外の
すべてのSRLは、連鎖中の先行するSRLからその走
査入力を受は取る。最後のSRL以外のすべてのSRL
は、連鎖中の後続のすべてのSRLに入力を供給する。
また、組合せ論理ブロックCLB (x−1,y)、C
LB (x、Y) 、CLB (x+1.y) 、CL
B (x−L  y+t)、CLB (x、Y+1)、
CLB (x+ L ’I+ 1)も図に示されている
LSSD  SRLは2つのラッチL1とL2から構成
される。どちらのラッチも、活動クロックが低レベルの
とき単一のデータ・ビットを記憶することができる。第
1のラッチL1は、2つのデータ人力りとI及び2つの
クロック人力CとAを有する。クロック入力は、クロッ
ク生成機構のクロック出力端から直接引き出すこともで
き、またSRLをロードするための動作条件によって決
まる他の機能信号によってゲートされることもできる。
クロックCが高活動レベルのとき、ラッチL1の内容は
データ人力りの値を取る。クロックAが高活動レベルの
とき、ラッチL1の内容は、第1のラッチL1がそのデ
ータ入力端Iで、走査連鎖中の先行するSRL (SR
L (x−1))のL2ラッチの出力端から受は取った
データ人力Iの値を取る。クロック入力端Aで正のクロ
ック・パルスを受は取ると、Llは5RL(x−1)の
L2の値を取り、クロック入力端Bで後続の正のクロッ
ク・パルスを受は取るとき、その値がSRL (x)の
ラッチL2に転送される。クロックCとAが決して同時
に活動状態にならないことが、LSSDの要件である。
第2のラッチL2は単一のクロック人力Bを有し、第1
のラッチL1から直接内部的にそのデータ入力を受は取
る。クロックBが高活動レベルのとき、ラッチL2の内
容はラッチL1に記憶された値を取る。ラッチL2の内
容は、出力端Doで利用可能である。
従来のLSSD論理回路では、Aクロックは製造時に回
路をテストするためにだけ必要である。
Aクロックは、デバイスの主入力端にハードワイヤ接続
され、製造デバイスのテスト中にテスト装置によって駆
動される。Aクロックの作用は、Bクロックとあいまっ
てLSSD連鎖を走査することである。走査刻時モード
のとき、SRLの第1のラッチL1は、走査連鎖中で先
行する5RL(SRL (x−1))のL2ラッチの出
力端からその入力データを受は取る。クロック入力端A
で正のクロック・パルスを受は取ると、SRL (x)
のL1ラッチは先行するSRLのL2ラッチの値を取り
、クロック入力端Bで後続の正のクロック・パルスを受
は取るとき、SRL (x)の対応するL2にその値が
転送される。
SRLはまた、タスクの機能的処理中にある役割を果た
す。1つまたは複数のSRLが機能上単一のエンティテ
ィとして働くとき、そのエンティティをレジスタと呼ぶ
。機能的刻時においては、SRLは、Cクロック入力端
とBクロック入力端でへ交互に一連の正のクロック・パ
ルスを受は取り、したがって、データ入力端りの値がL
lにロードされ、次いでL2にロードされる。タスクの
機能的処理の間、回路の動作状態は任意の時点でレジス
タ中のデータによって記録される。SRLまたはレジス
タは、走査連鎖を機能的に処理する際に機能的処理では
利用されないある役割を演じる。
本発明に基づく論理回路の例 LSSD論理回路に基づく本発明のこの例では、その回
路の動作状態が、任意の時点でそれに固有のSRLの内
容によって一義的に定義される。本発明は、通常なら製
造時の回路テストの後は何の目的にも利用されないLS
SD走査連鎖を、タスク切替え機構の基礎として利用す
るものである。
プロセッサの機能状態は、各プロセッサのクロック・サ
イクルごとに変化することができる。この状態は、以前
の状態及び回路への1次入力の関数である。走査連鎖の
少なくとも一部分のSRLの制御を、走査連鎖の少なく
とも一部分が(テスト・データではなくて)それらのS
RLの機能的データをシフト・アウト及びシフト・イン
するのに使えるように修正することにより、回路の状態
をいつでもセーブし、後で再開または復元することがで
きる。このようにして、任意のタスクを一時的に中断し
て後で再開することができる。また、所定のまたは以前
にセーブした回路の状態を現状態の代りにロードして、
回路にまったく新しいタスクを実行させることもできる
。このようにして、回路を制御された形で異なるタスク
間で切り替えることができる。
第2図は、LSSD技術で設計したプロセッサ10の概
略構成図である。プロセッサ10は、プロセッサ回路1
1、制御回路12、外部インタフェース回路13、LS
SDクロック生成機構14を含む。図に示したプロセッ
サは、主システム・バス25を介して接続されたコプロ
セッサである。
バス25には、図示してないが、主システム・プロセッ
サ、主記憶装置、読取り専用記憶装置、背景記憶装置用
アダプタ、キーボード等が接続されているものとする。
プロセッサ回路11はプロセッサの計算エンジンであり
、プロセッサ10によって実行されるタスクを実行する
。制御回路12は、プロセッサ10の動作モードを制御
する。制御回路12は、システム・バス25から命令線
16と18を介して外部インタフェース回路13を経て
受は取った命令に応答することができる。制御回路12
は、制御線19を介してプロセッサ回路11に制御情報
を供給して、たとえばプロセッサ回路を始動または停止
させるように接続されている。制御回路12は、LSS
Dクロック生成機構14の動作を制御するように、制御
線20を介して接続されている。外部インタフェース回
路13は、プロセッサ10と外部装置の通信を制御する
。図に示すように、外部インタフェース回路13は、命
令線16を介してプロセッサ10に入る命令の流れ、及
びデータ線15を介してプロセッサ10に出入りするデ
ータの流れを制御し、また制御線17を介してバス25
に接続されている。また外部インタフェース回路13を
使って、プロセッサ10を他の外部装置に接続すること
もできる。たとえば、プロセッサ10が表示アダプタの
一部である場合、外部インタフェース回路13は、プロ
セッサ10を表示アダプタ内または表示すブシステム内
の他の装置(図示せず)に接続することができる。LS
SDクロック生成機横14は、CLOCK線22−24
を介してプロセッサ10内の回路11、12.13にす
べてのLSSDクロックを供給する。LSSDクロック
生成機構14は、通常通りに内部クロック源または外部
クロック源(図示せず)からその1次クロック周波数を
受は取ることができる。
第3図は、プロセッサ10のSRLを互いに直接連結し
て形成される、走査連鎖30−37の概略図である。こ
の場合は8つの走査連鎖があって、それぞれ1次人力3
0i−37i (走査入力)で始まり、1次出力30o
−37o (走査出力)で終わっている。第3図に示す
ように、走査連鎖は、制御回路12とプロセッサ回路1
1を通って延びている。この例では、走査連鎖は外部イ
ンタフェース回路13を通っていないが、製造時の回路
テストに必要なら、そうすることも可能である。通常の
回路テストでは、走査連鎖全体が走査される。
本発明のこの例では、タスク切替えは、プロセッサ回路
11中のSRLを含む走査連鎖の部分だけを走査するこ
とによって行なう。実行されるタスクの状態を定義する
のは、プロセッサ回路11のSRLである。制御回路1
2中のSRLは、プロセッサ10の動作を制御するので
、走査してはならない。同様に、走査連鎖が外部インタ
フェース回路13中にまで延びる場合、インタフェース
回路13はプロセッサ10に情報を入力しそこから情報
を出力するのに使用されるので、回路13中のSRLを
走査してはならない。
プロセッサ回路11中の走査連鎖の一部だけを走査でき
るようにするため、プロセッサ回路11中に走査連鎖の
最初のレジスタ・ラッチ39に入る入力データ経路38
を設け、同様にプロセッサ回路11中に走査連鎖の最後
のレジスタ・ラッチ41から出る出力データ経路40を
設けて、走査連鎖にデータを入力しそこからデータを出
力できるようにする。入力データ経路38と出力データ
経路40は、外部インタフェース回路13を介してバス
25のデータ線15に接続されている。プロセッサ回路
11中の各走査連鎖が等しい数のSRLを含むことが好
ましい。異なる数のSRLでも扱えるが、タスク・デー
タの処理やSRLの走査と処理が複雑になる。
第4図は、第2図に示した論理回路内のクロック生成機
構14の一部を示す。クロック分割器C8は、1次クロ
ック人力″CLOCK  INPUT″″に応答して、
2つのクロック列C1と02を発生する。この2つのク
ロック列は、通常(7)LSSD  Bクロック及びC
クロックを供給するのに使用する。第4図には、LSS
DシステムAクロックを示す線も示しである。図を見る
とわかるように、このクロックはCLOCK  INP
UTからは生成されず、回路の正常動作中(すなわち製
造時テストの後)はLSSDシステムAクロックは非活
動状態になる。
通常のLSSD論理回路では、Aクロック、Bクロック
、及びCクロックが論理回路内のすべてのSRLに供給
される。しかし、本発明による論理回路のこの例では、
制御回路12で生成されたプロセッサ回路11中の制御
信号TSR8TEPとTSRMODEに基づいて、修正
されたクロック信号A°、Bo、CoをSRLに供給す
るため、ANDゲート42と43が設けである。回路製
造時にデバイス・テストのためTESTMODE信号を
受は取るマルチプレクサ・スイッチを使って、LSSD
システムAクロックをプロセッサ回路11のSRLに印
加させる。回路の正常使用時には、TESTMODE信
号は非活動状態であり、したがってANDゲート42か
らの出力を使ってA9クロックを生成する。
第5図は、第3図の最初の走査連鎖3o中の4つのラッ
チ・レジスタ段SRL (i−1) 、SRL (1)
 、SRL (i+1) 、SRL (i+2)を示す
。5RL(i−1)はプロセッサ回路11の外部にあり
、他の3段はその内部にある。5RL(i)と5RL(
i+1)のデータ入力端は、マルチプレクサ・スイッチ
45と46を介してデータ経路38中の当該の線に接続
されており、TsRMODE信号が活動状態のとき、新
しいタスク状態データをそれらのレジスタにロードさせ
る。
5RL(i−1)の走査クロック入力端は、LSSDシ
ステムAクロックを受は取るように接続されている。S
RL (i) 、SRL (i+1)、SRL (i+
2)の走査クロック入力端は、A ’クロックを受は取
るように接続されている。5RL(i−1)の機能クロ
ック入力端は、Cクロックを直接受は取るように接続さ
れている。5RL(i)とSRL (i+1)の機能ク
ロック入力端は、D入力端でデータをロードするための
条件と実行すべき動作とに応じて、ゲート回路(図示せ
ず)によってゲートされたCクロックを受は取るように
接続されている。SRL (i+2)の機能入力端は 
Clクロックを受は取るように接続されている。5RL
(i)のラッチL1のI入力端は、SRL (i−1)
のL2ラッチに直接接続することができ、通常は、5R
L(i)のI入力は、そのラッチから取る。しかし、デ
バッグ制御信号が活動状態の場合は、マルチプレクサ・
スイッチ44が、走査連鎖30の出力端30oのフィー
ドバック経路からのデータを選択する。
上記の各種回路要素の動作は、下記のタスク・セーブ動
作及びタスク復元動作の説明から明らかになるはずであ
る。−殻内に述べると、制御回路工2は、TSRMOD
E信号とTSR8TEP信号を生成して、LSSDクロ
ック生成機構14に、プロセッサ回路11内だけのSR
Lの刻時を機能モードC’−B’刻時から走査モードA
”−B’刻時に変更させ、それによってプロセッサ回路
11中のSRL内のデータを走査連鎖のその部分に沿っ
て刻時できるようにする。走査連鎖の他の部分のSRL
は、正常機能モードで、通常のC−B刻時によって動作
する。本発明のこの例の動作の例を、次にタスク・セー
ブ動作、タスク復元動作、及びタスク・セーブ/復元組
合せ動作に関して示す。
タスク・セーブ動作の例 次に第4図を参照して、第2図及び第3図のプロセッサ
内で実行されるタスク・セーブ動作について説明する。
タスク・セーブ動作は、通常、主システム・プロセッサ
(図示せず)から主システム・バス25を介して外部イ
ンタフェース回路13で受は取る、タスク・セーブ命令
によって開始される。この命令は線18を介して制御回
路12に渡され、制御回路12がクロック生成機構14
への制御信号(TSRMODE)を活動化する。
クロック生成機構14は、この制御信号に応答して、プ
ロセッサ回路11中のSRLへのすべてのC°クロック
を使用禁止にして、プロセッサ回路11内でのすべての
機能的処理を中止させる。それによってプロセッサ10
の現タスクが停止し、プロセッサ10の現状態がプロセ
ッサ回路11のSRL中に保持される。クロック生成機
構14は引続きB′クロックをプロセッサ回路11に送
る。
SRLへの他のクロックがない場合、B“クロックは、
SRLラッチ対の第1のラッチの状態がその対の第2の
ラッチに読み込まれることを意味するにすぎないが、第
1のラッチの状態が変化していないので、状態の変化は
起こらない。
プロセッサ回路11内の各走査連鎖の最後の5RL41
からの内容がバス40を介して読み出され、記憶装置に
記憶される。この例の場合のように、プロセッサ10が
、バス25を介して主システム・プロセッサと主システ
ム・メモリに連結されているコプロセッサである場合は
、SRLから読み出したデータをバス25を介して主記
憶装置に送り、記憶することができる。
次いで、制御回路12はもう一つの制御信号(TSR5
TEP)をクロック生成機構14に送る。クロック生成
機構14は、この制御信号に応答して、A°クロックを
活動化してプロセッサ回路11に入れる。プロセッサ回
路11へのA′クロックは B lクロックの間にある
。そのため、プロセッサ回路11中のSRLの内容が走
査連鎖中でステップ・ダウンされ、各A’−B“クロッ
ク対が1ステツプをもたらす。TSR8TEP制御信号
は、走査連鎖中で充分なデータをステップさせるのに必
要なりロック・サイクル数の間、活動状態に保持される
。たとえば8つの走査連鎖があり、タスクが16ビツト
・データとしてセーブされる場合、TSR8TEPは2
クロツク・サイクルの間活動状態に保たれる。その後、
制御回路12はTSR8TEP制御信号を非活動化する
プロセッサ回路12の走査連鎖の最下端にある5RL4
1は、このとき、以前は走査連鎖中のそれらの5RL4
1のすぐ上のSRLにあったデータを含んでいる。プロ
セッサ・コア走査連鎖の最下端にあるSRLの内容が読
み取られるが、上記のようにそれをメモリにセーブする
こともできる。
タスク・セーブ動作は、TSR8TEP制御信号の反復
的活動化を続ける。セーブされるタスクは、走査連鎖を
プロセッサ回路の最下端にあるSRLまで流れ下る。各
TSR8TEP信号の後に、プロセッサ回路11の最下
端にあるSRL内のデータが読み取られ、メモリにセー
ブされる。タスク・セーブ動作は、プロセッサ回路11
中のSRLの全内容が読み取られてメモリにセーブされ
るまで続く。セーブされたタスク・データを次のタスク
復元動作で入力データとして使用して、プロセッサにそ
のタスクをセーブされた地点から再開させることができ
る。さらに、セーブされたタスク・データを、診断のた
め分析することもできる。
タスク・セーブ動作の間、セーブされているタスクを出
力30o−37oからプロセッサ回路中の最初のSRL
 (SRL (i))にロードし戻すことにより、その
タスクを同時に復元することもできる。これは、制御信
号(DEBUG)を制御回路11からマルチプレクサ・
スイッチ44に供給して、走査連鎖の終りから(すなわ
ち、第5図で、走査連鎖30の終り300から)のフィ
ードバック経路を選択することによって、実施できる。
これは、プロセッサ状況の単純なダンプをプログラム実
行の適当な時点でセーブし、同じタスクの復元によって
それを続行させることができるので、論理回路上で走行
するユーザ・ソフトウェアをデバッグするのに、非常に
有用である。
別法として、あるいはそれに加えて、そのデータの各シ
フトごとに、走査してメモリに出力されるデータの背後
にあるプロセッサのリセット状態または予め定義された
再開状態(たとえば、すべてゼロ)を注入するための、
マルチプレクサを設けることもできる。
上記の動作は本質的に反復的であり、主システム・プロ
セッサからの1つの命令で開始されることを了解された
い。メモリに記憶されるSRLからのデータは、理想的
な場合はメモリ内の連続する位置に記憶され、したがっ
て、後続時間にプロセッサ・タスクを復元するため、プ
ロセッサ10に確実に戻すことができる。これらの態様
に鑑みて、タスク・セーブ命令は、主システム・プロセ
ッサからの命令ストリングの形を取ることが好ましい。
こうした命令は、当技術分野では周知であり、ここで詳
しく説明する必要はないが、タスクを開始するのに1つ
の命令しか要らないので、非常に効率がよい。データ・
パスを介して供給されるデータの連続するワードが、主
システム・メモリの連続するメモリ位置に記憶される。
タスク・セーブ動作の終りに、制御回路はTSRMOD
E制御信号を非活動化し、プロセッサは、リセット状態
または所定の再開状態で再開する。
別法として、タスク・セーブ動作の終りにタスク復元動
作をただちに開始して、プロセッサ回路11に新しいタ
スクをロードすることもできる。
この場合は、制御回路12はTSRMODE制御信号を
活動レベルに維持し、タスク復元動作を開始してプロセ
ッサ回路11に新しいタスクをロードする。
タスク復元動作の例 次に、第5図を参照しながら、第2図及び第3図のプロ
セッサで実行されるタスク復元動作について説明する。
タスク復元動作は、通常、外部インタフェース回路13
で受は取った主システム・プロセッサ(図示せず)から
のタスク復元命令によって開始される。この命令は、線
18を介して制御回路12に渡されて、クロック生成機
構14への制御信号(TSRMODE)を活動化させる
クロック生成機構は、この制御信号に応答して、プロセ
ッサ回路中のSRLへのすべてのCfクロ’yりを非活
動化して、プロセッサ回路のすべての動作を停止させる
。クロック生成機構14は、上記のタスク・セーブ動作
の場合と同様に、プロセッサ回路11にB″クロツク送
り続ける。
タスク復元動作は、ゲートされたCクロックを使って、
プロセッサ回路の最上端にある5RL39に、新しいタ
スクのためのデータ経路38からのデータの最初の項目
をロードすることによって始める。次いで、制御回路1
2は、クロック生成機構14への別の制御信号(TSR
8TEP)を活動化させる。この制御信号に応答して、
ゲートされたCクロックが非活動化され、クロック生成
機構14がLSSD  A’クロックを活動化して、プ
ロセッサ回路11に入れる。プロセッサ回路11に入る
A′クロックは B yクロックの間にくる。そのため
、プロセッサ回路11中のSRLの内容が、走査連鎖中
をステップ・ダウンされ、各A’−B’クロック対が1
ステツプをもたらす。
TSR8TEP制御信号は、走査連鎖中で充分なデータ
をステップさせるのに必要なりロック・サイクル数の間
、活動状態に保持される。たとえば、8つの走査連鎖が
あり、タスクが16ビツト・データとしてロードされる
場合、TSR8TEPは2クロツク・サイクルの間、活
動状態に保たれる。
次いで、制御回路12はTSR8TEP制御信号を非活
動化する。プロセッサ回路11の走査連鎖の最上端にあ
るSRLに以前にロードされた、新しいタスクのための
データの最初の項目は、走査し、て、走査連鎖中のそれ
らのSRLのすぐ下のSRLに入れられている。新しい
タスクのためのデータの次の項目が、プロセッサ回路の
走査連鎖の最下端にあるSRLにロードされる。タスク
復元動作は、TSR8TEP制御信号の反復的活動化を
続ける。各TSR8TEP信号の後に、新しいタスクの
ためのデータの新しい項目が、プロセッサ回路11の走
査連鎖の最上端にあるSRLにロードされる。タスク復
元動作は、新しいタスクが古いタスクに完全に置き換わ
るまで続く。次いで、制御回路12はTSRMODE信
号を非活動化し、プロセッサ10は新しいタスクを再開
して続行する。
第5図に示した配置では、バス38からのデータは、5
RL(i)とSRL (i+1)のD入力にゲートされ
る。しかし、別法として、データが■経路を介してそれ
らのSRLにゲートされるように、SRLを配列するこ
とも可能である。
タスク復元動作は、上記のタスク・セーブ動作の場合と
同様に、SRLにロードされるデータが隣り合った記憶
位置に正しい順序で記憶されている場合に、1つの命令
ストリングで開始できることを了解されたい。
タスク・セーブ/復元組合せ動作の例 ストリング命令を利用したい場合、タスク・セーブ/復
元組合せ動作を実施する好ましいやり方は、タスク・セ
ーブ命令を実行し、それに続いてタスク復元動作を行な
うものである。
しかし、タスク・セーブ動作とタスク復元動作をインタ
リーブすることも可能である。インタリーブされた動作
は、上記の個別の動作と非常に類似している。TSRM
ODEが活動状態の間に行なわれる反復シーケンスは、
次の通りである。
1)プロセッサ回路11の最下端の5RL41からデー
タを読み取る。
2)必要なりロック・サイクル数の間、TSR8TEP
を活動化する。
3)プロセッサ回路11の最上端の5RL39にデータ
をロードする。
タスク・セーブ/復元組合せ動作は、新しいタスクが古
いタスクに完全に置き換わるまで続く。
次いで、制御回路はTSRMODE制御信号を非活動化
し、プロセッサは再開して新しいタスクを続行する。
ストリング命令を利用して、SRLに挿入すべきデータ
をシステム・メモリからバス25を介して転送し、かつ
インタリーブされたタスク・セーブ動作及びタスク復元
動作を使用したい場合、プロセッサ10内に一時バッフ
ァ・メモリを設ける必要がある。こうしたバッファを設
けると、インタリーブされたタスク・セーブ及び復元命
令を実行する前に、ストリング命令を使ってSRLに挿
入スべきデータをシステム・メモリから転送することが
できる。この手法は、タスク・セーブ動作をタスク復元
動作が別々の場合よりも速いタスク切替えが可能である
が、追加のバッファが必要である。
上記の本発明の例では、従来は製造時の回路テストでの
み使用されていたLSSD走査連鎖を使って、LSSD
SS上ッサの現タスクをセーブし、新しいタスクをロー
ドすることが可能である。機能的処理中のプロセッサの
タスクまたは状態は、プロセッサ回路11内のSRLま
たはレジスタによって定義される。プロセッサの現タス
クは、プロセッサを停止し、プロセッサ回路11内のS
RLまたはレジスタを読み取り、その内容をメモリに記
憶することによってセーブされる。プロセッサに対する
新しいタスクは、プロセッサを停止し、プロセッサ回路
11内のSRLまたはレジスタに入力データ・ストリー
ムからのデータをロードすることによってロードされる
。ロードされた入力データ・ストリームは予め定義され
たまたは前にセーブされたプロセッサ・タスクを表し、
「復元」されたと言われる。タスク・セーブ及び復元動
作は、別々のタスク・セーブ動作とタスク復元動作によ
っても、あるいはプロセッサ回路11内のSRLまたは
レジスタをリンクするLSSD走査連鎖中でデータを制
御しながらステップさせることによっても実行できる。
本発明は、多重処理環境中でタスクを実行するのに適し
た論理回路に一般に適用できる。本発明が特に適用可能
な1つの回路クラスは、コプロセッサ及びコブロセッシ
ング論理回路用のものである。
第9図に、表示アダプタ10の形の、本発明による論理
回路用の可能な応用例を示す。第9図は、通常の多重タ
スク処理プロセッサの形の中央演算処理装置80と、シ
ステム・バス25を介してそれに接続された表示アダプ
タ10を含めて他のいくつかの装置を含む。システム・
バスは、データ・バス90、アドレス・バス91、制御
バス92を含む。システム・バスには、ランダム・アク
セス・メモIJRAM82及び読取り専用記憶装置81
が接続されている。システム・バスをディスク装置など
の周辺装置84に接続するための入出力アダプタ83が
設けである。同様に、ワークステーションを外部プロセ
ッサ(たとえば、ホスト・コンピュータ)に接続するた
めの通信アダプタ85が設けである。キーボード87は
、キーボード・アダプタ86を介してシステム・バスに
接続されている。表示アダプタ10は、表示装置93上
でのデータの表示を制御するために使用される。動作に
際しては、CPUはシステム・バスを介して表示アダプ
タにコマンドを出して、表示処理タスクを実行させる。
実行されるタスクの変更を必要とする場合は、プロセッ
サは、システム・バスを介して適当なタスク切替え命令
を出す。
本発明は上記の特定の例に限定されるものではなく、本
発明の範囲内で多数の変更及び追加が可能なことを理解
されたい。
たとえば、上記の特定の例はLSSD技術で実施されて
いるが、走査連鎖は適切な技術ならどんな技術で実施し
てもよい。たとえば、第9図は、走査入力”5CAN″
でマルチプレクサを制御することにより、組合せ回路ブ
ロックCLB (x。
y)の隣接ブロックからデータをラッチするのか、先行
のDラッチからデータをラッチするのかを選択するとい
う、エツジ・トリガ式Dラッチ(たとえばDX)、から
形成される走査連鎖を示している。
上記の特定の例では、8つの走査連鎖を使用し、データ
経路45と47のデータ幅は16ビツトであったが、異
なる走査連鎖数や異なるデータ幅を使用することも可能
である。
F0発明の効果 上記のように、本発明は、複雑な論理回路の場合でも、
タスク切替えが確実かつ効率的に実行できる機構を提供
する。
【図面の簡単な説明】
第1図は、LSSD論理回路用のシフト・レジスタ・ラ
ッチ段の概略図である。 第2図は、LSSDSS上ッサの形の本発明の1例の概
略構成図である。 第3図は、第2図のLSSDSS上ッサの走査連鎖の概
略図である。 第4図は、第2図のLSSDSS上ッサのクロック生成
機構の一部分の概略図である。 第5図は、第3図の走査連鎖の一部分の概略構成図であ
る。 第6図は、第2図及び第3図のプロセッサでのタスク・
セーブ動作の信号波形図である。 第7図は、第2図及び第3図のプロセッサでのタスク復
元動作の信号波形図である。 第8図は、第2図及び第3図のプロセッサを表示アダプ
タとして組み込んだパーソナル・コンピュータ・システ
ムの概略構成図である。 第9図は、本発明の別の例の走査連鎖の概略構成図であ
る。 10・・・・プロセッサ、11・・・・プロセッサ回路
、12・・・・制御回路、13・・・・外部インタフェ
ース回路、14・・・・LSSDクロック生成機構、1
5・・・・データ線、1θ、18・・・・命令線、17
.20・・・・制御線、22〜24・・・・CLOCK
線、25・・・・システム・バス、30〜37・・・・
走査連鎖、38・・・・入力データ経路、39.41・
・・・レジスタ・ラッチ、40・・・・出力データ経路
。 FIo、 2 FIG、 1 IG

Claims (1)

  1. 【特許請求の範囲】 複数の刻時式状態ラッチ(SRL)と、タスクの機能的
    処理を行なうための組合せ論理回路(CLB)とを含む
    、多重タスク処理環境でタスク処理を行なうための論理
    回路であって、 (a)状態ラッチの内容がタスクの現状態を定義し、(
    b)タスクは、状態ラッチの機能的刻時(C’−B’)
    に応答して、組合せ論理回路によって処理され、 (c)状態ラッチはさらに、ラッチの少なくとも1つの
    走査可能な連鎖を形成するように相互接続されており、 (d)前記論理回路はさらにタスク切替え手段を含み、 (e)前記タスク切替え手段は、機能的処理中にタスク
    切替えコマンドの受領に応答して、状態ラッチの機能的
    刻時を中断し、それによって機能的タスク処理を一時的
    に中止し、前記中止の間にその走査連鎖の状態ラッチま
    たは各走査連鎖を走査させ、それによって、タスクの状
    態を定義する状態ラッチの既存内容を状態ラッチからセ
    ーブし、またはタスク状態を定義する新しい内容を状態
    ラッチにロードし、あるいはその両方を行なえるように
    することを特徴とする、 論理回路。
JP4465990A 1989-02-27 1990-02-27 タスク処理用論理回路 Granted JPH02289007A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8904412.7 1989-02-27
GB8904412A GB2228596A (en) 1989-02-27 1989-02-27 Logic circuit for task processing

Publications (2)

Publication Number Publication Date
JPH02289007A true JPH02289007A (ja) 1990-11-29
JPH0563820B2 JPH0563820B2 (ja) 1993-09-13

Family

ID=10652372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4465990A Granted JPH02289007A (ja) 1989-02-27 1990-02-27 タスク処理用論理回路

Country Status (3)

Country Link
EP (1) EP0386870A3 (ja)
JP (1) JPH02289007A (ja)
GB (1) GB2228596A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097461A (ja) * 1996-07-03 1998-04-14 Internatl Business Mach Corp <Ibm> メモリ用マルチ・スレッド・セル

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097461A (ja) * 1996-07-03 1998-04-14 Internatl Business Mach Corp <Ibm> メモリ用マルチ・スレッド・セル

Also Published As

Publication number Publication date
GB8904412D0 (en) 1989-04-12
EP0386870A2 (en) 1990-09-12
JPH0563820B2 (ja) 1993-09-13
EP0386870A3 (en) 1992-12-30
GB2228596A (en) 1990-08-29

Similar Documents

Publication Publication Date Title
US5280616A (en) Logic circuit for task processing
US6473727B1 (en) Processor development systems
KR950009692B1 (ko) 정보처리장치의 테스트 용이화 회로
JPS5948424B2 (ja) 並列計算システム
JPH0260145B2 (ja)
JPS63291134A (ja) 論理集積回路
US4355389A (en) Microprogrammed information processing system having self-checking function
JPS61253555A (ja) トランザクシヨン・アナライザ
US6928586B1 (en) Method and apparatus for saving peripheral device states of a microcontroller
JPH0815376A (ja) 集積回路テスト制御装置
US5485466A (en) Method and apparatus for performing dual scan path testing of an array in a data processing system
US20040250150A1 (en) Devices, systems and methods for mode driven stops notice
KR20020026814A (ko) 컴퓨터 시스템의 중지 및 재개 동작을 위한 방법 및 장치
US4891773A (en) Logic simulation
US6014752A (en) Method and apparatus for fully controllable integrated circuit internal clock
JP2550837B2 (ja) スキャンパスのテスト制御回路
EP1421511A2 (en) Computing system
JPH0652070A (ja) 集積回路のデータ保護装置およびデータ保護方法
RU2138075C1 (ru) Микрокомпьютер с развитыми средствами поддержки
US5515517A (en) Data processing device with test circuit
JPH02289007A (ja) タスク処理用論理回路
EP0523438A2 (en) Microcomputer with boundary-scan facility
GB2338320A (en) Processor development debugging using in-circuit emulation
KR0162462B1 (ko) 마이크로 프로세서 구동장치 및 구동방법
JP3529401B2 (ja) 集積回路