• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06F
審判 査定不服 (159条1項、163条1項、174条1項で準用) 特許、登録しない。 G06F
審判 査定不服 4号2号請求項の限定的減縮 特許、登録しない。 G06F
管理番号 1231862
審判番号 不服2008-15806  
総通号数 136 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2011-04-28 
種別 拒絶査定不服の審決 
審判請求日 2008-06-20 
確定日 2011-02-09 
事件の表示 特願2004-527842「アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム」拒絶査定不服審判事件〔平成16年 2月19日国際公開、WO2004/015563、平成17年11月24日国内公表、特表2005-535966〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 第1.手続の経緯
本願は、
2003年8月6日(パリ条約による優先権主張外国庁受理2002年8月9日、米国)を国際出願日とする出願であって、
平成17年3月7日に国際出願翻訳文提出書が提出され、
平成18年7月14日付けで最初の拒絶理由通知(同年同月20日発送)がなされ、
同年10月5日付けで意見書が提出されるとともに、手続補正がなされ、
平成19年4月23日付けで出願人名義変更届が提出されて、出願人がインテル・コーポレーションからマーベル ワールド トレード リミテッドに変更され、
平成20年3月18日付けで拒絶査定(同年同月25日発送)がなされ、
同年6月20日付けで審判請求されるとともに、手続補正がなされたものである。
なお、同年8月25日付けで審査官より前置報告がなされ、平成22年4月21日付けで当審より審尋(同年同月27日発送)がなされ、これに対して、同年7月14日付けで回答書が提出されている。

第2.補正却下の決定
[補正却下の決定の結論]
平成20年6月20日付けの手続補正を却下する。

[理由]
1.本件補正
平成20年6月20日付けの手続補正(以下、「本件補正」という。)の内容は、
平成18年10月5日付けの手続補正により補正された特許請求の範囲の記載
「 【請求項1】
コプロセッサのための命令を提供する方法において、
データ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階であって、前記データ処理命令は少なくとも1つのコプロセッサ命令を含む、段階と、
少なくとも1つのコプロセッサ命令のために2つのソース・レジスタおよび1つのデスティネーション・レジスタを提供する段階と、
コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールドを含むコプロセッサ命令を提供する段階と、
前記ソース・レジスタから値を取り出し、かつ前記値を前記デスティネーション・レジスタに置く命令を実行する段階であって、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む、段階と、
を含むことを特徴とする方法。
【請求項2】
前記オフセットを前記命令中に提供する段階を含むことを特徴とする請求項1記載の方法。
【請求項3】
前記オフセット情報をどこで見つけるべきかに関する情報を前記命令中に提供する段階を含むことを特徴とする請求項1記載の方法。
【請求項4】
前記オフセットに関する情報を含む前記命令中に汎用目的のレジスタについての指示を提供する段階を含むことを特徴とする請求項3記載の方法。
【請求項5】
メイン・プロセッサの算術フラグの状態に依存してコプロセッサの命令を条件付きで実行することを特徴とする請求項1記載の方法。
【請求項6】
命令を格納する媒体において、前記命令を実行した場合に、プロセッサをベースとするシステムは、
データ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行し、前記データ処理命令は少なくとも1つのコプロセッサ命令を含み、
前記少なくとも1つのコプロセッサ命令のために2つのソース・レジスタおよび1つのデスティネーション・レジスタを提供し、
コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールドを含むコプロセッサ命令を提供し、
前記ソース・レジスタから値を取り出し、かつ前記値を前記デスティネーション・レジスタに置く命令を実行し、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む、
ことを可能にすることを特徴とする媒体。
【請求項7】
命令を実行した場合、プロセッサをベースとするシステムは、前記命令中に前記オフセットを提供することを可能にする命令をさらに格納することを特徴とする請求項6記載の媒体。
【請求項8】
命令を実行した場合、プロセッサをベースとするシステムは、前記オフセット情報をどこで見つけるべきかに関する情報を前記命令中に提供することを可能にする命令をさらに格納することを特徴とする請求項6記載の媒体。
【請求項9】
命令を実行した場合、プロセッサをベースとするシステムは、前記オフセットに関する情報を含む前記命令中に汎用目的のレジスタについての指示を提供する段階を含むことを可能にする命令をさらに格納することを特徴とする請求項6記載の媒体。
【請求項10】
命令を実行した場合、プロセッサをベースとするシステムは、符号付き飽和、飽和なし、および、符号なし飽和を含む3つの異なる飽和タイプを提供することを可能にする命令をさらに格納することを特徴とする請求項6記載の媒体。
【請求項11】
命令を実行した場合、プロセッサをベースとするシステムは、メイン・プロセッサの算術フラグの状態に依存してコプロセッサ命令を条件付きで実行することを可能にする命令をさらに格納することを特徴とする請求項6記載の媒体。
【請求項12】
算術フラグを含むプロセッサと、
コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールドを格納する記憶装置であって、前記コプロセッサは前記ソース・レジスタから値を取り出しかつ前記値を前記デスティネーション・レジスタに置き、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするためにその値のオフセットを決定する情報を含む、記憶装置と、
を含むことを特徴とするコプロセッサ。
【請求項13】
前記コプロセッサは、単一命令複数データのコプロセッサであることを特徴とする請求項12記載のコプロセッサ。
【請求項14】
前記オフセットを前記命令から取り出すことを特徴とする請求項12記載のコプロセッサ。
【請求項15】
前記オフセット情報をどこで見つけるべきかに関する情報を前記命令から取り出すことを特徴とする請求項12記載のコプロセッサ。
【請求項16】
前記オフセットに関する情報を含む前記命令から汎用目的のレジスタについての指示を取り出すことを特徴とする請求項12記載のコプロセッサ。
【請求項17】
前記コプロセッサはビット0から31を有する命令を使用し、ここでビット7から5は動作タイプを示し、ビット11から8はコプロセッサ番号を示し、ビット23および22はオペランド・サイズを示し、ビット21および20は飽和タイプを設定することを特徴とする請求項12記載のコプロセッサ。」
(以下、この特許請求の範囲に記載された請求項を「補正前の請求項」という。)を、
「 【請求項1】
コプロセッサのための命令を提供する方法において、
少なくとも1つのコプロセッサ命令を含むデータ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階と、
前記コプロセッサ命令のために、アライメント境界にまたがる2つのデータが格納される2つのソース・レジスタ、および、アライメント動作により前記2つのソース・レジスタから取り出されるデータを格納する1つのデスティネーション・レジスタを提供する段階と、
前記コプロセッサによって実行される前記アライメント動作を指定するオペコード、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールド、および、オフセット値の格納場所を指定するオフセット情報、を含むコプロセッサ命令を提供する段階と、
前記オフセット情報が指定する格納場所から前記オフセット値を取り出し、前記アライメント境界にまたがる前記2つのデータを前記ソース・レジスタから取り出し、前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを前記デスティネーション・レジスタに置く命令を実行する段階と、
を含むことを特徴とする方法。
【請求項2】
前記オフセット値の前記格納場所は汎用目的のレジスタを含むことを特徴とする請求項1記載の方法。
【請求項3】
メイン・プロセッサの算術フラグの状態に依存してコプロセッサの命令を条件付きで実行することを特徴とする請求項1記載の方法。
【請求項4】
命令を格納する媒体において、前記命令を実行した場合に、プロセッサをベースとするシステムは、
少なくとも1つのコプロセッサ命令を含むデータ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行し、
前記コプロセッサ命令のために、アライメント境界にまたがる2つのデータが格納される2つのソース・レジスタ、および、アライメント動作により前記2つのソース・レジスタから取り出されるデータを格納する1つのデスティネーション・レジスタを提供し、
前記コプロセッサによって実行される前記アラインメント動作を指定するオペコード、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールド、および、オフセット値の格納場所を指定するオフセット情報、を含むコプロセッサ命令を提供し、
前記オフセット情報が指定する前記格納場所から前記オフセット値を取り出し、前記アライメント境界にまたがる前記2つのデータを前記ソース・レジスタから取り出し、前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを前記デスティネーション・レジスタに置く命令を実行する、
ことを可能にすることを特徴とする媒体。
【請求項5】
前記オフセット値の前記格納場所は汎用目的のレジスタを含むことを特徴とする請求項4記載の媒体。
【請求項6】
命令を実行した場合、プロセッサをベースとするシステムは、符号付き飽和、飽和なし、および、符号なし飽和を含む3つの異なる飽和タイプを提供することを可能にする命令をさらに格納することを特徴とする請求項4記載の媒体。
【請求項7】
命令を実行した場合、プロセッサをベースとするシステムは、メイン・プロセッサの算術フラグの状態に依存してコプロセッサ命令を条件付きで実行することを可能にする命令をさらに格納することを特徴とする請求項4記載の媒体。
【請求項8】
算術フラグを含むプロセッサと、
コプロセッサによって実行されるアラインメント動作を指定するオペコード、少なくとも1つのコプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールド、および、オフセット値の格納場所を指定するオフセット情報、を格納する記憶装置であって、前記コプロセッサは、前記オフセット情報が指定する前記格納場所から前記オフセット値を取り出し、前記アライメント境界にまたがる前記2つのデータを前記ソース・レジスタから取り出し、前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを前記デスティネーション・レジスタに置く、記憶装置と、
を含むことを特徴とするコプロセッサ。
【請求項9】
前記コプロセッサは、単一命令複数データのコプロセッサであることを特徴とする請求項8記載のコプロセッサ。
【請求項10】
前記オフセット値の前記格納場所は汎用目的のレジスタを含むことを特徴とする請求項8記載のコプロセッサ。
【請求項11】
前記コプロセッサはビット0から31を有する命令を使用し、ここでビット7から5は動作タイプを示し、ビット11から8はコプロセッサ番号を示し、ビット23および22はオペランド・サイズを示し、ビット21および20は飽和タイプを設定することを特徴とする請求項8記載のコプロセッサ。」
(以下、この特許請求の範囲に記載された請求項を「補正後の請求項」という。)
と補正するものである。

