JP2000502202A - Instruction Processor Job Scheduling - Google Patents

Instruction Processor Job Scheduling

Info

Publication number
JP2000502202A
JP2000502202A JP09522721A JP52272197A JP2000502202A JP 2000502202 A JP2000502202 A JP 2000502202A JP 09522721 A JP09522721 A JP 09522721A JP 52272197 A JP52272197 A JP 52272197A JP 2000502202 A JP2000502202 A JP 2000502202A
Authority
JP
Japan
Prior art keywords
signal
processor
job
instruction
instruction processor
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.)
Ceased
Application number
JP09522721A
Other languages
Japanese (ja)
Other versions
JP2000502202A5 (en
Inventor
ロンストロム,ミカエル
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
Publication of JP2000502202A publication Critical patent/JP2000502202A/en
Publication of JP2000502202A5 publication Critical patent/JP2000502202A5/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 処理装置(120、220)において、信号プロセッサ(124、224)は1個または複数個の命令プロセッサ(122、222)が実行するジョブをスケジュールして命令プロセッサがジョブを実行するときジョブ関連信号を命令プロセッサに送る。命令プロセッサ(122)は現在のリスト(150)をメモリ内に保持する。命令プロセッサが実行する現在のジョブから、実行する新しいジョブに関連するバッファ信号を命令プロセッサが生成すると、命令プロセッサは新しいジョブに関連するバッファ信号を現在のリスト内に選択的に記憶する。バッファ信号は現在のジョブの優先レベルに従って現在のリスト内に選択的に記憶される。バッファ信号を生成した現在のジョブ内の命令が現在のジョブ内に所定の順序に列んでいる場合は、現在のジョブが終わるとすぐ新しいジョブが実行される。命令プロセッサがバッファ信号に関連するジョブの実行を終わると、命令プロセッサは選択的に、(1)信号プロセッサに EXIT 信号を送るか[バッファ信号に関連するジョブが所定の優先レベルを持つ場合、または現在のリストが空の場合]、(2)現在のリスト内の全ての残りのジョブを信号プロセッサに送るか[信号プロセッサが命令プロセッサに割込みを与えている場合]、または(3)現在のリストから別のジョブを取り出して実行する。 (57) [Summary] In a processing unit (120, 220), a signal processor (124, 224) schedules a job to be executed by one or more instruction processors (122, 222), and the instruction processor executes the job. Send a job related signal to the instruction processor. The instruction processor (122) keeps the current list (150) in memory. As the instruction processor generates buffer signals associated with the new job to execute from the current job executed by the instruction processor, the instruction processor selectively stores the buffer signals associated with the new job in a current list. The buffer signals are selectively stored in the current list according to the priority level of the current job. If the instructions in the current job that generated the buffer signal are listed in a predetermined order in the current job, a new job is executed as soon as the current job ends. When the instruction processor finishes executing the job associated with the buffer signal, the instruction processor optionally sends (1) an EXIT signal to the signal processor or [if the job associated with the buffer signal has a predetermined priority level, or (If current list is empty), (2) send all remaining jobs in current list to signal processor [if signal processor is interrupting instruction processor], or (3) current list Fetch another job from and execute it.

Description

【発明の詳細な説明】 命令プロセッサのジョブスケジューリング 発明の背景 1. 発明の分野 この発明は、中央処理装置に含まれる命令プロセッサが実行するジョブのスケ ジューリングに関する。 2. 関連技術およびその他の考慮 エリクソンAPZ 212 20などの処理装置は、命令プロセッサが実行す るジョブを信号プロセッサを用いてスケジュールすることにより、命令プロセッ サが実行するジョブの文脈を迅速に切り替える。この装置の文脈切替え時間は多 くの他のプロセッサに比べて非常に速い。 この装置では、各ジョブは関連する信号を有する。この信号は、命令プロセッ サがそのジョブに関してどのブロックのコード(例えば、プログラム記憶内にあ る)を実行するか、またその実行にどのデータを用いるか、について命令プログ ラムに指示する情報を含む。命令プロセッサがジョブの実行を終わると、信号プ ロセッサは新しい信号(新しいジョブに関連する)を取り出して命令プロセッサ に送る。信号プロセッサは、信号プロッセサの複数のジョブバッファの中の選択 された1つから優先順に新しい信号を取り出す。 信号プロセッサから得られた新しいジョブは前のジョブとは全く関係がなくて よく、したがって全く異なるデータを用いてよい。更に、外部のソース(例えば 、他の処理装置)から他のジョブが到着し、かつその優先度が高い場合は、その ジョブは古いジョブが出る前に古いジョブの実行を中断する。 このように、上述の処理装置ではコードとデータにより文脈がしばしば変わる 。これでは文脈があまり頻繁に失われるので、文脈を保存するために高速メモリ (例えば、キャッシュメモリ)を用いても何にもならない。この装置で文脈保存 というのはデータをレジスタに記憶することだけであって、これはジョブの実行 中にだけ行うことができる。 このような装置を詳細に検討するため、図1に中央処理ユニット20の一部を 示す。特定すると、命令プロセッサユニット(IP)22、信号プロセッサ(S P)ユニット24、プログラム記憶(PS)26、データおよび参照記憶(DR S)28、複数の地域プロセッサバスハンドラ(RPH)301,...,n、「 別の」プロセッサバスハンドラ(IPH)31、保全ユニット(MAU)32で ある。命令プロセッサ22と、信号プロセッサ24と、IPHB31と、RPH 30はそれぞれ独立のプロセッサである。命令プロセッサ22はジョブを実行し 、各ジョブはプログラム記憶(PS)26内に記憶されている1ブロックの命令 にそれぞれ対応する。信号プロセッサ24は命令プロセッサ22のジョブのスケ ジューラとして動作する。このようなスケジューリングに関して、信号プロセッ サ24はジョブ毎に例えば外界または命令プロセッサ22から「信号」を受ける 。信号は或ブロックの命令のどの部分を実行するかを指示する命令であり、また 信号はブロックの実行に用いるデータを含む。信号プロセッサ24は受けた信号 を分析し調整して、これらの信号に優先度を割り当てた後に命令プロセッサ22 に送る。データおよび参照記憶28の参照部分は、この装置に用いられる信号や ブロックや変数を示す情報を含む。 構成によっては、図1の中央処理装置20は2個の命令プロセッサ22、2個 の信号プロセッサ24、1個または複数個のプロセッサバスハンドラ(IPH) 31、更に複数個の地域プロセッサバスハンドラ30を備え、これら全てをMA U32とバス34および36を通して図1の鏡像として接続する。このような構 成では、各命令プロセッサ22は自身のプログラム記憶26と自身のデータおよ び参照記憶28を備える。 地域プロセッサバスハンドラ(RPH)301,...,nは対応する地域プロ セッサバス381,...,nにより、図示していない地域プロセッサに接続する 。同様に、1個または複数個の他のプロセッサバスハンドラ31を適当なバス3 9に接続してよい。地域プロセッサバスハンドラ(RPH)301,...,nと 他のプロセッサバスハンドラと信号プロセッサ24は、命令プロセッサ22がプ ログラム記憶26に記憶されている応用ソフトウエアを実行しているときに命令 プロセッサ22の負荷を軽減する働きをする。 図2は、中央処理装置20の命令プロセッサ22、信号プロセッサ24、他の プロセッサバスハンドラ31、地域プロセッサバスハンドラ(RPH)301, ...,nと、これらの間の相互作用を詳細に示す。特に、図2は信号プロセッサ 24がジョブスケジューラ40と複数のジョブバッファ42A−42D(それぞ れバッファA−Dとも呼ぶ)を備えることを示す。 中央処理装置20では、命令プロセッサ22が1つのジョブを終わると(信号 プロセッサ24に EXIT 信号を送って示す)、信号プロセッサ24は次に実行す るジョブを、最高の優先度を有ししかも空でないバッファ42A−42Dの1つ から検索する。次に、信号プロセッサ24は次に実行するジョブに関連する信号 を命令プロセッサ22に送る。この信号を受けると、命令プロセッサ22はその 信号が指定した新しいブロックのコードの実行を開始する。 場合によっては、命令プロセッサ22が実行する命令から、命令プロセッサ2 2自身が新しい信号を生成する。このような命令プロセッサ生成信号にはいろい ろの種類がある。例えば、組合わせ信号、RP信号、他の命令プロセッサ信号、 バッファされた信号など。組合わせ信号はサブルーチンコールによく似ており、 命令プロセッサ22は組合わせ信号をすぐ実行した後、この組合わせ信号を生成 したジョブの実行に戻る。 RP信号または命令プロセッサ22が生成する他の命令プロセッサ信号は、地 域プロセッサ(RP信号の場合)または他の命令プロセッサ(IP信号の場合) が実行するジョブに関連する信号である。信号プロセッサ24はRP信号または 他のIP信号を受けて、これを地域プロセッサバスハンドラ30(他のIP信号 の場合)または他のプロセッサバスハンドラ31(RP信号の場合)の該当する 方に向ける。 命令プロセッサ22が生成して命令プロセッサ22が実行するIP生成信号を (組合わせ信号を除く)「バッファ信号」と呼ぶ。従来の技術では、バッファ信 号は信号プロセッサ24に送られる(図2の線54で示す)。命令プロセッサ2 2の実行は、命令プロセッサ22が現在実行中のブロック内で継続する。命令プ ロセッサ22から出たこのバッファ信号を受けると、信号プロセッサ24は受け たバッファ信号の優先レベルに従って2つの動作のどちらかを行う。詳しく述ベ ると、受けたバッファ信号の優先レベルの方が命令プロセッサ22が現在実行中 のジョブ(すなわち、バッファ信号を生成したジョブ)の優先レベルより高い場 合は、信号プロセッサ24は命令プロセッサ22に割込みを与えて現在のジョブ を中断する(図2の線56で示す)。そうでない場合は、信号プロセッサ24は このバッファ信号を、このバッファ信号と同じ優先度を有するジョブバッファ4 2A−42Dの1つに最後のジョブとして入れる。このようにして、このバッフ ァ信号はこのバッファ信号と同じ優先度の任意の他の信号として実行される(図 2の線58で示す)。 このように、上に述べた従来の方法では、或ジョブが終わって命令プロセッサ 22が EXIT 命令を実行すると、命令プロセッサ22は次のジョブをスケジュー ルするために必ず信号プロセッサ24を見る。このスケジューリングでは、信号 プロセッサ24は次のジョブをジョブバッファ42A−42Dから優先順に取り 出す。しかしこの従来のスケジューリング方式では、取り出したこのジョブは前 のジョブと全く関係がなくてよい。このような無関係なジョブは恐らく殆ど異な るデータを用いる。また優先度の高いジョブが到着すると、実行中のジョブはEX IT命令に達する前に中断される。 中央処理装置20は種々の形、例えば電話交換装置の制御装置として実現され る。上に述べたように、この実現の一例はエリクソンAXE10スイッチ用のA PZ2l220制御装置である。これについては、Egeland,Terje の「APZ 21220−−AXE10用の新しいハイエンドプロセッサ」、Ericson Review 、No.1,1995,pp.5-12、に述べられており、この文献を引例とする。 このような中央処理装置に必要なことは、文脈を余り頻繁に変えることなく、 キャッシュメモリなどの高速メモリをを効果的に用いる方法である。他に改善し たいことは、信号プロセッサの作業負荷の一部を軽減することである。 発明の概要 命令プロセッサが実行する信号のスケジューリングは主として信号プロセッサ が行う。この発明では信号プロセッサは特有のスケジューリング方式を有し、ま た命令プロセッサは信号プロセッサを邪魔することなく自身のスケジューリング の一部を行う(「現在のリスト」メモリを用いて)。 信号プロセッサは実行する信号を、信号に割り当てられた優先度に従って4個 のバッファの中の1つ、例えばスケジューリングバッファA、スケジューリング バッファB、スケジューリングバッファC、スケジューリングバッファD、に割 り当てる。一般に命令プロセッサは、新しく実行する信号を信号プロセッサから 得るときは(命令プロセッサから EXIT 信号を受けたときなど)、経過時間 (最も古いもの)と優先レベル(すなわち、レベルA、B、C、D)に従って、 信号をバッファA−Dから取り出す。(ここで用いる「最高」の優先レベルは追 跡レベルを考慮に入れない)。 取り出したジョブの優先レベルが「C」優先レベルまたは「D」優先レベルの 場合は、信号プロセッサは現在中断されている同じ優先レベルのジョブがあるか どうか判定する。もしあれば、中断されているジョブの実行を再開し、取り出し たジョブを該当するバッファに戻す。更に、信号プロセッサが高い優先度の信号 を受けたときに(例えば、命令プロセッサから、地域プロセッサから、または「 他の」命令プロセッサから)命令プロセッサがレベルDの信号を実行中であれば 、命令プロセッサはレベルDの信号の実行をすぐ中断する。 命令プロセッサ(IP)が信号を実行すると新しい信号を生成することがある 。このような命令プロセッサ生成信号は一般に信号の EXIT 命令の直前に生成さ れる。この命令プロセッサ生成信号は、組合わせ信号またはバッファ信号(どち らも命令プロセッサが実行する)、または他のプロセッサ(例えば、地域プロセ ッサまたは「別の」命令プロセッサ)向けの信号などである。組合わせ信号はサ ブルーチンコールによく似ており、命令プロセッサは組合わせ信号をすぐ実行し た後、この組合わせ信号を生成した信号の実行に戻る。 命令プロセッサがバッファ信号を生成すると、命令プロセッサはこのバッファ 信号を特殊レジスタに、すなわち「現在のリスト」と呼ぶ待ち行列に入れる。現 在実行中のジョブから出る直前に生成されたバッファ信号が最低の優先レベルで ない場合また割込みが設定されていない場合は、バッファ信号を生成したジョブ から出た後で、バッファ信号に関連するジョブが実行される。 次に、バッファ信号の生成の結果実行したジョブから命令プロセッサが出ると 、バッファ信号の優先レベルに従って、また割込みが設定されているかどうかに 従 って、命令プロセッサはいくつかの代替ステップの1つを実行する。第1の代替 ステップは現在のリストから第1の(次の)ジョブを得てこれを実行することを 含む。第2の代替ステップはスケジューリングの制御を信号プロセッサに戻すこ とを含む。これはバッファ信号の優先レベルが最低のときに起こる。第3の代替 ステップは現在のリストの全内容を信号プロセッサに転送することを含む。これ は割込みが発生したときに起こる。第1の代替ステップでは現在のリスト上のジ ョブから出ると、引き続き現在のリスト上のジョブを順に実行してよい。 バッファ信号を生成するジョブの直後にバッファ信号に関連するジョブを実行 するかどうかは、バッファ信号が所定の種類の命令(例えば EXIT 命令)の直前 に生成されたかどうかによる。したがって、ジョブが終わると同時にバッファ信 号を実行するには、そのバッファ信号を生成した命令がジョブ内で所定の順序に 列んでいなければならない。さもないと、バッファ信号に関連するジョブは現在 のリスト上の残りの信号に従属して他のバッファ信号に関連するジョブの後に実 行され、または信号プロセッサに転送されることさえある。 命令プロセッサによるジョブの実行が中断すると、現在のリストの全内容が信 号プロセッサに転送される。信号プロセッサは現在のリストからの信号を、転送 された信号の優先レベルに従って該当するバッファに入れる。 また信号プロセッサは信号を現在のリストに送る機能を有する。信号プロセッ サが信号を命令プロセッサに送って実行させるとき、信号プロセッサはそのバッ ファを探して、命令プロセッサに転送する信号と同じスレッド識別を有するその バッファ内の別の信号を現在のリストに転送する。外部生成信号(例えば、地域 プロセッサバスハンドラまたはプロセッサバスハンドラを通して受けた)のスレ ッドIDが命令プロセッサにより処理されているCurrentThreadID ではあるが 、割込みの実行または割込みフラグのセットは行われていない、と信号プロセッ サが判定したときは、同様にして信号を現在のリストに入れる。 図面の簡単な説明 上に述べたこの発明の目的や機能や利点は、添付の図面に示す好ましい実施の 形態に関する以下の詳細な説明から明らかである。各図を通して同じ参照記号は 同じ部分を指す。図面は必ずしも尺度通りではなく、この発明の原理を示すこと に重点を置いた。 図1は、中央処理ユニットの少なくとも一部の略図である。 図2は、従来の技術の中央処理装置が備える種々の構成要素を示す。 図3は、この発明の1つの実施の形態の中央処理装置が備える種々の構成要素 を示す。 図4は、図3の中央処理装置が備える命令プロセッサの構成の一例を示す略図 である。 図5は、この発明の別の実施の形態であって、多重命令プロセッサを用いた中 央処理装置が備える種々の構成要素を示す略図である。 図6は、図3の中央処理装置の信号プロセッサが出会う事象と経験する状態を 示す略図である。 図7は、図3の中央処理装置の命令プロセッサが出会う事象と経験する状態を 示す略図である。 図8(1)は、命令プロセッサから EXIT 信号を受けたときに信号プロセッサ が実行するステップを示す流れ図である。 図8(2)は、命令プロセッサから非 EXIT 信号を受けたときに信号プロセッ サが実行するステップを示す流れ図である。 図8(3)は、時間切れ事象に出会ったときに信号プロセッサが実行するステ ップを示す流れ図である。 図8(4)は、地域プロセッサ(RP)または他の命令プロセッサから信号を 受けたときに信号プロセッサが実行するステップを示す流れ図である。 図9(1)から図9(3)は、活動A(SP)1からA(SP)3をそれぞれ 実行するために命令プロセッサが実行するステップを示す略図である。 図9(4)は、活動A(SP)4を実行するために命令プロセッサが実行する ステップを示す流れ図である。 図9(5)から図9(10)は、活動A(SP)5からA(SP)10をそれ ぞれ実行するために命令プロセッサが実行するステップを示す略図である。 図9(11)は、活動A(SP)11を実行するために命令プロセッサが実行 するステップを示す流れ図である。 図10は、この発明が用いる信号の書式の略図である。 図面の詳細な説明 図3の中央処理装置120は、命令プロセッサユニット(IP)122、信号 プロセッサ(SP)ユニット124、プログラム記憶(PS)126、データお よび参照記憶(DRS)128、複数の地域プロセッサバスハンドラ(RPH) 1301,...,n、「他の」プロセッサバスハンドラ(IPB)131を備え る。明白にまたは暗に別の指定がない限り、装置120の要素で前に図2の装置 20について説明した要素と同じ名称を持つ要素は同じものである。装置120 と装置20の違いの1つは、現在のリストメモリ150である。これは命令プロ セッサ122の一組のレジスタ内に記憶され、命令プロセッサ122からアクセ スする。また、信号プロセッサ124はタイマ141を含む。 図3に示す実施の形態では、中央処理装置120はSun Ultra 2 ワークステ ーションを用いて実現されており、メモリを共用して動作する2個のプロセッサ を備える。共用メモリ技術を用いて2個のプロセッサ間に信号を伝送する方法は 当業者には既知である。 命令プロセッサ122と信号プロセッサ124の動作は従来の対応するプロセ ッサの動作とは異なる。詳しく述べると、後で詳細に説明するように、命令プロ セッサ122は生成するバッファ信号をその現在のリスト150上に選択的に記 憶する。これにより、信号プロセッサ124をバイパスして文脈の保存を改善す ることができる。時限を超えない限り、信号プロセッサ124は現在のリスト1 50内の1つまたは複数のバッファ信号を実行させる。更に、信号プロセッサ1 24が優先レベルの高いジョブを有するときは、信号プロセッサ124は必ず命 令プロセッサ122が実行中の「D」優先レベルのジョブを中断させる。更に信 号プロセッサ124は信号を送ったときに、「A」優先レベルのジョブに他のジ ョブを中断させる。 図4は、命令プロセッサ122の1つの構成を示す。図4の構成において、命 令プロセッサ122は、中央処理装置(CPU)160、レジスタメモリ162 、高速メモリ164、メモリアクセス/インターフェース166、複数のキャッ シュメモリ168A−168C、複数のメモリカード170A−170G、メモ リ アクセス/インターフェース166とカード170を接続するメモリバス172 、を有する。図4に示す構成では、キャッシュメモリ168Aは128バイトア クセスを有し、キャッシュメモリ168Bは16バイトアクセスを有し、キャッ シュメモリ168Cは4バイトアクセスを有する。カード170A−170Fは DRAM主メモリカードである。カード170GはIOBバスによりディスクド ライブコントローラなどの周辺装置に接続する直接メモリアクセス(DMA)カ ードであって、これによりディスクなどの他のメモリ装置を使用することができ る。 図4の命令プロセッサ構成では、ディスクバッファのロッキングや追跡に用い るデータ構造など、頻繁に用いる変数のアクセスに高速メモリ164を用いる。 変数をどの種類のメモリに割り当てるかは、コンパイラまたは設計者が行う。キ ャッシュメモリ168A−168Cのラインサイズはいろいろあり、柔軟に対応 できる。キャッシュに記憶する変数は、ブロックパラメータまたは変数の種類と して指定することができる。 図10は、この発明の1つの実施の形態で用いられる信号の書式を示す。信号 は図10に示すように、信号が属するスレッドを示す第1フィールド「ThreadID 」、信号の優先レベルを示す第2フィールド「JOBLevel」、信号の最終フィール ド内のデータ項目の数を示す第3フィールド「F0RMAT」、信号のシーケンス番号 を示す第4フィールド「SignalNumber」、受信ブロック数である第6フィールド 「RecBlock」、送信ブロック数である第7フィールド「SendBlock」、信頼性を 高めるために用いる識別である第8フィールド「Forlopp Id」、最初のデータ値 を含む第9フィールド「RegPRO」、1個または複数個の(24個の)他のデータ 値を含む第10フィールド「DataList」、を含む。 スレッドは、外部の装置(例えば、地域プロセッサまたは「他の」命令プロセ ッサ)から受けたメッセージに応じて実行する必要がある一組のジョブという概 念である。スレッド内でいくつかのジョブを同時に実行することができるし、ま た外部の装置との通信はスレッドの一部として行うことができる。 動作 信号プロセッサ124が出会う事象と行う活動を図6に示す。命令プロセッサ 122が出会う事象と行う活動を図7に示す。信号プロセッサが出会う事象を形 式「E(SP)x」という識別子で示し、命令プロセッサ122が出会う事象を 形式「E(IP)x」という識別子で示す。信号プロセッサ124が行う活動を 形式「A(SP)x」という識別子で示し、命令プロセッサ122が行う活動を 形式「A(IP)x」という識別子で示す。これらの全ての識別子において、 「x」は事象番号または活動番号を示す。 図6に示すように、信号プロセッサ124は3つの状態を有する。すなわち、 IDLE 状態と、W0RKING 状態と、QUEUED 状態である。状態の変化は図6の太線 で示す。また図6は信号プロセッサ124が4つの「SP」事象、すなわち事象 E(SP)1からE(SP)4に出会うことを示す。或SP事象に出会ったとき 、信号プロセッサ124は3つの状態の任意の1つにあってよい。したがって、 図6の各SP事象は各状態に入る(点線で)ように示されている。 図6の各SP事象に応えて、信号プロセッサ124は対応する活動を行う。こ こで用いる「活動」は、交互にまたは継続して実行する1つまたは複数のステッ プを含んでよい。信号プロセッサ124が実行する活動と各活動を構成するステ ップを、図8(1)から図8(4)にそれぞれ示す。これらの活動に従って実行 するステップは、信号プロセッサ124の「状態」に依存することがある。 図7に示すように、命令プロセッサ122は3つの状態を有する。すなわち、 IDLE 状態と、W0RKING 状態と、COMBINED/WORKING 状態である。命令プロセッ サ122と信号プロセッサ124の同じ名の状態を混同してはならない。各状態 は無関係である。図6と同様に、図7でも状態の変化を太線で示す。また図7は 信号プロセッサ124が11個の「IP」事象、すなわち事象E(IP)1から E(IP)11に出会うことを示す。これらのIP事象の一部、例えばIP事象 E(IP)1とE(IP)3とE(IP)9は、信号プロセッサ124が実行す る活動に関連して起こる。 信号プロセッサ124と命令プロセッサ122は互いに関連しており、或IP 事象は命令プロセッサ124がその状態の中の1つまたは複数の指定された状態 にあるときだけ起こる。この点について、命令プロセッサ122が行う活動を、 活動が起こる状態を示す円の中に示す。IP事象が出会う状態を、図7の波線の 接続で示す。IP活動E(IP)1からE(IP)11に関連するステップを図 9(1)−図9(11)にそれぞれ詳細に示す。図9(1)−図9(11)に関 する後の説明から分かるように、命令プロセッサ122が実行する種々の活動に より、図6に示すSP事象E(SP)1−E(SP)2が生じる。 A. 信号プロセッサの動作 信号プロセッサはそのタイマ141(図3参照)と関連して動作する。特定の 時間値(例えば、値「X」または「Y」)をロードすると、この時間値に対応す る時間が終わったときにタイマ141は信号プロセッサ124に通知する。時間 値が終わると、例えばタイマ141から通知すると、時間切れ事象[事象E(S P)3]が発生する。これについては、図8(3)を参照して詳細に説明する。 時間切れ事象により、信号プロセッサ124は命令プロセッサ122の活動に時 間が掛かりすぎているかどうか知る。この点について、或動作(例えば、命令プ ロセッサ122が実行する新しい信号を、信号プロセッサ124のバッファ14 2から送信する)を開始すると、タイマ141を値「X」(例えば、1ms)に 設定する。タイマ141が値「X」にリセットされる前に時間切れが起こった場 合は、信号プロセッサ124はフラグSP_Interrupt をセットして、命令プロセ ッサ122が同じスレッドIDのジョブを1つの時間間隔だけ実行したことを示 す。次に、タイマ141に第2の時間値「Y」(例えば、3ms)をロードする 。時間値「Y」が終わった後に第2の時間切れが起こった場合は、行う活動は実 行中のジョブの優先レベルに依存する。実行中のジョブの優先レベルが「C」ま たは「D」の場合は、実行中のジョブを中断する。実行中のジョブの優先レベル が「A」または「B」の場合は誤りであって、KILL 信号を出す。 SP事象を受けたときに信号プロセッサが実行する活動を以下に説明する。 (1)SPが非 EXIT 信号を受ける ジョブの実行において、命令プロセッサ122は非 EXIT 信号を生成して、こ の生成された信号に優先レベルを割り当ててよい。この信号を信号プロセッサ1 24に送ると、信号プロセッサ124は図6に示す事象E(SP)2と見なす。 事象E(SP)2を受けると、信号プロセッサ124は活動A(SP)2を実行 する。そのステップを図8(2)に示す。 ステップ8(2)−1と8(2)−2のそれぞれにおいて、信号プロセッサ1 24は、命令プロセッサ122から受けた信号が地域プロセッサの1つ向けか、 または「他の」命令プロセッサ向けか識別する。命令プロセッサ122から受け た信号が地域プロセッサの1つに向けたものである場合は、ステップ8(2)− 3で信号を該当する地域プロセッサバスハンドラ130に送る。命令プロセッサ 122から受けた信号が「他の」命令プロセッサの1つに向けたものである場合 は、ステップ8(2)−4で信号を「他の」命令プロセッサバスハンドラ131 に送る。 命令プロセッサ122から受けた非 EXIT 信号が外部に向けたものでない場合 は、ステップ8(2)−5で、命令プロセッサ122が現在実行中の信号の優先 レベルをチェックする。現在実行中の信号の優先レベルが「D」レベルでなけれ ば、ステップ8(2)−6で、受けた信号をその優先度に従って該当するジョブ バッファ42A−42D内の最後に入れる。そうではなく、現在実行中の信号の 優先レベルが「D」レベルの場合はステップ8(2)−7を実行する。ステップ 8(2)−7で、時間切れスイッチの値を「X」にセットし、フラグ Job_inte rrupted_level[D] をアクティブにし(優先レベルDのジョブが中断されてい ることを示す)、現在の(「D」レベルの)ジョブの実行を中断する。命令プロ セッサ122はジョブの中断を事象E(IP)8と見なして、これに応えて図9 (8)に示す活動A(IP)8を行う。ステップ8(2)−3か8(2)−4か 8(2)−6か8(2)−7を完了すると、記号8(2)−8で示すように活動 A(SP)2を終了する。 (2) SPが EXIT 信号を受ける 命令プロセッサ122から EXIT 信号[事象E(SP)1]を受けると、信号 プロセッサ124は活動A(SP)1を起動する。そのステップを図8(1)に 示す。命令プロセッサ122から EXIT 信号を受けると、命令プロセッサ122 がバッファ信号の生成の結果ではないジョブの実行を完了したときに活動A(S P)1を起動する。または EXIT 信号を受けるのは、命令プロセッサ122がバ ッファ信号の結果であるジョブまたはジョブのシーケンスを完了したときである [図9(4)のステップ9(4)−6、9(4)−9、9(4)−4と、図9( 7)のステップ9(7)−3と、図9(3)のステップ9(3)−3を参照]。 命令プロセッサ122から EXIT 信号を受けると[事象E(SP)1]、信号 プロセッサ124は空でないバッファ142A−142Dから最高の優先度を有 する第1ジョブを取り出す[ステップ8(1)−1]。ステップ8(1)−2で 、信号プロセッサ122は種々のフラグ(Error_timeout と SP_Interrupt ) をクリアし、時間切れスイッチの値を「X」にセットする。ステップ8(1)− 3とステップ8(1)−4で、ステップ8(1)−1で取り出したジョブの優先 レベルをチェックして、優先レベルが「C」(ステップ8(1)−3)か、「D 」(ステップ8(1)−4)か判定する。 取り出したジョブの優先レベルが「C」の場合は、ステップ8(1)−5でフ ラグ Job_interrupted_level[C] を調べて、このフラグがアクティブか、す なわち、命令プロセッサ122による優先レベルCの別のジョブの実行が信号プ ロセッサによりすでに中断されているか、を判定する。ステップ9(1)−5で の判定が肯定的である場合は、ステップ8(1)−6を実行する。ステップ8( 6)−1で、ステップ8(1)−1で取り出したジョブを元のバッファに戻し、 フラグ Job_interrupted_level[C] を非アクティブにし(前に中断されたレ ベル「C」をまた実行するので、もう中断されていないから)、フラグ Active _priority を「C」にセットし(前に中断されたジョブの優先レベルを再設定 する)、中断されたジョブを再開する。中断されたジョブの実行を信号プロセッ サ124が再開すると、図9(2)を参照すれば分かるようにIP事象E(IP )2が起こる。そして活動A(SP)lを終了する(記号8(1)−9で示され る)。 取り出したジョブの優先レベルは「C」であるがフラグ Job_interrupted_l evel[C] がアクティブでない(すなわち、現在中断されている優先レベル「C 」のジョブがない)場合は、ステップ8(1)−7とステップ8(1)−8を実 行する。ステップ8(1)−7で、フラグ Active_priority をステップ8( 1)−1で取り出したジョブの優先度にセットし、取り出したジョブに関連する 信号をIP事象E(IP)1として命令プロセッサ122に送り(図9(1)参 照)、CurrentThreadID を、取り出したジョブのスレッドIDにセットする。ス テップ8(1)−8で、ジョブバッファ内の優先レベル「C」以上の全てのジ ョブのスレッドIDをチェックして、或ジョブのスレッドIDが CurrentThread ID(すなわち取り出したジョブのスレッドID)と同じ場合は、これらの各ジョ ブに関連する信号を命令プロセッサ122内の現在のリスト150に送る。言い 換えると、CurrentThreadID と同じスレッドIDを有するジョブバッファ内のこ れらの各ジョブ(レベル「C」以上の)毎にIP事象E(IP)11が起こる。 IP事象E(IP)11に応じて命令プロセッサ122が行う活動は、図9(1 1)を参照して説明する。次に活動A(SP)lを終了する(記号8(1)−9 で示す)。 取り出したジョブの優先レベルが「D」の場合は(ステップ8(1)−4で判 定される)、ステップ8(1)−10でフラグ Job_interrupted_level[C]と Job_interrpted_level[C] を調べて、命令プロセッサ122が実行中の優先 レベル「C」か「D」のジョブが信号プロセッサ124により現在中断されてい るかどうか判定する。ステップ8(1)−10でのチェックが肯定的(すなわち 、どちらかのフラグがアクティブ)である場合は、ステップ8(1)−1で取り 出したジョブをバッファ内に戻し[ステップ8(1)−11]、ステップ8(1 )−12で更にチェックを行う。特定すると、ステップ8(1)−12で、フラ グ Job_interrupted_level[C] がアクティブかどうか更に調べる。ステップ 8(1)−12の結果が肯定的である場合は、ステップ8(1)−13でフラグ Job_interrupted _level[C] を非アクティブにし、フラグ Active _priori ty に値「C」を割り当てる。ステップ8(1)−12の結果が否定的である場 合は、ステップ8(1)−14でフラグ Job_interrupted_level[D]を非アク ティブにし、フラグ Active_priority に値「D」を割り当てる。ステップ8 (1)−13か8(1)−14が終わると、ステップ8(1)−15で、信号プ ロセッサ124は命令プロセッサ122に指示して最高の優先度を持つ中断され たジョブの実行を再開させ、IP事象E(IP)2が起こる。その後、記号8( 1)−16で示すように活動A(SP)1を終了する。 ステップ8(1)−10で、フラグ Job_interrupted_level[C] も Job_i nterrupted_level[D] もアクティブでないと判定した場合は、ステップ8(1 )−17と8(1)−18を実行して、活動A(SP)1を終わる。ステッ プ8(1)−18で、フラグ Active_priority をステップ8(1)−1で取 り出したジョブの優先度にセットし、CurrentThreadID を、取り出したジョブの スレッドIDにセットし、ステップ8(1)−7と同様に、取り出したジョブに 関連する信号をIP事象E(IP)lとして命令プロセッサ122に送る(図9 (1)参照)。ステップ8(1)−18で、ジョブバッファ内の全てのジョブ( 「C」以上の優先レベルを持つもの)のスレッドIDをチェックする。ジョブの スレッドIDが CurrentthreadID(すなわち、取り出したジョブのスレッドID )と同じ場合は、この各ジョブに関連する信号を命令プロセッサ122内の現在 のリスト150に送る。言い換えると、CurrentThreadID と同じスレッドIDを 有するジョブバッファ内のジョブ毎にIP事象E(IP)11が起こる。前に示 したように、IP事象E(IP)11に応じて命令プロセッサ122が行う活動 は、図9(11)を参照して説明する。 取り出したジョブの優先レベルが「C」または「D」でない場合は、ステップ 8(1)−19および8(1)−20を実行した後、活動A(SP)1を終了す る。ステップ8(1)−19および8(1)−20はステップ8(1)−17お よび8(1)−18と同じであって、CurrentThreadID と同じスレッドIDを有 するバッファ内の全てのジョブを命令プロセッサ内の現在のリスト150に送る 。活動A(SP)1の終了は記号8(1)−21で示される。 (3) SPがRPまたは他のIPから信号を受ける 信号プロセッサ124が地域プロセッサバスハンドラ30と「他の」命令プロ セッサバスハンドラ31に信号を送ることができるのと同様に、信号プロセッサ 124はこれらのハンドラから外部で生成された信号を受けることができる[図 6の事象E(SP)4で示す]。この外部生成信号を受けると、活動A(SP) 4を実行する。活動A(SP)4のステップを図8(4)に示す。 活動A(SP)4で外部生成信号がスレッドIDを含まない場合は(ステップ 8(4)−1で判定する)、信号プロセッサ124はスレッドIDを割り当てる [ステップ8(4)−2]。例えば、信号プロセッサ124はプロセッサIDと 、新しいスレッドIDが割り当てられる度に増分される内部カウンタとを連結し て、スレッドIDを割り当てる。 ステップ8(4)−3および8(4)−4で、信号プロセッサ124は外部生 成信号の優先レベルを調べる。ステップ8(4)−3とステップ8(4)−4の 条件がどちらも満たされない場合は、ステップ8(4)−5のスレッドID条件 をチェックする。ステップ8(4)−5のスレッドID条件が満たされない場合 は、ステップ8(4)−6を実行する。 ステップA(SP)4−3で、命令プロセッサ122が現在実行しているジョ ブの優先レベルより外部生成信号の優先レベルが高く、かつ命令プロセッサ12 2が実行中のジョブの優先レベルが最低(「D」)の場合は、信号プロセッサ1 24はステップ8(4)−7を実行する。ステップ8(4)−7で、信号プロセ ッサ124は時間切れスイッチの値を「X」にセットし、フラグ Job_interrup ted_level[D] をアクティブにし(優先レベル「D」のジョブが中断されてい ることを示す)、命令プロセッサ122に割込みを送る。命令プロセッサ122 はこの割込みをIP事象E(IP)8と見なす。これに対する応答は、図9(8 )で説明する活動A(IP)8を参照すれば理解できる。 ステップ8(4)−4で外部生成信号の優先レベルが、最高レベル(例えば「 A」レベル)でかつ命令プロセッサ122が現在実行中のジョブの優先レベルよ り高い場合は、ステップ8(4)−8で信号プロセッサ124はフラグSP−In terrupt をセットする(これにより、命令プロセッサ122は現在実行中のジョ ブを終了すると新しい信号を実行する)。更に、ステップ8(4)−7で、信号 プロセッサ124は時間切れスイッチの値を「Y」にセットする。 外部生成信号によって割込みもフラグ SP_Interrupt のセットも起こらない 場合は、ステップ8(SP)4−5で信号プロセッサ124はやはり、外部生成 信号のスレッドID(地域プロセッサバスハンドラ30またはプロセッサバスハ ンドラ31から受ける)が命令プロセッサ122が処理中の CurrentThreadIDか 、また外部生成信号の優先レベルがDレベルより大きいか、を判定する。そうで あれば、ステップ8(4)−9で、現在のリスト150に入れるために外部生成 信号を命令プロセッサ122に送る。この信号を受けると[事象E(IP)9] 、命令プロセッサ122は外部生成信号を現在のリスト150内の最後のエント リとして入れる(図9(9)参照)。 ステップ8(4)−3から8(4)−5のどれも実行しない場合は、ステップ 8(4)−6で信号プロセッサ124は外部生成信号を、ジョブバッファ142 A−142Dの該当するところに外部生成信号の優先レベルに従って入れる。ス テップ8(4)−7、8(4)−8、8(4)−9、8(4)−6のどれかを終 了すると、記号8(4)−10で示すように、活動A(SP)4を終了する。 (4) SPの時間切れ 時間切れスイッチに記憶された値がタイマ41により時間と共に減少してゼロ になると、タイマ41は時間切れになる。タイマ141が時間切れになると、信 号プロセッサ124は時間切れを事象E(SP)3と見なして(図6参照)、活 動A(SP)3を、詳しく言うと図8(3)に示すステップを実行する。時間切 れになると、信号プロセッサ124はまずステップ8(3)−1で、フラグ SP _Interrupt がセットされているかどうかチェックする。フラグがセットされ ていない場合は、ステップ8(3)−2でタイマ141(時間切れ)の値を「Y 」にセットし、フラグ SP Interrupt をセットした後、活動A(SP)3を 終了する(記号8(3)−3で示す)。フラグがセットされていない場合は、ス テップ8(3)−4を実行する。 ステップ8(3)−4でフラグ SP_Interrupt をクリアする。次にステップ 8(3)−5で、命令プロセッサ122が現在実行中のジョブの優先レベルが「 C」または「D」か判定する。ステップ8(3)−5での判定が肯定的である場 合は、ステップ8(3)−6、8(3)−7、8(3)−8を順次実行して活動 A(SP)3を終了する。ステップ8(3)−6で、信号プロセッサ124はバ ッファ142A−142Dの中の最高の優先度を有する空でないバッファから第 1の(最も古い)ジョブを取り出す。次にステップ8(3)−7で、フラグJob _interrupted_level[Active priority]をアクティブにセットする。言い換え ると、信号プロセッサ124は時間切れにより現在実行中のジョブ(優先レベル 「Active_priority」を有する)が中断されることを、したがってフラグJob_i nterrupted_level を中断されたジョブの優先レベルにセットしなければならな いことを知る。ステップ8(3)−8で、命令プロセッサ122が現在実行中の (しかも実行中に時間切れが起こった)ジョブを中断する。命令プロセ ッサ122はこの中断をIP事象E(IP)8と見なす。これに対する応答は図 9(8)で説明する活動A(IP)8により理解できる。 ステップ8(3)−5での判定が否定的である場合、すなわち命令プロセッサ 122が現在実行中のジョブの優先レベルが「C」より高い場合は、ステップ8 (3)−10で信号 KILL_SIGNAL を命令プロセッサ122に送る。命令プロ セッサは信号 KILL-SIGNAL をIP事象E(IP)3と見なし、図9(3)に示 す応答活動A(IP)3を行う。ステップ8(3)−8とステップ8(3)−1 0が終わると、記号8(3)−3で示すように活動A(SP)3を終了する。 B. 命令プロセッサの動作 前に述べたように、図7に示す種々の状態にあるジョブの実行中に、命令プロ セッサ122は自身で信号を生成することがある。このようなIP生成信号は、 地域プロセッサや他の命令プロセッサ向けの信号や、組合わせ信号や、バッファ 信号を含む。IP生成信号から生じる事象を図7に示す。これらは、バッファ信 号の生成に対応する事象E(IP)11、組合わせ信号または HURRY 信号の生 成に対応する事象E(IP)10、地域プロセッサまたは「他の」命令プロセッ サ向けの信号の生成に対応する事象E(IP)6、を含む。 HURRY 信号は命 令プロセッサ122が信号プロセッサ124を調べずに直ぐ実行するもので、命 令プロセッサ122は新しいブロックに移ってこの新しいブロック内で実行を開 始する。このように、組合わせ信号とは異なり、HURRY 信号は呼び出しブロック に戻らずに出る信号である。 IP事象に応じて命令プロセッサ122が実行する活動は次の通りである。 (1) IPがSPから信号を受ける IDEL 状態にあるとき、命令プロセッサ122は図9(1)に示す活動A(I P)1を実行する。詳しく述べると、ステップ9(1)−1で命令プロセッサ1 22はその状態を IDEL から WORKING に変える(図7参照)。次にステップ9 (1)−2で、命令プロセッサ122は関連するプログラム記憶126内の新し いブロックに移り、新しいブロック内で実行を開始する。 (2) IPジョブの実行が中断される 割込みを受けると[事象E(IP)8]、命令プロセッサ122は図9(8) に示す活動A(IP)8を行う。ステップ9(8)−1で、命令プロセッサ12 2はその文脈を保存する。すなわち、命令プロセッサは中断されたブロックと、 そのプログラムカウンタと、中断されたときのレジスタの内容を保存する(例え ば、レジスタメモリ162に)。次にステップ9(8)−2で、命令プロセッサ 122は現在のリスト150内に記憶されているジョブ毎に信号プロセッサ12 4に信号を送り、現在のリスト150の内容を信号プロセッサ124に効果的に 転送する。その後ステップ9(8)−3で、命令プロセッサ122は割込み信号 の新しい優先レベルに変わり、割込み信号に関連するジョブを実行する。 (3) IPが中断されたジョブを再開する 中断されたジョブを命令プロセッサ122が再開すると、事象E(IP)2が 起こる。事象E(IP)2に応じて行う活動A(IP)2を図9(2)に示す。 ステップ9(2)−1で、命令プロセッサ122は中断されたジョブの文脈を復 元する(上記から分かるように、レジスタメモリ162から)。ステップ9(2 )−2で、命令プロセッサ122は復元されたジョブの優先レベルに変わり、復 元されたジョブに関連する信号の実行を再開する。 (4) IPがRPまたは他のIPに信号を送る 命令プロセッサ122が実行するコードが地域プロセッサまたは「他の」命令 プロセッサ向けの信号を生成することを必要とする場合は、事象E(IP)6が 起こる。IP事象E(IP)6に応じて命令プロセッサ122が行う活動を図9 (6)に示す。活動A(IP)6では、命令プロセッサ122は単にこの生成さ れた信号を信号プロセッサ124に送り、現在実行中のブロック(例えば、地域 プロセッサまたは「他の」命令プロセッサの信号が生成されたブロック)内で実 行を続ける。 (5) IPが組合わせ信号または HURRY 信号を送る 命令プロセッサ122が実行するコードが組合わせ信号または HURRY 信号の 生成を必要とする場合は[事象E(IP)10]、命令プロセッサ122はすぐ 状態を組合わせにセットする[図7と、図9(10)のステップ9(10)−1 を参照)]。次にステップ9(10)−2で、命令プロセッサ122は呼出しブ ロック(すなわち、組合わせ信号または HURRY 信号を生成した命令のブロッ ク)を保存し、呼出しブロックの戻りアドレスをそのスタックの一番上に置く。 ステップ9(10)−3で、命令プロセッサ122は組合わせ信号または HURRY 信号による実行に必要な新しいブロックに移り、その新しいブロックの最初か ら実行を開始する。 (6) IPが組合わせ信号または HURRY 信号を出る 命令プロセッサ122が組合わせ信号または HURRY 信号の EXIT 命令に出会 うと、事象E(IP)5が起こる。事象E(IP)5が起こると、図9(5)に 示す活動A(IP)5を行う。ステップ9(5)−1で、命令プロセッサ122 は呼出しブロック(すなわち、組合わせ信号または HURRY 信号を生成したブロ ック)を復元し、呼出しブロック内で実行する次の命令のアドレスを命令プロセ ッサ122のスタックから戻す。ステップ9(5)−2で、命令プロセッサ12 2は、フラグ「最後の Combined_signal_return」がセットされていてスタッ クが空であることを示しているかどうかチェックし、そうであれば、命令プロセ ッサ122の状態を W0RKING 状態にセットする。次にステップ9(5)−3で 、命令プロセッサ122はスタックアドレスで指定された命令から、呼出しブロ ックの実行を再開する。 (7) IPがバッファ信号を送る 命令プロセッサ122が実行する命令がバッファ信号の生成を要求すると[事 象E(IP)11]、命令プロセッサ122はこれに応えて図9(11)に示す 活動A(IP)11を行う。ステップ9(11)−1で、現在実行中のジョブの 優先レベルを評価して、それが最低(「D」)レベルかどうか判定する。そうで あれば、ステップ9(11)−2でバッファ信号を事象E(SP)2として信号 プロセッサ124に送り[図6参照]、バッファ信号生成ブロック内で実行を続 け(ステップ9(11)−3に示すように)、活動A(IP)11を終了する( 記号9(11)−4で示す)。 現在実行中のジョブの優先レベルが最低の優先レベルでない場合は、ステップ 9(11)−5で、次に実行する命令が EXIT 命令かまた フラグSP_Interrupt がセットされていないか、を判定する。ステップ9(11)−5の2つの条件が 肯定的である場合は、(ステップ9(11)−6に示すように)命令プロセッ サ122は出口命令を組み合わせて信号送り命令の一部として実行する。もしス テップ9(11)−5の条件のどちらかが否定的である場合は、命令プロセッサ 122はバッファ信号に関連するジョブを現在のリスト150の最後のジョブと して入れる(ステップ9(11)−7)。ステップ9(11)−6かステップ9 (11)−7が完了すると、記号9(11)−4で示すように活動A(IP)1 1を終了する。 (8) IPがバッファ信号を出る 命令プロセッサ122がバッファ信号に関連するジョブを実行すると、命令プ ロセッサ122は最終的に EXIT 命令に出会う[事象E(IP)4]。バッファ 信号に関連するジョブの EXIT 命令に出会うと、命令プロセッサ122は図9( 4)に示す活動A(IP)4を実行する。「バッファ信号」は前に述べたように 命令プロセッサ122が生成する信号を含むだけでなく、信号プロセッサ124 が命令プロセッサ122のためにスケジュールする全ての信号を含む。 活動A(IP)4に関連して、命令プロセッサ122はステップ9(4)−1 から9(4)−3に示すチェックを行い、全てのチェックが否定的の場合はステ ップ9(4)−4を行って、活動A(IP)4を終了する(記号9(4)−5で 示す)。 ステップ9(4)−1で、命令プロセッサ122は実行中のジョブの優先レベ ルが最低(「D」レベル)かどうか判定する。そうであれば、ステップ9(4) −6で命令プロセッサ122はその状態をIDLE にセットし、EXIT 信号を信号 プロセッサ124に送り、信号プロセッサ124はこれを処理する(図6の事象 E(SP)1参照)。この時点では、現在のリスト150上に記憶されている残 りの信号は実行されない。 ステップ9(4)−2で、命令プロセッサ122はフラグ SP_Interrupt が セットされているかどうかチェックする。SP_Interrupt は図8(4)のステッ プ8(4)−7で、或外部生成信号の優先レベルが高くかつ現在実行中のジョブ の優先レベルが高くないとき、または時間切れが起こったときにセットされる[ 活動A(SP)3、ステップ8(3)−2]。ステップ9(4)−2での判定が 肯定的である場合は、ステップ9(4)−7から9(4)−9を実行した後、 活動A(IP)4を終了する。 ステップ9(4)−7で、命令プロセッサ122はその状態をIDLE にセット する。次にステップ9(4)−8で、現在のリスト150に記憶されているジョ ブ毎に、命令プロセッサ122は信号プロセッサ124に信号を送る([最初か ら最後への順序で]現在のリスト150から信号プロセッサ124にジョブを効 果的に転送する)。信号プロセッサ124は現在のリスト150からの各信号の 転送を事象E(SP)2と見る[図6と活動A(SP)2を参照]。ステップ9 (4)−9で、命令プロセッサ122は EXIT 信号を信号プロセッサ124に送 り、信号プロセッサ124は EXIT 信号を事象E(SP)1と見なして、これに 応えて活動A(SP)1を行う。 ステップ9(4)−1および9(4)−2のチェックが否定的である場合は、 ステップ9(4)−1−3で命令プロセッサ122は現在のリスト150が空で ないかどうか判定する。現在のリスト150が空でない場合は、ステップ9(4 )−10で命令プロセッサ122は現在のリスト150内の第1ジョブに関連す る信号を取り出して、この第1ジョブの実行を開始する。ステップ9(4)−1 0の後、記号9(4)−5に示すように活動A(IP)4を終了する。 上に述べたステップ9(4)−1、9(4)−2、9(4)−3のどれも肯定 的でない場合は、ステップ9(4)−4で命令プロセッサ122はその状態をID EL にセットし、EXIT 信号を信号プロセッサ124に送って、現在のリスト1 50には処理を待っているジョブがもうないことを示す。信号プロセッサ124 は EXIT 信号を事象E(SP)1と見なし、信号プロセッサ124はこれに応え て活動A(SP)1を行う。ステップ9(4)−4の後、記号9(4)−5に示 すように活動A(IP)4を終了する。 上記から分かるように、現在のリスト150内のバッファ信号を実行している と、場合によっては現在のリスト150内の全てのジョブの実行が終わるまで実 行がループ動作として継続することがある。 (9) IPがSPから現在のリストに入れる信号を受ける 上に述べたように、命令プロセッサ122は現在のリスト150に入れる信号 を信号プロセッサ124から受けることがある。これは特に信号プロセッサ12 4が活動A(SP)l[例えばステップ8(1)−8、8(1)−18、8(1 )−20を参照]とA(SP)4[例えばステップ8(4)−9を参照]を実行 するときに起こり、命令プロセッサ122はこれを事象E(IP)9と見なす。 事象E(IP)9に応じて、命令プロセッサ122は活動A(IP)9を行う。 これは図9(9)に示すように単に信号を現在のリスト150の最後の信号とし て入れるだけである(ステップ9(9)−1を参照)。 (10) IPがSPから KILL 信号を受ける 前に述べたように、信号プロセッサ124は「KILL信号を生成する。これは( 例えば)時限が終了したときに起こる(活動A(SP)3、例えばステップ8( 3)−10を参照)。命令プロセッサ122はこの KILL 信号を事象E(IP) 3と見なし、これに応じて図9(3)に示す活動A(IP)3を行う。KILL 信 号を受けると、ステップ9(3)−1で命令プロセッサ122はその状態をIDLE にセットする。次に時限が終了(例えば時間切れ)した結果、ステップ9(3 )−2で命令プロセッサ122は現在のスレッドを実質的に放棄する。 ステップ9(3)−3で、命令プロセッサ122は信号プロセッサ124に EXI T 信号を送る。信号プロセッサ124はこの EXIT 信号を事象E(SP)1と見 なし、前に説明したようにこれに応じて活動A(SP)lを行う[図8(1)参 照]。 (11) IPによるバッファ信号の強制 EXIT バッファ信号の強制 EXIT 命令は、応用プログラムが EXIT を確実に存在させ たいときに起こる。すなわち、他のスレッドを実行できるように小さな遅れを挿 入しなければならない。バッファ信号の強制 EXIT が起こると命令プロセッサ1 22は事象E(IP)7に出会い、これに応えて活動A(IP)7を行う。この ステップを図9(7)に示す。ステップ9(7)−1で、命令プロセッサ122 は現在のリスト150内に残っているジョブ毎に信号プロセッサ124に信号を 送り、現在のリスト150の内容を信号プロセッサ124に効果的に転送する。 その後、命令プロセッサ122はその状態をIDLE にセットする[ステップ9( 7)−2]。次にステップ9(7)−3で、命令プロセッサ122は EXIT 信号 を信号プロセッサ124に送る。信号プロセッサ124はこの EXIT 信号を事 象E(SP)1と見なし、前に説明したようにこれに応じて活動A(SP)1を 行う[図8(1)参照]。 図9(7)に示すステップの代わりに、強制 EXIT と同等の活動として時間遅 れを持つ信号を送ることができる。 図5はこの発明の別の実施の形態で、中央処理装置220に特徴がある。中央 処理装置220は、信号プロセッサ224、バスハンドラ230、共用メモリ2 27(プログラム記憶とデータ記憶を有する)の他に、複数の命令プロセッサ2 221、2222、...、222nを含む。図5の実施の形態の各命令プロセッ サ222は、図4を参照して前に説明した構成を有する。 図5などの多重IP環境で実行するブロックは、1つのブロック内でいくつか の同時実行を処理する必要がある。さもなければ、1ブロック内では一度に1個 のプロセッサだけが実行中であることを確認しなければならない(例えば、異な るスレッドを同期させる信号機能などが必要である)。図5に示すような装置2 20では、いくつかのブロックを1個の命令プロセッサ222にだけ割り当てる 可能性もある。このような構成では、この割り当てられた命令プロセッサ222 はそのデータの一部を特殊な高速メモリに入れることにより、いくつかのジョブ を非常に効率良く実行することができる。しかしトレードオフとして、他の命令 プロセッサ222は文脈を変える必要がある。 上に述べたことから、この発明の命令プロセッサは、主として命令プロセッサ 自身がバッファ信号に関連するジョブを現在のリスト150に入れることにより (例えば、活動A(IP)11のステップ9(11)−7で起こるように[図9 (11)参照])、自分が実行するジョブのスケジューリングを行う。現在実行 中のジョブから出る直前にたまたまバッファ信号を生成しその優先レベルが最低 でない場合は、そして割込みがセットされていない場合は、バッファ信号を生成 したジョブから出るとバッファ信号に関連するジョブを実行する[図9(11) の活動A(IP)11のステップ9(11)−6を参照]。 したがって、バッファ信号の生成の結果実行したジョブから命令プロセッサが 出ると、バッファ信号の優先レベルに従って、また割込みがセットされているか どうかに従って、命令プロセッサはいくつかの代替ステップのどれかを実行する 。 第1の代替ステップは現在のリストから第1の(次の)ジョブを取り出してこれ を実行することを含む[図9(4)の活動A(IP)4のステップ9(4)−1 0を参照]。第2の代替ステップはスケジューリング制御を信号プロセッサ12 4に戻すことを含む。これはバッファ信号の優先レベルが最低のときに起こる[ 図9(4)の活動A(IP)4の9(4)−6を参照]。第3の代替ステップは 現在のリスト150の全内容を信号プロセッサ124に転送することを含む。こ れは割込みが発生したときに起こる[図9(4)の活動A(IP)4のステップ 9(4)−8を参照]。 第1の代替ステップでは、現在のリスト上のジョブが出ると、引き続き現在の リスト上のジョブを順に実行してよい。すなわち、現在のリスト150から取り 出したジョブ(ステップ9(4)−10で)が完了すると、その EXIT 命令によ り(別の)事象E(IP)4が起こり、優先レベルおよび割込み状態に従って、 現在のリスト150上の次の信号の実行に移ることができる。 特に図9(11)のステップ9(11)−5から分かるように、バッファ信号 を生成するジョブの直後にバッファ信号に関連するジョブを実行するかどうかは 、バッファ信号が所定の種類の命令(例えば EXIT 命令)の直前に生成されたか どうかによる。したがって、ジョブが終了するとすぐバッファ信号を実行するに は、そのバッファ信号を生成した命令がジョブ内で所定の順序に列んでいなけれ ばならない。さもないと、バッファ信号に関連するジョブは現在のリスト150 上の残りの信号に従属して他のバッファ信号に関連するジョブの後に実行され、 または信号プロセッサ124に転送されることさえある。 命令プロセッサによるジョブの実行が中断すると、現在のリスト150の全内 容が信号プロセッサ124に転送される。信号プロセッサ124は現在のリスト 150からの信号を、転送された信号の優先レベルに従ってそのバッファ142 の該当する1つに入れる。 一般に命令プロセッサは、新しく実行する信号を信号プロセッサから得る必要 がある場合は(命令プロセッサから EXIT 信号を受けたときに起こる)、経過時 間(最も古いもの)と優先レベル(すなわち、レベルA、B、C、D)に従って バッファ142A−142Bから信号を取り出す[図8(1)の活動A(SP) 1を参照]。優先レベルと取り出したスレッドIDに従ってフラグ「Active_pr iority」と CurrentThread_ID を確立し、取り出した信号を命令プロセッサに 送る[図8(1)のステップ8(1)−19を参照]。更に信号プロセッサは、 取り出したジョブと同じスレッドIDを有するバッファ142A−142B内の ジョブを全て現在のリスト150に送る[図8(1)のステップ8(1)−20 を参照]ので、同じスレッドIDを有するジョブを近接して実行することができ る。 このように、信号プロセッサ124は現在のリスト150に信号を送る機能も 有する。これが特に起こるのは、上に述べたように、命令プロセッサに転送中の 信号と同じスレッド識別を有する少なくとも1つのバッファ内の別の信号を、信 号プロセッサが現在のリストに転送するときである。同様に現在のリスト150 に信号を転送するのは、信号プロセッサが、外部生成信号(地域プロセッサバス ハンドラ30またはプロセッサバスハンドラ31を通して受けた)のスレッドI Dが命令プロセッサ122が処理中の CurrentThreadID であると判定したとき である[図8(4)のステップA(SP)4−5を参照]。 上述の取り出したジョブの優先レベルが「C」か「D」の場合は、信号プロセ ッサは同じ優先レベルのジョブが現在中断されているかどうか判定し、そうであ れば、中断されているジョブの実行を再開し、取り出したジョブをバッファ14 2Cまたは142Dの該当するところに戻す。図8(1)の活動A(SP)1を 参照。 信号プロセッサが優先度の高い信号を受けたときに(例えば、命令プロセッサ から、地域プロセッサから、または「他の」命令プロセッサから)命令プロセッ サがレベルDの信号を実行中であれば、命令プロセッサはレベルD信号の実行を すぐ中断する[例えば、図8(2)のステップ8(2)−7と図8(4)のステ ップ8(4)−8を参照]。 別の実施の形態では、命令プロセッサ122は複数の現在のリスト150A− 150Dを備え、複数の現在のリストはそれぞれ対応する優先レベルに関連する 。例えば、「A」優先レベルを有するジョブは現在のリスト150A上の該当す るところに置かれ、「B」優先レベルを有するジョブは現在のリスト150B上 の 該当するところに置かれる、など。 特に望ましい通信方式では上述の変形を用いてよい。例えば、事象E(SP) 1[命令プロセッサ122から EXIT 信号を受けること]と活動A(SP)1に 関して、適当な別の手続きを行ってよい。一例として、信号プロセッサ124は 命令プロセッサ122からの EXIT 信号を予期しながら先へ進んで、命令プロセ ッサ122向けの信号を予め準備することができる。この場合は、命令プロセッ サ122が EXIT 点に来ると(ここで信号プロセッサ124に情報を要求するは ず)、命令プロセッサ122は準備されたメッセージが待っているかどうかチェ ックする。この手続きによれば、命令プロセッサ122は EXIT 位置で信号プロ セッサ124を待つ必要がない。 有利な点は、現在のリスト150などの機能を備えることにより、この発明の 中央処理装置は高速メモリ(例えば、キャッシュメモリ)を効果的に用いること ができることである。その理由は、この発明の中央処理装置はこの高速メモリの 効果を無にするほど頻繁には文脈を変えないからである。特に、この発明の命令 プロセッサは「キャッシュ化された」データを再使用することができる。この意 味は、スレッド内の前にアクセスしたデータを再使用できるということである。 また、主メモリ(例えば、DRAM)からデータを取り出すことにより、1デー タ語より大きいバッファを一度に取り出すことができる。このように、主メモリ アクセスの多くをキャッシュアクセスで実現できるので、命令プロセッサの負荷 を減らすことができる。 更に、命令プロセッサ122はバッファ信号に関連するジョブを現在のリスト 150の中で自分でスケジュールするので、この発明の中央処理装置は信号プロ セッサ124の仕事の一部を軽減する。或通常のトラヒック混合応用(時間切れ が1ms)では、信号プロセッサ124のかなりの負荷が減少する。 更に、この発明ではバッファ信号は生成されるとすぐ実行されることが多いの で、信号プロセッサ124との通信の負荷が減り、命令プロセッサ122の作業 負荷も減る。 この発明で構成する装置では、命令プロセッサ122のクロック周波数は信号 プロセッサ124のクロック周波数によって制限されることはない。 この発明の中央処理装置は、バッファ信号のスケジューリングを上に述べた従 来の方法より高速で処理する。この発明では主メモリアクセス数は減少するが、 命令プロセッサ122が主メモリアクセス毎に非常に大きなブロックのデータを 取り出すので、メモリ帯域幅は増加する。 この発明では、信号プロセッサがジョブバッファ142A−142Dからジョ ブを取り出す時間間隔が大きいので、信号プロセッサがこれらのジョブの準備を する時間的余裕が大きい。したがって、制御を信号プロセッサに任せると、命令 プロセッサが次のスレッドを取り出すためにIDLE 状態に止まる時間は短い。 この発明は、実行が主体であって地域プロセッサとの相互作用が余り頻繁でな いタスク、例えば、CCITT No.7 送信に基づく中継交換機、ホーム位 置レジスタ(HLR)、サービス制御点(SCP)などに特に有用である。これ らの応用を支援するため、この発明は外部生成信号にスレッドIDSを与えて[ 図6AのステップA(SP)4−1を参照]、同じスレッドに属するジョブを1 つのスレッドとして実行するので、文脈切替えの間に実行するジョブの数を増や すことができる。 またこの発明は、RISCワークステーション上の、例えばエリクソンAXE 10スイッチの中央プロセッサなどの装置のエミュレーションに適用できる(特 にこれらのワークステーションはキャッシュメモリを備えるので)。 更にこの発明の原理から、信号プロセッサや命令プロセッサとして必ずしも別 個のプロセッサを必要としないことが分かる。この点において、この発明は単一 プロセッサを含み、信号プロセッサと命令プロセッサのここに説明した異なる機 能をエミュレートする。 この発明について好ましい実施の形態を参照して図示し説明したが、当業者が 理解するように、この発明の精神と範囲から逸れることなく形式と詳細について 種々の変更を行うことが可能である。 要素表 1410−13 命令プロセッサユニット(IP)・・・・・・・・・・・・・・・・・・ 3 信号処理(SP)ユニット24・・・・・・・・・・・・・・・・・・・ 3 プログラム記憶(PS)26・・・・・・・・・・・・・・・・・・・・ 3 データ記憶(DRS)28・・・・・・・・・・・・・・・・・・・・・ 3 複数の地域プロセッサバスハンドラ(RPH)301,...,n・・・ 3 「他の」プロセッサバスハンドラ(IPB)31・・・・・・・・・・・ 3 保全ユニット(MAU)32・・・・・・・・・・・・・・・・・・・・ 3 バス34と36・・・・・・・・・・・・・・・・・・・・・・・・・・ 3 バス39 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4 ジョブスケジューラ40・・・・・・・・・・・・・・・・・・・・・・ 4 ジョブバッファ42A−42D・・・・・・・・・・・・・・・・・・・ 4 線52・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5 線54・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 7 線56・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 8 線58・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 8 命令プロセッサユニット(IP)122・・・・・・・・・・・・・・・13 信号処理(SP)ユニット124・・・・・・・・・・・・・・・・・・13 プログラム記憶(PS)126・・・・・・・・・・・・・・・・・・・13 データ記憶(DRS)128・・・・・・・・・・・・・・・・・・・・13 複数の地域プロセッサバスハンドラ(RPH)1301,...,n ・・13 「他の」プロセッサバスハンドラ(IPB)131・・・・・・・・・・13 現在のリストメモリ150・・・・・・・・・・・・・・・・・・・・・14 中央処理装置(CPU)160・・・・・・・・・・・・・・・・・・・14 RM(これは何か?)162・・・・・・・・・・・・・・・・・・・・14 高速メモリ164・・・・・・・・・・・・・・・・・・・・・・・・・14 メモリアクセス/インターフェース166・・・・・・・・・・・・・・14 キャッシュメモリ168A−168C・・・・・・・・・・・・・・・・14 メモリカード170A−170G・・・・・・・・・・・・・・・・・・14 メモリバス172・・・・・・・・・・・・・・・・・・・・・・・・・14 線154・・・・・・・・・・・・・・・・・・・・・・・・・・・・・17 線152・・・・・・・・・・・・・・・・・・・・・・・・・・・・・22 中央処理装置220・・・・・・・・・・・・・・・・・・・・・・・・23 信号プロセッサ224・・・・・・・・・・・・・・・・・・・・・・・23 バスハンドラ230・・・・・・・・・・・・・・・・・・・・・・・・23 共用メモリ227・・・・・・・・・・・・・・・・・・・・・・・・・23DETAILED DESCRIPTION OF THE INVENTION               Instruction Processor Job Scheduling                               Background of the Invention 1. Field of the invention   The present invention provides a schedule for a job executed by an instruction processor included in a central processing unit. Regarding juling. 2. Related technology and other considerations   Processing units such as the Ericsson APZ 21220 are executed by an instruction processor. By using a signal processor to schedule jobs to be executed, Quickly switch the context of the job it performs. The context switching time of this device is large. Very fast compared to many other processors.   In this device, each job has an associated signal. This signal is The block code (for example, in program storage) Instruction program, and what data to use for that execution. Contains information to instruct the ram. When the instruction processor finishes executing the job, a signal The processor picks up a new signal (related to the new job) and sends it to the instruction processor. Send to The signal processor selects among multiple job buffers of the signal processor. The new signal is taken out from the one given in priority order.   The new job obtained from the signal processor has nothing to do with the previous job And thus completely different data may be used. Additionally, external sources (eg, , Another job arrives from another processing device) and its priority is high, The job suspends execution of the old job before the old job comes out.   Thus, in the above-described processing device, the context often changes depending on the code and the data. . This loses context too often, so fast memory to save the context Using a (for example, cache memory) does nothing. Context preservation with this device It's just storing the data in registers, which is the job execution Can only be done during.   In order to study such an apparatus in detail, FIG. Show. Specifically, the instruction processor unit (IP) 22, the signal processor (S) P) unit 24, program storage (PS) 26, data and reference storage (DR) S) 28, multiple regional processor bus handlers (RPH) 301,. . . ,n, " In another "processor bus handler (IPH) 31, security unit (MAU) 32 is there. Instruction processor 22, signal processor 24, IPHB 31, RPH 30 is an independent processor. The instruction processor 22 executes the job , Each job is an instruction of one block stored in the program storage (PS) 26. Respectively. The signal processor 24 schedules the job of the instruction processor 22. Operates as a jula. For such scheduling, the signal processor The service 24 receives a “signal” from the outside world or the instruction processor 22 for each job, for example. . A signal is an instruction that indicates which part of an instruction of a block is to be executed, and The signal contains data used to execute the block. The signal processor 24 receives the signal And assigns priorities to these signals after the instruction processor 22 Send to The reference portion of the data and reference store 28 contains the signals and signals used in this device. Contains information indicating blocks and variables.   In some configurations, the central processing unit 20 of FIG. Signal processor 24, one or more processor bus handlers (IPH) 31 and a plurality of regional processor bus handlers 30, all of which are MA U32 is connected as a mirror image of FIG. 1 through buses 34 and 36. Such a structure In operation, each instruction processor 22 has its own program storage 26 and its own data and And a reference memory 28.   Regional Processor Bus Handler (RPH) 301,. . . ,nIs the corresponding regional professional Sessa bus 381,. . . ,nConnects to a regional processor not shown . Similarly, one or more other processor bus handlers 31 are connected to the appropriate bus 3 9 may be connected. Regional Processor Bus Handler (RPH) 301,. . . ,nWhen The other processor bus handler and signal processor 24 are When executing the application software stored in the program storage 26, It serves to reduce the load on the processor 22.   FIG. 2 shows the instruction processor 22, signal processor 24, and other components of the central processing unit 20. Processor bus handler 31, regional processor bus handler (RPH) 301, . ..,nAnd the interaction between them is shown in detail. In particular, FIG. 24 is a job scheduler 40 and a plurality of job buffers 42A-42D (each Buffer A-D).   In the central processing unit 20, when the instruction processor 22 finishes one job (signal (Shown by sending an EXIT signal to the processor 24). One of the buffers 42A-42D having the highest priority and not being empty Search from. Next, the signal processor 24 outputs signals related to the next job to be executed. To the instruction processor 22. Upon receiving this signal, instruction processor 22 Start execution of the code in the new block specified by the signal.   In some cases, the instruction executed by the instruction 2 itself generates a new signal. Various kinds of instruction processor generated signals There are different types. For example, combination signals, RP signals, other instruction processor signals, Such as buffered signals. Combination signals are very similar to subroutine calls, The instruction processor 22 generates the combination signal immediately after executing the combination signal. Return to the execution of the completed job.   The RP signal or other instruction processor signals generated by the instruction processor 22 Area processor (for RP signal) or other instruction processor (for IP signal) Are signals related to the job to be executed. The signal processor 24 outputs the RP signal or Upon receiving another IP signal, the local processor bus handler 30 (other IP signal) ) Or another processor bus handler 31 (for RP signal) Turn towards.   An IP generation signal generated by the instruction processor 22 and executed by the instruction processor 22 (Excluding the combination signal) It is called "buffer signal". In the prior art, the buffer signal The signal is sent to signal processor 24 (indicated by line 54 in FIG. 2). Instruction processor 2 Execution of 2 continues in the block that instruction processor 22 is currently executing. Command Upon receiving this buffer signal from the processor 22, the signal processor 24 receives the signal. One of two operations is performed according to the priority level of the buffer signal. Details Then, the priority level of the received buffer signal is currently being executed by the instruction processor 22. Job (that is, the job that generated the buffer signal) If so, the signal processor 24 interrupts the instruction processor 22 to (Indicated by line 56 in FIG. 2). Otherwise, the signal processor 24 This buffer signal is transferred to the job buffer 4 having the same priority as this buffer signal. 2A-42D as the last job. In this way, this buff The buffer signal is implemented as any other signal of the same priority as this buffer signal (see FIG. 2 as line 58).   Thus, in the conventional method described above, a certain job is completed and the instruction processor When the 22 executes the EXIT instruction, the instruction processor 22 schedules the next job. To see the signal processor 24 In this scheduling, the signal The processor 24 takes the next job from the job buffers 42A-42D in priority order. put out. However, in this conventional scheduling method, the retrieved job is Has nothing to do with this job. These extraneous jobs are probably almost different Use the data that When a high-priority job arrives, the running job becomes EX Interrupted before reaching the IT order.   The central processing unit 20 can be realized in various forms, for example as a control unit of a telephone exchange. You. As mentioned above, one example of this implementation is the A for the Ericsson AXE10 switch. PZ21220 control device. For this, see Egeland, Terje's APZ 21220 --- New high-end processor for AXE10 "Ericson Review , No. 1, 1995, pp. 5-12, and this document is cited as a reference.   What is needed for such a central processing unit is that without changing the context too often, This is a method of effectively using a high-speed memory such as a cache memory. Other improvements What is desired is to reduce some of the workload of the signal processor.                                Summary of the Invention   The scheduling of signals executed by the instruction processor is mainly the signal processor Do. In the present invention, the signal processor has a unique scheduling scheme, Instruction processor schedules itself without disturbing the signal processor (Using the "current list" memory).   The signal processor executes four signals according to the priority assigned to the signal. , For example, scheduling buffer A, scheduling Buffer B, scheduling buffer C, scheduling buffer D, Guess. Generally, the instruction processor sends a newly executed signal from the signal processor. When you get it (such as when you receive an EXIT signal from the instruction processor), the elapsed time (Oldest) and priority levels (ie, levels A, B, C, D) The signal is taken from buffers AD. (The “highest” priority level used here is Trace level is not taken into account).   The priority level of the extracted job is “C” priority level or “D” priority level. If the signal processor has a job of the same priority level that is currently suspended Determine whether Resumes the execution of the suspended job, if any, and retrieves it Job returned to the corresponding buffer. In addition, the signal processor can (For example, from the instruction processor, from the regional processor, or " If the instruction processor is executing a level D signal (from the "other" instruction processor) , The instruction processor immediately suspends execution of the level D signal.   The instruction processor (IP) may generate a new signal when executing a signal . Such an instruction processor generated signal is generally generated immediately before the signal's EXIT instruction. It is. This instruction processor generated signal is either a combination signal or a buffer signal (either Are also executed by the instruction processor) or other processors (for example, local processors). Or a signal for an "alternate" instruction processor). Combination signals are Similar to a routine call, the instruction processor immediately executes the combination signal. After that, the process returns to the execution of the signal that generated the combination signal.   When the instruction processor generates a buffer signal, the instruction processor Put the signal in a special register, a queue called the "current list". Present The buffer signal generated just before exiting the running job is the lowest priority level. If there is no interrupt and no interrupt is set, the job that generated the buffer signal After exiting, the job associated with the buffer signal is executed.   Next, when the instruction processor comes out of the executed job as a result of the generation of the buffer signal, Depending on the priority level of the buffer signal and whether interrupts are set Obedience Thus, the instruction processor performs one of several alternative steps. First alternative The step is to get the first (next) job from the current list and execute this Including. The second alternative step is to return control of the scheduling to the signal processor. And This occurs when the priority level of the buffer signal is the lowest. Third alternative The steps include transferring the entire contents of the current list to the signal processor. this Occurs when an interrupt occurs. The first alternative is to use the current list When you leave the job, you may continue to run the jobs on the current list in order.   Execute the job related to the buffer signal immediately after the job that generates the buffer signal Whether the buffer signal is immediately before the instruction of the specified type (for example, the EXIT instruction). Depending on whether it was generated. Therefore, the buffer transmission To execute a signal, the instructions that generated the buffer signal must be Must be in line. Otherwise, the job associated with the buffer signal will After a job related to other buffer signals depending on the remaining signals on the list Or even forwarded to a signal processor.   If the job execution is interrupted by the instruction processor, the entire contents of the current list are Number processor. Signal processor forwards signals from current list Into the appropriate buffer according to the priority level of the signal.   The signal processor also has the ability to send signals to the current list. Signal processor When the signal processor sends a signal to the instruction processor for execution, the signal processor File that has the same thread identification as the signal to forward to the instruction processor. Transfer another signal in the buffer to the current list. Externally generated signals (eg, Processor bus handler or received through processor bus handler) Is the CurrentThreadID that is being processed by the instruction processor, The signal processor has not executed the interrupt or set the interrupt flag. If the decision is made, the signal is similarly put into the current list.                              BRIEF DESCRIPTION OF THE FIGURES   The above-mentioned objects, functions and advantages of the present invention will be described with reference to the accompanying drawings. It will be apparent from the following detailed description of embodiments. The same reference symbols throughout the figures Refers to the same part. The drawings are not necessarily to scale, illustrating the principles of the invention. With emphasis on.   FIG. 1 is a schematic diagram of at least a portion of a central processing unit.   FIG. 2 shows the various components of a prior art central processing unit.   FIG. 3 is a diagram showing various components included in a central processing unit according to an embodiment of the present invention. Is shown.   FIG. 4 is a schematic diagram showing an example of a configuration of an instruction processor included in the central processing unit of FIG. It is.   FIG. 5 shows another embodiment of the present invention, in which a multi-instruction processor is used. 3 is a schematic diagram illustrating various components included in the central processing unit.   FIG. 6 illustrates a situation in which the signal processor of the central processing unit of FIG. FIG.   FIG. 7 illustrates the situation that the instruction processor of the central processing unit of FIG. FIG.   FIG. 8A shows a signal processor when an EXIT signal is received from the instruction processor. Is a flowchart showing the steps performed by the.   FIG. 8 (2) shows a signal processor when a non-EXIT signal is received from the instruction processor. 5 is a flowchart showing steps performed by the server.   FIG. 8 (3) illustrates the steps performed by the signal processor when a time-out event is encountered. It is a flowchart which shows a top.   FIG. 8 (4) shows a signal from a regional processor (RP) or another instruction processor. 5 is a flowchart showing steps performed by a signal processor when received.   9 (1) to 9 (3) show activities A (SP) 1 to A (SP) 3, respectively. 4 is a schematic diagram illustrating the steps performed by an instruction processor to perform.   FIG. 9 (4) shows that the instruction processor executes to execute activity A (SP) 4. 4 is a flowchart showing steps.   9 (5) to 9 (10) show activities A (SP) 5 to A (SP) 10, respectively. 4 is a schematic diagram illustrating steps performed by an instruction processor to execute each;   FIG. 9 (11) shows that the instruction processor executes to execute the activity A (SP) 11. 3 is a flowchart showing the steps performed.   FIG. 10 is a schematic diagram of a signal format used by the present invention.                             Detailed description of the drawings   The central processing unit 120 in FIG. 3 includes an instruction processor unit (IP) 122, a signal A processor (SP) unit 124, a program storage (PS) 126, And Reference Storage (DRS) 128, Multiple Regional Processor Bus Handlers (RPH) 1301,. . . ,nWith "other" processor bus handler (IPB) 131 You. Unless explicitly or implicitly specified otherwise, the elements of apparatus 120 may be preceded by the apparatus of FIG. Elements having the same names as the elements described for 20 are the same. Device 120 One of the differences between the device and the device 20 is the current list memory 150. This is an instruction pro Stored in a set of registers of the processor 122 and accessed by the instruction processor 122. To In addition, the signal processor 124 includes a timer 141.   In the embodiment shown in FIG. 3, the central processing unit 120 is a Sun Ultra 2 workstation. Two processors that are implemented using a shared memory Is provided. A method for transmitting a signal between two processors using shared memory technology is as follows. It is known to those skilled in the art.   The operation of the instruction processor 122 and signal processor 124 are This is different from the operation of the monitor. In more detail, as will be explained in detail later, The processor 122 selectively records the buffer signals it generates on its current list 150. Remember This bypasses the signal processor 124 to improve context preservation. Can be As long as the time limit has not been exceeded, the signal processor 124 Cause one or more of the buffer signals in 50 to execute. Further, the signal processor 1 Whenever 24 has a higher priority job, the signal processor 124 The command processor 122 interrupts the job of the “D” priority level being executed. Further When signal processor 124 sends a signal, it assigns another job to the "A" priority job. Interrupt the job.   FIG. 4 shows one configuration of the instruction processor 122. In the configuration of FIG. Command processor 122 includes a central processing unit (CPU) 160, a register memory 162, , High-speed memory 164, memory access / interface 166, Memory 168A-168C, multiple memory cards 170A-170G, memo Re Memory bus 172 connecting access / interface 166 and card 170 And In the configuration shown in FIG. 4, the cache memory 168A has 128 byte addresses. Cache memory 168B has a 16-byte access, The cache memory 168C has 4-byte access. Cards 170A-170F This is a DRAM main memory card. The card 170G is discarded by the IOB bus. Direct memory access (DMA) card to connect to peripheral devices such as live controllers Card, which allows the use of other memory devices such as disks. You.   The instruction processor configuration shown in FIG. 4 is used for locking and tracking the disk buffer. The high-speed memory 164 is used to access frequently used variables such as data structures. The type of memory to be assigned to a variable is determined by a compiler or a designer. Ki There are various line sizes of the cache memory 168A-168C, and it supports it flexibly. it can. The variables stored in the cache are based on the type of block parameter or variable. Can be specified.   FIG. 10 shows a signal format used in one embodiment of the present invention. signal Is the first field "ThreadID" indicating the thread to which the signal belongs, as shown in FIG. ", The second field" JOBLevel "indicating the priority level of the signal, the final field of the signal Field "F0RMAT" indicating the number of data items in the field, the signal sequence number Field “SignalNumber” indicating the number of received blocks and the sixth field indicating the number of received blocks "RecBlock", the seventh field "SendBlock" which is the number of transmission blocks, the reliability Eighth field "Forlopp Id", the identification used to enhance, first data value Ninth field "RegPRO" containing one or more (24) other data And a tenth field "DataList" containing values.   Threads are connected to external devices (for example, regional processors or "other" instruction processors). A set of jobs that need to be executed in response to messages received from Just in case. Several jobs can be executed simultaneously in a thread, or Communication with external devices can be performed as part of a thread.                                   motion   The events encountered and activities performed by the signal processor 124 are shown in FIG. Instruction processor FIG. 7 shows the events that 122 encounters and the activities to be performed. Shape the events that signal processors encounter The event encountered by the instruction processor 122 is indicated by an identifier “E (SP) x”. It is indicated by an identifier of the form “E (IP) x”. The activities performed by the signal processor 124 The activity performed by the instruction processor 122 is indicated by an identifier of the form “A (SP) x”. It is indicated by an identifier of the form “A (IP) x”. In all these identifiers, “X” indicates an event number or an activity number.   As shown in FIG. 6, the signal processor 124 has three states. That is, IDLE state, W0RKING state, and QUEUED state. The change in state is shown by the thick line in FIG. Indicated by FIG. 6 also shows that the signal processor 124 has four “SP” events, Indicates that E (SP) 1 to E (SP) 4 are encountered. When you encounter an SP event , Signal processor 124 may be in any one of three states. Therefore, Each SP event in FIG. 6 is shown as entering each state (in dotted lines).   In response to each SP event in FIG. 6, signal processor 124 performs a corresponding action. This As used herein, “activity” refers to one or more steps that are performed alternately or continuously. May be included. The activities performed by signal processor 124 and the steps that make up each activity. 8 (1) to 8 (4). Perform according to these activities The step of performing may depend on the "state" of the signal processor 124.   As shown in FIG. 7, the instruction processor 122 has three states. That is, IDLE state, W0RKING state, and COMBINED / WORKING state. Instruction processor The state of the same name of the signal processor 124 and the signal processor 124 should not be confused. Each state Is irrelevant. As in FIG. 6, the change in the state is shown by a thick line in FIG. FIG. 7 The signal processor 124 generates 11 "IP" events, namely event E (IP) 1 E (IP) 11 is encountered. Some of these IP events, such as IP events E (IP) 1, E (IP) 3 and E (IP) 9 are executed by the signal processor 124. Occurs in connection with activities that   The signal processor 124 and the instruction processor 122 are related to each other, and The event indicates that the instruction processor 124 has one or more of the specified states in its state. Only happens when there is. In this regard, the activities performed by the instruction processor 122 are: It is shown in a circle indicating the state in which the activity occurs. The state where the IP event meets is indicated by the dashed line in FIG. Shown by connection. Diagram showing steps related to IP activities E (IP) 1 through E (IP) 11 9 (1) -FIG. 9 (11) show details. 9 (1) -FIG. 9 (11) As will be seen from the following description, the various activities performed by Thus, an SP event E (SP) 1-E (SP) 2 shown in FIG. 6 occurs. A. Operation of the signal processor   The signal processor operates in conjunction with its timer 141 (see FIG. 3). specific Loading a time value (e.g., the value "X" or "Y") results in a corresponding time value. The timer 141 notifies the signal processor 124 when the time has expired. time When the value is over, for example, when notified from the timer 141, a time-out event [event E (S P) 3] occurs. This will be described in detail with reference to FIG. The time out event causes signal processor 124 to activate instruction processor 122. Find out if it is taking too long. In this regard, certain actions (eg, instruction The new signal executed by the processor 122 is stored in the buffer 14 of the signal processor 124. 2), the timer 141 is set to the value “X” (for example, 1 ms). Set. If the timeout expires before the timer 141 is reset to the value "X" In this case, the signal processor 124 sets the flag SP_Interrupt to Indicates that the server 122 has executed the job of the same thread ID for one time interval. You. Next, a second time value “Y” (for example, 3 ms) is loaded into the timer 141. . If a second timeout occurs after the end of the time value "Y", the action taken is Depends on the priority level of the running job. The priority level of the running job is In the case of "D", the job being executed is interrupted. Priority level of the running job Is "A" or "B", it is an error and a KILL signal is issued.   The activities performed by the signal processor upon receiving an SP event are described below.   (1) SP receives non-EXIT signal   In executing the job, instruction processor 122 generates a non-exit signal to May be assigned a priority level. This signal is sent to the signal processor 1 At 24, signal processor 124 considers event E (SP) 2 shown in FIG. Upon receiving event E (SP) 2, signal processor 124 executes activity A (SP) 2. I do. The steps are shown in FIG.   In each of steps 8 (2) -1 and 8 (2) -2, the signal processor 1 24 indicates whether the signal received from the instruction processor 122 is for one of the regional processors; Or identify for "other" instruction processors. Received from instruction processor 122 If the signal is intended for one of the regional processors, step 8 (2)- At 3, the signal is sent to the corresponding regional processor bus handler 130. Instruction processor If the signal received from 122 is to one of the "other" instruction processors Sends the signal to the "other" instruction processor bus handler 131 in step 8 (2) -4. Send to   When the non-EXIT signal received from the instruction processor 122 is not an external signal Is the priority of the signal currently being executed by the instruction processor 122 in step 8 (2) -5. Check the level. The priority level of the currently executing signal must be "D" level For example, in step 8 (2) -6, the received signal is assigned to the corresponding job according to its priority. Put last in buffers 42A-42D. Instead, of the currently running signal If the priority level is "D" level, step 8 (2) -7 is executed. Steps At 8 (2) -7, the value of the timeout switch is set to “X”, and the flag Job_inte Activate rrupted_level [D] (priority level D job is suspended Interrupt the execution of the current ("D" level) job. Instruction pro The processor 122 regards the interruption of the job as an event E (IP) 8 and responds to this by referring to FIG. The activity A (IP) 8 shown in (8) is performed. Step 8 (2) -3 or 8 (2) -4 Completion of 8 (2) -6 or 8 (2) -7 will result in activity as indicated by symbol 8 (2) -8 A (SP) 2 ends.   (2) SP receives EXIT signal   When the EXIT signal [event E (SP) 1] is received from the instruction processor 122, the signal Processor 124 activates activity A (SP) 1. The steps are shown in FIG. Show. Upon receiving the EXIT signal from the instruction processor 122, the instruction processor 122 Completes the execution of a job that is not the result of the generation of a buffer signal. P) 1 is started. Or, the instruction processor 122 receives the EXIT signal The job or sequence of jobs that is the result of the buffer signal [Steps 9 (4) -6, 9 (4) -9, 9 (4) -4 in FIG. 9 (4) and FIG. 7) Step 9 (7) -3 and Step 9 (3) -3 in FIG. 9 (3)].   When the EXIT signal is received from the instruction processor 122 [Event E (SP) 1], the signal Processor 124 has the highest priority from non-empty buffers 142A-142D. The first job to be performed is taken out [Step 8 (1) -1]. In step 8 (1) -2 , The signal processor 122 sends various flags (Error_timeout and SP_Interrupt) Is cleared, and the value of the timeout switch is set to “X”. Step 8 (1)- 3 and in step 8 (1) -4, the priority of the job extracted in step 8 (1) -1 Check the level and check if the priority level is “C” (step 8 (1) -3) or “D”. (Step 8 (1) -4).   If the priority level of the extracted job is "C", the process proceeds to step 8 (1) -5. Check lag Job_interrupted_level [C] to see if this flag is active. That is, execution of another job of priority level C by the instruction processor 122 is signaled. Determine whether the processor has already been interrupted. In step 9 (1) -5 If the determination is positive, step 8 (1) -6 is executed. Step 8 ( At 6) -1, the job extracted at step 8 (1) -1 is returned to the original buffer, Deactivate the flag Job_interrupted_level [C] (for the previously interrupted level Running the bell "C" again, so it is no longer interrupted), flag Active Set _priority to "C" (reset the priority level of the previously suspended job Yes), and resume the interrupted job. Signals the execution of the interrupted job When the server 124 is restarted, the IP event E (IP 2) happens. Then, the activity A (SP) l is completed (indicated by symbol 8 (1) -9). ).   The priority level of the extracted job is “C”, but the flag Job_interrupted_l evel [C] is not active (ie, currently suspended priority level "C ), The steps 8 (1) -7 and 8 (1) -8 are executed. Run. In step 8 (1) -7, the flag Active_priority is set to step 8 (1). 1) Set to the priority of the job retrieved in -1 and related to the retrieved job A signal is sent to the instruction processor 122 as an IP event E (IP) 1 (see FIG. 9A). Set the CurrentThreadID to the thread ID of the extracted job. S At step 8 (1) -8, all the jobs having the priority level "C" or higher in the job buffer are executed. Check the thread ID of the job, and if the thread ID of a job is CurrentThread If it is the same as the ID (that is, the thread ID of the extracted job), Sends the signal associated with the current list to the current list 150 in the instruction processor 122. say In other words, the job buffer with the same thread ID as the CurrentThreadID An IP event E (IP) 11 occurs for each of these jobs (at level "C" or higher). The activity performed by the instruction processor 122 in response to the IP event E (IP) 11 is shown in FIG. This will be described with reference to 1). Next, the activity A (SP) l is completed (symbol 8 (1) -9). ).   If the priority level of the extracted job is “D” (determined in step 8 (1) -4) At step 8 (1) -10, the flag Job_interrupted_level [C] Check Job_interrpted_level [C] to find out which priority the instruction processor 122 is executing. A job of level “C” or “D” is currently suspended by signal processor 124 Is determined. If the check in step 8 (1) -10 is positive (ie, , If either flag is active), take in step 8 (1) -1. The issued job is returned to the buffer [Step 8 (1) -11], and Step 8 (1) A further check is made at -12. Then, in step 8 (1) -12, the flag is Check whether Job_interrupted_level [C] is active. Steps If the result of 8 (1) -12 is affirmative, the flag is set in step 8 (1) -13.  Deactivate Job_interrupted_level [C] and flag Active_priori Assign the value "C" to ty. If the result of step 8 (1) -12 is negative In step 8 (1) -14, the flag Job_interrupted_level [D] is deactivated And assign the value "D" to the flag Active_priority. Step 8 When (1) -13 or 8 (1) -14 is completed, in step 8 (1) -15, the signal The processor 124 instructs the instruction processor 122 to suspend with the highest priority. The execution of the job is resumed, and an IP event E (IP) 2 occurs. Then, the symbol 8 ( 1) Terminate activity A (SP) 1 as indicated by -16.   In step 8 (1) -10, the flag Job_interrupted_level [C] is also changed to Job_i. If it is determined that nterrupted_level [D] is not active, step 8 (1 ) -17 and 8 (1) -18 to end activity A (SP) 1. Step In step 8 (1) -18, the flag Active_priority is set in step 8 (1) -1. The current thread ID is set to the priority of the job Set to the thread ID, and in the same manner as in step 8 (1) -7, The associated signal is sent to instruction processor 122 as IP event E (IP) l (FIG. 9). (See (1)). At step 8 (1) -18, all the jobs ( The thread ID of a thread having a priority level of “C” or higher is checked. Of the job The thread ID is CurrentthreadID (that is, the thread ID of the retrieved job) ), The signal associated with each job is To the list 150. In other words, the same thread ID as CurrentThreadID An IP event E (IP) 11 occurs for each job in the job buffer that has it. Shown before As described above, the action performed by the instruction processor 122 in response to the IP event E (IP) 11 Will be described with reference to FIG.   If the priority level of the retrieved job is not "C" or "D", After performing 8 (1) -19 and 8 (1) -20, terminate activity A (SP) 1 You. Steps 8 (1) -19 and 8 (1) -20 are steps 8 (1) -17 and And 8 (1) -18, and has the same thread ID as CurrentThreadID. Send all jobs in the buffer to the current list 150 in the instruction processor . The end of activity A (SP) 1 is indicated by the symbol 8 (1) -21.   (3) SP receives signal from RP or other IP   The signal processor 124 communicates with the regional processor bus handler 30 and the "other" instruction processor. The signal processor can be sent to the 124 can receive externally generated signals from these handlers. Event E (SP) 4 of No. 6]. Upon receiving this externally generated signal, activity A (SP) Execute Step 4. The step of activity A (SP) 4 is shown in FIG.   If the externally generated signal does not include the thread ID in activity A (SP) 4 (step 8 (4) -1), the signal processor 124 assigns a thread ID. [Step 8 (4) -2]. For example, the signal processor 124 may Concatenated with an internal counter that is incremented each time a new thread ID is assigned To assign a thread ID.   In steps 8 (4) -3 and 8 (4) -4, the signal processor 124 Check the priority level of the generated signal. Steps 8 (4) -3 and 8 (4) -4 If neither condition is satisfied, the thread ID condition of step 8 (4) -5 Check. When the thread ID condition of step 8 (4) -5 is not satisfied Executes step 8 (4) -6.   In step A (SP) 4-3, the job currently executed by the instruction processor 122 is executed. The priority level of the externally generated signal is higher than the priority level of the If the priority level of the running job is the lowest (“D”), the signal processor 1 24 executes Step 8 (4) -7. In step 8 (4) -7, the signal processor The server 124 sets the value of the timeout switch to “X” and sets the flag Job_interrup Activate ted_level [D] (the job of priority level “D” is suspended ), And sends an interrupt to the instruction processor 122. Instruction processor 122 Regards this interrupt as an IP event E (IP) 8. The response to this is shown in FIG. This can be understood by referring to the activity A (IP) 8 described in (1).   In step 8 (4) -4, the priority level of the externally generated signal is set to the highest level (for example, " A "level) and the priority level of the job currently being executed by the instruction processor 122. Otherwise, in step 8 (4) -8, the signal processor 124 sets the flag SP-In set terrupt (this causes instruction processor 122 to execute the currently executing job When the signal is finished, a new signal is executed). Further, in step 8 (4) -7, the signal Processor 124 sets the value of the timeout switch to "Y".   Neither an interrupt nor a flag SP_Interrupt set by an externally generated signal If so, in step 8 (SP) 4-5, the signal processor 124 again generates Thread ID of signal (region processor bus handler 30 or processor bus Is received from the handler 31) is the CurrentThreadID being processed by the instruction processor 122? , And whether the priority level of the externally generated signal is higher than the D level. So If so, in step 8 (4) -9, externally generated to populate current list 150 Signals are sent to instruction processor 122. When this signal is received, [Event E (IP) 9] , The instruction processor 122 outputs the externally generated signal to the last entry in the current list 150. (See FIG. 9 (9)).   If none of steps 8 (4) -3 to 8 (4) -5 is executed, At 8 (4) -6, the signal processor 124 converts the externally generated signal into the job buffer 142. A-142D is placed according to the priority level of the externally generated signal. S End any of Steps 8 (4) -7, 8 (4) -8, 8 (4) -9, 8 (4) -6 Upon completion, the activity A (SP) 4 ends, as indicated by the symbol 8 (4) -10.   (4) SP expired   The value stored in the time-out switch decreases with time by the timer 41 and becomes zero. , The timer 41 expires. When the timer 141 expires, The signal processor 124 regards the timeout as event E (SP) 3 (see FIG. 6) and For the motion A (SP) 3, the steps shown in FIG. Out of time When this happens, the signal processor 124 first proceeds to step 8 (3) -1 to set the flag SP Check if _Interrupt is set. Flag is set If not, the value of the timer 141 (time-out) is set to "Y" in step 8 (3) -2. And set the flag SP After setting Interrupt, activity A (SP) 3 The process ends (indicated by symbol 8 (3) -3). If the flag is not set, Step 8 (3) -4 is executed.   In step 8 (3) -4, the flag SP_Interrupt is cleared. Next step 8 (3) -5, the priority level of the job currently being executed by the instruction processor 122 is “ It is determined whether it is "C" or "D". If the determination in step 8 (3) -5 is affirmative, In this case, steps 8 (3) -6, 8 (3) -7, and 8 (3) -8 are sequentially executed to A (SP) 3 ends. At step 8 (3) -6, the signal processor 124 Buffer from the non-empty buffer having the highest priority among the buffers 142A-142D. Take out the 1 (oldest) job. Next, in step 8 (3) -7, the flag Job _Interrupted_level [Active priority] is set to active. Paraphrase Then, the signal processor 124 causes the currently executing job (priority level (With "Active_priority") is interrupted and therefore the flag Job_i nterrupted_level must be set to the priority level of the interrupted job. Know that In step 8 (3) -8, the instruction processor 122 Abort the job (and timed out during execution). Instruction processing The server 122 considers this interruption as an IP event E (IP) 8. The response to this is This can be understood from the activity A (IP) 8 described in 9 (8).   If the determination in step 8 (3) -5 is negative, that is, if the instruction processor If the priority level of the currently executing job is higher than “C”, the process proceeds to step 8. (3) Send the signal KILL_SIGNAL to the instruction processor 122 at -10. Instruction pro Sessa regards the signal KILL-SIGNAL as IP event E (IP) 3, as shown in Fig. 9 (3). A response activity A (IP) 3 is performed. Step 8 (3) -8 and Step 8 (3) -1 When 0 ends, the activity A (SP) 3 ends as shown by symbol 8 (3) -3. B. Instruction processor behavior   As described above, during execution of a job in various states shown in FIG. The processor 122 may generate the signal itself. Such an IP generation signal is Signals for regional and other instruction processors, combined signals, buffers Including signals. The events resulting from the IP generation signal are shown in FIG. These are buffered signals. E (IP) 11 corresponding to the generation of a signal, generation of a combination signal or HURRY signal E (IP) 10 corresponding to the configuration, the regional processor or the "other" instruction processor Event E (IP) 6 corresponding to the generation of a signal for the HURRY signal is life Command processor 122 executes immediately without checking signal processor 124, The instruction processor 122 moves to a new block and starts executing in this new block. Start. Thus, unlike the combination signal, the HURRY signal is the calling block It is a signal that comes out without returning to.   The activities performed by instruction processor 122 in response to an IP event are as follows.   (1) IP receives signal from SP   When in the IDEL state, the instruction processor 122 executes the operation A (I) shown in FIG. P) 1 is executed. More specifically, in step 9 (1) -1 the instruction processor 1 22 changes its state from IDEL to WORKING (see FIG. 7). Then step 9 At (1) -2, the instruction processor 122 renews the new Move to a new block and start execution in a new block.   (2) IP job execution is interrupted   When an interrupt is received [event E (IP) 8], the instruction processor 122 returns to FIG. The activity A (IP) 8 shown in FIG. In step 9 (8) -1, the instruction processor 12 2 preserves its context. That is, the instruction processor includes the interrupted block, Save the program counter and the contents of the register when interrupted (eg, For example, in the register memory 162). Next, in step 9 (8) -2, the instruction processor 122 is the signal processor 12 for each job stored in the current list 150. 4 to effectively signal the contents of the current list 150 to the signal processor 124. Forward. Thereafter, in step 9 (8) -3, the instruction processor 122 outputs the interrupt signal To execute the job associated with the interrupt signal.   (3) Restart the job whose IP has been interrupted   When instruction processor 122 resumes the interrupted job, event E (IP) 2 Occur. The activity A (IP) 2 performed in response to the event E (IP) 2 is shown in FIG. In step 9 (2) -1, the instruction processor 122 restores the context of the interrupted job. (From register memory 162, as can be seen above). Step 9 (2 ) -2, the instruction processor 122 changes to the priority level of the restored job, and Resume execution of the signal associated with the originated job.   (4) IP sends signal to RP or other IP   The code executed by the instruction processor 122 is a local processor or "other" instruction. If it is necessary to generate a signal for the processor, event E (IP) 6 Occur. The activities performed by instruction processor 122 in response to IP event E (IP) 6 are shown in FIG. It is shown in (6). In activity A (IP) 6, instruction processor 122 simply generates The transmitted signal is sent to the signal processor 124 and the currently executing block (for example, Processor or the "other" instruction processor). Continue the line.   (5) IP sends combination signal or HURRY signal   The code executed by the instruction processor 122 is a combination signal or a HURRY signal. If generation is required [Event E (IP) 10], instruction processor 122 immediately Set the state in combination [FIG. 7 and step 9 (10) -1 in FIG. 9 (10)] See]). Next, in step 9 (10) -2, the instruction processor 122 calls the call block. Lock (that is, the block of the instruction that generated the combination or HURRY signal) Save) and put the return address of the calling block at the top of the stack. In step 9 (10) -3, the instruction processor 122 outputs the combination signal or the HURRY   Move to a new block needed for signal execution and start the new block Start execution.   (6) IP issues combination signal or HURRY signal   Instruction processor 122 encounters EXIT instruction of combination signal or HURRY signal Event E (IP) 5 occurs. When the event E (IP) 5 occurs, FIG. Perform the indicated activity A (IP) 5. In step 9 (5) -1, the instruction processor 122 Is the call block (ie, the block that generated the combination or HURRY signal). ) And the address of the next instruction to be executed in the calling block The stacker 122 is returned from the stack. In step 9 (5) -2, the instruction processor 12 2 indicates that the flag “last Combined_signal_return” is set and Check that the block is empty and, if so, the instruction processor. The state of the power supply 122 is set to the W0RKING state. Next, in step 9 (5) -3 , The instruction processor 122 executes a call block from the instruction specified by the stack address. Resume execution of the lock.   (7) IP sends buffer signal   If an instruction executed by the instruction processor 122 requests generation of a buffer signal, The elephant E (IP) 11], and the instruction processor 122 responds to this, as shown in FIG. Perform activity A (IP) 11. In step 9 (11) -1, the job currently being executed is Evaluate the priority level to determine if it is the lowest ("D") level. So If so, the buffer signal is signaled as an event E (SP) 2 in step 9 (11) -2. Sent to the processor 124 (see FIG. 6) and continues execution in the buffer signal generation block. (Step 9 (11) -3), the activity A (IP) 11 is terminated ( Symbol 9 (11) -4).   If the currently running job does not have the lowest priority, In 9 (11) -5, the next instruction to be executed is the EXIT instruction or the flag SP_Interrupt. Is set or not. The two conditions of Step 9 (11) -5 are If so, the instruction processor (as shown in step 9 (11) -6) The server 122 combines the exit instructions and executes them as part of the signal sending instruction. If If either of the conditions in step 9 (11) -5 is negative, the instruction processor 122 associates the job associated with the buffer signal with the last job in the current list 150 (Step 9 (11) -7). Step 9 (11) -6 or Step 9 When (11) -7 is completed, the activity A (IP) 1 as shown by symbol 9 (11) -4 1 is ended.   (8) IP issues buffer signal   When the instruction processor 122 executes the job associated with the buffer signal, the instruction The processor 122 finally encounters the EXIT instruction [Event E (IP) 4]. buffer Upon encountering the EXIT instruction for the job associated with the signal, instruction processor 122 causes FIG. The activity A (IP) 4 shown in 4) is executed. The "buffer signal" is In addition to including the signals generated by instruction processor 122, signal processor 124 Include all signals that are scheduled for the instruction processor 122.   In connection with activity A (IP) 4, instruction processor 122 proceeds to step 9 (4) -1. Through 9 (4) -3, and if all checks are negative, Step 9 (4) -4 to end Activity A (IP) 4 (with symbol 9 (4) -5) Shown).   In step 9 (4) -1, the instruction processor 122 sets the priority level of the job being executed. Is determined to be the lowest (“D” level). If so, step 9 (4) At -6, the instruction processor 122 sets its state to IDLE and outputs an EXIT signal. The signal is sent to the processor 124, and the signal processor 124 processes the signal (event in FIG. 6). E (SP) 1). At this point, the remaining information stored on the current list 150 is displayed. Signal is not executed.   In step 9 (4) -2, the instruction processor 122 sets the flag SP_Interrupt Check if it is set. SP_Interrupt is the step shown in FIG. In step 8 (4) -7, the job currently being executed in which the priority level of a certain externally generated signal is high and Is set when the priority level of the is not high, or when a timeout occurs. Activity A (SP) 3, Step 8 (3) -2]. The judgment in step 9 (4) -2 is If yes, after performing steps 9 (4) -7 to 9 (4) -9, Activity A (IP) 4 ends.   In step 9 (4) -7, the instruction processor 122 sets its state to IDLE. I do. Next, in step 9 (4) -8, the job stored in the current list 150 is processed. Each time, the instruction processor 122 sends a signal to the signal processor 124 ([first or From last list 150 to signal processor 124 Transfer). The signal processor 124 determines the value of each signal from the current list 150 View the transfer as event E (SP) 2 [see FIG. 6 and activity A (SP) 2]. Step 9 At (4) -9, the instruction processor 122 sends an EXIT signal to the signal processor 124. The signal processor 124 regards the EXIT signal as event E (SP) 1 and In response, activity A (SP) 1 is performed.   If the checks in steps 9 (4) -1 and 9 (4) -2 are negative, In step 9 (4) -1-3, the instruction processor 122 determines that the current list 150 is empty. Determine if there is any. If the current list 150 is not empty, step 9 (4) At -10, the instruction processor 122 associates with the first job in the current list 150. Then, execution of the first job is started. Step 9 (4) -1 After 0, activity A (IP) 4 ends, as shown by symbol 9 (4) -5.   Steps 9 (4) -1, 9 (4) -2, 9 (4) -3 described above are all positive. If not, in step 9 (4) -4, the instruction processor 122 Set to EL and send an EXIT signal to the signal processor 124 to return the current list 1 50 indicates that there are no more jobs waiting to be processed. Signal processor 124 Regards the EXIT signal as event E (SP) 1 and signal processor 124 responds. And perform activity A (SP) 1. After step 9 (4) -4, the symbol 9 (4) -5 shows The activity A (IP) 4 ends as shown.   As can be seen from above, running the buffer signal in the current list 150 And possibly until all jobs in the current list 150 have been executed. Lines may continue as a loop.   (9) IP receives signal to put in current list from SP   As mentioned above, the instruction processor 122 sends the signal to the current list 150 May be received from the signal processor 124. This is especially true for the signal processor 12. 4 is the activity A (SP) l [for example, steps 8 (1) -8, 8 (1) -18, 8 (1 ) -20] and A (SP) 4 [see, for example, step 8 (4) -9] The instruction processor 122 regards this as event E (IP) 9. In response to event E (IP) 9, instruction processor 122 performs activity A (IP) 9. This simply makes the signal the last signal in the current list 150, as shown in FIG. (See step 9 (9) -1).   (10) IP receives KILL signal from SP   As mentioned earlier, the signal processor 124 generates a "KILL signal. For example, what happens when the time period ends (Activity A (SP) 3, eg, Step 8 ( 3) -10). The instruction processor 122 outputs this KILL signal to the event E (IP). 3 and the activity A (IP) 3 shown in FIG. 9 (3) is performed accordingly. KILL Shin In step 9 (3) -1, the instruction processor 122 changes its state to IDLE.   Set to. Next, as a result of the end of the time period (for example, time out), step 9 (3) At) -2, the instruction processor 122 substantially abandons the current thread. In step 9 (3) -3, the instruction processor 122 sends the EXI to the signal processor 124. Send a T signal. The signal processor 124 regards this EXIT signal as event E (SP) 1. None, activity A (SP) 1 is performed in response to this as described above [see FIG. 8 (1)]. See).   (11) Forcible EXIT of buffer signal by IP   The forced EXIT instruction for the buffer signal allows the application program to ensure that EXIT exists. Happens when you want. That is, a small delay is inserted to allow other threads to execute. Must enter. Instruction processor 1 when buffer signal forced EXIT occurs 22 encounters event E (IP) 7 and performs activity A (IP) 7 in response. this The steps are shown in FIG. In step 9 (7) -1, the instruction processor 122 Sends a signal to the signal processor 124 for each job remaining in the current list 150. To effectively transfer the contents of the current list 150 to the signal processor 124. Thereafter, the instruction processor 122 sets the state to IDLE [step 9 ( 7) -2]. Next, in step 9 (7) -3, the instruction processor 122 outputs the EXIT signal. To the signal processor 124. The signal processor 124 processes this exit signal. Considering the elephant E (SP) 1 and accordingly activating the activity A (SP) 1 as described earlier [Refer to FIG. 8 (1)].   Instead of the step shown in Fig. 9 (7), time delay is performed as an activity equivalent to forced EXIT. Can send a signal with it.   FIG. 5 shows another embodiment of the present invention, which is characterized by a central processing unit 220. Center The processing device 220 includes a signal processor 224, a bus handler 230, a shared memory 2 27 (having program storage and data storage), a plurality of instruction processors 2 221, 222Two,. . . , 222nincluding. Each instruction processor of the embodiment of FIG. The support 222 has the configuration described above with reference to FIG.   Several blocks executed in a multiple IP environment such as FIG. Need to handle concurrent execution. Otherwise, one at a time in one block Must ensure that only one processor is running (for example, a different It is necessary to have a signal function for synchronizing threads to be synchronized.) Apparatus 2 as shown in FIG. At 20, some blocks are assigned to only one instruction processor 222 There is a possibility. In such a configuration, the assigned instruction processor 222 Puts some of its data into special high-speed memory, Can be executed very efficiently. But the trade-off is that other instructions Processor 222 needs to change context.   As described above, the instruction processor of the present invention is mainly used as an instruction processor. By putting the job associated with the buffer signal into the current list 150 (For example, as occurs in step 9 (11) -7 of activity A (IP) 11 [FIG. (Refer to (11)]), the scheduling of the job to be executed is performed. Currently running A buffer signal happens to be generated just before leaving the middle job and its priority level is the lowest. If not, and if interrupt is not set, generate buffer signal When the user leaves the job, the job related to the buffer signal is executed [FIG. 9 (11)]. Step 9 (11) -6 of activity A (IP) 11].   Therefore, the instruction processor starts from the job executed as a result of the buffer signal generation. Exits, according to the priority level of the buffer signal and whether the interrupt is set Depending on whether, the instruction processor performs one of several alternative steps . The first alternative step is to take the first (next) job from the current list and [Step 9 (4) -1 of activity A (IP) 4 in FIG. 9 (4)] 0]. The second alternative step is to control the scheduling control by the signal processor 12. Back to 4. This occurs when the buffer signal has the lowest priority level [ Activity 9 (4) -6 of activity A (IP) 4 in FIG. 9 (4)]. The third alternative step is Including forwarding the entire contents of the current list 150 to the signal processor 124. This This occurs when an interrupt occurs [Step of activity A (IP) 4 in FIG. 9 (4)]. 9 (4) -8].   In the first alternative step, when a job on the current list comes out, the current Jobs on the list may be executed in order. That is, it is taken from the current list 150. When the submitted job is completed (at step 9 (4) -10), the EXIT instruction (Another) event E (IP) 4 occurs, and according to the priority level and the interrupt status, Execution can proceed to the next signal on the current list 150.   In particular, as can be seen from step 9 (11) -5 in FIG. 9 (11), the buffer signal Whether to execute the job related to the buffer signal immediately after the job that generates , Whether the buffer signal was generated immediately before a given type of instruction (eg, EXIT instruction) It depends. Therefore, to execute the buffer signal as soon as the job ends, The instructions that generated the buffer signal must be in a predetermined order in the job. Must. Otherwise, the job associated with the buffer signal is Run after jobs related to other buffer signals depending on the remaining signals above, Or it may even be forwarded to the signal processor 124.   When the execution of the job by the instruction processor is interrupted, all of the current list 150 The contents are transferred to the signal processor 124. The signal processor 124 displays the current list 150 from the buffer 142 according to the priority level of the transferred signal. Into the appropriate one.   In general, the instruction processor needs to get a new signal to execute from the signal processor. If there is (which occurs when the EXIT signal is received from the instruction processor), According to the interval (oldest) and priority level (ie level A, B, C, D) The signal is taken out from the buffers 142A-142B [Activity A (SP) in FIG. 8A). 1]. According to the priority level and the extracted thread ID, the flag “Active_pr iority "and CurrentThread_ID are established, and the extracted signal is sent to the instruction processor. Send [see step 8 (1) -19 in FIG. 8 (1)]. In addition, the signal processor In the buffer 142A-142B having the same thread ID as the retrieved job Send all jobs to the current list 150 [Step 8 (1) -20 in FIG. 8A) So that jobs having the same thread ID can be executed in close proximity. You.   Thus, the signal processor 124 also has the function of sending a signal to the current list 150. Have. This especially happens, as mentioned above, when transferring to the instruction processor. Sending another signal in at least one buffer having the same thread identification as the signal. It is when the number processor transfers to the current list. Similarly the current list 150 The signal processor transfers the signal to an externally generated signal (local processor bus). Thread I (received through handler 30 or processor bus handler 31) When D determines that the current thread ID is being processed by the instruction processor 122. [See step A (SP) 4-5 in FIG. 8 (4)].   If the priority level of the extracted job is “C” or “D”, the signal processor The server determines if a job of the same priority level is currently suspended. Then, the execution of the suspended job is resumed, and the retrieved job is stored in the buffer 14. Return to 2C or 142D where applicable. Activity A (SP) 1 in FIG. reference.   When the signal processor receives a higher priority signal (eg, the instruction processor From the local processor, or from the "other" instruction processor) If the processor is executing a level D signal, the instruction processor executes the level D signal. Interrupt immediately [for example, steps 8 (2) -7 in FIG. 8 (2) and the steps in FIG. 8 (4) -8).   In another embodiment, instruction processor 122 includes a plurality of current lists 150A- 150D, a plurality of current lists each associated with a corresponding priority level . For example, a job having an “A” priority level may have a matching status on the current list 150A. Job with a "B" priority level is listed on the current list 150B. of And so on.   Particularly desirable communication schemes may use the variants described above. For example, event E (SP) 1 [receiving EXIT signal from instruction processor 122] and activity A (SP) 1 In this regard, another appropriate procedure may be performed. As an example, the signal processor 124 Proceeding with the expectation of the EXIT signal from the instruction processor 122, A signal for the power supply 122 can be prepared in advance. In this case, the instruction processor When the sensor 122 comes to the EXIT point (here, requesting information from the signal processor 124 is Instruction processor 122 checks whether a prepared message is waiting. Click. According to this procedure, the instruction processor 122 sends the signal processor at the EXIT position. There is no need to wait for Sessa 124.   An advantage is that by providing features such as the current list 150, the present invention Central processing unit uses high-speed memory (eg, cache memory) effectively Is what you can do. The reason is that the central processing unit of the present invention uses this high-speed memory. It does not change context as often as negating the effect. In particular, the instructions of the present invention The processor can reuse the "cached" data. This meaning The taste is that previously accessed data in a thread can be reused. By retrieving data from the main memory (for example, DRAM), one data A buffer larger than a word can be retrieved at a time. Thus, the main memory Since many accesses can be realized by cache access, the load on the instruction processor Can be reduced.   In addition, the instruction processor 122 lists the job associated with the buffer signal in the current list. The central processing unit of the present invention uses the signal Part of the work of Sessa 124 is reduced. Some normal traffic mixing applications (time out 1 ms), the load on the signal processor 124 is significantly reduced.   Further, in the present invention, the buffer signal is often executed as soon as it is generated. Thus, the communication load with the signal processor 124 is reduced, and the operation of the instruction processor 122 is reduced. The load is also reduced.   In the apparatus according to the present invention, the clock frequency of the instruction processor 122 is a signal It is not limited by the clock frequency of the processor 124.   The central processing unit of the present invention uses the above described scheduling of the buffer signal. Process faster than the previous method. Although the number of main memory accesses is reduced in the present invention, The instruction processor 122 stores a very large block of data for each main memory access. As a result, memory bandwidth is increased.   In the present invention, the signal processor searches for job buffers 142A-142D. The signal processor prepares for these jobs due to the large time intervals between You have a lot of time to do it. Therefore, if control is delegated to the signal processor, the instruction The time that the processor stays in IDLE state to fetch the next thread is short.   The present invention is mainly executed and does not interact with regional processors very frequently. Task, for example, CCITT No. 7 Transmission based exchange, home position This is particularly useful for location registers (HLR), service control points (SCP), and the like. this In order to support these applications, the present invention provides a thread IDS to an externally generated signal [ 6A], the job belonging to the same thread is Runs as one thread, increasing the number of jobs executed during a context switch I can do it.   The present invention also relates to a method for controlling an Ericsson AXE on a RISC workstation. Applicable to emulation of devices such as a 10-switch central processor (particularly Since these workstations have cache memory).   Further, from the principle of the present invention, the signal processor and the instruction processor are not necessarily separated. It can be seen that no processors are required. In this regard, the present invention Including the processor, different types of signal processor and instruction processor described herein. Emulate Noh.   Although the invention has been illustrated and described with reference to the preferred embodiments, those skilled in the art will recognize that As will be understood, without departing from the spirit and scope of the invention, the form and details Various changes can be made. Element table 1410-13 Instruction Processor Unit (IP) 3 Signal processing (SP) unit 24 3 Program storage (PS) 26 3 Data storage (DRS) 28 3 Multiple Regional Processor Bus Handlers (RPH) 301,. . . ,n... 3 "Other" Processor Bus Handler (IPB) 31 3 Maintenance unit (MAU) 32 3 Buses 34 and 36 ... 3 Bus 39 4 Job scheduler 40 4 Job Buffers 42A-42D 4 Line 52 ... 5 Line 54 7 Line 56 ... 8 Line 58 ... 8 Instruction processor unit (IP) 122 ... 13 Signal processing (SP) unit 124 ... 13 Program storage (PS) 126 ... 13 Data storage (DRS) 128 13 Multiple Regional Processor Bus Handlers (RPH) 1301,. . . ,n  ..13 "Other" Processor Bus Handler (IPB) 131 ... 13 Current list memory 150 14 Central processing unit (CPU) 160 ... 14 RM (What is this?) 162 ... 14 High-speed memory 164 14 Memory access / interface 166 14 Cache memory 168A-168C ... 14 Memory cards 170A-170G ... 14 Memory bus 172 14 Line 154 ... 17 Line 152 ... 22 Central processing unit 22023 Signal processor 224 ... 23 Bus handler 230 ... 23 Shared memory 227 23

【手続補正書】特許法第184条の8第1項 【提出日】1998年1月15日(1998.1.15) 【補正内容】 (請求の範囲) 16. 複数の現在のリストメモリが前記命令プロセッサにより保持される、請 求項1に記載の処理装置。 17. 各前記複数の現在のリストメモリは対応する優先レベルに関連する、請 求項16に記載の処理装置。 18. 処理装置であって、信号プロセッサは命令プロセッサが実行するジョブ をスケジュールして前記命令プロセッサが或ジョブを実行するときジョブ関連信 号を前記命令プロセッサに送り、前記信号プロセッサは前記処理装置外で生成さ れたまた前記命令プロセッサからの信号を受け、改善点は、 現在のリストメモリが前記命令プロセッサにより保持され、前記命令プロセッ サが実行する現在のジョブから、実行する新しいジョブに関連するバッファ信号 を前記命令プロセッサが生成すると、前記命令プロセッサは前記新しいジョブに 関連する前記バッファ信号を前記現在のリスト内に記憶し、前記現在のリストは 前記命令プロセッサが実行するために前記信号プロセッサがスケジュールする信 号のリストであり、また或外部生成信号の優先レベルと前記命令プロセッサが実 行する前記現在のジョブの優先レベルとが所定の関係を有するときは前記命令プ ロセッサは前記現在のリストの内容を前記信号プロセッサに転送する、 ことを含む、処理装置。 19. 前記所定の関係は、前記外部生成信号の優先レベルが最高の優先レベル でありかつ前記命令プロセッサが実行中の現在のジョブの優先レベルを超えるこ とである、請求項18に記載の処理装置。 20. 前記命令プロセッサが実行する現在のジョブの優先レベルが最低であり かつ前記外部生成信号が前記最低の優先レベルより高い優先レベルを持つ場合は 、前記信号プロセッサは前記命令プロセッサが実行中の前記現在のジョブを中断 する、請求項18に記載の処理装置。 21. 前記信号プロセッサは、前記信号プロセッサがスケジュールしたジョブ を実行する前記命令プロセッサによりエミュレートされる、請求項18に記載の 処理装置。 22. 信号プロセッサは命令プロセッサが実行するジョブをスケジュールして 前記信号プロセッサがスケジュールしたジョブを前記命令プロセッサが実行する ときジョブ関連信号を前記命令プロセッサに送る、処理装置の操作方法であって 、改善点は、 前記命令プロセッサは現在のリストを保持し、前記命令プロセッサが実行する 現在のジョブから、実行する新しいジョブに関連するバッファ信号を前記命令プ ロセッサが生成すると、前記命令プロセッサは前記新しいジョブに関連する前記 バッファ信号を前記現在のリスト内に記憶する ことを含む、処理装置の操作方法。 39. 処理装置の操作方法であって、信号プロセッサは命令プロセッサが実行 するジョブをスケジュールして前記命令プロセッサが或ジョブを実行するときジ ョブ関連信号を前記命令プロセッサに送り、前記処理装置は前記処理装置外で生 成されたまた前記命令プロセッサからの信号を受け、改善点は、 前記命令プロセッサは現在のリストを保持し、前記命令プロセッサが実行する 現在のジョブから、実行する新しいジョブに関連するバッファ信号を前記命令プ ロセッサが生成すると、前記命令プロセッサは前記新しいジョブに関連する前記 バッファ信号を前記現在のリスト内に記憶し、前記現在のリストは前記命令プロ セッサが実行するために前記信号プロセッサがスケジュールする信号のリストで あり、 また或外部生成信号の優先レベルと前記命令プロセッサが実行する前記現在の ジョブの優先レベルとが所定の関係を有するときは、前記命令プロセッサは前記 現在のリストの内容を前記信号プロセッサに転送する、 ことを含む、処理装置の操作方法。 40. 前記所定の関係は、前記外部生成信号の優先レベルが最高の優先レベル でありかつ前記命令プロセッサが実行中の現在のジョブの優先レベルを超えるこ とである、請求項39に記載の処理装置の操作方法。[Procedure of Amendment] Article 184-8, Paragraph 1 of the Patent Act [Submission date] January 15, 1998 (Jan. 15, 1998) [Correction contents] (The scope of the claims) 16. A plurality of current list memories maintained by the instruction processor; The processing device according to claim 1. 17. Each of the plurality of current list memories is associated with a corresponding priority level; The processing device according to claim 16. 18. A processing device, wherein the signal processor is a job executed by the instruction processor. A job-related signal when the instruction processor executes a job. Signal to the instruction processor, the signal processor generating the signal outside the processing unit. In response to a signal from the instruction processor,   The current list memory is maintained by the instruction processor and the instruction processor From the current job that the server runs, the buffer signal associated with the new job to run Is generated by the instruction processor, the instruction processor Storing the associated buffer signal in the current list, wherein the current list is A signal scheduled by the signal processor for execution by the instruction processor. And the priority level of the externally generated signal and the instruction processor When the priority level of the current job to be executed has a predetermined relationship, the instruction A processor for transferring the contents of the current list to the signal processor; Processing apparatus, including: 19. The predetermined relationship is that the priority level of the externally generated signal is the highest priority level. And the instruction processor exceeds the priority level of the current job being executed. 19. The processing apparatus according to claim 18, wherein 20. The priority level of the current job executed by the instruction processor is the lowest And if the externally generated signal has a higher priority level than the lowest priority level The signal processor interrupts the current job being executed by the instruction processor The processing apparatus according to claim 18, wherein the processing is performed. 21. The signal processor is a job scheduled by the signal processor. 19. The emulator of claim 18, emulated by the instruction processor executing Processing equipment. 22. The signal processor schedules the job for the instruction processor to execute The instruction processor executes a job scheduled by the signal processor Sending a job-related signal to the instruction processor; , Improvements   The instruction processor keeps a current list and the instruction processor executes From the current job, a buffer signal associated with the new job to be executed When the processor generates, the instruction processor causes the instruction processor to associate with the new job. Store buffer signals in the current list And a method of operating the processing apparatus. 39. A method of operating a processing device, wherein a signal processor is executed by an instruction processor. Job to be scheduled and the instruction processor Job-related signals to the instruction processor, and the processing unit is generated outside the processing unit. Also received signals from the instruction processor, the improvements are:   The instruction processor keeps a current list and the instruction processor executes From the current job, a buffer signal associated with the new job to be executed When the processor generates, the instruction processor causes the instruction processor to associate with the new job. Storing buffer signals in the current list, wherein the current list is In the list of signals that the signal processor schedules for the processor to execute Yes,   Also, the priority level of an externally generated signal and the current When the priority level of the job has a predetermined relationship, the instruction processor Forwarding the contents of the current list to the signal processor; And a method of operating the processing apparatus. 40. The predetermined relationship is that the priority level of the externally generated signal is the highest priority level. And the instruction processor exceeds the priority level of the current job being executed. The method of operating a processing apparatus according to claim 39, wherein:

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AU,AZ ,BA,BB,BG,BR,BY,CA,CH,CN, CU,CZ,DE,DK,EE,ES,FI,GB,G E,HU,IL,IS,JP,KE,KG,KP,KR ,KZ,LC,LK,LR,LS,LT,LU,LV, MD,MG,MK,MN,MW,MX,NO,NZ,P L,PT,RO,RU,SD,SE,SG,SI,SK ,TJ,TM,TR,TT,UA,UG,UZ,VN 【要約の続き】 現在のリスト内の全ての残りのジョブを信号プロセッサ に送るか[信号プロセッサが命令プロセッサに割込みを 与えている場合]、または(3)現在のリストから別の ジョブを取り出して実行する。────────────────────────────────────────────────── ─── Continuation of front page    (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, L U, MC, NL, PT, SE), OA (BF, BJ, CF) , CG, CI, CM, GA, GN, ML, MR, NE, SN, TD, TG), AP (KE, LS, MW, SD, S Z, UG), UA (AM, AZ, BY, KG, KZ, MD , RU, TJ, TM), AL, AM, AT, AU, AZ , BA, BB, BG, BR, BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, G E, HU, IL, IS, JP, KE, KG, KP, KR , KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, P L, PT, RO, RU, SD, SE, SG, SI, SK , TJ, TM, TR, TT, UA, UG, UZ, VN [Continuation of summary] Signal processor for all remaining jobs in the current list Or [Signal processor interrupts instruction processor. If given), or (3) another from the current list Retrieve and execute a job.

