【事件の表示】
　平成　５年特許願第　３８２６９号「マイクロコンピュータ」拒絶査定に対する審判事件［平成　６年　９月　９日出願公開、特開平　６−２５０８５６］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯及び本願発明の要旨
　本願は、平成５年２月26日の出願であって、当審において平成12年９月５日付けで拒絶理由が通知されており、その請求項１に係る発明（以下、「本願発明」という）の要旨は、平成10年３月12日付け手続補正書によって補正された明細書及び図面の記載からみて、特許請求の範囲の請求項１に記載された次のとおりのものと認められる。
「複数のプログラムを１ワード単位にて時分割で切換ながら並行にパイプライン処理する機能を備えたマイクロコンピュータにおいて、前記各プログラムの命令をプログラムメモリからフェッチするフェッチステージと、前記フェッチした命令をデコード手段にてデコードするデコードステージと、前記デコードした命令を演算器にて実行する実行ステージと、を有し、この順序にて各プログラムが時分割に実行されるものであって、所定プログラムの前記フェッチステージにてフェッチした命令に分岐命令が含まれているときには、その分岐命令の分岐先アドレスを当該分岐命令の前記デコードステージにて指定して、当該プログラムの次のフェッチステージにて前記分岐先アドレスをフェッチすることを特徴とするマイクロコンピュータ」
　
２．当審の拒絶理由の概要
　本件出願は、明細書及び図面の記載が下記の点で不備のため、特許法第３６条第４項に規定する要件を満たしていない。
　
　　　　　　　　　　　　　　　　記
　発明の詳細な説明及び図面の記載において、
　第４図で「命令フェッチ」のＸ＋１番地から矢印が「命令デコード」のＸ＋１番地へ示され、そこから「命令フェッチ」のＸＸ番地へ矢印が示されると共に「命令実行」のＸ＋１番地へも矢印が示されており、また、コラム２５で「・・・この場合、分岐先アドレスのセット（分岐命令実行）を命令デコードステージで行う結果、分岐命令実行ステージで何も処理を行わないことになる。」と記載されているが、どうしてこの様な動作が実行できるのか具体的構成が不明瞭である。
　即ち、パイプラインにおいてデコードステージは命令をデコードするだけであるから、請求人が言うような「命令デコードステージで分岐先アドレス（たとえば、ＸＸ番地）をアドレスレジスタ１９にセットする、すなわち命令実行する」ような動作は不可能である。（命令をデコードした後の命令実行ステージでその様な動作が行われるのではないか）
　また、第１図の命令デコーダ・命令シーケンサ２５のブロックの中身が開示されていないので発明の構成が不明瞭である。
　
３．審判請求人の主張
　当審の拒絶理由に対し、審判請求人は平成12年11月17日付けの意見書において、概ね以下のように主張している。
「本願の出願当初の明細書のコラム２３には、「更に、本実施例では、各タスクのプログラムに含まれる分岐命令をフェッチしたときには、当該分岐命令が含まれるタスクの次の命令フェッチステージで分岐先アドレスの命令をフェッチするために、命令デコードステージで、分岐先アドレスをセットするように構成されている。」と記載されている。
　この記載は即ち、命令デコーダ・命令シーケンサ２５が、命令デコードステージで単に命令をデコードするだけではなく、分岐先アドレスをセットする機能を備えて構成されていることを示しており、ここに命令デコーダ・命令シーケンサ２５の構成が明確化されていると言える。
　本願の明細書によれば、確かに審判官殿ご指摘の如く命令デコーダ・命令シーケンサ２５のブロックの中身については具体的に開示していない。しかし、上記したように命令デコーダ・命令シーケンサ２５の機能は明細書中に明確に記載されており、従って、このような命令デコーダ・命令シーケンサ２５に係るデコードステージについて規定した本願発明の構成は明瞭であるものと思料する。」
　
４．当審の判断
（１）本願発明の解決しようとする課題は、明細書第【０００３】欄及び第【０００４】欄に、
「【０００３】
【発明が解決しようとする課題】
　従来のパイプライン処理では、分岐命令が実行されると、パイプラインの乱れが生じ、最低でも１サイクルの無駄サイクル（遅延サイクル）が生じて、パイプライン処理が遅延するという問題があった。従来のパイプライン処理において、分岐命令後に無駄サイクルが生じる原因は、分岐命令後でも、その分岐先アドレスとは関係なく、次にフェッチする命令のアドレスが予め順番に決められていて、この命令（無駄な命令）がフェッチされた後でしか、分岐先アドレスの命令がフェッチできないようになっているためである。
【０００４】
　本発明はこのような事情を考慮してなされたもので、その目的は、複数のタスクのプログラムを時分割で並行にパイプライン処理させ、分岐命令後の無駄サイクルを利用することにより遅延なく迅速にパイプライン処理することができるマイクロコンピュータを提供することにある。」
と記載されているように、従来のパイプライン処理においては、分岐命令が実行されて分岐が発生する場合に、該分岐命令をデコードした後、命令の実行の段階で分岐先アドレスをプログラムカウンタに設定することになり、既にその際には前記分岐命令の次の命令がフェッチされており、該フェッチされた命令は実行されないためキャンセル処理等が行われ、その後新たなプログラムカウンタの値により分岐先の命令がフェッチされることになるため、無駄なサイクルが生じることになる。本願発明はこのような事情を考慮し、分岐命令後の無駄サイクルを利用することにより遅延なく迅速にパイプライン処理することができるマイクロコンピュータを提供することを課題とするものと認められる。
　そして、本願発明は上記課題を解決するために、上記請求項１に記載された「所定プログラムの前記フェッチステージにてフェッチした命令に分岐命令が含まれているときには、その分岐命令の分岐先アドレスを当該分岐命令の前記デコードステージにて指定して、当該プログラムの次のフェッチステージにて前記分岐先アドレスをフェッチする」構成を特に採用したものと認められる。
　ところで、従来のパイプライン処理において、そもそも分岐命令実行時に無駄なサイクルが生じる原因は、ハードウエアの制約によるものであることは当業者ならば自明のことであるが、このような無駄なサイクルを防止しようとすれば、なんらかの新たなハードウエアの追加または変更が必要となるのは当然のことである。また、本願発明が課題を解決するために採用した上記構成、特に「分岐命令の分岐先アドレスを当該分岐命令の前記デコードステージにて指定」することは、従来のハードウエアでは当然実現できないものであることは明らかであるから、発明の詳細な説明にその新規のハードウエア構成を具体的に、すなわち当業者が容易に実施できる程度に記載する必要がある。
（２）そこで、課題を解決するために採用された上記構成について、発明の詳細な説明における記載を検討する。
　例えば該構成に関して、第【０００９】欄には、
「【０００９】
　また、ＣＰＵ１１内には、プログラムメモリ１２から読み込まれた命令の属するタスクの種類を判別してそのエラーを検出するエラー検出回路２４と、このエラー検出回路２４を通過した命令をデコード（解読）する命令デコーダ・命令シーケンサ２５が設けられ、この命令デコーダ・命令シーケンサ２５によりデコードした命令の内容に応じて、演算器２６（ＡＬＵ）で演算レジスタ２１，２２を用いて演算したり、リード信号又はライト信号をコントロールバス１７，１８に出力するようになっている。」
と、また、第【００２１】欄〜第【００２５】欄には、
「【００２１】
　次に、本実施例で採用するパイプライン制御方式について図４に基づいて説明する。本実施例のパイプラインは、例えば、命令フェッチ，命令デコード，命令実行の各ステージからなる３段のパイプラインとして構成され、全命令がこの３段のパイプラインで遅滞なく処理できるように設計されている。各ステージはそれぞれ１サイクルで実行され、３サイクルで１命令を実行するようになっているが、３段のパイプラインにより３つの命令を並列処理することで、見掛上、１命令を１サイクルで実行するのと等価となっている。１サイクル（各ステージ）の時間は、タイミングジェネレータから出力されるＣＰＵ切替信号（クロック信号）により規定されている。このＣＰＵ切替信号は、ローレベルの時間ＴLoとハイレベルの時間ＴHiとが同一であり、このＣＰＵ切替信号のローレベル期間でＣＰＵ０（Ｌタスク）の命令フェッチを行い、ハイレベル期間でＣＰＵ１（Ａタスク）の命令フェッチを行うことにより、ＣＰＵ０（Ｌタスク）とＣＰＵ１（Ａタスク）の両プログラムを１：１の時分割比で並行にパイプライン処理するようになっている。これにより、両タスクの命令フェッチと命令デコードは、逆ＣＰＵ関係（一方のタスクの命令をフェッチしている間に他方のタスクの命令をデコードする関係）となっている。
【００２２】
　また、例えばＣＰＵ１（Ａタスク）が複数のサイクルを要する命令をフェッチした場合、ＣＰＵ切替信号によるプログラムの切替時に、この命令は実行途中で切り替えられることになるが、この場合、命令デコーダ・命令シーケンサ２５が命令サイクル状態を記憶しており、次のＣＰＵ１のサイクルに、命令の途中状態より実行開始し、必要サイクル数使って実行完了する。つまり、命令の必要サイクル数によらず、１：１の時分割比で切り替えられる。このため、ＣＰＵ０（Ｌタスク）とＣＰＵ１（Ａタスク）は、時間的独立性が確保され、２つのＣＰＵが存在しているように動作する。
【００２３】
　更に、本実施例では、各タスクのプログラムに含まれる分岐命令をフェッチしたときには、当該分岐命令が含まれるタスクの次の命令フェッチステージで分岐先アドレスの命令をフェッチするために、命令デコードステージで、分岐先アドレスをセットするように構成されている。
【００２４】
　本実施例のパイプライン処理の手順は、図４に示すように、ＣＰＵ切替信号によりＣＰＵ０（Ｌタスク）の命令フェッチとＣＰＵ１（Ａタスク）の命令フェッチとを１：１の時分割比で交互に繰り返し、一方のタスクの命令をフェッチしている間に他方のタスクの命令（１サイクル前にフェッチされた命令）をデコードすると共に、他方のタスクの命令をデコードしている間に一方のタスクの命令（１サイクル前にデコードされた命令）を実行する。これにより、２つのタスクのプログラムを１：１の時分割比で並行にパイプライン処理するものである。
【００２５】
　このパイプライン処理中に、図４に示すように、例えば、ＣＰＵ０のＸ＋１番地の命令が分岐命令（ＪＭＰ）であるとすると、このＸ＋１番地の分岐命令をデコードする命令デコードステージで、分岐先アドレス（ＸＸ番地）をセットし、当該分岐命令が含まれるタスク（ＣＰＵ０）の次の命令フェッチステージで、分岐先アドレス（ＸＸ番地）の命令をフェッチする。このため、分岐命令があっても、パイプラインに無駄サイクル（遅延サイクル）が生じることは無く、パイプラインの遅延を防止できる。この場合、分岐先アドレスのセット（分岐命令実行）を命令デコードステージで行う結果、分岐命令については命令実行ステージで何も処理を行わないことになる。」
と記載されている。
　しかしながら、本願発明が課題を解決するために採用した上記構成、特に「分岐命令の分岐先アドレスを当該分岐命令の前記デコードステージにて指定」する構成については、第【００２３】欄に「更に、本実施例では、各タスクのプログラムに含まれる分岐命令をフェッチしたときには、当該分岐命令が含まれるタスクの次の命令フェッチステージで分岐先アドレスの命令をフェッチするために、命令デコードステージで、分岐先アドレスをセットするように構成されている。」という程度の記載しかなく、これは単に目的とするハードウエアの機能を述べたに過ぎず、その具体的なハードウエア構成が示されているとは言えない。また、図面には単に「命令デコーダ・命令シーケンサ（CPU0）（CPU1）」と書かれたボックスが示されているに過ぎず、図面を参酌してもその具体的なハードウエア構成が示されているとは言えない。
　したがって、本願発明は、その実現に新規なハードウエアを必要とするにもかかわらず、発明の詳細な説明においてなんらその具体的ハードウエアについて開示しないものであるから、当業者が容易にその実施をすることができる程度に発明の構成を記載しているとは到底認めることができないものである。
（３）また、上記「３．審判請求人の主張」における審判請求人の主張について、すでに述べたように、発明の詳細な説明の第【００２３】欄の記載からは実現しようとする機能は明瞭であるが、その具体的なハードウエア構成が開示されているとは到底認められず、また、当業者ならば自明であるという証拠もないから、審判請求人の前記主張は失当であると言わざるを得ない。
　
５．むすび
　以上のとおりであるから、本件出願は、発明の詳細な説明に当業者が容易にその実施をすることができる程度に発明の目的、構成、効果を記載したとは認められず、特許法第３６条第４項に規定する要件を満たしていないので、特許を受けることができない。
　よって、結論のとおり審決する。