2.補正内容の検討
本件補正は、少なくとも、(A)補正前の請求項1における「少なくとも1つのコプロセッサ命令のために2つのソース・レジスタおよび1つのデスティネーション・レジスタを提供する段階」を補正後の請求項1における「前記コプロセッサ命令のために、アライメント境界にまたがる2つのデータが格納される2つのソース・レジスタ、および、アライメント動作により前記2つのソース・レジスタから取り出されるデータを格納する1つのデスティネーション・レジスタを提供する段階」とし、(B)補正前の請求項1における「コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールドを含むコプロセッサ命令を提供する段階」を補正後の請求項1における「前記コプロセッサによって実行される前記アライメント動作を指定するオペコード、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールド、および、オフセット値の格納場所を指定するオフセット情報、を含むコプロセッサ命令を提供する段階」とし、(C)補正前の請求項1における「前記ソース・レジスタから値を取り出し、かつ前記値を前記デスティネーション・レジスタに置く命令を実行する段階であって、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む、段階」を補正後の請求項1における「前記オフセット情報が指定する格納場所から前記オフセット値を取り出し、前記アライメント境界にまたがる前記2つのデータを前記ソース・レジスタから取り出し、前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを前記デスティネーション・レジスタに置く命令を実行する段階」とすることを含む。
上記(A)で示される補正は、補正前の請求項1における発明特定事項である「2つのソース・レジスタ」について、当該2つのソース・レジスタに格納されるデータを「アライメント境界にまたがる2つのデータ」に限定することを含む。上記(A)で示される補正は、補正前の請求項1における発明特定事項である「1つのデスティネーション・レジスタ」について、当該1つのデスティネーション・レジスタに格納されるデータを「アライメント動作により前記2つのソース・レジスタから取り出されるデータ」に限定することを含む。
上記(B)で示される補正は、補正前の請求項1における発明特定事項である「コプロセッサ命令」の「オペコード」が指定する「データ処理動作」について、動作内容を「アライメント動作」に限定することを含む。また、上記(B)で示される補正は、補正前の請求項1における発明特定事項である「コプロセッサ命令」について、当該コプロセッサ命令が「オペコード」、「コプロセッサ識別フィールド」に加えて、さらに、「オフセット値の格納場所を指定するオフセット情報」を含むように限定することを含む。なお、補正前の請求項1には「前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む」と記載されていることを考慮すると、上記(B)で示される補正は実質的には、コプロセッサ命令が含む「これらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報」を「オフセット値の格納場所を指定するオフセット情報」に変更することを含むといえる。
上記(C)で示される補正は、補正前の請求項1における発明特定事項である「命令」について、当該命令に伴って行われる動作として「前記オフセット情報が指定する格納場所から前記オフセット値を取り出」すことを追加することを含む。上記(C)で示される補正は、補正前の請求項1における発明特定事項である「ソース・レジスタ」について、当該ソース・レジスタから取り出されるデータについて「前記アライメント境界にまたがる前記2つのデータ」に限定することを含む。上記(C)で示される補正は、補正前の請求項1における発明特定事項である「デスティネーション・レジスタ」について、当該デスティネーション・レジスタに置くデータを「前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータ」に限定することを含む。
上記で示したように、本件補正は、補正前の請求項1における発明特定事項をさらに限定するものであり、その限定により産業上の利用分野や解決しようとする課題が特段変更されるものでもないから、本件補正は、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第4項第2号に掲げられている目的を少なくとも有するものである。
このように、本件補正は、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第4項第2号に掲げられている目的を有するものであるので、以下では、本件補正が、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第5項において準用する同法第126条第5項の規定に違反するものであるか、特に、補正後の請求項1に係る発明が、特許法第29条第2項の規定により特許出願の際独立して特許を受けることができないものであるかを検討する。

3.引用発明の認定
3の1.先行技術文献に記載されている技術事項
原審が拒絶理由通知において引用した特開平11-353305号公報(平成11年12月24日出願公開。以下、「引用例1」という。)には、図面とともに以下の技術事項が記載されている。

(1-1)
「【0026】セクション1
図1は、主プロセッサ24、浮動小数点コユニットプロセッサ26、キャッシュメモリ28、主メモリ30、および入力/出力システム32を含むデータ処理システムを示す。主プロセッサ24、キャッシュメモリ28、主メモリ30、および入力/出力システム32は主バス34を介してリンクされる。コプロセッサバス36は主プロセッサ24を浮動小数点ユニットコプロセッサ26にリンクする。
【0027】オペレーションについて説明する。主プロセッサ24(ARMコアとも呼ぶ)は、キャッシュメモリ28、主メモリ30、および入力/出力システム32の相互作用を含む一般の型のデータ処理オペレーションを制御するデータ処理命令のストリームを実行する。データ処理命令のストリームの中に、コプロセッサ命令が埋め込まれる。主プロセッサ24はこれらのコプロセッサ命令を、付属のコプロセッサが実行すべき型のものと認識する。これに応じて主プロセッサ24は、これらのコプロセッサ命令をコプロセッサバス36上に送出する。このコプロセッサバス36から、任意の付属のコプロセッサがコプロセッサ命令を受信する。この場合、浮動小数点ユニットコプロセッサ26は、自分宛てのものであると検出した受信コプロセッサ命令をアクセプトして受け入れて、実行する。この検出は、コプロセッサ命令の中のコプロセッサ番号フィールドを介して行われる。」

(1-2)
「【0028】図2は、浮動小数点ユニットコプロセッサ26を更に詳しく示す概略図である。浮動小数点ユニットコプロセッサ26には、32個の32ビットレジスタ(図2には少ししか示されていない)で構成されるレジスタバンク38が含まれる。(?後略?)」

(1-3)
「【0029】浮動小数点ユニットコプロセッサ26の中では、アクセプトされたコプロセッサ命令が命令レジスタ44の中にラッチされる。この単純化された図ではコプロセッサ命令は、操作コード(opcode)部分の後に、3個のレジスタ指定フィールドR1とR2とR3とが続いて構成されると考えることができる(実際には、これらのフィールドは命令全体の中で別の仕方で分割、展開してもよい)。これらのレジスタ指定フィールドR1とR2とR3とは、実行されているデータ処理オペレーションに対するデスティネーション(宛て先)、第一のソース(発生源)、および第二のソースとしての役目を果たすレジスタバンク38の中のレジスタにそれぞれ対応する。(?後略?)」

(1-4)
「【0055】図7Aは、主プロセッサ24がコプロセッサ命令をどのように調べるかを示す概略図である。主プロセッサは命令の中の(分割できる)フィールド76のビット組み合わせを使用することにより、命令をコプロセッサ(coprocessor)命令と識別する。標準のARMプロセッサの命令のセットの中で、コプロセッサ命令にはコプロセッサ番号フィールド78が含まれる。主プロセッサに付属したコプロセッサ(一つまたは複数)はコプロセッサ番号フィールド78を使用して、特定のコプロセッサ命令がそれらを目標としているか識別する。DSPコプロセッサ(たとえば、ARM社製のピッコロ(Piccolo)コプロセッサ)または浮動小数点ユニットコプロセッサのような異なる型のコプロセッサには異なるコプロセッサ番号を割り当てることができ、したがって、同じコプロセッサバス36を使用して単一のシステムの中で別々にアドレス指定することができる。コプロセッサ命令には、コプロセッサが使用する操作コード(opcode)、ならびにコプロセッサレジスタの中からデスティネーション、第一のオペランド、および第二のオペランドをそれぞれ指定する3個の5ビットフィールドも含まれる。コプロセッサロードまたは記憶のような、いくつかの命令では、コプロセッサと主プロセッサが一緒になって所望のデータ処理オペレーションを完了できるように、主プロセッサは少なくとも部分的にコプロセッサ命令を復号する。(?後略?)」

(1-5)
「【0059】図8は、主プロセッサとしての役目を果たし、単精度と倍精度の両方のデータ型をサポートするコプロセッサ84とコプロセッサバス82を介して通信するデータ処理システムを示す。コプロセッサ番号を含むコプロセッサ命令は命令ストリームの中に出て来たとき、ARMコア80からコプロセッサバス82上に送出される。次にコプロセッサ84は、コプロセッサ番号をそれ自身の番号と比較し、一致していればアクセプト信号をARMコア80に返送する。アクセプト信号を受信しなければ、ARMコアは未定義の命令例外と認識し、メモリシステム86に記憶されている例外処理コードを参照する。」

(1-6)
「【0213】本発明の特定の実施例を説明してきたが、本発明はこれに限定されないこと、そして本発明の範囲内で多数の変形および追加を行い得ることは明らかであろう。」

原審が拒絶理由通知において引用した特開2001-134436号公報(平成13年5月18日出願公開。以下、「引用例2」という。)には、図面とともに以下の技術事項が記載されている。

