【事件の表示】
　特願２０１５−　　　２０２「方法および装置」拒絶査定不服審判事件〔平成２７年　４月３０日出願公開，特開２０１５−　８４２５０〕について，次のとおり審決する。
【結　論】
　本件審判の請求は，成り立たない。
【理　由】
第１．手続の経緯
　本願は，２０１０年１１月２９日（パリ条約による優先権主張外国庁受理２００９年１２月２２日　アメリカ合衆国）を国際出願日とする特願２０１２−５１６３９５号の一部を，特許法第４４条第１項の規定により，平成２７年１月５日に新たな特許出願としたものであって，
　平成２７年１月２８日付けで審査請求がなされると共に手続補正がなされ，平成２８年１月２９日付けで審査官により拒絶理由が通知され，これに対して平成２８年８月３日付けで意見書が提出され，平成２８年９月１３日付けで審査官により拒絶理由が通知され，これに対して平成２９年３月２１日付けで意見書が提出されると共に手続補正がなされたが，平成２９年５月１９日付けで審査官により拒絶査定がなされ（謄本送達；平成２９年５月３０日），これに対して平成２９年９月２９日付けで審判請求がなされると共に手続補正がなされ，平成２９年１０月３０日付けで審査官により特許法第１６４条第３項の規定に基づく報告がなされたものである。
　
第２．平成２９年９月２９日付けの手続補正の却下の決定
　
　［補正却下の決定の結論］
　
　平成２９年９月２９日付け手続補正を却下する。
　
　［理由］
　
１．補正の内容
　平成２９年９月２９日付けの手続補正（以下，「本件手続補正」という）により，平成２９年３月２１日付けの手続補正により補正された特許請求の範囲，
「　【請求項１】
　プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュされるキャッシュラインの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの前記複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のキャッシュラインをフラッシュする段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む
　方法。
　　【請求項２】
　前記フラッシュされる第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスに所与の数を加算する段階
　を有する請求項１に記載の方法。
　　【請求項３】
　前記フラッシュされる第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスから所与の数を減算する段階
　を有する請求項１または２に記載の方法。
　　【請求項４】
　オペレーティングシステム（ＯＳ）は，前記単一の命令の実行を要求する請求項１から３のいずれか１項に記載の方法。
　　【請求項５】
　複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ）エントリを無効化する方法であって，
　無効化される前記複数のＴＬＢエントリの先頭アドレスのうち少なくとも一部分を第１のレジスタにロードする段階と，
　無効化されるＴＬＢエントリの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記複数のＴＬＢエントリが無効化される旨を示す第１のフィールドを含み，無効化される第１のＴＬＢエントリの先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記複数のＴＬＢエントリを無効化する段階と
　を備え，
　前記無効化する段階は，
　前記無効化される複数のＴＬＢエントリの前記先頭アドレスに対応付けられている第１のＴＬＢエントリを無効化する段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のＴＬＢエントリを無効化する段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む
　方法。
　　【請求項６】
　前記無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスに所与の数を加算する段階
　を有する請求項５に記載の方法。
　　【請求項７】
　前記無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスから所与の数を減算する段階
　を有する請求項５または６に記載の方法。
　　【請求項８】
　オペレーティングシステム（ＯＳ）は，前記単一の命令の実行を要求する請求項５から７のいずれか１項に記載の方法。
　　【請求項９】
　キャッシュラインとしてデータを格納するキャッシュと，
　第１の命令の実行に応じてフラッシュされるキャッシュラインの数を表すカウンタ値を格納する第１のレジスタと，
　前記第１の命令の実行に応じてフラッシュされる前記キャッシュラインのアドレスのうち少なくとも一部分を格納する第２のレジスタと，
　前記キャッシュの複数のキャッシュラインがフラッシュされる旨を示す第１のフィールを含み，フラッシュされる前記複数のキャッシュラインの先頭アドレスを非明示的に提供する前記第１の命令をデコードするデコード回路と，
　前記第１のレジスタに格納されたフラッシュされるキャッシュラインの数を表す前記カウンタ値をデクリメントすることによって，デコードされた前記第１の命令が示す前記複数のキャッシュラインをフラッシュする実行回路と
　を備え，
　前記実行回路は，フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュし，フラッシュされるべき第２のキャッシュラインのアドレスのうち少なくとも一部分を含むように前記第２のレジスタのフラッシュされるべきアドレスの少なくとも一部を更新して，前記第２のキャッシュラインをフラッシュし，
　前記第１の命令は，即値である前記カウンタ値を含む
　装置。
　　【請求項１０】
　ページ・テーブル・エントリを格納するトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を
　をさらに備え，
　前記デコード回路は，複数のＴＬＢページ・テーブル・エントリが無効化される旨を示す第１のフィールドを含む第２の命令をデコードする請求項９に記載の装置。
　　【請求項１１】
　前記第２の命令が示す前記複数のＴＬＢページ・テーブル・エントリを無効化する，前記ＴＬＢに設けられている実行回路をさらに備える請求項１０に記載の装置。
　　【請求項１２】
　前記実行回路は，
　デコードされた第１の命令が示す前記複数のキャッシュラインをフラッシュする方法を表すステートマシンであって，キャッシュロジックに格納されているステートマシン
　を有する請求項９から１１のいずれか１項に記載の装置。
　　【請求項１３】
　前記第１の命令を，前記実行回路が実行する複数のマイクロ演算に変換するマイクロコードをさらに備える請求項９から１２のいずれか１項に記載の装置。」（以下，上記引用の請求項各項を，「補正前の請求項」という）は，
「　【請求項１】
　プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュされるキャッシュラインの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの前記複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のキャッシュラインをフラッシュする段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む特権命令である
　方法。
　　【請求項２】
　前記フラッシュされる第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスに所与の数を加算する段階
　を有する請求項１に記載の方法。
　　【請求項３】
　前記フラッシュされる第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスから所与の数を減算する段階
　を有する請求項１または２に記載の方法。
　　【請求項４】
　オペレーティングシステム（ＯＳ）は，前記単一の命令の実行を要求する請求項１から３のいずれか１項に記載の方法。
　　【請求項５】
　複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ）エントリを無効化する方法であって，
　無効化される前記複数のＴＬＢエントリの先頭アドレスのうち少なくとも一部分を第１のレジスタにロードする段階と，
　無効化されるＴＬＢエントリの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記複数のＴＬＢエントリが無効化される旨を示す第１のフィールドを含み，無効化される第１のＴＬＢエントリの先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記複数のＴＬＢエントリを無効化する段階と
　を備え，
　前記無効化する段階は，
　前記無効化される複数のＴＬＢエントリの前記先頭アドレスに対応付けられている第１のＴＬＢエントリを無効化する段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のＴＬＢエントリを無効化する段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む特権命令である
　方法。
　　【請求項６】
　前記無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスに所与の数を加算する段階
　を有する請求項５に記載の方法。
　　【請求項７】
　前記無効化される第２のＴＬＢエントリの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階は，
　前記先頭アドレスから所与の数を減算する段階
　を有する請求項５または６に記載の方法。
　　【請求項８】
　オペレーティングシステム（ＯＳ）は，前記単一の命令の実行を要求する請求項５から７のいずれか１項に記載の方法。
　　【請求項９】
　キャッシュラインとしてデータを格納するキャッシュと，
　第１の命令の実行に応じてフラッシュされるキャッシュラインの数を表すカウンタ値を格納する第１のレジスタと，
　前記第１の命令の実行に応じてフラッシュされる前記キャッシュラインのアドレスのうち少なくとも一部分を格納する第２のレジスタと，
　前記キャッシュの複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，フラッシュされる前記複数のキャッシュラインの先頭アドレスを非明示的に提供する前記第１の命令をデコードするデコード回路と，
　前記第１のレジスタに格納されたフラッシュされるキャッシュラインの数を表す前記カウンタ値をデクリメントすることによって，デコードされた前記第１の命令が示す前記複数のキャッシュラインをフラッシュする実行回路と
　を備え，
　前記実行回路は，フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュし，フラッシュされるべき第２のキャッシュラインのアドレスのうち少なくとも一部分を含むように前記第２のレジスタのフラッシュされるべきアドレスの少なくとも一部を更新して，前記第２のキャッシュラインをフラッシュし，
　前記第１の命令は，即値である前記カウンタ値を含む特権命令である
　装置。
　　【請求項１０】
　ページ・テーブル・エントリを格納するトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を
　をさらに備え，
　前記デコード回路は，複数のＴＬＢページ・テーブル・エントリが無効化される旨を示す第１のフィールドを含む第２の命令をデコードする請求項９に記載の装置。
　　【請求項１１】
　前記第２の命令が示す前記複数のＴＬＢページ・テーブル・エントリを無効化する，前記ＴＬＢに設けられている実行回路をさらに備える請求項１０に記載の装置。
　　【請求項１２】
　前記実行回路は，
　デコードされた第１の命令が示す前記複数のキャッシュラインをフラッシュする方法を表すステートマシンであって，キャッシュロジックに格納されているステートマシン
　を有する請求項９から１１のいずれか１項に記載の装置。
　　【請求項１３】
　前記第１の命令を，前記実行回路が実行する複数のマイクロ演算に変換するマイクロコードをさらに備える請求項９から１２のいずれか１項に記載の装置。」（以下，上記引用の請求項各項を，「補正後の請求項」という）に補正された。
　
２．補正の適否
（１）本件手続補正は，補正前の請求項１，及び，補正前の請求項５の，
「単一の命令は，即値である前記カウンタ値を含む」，
　を，
「単一の命令は，即値である前記カウンタ値を含む特権命令である」，
　と，補正前の請求項９の，
「第１の命令は，即値である前記カウンタ値を含む」，
　を，
「第１の命令は，即値である前記カウンタ値を含む特権命令である」，
　と補正するものであって，これらの補正事項は，本願明細書の段落【００１５】の，
「ＣＬＦＬＵＳＨ命令は、全ての特権レベルで用いられるとしてよく」，
　という記載，及び，本願明細書の段落【００４３】の，
「一部の実施形態によると、ＲＥＰ　ＩＮＶＬＰＧ命令は特権命令である」，
　という記載に基づくものであるから，本件手続補正は，願書に最初に添付された明細書，特許請求の範囲，及び，図面に記載した事項の範囲内でなされたものである。
　そして，これら補正事項は，「単一の命令」，及び，「第１の命令」に対して，「特権命令」であるという限定事項を付加するものであることは明らかである。
　よって，本件手続補正は，特許法第１７条の２第３項の規定，及び，特許法第１７条の２第５項の規定を満たすものである。
　そこで，本件手続補正が，特許法第１７条の２第６項において準用する同法第１２６条第７項の規定を満たすものであるか否か，即ち，補正後の請求項に記載されている事項により特定される発明が特許出願の際独立して特許を受けることができるものであるか否か，以下に検討する。
　
（２）補正後の請求項１に係る発明
　補正後の請求項１に係る発明（以下，これを「本件補正発明」という）は，上記「１．補正の内容」において，補正後の請求項１として引用した，次のとおりのものである。
　
「プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュされるキャッシュラインの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの前記複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のキャッシュラインをフラッシュする段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む特権命令である
　方法。」
　
（３）引用文献に記載の事項
　ア．原審における平成２８年９月１３日付けの拒絶理由（以下，これを「原審拒絶理由」という）おいて引用された，本願の原出願の第１国出願前に既に公知である，特開２００１−１３４４９０号公報（２００１年５月１８日公開，以下，これを「引用文献１」という）には，関連する図面と共に，次の事項が記載されている。
　
Ａ．「【請求項６】  キャッシュブロックから構成されるキャッシュメモリを含む計算機であって，
指定されたアドレス領域に含まれるアドレスを持つデータを記憶している前記キャッシュブロックを，供給される命令に応じて一律に無効化する
　
Ｂ．「【００３４】そして，上記単一レジスタストア命令の命令形式は，図７に示される。すなわち図７に示されるように，単一レジスタストア命令の命令形式は，一つのレジスタからのストアが規定される命令コードOP-CODE と，アドレスを指定するアドレス指定フィールドADと，書き込むデータが格納されているレジスタを指定するレジスタ指定フィールドREG とを含む。
【００３５】一方，複数レジスタストア命令の命令形式は，図４に示されるロック／アンロック命令の命令形式と同様である。すなわち複数レジスタストア命令は，
複数のレジスタからのストア命令が規定される命令コードOP-CODE と，アドレスを指定するアドレス指定フィールドADと，アドレス領域のサイズを指定する領域サイズ指定フィールドSIZEとを含む
（プリロード命令について）プリロード命令が実行部１３で実行された場合には，キャッシュ制御部３０に含まれるプリロード制御部３３へプリロードの対象とする先頭アドレスと，プリロードの対象とするアドレス領域のサイズが供給される。そして，この先頭アドレスはアドレスレジスタ４５を介して比較器１２に供給されるが，先頭アドレスは加算部４３においてキャッシュブロックサイズ規定部４１が規定する１キャッシュブロックのアドレスへ順次加算される。従って，比較器１２は，ロード対象とするアドレスを１キャッシュブロック毎にスキャンし，順次タグＴＡＧに格納されたアドレスと比較する。」
　
Ｃ．「【００４３】以上のような命令によれば，メインメモリ７へのデータのポストストアと該キャッシュブロックのアンロックとが一命令の実行により実現されるため，動作の効率を高めることができる。ここでさらに上記命令においては，アンロック指定が可能なものとすることもできる。すなわち，命令形式の面においては図５に示された命令形式と同様に，アンロックを行うか否かを指定するアンロック指定フィールドを設ける。そして，ポストストアの対象とするデータがキャッシュメモリ１０内のいずれかのキャッシュブロックに格納されている場合には，アンロック指定があるときに該データをメインメモリ７に書き戻して有効フラグＶを０にすると共に，ロックフラグＬを０にする（アンロックする）。また，このときアンロック指定がない場合には該データをメインメモリ７に書き戻し，有効フラグＶを０にする。一方，ポストストアの対象とするデータがキャッシュメモリ１０内に格納されていない場合には，対応する動作は何もしない。
（フラッシュ命令について）フラッシュ命令が実行部１３で実行された場合には，キャッシュ制御部３０に含まれるフラッシュ制御部３５へフラッシュの対象とする先頭アドレスと，フラッシュの対象とするアドレス領域のサイズが供給される。そして，この先頭アドレスはアドレスレジスタ４５を介して比較器１２に供給される
先頭アドレスは加算部４３においてキャッシュブロックサイズ規定部４１が規定する１キャッシュブロック分のアドレスへ順次加算される。従って比較器１２は，フラッシュの対象とするアドレスを１キャッシュブロック毎にスキャンし
【００４４】一方，
フラッシュの対象とするアドレス領域のサイズは，サイズレジスタ４７及び比較器４２を介してフラッシュ制御部３５へ供給され
サイズレジスタ４７から出力されたアドレス領域のサイズは，上記１キャッシュブロックのスキャン毎に，１キャッシュブロック分のサイズに応じて順次減算部４４で減算される
【００４５】そして，
フラッシュするアドレス領域がまだ残っていると比較器４２で判断される場合に，フラッシュ制御部３５が活性化される
【００４６】従って，このようなフラッシュ命令を実行することにより，指定したアドレス領域に含まれるアドレスに対応したキャッシュブロックデータＤＡＴＡをメインメモリ７へ一括して書き戻すことができるため，実行すべき命令の数を減少させ動作の効率を高めることができる。なお，上記フラッシュ命令は，上記アンロック命令の動作を伴ってもよい。そしてこのとき，フラッシュの対象とするデータがキャッシュメモリ１０内のいずれかのキャッシュブロックに格納されている場合には，該データをメインメモリ７に書き戻した上で，該有効フラグＶを１にしたままロックフラグＬを０に（アンロック）する。一方，ポストストアの対象とするデータがキャッシュメモリ１０内に格納されていない場合には，対応する動作は何も行わない。」
　
イ．原審拒絶理由に引用された，本願の原出願の第１国出願前に既に公知である，「うさぴょん，デバッガによるｘ８６プログラム解析入門，２００７年　７月１５日，第1版，pp.40-41」（以下，これを「引用文献２」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｄ．「＞＞ＬＥＡ命令
　「Ｌｏａｄ  Ｅｆｆｅｃｔｉｖｅ  Ａｄｄｒｅｓｓ」の略です。ソースオペランドの内容を演算した上で，その結果をディスティネーションオペランドに転送します。実際にはこの命令で処理できるのは有効なアドレスに限定されておらず，演算処理に使用されることもあります。
　
＞ＬＥＡ命令の使用例（アスタリスクは乗算を意味する）
　LEA  EAX，［EBX+ECX*4］
　
＞＞ストリング操作命令とリピートプリフィックス
　ストリング操作命令とはデータブロックを扱うための命令で，リピートプリフィックスは繰り返し処理を行うための命令です。基本的に両者はセットで使用され，使用時にはＥＳＩレジスタに処理を行う元データのアドレス，ＥＤＩレジスタには処理を行う先データのアドレス，ＥＣＸレジスタには繰り返し処理の回数を格納して指定します。
＞主なストリング操作命令
　
　名前　　　　　　　　　　　　　　　　機能
MOVSB/MOVSW/MOVSD 　　Byte/Word/DWord単位でのデータブロックの転送
CMPSB/CMPSW/CMPSD 　　　Byte/Word/DWord単位でのデータブロックの比較
　
＞主なストリング操作命令とリピートプリフィックスの組み合わせ
　
　名前　　　機能
　REP　　　MOVSD命令などのストリング操作命令を１回実行するたびに
　　　　　 　ECXレジスタをデクリメント（−１）し，ECXレジスタが
           　　　　　ゼロになるまで処理を繰り返す