Claims (1)

【特許請求の範囲】 排他的所有権すなわち特権を主張するこの発明の実施の形態を次のように規定 する。 1. 信号プロセッサは命令プロセッサが実行するジョブをスケジュールして前 記命令プロセッサが次に実行するジョブを要求するとジョブ関連信号を前記命令 プロセッサに送る、処理装置であって、改善点は、 現在のリストメモリは前記命令プロセッサにより保持され、前記命令プロセッ サが実行する現在のジョブから、実行する新しいジョブに関連するバッファ信号 を前記命令プロセッサが生成すると、前記命令プロセッサは前記新しいジョブに 関連する前記バッファ信号を前記現在のリスト内に記憶する ことを含む、処理装置。 2. 前記命令プロセッサは前記新しいジョブに関連する前記バッファ信号を、 前記バッファ信号を生成した現在のジョブの優先レベルに従って前記現在のリス ト内に選択的に記憶する、請求項1に記載の処理装置。 3. 前記命令プロセッサは前記新しいジョブに関連する前記バッファ信号を、 前記信号プロセッサが前記命令プロセッサに割込みを与えているかどうかに従っ て前記現在のリスト内に選択的に記憶する、請求項1に記載の処理装置。 4. 前記バッファ信号を生成した現在のジョブ内の命令が前記現在のジョブ内 で所定の順序になっている場合は前記新しいジョブはすぐ実行される、請求項1 に記載の処理装置。 5. 前記バッファ信号を生成した現在のジョブ内の前記命令が前記現在のジョ ブの EXIT 命令の直前にある場合は前記新しいジョブはすぐ実行される、請求項 4に記載の処理装置。 6. 前記命令プロセッサは、前記新しいジョブに関連する前記バッファ信号を 前記現在のリスト内の所定の位置に記憶する、請求項1に記載の処理装置。 7. 前記命令プロセッサは、前記新しいジョブに関連する前記バッファ信号を 前記現在のリスト内の最後のジョブとして記憶する、請求項6に記載の処理装置 。 8. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了する と、前記バッファ信号に関連するジョブが所定の優先レベルを持つ場合は前記命 令プロセッサは前記信号プロセッサに EXIT 信号を送る、請求項1に記載の処理 装置。 9. 前記所定の優先レベルは最低の優先レベルである、請求項8に記載の処理 装置。 10. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記信号プロセッサが前記命令プロセッサに割込みを与えている場合は前 記命令プロセッサは前記現在のリスト内の全ての残りのジョブを前記信号プロセ ッサに送る、請求項1に記載の処理装置。 11. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記命令プロセッサは前記現在のリストから別のジョブを取り出して実行 する、請求項1に記載の処理装置。 12. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記命令プロセッサは以下の、 (A) 前記バッファ信号に関連するジョブが所定の優先レベルを持つ場合は EXIT 信号を前記信号プロセッサに送る、 (B) 前記信号プロセッサが前記命令プロセッサに割込みを与えている場合 は、前記現在のリスト内の全ての残りのジョブを前記信号プロセッサに送る、 (C) 前記現在のリストから別のジョブを取り出して実行する、 のどれかを選択的に実行する、請求項1に記載の処理装置。 13. 前記信号プロセッサは、前記信号プロセッサがスケジュールしたジョブ を実行する前記命令プロセッサによりエミュレートされる、請求項1に記載の処 理装置。 14. 前記信号プロセッサは前記現在のリスト上の信号を選択的に記憶する、 請求項1に記載の処理装置。 15. 信号を取り出して前記命令プロセッサに送る少なくとも1個のバッファ を前記信号プロセッサが備えるとき、また前記信号プロセッサが前記命令プロセ ッサに信号を送るとき、前記信号プロセッサは、その少なくとも1個のバッファ 内にあって前記命令プロセッサに転送中の信号と同じスレッド識別を持つ別の信 号を前記現在のリストに転送する、請求項14に記載の処理装置。 16. 複数の現在のリストメモリが前記命令プロセッサにより保持される、請 求項1に記載の処理装置。 17. 各前記複数の現在のリストメモリは対応する優先レベルに関連する、請 求項16に記載の処理装置。 18. 処理装置であって、信号プロセッサは命令プロセッサが実行するジョブ をスケジュールして前記命令プロセッサが或ジョブを実行するときジョブ関連信 号を前記命令プロセッサに送り、前記信号プロセッサは前記処理装置外で生成さ れたまた前記命令プロセッサからの信号を受け、改善点は、 前記命令プロセッサからまたは前記処理装置の外部から信号を受けたとき、受 けた信号の優先レベルが最高の優先レベルでありかつ前記命令プロセッサが実行 中の現在のジョブの優先レベルを超えるときは、前記信号プロセッサは前記命令 プロセッサに割込みを与える、 ことを含む、処理装置。 19. 現在のリストメモリが前記命令プロセッサにより保持され、前記命令プ ロセッサが実行する現在のジョブから、実行する新しいジョブに関連するバッフ ァ信号を前記命令プロセッサが生成すると、前記命令プロセッサは前記新しいジ ョブに関連する前記バッファ信号を前記現在のリストに記憶し、また外部生成信 号の優先レベルが最高の優先レベルでありかつ前記命令プロセッサが実行中の現 在のジョブの優先レベルを超えるときは、前記現在のリストの内容は前記信号プ ロセッサに転送される、請求項18に記載の処理装置。 20. 前記命令プロセッサが実行する現在のジョブの優先レベルが最低であり かつ前記外部生成信号が前記最低の優先レベルより高い優先レベルを持つ場合は 、前記信号プロセッサは前記命令プロセッサが実行中の前記現在のジョブを中断 する、請求項18に記載の処理装置。 21. 前記信号プロセッサは、前記信号プロセッサがスケジュールしたジョブ を実行する前記命令プロセッサによりエミュレートされる、請求項18に記載の 処理装置。 22. 信号プロセッサは命令プロセッサが実行するジョブをスケジュールして 前記信号プロセッサがスケジュールしたジョブを前記命令プロセッサが実行する ときジョブ関連信号を前記命令プロセッサに送る、処理装置の操作方法であって 、改善点は、 前記命令プロセッサは現在のリストを保持し、前記命令プロセッサが実行する 現在のジョブから、実行する新しいジョブに関連するバッファ信号を前記命令プ ロセッサが生成すると、前記命令プロセッサは前記新しいジョブに関連する前記 バッファ信号を前記現在のリスト内に記憶する ことを含む、処理装置の操作方法。 23. 前記命令プロセッサは前記新しいジョブに関連する前記バッファ信号を 、前記バッファ信号を生成した現在のジョブの優先レベルに従って前記現在のリ スト内に選択的に記憶する、請求項22に記載の処理装置の操作方法。 24. 前記命令プロセッサは前記新しいジョブに関連する前記バッファ信号を 、前記信号プロセッサが前記命令プロセッサに割込みを与えているかどうかに従 って前記現在のリスト内に選択的に記憶する、請求項22に記載の処理装置の操 作方法。 25. 前記バッファ信号を生成した現在のジョブ内の命令が前記現在のジョブ 内で所定の順序になっている場合は前記新しいジョブはすぐ実行される、請求項 22に記載の処理装置の操作方法。 26. 前記バッファ信号を生成した現在のジョブ内の前記命令が前記現在のジ ョブの EXIT 命令の直前にある場合は前記新しいジョブはすぐ実行される、請求 項23に記載の処理装置の操作方法。 27. 前記命令プロセッサは、前記新しいジョブに関連する前記バッファ信号 を前記現在のリスト内の所定の位置に記憶する、請求項22に記載の処理装置の 操作方法。 28. 前記命令プロセッサは、前記新しいジョブに関連する前記バッファ信号 を前記現在のリスト内の最後のジョブとして記憶する、請求項27に記載の処理 装置の操作方法。 29. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記バッファ信号に関連するジョブが所定の優先レベルを持つ場合は前記 命令プロセッサは前記信号プロセッサに EXIT 信号を送る、請求項22に記載の 処理装置の操作方法。 30. 前記所定の優先レベルは最低の優先レベルである、請求項29に記載の 処理装置の操作方法。 31. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記信号プロセッサが前記命令プロセッサに割込みを与えている場合は前 記命令プロセッサは前記現在のリスト内の全ての残りのジョブを前記信号プロセ ッサに送る、請求項22に記載の処理装置の操作方法。 32. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記命令プロセッサは前記現在のリストから別のジョブを取り出して実行 する、請求項22に記載の処理装置の操作方法。 33. 前記命令プロセッサが或バッファ信号に関連するジョブの実行を終了す ると、前記命令プロセッサは以下の、 (A) 前記バッファ信号に関連するジョブが所定の優先レベルを持つ場合は EXIT 信号を前記信号プロセッサに送る、 (B) 前記信号プロセッサが前記命令プロセッサに割込みを与えている場合 は、前記現在のリスト内の全ての残りのジョブを前記信号プロセッサに送る、 (C) 前記現在のリストから別のジョブを取り出して実行する、 のどれかを選択的に実行する、請求項22に記載の処理装置の操作方法。 34. 前記信号プロセッサは、前記信号プロセッサがスケジュールしたジョブ を実行する前記命令プロセッサによりエミュレートされる、請求項22に記載の 処理装置の操作方法。 35. 前記信号プロセッサは前記現在のリスト上の信号を選択的に記憶する、 請求項22に記載の処理装置の操作方法。 36. 信号を取り出して前記命令プロセッサに送る少なくとも1個のバッファ を前記信号プロセッサが備えるとき、また前記信号プロセッサが前記命令プロセ ッサに或信号を送るとき、前記信号プロセッサは、その少なくとも1個のバッフ ァ内にあって前記命令プロセッサに転送中の信号と同じスレッド識別を持つ別の 信号を前記現在のリストに転送する、請求項33に記載の処理装置の操作方法。 37. 複数の現在のリストメモリが前記命令プロセッサにより保持される、請 求項22に記載の処理装置の操作方法。 38. 各前記複数の現在のリストメモリは対応する優先レベルに関連する、請 求項22に記載の処理装置の操作方法。 39. 処理装置の操作方法であって、信号プロセッサは命令プロセッサが実行 するジョブをスケジュールして前記命令プロセッサが或ジョブを実行するときジ ョブ関連信号を前記命令プロセッサに送り、前記処理装置は前記処理装置外で生 成されたまた前記命令プロセッサからの信号を受け、改善点は、 前記命令プロセッサからまたは前記処理装置の外部から信号を受けたとき、外 部生成信号の優先レベルが最高の優先レベルでありかつ前記命令プロセッサが実 行中の現在のジョブの優先レベルを超えるときは、前記信号プロセッサは前記命 令プロセッサに割込みを与える、 ことを含む、処理装置の操作方法。 40. 前記命令プロセッサは現在のリストメモリを保持し、前記命令プロセッ サが実行する現在のジョブから、実行する新しいジョブに関連するバッファ信号 を前記命令プロセッサが生成すると、前記命令プロセッサは前記新しいジョブに 関連する前記バッファ信号を前記現在のリストに記憶し、また外部生成信号の優 先レベルが最高の優先レベルでありかつ前記命令プロセッサが実行中の現在のジ ョブの優先レベルを超えるときは、前記現在のリストの内容を前記信号プロセッ サに転送する、請求項39に記載の処理装置の操作方法。 41. 前記命令プロセッサが実行する現在のジョブの優先レベルが最低であり かつ前記外部生成信号が前記最低優先レベルより高い優先レベルを持つ場合は、 前記信号プロセッサは前記命令プロセッサが実行中の前記現在のジョブを中断す る、請求項39に記載の処理装置の操作方法。[Claims]   An embodiment of the present invention in which exclusive property or privilege is claimed is defined as follows. I do. 1. The signal processor schedules the job for execution by the instruction processor and When the instruction processor requests a job to be executed next, a job-related signal is sent to the instruction. A processing device for sending to a processor, wherein the improvement is:   The current list memory is held by the instruction processor, and the instruction processor From the current job that the server runs, the buffer signal associated with the new job to run Is generated by the instruction processor, the instruction processor Storing the associated buffer signal in the current list Processing apparatus, including: 2. The instruction processor stores the buffer signal associated with the new job, The current list according to the priority level of the current job that generated the buffer signal. The processing device according to claim 1, wherein the processing device selectively stores the information in a host. 3. The instruction processor stores the buffer signal associated with the new job, According to whether the signal processor is interrupting the instruction processor. The processing device according to claim 1, wherein the information is selectively stored in the current list. 4. The instruction in the current job that generated the buffer signal is 2. The method according to claim 1, wherein the new job is executed immediately if the job is in a predetermined order. A processing device according to claim 1. 5. The instruction in the current job that generated the buffer signal is The new job is executed immediately if immediately before the EXIT instruction of the job. 5. The processing device according to 4. 6. The instruction processor stores the buffer signal associated with the new job The processing device according to claim 1, wherein the information is stored at a predetermined position in the current list. 7. The instruction processor stores the buffer signal associated with the new job The processing device according to claim 6, wherein the processing unit stores the last job in the current list. . 8. The instruction processor terminates execution of a job associated with a buffer signal And if the job associated with the buffer signal has a predetermined priority level, The process of claim 1, wherein the command processor sends an EXIT signal to the signal processor. apparatus. 9. 9. The process according to claim 8, wherein the predetermined priority level is a lowest priority level. apparatus. 10. The instruction processor terminates execution of a job associated with a buffer signal. If the signal processor is giving an interrupt to the instruction processor, The instruction processor may list all remaining jobs in the current list with the signal processor. The processing apparatus according to claim 1, wherein the processing apparatus sends the processing apparatus to a processor. 11. The instruction processor terminates execution of a job associated with a buffer signal. Then, the instruction processor fetches another job from the current list and executes it. The processing device according to claim 1, which performs the processing. 12. The instruction processor terminates execution of a job associated with a buffer signal. Then, the instruction processor:   (A) When the job related to the buffer signal has a predetermined priority level Sending an EXIT signal to the signal processor;   (B) When the signal processor gives an interrupt to the instruction processor Sends all remaining jobs in the current list to the signal processor;   (C) taking another job from the current list and executing it; The processing device according to claim 1, wherein the processing device selectively executes any one of the following. 13. The signal processor is a job scheduled by the signal processor. 2. The process of claim 1, emulated by the instruction processor executing Equipment. 14. The signal processor selectively stores signals on the current list; The processing device according to claim 1. 15. At least one buffer for fetching a signal and sending it to the instruction processor When the signal processor has the instruction processor. When sending a signal to the at least one buffer, And another signal having the same thread identification as the signal being transferred to the instruction processor. The processing device according to claim 14, wherein the processing device transfers a signal to the current list. 16. A plurality of current list memories maintained by the instruction processor; The processing device according to claim 1. 17. Each of the plurality of current list memories is associated with a corresponding priority level; The processing device according to claim 16. 18. A processing device, wherein the signal processor is a job executed by the instruction processor. A job-related signal when the instruction processor executes a job. Signal to the instruction processor, the signal processor generating the signal outside the processing unit. In response to a signal from the instruction processor,   When receiving a signal from the instruction processor or from outside the processing device, The priority level of the digit signal is the highest priority level and the instruction processor is executing If the priority level of the current job is exceeded, the signal processor Interrupt the processor, Processing apparatus, including: 19. The current list memory is maintained by the instruction processor and the instruction The buffer associated with the new job to run from the current job that the processor runs When the instruction processor generates the key signal, the instruction processor generates the new signal. The buffer signal associated with the job is stored in the current list and an externally generated signal is stored. Signal is the highest priority level and the instruction processor is executing the current If the priority level of the current job is exceeded, the contents of the current list are 19. The processing device according to claim 18, wherein the processing device is transferred to a processor. 20. The priority level of the current job executed by the instruction processor is the lowest And if the externally generated signal has a higher priority level than the lowest priority level The signal processor interrupts the current job being executed by the instruction processor The processing apparatus according to claim 18, wherein the processing is performed. 21. The signal processor is a job scheduled by the signal processor. 19. The emulator of claim 18, emulated by the instruction processor executing Processing equipment. 22. The signal processor schedules the job for the instruction processor to execute The instruction processor executes a job scheduled by the signal processor Sending a job-related signal to the instruction processor; , Improvements   The instruction processor keeps a current list and the instruction processor executes From the current job, a buffer signal associated with the new job to be executed When the processor generates, the instruction processor causes the instruction processor to associate with the new job. Store buffer signals in the current list And a method of operating the processing apparatus. 23. The instruction processor outputs the buffer signal associated with the new job. The current job according to the priority level of the current job that generated the buffer signal. The method of operating a processing apparatus according to claim 22, wherein the method is selectively stored in a strike. 24. The instruction processor outputs the buffer signal associated with the new job. Depends on whether the signal processor is interrupting the instruction processor. 23. The operation of the processing device according to claim 22, wherein the information is selectively stored in the current list. How to make. 25. The instruction in the current job that generated the buffer signal is the current job The new job is executed immediately if it is in a predetermined order within the job. 23. The method for operating a processing apparatus according to claim 22. 26. The instruction in the current job that generated the buffer signal is If the job is immediately before the EXIT instruction, the new job is executed immediately. Item 24. The method for operating a processing device according to item 23. 27. The instruction processor may include a buffer signal associated with the new job. Is stored in a predetermined position in the current list. Method of operation. 28. The instruction processor may include a buffer signal associated with the new job. 28. The process of claim 27, wherein is stored as the last job in the current list. How to operate the device. 29. The instruction processor terminates execution of a job associated with a buffer signal. Then, if the job related to the buffer signal has a predetermined priority level, 23. The instruction processor of claim 22, wherein the instruction processor sends an EXIT signal to the signal processor. How to operate the processing unit. 30. 30. The method of claim 29, wherein the predetermined priority level is a lowest priority level. How to operate the processing unit. 31. The instruction processor terminates execution of a job associated with a buffer signal. If the signal processor is giving an interrupt to the instruction processor, The instruction processor may list all remaining jobs in the current list with the signal processor. The method for operating a processing apparatus according to claim 22, wherein the processing apparatus is sent to a processor. 32. The instruction processor terminates execution of a job associated with a buffer signal. Then, the instruction processor fetches another job from the current list and executes it. The method for operating a processing apparatus according to claim 22, which performs the operation. 33. The instruction processor terminates execution of a job associated with a buffer signal. Then, the instruction processor:   (A) When the job related to the buffer signal has a predetermined priority level Sending an EXIT signal to the signal processor;   (B) When the signal processor gives an interrupt to the instruction processor Sends all remaining jobs in the current list to the signal processor;   (C) taking another job from the current list and executing it; 23. The operation method of the processing device according to claim 22, wherein any one of the following is selectively performed. 34. The signal processor is a job scheduled by the signal processor. 23. The emulator of claim 22, emulated by the instruction processor executing How to operate the processing unit. 35. The signal processor selectively stores signals on the current list; An operation method of the processing apparatus according to claim 22. 36. At least one buffer for fetching a signal and sending it to the instruction processor When the signal processor has the instruction processor. The signal processor sends at least one buffer to the signal processor. And has the same thread identification as the signal being transferred to the instruction processor. The method of operating a processing device according to claim 33, wherein a signal is transferred to the current list. 37. A plurality of current list memories maintained by the instruction processor; A method for operating a processing apparatus according to claim 22. 38. Each of the plurality of current list memories is associated with a corresponding priority level; A method for operating a processing apparatus according to claim 22. 39. A method of operating a processing device, wherein a signal processor is executed by an instruction processor. Job to be scheduled and the instruction processor Job-related signals to the instruction processor, and the processing unit is generated outside the processing unit. Also received signals from the instruction processor, the improvements are:   When receiving a signal from the instruction processor or from outside the processing device, And the instruction processor has the highest priority level and the If the priority level of the current job in the line is exceeded, the signal processor Command processor to interrupt, And a method of operating the processing apparatus. 40. The instruction processor holds a current list memory and stores the instruction processor. From the current job that the server runs, the buffer signal associated with the new job to run Is generated by the instruction processor, the instruction processor The associated buffer signal is stored in the current list, and the superior of the externally generated signal is stored. The previous level is the highest priority level and the current processor that the instruction processor is executing. If the priority level of the job is exceeded, the contents of the current list are replaced by the signal processor. The method for operating a processing apparatus according to claim 39, wherein the processing apparatus is transferred to a processing apparatus. 41. The priority level of the current job executed by the instruction processor is the lowest And when the externally generated signal has a higher priority level than the lowest priority level, The signal processor interrupts the current job being executed by the instruction processor The method of operating a processing apparatus according to claim 39, wherein
JP09522721A 1995-12-19 1996-12-19 Instruction Processor Job Scheduling Ceased JP2000502202A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57497795A 1995-12-19 1995-12-19
US08/574,977 1995-12-19
PCT/SE1996/001706 WO1997022927A1 (en) 1995-12-19 1996-12-19 Job scheduling for instruction processor