(2-1)
「【0003】(?中略?)図1に、一般の命令10によってこれらの命令のすべての基本命令フォーマットを示す。命令10は操作(演算)コード(OPCODE)を含む。操作コードは、特定の型の命令を定義する特有のビットパターンを形成する多数のビットを含む。命令10は更に、データD_(1)およびデータD_(2)として示されている二つのデータオペランドへの参照を含む。これらの参照は一般に、対応するレジスタに対するものであるので、これらのデータが命令10に直接埋め込まれていることを示すことは意図されていない。更に、説明のため、最新の例として、データD_(1)およびD_(2)はレジスタに記憶された通常32ビットの量であり、このようなレジスタが32個あることが多い。したがって、データD_(1)およびD_(2)に対する参照は5ビットの識別子である。5ビットの各識別子は、データD_(1)またはデータD_(2)が記憶される32個のレジスタの中の対応する一つのレジスタを表す。命令10は一つ以上のビット操作アーギュメント(引数)をも含む。下記の例では、全体の10ビットの場合に、二つの5ビットのアーギュメントまたは単一の5ビットのアーギュメントがある。後で、特定の対応する命令に基づいて、別のアーギュメントについて説明する。しかし、通常、アーギュメントは、シフト量、位置、または操作すべきビット数のような、データD_(1)およびD_(2)を操作するためのパラメータに関連する。後で更に詳しく説明するように、アーギュメントは即値情報(すなわち、命令10の中に埋め込まれる)であってもよいし、命令によりアドレス指定されて、記憶装置(たとえば、レジスタ)から読出されてもよいことに注意すべきである。最後に、命令10はあて先参照DESTを含むことにも注意すべきである。この参照も一般に32個のレジスタの中の一つのレジスタへのものであるので、やはり5ビットの識別子である。DESTロケーションは、命令10のオペレーションの結果が書込まれるレジスタである。」

(2-2)
「【0007】図5aおよび5bは従来技術のFUNNEL-SHIFT命令のオペランドとオペレーションを示す。図5aはFUNNEL-SHIFT命令の二つの32ビットのデータオペランドを示し、これらがデータGおよびHとして示されている。FUNNEL-SHIFT命令の場合、やはり図5aに示されるように、二つの32ビットのオペランドは連結されている。FUNNEL-SHIFT命令の第三のオペランドは、単一の側面だけを与えるビット操作オペランドであり、通常5ビットのオペランドとして実施される。この5ビットがSHIFTアーギュメントを定義する。SHIFTアーギュメントは、両方のデータGおよびHを右シフトするビット数(すなわち、各々の最上位ビットがそれぞれの最下位ビットのもとの位置に向かってシフトされるように右シフトするビット数)を定義する。このようにして図5aは、右向きの矢印の先のSHIFTアーギュメントに応答した右シフトを示す。シフトによる結果R4が図5bに示されている。結果R4は、それぞれG_(S)およびH_(S)と表される、右シフト後のデータGおよびHの値を含む32ビットの結果である。更に注意すべきことは、FUNNEL-SHIFT命令の32ビットの結果R4はその最下位ビット位置で始まり、データGのビット位置はシフト量に等しいということである。たとえば、SHIFTが5に等しければ、データGは5位置だけ右シフトされ、したがって、ビットG_(0)からG_(4)はシフトアウトされるので、結果R4のG_(S)はその最下位ビットがG_(5)で始まり、G_(31)までのデータGの残りのビットを含む。また、データHも右シフトされるので、結果R4のH_(S)はH_(0)からH_(0+SHIFT-1)までのHのビットを含む。この場合も、たとえば、SHIFTが5に等しければ、H_(S)はH_(0)からH_(4)までを含む。」

(2-3)
「【0008】(?中略?)FUNNEL-SHIFT命令に対する5ビット値は各命令の中の即値オペランドとすることができる。その代わりに、これらの値は読出しデータ、たとえばレジスタまたはメモリロケーションからの読出しデータとして与えられてもよい。 」

(2-4)
「【0009】(?中略?)FUNNEL-SHIFT命令のいずれかに対する10ビットまたは5ビットの値が(たとえば、レジスタファイルからの)外部読出しによって与えられるとき、(?中略?)32個のレジスタを含むレジスタファイルから外部読出し(すなわち、共通の具体化)を行うものとして、これらの32個のレジスタの中の一つのレジスタのアドレス指定をするために命令は5ビットのフィールドを含まなければならない。したがって、このアドレス指定機能を達成するために、命令に5ビットの位置が必要とされる。」

(2-5)
引用例2の【図5】には、32ビットデータH[H_(31):H_(0)]と32ビットデータG[G_(31):G_(0)]と、このHとGを用いてFUNNEL-SHIFT命令を実行した結果であるR4の32ビットデータが示されている。このR4の32ビットはMSB側の[H_(0+SHIFT-1):H_(0)]とLSB側の[G_(31):G_(SHIFT)]により構成される。

本願の優先日前に頒布された刊行物である米国特許第5734874号明細書(1998年3月31日公開。以下、「引用例3」という。なお、引用例3のパテントファミリに特開平8-44880号があり、以下の訳文は当該パテントファミリにおける記載を参考にして当審が訳出したものである。)には、図面とともに以下の技術事項が記載されている。

(3-1)
「Referring now to FIG. 1, a block diagram illustrating the CPU of an exemplary graphics computer system incorporating the teachings of the present invention is shown. As illustrated, the CPU 24 comprises a prefetch and dispatch unit (PDU) 46 including an instruction cache 40, an integer execution unit (IEU) 30, an integer register file 36, a floating point unit (FPU) 26, a floating point register file 38, and a graphics execution unit (GRU) 28, coupled to each other as shown. 」(第3欄第16行目?同欄第24行目)
(仮訳:図1には、本発明の教示を組み込んだ典型的なグラフィックス・コンピュータ・システムのCPUを示すブロック図が示されている。CPU24は、図のように相互に結合された、命令キャッシュ40を含むプリフェッチ・デスパッチユニット(PDU)46と、整数実行ユニット(IEU)30と、整数レジスタ・ファイル36と、浮動小数点ユニット(FPU)26と、浮動小数点レジスタ・ファイル38と、グラフィックス実行ユニット(GRU)28とを備えている。)

(3-2)
「Referring now to FIG. 2, a block diagram illustrating the relevant portions of one embodiment of the GRU in further detail is shown. In this embodiment, the GRU 28 comprises a graphics status register (GSR) 50, a first and a second partitioned execution path 32 and 34. The two execution paths 32 and 34 are independent of each other. In other words, two graphics instructions can be independently issued into the two execution paths 32 and 34 at the same time. Together, they independently execute the graphics instructions, operating on graphics data. 」(第4欄第1行目?同欄第10行目)
(仮訳:図2を参照すると、GRUの一実施例の関連部分を示すさらに詳しいブロック図が示されている。この実施例では、GRU28は、グラフィックス状態レジスタ(GSR)50と、第1分割実行パス32および第2の分割実行パス34とを備える。2つの実行パス32および34は相互に独立している。言い換えると、2つのグラフィックス命令を独立にかつ同時に2つの実行パス32および34に発行することができる。これらの実行パスは共に、独立にグラフィックス命令を実行してグラフィックス・データを操作する。)

(3-3)
「Referring now to FIG. 3, a diagram illustrating the relevant portions of one embodiment of the graphics status register (GSR) is shown. In this embodiment, the GSR 50 is used to store the least significant three bits of a pixel address before alignment (alignaddr_offset) 54, and a scaling factor to be used for pixel formatting (scale_factor) 52. The alignaddr_offset 54 is stored in bits GSR[2:0], and the scale_factor 52 is stored in bits GSR[6:3]. As will be described in more detail below, two special instructions RDASR and WRASR are provided for reading from and writing into the GSR 50. The RDASR and WRASR instructions, and the usage of alignaddr_offset 54 and scale.sub_factor 52 will be described in further detail below. 」(第4欄第14行目?第26行目)
(仮訳:次に、図3を参照すると、グラフィックス状態レジスタ(GSR)の一実施例の関連部分を示す図が示されている。この実施例では、GSR50を使用して、整列位置の前のピクセル・アドレスの最下位3ビット(alignaddr_offset)54が記憶され、ピクセルのフォーマットに使用すべきスケール・ファクタ(scale_factor)52が記憶される。alignaddr_offset54はビットGSR[2:0]に記憶され、scale_factor52はビットGSR[6:3]に記憶される。以下でさらに詳しく説明するように、GSR50との間の読取りおよび書込みのために2つの特殊命令RDASRおよびWRASRが用意されている。RDASR命令およびWRASR命令と、alingaddr_offset54およびscale_factor52の使用法については以下でさらに詳しく説明する。)

