審判番号(事件番号) | データベース | 権利 |
---|---|---|
平成24行ケ10038審決取消請求事件 | 判例 | 特許 |
平成23行ケ10208審決取消請求事件 | 判例 | 特許 |
平成23行ケ10396審決取消請求事件 | 判例 | 特許 |
平成23行ケ10315審決取消請求事件 | 判例 | 特許 |
平成24行ケ10004審決取消請求事件 | 判例 | 特許 |
元本PDF | 裁判所収録の全文PDFを見る |
---|
事件 |
平成
23年
(行ケ)
10320号
審決取消請求事件
|
---|---|
裁判所のデータが存在しません。 | |
裁判所 | 知的財産高等裁判所 |
判決言渡日 | 2012/09/27 |
権利種別 | 特許権 |
訴訟類型 | 行政訴訟 |
判例全文 | |
---|---|
判例全文
平成24年9月27日判決言渡 平成23年(行ケ)第10320号 審決取消請求事件 平成24年7月10日 口頭弁論終結 判 決 原 告 エスティーマイクロエレクトロニクス リミテッド (審決上の名称 エスジーエス−トムソン マイクロエレクトロニクス リミテッ ド) 訴訟代理人弁理士 中 島 淳 同 加 藤 和 詳 同 佐久 間 顕 治 被 告 特 許 庁 長 官 指定代理人 殿 川 雅 也 同 山 崎 達 也 同 田 部 元 史 同 芦 葉 松 美 主 文 1 特許庁が不服2007−12853号事件について平成23年5月24日に した審決を取り消す。 1 2 訴訟費用は被告の負担とする。 事実及び理由 第1 請求 主文同旨 第2 当事者間に争いのない事実 1 特許庁における手続の経緯等 原告は,発明の名称を「命令トレース供給方式」とする発明について,平成9年 12月19日(パリ条約による優先権主張1996年12月19日,英国)に特 許出願(特願平9−349884号)をし,平成17年8月19日付け手続補正書 により特許請求の範囲を補正したが,平成19年1月29日付けで拒絶査定がされ た。これに対し,原告は,平成19年5月7日,拒絶査定に対する不服審判の請求 (不服2007−12853号)をし,同年5月30日付け,平成22年2月17 日付け,同年12月28日付け各手続補正書により特許請求の範囲を補正したが, 特許庁は,平成23年5月24日, 「本件審判の請求は,成り立たない。 」との審決 をし,その謄本は,同年6月7日,原告に送達された(附加期間90日)。 2 特許請求の範囲の記載 平成22年12月28日付け手続補正書による補正後の特許請求の範囲(請求項 の数34)の請求項1の記載は,次のとおりである(以下,同請求項に記載された 発明を「本願発明」といい,同補正後の明細書及び図面を併せて「本願明細書」と いう。 ) 「 【請求項1】 メモリから命令を取り出して実行する取り出し回路及び実行回路 と,CPUによって実行される命令のメモリ内のアドレスを含む命令ポインタを順 次保持する命令ポインタレジスタと,を含んで構成されるオン−チップCPUであ って,前記CPUの前記実行回路は,前記取り出し回路に新しいメモリ位置から命 令の取り出しを開始させると共に,前記アドレスの1つが,そのアドレスの前回ア ドレスのメモリ内の次に続くアドレスではないという不連続を示す制御信号を生成 2 するよう動作可能である,オン−チップCPUと, 前記CPUにバスにより接続され,前記CPUから前記バスを介して前記命令ポ インタレジスタに順次保持された命令ポインタを受信し,前記受信した命令ポイン タのアドレスを監視するように作動可能である命令トレースコントローラであって, トレースストレージ位置に接続され,前記受信した命令ポインタのアドレスのうち の選択された1つを前記トレース位置に記憶させる命令トレースコントローラと, を含んで構成され, 前記命令トレースコントローラはさらに,前記CPUから前記バスを介して前記 命令ポインタと同時に前記命令トレースコントローラに送信される前記制御信号を 受信し,前記制御信号の検知に基づいて前記アドレスのうちの選択された1つを前 記トレース位置に記憶する, 単一チップ集積回路装置。」 3 審決の理由 審決の理由は,別紙審決書写しのとおりである。要するに,本願発明は,特開平 5−158734号公報(以下, 引用文献1」といい,引用文献1に記載された発 「 明を「引用発明」という。なお,引用文献1の図1は,別紙のとおりである。 )に記 載された発明及び周知技術に基づいて当業者が容易に発明をすることができたもの 特許法29条2項により特許を受けることができない, というものである。 であり, 審決が認定した引用発明の内容,同発明と本願発明との一致点及び相違点は以下 のとおりである。 (1) 引用発明の内容 命令キャッシュを有し,次サイクルで実行する命令を読み出す命令プリフェッチ 部と,命令プリフェッチ部より読み出された命令をデコードする命令デコーダと, 命令デコーダにより指示された命令を実行する命令実行部とを単一の集積回路に有 し, 分岐先アドレスと分岐命令信号を受けて分岐先アドレスをトレース装置に格納す 3 るバス制御部を含んで構成され, 命令実行部はデコードされた命令が分岐命令であった場合,分岐先アドレスを計 算し,分岐アドレスバスに出力すると共に,分岐条件が成立又は無条件に分岐が行 われることを示す分岐命令信号を出力するものであり, 命令キャッシュを有する命令プリフェッチ部は,次サイクルにおいて実行する命 令のアドレスを計算し,分岐が発生しない場合は前記計算されたアドレスにより, また,分岐が発生する場合は分岐アドレスバス上の分岐先アドレスにより分岐先ア ドレスの命令を読み出すものであり, バス制御部は,命令実行部から分岐先アドレスバスを介して受信した分岐先アド レスを分岐アドレスレジスタに格納した後,分岐命令信号に基づいてバスアドレス 情報を生成し,バスアドレス情報により分岐先アドレスをトレース装置に書き込む ように制御することにより命令アドレストレースを行うマイクロプロセッサ。 (2) 一致点 メモリから命令を取り出して実行する取り出し回路及び実行回路と,CPUによ って実行される命令のメモリ内のアドレスを含む命令ポインタを順次保持する命令 ポインタレジスタと,を含んで構成されるオン−チップCPUであって,前記CP Uの前記実行回路は,前記取り出し回路に新しいメモリ位置から命令の取り出しを 開始させると共に,前記アドレスの1つが,そのアドレスの前回アドレスのメモリ 内の次に続くアドレスではないという不連続を示す制御信号を生成するよう動作可 能である,オン−チップCPUと, 前記CPUにバスにより接続され, 前記CPUから前記バスを介してトレースすべきアドレスを監視するように作動 可能である命令トレース制御部であって,トレースストレージ位置に接続され,ト レースすべきアドレスを前記トレース位置に記憶させる命令トレース制御部と, を含んで構成され, 前記命令トレース制御部はさらに,前記CPUから前記バスを介してトレースす 4 べき候補のアドレスと前記命令トレース制御部に送信される前記制御信号を受信し, 前記制御信号の検知に基づいて前記トレースすべきアドレスを前記トレース位置に 記憶する, 命令をトレースする装置。 (3) 相違点 相違点1 ア 制御信号の検出に基づいて受信したトレースすべき候補のアドレスをトレース位 置に記憶させることに関して,本願発明では,命令ポインタレジスタに順次保持さ れた命令ポインタを受信し,命令ポインタと同時に送信される制御信号の検知に基 づいてアドレスのうちの1つを選択するものであるのに対し,引用発明では分岐先 アドレスを受信し,分岐命令信号から生成されたバスアドレス情報に基づいてトレ ース装置に書き込むものである点。 相違点2 イ 命令をトレースする装置が,本願発明では,オンチップCPUと命令トレースコ ントローラとが単一チップ集積回路装置を構成するものであるのに対し,引用発明 では,命令プリフェッチ部と,命令デコーダと,命令実行部とは単一の集積回路を 構成するが,バス制御部が単一の集積回路に含まれるかどうか不明である点。 第3 当事者の主張 取消事由に係る原告の主張 1 (1) 取消事由1(一致点の認定の誤り) 審決は,引用発明において,命令プリフェッチ部10に分岐条件が成立したこと を通知するため,分岐命令信号51が使用されていること,分岐命令信号51は, 分岐条件が成立した場合に命令プリフェッチ部10に命令キャッシュ20から命令 の読み出しをさせる信号であることを前提に,本願発明と引用発明は, 「前記CPU の前記実行回路は,前記取り出し回路に新しいメモリ位置から命令の取り出しを開 始させると共に,前記アドレスの1つが,そのアドレスの前回アドレスのメモリ内 5 の次に続くアドレスではないという不連続を示す制御信号を生成するよう動作可能 である」点で一致すると認定した。 しかし,審決の上記認定には,誤りがある。すなわち, ア 引用文献1には,デコードした命令が分岐命令であった場合に命令プリフェ ッチ部10がどのように分岐先アドレスの命令を命令キャッシュ20から取り出し, 命令デコーダ30及び命令実行部50に供給するのかに関する記載はなく,命令プ リフェッチ部10は,分岐条件が成立したときのみ分岐先アドレスを次命令読み出 しのために使用するものであるとはいえない。 また,引用文献1には,命令プリフェッチ部10の動作が,分岐命令が実行され 分岐条件が成立したことを通知されてから実行されるものとの記載もない。 むしろ, 命令プリフェッチ部10は,分岐先アドレスが分岐先アドレスバス41に出力され ると,分岐条件の成立・不成立を待たずに分岐先アドレスを取り込み,命令キャッ シュ20を検索するものであり,分岐条件が成立したことを通知されてから命令キ ャッシュ20の検索を行い命令の読み出しを行うものとはいえない。 なお,引用発明の命令プリフェッチ部10には,条件付き分岐命令の条件が確定 したときに次命令を選択して命令デコーダに供給するような構成を採っておらず, 被告の主張は前提に誤りがある。 イ 引用文献1は,分岐命令信号51の入力先が実行命令カウンタ80であるこ とを明確に記載しており,分岐命令信号51が命令プリフェッチ部10にも入力さ れる,あるいは命令プリフェッチ部10に分岐条件の成立を通知するとの記載も示 唆もない。 また,本願発明の制御信号は,本来,実行回路が取り出し回路を制御するための 信号であり,これが命令トレースコントローラにも送信されることにより,命令ト レースコントローラでのアドレスの不連続を示す命令ポインタの選択にも使用され ている。これに対し,引用発明の命令実行部50から出力される分岐命令信号51 は,実行命令カウンタ80に出力されることで,分岐先アドレスに分岐するまでに 6 実行した命令数をカウントするために使用されており,本願発明の制御信号と引用 発明の分岐命令信号51とは,目的も機能も異なる。 ウ 仮 に,審決が 認 定したように, 引 用発明において,「命令プリ フェ ッチ部 ・・・分岐命令信号により分岐条件の成功を通知されたときには命令実行部から は, の分岐先アドレスを用いて,命令キャッシュからの読み出しを行う」ように構成し た場合,命令プリフェッチ部10は,分岐命令が実行されて分岐条件が成立し,分 岐命令信号51が入力されるまで次命令の読み出しを待機しなければならず,その 間,命令デコーダ30による次命令のデコードもできないこととなり,マイクロプ ロセッサの処理速度を上げるという命令プリフェッチ部の目的に反することとなる。 さらに,プリフェッチ部10が,分岐命令信号51の入力まで次命令の読み出しを 待機する構成とすると,キャッシュの検索と,実際の命令の読み出しを別々に行う ことになり,非合理的である。そして,引用文献1において,分岐命令信号51に 基づいて命令を取り出しているとすると,先に分岐先アドレスを分岐先アドレスバ ス41へ出力する意味がなくなるから,取り出し回路に新しいメモリ位置から命令 の取り出しをさせるのは,分岐命令信号51ではなく,分岐先アドレスである。 エ 以上のとおり,引用発明のプリフェッチ部10に分岐条件の成立を通知する ため,分岐命令信号51が使用されているとの審決の認定には誤りがあり,本願発 明と引用発明は, 「前記CPUの前記実行回路は,前記取り出し回路に新しいメモリ 位置から命令の取り出しを開始させると共に,前記アドレスの1つが,そのアドレ スの前回アドレスのメモリ内の次に続くアドレスではないという不連続を示す制御 信号を生成するよう動作可能である」点で一致するとの判断にも誤りがある。 (2) 取消事由2(相違点1に係る容易想到性判断の誤り) 審決は,本願発明のように全ての命令ポインタを命令トレースコントローラに送 ることは格別の効果を生ずるものではなく,命令ポインタを全て命令トレースコン トローラに送っておき,不連続なアドレスを示す制御信号により命令トレースコン トローラによって記憶すべきアドレスを選択するようにすることは当業者が容易に 7 なし得ることであると認定,判断する。 しかし,審決の上記認定,判断には,誤りがある。すなわち, ア 本願発明の制御信号は,CPUの実行回路が取り出し回路を制御するための 信号であり,本願発明の実行回路がトレースのための新たな信号を生成することは ない。かかる構成により,本願発明においては,CPU側では命令トレースコント ローラに送る命令ポインタを選択する必要も,命令トレースのために追加的な信号 を生成する必要もなく,命令トレースに関するCPUの制御を単純にし,CPUの 回路構成を簡単なものとすることができるという格別の効果を奏する。 これに対し, 引用発明は,トレース(即ち出力)すべきアドレスを,命令実行部50とバスイン タフェース制御部60により選択しており,本願発明に比べて複雑な制御を行って おり,CPUの制御を単純にし,回路構成を簡単なものとするという効果は奏し得 ない。また,本願発明の構成によれば,引用発明のように命令実行部50が分岐命 令信号51を生成する必要がなく,分岐命令信号51により分岐条件の成立が通知 されるまでの間,分岐アドレスを格納する分岐アドレスレジスタ70を設ける必要 もない。なお,引用文献1においては,CPUは命令トレースのために分岐命令信 号51を出力する必要があるのに対して,本願発明においては取り出し回路の制御 のために実行回路が生成する制御信号を付加的に命令トレースコントローラに供給 しており,命令トレースのためにはCPUの機能を変更していない。 引用発明の課題は,出力される実行情報の量を抑制することであり,このた イ め,分岐先アドレスと分岐先アドレスへ分岐するまでに実行された命令数とを出力 するようにマイクロプロセッサを構成している。このような課題とその解決手段を 有する引用発明について,実行する命令のアドレスを全てバスインタフェース制御 部60に送るように変更することは,その目的に反している。バスインタフェース 制御部60は,外部装置との入出力を制御するものであり,ここに実行する全ての 命令のアドレスを送ることはバスインタフェース制御部60の性能を低下させ,ひ いてはマイクロプロセッサ全体の性能も低下させることになる。 8 ウ 以上のとおり,引用発明から実行する命令のアドレスを全てバスインタフェ ース制御部60に送信するとの構成に想到することは容易ではなく,審決の相違点 1に係る容易想到性判断には,誤りがある。 (3) 取消事由3(作用効果の判断の誤り) 審決は,本願発明の作用効果も,引用文献及び周知技術から当業者が容易に予測 できる範囲のものであると判断する。 しかし,審決の上記判断には,誤りがある。すなわち,本願発明によれば,CP Uの実行回路が取り出し回路を制御するための制御信号を,命令トレースコントロ ーラにおいてアドレスの不連続を示す命令ポインタのアドレスの選択という目的に も利用することができるので,CPUの制御及び回路構成を単純にすることができ る。また,本願発明によれば,分岐命令に備えて命令ポインタを格納するための追 加的な回路(例えば引用文献1記載の分岐アドレスレジスタ70等)を設ける必要 がない。 したがって,本願発明の作用効果は,引用文献及び周知技術から容易に予測でき る範囲のものではない。 被告の反論 2 (1) 取消事由1(一致点の認定の誤り)に対して ア 引用発明の分岐命令信号51は, 分岐条件が成立し,あるいは無条件に分岐 「 が行われていることを示すために」 力される信号であるから, 出 「前記アドレスの1 つが,そのアドレスの前回アドレスのメモリ内の次に続くアドレスではないという 不連続を示す」信号といえる。また,引用発明の分岐命令信号51は,分岐条件が 成立したときに命令キャッシュ20から次命令を取得するための通知をプリフェッ チ部に対して行うものである。この点, 用文献1において, 引 分岐命令信号51が, 命令プリフェッチ部に新しいメモリ位置から命令の取り出しを開始させる構成が明 らかでないとしても,条件付き分岐命令の条件が未確定で分岐するかどうか不明の 期間,現命令列と分岐成功の命令系列を先取りし,条件付き分岐命令の条件が確定 9 したときに,確定された命令を実行するように構成することにより,本願発明の制 御信号のように取り出し回路に新しいメモリ位置から命令の取り出しを開始させる ように構成することは,当業者が適宜なし得たことである。 したがって,引用発明の「分岐命令信号」は,本願発明の「制御信号」と同じく 「前記取り出し回路に新しいメモリ位置から命令の取り出しを開始させると共に, 前記アドレスの1つが,そのアドレスの前回アドレスのメモリ内の次に続くアドレ という同一の目的及び機能を有しているといえる。 スではないという不連続を示す」 イ これに対し,原告は,引用文献1には,分岐命令信号51が命令プリフェッ チ部10にも入力される,あるいは命令プリフェッチ部10に分岐条件の成立を通 知するとの記載も示唆もないと主張する。しかし,引用文献1には,分岐命令信号 51又は分岐条件の成立の通知が命令プリフェッチ部10に入力することを否定す 技術常識を勘案すれば, 用文献1には, 引 分岐が発生しない場合, る記載はない上, 命令プリフェッチ部10において次サイクルにおいて実行する命令のアドレスが計 算されるのみならず,デコードされた命令が分岐命令であった場合,分岐命令の成 立・不成立が通知されたタイミングで分岐先アドレスの命令を実行するものである ことが記載ないし示唆されているといえる。 ウ また,原告は,本願発明の「制御信号」と,引用発明の分岐命令信号51と は,それぞれ設けられた目的も機能も異なっており,引用発明において,分岐命令 信号51を,分岐条件の成立を命令プリフェッチ部10に通知し,命令取り出しを 実行させるために使用することはできないと主張する。しかし,引用発明の分岐命 令信号51が,命令実行カウンタ80に入力されることと,取り出し回路に命令の 取り出しを開始させ,アドレスの不連続を示すことは両立し,それぞれの目的と機 能が矛盾するものではない。 さらに,原告は,引用発明について,「命令プリ フェ ッチ部は, ・・・分 エ 岐 命令信号により 分岐 条件の成 功 を 通知 されたと き には命令実行部からの 分 岐 先アドレスを用いて,命令 キャ ッ シュ からの 読み 出しを行う」ように構成し 10 た 場合 ,命令実行部50は,命令 デコ ー ダ 30からす ぐ に次命令の 入力 を受け られ ず に 処 理が 停止 してし ま うこととなり,マイクロプロ セ ッ サ の 処 理 速度 を 上 げ るという命令プリ フェ ッチ部を 設 ける 目的 に 反 することとなると主張す る。しかし,分岐命令が実行されて分岐 条件が成立される ま での期間に,命令デ コーダが命令を取り出すことができるように構成することにより,命令 処 理部の 処 理を 停止 させることなく,次命令をデコードし,命令実行部が処 理を 継 続するこ とは, 普通に行われている。仮 に,命令先 読み 動作が中 断 されて も , 分岐 の成 立 ま たは不成立が 確 定するのを 待 って,分岐 が成立した 場合 には,分岐 先の命 令を実行し,分岐 が不成立の 場合 には,その まま通常 動作を行うことは 普通 で あって,キャ ッ シュ による 高速化 がす べ て 否 定される わ けではないので,引 用 発明の 目的 に も反 しない。 (2) 取消事由2(相違点1に係る容易想到性判断の誤り)に対して 原告は,本願発明は,CPUが命令ポインタを選択せずに命令トレースコン ア トローラに送ることで,CPUの制御と回路構成を簡単なものとすることができる という格別の効果を奏するのに対し,引用発明では,命令実行部50とバスインタ フェース制御部60とにより,記憶すべきアドレスを選択するという,より複雑な 動作を行っているので,上記の効果を奏することはないと主張する。 しかし,原告の上記主張は,失当である。すなわち,CPUの実行命令のトレー スを行う装置において,実行アドレス値の出力のうちアドレスの変化の不連続を検 出した時に当該アドレス値を,CPUに接続された手段にて記録するように構成す ることは周知技術である(甲2,4,乙3)から,上記周知技術にならって,引用 発明においても,実行命令をトレースするためCPUに接続されたバスインタフェ ース制御部60においてアドレスの変化の不連続を検出した時に当該アドレス値を 記録するように構成することは,当業者が容易に想到できたものである。また,本 願発明においても,実施例においては,記憶すべき分岐アドレスを選択してレジス タに格納するための機構を備えるから,CPUが命令ポインタを選択せずに命令ト 「 11 レースコントローラに送ることで,CPUの制御と回路構成を簡単なものとするこ とができる」という本願発明の効果は,結局,単一チップ上において,分岐アドレ スレジスタに格納すべきアドレスを命令実行部側ではなく,命令トレースコントロ ーラ上のレジスタ側で選択するかだけの差異にすぎず,格別なものとはいえない。 原告は,命令のトレースに必要な情報量を減少させることを課題とし,その イ ために,分岐が行われた場合の分岐先アドレスと,当該分岐先アドレスに分岐する までに実行した命令数とを出力するよう構成している引用発明において,実行する 命令のアドレスを全てバスインタフェース制御部60に送るよう構成することは, その目的に反していると主張する。 しかし,原告の上記主張は,失当である。すなわち,引用文献1は,バスインタ フェース制御部が出力しない分岐先アドレスもバスインタフェース制御部に出力し, 間接分岐命令実行時のみバスインタフェース制御部が分岐先アドレスを出力する技 術思想が開示されているので,実行する命令のアドレスの全てをバスインターフェ ース制御部に送るように変更することが,引用発明の目的に反しているとはいえな い。 (3) 取消事由3(作用効果の判断の誤り)に対して 原告は,本願発明の作用効果は,引用文献及び周知技術から当業者が容易に予測 できる範囲のものとはいえないと主張する。 しかし,原告の上記主張は,失当である。すなわち,CPUにおいて取り出し回 路の制御を行うための制御信号を,命令トレースコントローラにおいてアドレスの 不連続を示す命令ポインタのアドレスの選択という目的にも利用することができる ことは,引用文献1にも実質的に開示されている。また,追加的な回路を設ける必 要がないという効果は,本願発明と引用発明に格別異なるところがない。さらに, 「CPUが命令ポインタを選択せずに命令トレースコントローラに送ることで,C PUの制御と回路構成を簡単なものとすることができる」という効果も,格別なも のではない。 12 当裁判所の判断 第4 当裁判所は,審決の相違点1に係る容易想到性判断には誤りがあり,審決は,そ の余の点について判断するまでもなく,これを取り消すべきものと判断する。その 理由は,以下のとおりである。 1 事実認定 (1) 本願発明 ア 本願発明に係る特許請求の範囲の記載は, 前記第2の2記載のとおりである。 イ また,本願明細書(甲8)には,以下の記載がある。 「 【0001】 【発明の属する技術分野】本発明は命令トレース供給方式に関する。特に,本発 明は命令トレースが集められた単一チップ集積回路装置及び命令トレースを供給す る方法に関する。 【0002】 【従来の技術及び発明が解決しようとする課題】CPUは,メモリから命令を取 り出して実行するための取り出し及び実行回路に加えて,CPUによって実行され る命令のメモリ内のアドレスを保持する命令ポインタレジスタを有する。命令ポイ ンタレジスタに保持されるアドレスを認識することは,CPU上で実行するソフト ウエア上の診断機能を実行する際に特に重要である。簡単な場合,命令ポインタと して保持されるアドレスは,外部メモリバス上のメモリアドレス値を観察すること によって推測できる。しかしながら,多くの場合において,命令ポインタはCPU の奥にかくされており,CPUの外側からは容易にアクセスできない。 」 「 【0007】 【課題を解決するための手段】本発明によれば,メモリから命令を取り出して実 行する取り出し及び実行回路と,CPUによって実行される命令のメモリ内のアド レスを順次保持する命令ポインタレジスタと,を含んで構成されるオン−チップC PUと,前記アドレスを監視するように作動可能であり,トレースストレージ位置 13 に接続されて,前記アドレスの1つが前記アドレスの前回アドレス後のメモリ内の 次に続くアドレスではないことを検出したことに応じて前記アドレスのうちの選択 されたアドレスを前記トレース位置に記憶させる命令トレースコントローラと,を 含んで構成される単一チップ集積回路装置が提供される。 【0008】このように,オン−チップ命令トレースコントローラは,付加外部 接続ピンを必要とせずに,リアルタイムで命令トレースを集めることができる。不 連続(非シーケンシャルアドレス)における命令ポインタの値を記憶するだけで, 所定時間記憶する必要がある情報量をかなり減少できる。命令トレースコントロー ラは前記アドレスを監視するための命令ポインタレジスタに接続できる。或いは, 前記アドレスを監視するために命令がCPUに取り出されるメモリバスに接続する こともできる。 」 (2) 引用文献1(甲1)には,以下の記載がある。 「 【0001】 【産業上の利用分野】本発明は,マイクロプロセッサの実行状態をマイクロプロ セッサ外部に出力する装置に関し,特に,コンピュータの処理の高速化技術の一つ である命令用キャッシュメモリ装置を内蔵するマイクロプロセッサに関するもので ある。 【0002】 【従来の技術】近年,マイクロプロセッサは,処理速度の高速化のためにパイプ ライン処理やキャッシュメモリ装置などの技術を導入すると共に,マイクロプロセ ッサを用いた回路やプログラムの開発時にその開発効率を高めるために必要となる マイクロプロセッサの実行状態を示す情報をマイクロプロセッサの外部に出力する ための機構が利用されている。命令用のキャッシュを内蔵する場合,内蔵キャッシ ュがヒットしている場合命令の実行状況がマイクロプロセッサの外部に出力されず, マイクロプロセッサのアドレスバスおよびデータバスの情報を記録するだけでは, マイクロプロセッサの実行する命令をトレースすることはできない。」 14 「 【0007】 【発明が解決しようとする課題】しかしながら上記のような構成では,マイクロ プロセッサが出力する情報に基づいて,マイクロプロセッサの実行命令のトレース を行う場合,マイクロプロセッサが実行する全ての命令のアドレスを記録する必要 があり容量の大きい記憶装置を必要とするという問題点を有していた。また,マイ クロプロセッサの高速化に伴い,常にマイクロプロセッサの実行情報をプロセッサ の外部に出力することによって,バスの競合が発生しマイクロプロセッサの性能の 低下を招く。さらに,マイクロプロセッサの実行する命令のトレースを行う場合の みマイクロプロセッサの実行情報を出力する方法もあるが,トレースを行う場合と そうでない場合の実行環境が大きく変化し,正確な情報を得る事が困難である。 」 「 【0009】 【課題を解決するための手段】上記問題点を解決するために本発明のマイクロプ ロセッサは,命令の実行の終了を示す命令終了信号と,分岐命令実行時に分岐条件 が成立し,あるいは無条件に分岐を行うことを示す分岐信号と,前記命令終了信号 を入力し実行した命令数をカウントし前記分岐信号を入力することにより内容をリ セットする命令実行カウンタと,前記命令実行カウンタより命令実行数を入力し保 持する第一のレジスタと,分岐先の命令のアドレスを計算し出力するアドレス計算 部と,前記アドレス計算部が出力する分岐先アドレスを入力し保持する第二のレジ スタと,前記分岐信号を入力し前記第一及び第二のレジスタの内容をそれぞれ端子 に出力するバス制御部とを備えたものである。 」 「 【0013】 【実施例】以下本発明の一実施例のマイクロプロセッサについて,図面を参照し ながら説明する。 【0014】図1は本発明の実施例におけるマイクロプロセッサの構成例を示す ものである。図1において,10は命令プリフェッチ部,20は命令キャッシュ, 30は命令デコーダ,40はアドレス計算部,50は命令実行部,60はバスイン 15 タフェース制御部,70は分岐アドレスレジスタ,80は実行命令カウンタで,4 1は分岐アドレス,51は分岐信号,52は命令終了信号,61はアドレスバス, 62はバスアクセス情報,63は命令実行情報である。 【0015】以上のように構成されたマイクロプロセッサについて,以下,図1 を用いてその動作を説明する。キャッシュイネーブル信号12により命令キャッシ ュ20の使用が許可されている場合,命令プリフェッチ部10において次サイクル において実行する命令のアドレスが計算され 分岐が発生しない場合) 命令キュッ ( , シュ10内にある命令が読みだされ,読みだされた命令は命令デコーダ30におい てデコードされる。命令デコーダ30のデコード結果に基づき命令実行部50は命 令の実行を行う。命令実行部50は命令デコーダ30により指示された命令の実行 を終了するサイクルにおいて命令実行終了信号52を出力する。さらに,命令実行 カウ ンタ80は命令実行終 了 信号52が出 力 される 毎 にその内 容 を1 づ つ(判決 注・ 「1ずつ」の誤記と認める。 )加算し,命令実行部50において実行の終了した 命令の数をカウントする。なお,この命令実行カウンタ80は図1には示していな いが,マイクロプロセッサのリセット時に同時に0にリセットされる。 【0016】命令デコーダ30においてデコードされた命令が分岐命令で合った 場合(判決注・ 「あった場合」の誤記と認める。,命令実行部50は分岐先命令のア ) ドレスをアドレス計算部40において求め,その結果を分岐アドレスバス41へ出 力すると共に,分岐条件が成立し,あるいは無条件に分岐が行なわれる事を示すた めに分岐命令信号51を出力する。バス制御部60は,ユニット内の分岐アドレス レジスタ70に分岐先アドレスバス41に分岐アドレスが出力される毎に分岐アド レスを取り込み格納する。また,命令プリフェッチ部10は分岐先アドレスを分岐 アドレスバス41より取り込み命令キャッシュ20内に分岐先の命令が格納されて いるかどうか検索を行う。さらに,分岐信号51が出力されると命令実行カウンタ 80は,そのカウンタ内に保持している内容をラッチ85に出力すると共にカウン タの内容を0にクリアする。バス制御部60は,キャッシュイネーブル信号12が 16 出力されている場合は,分岐命令信号51が出力される毎に分岐アドレスレジスタ 70の内容をセレクタ65により選択しアドレスバス61に出力すると共に,バス アクセス情報62によりアドレスバス61上に分岐アドレスが出力されていること を示す。さらに,バス制御部は同時にラッチ85の内容を命令実行情報63に出力 する。 」 【0018】以上のように本実施例のよれば(判決注・ 「本実施例によれば」の 「 誤記と認める。,命令の実行の終了を示すための命令終了信号52と,分岐命令実 ) 行時に分岐を行うことを示す分岐信号51と,前記命令終了信号を入力し実行した 命令の数をカウントし前記分岐信号を入力することにより内容をリセットする命令 実行カウンタ80と,前記命令実行カウンタより入力し保持するラッチ85と,ア ドレス計算部40が出力する分岐先アドレス41を入力し保持するレジスタ70と, 端子としてアドレスバス61,バスアクセス情報62および命令実行情報63とを 設けることにより,命令のトレースを命令キャッシュの使用中においても,プロセ ッサ外部で多くの情報を保持することなくマイクロプロセッサの実行する命令のト レースを行うことができる。」 2 判断 審決は,相違点1に関して,引用発明において,本願発明のように,メモリにア クセスするアドレスを含む命令ポインタを,全て命令トレースコントローラに送っ ておき,不連続なアドレスを示す制御信号により命令トレースコントローラによっ て選択するようにすることは当業者が容易になし得たことであると認定, 断する。 判 しかし,審決の上記認定,判断には,誤りがある。すなわち, (1) 本願発明に係る特許請求の範囲及び本願明細書の上記記載によれば, 本願発 明は,@メモリから命令を取り出して実行する取り出し回路及び実行回路と,CP Uによって実行される命令のメモリ内のアドレスを含む命令ポインタを順次保持す る命令ポインタレジスタとを含んで構成され,前記CPUの実行回路は,取り出し 回路に新しいメモリ位置から命令の取り出しを開始させると共に,前記アドレスの 17 1つが,そのアドレスの前回アドレスのメモリ内の次に続くアドレスではないとい う不連続を示す制御信号を生成するよう動作可能であるオン−チップCPUと,A 前記アドレスを監視するように作動可能であり,トレースストレージ位置に接続さ れて,前記アドレスの1つが前記アドレスの前回アドレス後のメモリ内の次に続く アドレスではないことを検出したことに応じて,前記アドレスのうちの選択された アドレスを前記トレース位置に記憶させる命令トレースコントローラと,を含んで 構成される単一チップ集積回路装置である。 他方,引用文献1の上記記載によれば,@引用発明は,命令用キャッシュメモリ 装置を内蔵するマイクロプロセッサの実行状態をマイクロプロセッサ外部に出力す る装置に関するものであること,Aマイクロプロセッサは,命令用のキャッシュを 内蔵する場合,内蔵キャッシュがヒットしている場合には,命令の実行状況がマイ クロプロセッサの外部に出力されず,マイクロプロセッサのアドレスバス及びデー タバスの情報を記録するだけでは,マイクロプロセッサの実行する命令をトレース することができないこと,B他方,全ての命令のアドレスを記録すると容量の大き い記憶装置が必要となり,常にマイクロプロセッサの実行情報を外部に出力するこ とは,マイクロプロセッサの性能低下を招く上,マイクロプロセッサの実行する命 令のトレースを行う場合のみマイクロプロセッサの実行情報を出力する方法では, トレースを行う場合とそうでない場合で実行環境が大きく変化し,正確な情報を得 ることが困難であるなどの課題があったこと,Cこのような課題を解決するため, 引用発明は,命令の実行の終了を示す命令終了信号と,分岐を行うことを示す分岐 信号と,命令数をカウントする命令実行カウンタと,分岐先の命令のアドレスを計 算し出力するアドレス計算部と,バス制御部などを備えた発明であることが認めら れる。そして,引用発明においては,分岐が発生しない場合の命令アドレスは,命 令プリフェッチ部10において計算され,分岐先アドレスはアドレス計算部により 計算されるものであるから,アドレス計算部により計算された分岐先アドレスに代 えて,命令ポインタレジスタから出力される全てのアドレスから,命令トレースに 18 必要な不連続アドレスのみをアドレスの不連続を示す制御信号を用いて抽出する構 成に変更することは,自明とはいえない。 そもそも,引用発明は,上記のとおり,分岐先アドレスを出力することで,出力 される実行情報の量を抑制することを目的とするものであるから,引用発明におい て,この目的を達成することが可能なアドレス計算部の出力する分岐先アドレスを 用いるのに代えて,実行する命令のアドレス全てを出力するとの構成に至る動機付 けがない。むしろ,引用文献1の上記記載によれば,引用発明は,内蔵キャッシュ がヒットしている場合,命令の実行状況がマイクロプロセッサのアドレスバスやデ ータバスに出力されない構成である上,常にマイクロプロセッサの実行情報をプロ セッサの外部に出力することは,バスの競合が発生し,マイクロプロセッサの性能 の低下を招くとの認識を前提としており,引用発明において,実行する命令のアド レス全てを出力するように構成することには,阻害事由があるといえる(なお,本 願発明は,命令ポインタレジスタから出力され,CPUによって実行されるアドレ ス(命令ポインタ)のうち,命令トレースに必要な不連続アドレス(分岐先アドレ ス)のみを,アドレスの不連続を示す制御信号を用いて抽出するものである。これ に対し,引用発明においては,命令実行部がアドレス計算部を備え,分岐先アドレ スを計算して出力するが,分岐が発生しない場合には,命令プリフェッチ部10に おいて,次サイクルにおいて実行する命令のアドレスが計算され,命令キャッシュ 内にある命令が読み出されるものであって,アドレス計算部から出力されるのは, 不連続な分岐先アドレスのみであり,CPUによって実行される命令のアドレス全 てを出力するものではないから,引用発明におけるアドレス計算部は,本願発明に おける命令ポインタレジスタに対応するものともいえない。。 ) これに対し,審決は,本願発明において,制御信号によって不連続であることが 通知されたアドレス以外は,命令トレースコントローラで何ら使用されることなく, 捨てられるだけであり,全ての命令ポインタを命令トレースコントローラに送るこ とによって格別の効果を生ずるものではないとして,相違点1は格別のものではな 19 いと認定,判断するが,不連続でないアドレスが利用されないからといって,引用 発明から本願発明を容易に想到できたとはいえない。 以上によれば,引用発明において,本願発明のように,メモリにアクセスするア ドレスを含む命令ポインタを,全て命令トレースコントローラに送っておき,不連 続なアドレスを示す制御信号により命令トレースコントローラによって選択するよ うにすることは当業者が容易になし得たことであるとの審決の認定,判断には,誤 りがある。 (2) これに対し,被告は,CPUの実行命令のトレースを行う装置において,実 行アドレス値の出力のうちアドレスの変化の不連続を検出した時に,当該アドレス 値 をCPUに接続された手 段 にて記 録 するように構成することは 周知技術 である (甲2,4,乙3)から,上記周知技術にならって,引用発明において,実行命令 をトレースするためCPUに接続されたバスインタフェース60においてアドレス の変化の不連続を検出した時に当該アドレス値を記録するように構成することは, 当業者が容易に想到できたものであると主張する。 しかし,被告の上記主張は,失当である。すなわち,甲2,4,乙3には,連続 したアドレスを含む命令のアドレスを出力し,アドレス変化が不連続であることを 検出したときにアドレスを記録することは記載されているものの,上記のとおり, 引用発明は,連続したアドレスを含む命令のアドレスを出力するものではないから, 上記周知技術によっても引用発明から相違点1に係る構成に想到することが容易で あるとはいえない。 また,被告は,本願発明においても,実施例においては,引用発明と同様に,記 憶すべき分岐アドレスを選択してレジスタに格納するための機構を備えるから,C PUが命令ポインタを選択せずに命令トレースコントローラに送ることで,CPU の制御と回路構成を簡単なものとすることができるという本願発明の効果は, 局, 結 単一チップ上において,分岐アドレスレジスタに格納すべきアドレスを命令実行部 側ではなく,命令トレースコントローラ上のレジスタ側で選択するというものにす 20 ぎず,格別なものとはいえないと主張する。 しかし,引用発明において,分岐が発生しない場合,命令実行部が次サイクルに おいて実行する命令のアドレスを計算したり,命令プリフェッチ部から次サイクル において実行する命令のアドレスを受け取ることは記載されていない上,アドレス 計算部の出力する分岐先アドレスは,分岐する可能性のあるアドレスであって,必 ずしもCPUによって実行されるものではないから,トレースすべきアドレスとし ての分岐先アドレスの選択を全て命令実行部が行っているとはいえない。したがっ て,引用発明は,分岐アドレスレジスタに格納すべきアドレスを全て命令実行部側 で選択するものとはいえず,被告の上記主張は前提に誤りがある。 3 結論 以上のとおり,審決の相違点1に係る容易想到性判断には誤りがあり,その余の 点について判断するまでもなく, その他, 縷々 原告の請求には理由がある。 被告は, 主張するが,いずれも理由がない。よって,主文のとおり判決する。 知的財産高等裁判所第3部 裁判長裁判官 芝 俊 田 文 裁判官 理 西 香 21 裁判官 知 野 明 22 (別紙)引用文献の図1 23 |