　REPE　　CMPSB/CMPSW/CMPSD命令を１回実行するたびにECXレジスタ
　　　　　　　をデクリメント−１）し，ECXレジスタが
          　　　　　　ゼロかゼロフラグが０になるまで処理を繰り返す
　　　　　（不一致検出）
　REPNE    　CMPSB/CMPSW/CMPSD命令を１回実行するたびに　　　　　
　　　　　 ECXレジスタをデクリメント（−１）し，ECXレジスタが　
　　　　　 ゼロかゼロフラグが１になるまで処理を繰り返す
　　　　　（一致検出）
　
＞ストリング操作命令の使用例
　MOV  ESI,    402150
　MOV  EDI,    405000
　MOV  ECX,    20
　CLD
　REP  MOVSD
　
　｜REP　MOVSD｜で行われている処理の内容
　
　アドレス402150からアドレス405000へ４バイト転送，ECXをOxlFに
　アドレス402154からアドレス405004へ４バイト転送，ECXをOxlEに
　アドレス402158からアドレス405008へ４バイト転送，ECXをOxlDに
　アドレス40215Cからアドレス40500Cへ４バイト転送，ECXをOxlCに
　
　アドレス４０２１５０からアドレス４０５０００へＤＷｏｒｄ（４バイト）単位で０Ｘ２０回データを転送する。１回データが転送されるたびに，ＥＳＩレジスタとＥＤＩレジスタの格納値はそれぞれＤＷｏｒｄ分（４バイト）で４回インクリメント（＋１）され，ＥＣＸレジスタは１回デクリメント（−１）される。ＣＬＤ命令は繰り返し処理に伴いＥＳＩレジスタとＥＤＩレジスタをインクリメントするかデクリメントするか決定するための，ＥＦＬＡＧＳレジスタ内にあるディレクションフラグを設定する命令で，このフラグをＣＬＤ命令で０にすればインクリメントで，ＳＴＤ命令で１にすればデクリメントとなる。」（４０頁７行〜４１頁末行）
　
ウ．原審拒絶理由に引用された，本願の原出願の第１国出願前に既に公知である，特開平０８−１６６８８０号公報（１９９６年６月２５日公開，以下，これを「引用文献３」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｅ．「【０１２４】＜＜第２の実施例＞＞
＜原理＞従来のコンピュータは図１６のようにしてfor 文のような繰り返し処理を実行している。図１６で示す命令４のaddiのような加算命令や命令５のbne のような比較命令は非常に時間を必要とする処理であり，１個の命令で加算してその後比較するような処理をコンピュータが同時にまとめて実行することはなかった。
【０１２５】ところが，このような加算してその後比較するような処理をまとめて実行できる新しい回路をもつコンピュータについて“Evaluation of A+B=K Conditions Without Carry Propagation,”JCS,Vol.41,No.11,pp1484に記述されている。この論文の方法を利用すれば，加算して比較する処理を併せて高速に（通常の比較回路と同等の速度で）実行することができるようになる。したがって，この２つの命令を１つの命令として実行することができる。すなわち命令実行数が減少するので，高性能なコンピュータを得ることができる。
【０１２６】しかし，ここで問題が発生する。たとえば，上記のような組み合わせた命令をaddibne 命令として，Ｒ３０００の方式にしたがってマシン語を作成してみると図４のようになる。図４で命令４がaddibne 命令である。最初の６ビットがaddibne 命令を表わす命令コードで，次の５ビットが加算されて書き込まれるレジスタ＄２８を表わし，次の５ビットが加算されるために読み出されるレジスタ＄２８を表わし，次の５ビットが比較されるデータを保持しているレジスタ＄３０を表わし，次の１６ビットが加算される数である“１”を表わし，最後の１６ビットが分岐先のアドレスである“−１”を表わしている。
【０１２７】このとき図４から明らかなようにこの新規の命令のマシン語が５３ビットとなり，他の３２ビットのこれまでの命令のビット数と異なってしまう。このように他の命令とビット数が異なる新規の命令を追加することは，極めて非実用的である。
【０１２８】無理に使用しようとすれば，加算される数の大きさをもともとは１６ビットであったものを小さく制限したり，分岐先を求めるために加算される数をもともとは１６ビットであったものを小さく制限したりする必要が出てくる。そうするともともとのコンピュータで処理できていた命令が処理できなくなる場合が発生する。加算される数の大きさは後で述べるように小さな値でもかまわないが，たとえ１ビットに加算される数にビット数を制限しても，addibine命令の総ビット数は３２ビットを越えてしまう。
【０１２９】これを解決するために，命令内で指定する要素を減らすことを考える。このaddibine命令で利用するレジスタを暗黙的に決めておくことで，addibine命令内で指定しなければいけない要素を減らすことができ，命令を３２ビット以内のビット数に制限し，上記問題を解決することができる。
【０１３０】このaddibne 命令では，連続的に一定の値を加算される加算用レジスタと加算された後のレジスタの値を比較する参照データを保持する参照用レジスタが必要であるが，このレジスタを暗黙的にその番号を決めておく。これは，スタックポインタレジスタが＄２９であったり，リンクレジスタが＄３１と決められているのと同じ要領である。たとえば，回数をカウントしている値を保持している加算用レジスタは＄２８，比較される参照データを保持している参照用レジスタは＄３０というように決めることである。
【０１３１】しかし，このレジスタの固定はaddibne 命令に限ってだけであり，この＄２８と＄３０のレジスタはほかの命令では通常レジスタと同じように使用できる。
【０１３２】このようにaddibne 命令が暗黙的にレジスタ番号を指定できるようにしておくと，この新規な命令を使用したfor 文の命令列は図５のようになる。図５で命令４がaddibne 命令を示しているが，最初の６ビットがaddibne 命令を表わし，次の５ビットとその次の５ビットとが加算用レジスタ＄２８に加算される値１を表わし，最後の１６ビットが分岐先のアドレスである値−１を表わしている。
【０１３３】従来の命令列では，加算される値が１６ビットの数まで指定可能であったが，本発明では加算する値は１０ビットまでと小さくなっている。したがって，従来の命令列を本発明の命令列に変換できない場合が存在する。しかし，この加算する値は通常では回数をカウントするために加算していくので，その多くは“１”と“−１”と考えられる。プログラム上で奇数をカウントしたり，偶数をカウントしたりする場合に，加算する値が“２”と“−２”である場合なども考えられるがそんなに大きな値がよく使用されるとは常識的に考えられない。したがって人間が作るプログラムから考えて１０ビットで指定できる大きさで実用上十分である。
【０１３４】また，どうしても新しいaddibne 命令の使用で問題が発生する命令列の場合では，第１の実施例同様，変換できない命令列は従来の命令列で実行することが可能（本発明で従来のコンピュータの機能には何ら変更がなされていない）であるのでこのビット数が小さくなることは問題とはならない。プログラムの性質上，多く利用されるfor 文では十分なビット数である。
【０１３５】＜構成＞図５のような命令を処理するこの発明の第２の実施例であるコンピュータのハードウェア構成を図６に示す。図６において，１はレジスタファイル，２はＡＬＵ，３はアドレス加算器，４はプログラムカウンタ，５は制御回路（命令デコーダを含む）である。ここでシフト回路や乗算回路のような演算に関係するものはすべてＡＬＵ２に含まれているとする。また，６ａ，６ｂはレジスタファイル３０より読み出したレジスタ（の格納）データ，７ａ，７ｂは制御回路から出力される制御データ，８はＡＬＵの演算結果，９はプログラムカウンタ４から出力されるプログラムカウント値，すなわち命令メモリのアドレス値，ＣＭＤは命令メモリの出力信号すなわちこのコンピュータを動作させる命令，１１はアドレス加算器の演算結果すなわちデータメモリのアドレス値である。１８は命令語の中に記述されている書き込むレジスタの番号を示す書き込みレジスタアドレス信号，１６ａ，１６ｂは命令語の中に記述されている読み出すレジスタの番号を示す読み出しレジスタアドレス信号である。１０３はaddibne命令を意味する特殊命令信号であり，命令ＣＭＤがaddibne命令でを指示する場合に“Ｈ”となる信号である。」
　
エ．原審拒絶理由に引用された，本願の原出願の第１国出願前に既に公知である，特開２００８−２８３６７２号公報（２００８年１１月２０日公開，以下，これを「引用文献４」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｆ．「【００３３】
　図４は，ECBモードでAESENCRYPT３１０を使うための例示的なコード（たとえば，プロセッサ１９０によって実行されたときに方法をなすもの）４１０を示している。まず，暗号鍵が暗黙的レジスタXMM0の一つにロードされる（MOV命令または同様の命令を介して）。次いで値（たとえば16）が別のレジスタECXにロードされうる（MOV命令または同様の命令を介して）。これはAES暗号化すべき平文の128ビット・ブロックの数をセットするためである。この値に128ビットを乗算したものがコード４１０によって暗号化されるべき平文の全長さを指定しうる。そのような初期化後，AESENCRYPT３１０を含むループがECX回実行されうる。」
　
オ．本願の原出願の第１国出願前に既に公知である，特開２００４−０３８７９８号公報（２００４年２月５日公開，以下，これを「周知文献１」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｇ．「【請求項２】
前記
掃き出し命令生成部は，前記キャッシュフラッシュモードでのキャッシュ掃き出しのためのフェッチリクエストの発行回数をカウントするリクエストカウンタを備えており，キャッシュのすべてのデータのフラッシュが完了する回数に達した時点で，掃き出し完了を前記命令制御部及び前記キャッシュに報告する
【請求項３】
前記掃き出しアドレス生成部は，作業用アドレスレジスタと有効アドレス演算器とを備えており，キャッシュフラッシュモード開始の信号により，キャッシュサイズを越えるメモリアクセス禁止領域のアドレスを，掃き出しアドレスの初期ベースアドレスとして前記作業用アドレスレジスタに格納することを特徴とする，請求項１記載の縮退制御装置。
【請求項４】
前記
掃き出し命令生成部において，キャッシュブロックサイズ値を即値データに用い，作業用レジスタと前記即値データとを加算して得られたアドレスに対するフェッチリクエストを生成する
　
Ｈ．「【００４９】
キャッシュサイズをすべて網羅するメモリアドレスは，まずＣＰＵコア４３内の命令制御部５１が要求を受けたときに，作業用アドレスレジスタ（ＷＡＲ）５５にメモリアクセス禁止領域のアドレスを初期ベースアドレスとして用意し，
即値データにはブロックサイズ（図７の例では６４バイト）を指定して
　
カ．本願の原出願の第１国出願前に既に公知である，特開２００４−３２６７５８号公報（２００４年１１月１８日公開，以下，これを「周知文献２」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｉ．「【００２３】
　本発明は，従来型のキャッシュ管理方法および命令に関連する問題に対処する選択的ローカル・キャッシュ管理技術を提供する。図４を参照すると，本発明の一実施形態によるＬＣＢＦ命令を実行する概念的方法１３０を説明する流れ図が示されている。図示した実施形態では，ＬＣＢＦ命令はアドレスを決定する（ブロック１３１）。一実施形態では，プロセッサは命令実行中に有効アドレスを使用し，次いでキャッシュ・メモリにアクセスする際には有効アドレスを実際のアドレスへ翻訳またはマップする。図２および図３の説明に合わせて，有効アドレスはキャッシュ・アクセス機構の一部として実際のアドレスにマップすることができるという理解の下に，図４の流れ図を有効アドレスについて説明することにする。
【００２４】
　特定のＬＣＢＦ命令の実施態様が２つの汎用レジスタ・オペランドを含む場合，ＥＡはその２つのオペランドの和となる場合がある。他の実施態様では，他の周知のアドレッシング方法を組み込むために，
ＥＡが命令で明示的に示されるＬＣＢＦ即値
　
キ．本願の原出願の第１国出願前に既に公知である，特開２００５−３４６４５７号公報（２００５年１２月１５日公開，以下，これを「周知文献３」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｊ．「【０００９】
　第３は「キャッシュ操作問題」というものである。これは，メモリ領域の書き込みの速度を速めるために
キャッシュを無効にする命令が，ユーザプロセスから直接に使用できない特権命令であることによるものである
cache命令は特権命令
　
ク．本願の原出願の第１国出願前に既に公知である，特開２００２−００７２１２号公報（２００２年１月１１日公開，以下，これを「周知文献４」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｋ．「【００２３】この手法は，素朴な実現では，キャッシュをフラッシュする命令を使って，命令キャッシュ及びデータ・キャッシュをともにフラッシュすることで，正しい内容をメイン・メモリから読み出すようにプロセッサを強制させるようにすればよい。
【００２４】また，米国特許第５，９０９，６９８号明細書（cache block store instruction operations where cache coherency is achieved without writing all theway back to main memory）には，その改良方法として，キャッシュ・フラッシュ用命令の動作を修正して，マルチプロセッサなどで必要な場合以外は，メイン・メモリには書き戻さず，番地の一致する命令キャッシュを更新するだけにすることが挙げられている。
【００２５】上述した各従来技術によれば，確かにキャッシュ−メイン・メモリ間のデータの整合性に関する問題を解決することができる。しかしながら，米国特許第５，９０９，６９８号明細書に開示された方法を除いては，時間的なコストを相当程度要してしまう。
【００２６】また，米国特許第５，９０９，６９８号明細書に係る方法に関しては，
キャッシュ・メモリを制御する命令がほとんどのプロセッサにおいて特権命令
　
ケ．本願の原出願の第１国出願前に既に公知である，特開２００９−２４５２１６号公報（２００９年１０月２２日公開，以下，これを「周知文献５」という）には，関連する図面と共に，次の事項が記載されている。
　
Ｌ．「【００６２】
　
invlpg命令（特権命令）
　
（４）引用文献に記載の発明
ア．上記Ａの「指定されたアドレス領域に含まれるアドレスを持つデータを記憶している前記キャッシュブロックを，供給される命令に応じて一律に無効化する」という記載と，上記Ｃの「（フラッシュ命令について）フラッシュ命令が実行部１３で実行された場合には」という記載から，引用文献１は，
“指定されたアドレス領域に含まれるアドレスを持つデータを記憶しているキャッシュブロックを，供給される命令に応じて一律にフラッシュする方法”
　について言及されていることが読み取れる。
　
イ．上記Ｂの「複数のレジスタからのストア命令が規定される命令コードOP-CODE と，アドレスを指定するアドレス指定フィールドADと，アドレス領域のサイズを指定する領域サイズ指定フィールドSIZEとを含む」という記載，上記ア．において引用した上記Ｃの記載内容，同じく，上記Ｃの「キャッシュ制御部３０に含まれるフラッシュ制御部３５へフラッシュの対象とする先頭アドレスと，フラッシュの対象とするアドレス領域のサイズが供給される。そして，この先頭アドレスはアドレスレジスタ４５を介して比較器１２に供給される」という記載，及び，同じく，上記Ｃの「フラッシュの対象とするアドレス領域のサイズは，サイズレジスタ４７及び比較器４２を介してフラッシュ制御部３５へ供給され」という記載から，引用文献１においては，
“キャッシュブロックを一律にフラッシュするフラッシュ命令が規定される命令コードOP-CODEと，フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドADと，フラッシュ対象とするアドレス領域のサイズを指定する領域指定フィールドSIZEとを含むフラッシュ命令が実行された場合は，前記フラッシュの対象とする先頭アドレスが，アドレスレジスタに供給され，前記フラッシュの対象とするアドレス領域のサイズが，サイズレジスタに供給される”
　ものであることが読み取れる。
　
ウ．上記Ｃの「先頭アドレスは加算部４３においてキャッシュブロックサイズ規定部４１が規定する１キャッシュブロック分のアドレスへ順次加算される。従って比較器１２は，フラッシュの対象とするアドレスを１キャッシュブロック毎にスキャンし」という記載，同じく，上記Ｃの「サイズレジスタ４７から出力されたアドレス領域のサイズは，上記１キャッシュブロックのスキャン毎に，１キャッシュブロック分のサイズに応じて順次減算部４４で減算される」という記載，及び，同じく，上記Ｃの「フラッシュするアドレス領域がまだ残っていると比較器４２で判断される場合に，フラッシュ制御部３５が活性化される」という記載と，上記ア．，イ．において検討した事項から，引用文献１においては，
“先頭アドレスから１キャッシュブロック分のキャッシュブロックをフラッシュし，アドレス領域のサイズを１キャッシュブロック分減算し，先頭アドレスに１キャッシュブロック分のアドレスを加算し，得られたアドレスから，１キャッシュブロック分のキャッシュをフラッシュブロックし，フラッシュするアドレス領域がなくなるまで，前記処理を繰り返す”ものであることが読み取れる。
　
エ．以上，上記ア．〜ウ．において検討した事項から，引用文献１には，次の発明（以下，これを「引用発明」という）が記載されているものと認める。
　
「指定されたアドレス領域に含まれるアドレスを持つデータを記憶しているキャッシュブロックを，供給される命令に応じて一律にフラッシュする方法であって，
　前記キャッシュブロックを一律にフラッシュするフラッシュ命令が規定される命令コードOP-CODEと，フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドADと，フラッシュ対象とするアドレス領域のサイズを指定する領域指定フィールドSIZEとを含むフラッシュ命令が実行された場合に，
　前記フラッシュの対象とする先頭アドレスが，アドレスレジスタに供給され，
　前記フラッシュの対象とするアドレス領域のサイズが，サイズレジスタに供給され，
　前記先頭アドレスから１キャッシュブロック分のキャッシュブロックをフラッシュし，
　前記アドレス領域のサイズを１キャッシュブロック分減算し，
　前記先頭アドレスに１キャッシュブロック分のアドレスを加算し，
　得られたアドレスから，１キャッシュブロック分のキャッシュブロックをフラッシュし，
　フラッシュするアドレス領域がなくなるまで，前記処理を繰り返す，方法。」
　
（５）本件補正発明と引用発明との対比
ア．引用発明における「キャッシュブロック」，「供給される命令」が，
　本件補正発明における「複数のキャッシュライン」，「単一の命令」に相当するので，
　引用発明における「指定されたアドレス領域に含まれるアドレスを持つデータを記憶しているキャッシュブロックを，供給される命令に応じて一律にフラッシュする方法」が，
　本件補正発明における「プロセッサの複数のキャッシュラインをフラッシュする方法」に相当する。
　
イ．引用発明における「アドレスレジスタ」，「サイズレジスタ」が，それぞれ，
　本件補正発明における「第１のレジスタ」，「第２のレジスタ」に相当し，
　引用発明における「フラッシュの対象とするアドレス領域のサイズ」と，
　本件補正発明における「カウンタ値」とは，
“フラッシュ領域を示す値”である点で共通するので，
　引用発明における「フラッシュの対象とする先頭アドレスが，アドレスレジスタに供給され」が，
　本件補正発明における「フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階」に相当し，
　引用発明における「フラッシュの対象とするアドレス領域のサイズが，サイズレジスタに供給され」と，
　本件補正発明における「フラッシュされるキャッシュラインの数を表すカウンタ値を第２のレジスタにロードする段階」とは，
“フラッシュ領域を示す値を第２のレジスタにロードする段階”である点で共通する。
　
ウ．引用発明における「キャッシュブロックを一律にフラッシュするフラッシュ命令が規定される命令コードOP-CODE」が，
　本件補正発明における「プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールド」に相当し，
　引用発明において，「フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドAD」とは，明示的に「先頭アドレスを指定する」ことを意味するものであるから，
　引用発明における「フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドAD」と，
　本件補正発明における「フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する」こととは，
“フラッシュされる複数のキャッシュラインの先頭アドレスを提供する”点で共通し，
　引用発明も，「供給される命令に応じて一律にフラッシュする方法」であるから，「供給される命令」を受信していることが明らかであるので，
　引用発明における「キャッシュブロックを一律にフラッシュするフラッシュ命令が規定される命令コードOP-CODEと，フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドADと，フラッシュ対象とするアドレス領域のサイズを指定する領域指定フィールドSIZEとを含むフラッシュ命令が実行され」と，
　本件補正発明における「プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する単一の命令を受信する段階」とは，
“プロセッサの複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの先頭アドレスを提供する単一の命令を受信する段階”である点で共通する。
　
エ．引用発明も，「指定されたアドレス領域に含まれるアドレスを持つデータを記憶しているキャッシュブロックを，供給される命令に応じて一律にフラッシュする」ものであるから，上記ウ．において検討した事項を踏まえれば，
　引用発明においても，
　本件補正発明における“単一の命令に応じて，プロセッサの複数のキャッシュラインをフラッシュする段階”が存在していることは明らかである。
　
オ．引用発明における「先頭アドレスから１キャッシュブロック分のキャッシュブロック」が，
　本件補正発明における「先頭アドレスに対応付けられている第１のキャッシュライン」に相当するので，
　引用発明における「先頭アドレスから１キャッシュブロック分のキャッシュブロックをフラッシュし」が，
　本件補正発明における「フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階」に相当する。
　
カ．引用発明における「アドレス領域のサイズを１キャッシュブロック分減算」することと，
　本件補正発明における「第２のレジスタに格納されている前記カウンタ値をデクリメントする段階」とは，
“第２のレジスタに格納されているフラッシュ領域を示す値をデクリメントする段階”である点で共通する。
　
キ．引用発明において，「先頭アドレスに１キャッシュブロック分のアドレスを加算」することは，「アドレスレジスタ」の値を，次のキャッシュブロックの先頭のアドレスとすることに他ならないので，
　引用発明における「先頭アドレスに１キャッシュブロック分のアドレスを加算し」が，
　本件補正発明における「フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階」に相当する。
　
ク．引用発明における「得られたアドレスから，１キャッシュブロック分のキャッシュブロックをフラッシュし」が，
　本件補正発明における「第２のキャッシュラインをフラッシュする段階」に相当する。
　
ケ．以上，上記ア．〜ク．において検討した事項から，本件補正発明と，引用発明との一致点，及び，相違点は，次のとおりである。
　
［一致点］
　プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュ領域を示す値を第２のレジスタにロードする段階と，
　プロセッサの複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの先頭アドレスを提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　第２のレジスタに格納されているフラッシュ領域を示す値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　第２のキャッシュラインをフラッシュする段階を有する，方法。
　
［相違点１］
“フラッシュ領域を示す値”に関して，
　本件補正発明においては，「フラッシュされるキャッシュラインの数を表すカウンタ値」であるのに対して，
　引用発明においては，「フラッシュ対象とするアドレス領域のサイズ」である点。
　
［相違点２］
“先頭アドレスを提供する”点に関して
　本件補正発明においては，「先頭アドレスを非明示的に提供する」のに対して，
　引用発明においては，「フラッシュ命令」中に，「フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドAD」とあるように，明示的に提供している点。
　
［相違点３］
“フラッシュ領域を示す値をデクリメントする”点に関して，
　本件補正発明においては，「カウンタ値をデクリメントする」ものであるに対して，
　引用発明においては，「アドレス領域のサイズを１キャッシュブロック分減算」するものである点。
　
［相違点４］
　本件補正発明においては，「単一の命令は，即値である前記カウンタ値を含む特権命令である」のに対して，
　引用発明においては，そのような言及がない点。
　
（６）相違点についての当審の判断
ア．［相違点１］，及び，［相違点３］について
　命令が処理する領域等を与える場合に，アドレス領域に替えて，処理が終了するまで回数（本件補正発明における「カウンタ値」に相当）とすることは，本願の原出願の第１国出願前に，当業者にとっては周知の技術事項である。
　カウンタ値を採用すれば，命令が終了するまで，当該カウンタ値から，処理回数を減算することも，当業者には，周知の技術事項である（必要であれば，上記Ｇに引用した，周知文献１の【請求項２】を参照されたい）。
　したがって，引用発明においても，「フラッシュの対象とするアドレス領域のサイズ」に替えて，「フラッシュされるキャッシュラインの数を表すカウンタ値」を採用し（相違点１），当該「カウンタ値」を「フラッシュ」を行う度に減算する（相違点３）よう構成することは，当業者が適宜なし得る事項である。
　よって，［相違点１］，及び，［相違点３］は，格別のものではない。
　
イ．［相違点２］について
　命令が実行に用いる値を，非明示的に提供することは，上記Ｄに引用した引用文献２，上記Ｅに引用した引用文献３，及び，上記Ｆに引用した引用文献４の記載内容にもあるとおり，本願の原出願の第１国出願前に，当業者には周知の技術事項である。
　
　したがって，引用発明において，「先頭アドレス」を非明示的に提供するよう構成することは，当業者が適宜なし得る事項である。
　よって，［相違点２］は，格別のものではない。
　
ウ．［相違点４］について
　命令にデータを「即値」として与えることは，本願の原出願の第１国出願前に，当業者には周知の技術事項である（必要であれば，上記Ｇ，及び，上記Ｈに引用した，周知文献１の【請求項４】，段落【００４９】の記載，上記Ｉに引用した，周知文献２の段落【００２４】の記載等を参照されたい）。
　したがって，引用発明においても，上記ア．において検討した事項を踏まえて，「アドレス領域のサイズ」を，「カウンタ値」とし，当該「カウンタ値」を「即値」とすることは，当業者が適宜なし得る事項である。
　また，キャッシュをフラッシュする命令を特権命令とすることも，本願の原出願の第１国出願前，当業者には周知の技術事項である（必要であれば，上記Ｊに引用した周知文献３の段落【０００９】の記載，上記Ｋに引用した周知文献４の，特に，段落【００２６】の記載，上記Ｌに引用した周知文献５の段落【００６２】の記載等を参照されたい）。
　よって，［相違点４］は，格別のものではない。
　
エ．以上，上記ア．〜ウ．において検討したとおり，［相違点１］〜［相違点４］は格別のものではなく，そして，本件補正発明の構成によってもたらされる効果も，当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。
　よって，本件補正発明は，引用発明と，引用文献２〜引用文献４，及び，周知文献１〜周知文献５に記載の周知技術に基づいて当業者が容易に発明をすることができたものであるので，特許法第２９条第２項の規定により特許出願の際，独立して特許を受けることができない。
　
３．補正却下むすび
　したがって，本件手続補正は，特許法第１７条の２第６項において準用する同法第１２６条第７項の規定に違反するので，同法第１５９条第１項の規定において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　よって，補正却下の決定の結論のとおり決定する。
　
第３．本願発明について
　平成２９年９月２９日付けの手続補正は，上記のとおり却下されたので，本願の請求項１に係る発明（以下，これを「本願発明」という）は，平成２９年３月２１日付けの手続補正により補正された特許請求の範囲の請求項１に記載された，上記「第２．平成２９年９月２９日付けの手続補正の却下の決定」の「１．補正の内容」において，補正前の請求項１として引用した，次のとおりのものである。
　
「プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュされるキャッシュラインの数を表すカウンタ値を第２のレジスタにロードする段階と，
　前記プロセッサの前記複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスを非明示的に提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの前記複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　前記第２のレジスタに格納されている前記カウンタ値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　前記第２のキャッシュラインをフラッシュする段階と
　を有し，
　前記単一の命令は，即値である前記カウンタ値を含む
　方法。」
　
第４．引用刊行物に記載の発明
　原審拒絶理由に引用され，上記「第２．平成２９年９月２９日付けの手続補正の却下の決定」の「２．補正の適否」における「（３）引用文献に記載の事項」において，引用文献１として引用された，特開２００１−１３４４９０号公報（２００１年５月１８日公開）には，「２．補正の適否」における「（４）引用文献に記載の発明」において認定した次のとおりの引用発明が記載されている。
　
「指定されたアドレス領域に含まれるアドレスを持つデータを記憶しているキャッシュブロックを，供給される命令に応じて一律にフラッシュする方法であって，
　前記キャッシュブロックを一律にフラッシュするフラッシュ命令が規定される命令コードOP-CODEと，フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドADと，フラッシュ対象とするアドレス領域のサイズを指定する領域指定フィールドSIZEとを含むフラッシュ命令が実行された場合に，
　前記フラッシュの対象とする先頭アドレスが，アドレスレジスタに供給され，
　前記フラッシュの対象とするアドレス領域のサイズが，サイズレジスタに供給され，
　前記先頭アドレスから１キャッシュブロック分のキャッシュブロックをフラッシュし，
　前記アドレス領域のサイズを１キャッシュブロック分減算し，
　前記先頭アドレスに１キャッシュブロック分のアドレスを加算し，
　得られたアドレスから，１キャッシュブロック分のキャッシュブロックをフラッシュし，
　フラッシュするアドレス領域がなくなるまで，前記処理を繰り返す，方法。」
　
第５．本願発明と引用発明との対比
　本願発明は，本件補正発明から，“単一の命令は，特権命令である”という限定事項を取り除いたものであるから，本願発明と，引用発明との，一致点，及び，相違点は，次のとおりである。
　
［一致点］
　プロセッサの複数のキャッシュラインをフラッシュする方法であって，
　フラッシュされる前記複数のキャッシュラインの先頭アドレスの少なくとも一部分を第１のレジスタにロードする段階と，
　フラッシュ領域を示す値を第２のレジスタにロードする段階と，
　プロセッサの複数のキャッシュラインがフラッシュされる旨を示す第１のフィールドを含み，前記フラッシュされる前記複数のキャッシュラインの先頭アドレスを提供する単一の命令を受信する段階と，
　前記単一の命令に応じて，前記プロセッサの複数のキャッシュラインをフラッシュする段階と
　を備え，
　前記フラッシュする段階は，
　前記フラッシュされる前記複数のキャッシュラインの前記先頭アドレスに対応付けられている第１のキャッシュラインをフラッシュする段階と，
　第２のレジスタに格納されているフラッシュ領域を示す値をデクリメントする段階と，
　フラッシュされるべき第２のキャッシュラインの第２のアドレスのうち少なくとも一部分を含むように前記第１のレジスタを更新する段階と，
　第２のキャッシュラインをフラッシュする段階を有する，方法。
　
［相違点ａ］
“フラッシュ領域を示す値”に関して，
　本願発明においては，「フラッシュされるキャッシュラインの数を表すカウンタ値」であるのに対して，
　引用発明においては，「フラッシュ対象とするアドレス領域のサイズ」である点。
　
［相違点ｂ］
“先頭アドレスを提供する”点に関して
　本願発明においては，「先頭アドレスを非明示的に提供する」のに対して，
　引用発明においては，「フラッシュ命令」中に，「フラッシュ対象とする先頭アドレスを指定するアドレス指定フィールドAD」とあるように，明示的に提供している点。
　
［相違点ｃ］
“フラッシュ領域を示す値をデクリメントする”点に関して，
　本願発明においては，「カウンタ値をデクリメントする」ものであるに対して，
　引用発明においては，「アドレス領域のサイズを１キャッシュブロック分減算」するものである点。
　
［相違点ｄ］
　本願発明においては，「単一の命令は，即値である前記カウンタ値を含む」のに対して，
　引用発明においては，そのような言及がない点。
　
第６．相違点についての当審の判断
　本願発明と，引用発明との［相違点ａ］〜［相違点ｃ］は，本件補正発明と，引用発明との［相違点１］〜［相違点３］と同じものであり，
　本願発明と，引用発明との［相違点ｄ］は，本件補正発明と，引用発明との［相違点４］と，「特権命令」である点を除いて同じものであるから，
　上記「第２．平成２９年９月２９日付けの手続補正の却下の決定」の「２．補正の適否」における「（６）相違点についての当審の判断」において検討したとおり，［相違点ａ］〜［相違点ｄ］は格別のものではない。
　そして，本願発明の構成によってもたらされる効果も，当業者であれば容易に予測できる程度のものであって，格別なものとは認められない。
　
第７．むすび
　したがって，本願発明は，本願の特許出願前に日本国内又は外国において頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基づいて当業者が容易に発明をすることができたものであるので，特許法第２９条第２項の規定により特許を受けることができない。
　
　よって，結論のとおり審決する。