(3-4)
「Referring now to FIG. 4, a block diagram illustrating the relevant portions of one embodiment of the first partitioned execution path is shown. The first partitioned execution path 32 comprises a partitioned carry adder 37, a graphics data alignment circuit 39, a graphics data expand/merge circuit 60, and a graphics data logical operation circuitry 62, coupled to each other as shown. Additionally, the first partitioned execution path 32 further comprises a number of registers 35a-35b, and a 4:1 multiplexor 43, coupled to each other and the previously described elements as shown. At each dispatch, the PDU 46 may dispatch either a graphics data partitioned add/subtract instruction, a graphics data alignment instruction, a graphics data expand/merge instruction or a graphics data logical operation to the first partitioned execution path 32. The partitioned carry adder 37 executes the partitioned graphics data add/subtract instructions, and the graphics data alignment circuit 39 executes the graphics data alignment instruction using the alignaddr_offset stored in the GSR 50. 」(第4欄第27行目?同欄第45行目)
(仮訳:次に、図4を参照すると、第1の分割実行パス32の一実施例の関連部分を示すブロック図が示されている。第1の分割実行パス32は、図のように相互に結合された、分割キャリー・アダー37と、グラフィックス・データ整列回路39と、グラフィックス・データ拡張/マージ回路60と、グラフィックス・データ論理演算回路62とを備える。第1の分割実行パス32はさらに、図のように相互に結合され前述の要素に結合された、2つのレジスタ35aおよび35bと、4:1マルチプレクサ43も備える。各ディスパッチで、PDU46は、グラフィックス・データ分割加算/減算命令、グラフィックス・データ整列命令、グラフィックス・データ拡張/マージ命令、またはグラフィックス・データ論理演算を第1の分割実行パス32にディスパッチすることができる。分割キャリー・アダー37は、分割グラフィックス・データ加算/減算命令を実行し、グラフィックス・データ整列回路39は、GSR50に記憶されているalignaddr_offsetを使用してグラフィックス・データ整列命令を実行する。)

(3-5)
「As illustrated in FIG. 6b, the CPU 24 supports three graphics instruction formats 68a-68c. Regardless of the instruction format 68a-68c, the two most significant bits [31:30] 70a-70c provide the primary instruction format identification, and bits[24:19] 74a-74c provide the secondary instruction format identification for the graphics instructions. Additionally, bits[29:25] (rd) 72a-72c identify the destination (third source) register of a graphics (block/partial conditional store) instruction, whereas, bits [18:14] (rs1) 76a-76c identify the first source register of the graphics instruction. For the first graphics instruction format 68a, bits[13:5] (opf) and bits[4:0] (rs2) 80 and 82a identify the op codes and the second source registers for a graphics instruction of the format. For the second and third graphics instruction formats 68b-68c, bits[13:5] (imm_asi) and bits[13:0] (simm_13) may optionally identify the ASI. Lastly, for the second graphics instruction format 68b, bits[4:0] (rs2) further provide the second source register for a graphics instruction of the format (or a mask for a partial conditional store). 」(第6欄第7行目?同欄第26行目)
(仮訳:図6bに示したように、CPU24は、3つのグラフィックス命令フォーマット68aないし68cをサポートする。命令フォーマット68aないし68cにかかわらず、2つの最上位ビット[31:30]70aないし70cは、グラフィックス命令に関する一次命令フォーマット識別を提供し、ビット[24:19]74aないし74cは、グラフィックス命令に関する二次命令フォーマット識別を提供する。また、ビット[29:25](rd)72aないし72cは、グラフィックス(ブロック/部分条件付き記憶)命令の宛先レジスタ(第3のソース・レジスタ)を識別し、ビット[18:14](rs1)76aないし76cは、グラフィックス命令の第1のソース・レジスタを識別する。第1のグラフィックス命令フォーマット68aの場合、ビット[13:5](opf)およびビット[4:0](rs2)82aは、このフォーマットのグラフィックス命令に関する命令コードおよび第2のソース・レジスタを識別する。第2および第3の命令フォーマット68bおよび68cの場合、ビット[13:5](imm_asi)およびビット[13:0](simm_13)は任意選択でASIを識別する。最後に、第2のグラフィックス命令フォーマット68bの場合、ビット[4:0](rs2)はさらに、そのフォーマットのグラフィックス命令用の第2のソース・レジスタ(または部分条件付き記憶用のマスク)を提示する。)

(3-6)
「Referring now to FIGS. 7a-7c, the graphics data alignment instructions, and the relevant portions of one embodiment of the graphics data alignment circuit are illustrated. As shown in FIG. 7a, there are two graphics data address calculation instructions 98a-98b, and one graphics data alignment instruction 100 for calculating addresses of misaligned graphics data, and aligning misaligned graphics data.
The ALIGNADDR instruction 98a adds the content of the rs1 and rs2 registers, and stores the result, except the least significant 3 bits are forced to zeroes, in the rd register. The least significant 3 bits of the result are stored in the alignaddr_offset field of GSR 50. The ALIGNADDRL instruction 98b is the same as the alignaddr instruction 98a, except twos complement of the least significant 3 bits of the result is stored in the alignaddr_offset field of GSR 50.
The FALIGNDATA instruction 100 concatenates two 64-bit floating point values in the rs1 and rs2 registers to form a 16-byte value. The floating point value in the rs1 register is used as the upper half of the concatenated value, whereas the floating point value in the rs2 register is used as the lower half of the concatenated value. Bytes in the concatenated value are numbered from the most significant byte to the least significant byte, with the most significant byte being byte 0. Eight bytes are extracted from the concatenated value, where the most significant byte of the extracted value is the byte whose number is specified by the alignaddr_offset field of GSR 50. The result is stored as a 64 bit floating point value in the rd register.
Thus, as illustrated in FIG. 7b, by using the ALIGNADDRESS {_LITTLE} instruction to generate and store the alignaddr_offset in the GSR 50 (step a), copying the two portions of a misaligned graphics data block 99a-99b from memory into the rs1 and rs2 registers, aligning and storing the aligned graphics data block into the rd register using the FALIGNDATA instruction, and then copying the aligned graphics data block 101 from the rd register into a new memory location, a misaligned graphics data block 99a-99b can be aligned in a quick and efficient manner.
As shown in FIG. 7c, in this embodiment, the graphics data alignment circuit 39 comprises a 64-bit multiplexors 51, coupled to each other and the floating point register file as shown. The multiplexor 51 aligns misaligned graphics data as described above. 」(第8欄第50行目?第9欄第26行目)
(仮訳:次に図7a?図7cを参照すると、グラフィックス・データ整列命令と、グラフィックス・データ整列回路の一実施例の関連部分が示されている。図7aに示したように、2つのグラフィックス・データ・アドレス計算回路98aおよび98bと、整列していないグラフィックス・データを算出して整列させる1つのグラフィックス・データ整列命令100がある。
ALIGNADDR命令98aは、rs1レジスタの内容とrs2レジスタの内容を加算して、rdレジスタに結果を記憶する。ただし、最下位3ビットは強制的に0になる。結果の最下位3ビットは、GSR50のalignaddr_offsetフィールドに記憶される。ALIGNADDRL命令98bは、結果の最下位3ビットの2補数がGSR50のalignaddr_offsetフィールドに記憶されることを除き、alignaddr命令98aと同じである。
FALIGNDATA命令100は、rs1レジスタ中の64ビット浮動小数点値とrs2レジスタ中の64ビット浮動小数点値を連結して16バイト値を形成する。rs1レジスタ中の浮動小数点値は、連結値の上半分として使用され、rs2レジスタ中の浮動小数点値は、連結値の下半分として使用される。連結値中のバイトは、最上位バイトから最下位バイトへと番号付けされ、最上位バイトが0になる。この連結値から8バイトが抽出される。抽出される値の最上位バイトの番号は、GSR50のalignaddr_offsetフィールドによって指定されているものである。この結果は、64ビット浮動小数点値としてrdレジスタに記憶される。
【0044】したがって、図7bに示したように、ALIGNADDRESS{_LITTLE}命令を使用してalignaddr_offsetをGSR50に記憶し(ステップa)、整列していないグラフィックス・データ・ブロックの2つの部分99aおよび99bをメモリからrs1レジスタおよびrs2レジスタにコピーし、FALIGNDATA命令を使用して、整列させたグラフィックス・データ・ブロックをrdレジスタに記憶し、次いで、整列させたグラフィックス・データ・ブロック101をrdレジスタから新しいメモリ位置にコピーすることによって、整列していないグラフィックス・データ・ブロック99aおよび99bを迅速にかつ効率的に整列させることができる。
【0045】図7cに示したように、この実施例では、グラフィックス・データ整列回路39は、図のように相互に結合され浮動小数点レジスタ・ファイルに結合された64ビット・マルチプレクサ51を備える。マルチプレクサ51は、一致していないグラフィックス・データを上述のように整列させる。)

本願の優先日前に頒布された刊行物である「Pentium Pro ファミリ・ディベロッパーズ・マニュアル 中巻:プログラマーズ・リファレンス・マニュアル」,初版,インテルジャパン株式会社,1996年12月31日,Pages:6の13,6の24?6の25,11の361?11の362(以下、「引用例4」という。)には、図面とともに以下の技術事項が記載されている。

(4-1)
「6.3.1.2. 条件付き移動命令
CMOVcc命令は、EFLAGSレジスタのステータス・フラグのステートをチェックし、フラグが指定されたステート(または条件)であった場合に移動操作を実行する一群の命令である。これらの命令を使用して、メモリから汎用レジスタに、または汎用レジスタから汎用レジスタに16ビットまたは32ビットの値を移動させることができる。各命令でテストされるフラグのステートは、それぞれの命令に条件コード(cc)を付けて指定する。条件が満たされない場合は、移動は行われず、実行はCMOVcc命令の次の命令から継続される。」(第6の13頁下から7行目?同頁最終行)