Publications (2)

Publication Number Publication Date
JP2000502202A true JP2000502202A (en) 2000-02-22
JP2000502202A5 JP2000502202A5 (en) 2004-11-04

Family

ID=24298404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09522721A Ceased JP2000502202A (en) 1995-12-19 1996-12-19 Instruction Processor Job Scheduling

Country Status (7)

Country Link
EP (1) EP0868690A1 (en)
JP (1) JP2000502202A (en)
KR (1) KR20000064491A (en)
CN (1) CN1209207A (en)
AU (1) AU714853B2 (en)
CA (1) CA2240778A1 (en)
WO (1) WO1997022927A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246591A (en) * 2013-04-26 2013-08-14 华为技术有限公司 Signal processing method and device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4489958B2 (en) 1998-11-16 2010-06-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Simultaneous processing of event-based systems
SE9803901D0 (en) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
JP2001022600A (en) * 1999-07-06 2001-01-26 Matsushita Electric Ind Co Ltd Digital signal processor
DE60227374D1 (en) * 2001-07-12 2008-08-14 Do Labs Method and system for providing formatted information to image processing devices
KR101355295B1 (en) * 2006-08-29 2014-02-07 엔에이치엔엔터테인먼트 주식회사 Method and Device for Controlling Message Transmission in Online Game
CN108549578B (en) * 2017-12-25 2020-02-07 贵阳忆芯科技有限公司 Interrupt aggregation device and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4286322A (en) * 1979-07-03 1981-08-25 International Business Machines Corporation Task handling apparatus
EP0243402B1 (en) * 1985-10-15 1991-01-02 Unisys Corporation A special purpose processor for off-loading many operating system functions in a large data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246591A (en) * 2013-04-26 2013-08-14 华为技术有限公司 Signal processing method and device

