【事件の表示】
　平成　２年特許願第１７５４８６号「複数の処理を実行する方法および装置」拒絶査定に対する審判事件［平成　３年　３月２７日出願公開、特開平　３−　７１２４８］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
  １．手続の経緯・本願発明
　本願は、平成２年７月４日（パリ条約による優先権主張１９８９年８月３日、アメリカ合衆国）の出願であって、その請求項１に係る発明は、平成１３年９月１２日付手続補正書によって補正された特許請求の範囲の請求項１に記載された次のとおりのものである。
　
「キャッシュメモリと主記憶装置を有するメモリサブシステムに結合されたパイプラインプロセッサを備えているコンピュータシステムにあって、複数の処理を実行する方法において、
　前記メモリサブシステムに記憶されている第１のプログラムの少なくとも一部に対応する第１の処理を、前記パイプラインプロセッサにおいて複数のマルチプレクサによって実行状態とし、前記第１の処理の実行結果と状態情報を前記マルチプレクサによって、前記マルチプレクサに結合された前記パイプラインプロセッサの第１の複数の状態素子に記憶する記憶する過程を備え、
　前記第１の処理の実行中に第１のキャッシュミスに遭遇したときに前記マルチプレクサによる前記第１の処理の実行を停止する過程を備え、
　前記第１の処理の実行を停止した際に、前記メモリサブシステムに記憶されている第２のプログラムの少なくとも一部に対応する第２の処理を前記マルチプレクサにより実行状態に切換え、且つ、前記第２の処理の実行結果と状態情報を前記マルチプレクサによって、前記マルチプレクサに結合された前記パイプラインプロセッサの第２の複数の状態素子に記憶する過程を備え、前記第１の処理の停止と前記第２の処理の実行状態への切換えの達成に必要とされる第１の時間間隔が、キャッシュミスを処理するため前記メモリサブシステムが平均して必要とする第２の時間間隔よりも短く、
　前記第２の処理の実行中に第２のキャッシュミスに遭遇したときに前記マルチプレクサによる前記第２の処理の実行を停止する過程を備え、
　前記第２の処理の実行を停止した際に、前記第１のキャッシュミスの結果として前記主記憶装置から前記キャッシュメモリへのデータフェッチが完了していたならば、前に停止された前記第１の処理を前記マルチプレクサにより実行状態に切換える過程を備え、前記第２の処理の停止と前に停止された前記第１の処理の実行状態への切換えの達成に必要とされる第３の時間間隔が、前記第２の時間間隔よりも短くされている
ことを特徴とする、複数の処理を実行する方法。」
　
２．引用例
　
　これに対し、原査定の理由に引用された特開昭６３−２３８６３１号公報（以下、引用例１という。）には、以下の記載がある。
　
（１）「〔目的〕
したがって、本発明の目的は、マルチタスク動作を支持する実行装置を得ることによりＩ／Ｏチャネルプロセッサにおける並列構成を達成することである。
〔問題を解決するための手段〕
簡単にいえば、この目的は、プロセッサで実行されているタスクの間をレジスタセット記述子をメッセージの形で通すことにより、それらのタスクの間にレジスタセットを割当てる手段を有するプログラムされたプロセッサを含む実行装置を設けることにより本発明に従って達成される。
　本発明の１つの面に従って、タスクがレジスタセット（バッファ）をサーバーの間で通せるようにするためにレジスタセットロッキングが設けられる。サーバーは複数のタスクまたはバスシーケンサの１つとすることができ、あるサーバーはレジスタセットに作用するエージェントである。
　レジスタファイルをレジスタセットに区分することにより各タスクがいくつかのセットを持つことができるという利点を本発明は有する。そうすると、あるセットはプライベート状態のデータを含むことができ、かつある特定のタスクに常に割当てられ、他のセットはバッファまたはメッセージとして使用でき、かつタスクの間を通すことができる。
　レジスタセットロッキングは、マルチタスクが同じレジスタセットを同時に取扱うことができないようにしながら、タスクがレジスタセットを共用できる（たとえばパイプラインされたアルゴリズムのために）という利点がある。」（公報第３頁左上欄第１５行〜右上欄第５行）
　
（２）「レジスタファイル〔Register　File〕
　ＣＰはレジスタファイルに含まれている１組のオンチップ汎用レジスタを有する。レジスタファイル１６は１２８個の３３ビット場所を含むＲＡＭである。それらの１２８個のレジスタは３２個の４語レジスタセットとして編成される。
それらのレジスタセットと、レジスタセット内のデータは各タスクのレジスタセットポインタを介して間接的にアクセスされる。（中略）
レジスタセットポインタ〔Register　set　pointers〕
　次に第２図を参照する。物理的レジスタセットアドレスをタスクのレジスタセットポインタの１つにロードすることにより、レジスタセットを動的または静的にタスクへ割当てることができる。」（公報第４頁左下欄第１３行〜右下欄第１１行）
　
（３）「命令キャッシュオペレーション
（中略）
タスクがキャッシュミスを有すると、命令を含んでいるラインがＣＳメモリからフェッチされるまでタスクはブロックされる。この時間中に他のタスクを実行できる。キャッシュラインがフェッチされるとタスクのブロックは解除される。」（公報第１０頁右下欄第１２行〜１１頁左上欄第８行）
　
（４）第１図の実行装置とレジスタファイルおよび第２図のレジスタセットポインタ
　
　以上の記載から、引用例１には、次の発明が記載されている。
　
　命令キャッシュとＣＳメモリを有するメモリシステムに結合されたプロセッサを備えているコンピュータシステムにあって、複数の処理をマルチタスク動作で実行する方法において、
　レジスタファイルのあるレジスタセットは特定のタスクに常に割当てられ、そのタスクのプライベート状態のデータを含み、
　キャッシュミスが起こると実行中のタスクをブロックし、ＣＳメモリからキャッシュへフェッチを行い、このフェッチ期間中に他のタスクを実行できるようにし、キャッシュラインがフェッチされると前記タスクのブロックは解除されるように制御される、
複数の処理を実行する方法
　
　また、原査定の理由に引用された特開昭６３−２５４５３０号公報（以下、引用例２という。）には、次の記載がある。
　
（１）「従来、中央処理装置では、その命令処理能力を向上するために種々の工夫がされており、その典型的な例としてパイプライン制御方式が公知である。」（公報第１頁右下欄第１行〜第４行）
　
（２）「本発明の目的は、複数のプロセスを実行できるようにしておき、複数の演算機能ブロックの使用状態を保持、管理して、各プロセスの命令の実行が中断状態となった場合には実行可能な他のプロセスの命令を選択して実行開始させ、演算結果を格納できるようにして上記欠点を除去し、情報処理装置の遊休することがないように構成した情報処理装置を提供することにある。
〔問題点を解決するための手段〕
本発明による情報処理装置はレジスタ群と、状態レジスタと、選択手段と保持手段とを具備して構成したものである。レジスタ群は複数のプロセスを実行するためのものであり」（公報第２頁左上欄第５行〜第１９行）
　
（３）「第１図は、本発明による情報処理装置の一実施例を示すブロック図である。第１図において、10-1、10-2・・・10-ｎはそれぞれ命令レジスタ、20-1、20-2・・・20-ｎはそれぞれ第１の形式の命令デコーダ、30-1、30-2・・・30-ｎはそれぞれフリップフロップ群、4はフリップフロップ群、5は第２の形式のデコーダ、60-1、60-2・・・60-ｎはそれぞれレジスタ群、7はセレクタ、8は第３の形式のデコーダ、90はセレクタ、11-1、11-2・・・11-ｎはそれぞれステージ、12-１，12-2・・・12-ｎはそれぞれレジスタ、15-1、15-2・・・15-ｎはそれぞれ演算機能ブロック、16-1、16-2・・・16-nはそれぞれレジスタである。
　第１図において、レジスタ群10-1、10-2・・・10-ｎはそれぞれ複数のプロセスに対応するレジスタ群及び命令レジスタであり」（公報第２頁右上欄第１１行〜左下欄第９行）
　
３．対比
　本願の請求項１に係る発明（以下、前者という。）と引用例１に記載された発明（以下、後者という。）とを比較すると、
　前者の「キャッシュメモリ」「主記憶装置」「メモリサブシステム」はそれぞれ後者における「命令キャッシュ」「ＣＳメモリ」「メモリシステム」に対応する。
　また、前者における
「前記メモリサブシステムに記憶されている第１のプログラムの少なくとも一部に対応する第１の処理をプロセッサにおいて実行状態とし」
「前記第１の処理の実行を停止する過程」
「前記第１の処理の実行を停止した際に、前記メモリサブシステムに記憶されている第２のプログラムの少なくとも一部に対応する第２の処理を実行状態に切換え」
「前記第２の処理の実行を停止する過程」
は、マルチタスク処理における通常の処理過程であるから、後者における複数の処理を実行する際のマルチタスク動作に対応する。
更に、前者における「前記第１の処理の実行中に第１のキャッシュミスに遭遇したときに前記第１の処理の実行を停止する過程」「前記第２の処理の実行中に第２のキャッシュミスに遭遇したときに前記第２の処理の実行を停止する過程」は、後者における「キャッシュミスが起こると実行中のタスクをブロックし」に対応する。
また、前者における「前記第１のキャッシュミスの結果として前記主記憶装置から前記キャッシュメモリへのデータフェッチが完了していたならば、前に停止された前記第１の処理を実行状態に切換える過程」は、後者における「キャッシュラインがフェッチされると前記タスクのブロックは解除される」に対応する。
　従って、両者は、
　キャッシュメモリと主記憶装置を有するメモリサブシステムに結合されたプロセッサを備えているコンピュータシステムにあって、複数の処理を実行する方法において、
　前記メモリサブシステムに記憶されている第１のプログラムの少なくとも一部に対応する第１の処理を、前記プロセッサにおいて実行状態とし、
　前記第１の処理の実行中に第１のキャッシュミスに遭遇したときに前記第１の処理の実行を停止する過程を備え、
　前記第１の処理の実行を停止した際に、前記メモリサブシステムに記憶されている第２のプログラムの少なくとも一部に対応する第２の処理を実行状態に切換え、前記第２の処理の実行中に第２のキャッシュミスに遭遇したときに前記第２の処理の実行を停止する過程を備え、
　前記第２の処理の実行を停止した際に、前記第１のキャッシュミスの結果として前記主記憶装置から前記キャッシュメモリへのデータフェッチが完了していたならば、前に停止された前記第１の処理を実行状態に切換える過程
備えたことを特徴とする、複数の処理を実行する方法
である点で一致する。
一方、両者は、次の点で相違している。
（相違点１）
　前者が、マルチプレクサによってプログラムに対応する処理を実行状態又は停止し、また、処理結果と状態情報を状態素子に記憶するものであるのに対し、後者では、レジスタファイルに対する操作機構について具体的記載がない点。
（相違点２）
　前者では、処理の停止と他の処理の実行状態への切り換えに必要とされる時間間隔が、キャッシュミスを処理するために平均して必要とする時間間隔より短いことを規定しているのに対し、後者では切り換え時間に関する記載がない点。
（相違点３）
　前者のプロセッサがパイプラインプロセッサであるのに対し、後者のプロセッサがパイプライン処理を行う機構を有するものとの明記がない点。
　
４．相違点についての判断
　上記相違点について検討する。
（相違点１について）
　マルチタスク処理において、タスク対応にレジスタ群を有し、レジスタ群を切り換えることにより多重処理を実行する方式はコンテクストスイッチングとして周知のものである。引用例２にはコンテクストスイッチング方式のマルチタスク処理が示されている。引用例２では、第１図のレジスタ群１，２，・・・ｎ（60-1、60-2・・・60-ｎ）がプロセス（タスクと同義）対応になっているから、このレジスタ群に実行結果と状態情報が格納されることになる。そして、このレジスタ群からセレクタ７によって情報が選択され、タスクの実行がなされる。また、演算機能ブロックからの実行結果は対応するレジスタ群に選択的に格納されることになる。
　
 なお、審判請求人は、引用例２にはレジスタセット60-1、60-ｎに格納される情報やセレクタ７の機能について何ら記載がないと主張するので上述のように認定した根拠について詳述する。