(4-2)
「6.7.2. ダブル・シフト命令
SHLD(ShiftLeftDouble)命令とSHRD(ShiftRightDouble)命令は、指定されたビット数だけ、一方のオペランドから他方のオペランドにシフトする(図6-9を参照)。これらの命令は、アラインメントが合っていないビット・ストリングに対する操作を容易にするために用意されている。これらの命令は、多様なビット・ストリング移動操作を行う場合にも利用できる。
SHLD命令は、デスティネーション・オペランドのビットを左にシフトし、(デスティネーション・オペランドの)空のビット位置にソース・オペランドからシフトして出たビットを埋める。デスティネーション・オペランドとソース・オペランドは同じ長さ(ワードかダブルワード)でなければならない。シフト・カウントの範囲は0?31ビットである。このシフト操作の結果はデスティネーション・オペランドに格納され、ソース・オペランドは変更されない。CFフラグにはデスティネーション・オペランドから最後にシフトして出たビットがロードされる。
SHRD命令の操作は、デスティネーション・オペランドのビットが左に(注:これは明らかな誤記であり、正しくは”右に”である。)シフトされ、空のビット位置にソース・オペランドからシフトして出たビットが埋められる点を除いてSHLD命令と同じである。」(第6の24頁下から5行目?第6の25頁下から6行目)

(4-3)
第6の25頁の図6-9の下半分に、SHRD命令により実行される操作が示されている。ソース・レジスタの下位ビットからシフトして出たビットがデスティネーション・レジスタの上位ビットに入力される一方で、デスティネーション・レジスタの下位ビットからシフトして出る様子が示されている。

(4-4)
「SHRD-Double Precision Shift Right
Opcode Instruction Description
0FAC SHRD r/m16,r16,imm8 Shift r/m16 to right imm8 places
while shifting bits from r16
in from the left
0FAD SHRD r/m16,r16,CL Shift r/m16 to right CL places
while shifting bits from r16
in from the left
0FAC SHRD r/m32,r32,imm8 Shift r/m32 to right imm8 places
while shifting bits from r32
in from the left
0FAD SHRD r/m32,r32,CL Shift r/m32 to right CL places
while shifting bits from r32
in from the left

説明
第1オペランド(デスティネーション・オペランド)を、第3オペランド(カウント・オペランド)で指定するビット数だけ右側ヘシフトする。第2オペランド(ソース・オペランド)は左側からシフト・インされるビットを示す(デスティネーション・オペランドの最上位ビットで開始される)。デスティネーシヨン・オペランドは、 レジスタ、またはメモリ位置、ソース・オペランドはレジスタである。カウント・オペランドは符号なし整数で、即値バイトかCLレジスタの内容のどちらかである。カウントのビット0から4のみが使用され、カウントが0から31までの値になるようにマスクされる。カウントがオペランド・サイズより大きい場合、デスティネーション・オペランド内の演算結果は未定義である。」(第11の361頁第1行目?第18行目)

3の2.引用例1発明の認定
上記(1-1)の「主プロセッサ24(ARMコアとも呼ぶ)は、(?中略?)データ処理命令のストリームを実行する。データ処理命令のストリームの中に、コプロセッサ命令が埋め込まれる。」という記載から、コプロセッサ命令が埋め込まれたデータ処理命令のストリームに応じて主プロセッサ24を使用してデータ処理を実行するものと認められる。

上記(1-2)の「浮動小数点ユニットコプロセッサ26には、32個の32ビットレジスタ(図2には少ししか示されていない)で構成されるレジスタバンク38が含まれる。」という記載、及び、上記(1-3)の「この単純化された図ではコプロセッサ命令は、操作コード(opcode)部分の後に、3個のレジスタ指定フィールドR1とR2とR3とが続いて構成されると考えることができる(?中略?)。これらのレジスタ指定フィールドR1とR2とR3とは、実行されているデータ処理オペレーションに対するデスティネーション(宛て先)、第一のソース(発生源)、および第二のソースとしての役目を果たすレジスタバンク38の中のレジスタにそれぞれ対応する。」という記載は、コプロセッサ命令が有する3個のレジスタ指定フィールドR1とR2とR3により、浮動小数点ユニットコプロセッサ26内のレジスタバンク38のなかから、第一のソース、第二のソース、デスティネーションの各レジスタが指定されるものであることを示すから、コプロセッサ命令のために、浮動小数点ユニットコプロセッサ26内のレジスタバンク38のなかから、第一のソース・レジスタ、第二のソース・レジスタ、デスティネーション・レジスタを提供するものであると認められる。

上記(1-3)の「コプロセッサ命令は、操作コード(opcode)部分の後に、3個のレジスタ指定フィールドR1とR2とR3とが続いて構成されると考えることができる(実際には、これらのフィールドは命令全体の中で別の仕方で分割、展開してもよい)。」という記載、及び、上記(1-4)の「コプロセッサ命令には、コプロセッサが使用する操作コード(opcode)、ならびにコプロセッサレジスタの中からデスティネーション、第一のオペランド、および第二のオペランドをそれぞれ指定する3個の5ビットフィールドも含まれる。」という記載は、コプロセッサ命令に、操作コードopcodeが含まれることを示している。
上記(1-1)の「浮動小数点ユニットコプロセッサ26は、自分宛てのものであると検出した受信コプロセッサ命令をアクセプトして受け入れて、実行する。この検出は、コプロセッサ命令の中のコプロセッサ番号フィールドを介して行われる。」という記載、及び、上記(1-4)の「標準のARMプロセッサの命令のセットの中で、コプロセッサ命令にはコプロセッサ番号フィールド78が含まれる。主プロセッサに付属したコプロセッサ(一つまたは複数)はコプロセッサ番号フィールド78を使用して、特定のコプロセッサ命令がそれらを目標としているか識別する。」との記載は、コプロセッサ命令に、コプロセッサ命令のための目標を識別するコプロセッサ番号フィールド78が含まれることを示している。
つまり、浮動小数点ユニットコプロセッサ26によって実行される動作を指定する操作コードopcode、コプロセッサ命令のための目標を識別するコプロセッサ番号フィールド78とを含むコプロセッサ命令を提供するものであると認められる。

上記引用例1の記載事項及び図面を総合勘案すると、引用例1には、次の発明(以下、「引用例1発明」という。)が記載されていると認められる。

「浮動小数点ユニットコプロセッサ26のためのコプロセッサ命令を提供する方法であって、
コプロセッサ命令が埋め込まれたデータ処理命令のストリームに応じて主プロセッサ24を使用してデータ処理を実行する段階と、
コプロセッサ命令のために、浮動小数点ユニットコプロセッサ26内のレジスタバンク38のなかから、第一のソース・レジスタ、第二のソース・レジスタ、デスティネーション・レジスタを提供する段階と、
浮動小数点ユニットコプロセッサ26によって実行される動作を指定する操作コードopcode、コプロセッサ命令のための目標を識別するコプロセッサ番号フィールド78とを含むコプロセッサ命令を提供する段階と
を含むことを特徴とする方法。」

3の3.アライメント命令に関する周知技術及び公知技術の認定
3の3の1.アライメント命令自体について
上記(2-1)の記載事項から明らかなように、引用例2の「命令10」には、「操作(演算)コード(OPCODE)」と、「レジスタに対するものである」「二つのデータオペランドへの参照」である「データD_(1)」及び「データD_(2)」と、「命令10のオペレーションの結果が書込まれるレジスタ」である「DESTロケーション」へのものである「あて先参照DEST」と、例えば「シフト量」「のような」「データD_(1)およびD_(2)を操作するためのパラメータに関連する」「アーギュメント」とを含む。上記(2-2)及び(2-5)の記載事項から明らかなように、引用例2の「命令」の一種である「FUNNEL-SHIFT命令」は、「SHIFTアーギュメント」を含み、この「SHIFTアーギュメント」は「二つの32ビットのデータオペランド」である「データGおよびH」「を右シフトするビット数(すなわち、各々の最上位ビットがそれぞれの最下位ビットのもとの位置に向かってシフトされるように右シフトするビット数)を定義する」ものであり、「SHIFTアーギュメント」により定義される右シフトするビット数を"SHIFT"とすると、「FUNNEL-SHIFT命令の32ビットの結果R4」には、「32ビットデータH」のビット31からビット0からなる「[H_(31):H_(0)]」のうちビット(0+SHIFT-1)からビット0までの部分「[H_(0+SHIFT-1):H_(0)]」がMSB側に格納され、「32ビットデータG」のビット31からビット0からなる「[G_(31):G_(0)]」のうちビット31からビットSHIFTまでの部分「[G_(31):G_(SHIFT)]」がLSB側に格納される。つまり、引用例2の「FUNNEL-SHIFT命令」は2つのソース・レジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのデスティネーション・レジスタに置く動作を指定するオペコードを含むものである。
また、上記(3-5)の記載事項から明らかなように、引用例3の「グラフィックス命令」は「一次命令フォーマット識別を提供」する「2つの最上位ビット[31:30]70aないし70c」と、「二次命令フォーマット識別を提供」する「ビット[24:19]74aないし74c」と、「第1のソース・レジスタを識別」する「ビット[18:14](rs1)76aないし76c」と、「第2のソース・レジスタを識別」する「ビット[4:0](rs2)82a」と、「宛先レジスタ」「を識別」する「ビット[29:25](rd)72aないし72c」とを含む。上記(3-6)の記載事項から明らかなように、引用例3の「グラフィックス命令」の一種である「FALIGNDATA命令100」は、「rs1レジスタ中の64ビット浮動小数点値」を「連結値の上半分とし」「rs2レジスタ中の64ビット浮動小数点値」を「連結値の下半分として」「連結して」「形成」された「16バイト値」の「連結値」のうち、「8バイト」を「抽出」して「64ビット浮動小数点値としてrdレジスタ」に記憶するためのものである。ここで「抽出される値の最上位バイトの番号は、GSR50のalignaddr_offsetフィールドによって指定されているものである。」つまり、引用例3の「FALIGNDATA命令100」は2つのソース・レジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのデスティネーション・レジスタに置く動作を指定するオペコードを含むものである。
さらには、上記(4-2)、(4-3)及び(4-4)の記載事項から明らかなように、引用例4の「SHRD(ShiftRightDouble)命令」は、「Opecode」の値としての「OFAC」か「0FAD」により識別されるものであり、「レジスタ」である「第1オペランド」を「第3オペランドで指定するビット数だけ右側へシフト」し、「レジスタである」「第2オペランド」を「第3オペランドで指定するビット数だけ」「第1オペランド」の「左側からシフト・イン」するためのものである。つまり、引用例4の「SHRD(ShiftRightDouble)命令」は2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含むものである。
以上、引用例2、引用例3及び引用例4にて例示されるように、2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含む命令、つまりは、アライメント命令は当業者には周知である(以下、当該周知技術を「周知技術1」という。)。