Also Published As

Publication number Publication date
WO1997022927A1 (en) 1997-06-26
AU714853B2 (en) 2000-01-13
AU1218897A (en) 1997-07-14
EP0868690A1 (en) 1998-10-07
CN1209207A (en) 1999-02-24
CA2240778A1 (en) 1997-06-26
KR20000064491A (en) 2000-11-06

Similar Documents

Publication Publication Date Title
US6434630B1 (en) Host adapter for combining I/O completion reports and method of using the same
US5944778A (en) Periodic process scheduling method
US5247671A (en) Scalable schedules for serial communications controller in data processing systems
EP1131739B1 (en) Batch-wise handling of job signals in a multiprocessing system
US20020103847A1 (en) Efficient mechanism for inter-thread communication within a multi-threaded computer system
US20050015768A1 (en) System and method for providing hardware-assisted task scheduling
US20020161957A1 (en) Methods and systems for handling interrupts
JPH03126158A (en) Method and apparatus for scheduling
JPH06309252A (en) Interconnection interface
JPH06202883A (en) Equipment for communication between processes and method therefor
JPH09128252A (en) Control method for execution of task with priority and data processor
KR20030007447A (en) High-speed Data Processing Using Internal Processor Mermory Space
JP2007079789A (en) Computer system and event processing method
KR100617228B1 (en) method for implementation of transferring event in real-time operating system kernel
CN112491426A (en) Service assembly communication architecture and task scheduling and data interaction method facing multi-core DSP
JP2002530734A (en) Job parallel processor
JP2000502202A (en) Instruction Processor Job Scheduling
JP2001282558A (en) Multi-operating computer system
JP3245500B2 (en) Event management method in multi-programming
WO2000023891A1 (en) A processor
CN109426562B (en) priority weighted round robin scheduler
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
WO2004061663A2 (en) System and method for providing hardware-assisted task scheduling
US7320044B1 (en) System, method, and computer program product for interrupt scheduling in processing communication
JP3653176B2 (en) Process execution control method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20060529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704