　なるほど、引用例２には、レジスタ群60-1、60-2・・・60-ｎがプロセス対応であるとの明確な記載はない。しかし、引用例２第２頁右上欄第１３〜１４行の「10-1,10-2・・・10-nはそれぞれ命令レジスタ」という記載、第２頁右上欄第１８〜１９行の「60-1,60-2・・・60-nはそれぞれレジスタ群」という記載、第１図の参照番号60-1,60-2・・・60-nが付されたブロックに記載されている「レジスタ群１」、「レジスタ群２」、「レジスタ群ｎ」という記載を参照すれば、引用例２第２頁左下欄第７〜９行の「レジスタ群10-1,10-2・・・10-nはそれぞれ複数のプロセスに対応するレジスタ群および命令レジスタであり」という記載には誤記があり、上記箇所の記載は、命令レジスタ10-1,10-2・・・10-nとレジスタ群60-1，60-2・・・60-nはそれぞれ複数のプロセスに対応する命令レジスタ及びレジスタ群であることを意味するものであることは、当業者に容易に推測されることである。また、第１図を参照するとレジスタ群60-1、60-2・・・60-nから読み出された内容は演算機能ブロックに供給され、演算機能ブロックの出力はレジスタ群60-1，60-2・・・60-nに戻されているから、レジスタ群60-1，60-2・・・60-nには少なくとも演算データが格納されていることは当業者にとって自明である。また、プロセスの切り換え時には切り換え直前まで実行されていたプロセスの状態情報（プログラムカウンタ（ＰＣ）、プログラムステータスワード（ＰＳＷ）、スタックポインタ（ＳＰ）など）を保存しておくことは、後で正常にそのプロセスを再開するために当然行うべきこと（必要ならば、特開昭５６−１６２４８号公報の第５図の５１、５２内のＰＳＷＲや、特開昭６３５２２４１号公報の第１図のPCA,PCB,・・・PCN、SPA，SPB，・・・SPNや、特開平１−９９１３２号公報の第２図の2A〜2D,3A〜3D,4A〜4D参照）であるから、引用例２においてもそれらの情報がレジスタ群に格納されていると考えるのが自然である。また、セレクタ７の動作については、上述のように引用例２においては命令レジスタ10-1、10-2〜10-nとレジスタ群60-1、60-2〜60-nがプロセスに対応付けられているのであるから、正常動作させるためには、あるプロセスが選択された場合に、そのプロセスに対応する命令レジスタがセレクタ９０で選択されるのと連動して、対応するレジスタ群がセレクタ７で選択されるように制御する必要があることも、当業者にとって明白である。
　従って、相違点１はマルチタスク処理における周知の事項に基づくもので格別なことではない。
　
（相違点２について）
  実行中の処理の停止と他の処理の実行への移行は、コンテクストスイッチング方式ではレジスタをスイッチ等で切り換えることにより行うものであり、キャッシュミス解消のように主記憶装置からのデータ転送を伴うものでないから、切り換えに必要な時間はキャッシュミス解消に必要な時間より短いことは当業者にとって常識的事項にすぎない。
　
（相違点３について）
　引用例２にも記載されているように、命令処理能力を向上させるためにプロセッサがパイプライン制御方式をとることはごく普通の形態にすぎない。
　
５．むすび
　したがって、本願の請求項１に係る発明は引用例１，２に記載された発明および当該分野の技術常識に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。