3の3の2.アライメント命令の用途について
上記(3-6)には「図7bに示したように、(?中略?)整列していないグラフィックス・データ・ブロックの2つの部分99aおよび99bをメモリからrs1レジスタおよびrs2レジスタにコピーし、FALIGNDATA命令を使用して、整列させたグラフィックス・データ・ブロックをrdレジスタに記憶し、次いで、整列させたグラフィックス・データ・ブロック101をrdレジスタから新しいメモリ位置にコピーすることによって、整列していないグラフィックス・データ・ブロック99aおよび99bを迅速にかつ効率的に整列させることができる。」と記載されており、引用例3の「FALIGNDATA命令」はアライメント境界にまたがる2つのデータを1つのレジスタに格納するために用いるものである。
上記(4-2)には「SHLD(ShiftLeftDouble)命令とSHRD(ShiftRightDouble)命令は、指定されたビット数だけ、一方のオペランドから他方のオペランドにシフトする(図6-9を参照)。これらの命令は、アラインメントが合っていないビット・ストリングに対する操作を容易にするために用意されている。」と記載されており、引用例4の「SHRD(ShiftRightDouble)命令」はアライメント境界にまたがる2つのデータを1つのレジスタに格納するために用いるものである。
以上、引用例3及び引用例4にて例示されるように、2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含む命令、つまりは、アライメント命令を、アライメント境界にまたがる2つのデータを1つのレジスタに格納するために用いることは、当業者には周知である(以下、当該周知技術を「周知技術2」という。)。

3の3の3.アライメント命令のためのパラメータであるオフセット(シフト)量をレジスタから取り出すことについて
上記(2-1)に「通常、アーギュメントは、シフト量、位置、または操作すべきビット数のような、データD_(1)およびD_(2)を操作するためのパラメータに関連する。後で更に詳しく説明するように、アーギュメントは即値情報(すなわち、命令10の中に埋め込まれる)であってもよいし、命令によりアドレス指定されて、記憶装置(たとえば、レジスタ)から読出されてもよいことに注意すべきである。」と記載され、上記(2-3)に「FUNNEL-SHIFT命令に対する5ビット値は各命令の中の即値オペランドとすることができる。その代わりに、これらの値は読出しデータ、たとえばレジスタまたはメモリロケーションからの読出しデータとして与えられてもよい。」と記載され、上記(2-4)に「FUNNEL-SHIFT命令のいずれかに対する10ビットまたは5ビットの値が(たとえば、レジスタファイルからの)外部読出しによって与えられるとき、(?中略?)32個のレジスタを含むレジスタファイルから外部読出し(すなわち、共通の具体化)を行うものとして、これらの32個のレジスタの中の一つのレジスタのアドレス指定をするために命令は5ビットのフィールドを含まなければならない。したがって、このアドレス指定機能を達成するために、命令に5ビットの位置が必要とされる。」と記載されている。これらの記載事項から明らかなように、引用例2の「FUNNEL-SHIFT命令」は、命令内の「5ビットの位置」である「アーギュメント」に、「シフト量」を読み出す(取り出す)元である「レジスタ」を「アドレス指定」する情報を保持するようにすることができるものである。
上記(3-3)に「図3を参照すると、グラフィックス状態レジスタ(GSR)の一実施例の関連部分を示す図が示されている。この実施例では、GSR50を使用して、整列位置の前のピクセル・アドレスの最下位3ビット(alignaddr_offset)54が記憶され、(?中略?)。alignaddr_offset54はビットGSR[2:0]に記憶され、(?中略?)。」と記載され、上記(3-6)に「FALIGNDATA命令100は、rs1レジスタ中の64ビット浮動小数点値とrs2レジスタ中の64ビット浮動小数点値を連結して16バイト値を形成する。rs1レジスタ中の浮動小数点値は、連結値の上半分として使用され、rs2レジスタ中の浮動小数点値は、連結値の下半分として使用される。連結値中のバイトは、最上位バイトから最下位バイトへと番号付けされ、最上位バイトが0になる。この連結値から8バイトが抽出される。抽出される値の最上位バイトの番号は、GSR50のalignaddr_offsetフィールドによって指定されているものである。この結果は、64ビット浮動小数点値としてrdレジスタに記憶される。」と記載されている。これらの記載事項から明らかなように、引用例3の「FALIGNDATA命令」は、オフセット量である「alignaddr_offset」を「グラフィックス状態レジスタ(GSR)」から取り出すものである。
上記(4-4)に「第1オペランド(デスティネーション・オペランド)を、第3オペランド(カウント・オペランド)で指定するビット数だけ右側ヘシフトする。第2オペランド(ソース・オペランド)は左側からシフト・インされるビットを示す(デスティネーション・オペランドの最上位ビットで開始される)。」及び「カウント・オペランドは符号なし整数で、即値バイトかCLレジスタの内容のどちらかである。」と記載されている。これらの記載事項から明らかなように、引用例4の「SHRD(ShiftRightDouble)命令」は、シフト量(オフセット量)である「第3オペランド(カウント・オペランド)」を「CLレジスタ」から取り出すようにすることができるものである。
以上、引用例2、引用例3及び引用例4にて例示されるように、2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含む命令、つまりは、アライメント命令について、パラメータの一種であるオフセット(シフト)量をレジスタから取り出すようにすることは、当業者には周知である(以下、当該周知技術を「周知技術3」という。)。

3の3の4.アライメント命令のためのパラメータであるオフセット(シフト)量を取り出す元であるレジスタを指定する情報を、アライメント命令のフィールドのひとつとして保持することについて
上記(2-1)に「通常、アーギュメントは、シフト量、位置、または操作すべきビット数のような、データD_(1)およびD_(2)を操作するためのパラメータに関連する。後で更に詳しく説明するように、アーギュメントは即値情報(すなわち、命令10の中に埋め込まれる)であってもよいし、命令によりアドレス指定されて、記憶装置(たとえば、レジスタ)から読出されてもよいことに注意すべきである。」と記載され、上記(2-3)に「FUNNEL-SHIFT命令に対する5ビット値は各命令の中の即値オペランドとすることができる。その代わりに、これらの値は読出しデータ、たとえばレジスタまたはメモリロケーションからの読出しデータとして与えられてもよい。」と記載され、上記(2-4)に「FUNNEL-SHIFT命令のいずれかに対する10ビットまたは5ビットの値が(たとえば、レジスタファイルからの)外部読出しによって与えられるとき、(?中略?)32個のレジスタを含むレジスタファイルから外部読出し(すなわち、共通の具体化)を行うものとして、これらの32個のレジスタの中の一つのレジスタのアドレス指定をするために命令は5ビットのフィールドを含まなければならない。したがって、このアドレス指定機能を達成するために、命令に5ビットの位置が必要とされる。」と記載されている。これらの記載事項から明らかなように、引用例2の「FUNNEL-SHIFT命令」は、命令内の「5ビットの位置」である「アーギュメント」に、「シフト量」を読み出す(取り出す)元である「レジスタ」を「アドレス指定」する情報を保持するようにすることができるものである。
つまりは、引用例2には、2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含む命令、つまりは、アライメント命令について、当該アライメント命令のフィールドのひとつとして、パラメータの一種であるオフセット(シフト)量を取り出す元であるレジスタを指定する情報を保持するようにすることが記載されている(以下、「公知技術4」という。)。

3の3の5.アライメント命令を浮動小数点データに適用することについて
(3-6)に「FALIGNDATA命令100は、rs1レジスタ中の64ビット浮動小数点値とrs2レジスタ中の64ビット浮動小数点値を連結して16バイト値を形成する。rs1レジスタ中の浮動小数点値は、連結値の上半分として使用され、rs2レジスタ中の浮動小数点値は、連結値の下半分として使用される。連結値中のバイトは、最上位バイトから最下位バイトへと番号付けされ、最上位バイトが0になる。この連結値から8バイトが抽出される。抽出される値の最上位バイトの番号は、GSR50のalignaddr_offsetフィールドによって指定されているものである。この結果は、64ビット浮動小数点値としてrdレジスタに記憶される。」と記載されているように、引用例3におけるアライメント命令である「FALIGNDATA命令100」の適用対象は浮動小数点データである。このような、アライメント命令を浮動小数点データに適用することは、当業者がアライメント命令を用いる際の常套手段である(以下、当該常套手段を「常套手段5」という。)。

4.対比
補正後の請求項1に係る発明と引用例1発明とを比較する。

引用例1発明における「主プロセッサ24」は、補正後の請求項1に係る発明における「メイン・プロセッサ」に相当する。
引用例1発明における「浮動小数点ユニットコプロセッサ26」は、メイン・プロセッサ(主プロセッサ24)のためのコプロセッサであるという点で、補正後の請求項1に係る発明における「コプロセッサ」に一致する。
引用例1発明における「第一のソース・レジスタ」と「第二のソース・レジスタ」をあわせた構成は、コプロセッサ命令のための2つのソース・レジスタであるという点で、補正後の請求項1に係る発明における「2つのソース・レジスタ」に一致する。
引用例1発明における「操作コードopcode」は、メイン・プロセッサ(主プロセッサ24)のためのコプロセッサ(浮動小数点ユニットコプロセッサ26)によって実行される動作を指定するという点で、補正後の請求項1に係る発明における「オペコード」に一致する。
引用例1発明における「コプロセッサ命令のための目標を識別するコプロセッサ番号フィールド78」は、補正後の請求項1に係る発明における「前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールド」に相当する。

すると、補正後の請求項1に係る発明と引用例1発明とは、次の点で一致する。

<一致点>
メイン・プロセッサのためのコプロセッサのための命令を提供する方法において、
少なくとも1つのコプロセッサ命令を含むデータ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階と、
前記コプロセッサ命令のために、2つのソース・レジスタ、および、1つのデスティネーション・レジスタを提供する段階と、
前記コプロセッサによって実行される動作を指定するオペコード、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールドを含むコプロセッサ命令を提供する段階と、
を含むことを特徴とする方法。

一方で、両者は、次の点で相違する。

<相違点1>
補正後の請求項1に係る発明においては、命令を提供する方法が適用される対象が「コプロセッサ」であるのに対して、引用例1発明においては、命令を提供される方法が適用される対象が「浮動小数点ユニットコプロセッサ26」である点。

<相違点2>
補正後の請求項1に係る発明において、「2つのソース・レジスタ」はアライメント境界にまたがる2つのデータを格納するものであり、「2つのソース・レジスタ」は、命令を実行することにより前記アライメント境界にまたがる前記2つのデータを取り出されるものであるのに対し、引用例1発明における「第一のソース・レジスタ」及び「第二のソース・レジスタ」に格納されるデータとアライメント境界との関係が不明な点。

<相違点3>
補正後の請求項1に係る発明において、「デスティネーション・レジスタ」はアライメント動作により前記2つのソース・レジスタから取り出されるデータを格納するものであり、「デスティネーション・レジスタ」は、命令を実行することにより前記ソース・レジスタから取り出した前記二つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを置かれるものであるのに対し、引用例1発明における「デスティネーション・レジスタ」に格納されるデータとアライメント動作との関係が不明な点。

<相違点4>
補正後の請求項1に係る発明において、「コプロセッサ命令」は前記アライメント動作を指定するオペコード、および、オフセット値の格納場所を指定するオフセット情報を含み、命令を実行することにより前記オフセット情報が指定する格納場所から前記オフセット値を取り出すものであるのに対し、引用例1発明では、引用例1に列挙されている命令セットのなかでコプロセッサ命令としてアライメント動作を指定するものがない点。

5.判断
5の1.相違点1について
引用例1発明においては、命令を提供される方法が適用される対象が「浮動小数点ユニットコプロセッサ26」という浮動小数点演算を行うためのコプロセッサであるが、この命令を提供される方法が適用される対象を、演算の種別に関する限定のない「コプロセッサ」とすることに何ら困難性はない。
よって、上記相違点1は格別のものではない。

5の2.相違点2乃至4について
引用例1に列挙されている命令セットのなかで「コプロセッサ命令」としてアライメント動作を指定するもの、つまりは、アライメント命令はないものの、上記(1-2)に「浮動小数点ユニットコプロセッサ26には、32個の32ビットレジスタ(図2には少ししか示されていない)で構成されるレジスタバンク38が含まれる。」と記載されていることから明らかなように、引用例1発明の「浮動小数点ユニットコプロセッサ26」には「32個の32ビットレジスタ」で構成される「レジスタバンク38」が含まれる。このことを考慮すれば、引用例1発明における「レジスタバンク38」を構成する「32個の32ビットレジスタ」のいずれかをそれぞれ、2つのソース・レジスタ及びデスティネーション・レジスタとする各種の「コプロセッサ命令」を追加すること、特に、周知技術1、周知技術2、周知技術3、公知技術4及び常套手段5にて示されるアライメント命令を追加することを試みることで、引用例1発明において、2つのソース・レジスタを、アライメント境界にまたがる2つのデータを格納するものとし、2つのソース・レジスタを、命令が実行することにより、アライメント境界にまたがる2つのデータが取り出されるものとし、デスティネーション・レジスタを、アライメント動作により2つのソース・レジスタから取り出されるデータを格納するものとし、デスティネーション・レジスタを、命令を実行することによりソース・レジスタから取り出した2つのデータのうち、オフセット値に従いオフセットされアライメントされたデータを置くためのものとし、コプロセッサ命令を、アライメント操作を指定するオペコードと、オフセット値の格納場所であるレジスタを指定するオフセット情報を含むものとし、当該コプロセッサ命令を実行することによりオフセット情報が指定する格納場所であるレジスタからオフセット値を取り出すようにすることは、当業者が適宜なし得たことである。そして、上記(1-6)にも「本発明の特定の実施例を説明してきたが、本発明はこれに限定されないこと、そして本発明の範囲内で多数の変形および追加を行い得ることは明らかであろう。」と記載されており、命令セットへの命令の追加を行うことについて、特段の阻害要因はない。
よって、上記相違点2、上記相違点3及び上記相違点4は格別のものではない。

また、補正後の請求項1に係る発明が有する作用効果は、引用例1発明、周知技術1、周知技術2、周知技術3、公知技術4及び常套手段5から当業者が予測できた範囲内のものである。

よって、補正後の請求項1に係る発明は、引用例1発明、(引用例2、引用例3及び引用例4に例示されている)周知技術1、(引用例3及び引用例4に例示されている)周知技術2、(引用例2、引用例3及び引用例4に例示されている)周知技術3、引用例2に記載されている公知技術4及び引用例3に記載されている常套手段5に基いて、当業者が容易に発明をすることができたものである。

6.小括
したがって、補正後の請求項1に係る発明は、その優先日前に日本国内又は外国において頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許出願の際独立して特許を受けることができないものである。つまり、本件補正は、平成18年法律第55号改正附則第3条第1項によりなお従前の例によるとされる同法による改正前の特許法第17条の2第5項において準用する同法第126条第5項の規定に違反するので、同法第159条第1項において読み替えて準用する同法第53条第1項の規定により却下すべきものである。
よって、上記補正却下の決定の結論のとおり決定する。

(参考.平成22年7月14日付け回答書について
審判請求人(出願人)は平成22年7月14日付けで回答書を提出し、請求項1を下記のように補正する意思がある旨を示している。

「コプロセッサのための命令を提供する方法において、
少なくとも1つのコプロセッサ命令を含むデータ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階と、
前記コプロセッサ命令のために、アライメント境界にまたがる2つのデータが格納される2つのソース・レジスタ、および、アライメント動作により前記2つのソース・レジスタから取り出されるデータを格納する1つのデスティネーション・レジスタを提供する段階と、
前記コプロセッサによって実行される前記アライメント動作を指定するオペコード、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するコプロセッサ識別フィールド、および、アライメントのシーケンスが演算される場合にはオフセット値の格納場所を指定し、アライメントのシーケンスが予め定められている場合にはオフセット値を即値として指定するオフセット情報、を含むコプロセッサ命令を提供する段階と、
前記コプロセッサ命令が、前記オフセット情報により前記格納場所を指定するレジスタアライメント命令であるのか、あるいは、前記オフセット値を即値として指定する即値アライメント命令であるのかを判断して、レジスタアライメント命令である場合には前記格納場所から前記オフセット値を取り出し、前記アライメント境界にまたがる前記2つのデータを前記ソース・レジスタから取り出し、前記2つのデータのうち、前記オフセット値に従いオフセットされアライメントされたデータを前記デスティネーション・レジスタに置く前記コプロセッサ命令を実行する段階と、
を含む方法。」

補正後の請求項1に係る発明と比較すると、上記した同回答書の補正案による請求項1に係る発明は、アライメント命令として、オフセット値を格納場所(実質的にはレジスタ)から取り出すレジスタアライメント命令と、オフセット値をアライメント命令内の即値とする即値アライメント命令の両方を備える旨を追加するものである。
しかしながら、上記(4-4)には、SHRD(ShiftRightDouble)命令」に関して、「Opcode」の値として「0FAC」を与えられた命令についてはシフト(オフセット)量を即値とする一方、「Opcode」の値として「0FAD」を与えられた命令についてはシフト(オフセット)量をCLレジスタから取り出すものとすることが記載されている。つまり、引用例4には、一つの命令セットのなかに、同回答書でいうところの「レジスタアライメント命令」と「即値アライメント命令」の両方を備えることが記載されている。この引用例4はPentium Proという周知なプロセッサのマニュアルであることを考慮すれば、上記(4-4)に記載されている二種類のアライメント命令を備えるという技術事項は当業者には周知なものである(以下、当該周知技術を「周知技術6」という。)。このことを考慮すれば、同回答書の補正案による請求項1に係る発明は、引用例1発明、周知技術1、周知技術2、周知技術3、公知技術4、常套手段5及び周知技術6に基いて、当業者が容易に発明をすることができたものである。)

第3.本願発明の認定
平成20年6月20日付けの手続補正は上記のとおり却下されたので、本願の請求項1に係る発明(以下、「本願発明」という。)は、平成18年10月5日付けの手続補正により補正された、本願の特許請求の範囲の請求項1に記載されたとおりの次のものと認められる。
「コプロセッサのための命令を提供する方法において、
データ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階であって、前記データ処理命令は少なくとも1つのコプロセッサ命令を含む、段階と、
少なくとも1つのコプロセッサ命令のために2つのソース・レジスタおよび1つのデスティネーション・レジスタを提供する段階と、
コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールドを含むコプロセッサ命令を提供する段階と、
前記ソース・レジスタから値を取り出し、かつ前記値を前記デスティネーション・レジスタに置く命令を実行する段階であって、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む、段階と、
を含むことを特徴とする方法。」

第4.引用発明の認定
引用例1には、図面とともに、上記「第2.補正却下の決定」の「3.引用発明の認定」の「3の1.先行技術文献に記載されている技術事項」の上記(1-1)乃至(1-6)で示される技術事項が記載されており、上記「第2.補正却下の決定」の「3.引用発明の認定」の「3の2.引用例1発明の認定」にて、「引用例1発明」として認定した通りの発明が記載されていると認められる。

引用例2には、図面とともに、上記「第2.補正却下の決定」の「3.引用発明の認定」の「3の1.先行技術文献に記載されている技術事項」の上記(2-1)乃至(2-5)で示される技術事項が記載されており、上記「3の3.アライメント命令に関する周知技術及び公知技術の認定」にて、アライメント命令に関する「周知技術1」、「周知技術3」、「公知技術4」として認定した通りの周知技術または公知技術が記載されている。

さらに、上記(2-1)に「アーギュメントは即値情報(すなわち、命令10の中に埋め込まれる)であってもよい」と記載され、上記(2-3)に「FUNNEL-SHIFT命令に対する5ビット値は各命令の中の即値オペランドとすることができる。」と記載されていることから明らかなように、引用例2の「FUNNEL-SHIFT命令」が含む「アーギュメント」に保持される「シフト量」(オフセット)に関する情報は、「シフト量」(オフセット)の即値とすることもできるものである。言い換えれば、引用例2には、2つのレジスタから取り出した2つのデータのうち、オフセットされアライメントされたデータを1つのレジスタに置く動作を指定するオペコードを含む命令、つまりは、アライメント命令について、当該アライメント命令のフィールドのひとつとして、パラメータの一種であるオフセット(シフト)量を、即値として保持するようにすることが記載されている。なお、同様のことが、Pentium Proという周知なプロセッサのマニュアルである引用例4の上記(4-4)にも示されていることを考慮すれば、引用例2に示されている、アライメント命令について、当該アライメント命令のフィールドのひとつとして、パラメータの一種であるオフセット(シフト)量を、即値として保持するようにすることは周知である(以下、当該周知技術を「周知技術7」という。)。

第5.対比
本願発明と引用例1発明とを比較する。

引用例1発明における「主プロセッサ24」は、本願発明における「メイン・プロセッサ」に相当する。
引用例1発明における「浮動小数点ユニットコプロセッサ26」は、メイン・プロセッサ(主プロセッサ24)のためのコプロセッサであるという点で、本願発明における「コプロセッサ」に一致する。
引用例1発明における「第一のソース・レジスタ」と「第二のソース・レジスタ」をあわせた構成は、コプロセッサ命令のための2つのソース・レジスタであるという点で、本願発明における「2つのソース・レジスタ」に一致する。
引用例1発明における「操作コードopcode」は、メイン・プロセッサ(主プロセッサ24)のためのコプロセッサ(浮動小数点ユニットコプロセッサ26)によって実行される動作を指定するという点で、本願発明における「オペコード」に一致する。
引用例1発明における「コプロセッサ命令のための目標を識別するコプロセッサ番号フィールド78」は、本願発明における「前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールド」に相当する。

すると、本願発明と引用例1発明とは、次の点で一致する。

<一致点>
メイン・プロセッサのためのコプロセッサのための命令を提供する方法において、
データ処理命令のストリームに応じてメイン・プロセッサを使用してデータ処理を実行する段階であって、前記データ処理命令は少なくとも1つのコプロセッサ命令を含む、段階と、
少なくとも1つのコプロセッサ命令のために2つのソース・レジスタおよび1つのデスティネーション・レジスタを提供する段階と、
コプロセッサによって実行されるデータ処理動作を指定するオペコード、および、前記コプロセッサ命令のためのターゲット・コプロセッサを識別するためのコプロセッサ識別フィールドを含むコプロセッサ命令を提供する段階と、
を含むことを特徴とする方法。

一方で、両者は、次の点で相違する。

<相違点1>
本願発明においては、命令を提供する方法が適用される対象が「コプロセッサ」であるのに対して、引用例1発明においては、命令を提供される方法が適用される対象が「浮動小数点ユニットコプロセッサ26」である点。

<相違点2>
本願発明は「前記ソース・レジスタから値を取り出し、かつ前記値を前記デスティネーション・レジスタに置く命令を実行する段階であって、前記命令はこれらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む、段階」を含むものであるのに対し、引用例1発明では、引用例1に列挙されている命令セットのなかで「コプロセッサ命令」として「これらの値を前記ソース・レジスタから取り出すことを可能にするために前記値のオフセットを決定する情報を含む」命令、つまりは、アライメント動作を指定する命令がない点。

第6.判断
6の1.相違点1について
引用例1発明においては、命令を提供される方法が適用される対象が「浮動小数点ユニットコプロセッサ26」という浮動小数点演算を行うためのコプロセッサであるが、この命令を提供される方法が適用される対象を、演算の種別に関する限定のない「コプロセッサ」とすることに何ら困難性はない。
よって、上記相違点1は格別のものではない。

6の2.相違点2について
引用例1に列挙されている命令セットのなかで「コプロセッサ命令」としてアライメント動作を指定するもの、つまりは、アライメント命令はないものの、上記(1-2)に「浮動小数点ユニットコプロセッサ26には、32個の32ビットレジスタ(図2には少ししか示されていない)で構成されるレジスタバンク38が含まれる。」と記載されていることから明らかなように、引用例1発明の「浮動小数点ユニットコプロセッサ26」には「32個の32ビットレジスタ」で構成される「レジスタバンク38」が含まれる。このことを考慮すれば、引用例1発明における「レジスタバンク38」を構成する「32個の32ビットレジスタ」のいずれかをそれぞれ、2つのソース・レジスタ及びデスティネーション・レジスタとする各種の「コプロセッサ命令」を追加すること、特に、周知技術1、周知技術3、公知技術4及び周知技術7にて示されるアライメント命令を追加することを試みることで、引用例1発明に、2つのソース・レジスタから値を取り出し、かつ値をデスティネーション・レジスタに置く命令を実行する段階であって、前記命令はこれらの値をソース・レジスタから取り出すことを可能にするために値のオフセットを決定する情報を含む、段階を含めるようにすることは、当業者が適宜なし得たことである。そして、上記(1-6)にも「本発明の特定の実施例を説明してきたが、本発明はこれに限定されないこと、そして本発明の範囲内で多数の変形および追加を行い得ることは明らかであろう。」と記載されており、命令セットへの命令の追加を行うことについて、特段の阻害要因はない。また、常套手段5として示されるように、アライメント命令を浮動小数点データに適用することはアライメント命令を用いる際の常套手段であるから、引用例1発明である命令を提供する方法が適用される対象は、浮動小数点データの演算を行うためのコプロセッサである「浮動小数点ユニットコプロセッサ26」に関するものであるが、この「浮動小数点ユニットコプロセッサ26」の命令としてアライメント命令を追加することに特段の阻害要因はない。
よって、上記相違点2は格別のものではない。

また、本願発明が有する作用効果は、引用例1発明、周知技術1、周知技術3、公知技術4及び周知技術7から当業者が予測できた範囲内のものである。

よって、本願発明は、引用例1発明、(引用例2に例示されている)周知技術1、(引用例2に例示されている)周知技術3、引用例2に記載されている公知技術4及び(引用例2に例示されている)周知技術7に基いて、当業者が容易に発明をすることができたものである。

第7.むすび
したがって、本願の請求項1に係る発明は、その優先日前に日本国内又は外国において頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、他の請求項について検討をするまでもなく、本願は特許法第29条第2項の規定により特許を受けることができない。

よって、結論のとおり審決する。
 
審理終結日 2010-09-09 
結審通知日 2010-09-14 
審決日 2010-09-27 
出願番号 特願2004-527842(P2004-527842)
審決分類 P 1 8・ 121- Z (G06F)
P 1 8・ 56- Z (G06F)
P 1 8・ 572- Z (G06F)
最終処分 不成立  
前審関与審査官 日下 善之後藤 彰塚田 肇鳥居 稔  
特許庁審判長 鈴木 匡明
特許庁審判官 赤川 誠一
清木 泰
発明の名称 アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム  
代理人 龍華 明裕  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