【事件の表示】
　特願２００４−５２８７３５「超長命令語プロセッサにおける可変長命令の処理を可能にさせる装置、方法およびコンパイラ」拒絶査定不服審判事件〔平成１６年　２月２６日国際公開、ＷＯ２００４／０１７１９７、平成１７年１１月２４日国内公表、特表２００５−５３５９７４〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、
　２００３年７月１８日（パリ条約による優先権主張外国庁受理２００２年８月１６日、欧州特許庁）を国際出願日とする出願であって、
　平成１７年２月１６日に特許法第１８４条の５第１項に規定される書面が提出されるとともに、国際出願日における明細書、請求の範囲及び要約の翻訳文が提出され、
　平成２０年５月２１日付けで最初の拒絶理由通知（同年同月２３日発送）がなされ、
　同年９月２２日付けで意見書が提出されるとともに、手続補正がなされ、
　同年１０月２２日付けで拒絶査定（同年同月２４日発送）がなされ、
　平成２１年１月１５日付けで審判請求されたものである。
　
第２．本願発明の認定
　本願の請求項１０に係る発明（以下、「本願発明」という。）は、平成２０年９月２２日付けの手続補正により補正された、本願の特許請求の範囲の請求項１０に記載されたとおりの次のものと認められる。
　
「ＮＯＰ演算の符号化のための専用ビットを含む圧縮ＶＬＩＷ命令にグループ化される命令のセットの系列を備えた情報担体であって、
　前記、命令のセットは並列実行のため配列され、前記命令セットは少なくとも第１の命令および第２の命令を含み、
　前記生成された命令のセットの系列が、少なくとも第１の発行スロットおよび第２の発行スロットを具備した処理装置による実行のため配列され、前記第１の発行スロットが前記第１の命令に対応した第１の固定幅の第１の制御語によって制御され、前記第２の発行スロットが前記第２の命令に対応した第２の固定幅の第２の制御語によって制御され、前記第１の制御語の幅が前記第２の制御語の幅とは異なる、
情報担体。」
　
第３．引用発明の認定
３の１．引用例１に記載されている技術的事項
　原審が拒絶理由通知において引用した特開平１１−７３８７号公報（平成１１年１月１２日出願公開。以下、「引用例１」という。）には、図面とともに以下の技術事項が記載されている。
　
（１−１）
「【０００３】ＶＬＩＷプロセッサは、内部に複数の演算ユニットを備え、１個のＶＬＩＷに置かれた複数のオペレーションを同時並列に実行する。このようなＶＬＩＷは、コンパイラ（に）よってソースプログラムにおけるオペレーションレベルでの並列性が検出されスケジューリングされた後に生成されたものである。ところが、特に機器組み込み用途においては、プログラムのコードサイズが問題となるために、２５６ビットの如く長いＶＬＩＷや、無動作命令（以下、「ＮＯＰ命令」という。）が頻繁に挿入されたコード効率の悪いＶＬＩＷは好ましくない。」（上記の「（に）」の部分は明らかな脱字であるので、当審が補った。）
　
（１−２）
「【００１３】本プロセッサは、ＶＬＩＷプロセッサであり、３２ビット固定長の命令を解読実行する。図１（ａ）は、本プロセッサが実行する命令５０のフィールド構成を示す図である。図１（ｂ）〜図１（ｄ）は１６種類の命令フォーマットを示す図であり、そのうち、図１（ｂ）は３オペレーション　…（中略）…　を同時に指定できる命令フォーマットである。
【００１４】この命令５０は、３２ビット固定長であり、４ビットずつに区切られた８個のフィールド（上位よりＰ０．０フィールド５１、Ｐ１．０フィールド５２、…、Ｐ３．２フィールド５８）からなる。なお、Ｐ２．０フィールド５３〜Ｐ２．２フィールド５５のグループをまとめて第１演算フィールド５９と呼び、Ｐ３．０フィールド５６〜Ｐ３．２フィールド５８のグループをまとめて第２演算フィールド６０と呼ぶ。」
　
（１−３）
「【００２１】次に、図１（ａ）に示された各フィールド５１、５２、５９、６０の特徴を説明する。　…（中略）…
【００２２】Ｐ１．０フィールド５２は、定数又は分岐用のオペコードを置くためのフィールドである。このＰ１．０フィールド５２に定数が置かれた場合（フォーマットコード＝０、１、４〜９の場合）には、その定数は、定数レジスタ３６に格納する対象となる場合（フォーマットコード＝０、１、４、５の場合）　…（中略）…　がある。　…（中略）…
【００２３】一方、このＰ１．０フィールド５２に分岐用のオペコード“ｃｃ”が置かれた場合（フォーマットコード＝２、３、Ａの場合）には、定数レジスタ３６に格納された定数を分岐先の絶対番地として、又は、相対番地（ディスプレースメント）として分岐することを意味する。第１演算フィールド５９は、本プロセッサと外部（メモリ）とのデータの転送を伴わないオペレーション（算術論理演算、レジスタ間転送）を指定するためのオペコードとオペランド（ソース及びデスティネーション）との組又は定数が置かれる。
【００２４】第２演算フィールド６０は、上記第１演算フィールド５９の場合に加えて、本プロセッサと外部（メモリ）とのデータの転送を伴う（オ）ペレーション（レジスタ・メモリ間転送）を指定するためのオペコードとオペランドとの組が置かれることもある。　…（後略）…」（上記の「（オ）」の部分は明らかな脱字であるので、当審が補った。）
　
（１−４）
「【００２６】第２に、本プロセッサでは、１個の命令に最大３つのオペレーションを指定することができるが、その場合には、図１（ｂ）に示された３オペレーション用の命令フォーマットから判るように、それら３つのオペレーションの種類は次のいずれかの組み合わせになる。
（１）４ビットの定数を定数レジスタ３６にセットするオペレーションと２個の汎用オペレーション（フォーマットコードが“０”、“１”の場合）
（２）定数レジスタ３６にセットされた値を絶対番地又は相対番地として分岐するオペレーションと２個の汎用オペレーション（フォーマットコードが“２”、“３”の場合）
このように、本プロセッサの命令は、わずか３２ビット長でありながら最大３つのオペレーションを同時に指定することができるコード効率の高いフィールド構成を有している。」
　
（１−５）
「【００２７】図３は、本発明に係るプロセッサのハードウェア構成を示すブロック図である。本プロセッサは、上述したように、最大３つのオペレーションを並列実行するＶＬＩＷプロセッサであり、大きく分けて、命令レジスタ１０、解読部２０及び実行部３０から構成される。
【００２８】命令レジスタ１０は、命令フェッチ部３９から送られてきた１個の命令を保持する３２ビットのレジスタである。解読部２０は、命令レジスタ１０に保持された命令を解読し、その解読結果に応じた制御線を実行部３０に出力するものであり、大きく分けて、フォーマットデコーダ２１と命令デコーダ２２とからなる。
【００２９】命令デコーダ２２はさらに、Ｐ１．０フィールド１２に保持されたオペコード“ｃｃ”を解読しその結果に基づいてＰＣ部３３を制御する分岐デコーダ２３と、Ｐ２．０フィールド１３に保持されたオペコードを解読しその結果に基づいて第１演算部３７を制御する第１演算デコーダ２４と、Ｐ３．０フィールド１６に保持されたオペコードを解読しその結果に基づいて第２演算部３８及びオペランドアクセス部４０を制御する第２演算デコーダ２５とからなる。」
　
（１−６）
「【００３１】　…（中略）…　実行部３０は、解読部２０での解読結果に基づいて、最大３つのオペレーションを並列実行する回路ユニットであり、実行制御部３１、ＰＣ部３３、レジスタ群３４、第１演算部３７、第２演算部３８、命令フェッチ部３９及びオペランドアクセス部４０からなる。　…（後略）…　」
　
（１−７）
「【００３３】ＰＣ（プログラムカウンタ）部３３は、分岐デコーダ２３による制御の下で、次に解読実行すべき命令が置かれている図示されていない外部メモリ上のアドレスを命令フェッチ部３９に出力する。命令フェッチ部３９は、３２ビットのＩＡ（インストラクションアドレス）バス及び３２ビットのＩＤ（インストラクションデータ）バスを通じて図示されていない外部メモリから命令ブロックをフェッチし、内部の命令キャッシュに保持すると共に、ＰＣ部３３から出力されたアドレスに相当する命令を命令レジスタ１０に供給する。」
　
（１−８）
「【００３５】第１演算部３７は、２個の３２ビットデータに対して算術論理演算を行なうＡＬＵと乗算を行う乗算器とを内部に有し、第１演算デコーダ２４による制御の下で２種類のオペレーション（算術論理演算とレジスタ間転送）を実行する。第２演算部３８も、第１演算部３７と同様に、２個の３２ビットデータに対して算術論理演算を行なうＡＬＵと乗算を行う乗算器とを内部に有し、第２演算デコーダ２５による制御の下で２種類のオペレーション（算術論理演算とレジスタ間転送）を実行する。
【００３６】オペランドアクセス部４０は、第２演算デコーダによる制御の下でレジスタ群３４と図示されていない外部メモリとの間でオペランドの転送を行なう回路であり、そのオペランドやオペランドアドレスを保持するバッファを内部に有する。　…（後略）…　」
　
（１−９）
「【００６１】　…（中略）…　（２）また、３２ビット固定長命令によって３個のオペレーションを同時に指定することができる命令の構造として、図１（ａ）に示された命令構造の他に、図１４（ａ）〜図１４（ｄ）に示された命令構造とすることもできる。　…（中略）…
【００６２】　…（中略）…　図１４（ｂ）〜図１４（ｄ）に示された構造の命令であれば、上記実施形態の命令に比較し、２個のオペコード（“ｏｐ２”、“ｏｐ３”）の桁数が大きいので、より多くの種類のオペレーションを定義することができる点において優る。　…（後略）…　」
　
（１−１０）
「【００６４】これによって、命令中の全てのオペレーションフィールドが同じ語長でなければならないという制限から解放され、コード効率のよい命令フォーマットを定義することが可能となるので、比較的短い語長の命令であって、かつ、同時に多くのオペレーションを指定することができるコード効率のよい構造を有する命令を実行するＶＬＩＷプロセッサが実現される。
…（中略）…
【００６６】また、複数のオペレーションフィールドからなる命令を実行するＶＬＩＷプロセッサにおいて、前記オペレーションフィールドのうち少なくとも１つはオペランドの数が異なるものであるとすることもできる。これによって、命令中の全てのオペレーションフィールドが同じ個数のオペランドを有さなければならないという制限から解放されるので、コード効率のよい命令フォーマットを定義することが可能となる。」
　
（１−１１）
　命令５０を構成するＰ１．０フィールドについて、【図１】では５２という番号が付されている一方で、【図３】では１２という番号が付されている。同様に、Ｐ２．０フィールドについて、【図１】では５３という番号が付されている一方で、【図３】では１３という番号が付されている。Ｐ２．１フィールドについて、【図１】では５４という番号が付されている一方で、【図３】では１４という番号が付されている。Ｐ２．２フィールドについて、【図１】では５５という番号が付されている一方で、【図３】では１５という番号が付されている。Ｐ３．０フィールドについて、【図１】では５６という番号が付されている一方で、【図３】では１６という番号が付されている。Ｐ３．１フィールドについて、【図１】では５７という番号が付されている一方で、【図３】では１７という番号が付されている。Ｐ３．２フィールドについて、【図１】では５８という番号が付されている一方で、【図３】では１８という番号が付されている。
　
３の２．引用例１発明の認定
　上記（１−２）の「本プロセッサは、ＶＬＩＷプロセッサであり、３２ビット固定長の命令を解読実行する。図１（ａ）は、本プロセッサが実行する命令５０のフィールド構成を示す図である。図１（ｂ）〜図１（ｄ）は１６種類の命令フォーマットを示す図であり、そのうち、図１（ｂ）は３オペレーション　…（中略）…　を同時に指定できる命令フォーマットである。この命令５０は、３２ビット固定長であり、４ビットずつに区切られた８個のフィールド（上位よりＰ０．０フィールド５１、Ｐ１．０フィールド５２、…、Ｐ３．２フィールド５８）からなる。なお、Ｐ２．０フィールド５３〜Ｐ２．２フィールド５５のグループをまとめて第１演算フィールド５９と呼び、Ｐ３．０フィールド５６〜Ｐ３．２フィールド５８のグループをまとめて第２演算フィールド６０と呼ぶ。」という記載、上記（１−３）の「このＰ１．０フィールド５２に分岐用のオペコード“ｃｃ”が置かれた場合（フォーマットコード＝２、３、Ａの場合）には、定数レジスタ３６に格納された定数を分岐先の絶対番地として、又は、相対番地（ディスプレースメント）として分岐することを意味する。第１演算フィールド５９は、本プロセッサと外部（メモリ）とのデータの転送を伴わないオペレーション（算術論理演算、レジスタ間転送）を指定するためのオペコードとオペランド（ソース及びデスティネーション）との組　…（中略）…　が置かれる。第２演算フィールド６０は、上記第１演算フィールド５９の場合に加えて、本プロセッサと外部（メモリ）とのデータの転送を伴う（オ）ペレーション（レジスタ・メモリ間転送）を指定するためのオペコードとオペランドとの組が置かれることもある。」という記載、及び、上記（１−１１）の記載から、引用例１におけるＶＬＩＷプロセッサのための命令５０は、Ｐ１．０フィールド５２（または１２）に格納されるオペコード、第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランド、及び、第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドからなる、命令のセットを含むＶＬＩＷ命令であると認められる。
　また、上記（１−５）の「本プロセッサは、上述したように、最大３つのオペレーションを並列実行するＶＬＩＷプロセッサであり、」という記載から、ＶＬＩＷ命令にグループ化される上記した命令のセットは並列実行のために配列されているものと認められる。
　さらに、上記（１−７）の「命令フェッチ部３９は、３２ビットのＩＡ（インストラクションアドレス）バス及び３２ビットのＩＤ（インストラクションデータ）バスを通じて図示されていない外部メモリから命令ブロックをフェッチし、　…（中略）…　ＰＣ部３３から出力されたアドレスに相当する命令を命令レジスタ１０に供給する。」という記載と、上記（１−５）の「命令レジスタ１０は、命令フェッチ部３９から送られてきた１個の命令を保持する３２ビットのレジスタである。」という記載から、外部メモリから、ＶＬＩＷ命令にグループ化される上記した命令のセットが順次フェッチされるものと認められるので、外部メモリは、ＶＬＩＷ命令にグループ化される上記した命令のセットの系列を備えるものと認められる。
　
　上記（１−１）の「ＶＬＩＷプロセッサは、内部に複数の演算ユニットを備え、１個のＶＬＩＷに置かれた複数のオペレーションを同時並列に実行する。このようなＶＬＩＷは、コンパイラ（に）よってソースプログラムにおけるオペレーションレベルでの並列性が検出されスケジューリングされた後に生成されたものである。」という記載から、ＶＬＩＷ命令にグループ化される上記した命令のセットはコンパイラに基づいて生成されたものであると認められる。
　
　上記（１−２）の「この命令５０は、３２ビット固定長であり、４ビットずつに区切られた８個のフィールド（上位より　…（中略）…　Ｐ１．０フィールド５２、…（中略）…　）からなる。」という記載、上記（１−５）の「Ｐ１．０フィールド１２に保持されたオペコード“ｃｃ”を解読しその結果に基づいてＰＣ部３３を制御する分岐デコーダ２３」という記載、上記（１−７）の「ＰＣ（プログラムカウンタ）部３３は、分岐デコーダ２３による制御の下で、次に解読実行すべき命令が置かれている図示されていない外部メモリ上のアドレスを命令フェッチ部３９に出力する。」という記載、及び、上記（１−１１）の記載から、分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３がＰ１．０フィールド５２（または１２）に格納されるオペコードに対応した４ビットの固定幅の制御語によって制御されるものと認められる。
　上記（１−２）の「この命令５０は、３２ビット固定長であり、４ビットずつに区切られた８個のフィールド（　…（中略）…　）からなる。なお、Ｐ２．０フィールド５３〜Ｐ２．２フィールド５５のグループをまとめて第１演算フィールド５９と呼び」という記載、上記（１−３）の「第１演算フィールド５９は、本プロセッサと外部（メモリ）とのデータの転送を伴わないオペレーション（算術論理演算、レジスタ間転送）を指定するためのオペコードとオペランド（ソース及びデスティネーション）との組　…（中略）…　が置かれる。」という記載、上記（１−５）の「Ｐ２．０フィールド１３に保持されたオペコードを解読しその結果に基づいて第１演算部３７を制御する第１演算デコーダ２４」という記載、上記（１−８）の「第１演算部３７は、２個の３２ビットデータに対して算術論理演算を行なうＡＬＵと乗算を行う乗算器とを内部に有し、第１演算デコーダ２４による制御の下で２種類のオペレーション（算術論理演算とレジスタ間転送）を実行する。」という記載、及び、上記（１−１１）の記載から、第１演算デコーダ２４及び第１演算部３７が第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御されるものと認められる。
　上記（１−２）の「この命令５０は、３２ビット固定長であり、４ビットずつに区切られた８個のフィールド（上位より　…（中略）…　Ｐ３．２フィールド５８）からなる。なお、　…（中略）…　Ｐ３．０フィールド５６〜Ｐ３．２フィールド５８のグループをまとめて第２演算フィールド６０と呼ぶ。」という記載、上記（１−３）の「第１演算フィールド５９は、本プロセッサと外部（メモリ）とのデータの転送を伴わないオペレーション（算術論理演算、レジスタ間転送）を指定するためのオペコードとオペランド（ソース及びデスティネーション）との組　…（中略）…　が置かれる。」及び「第２演算フィールド６０は、上記第１演算フィールド５９の場合に加えて、本プロセッサと外部（メモリ）とのデータの転送を伴う（オ）ペレーション（レジスタ・メモリ間転送）を指定するためのオペコードとオペランドとの組が置かれることもある。」という記載、上記（１−５）の「Ｐ３．０フィールド１６に保持されたオペコードを解読しその結果に基づいて第２演算部３８及びオペランドアクセス部４０を制御する第２演算デコーダ２５」という記載、上記（１−８）の「第２演算部３８も、第１演算部３７と同様に、２個の３２ビットデータに対して算術論理演算を行なうＡＬＵと乗算を行う乗算器とを内部に有し、第２演算デコーダ２５による制御の下で２種類のオペレーション（算術論理演算とレジスタ間転送）を実行する。」及び「オペランドアクセス部４０は、第２演算デコーダによる制御の下でレジスタ群３４と図示されていない外部メモリとの間でオペランドの転送を行なう回路であり、そのオペランドやオペランドアドレスを保持するバッファを内部に有する。」という記載、及び、上記（１−１１）の記載から、第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０が第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御されるものと認められる。
　上記で示したように、分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３がＰ１．０フィールド５２（または１２）に格納されるオペコードに対応した４ビットの固定幅の制御語によって制御され、第１演算デコーダ２４及び第１演算部３７が第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御され、第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０が第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御されるものであるので、命令のセットの系列が、分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３と、第１演算デコーダ２４及び第１演算部３７と、第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０とを具備したＶＬＩＷプロセッサによる実行のため配列されるものと認められ、また、Ｐ１．０フィールド５２（または１２）に格納されるオペコードに対応した制御語の幅（４ビット）と第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した制御語の幅（１２ビット）とは異なり、Ｐ１．０フィールド５２（または１２）に格納されるオペコードに対応した制御語の幅（４ビット）と第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した制御語の幅（１２ビット）とは異なるものと認められる。
　
　上記引用例１の記載事項及び図面を総合勘案すると、引用例１には、次の発明（以下、「引用例１発明」という。）が記載されていると認められる。
　
「ＶＬＩＷ命令にグループ化される命令のセットの系列を備えた外部メモリであって、
　命令のセットは並列実行のため配列され、命令のセットは、Ｐ１．０フィールド５２（または１２）に格納されるオペコード、第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランド、及び、第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドを含み、
　コンパイラに基づいて生成された命令のセットの系列が、分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３と、第１演算デコーダ２４及び第１演算部３７と、第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０とを具備したＶＬＩＷプロセッサによる実行のため配列され、分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３がＰ１．０フィールド５２（または１２）に格納されるオペコードに対応した４ビットの固定幅の制御語によって制御され、第１演算デコーダ２４及び第１演算部３７が第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御され、第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０が第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語によって制御され、Ｐ１．０フィールド５２（または１２）に格納されるオペコードに対応した制御語の幅（４ビット）と第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した制御語の幅（１２ビット）とは異なり、Ｐ１．０フィールド５２（または１２）に格納されるオペコードに対応した制御語の幅（４ビット）と第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した制御語の幅（１２ビット）とは異なる、
外部メモリ。」
　
３の３．周知例に記載されている技術的事項
３の３の１．周知例１に記載された技術的事項
　原審が拒絶理由通知において引用した国際公開第９８／２７４８６号（１９９８年６月２５日国際公開。以下、「周知例１」という。）には、図面とともに以下の技術事項が記載されている。（なお、周知例１の下記の記載事項に付した仮訳は、当審が訳出したものである。）
　
「Other portions of the program may not require all of the resources of processor. In this case, some of the execution units are idle, and one or more operation fields of the VLIW are not filled. The number of unfilled operation fields in a program may be significant. Storing instruction words with significant numbers of unfilled operation fields in memory is wasteful of valuable memory space. To avoid inefficient use of memory techniques, for storing wide instruction words in compressed format have been proposed.
 In one prior art approach, compressed instruction words are stored with a mask word. The operation fields of the instruction words are stored in consecutive memory locations, or words. The mask word encodes where the memory words are inserted in the expanded instruction word. Since the mask word is normally only a few bits wide, two or more mask words can be grouped in the same memory word. This approach is illustrated in Fig.1. An instruction word pair is stored in compressed format in memory as a mask word 20 followed in consecutive memory locations by operations W00, W02, W05, W06, and W07 of a first instruction word and operations W12 and W14 of a second instruction word. A mask field 22 in mask word 20 indicates the locations of the operations W00, W02, W05, W06 and W07 in a first line 34 of instruction cache 24, and mask field 26 indicates the positions of operations W12 and W14 in a second line 36 of instruction cache 24.　」
（明細書第２頁第７行目〜同頁第２７行目。
　仮訳：プログラムの他の部分はプロセッサのリソースの全てを必要とするわけではないかもしれない。この場合には、実行ユニットのいくつかはアイドルとなり、ＶＬＩＷの１つまたは複数のオペレーションフィールドは満たされない。プログラム内における満たされないオペレーションフィールドの数は重要である。満たされないオペレーションフィールドを多く持つ命令語をメモリに格納することは、高価なメモリスペースの浪費になる。メモリの非効率な利用を避けるために、長い命令語を圧縮した形式で格納する技術が提案されてきた。
　従来技術におけるアプローチでは、圧縮された命令語はマスク語とともに格納される。命令語内の各オペレーションフィールドは、連続したメモリロケーション、つまり、連続した語に格納される。伸長された命令語においてメモリ語をどこに挿入するのかを示す符号を、マスク語は持つ。マスク語は通常数ビットであるので、２つまたはそれ以上のマスク語は同じメモリ語内にグループ化することができる。このアプローチは図１に図示されている。命令語のペアはメモリに圧縮された形式で格納され、連続したメモリロケーションにおいて、マスク語２０の後に、第１の命令語内のオペレーションＷ００、Ｗ０２、Ｗ０５、Ｗ０６、Ｗ０７と、第２の命令語内のオペレーションＷ１２、Ｗ１４が続いている。マスク語２０内のマスクフィールド２２は、命令キャッシュ２４内の第１のライン３４における、オペレーションＷ００、Ｗ０２、Ｗ０５、Ｗ０６、Ｗ０７の位置を示す。また、マスクフィールド２６は、命令キャッシュ２４内の第２のライン３６における、オペレーションＷ１２、Ｗ１４の位置を示す。）
　
３の３の２．周知例２に記載された技術的事項
　本願の優先日前に頒布された刊行物である国際公開第０２／０６１５７４号（２００２年８月８日国際公開。以下、「周知例２」という。）には、図面とともに以下の技術事項が記載されている。（なお、周知例２の下記の各記載事項に付した仮訳は、周知例２のパテントファミリである特表２００４−５１９０２８号に基づくものである。）
　
（周知例２の１）
「In operation, instruction issue unit 32 fetches memory lines from memory 30 , decompresses instructions from the memory lines and sends the instructions to the instruction processing unit 34 for execution. The instruction processing unit 34 decodes the instructions, fetches operands of the instruction, executes the instructions and writes back results of the instructions. By way of example, the invention will be discussed for a VLIW processor (VLIW=Very Large Instruction Word), which has a number of issue slots  340a-c for receiving respective instructions (usually called operations) that the processor will execute in parallel. 」
（明細書第７頁第１３行目〜同頁第２０行目。
　仮訳：動作において、命令発行ユニット３２は、メモリ３０からメモリ・ラインをフェッチし、メモリ・ラインからの命令を解凍し、命令を実行のために命令処理ユニット３４へ送る。命令処理ユニット３４は、命令をデコードし、命令のオペランドをフェッチし、命令を実行し、命令の結果を書き戻す。例として、本発明はＶＬＩＷプロセッサについて説明されることになる（ＶＬＩＷ＝Ｖｅｒｙ  Ｌａｒｇｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ、極長命令ワード）。ＶＬＩＷプロセッサは、並列に実行するそれぞれの命令（通常、「操作」と呼ばれる）を受け取るための多数の発行スロット３４０ａ〜３４０ｃを有する。）
　
（周知例２の２）
「The VL2IW instruction format depicted in  FIG.1 comprises a header 1 followed by a number of operation segments 2. The number of operation segments 2 may not exceed the number of operations which the processor can issue in parallel, in this case C. The header 1 contains C expansion control bits E1  . . . EC . In case the ith slot should execute a Non-Operative (NOP) operation, the expansion control bit Ei is '0'. Otherwise it is '1' and the VL2IW contains an operation segment for issue slot i. 
 When a slot executes a NOP operation, this means that the slot in question is idle during the clock cycle in question. In the VLIW architecture a group of instructions is executed simultaneously. In order to do this it is necessary to ensure that the individual instructions are not dependent on each other. For this purpose it may be necessary to include NOPs in the instructions. When an instruction is compressed this is normally done by removing the NOPs. When the instructions at a later time are to be executed the NOPs have to be re-inserted in order to comply with the requirement that the instructions being executed simultaneously are not dependent on each other.」 
（明細書第９頁第１１行目〜同頁第２４行目。
　仮訳：図１に示されるＶＬ２ＩＷ命令フォーマットは、ヘッダ１、およびそれに続いた多数の操作セグメント２を含む。操作セグメント２の数は、プロセッサが並列に発行することのできる操作の数、この場合はＣ、を超過してはならない。ヘッダ１はＣ個の伸長制御ビットＥ１．．．ＥＣを含む。ｉ番目のスロットが無操作（ＮＯＰ）を実行する場合、伸長制御ビットＥｉは「０」である。そうでない場合、それは「１」であり、ＶＬ２ＩＷは発行スロットｉのために操作セグメントを含む。
　スロットがＮＯＰ操作を実行する時に、それは問題のスロットが問題のクロック・サイクルの間アイドルであることを意味する。ＶＬＩＷアーキテクチャにおいて、命令のグループが同時に実行される。これを行なうため、個々の命令は相互に依存しないことを確認することが必要である。この目的のため、命令の中にＮＯＰを含めることが必要であるかも知れない。命令が圧縮される時に、これは通常ＮＯＰを除去することによって行なわれる。命令が後の時点で実行されなければならない時に、同時に実行される命令が相互に依存しないという要件を満足させるため、ＮＯＰが再挿入されなければならない。）
　
（周知例２の３）
「Figure 4 shows a flow chart of a instruction generation process for a program of instructions, as executed for example by a compiler program that compiles instructions for the VLIW processor. The flow chart contains a first step 41 in which the operations in an instruction are generated. In the header of the instruction the P, S and R bits are cleared. In a second step 42 it is determined whether the instruction contains NOP operations. If not, a third step 43a is executed which sets the instruction length to the full instruction length and fills the expansion control bits so as to indicate that no issue slot should receive a NOP. If there are NOPs in the instruction, an alternative step 43b is executed, in which the non-NOP operations are moved to the positions of the NOP operations, effectively cutting the NOPS out of the instruction. The expansion control bits are set to indicate the position(s) of the NOPs and the length is set according to the number of non-NOP operations left in the instruction.」
（明細書第１４頁第２４行目〜第１５頁第２行目。
　仮訳：図４は、命令のプログラムのために、例えば、ＶＬＩＷプロセッサの命令をコンパイルするコンパイラ・プログラムによって実行される命令生成プロセスのフローチャートである。フローチャートは、命令内の操作が生成される最初のステップ４１を含む。命令のヘッダの中で、Ｐ、Ｓ、およびＲビットがクリアされる。２番目のステップ４２において、命令がＮＯＰ操作を含むか否かが決定される。もし含まなければ、３番目のステップ４３ａが実行される。ステップ４３ａは、命令の長さをフル命令長へ設定し、発行スロットがＮＯＰを受け取らないことを指示するように、伸長制御ビットを充填する。もし命令の中にＮＯＰがあれば、代替のステップ４３ｂが実行される。ステップ４３ｂにおいて、非ＮＯＰ操作がＮＯＰ操作の位置へ移動され、命令からＮＯＰを効果的にカットする。伸長制御ビットは、ＮＯＰの位置を指示するように設定され、長さは、命令の中に残された非ＮＯＰ操作の数に従って設定される。）
　
３の３の３．周知例３に記載された技術的事項
　本願の優先日前に頒布された刊行物である特開平４−４０５２５号公報（平成４年２月１０日出願公開。以下、「周知例３」という。）には、図面とともに以下の技術事項が記載されている。
　
「第３図は実施例の構成図である。外部メインメモリ２２には可変長命令パケットにより命令が格納されている。マイクロプロセッサ２１はこの可変長命令パケットを固定長命令パケットに変換する必要がある。パケット内の命令フォーマットを第４図に示す。第４図（ａ）は固定長命令パケットである。これは第３図の並列実行ユニット２８の並列処理にあわせて決められる。第４図（ｂ）は可変長命令パケットを固定長命令パケットに変換する方法を示す。可変長命令パケット４２は４命令分のフィールドを持ちヘッダ１命令と有効な３命令で構成される。まずヘッダ内に１０１０１という情報を持つ。これは固定長命令パケットに対応し１の部分は命令が有効で０の部分はダミー命令をいれることを意味する。これにより固定長命令パケット４３が作成できる。第３図では１命令ずつ外部メインメモリ２２よりフェッチしＦｉｒｓｔＩｎｐｕｔ−ＦｉｒｓｔＯｕｔｐｕｔ方式のプリフェチキュー２３にいれてゆく。第４図（ｂ）の例ではヘッダ、整数演算命令、ｌｏａｄ命令、分岐命令の順にプリフェッチキュー２３に入ってゆく。まずプリフェッチキュー２３よりセレクタ２４にヘッダ情報がはいる。つぎにヘッダ情報の１０１０１に従い５命令長パケツト２６の左端より右端へ１ならプリフェッチキュー２３より命令を入力し０ならダミー命令を入力してゆく。５命令長パケツト２６にいれ終わったら、パケットキャッシュ２７に移す。並列実行ユニット２８は実行するパケットをパケットキャッシュよりフェッチし実行する。並列実行ユニット２８中には、整数演算処理２９、浮動小数点処理３０、ｌｏａｄ処理３１、ｓｔｏｒｅ処理３２、分岐処理３３が含まれ、それぞれの処理命令フィールドを並列にデコードし実行することにより並列処理可能となっている。」
（第２頁右上欄第３行目〜同頁左下欄第１８行目）
　
３の３の４．周知例４に記載された技術的事項
　原審が拒絶理由通知において引用した特表２００１−５１５６３５号公報（平成１３年９月１８日国内公表。以下、「周知例４」という。）には、図面とともに以下の技術事項が記載されている。
　
「VLIWプロセッサの例は、フィリップスエレクトロニクス社のTM-1000プロセッサ（TriMedia）である。　…（中略）…　VLIWプロセッサの場合、インストラクションの並列実行は、単一の長いインストラクションワードにおいて多重基本マシンコマンドを結合することによって得られる。　…（中略）…
  TM-1000のプロセッサは、非常に長いインストラクションワード発行レジスタの各発行スロットに、各々、コマンドを並列に発生させる。各発行スロットは、機能ユニットの各グループと、レジスタファイルへの２つの読み込みポートと１つの書き込みポートとに関連している。特定のコマンドは、特定の発行スロットに関連するグループの機能ユニットの中の特定のユニットに向けられている。」
（第６頁第８行目〜同頁第２２行目）　
　
３の４．ＮＯＰ演算のための専用ビットを含む圧縮ＶＬＩＷ命令に関する周知技術の認定
　周知例１の「圧縮された命令語はマスク語とともに格納される。命令語内の各オペレーションフィールドは、連続したメモリロケーション、つまり、連続した語に格納される。伸長された命令語においてメモリ語をどこに挿入するのかを示す符号を、マスク語は持つ。」及び「マスク語２０内のマスクフィールド２２は、命令キャッシュ２４内の第１のライン３４における、オペレーションＷ００、Ｗ０２、Ｗ０５、Ｗ０６、Ｗ０７の位置を示す。また、マスクフィールド２６は、命令キャッシュ２４内の第２のライン３６における、オペレーションＷ１２、Ｗ１４の位置を示す。」という記載、周知例２における、上記（周知例２−２）の「図１に示されるＶＬ２ＩＷ命令フォーマットは、ヘッダ１、およびそれに続いた多数の操作セグメント２を含む。操作セグメント２の数は、プロセッサが並列に発行することのできる操作の数、この場合はＣ、を超過してはならない。ヘッダ１はＣ個の伸長制御ビットＥ１．．．ＥＣを含む。ｉ番目のスロットが無操作（ＮＯＰ）を実行する場合、伸長制御ビットＥｉは「０」である。そうでない場合、それは「１」であり、ＶＬ２ＩＷは発行スロットｉのために操作セグメントを含む。」及び「命令が圧縮される時に、これは通常ＮＯＰを除去することによって行なわれる。命令が後の時点で実行されなければならない時に、同時に実行される命令が相互に依存しないという要件を満足させるため、ＮＯＰが再挿入されなければならない。」という記載、上記（周知例２−３）の「もし命令の中にＮＯＰがあれば、代替のステップ４３ｂが実行される。ステップ４３ｂにおいて、非ＮＯＰ操作がＮＯＰ操作の位置へ移動され、命令からＮＯＰを効果的にカットする。伸長制御ビットは、ＮＯＰの位置を指示するように設定され、長さは、命令の中に残された非ＮＯＰ操作の数に従って設定される。」という記載、周知例３の「第４図（ｂ）は可変長命令パケットを固定長命令パケットに変換する方法を示す。可変長命令パケット４２は４命令分のフィールドを持ちヘッダ１命令と有効な３命令で構成される。まずヘッダ内に１０１０１という情報を持つ。これは固定長命令パケットに対応し１の部分は命令が有効で０の部分はダミー命令をいれることを意味する。これにより固定長命令パケット４３が作成できる。」という記載に例示されるような、ＮＯＰ演算の符号化のための専用ビット（周知例１における「マスク語」、周知例２における「伸長制御ビット」（周知例２のFIG.1では「E1...EC」で示されるビット、FIG.2では「expansion」で示されるビット）、周知例３における「ヘッダ」。）を用いてＶＬＩＷ命令を圧縮することは当業者には周知である（以下、当該周知技術を「周知技術１」という。）。
　
３の５．ＶＬＩＷプロセッサにおける発行スロットに関する周知技術の認定
　周知例２における、上記（周知例２の１）の「ＶＬＩＷプロセッサは、並列に実行するそれぞれの命令（通常、「操作」と呼ばれる）を受け取るための多数の発行スロット３４０ａ〜３４０ｃを有する。」という記載、周知例４の「VLIWプロセッサの場合、インストラクションの並列実行は、単一の長いインストラクションワードにおいて多重基本マシンコマンドを結合することによって得られる。」及び「TM-1000のプロセッサは、非常に長いインストラクションワード発行レジスタの各発行スロットに、各々、コマンドを並列に発生させる。各発行スロットは、機能ユニットの各グループと、レジスタファイルへの２つの読み込みポートと１つの書き込みポートとに関連している。特定のコマンドは、特定の発行スロットに関連するグループの機能ユニットの中の特定のユニットに向けられている。」という記載に例示されるような、ＶＬＩＷ命令に含まれる各命令に対応した制御語毎に、制御される対象である発行スロットをＶＬＩＷプロセッサに設けることは当業者には周知である（以下、当該周知技術を「周知技術２」という。）
　
第４．対比
　本願発明と引用例１発明とを比較する。
　
　本願においては「情報担体」という語については、請求項１０に「ＮＯＰ演算の符号化のための専用ビットを含む圧縮ＶＬＩＷ命令にグループ化される命令のセットの系列を備えた情報担体」と記載され、また請求項１０の末尾に「情報担体。」と記載されている他は、明細書の【０００４】に「本発明は、少なくとも第１および第２の命令を含み並列実行のため配列された命令のセットの系列を備えた情報担体にさらに関係する。」と記載され、明細書の【００１９】に「データを処理する本発明による処理装置によって実行される命令のセットの系列を含む情報担体は請求項１４に記載されている。」と記載され、平成２０年９月２２日付け手続補正書による手続補正前の請求項１４に「少なくとも第１の命令および第２の命令を含み並列実行のため配列された命令のセットの系列を備えた情報担体」と記載され、同請求項１４の末尾に「情報担体。」と記載されているのみである。よって「情報担体」は、命令セットの系列をなんらかの形で保持したものであると解される。そのため、引用例１発明における「外部メモリ」は、ＶＬＩＷ命令にグループ化される命令のセットの系列を備えた情報担体であるという点で、本願発明における「情報担体」に一致する。
　
　引用例１発明における「Ｐ１．０フィールド５２（または１２）に格納されるオペコード」は、本願発明における「第１の命令」に相当する。
　引用例１発明における「第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランド」または「第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランド」のいずれも、本願発明における「第２の命令」に相当する。
　引用例１発明における「分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３」と本願発明における「第１の発行スロット」はともに、第１の命令（既に示したように、「第１の命令」は、引用例１発明における「Ｐ１．０フィールド５２（または１２）に格納されるオペコード」に相当する。）に対応した固定幅の制御語によって制御される第１の手段であるという点で一致する。
　引用例１発明における「第１演算デコーダ２４及び第１演算部３７」、引用例１発明における「第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０」、及び、本願発明における「第２の発行スロット」は、互いに、第２の命令（既に示したように、「第２の命令」は、引用例１発明における「第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランド」または「第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランド」のいずれにも相当する。）に対応した固定幅の制御語によって制御される第２の手段であるという点で一致する。
　引用例１発明における「ＶＬＩＷプロセッサ」は、本願発明における「処理装置」に相当する。
　引用例１発明における「４ビットの固定幅」は、本願発明における「第１の固定幅」に相当する。
　引用例１発明における「１２ビットの固定幅」は、本願発明における「第２の固定幅」に相当する。
　
　すると、本願発明と引用例１発明とは、次の点で一致する。
　
＜一致点＞
　ＶＬＩＷ命令にグループ化される命令のセットの系列を備えた情報担体であって、
　前記、命令のセットは並列実行のため配列され、前記命令セットは少なくとも第１の命令および第２の命令を含み、
　前記生成された命令のセットの系列が、少なくとも第１の手段および第２の手段を具備した処理装置による実行のため配列され、前記第１の手段が前記第１の命令に対応した第１の固定幅の第１の制御語によって制御され、前記第２の手段が前記第２の命令に対応した第２の固定幅の第２の制御語によって制御され、前記第１の制御語の幅が前記第２の制御語の幅とは異なる、
情報担体。
　
　一方で、両者は、次の点で相違する。
　
＜相違点１＞
　ＶＬＩＷ命令に関して、本願発明では「ＮＯＰ演算の符号化のための専用ビットを含む圧縮ＶＬＩＷ命令」であるのに対して、引用例１発明ではＮＯＰ演算の符号化のための専用ビットを含む圧縮ＶＬＩＷ命令ではない点。
　
＜相違点２＞
　「前記第１の命令に対応した第１の固定幅の第１の制御語によって制御され」る第１の手段に関して、本願発明では「第１の発行スロット」であるのに対して、引用例１発明における「分岐デコーダ２３及びＰＣ（プログラムカウンタ）部３３」が発行スロットであるか否かについて、引用例１には記載されていない点。
　同様に、本願発明では、「前記第２の発行スロットが前記第２の命令に対応した第２の固定幅の第２の制御語によって制御され」る第２の手段に関して、本願発明では「第２の発行スロット」であるのに対して、引用例１発明における「第１演算デコーダ２４及び第１演算部３７」または「第２演算デコーダ２５、第２演算部３８及びオペランドアクセス部４０」のいずれについても、発行スロットであるか否かについて、引用例１には記載されていない点。
　
第５．判断
　上記した相違点について検討する。
　
５の１．相違点１について
　引用例１において、実行するプログラムの内容次第によっては、ＮＯＰ命令の代わりに置くべき定数等がないなどのためＶＬＩＷ命令にＮＯＰ命令を配置せざるを得ない状況が生じることは、引用例１に接した当業者であれば認識できることである。
　このことは、引用例１発明と同様の形式のＶＬＩＷ命令を用いた発明について記載された、特開平１１−５３１８６号公報（平成１１年２月２６日出願公開。以下、「参考例１」という。）の【００８０】に「図１６に、定数レジスタが１本のみの構成のプロセッサにおいて、図１５と同一内容の処理を行うプログラムの例を示す。図１６と図１５とを比較して判るように、定数レジスタが１本のみの構成のプロセッサ用のプログラムは、本発明に係るプロセッサ用のものよりも１個の命令だけ多くなっている。図１６においては、演算用の定数を蓄積している間は分岐用の定数を設定することができないため、無動作オペレーション“ｎｏｐ”を挿入せざるを得なくなっている。」と記載されていることや、引用例１発明と同様の形式のＶＩＬＷ命令を用いた発明について記載された、特開平１１−５３１８７号公報（平成１１年２月２６日出願公開。以下、「参考例２」という。）の【００９５】に「図１１は、上記従来のプロセッサにおいて、図１０と同一内容の処理を行なうプログラムの例を示す。ただし、定数レジスタ名はＲ１５であるとする。図１１と図１０を比較して判るように、上記従来のプロセッサ用のプログラムは、本発明に係るプロセッサ用のものよりも１個の命令だけ多くなっている。図１１においては、１つのオペレーションでは、定数レジスタへの値の設定もしくは定数レジスタの格納値の利用のいずれか一方しか行なうことができないため、２４ビットの定数を設定するのに必要な２個の命令と、その定数を利用する命令とを合わせた３個の命令が必要になっている。その結果、無動作オペレーション“ｎｏｐ”を挿入せざるを得なくなっている。」と記載されていることからもうかがうことができる。
　してみると、引用例１発明におけるＶＬＩＷ命令に対して、ＮＯＰ演算の符号化のための専用ビットを用いてＶＬＩＷ命令を圧縮する周知技術１を適用する動機付けは存在し、引用例１発明におけるＶＬＩＷ命令をＮＯＰ演算の符号化のための専用ビットを含む圧縮ＶＬＩＷ命令とすることに特段の困難性はない。　
　よって、上記相違点１は格別のものではない。
　
　なお、平成２０年９月２２日付け意見書において審判請求人（出願人）は「しかし、引用文献１の命令フォーマットは、ＮＯＰ符号化の原理と互換性、共通性がない。引用文献１の命令フォーマットは、図１に示されているように、４ビットのフォーマットフィールドを有しており、これにより、演算フィールド５２、５９、６０の内容を指定している。この４ビットのフォーマットフィールドを用いることにより、プロセッサは、各演算フィールドの内容を特定することができるのである。しかし、引用文献１には、符号化したＮＯＰ演算を、如何にこの命令フィールドに組み込んで使用するかについては、何の開示も示唆もされていない。
　したがって、引用文献３に命令を圧縮する技術が開示されているとしても、これを引用文献１と組み合わせて、本願の請求項１に係る処理装置を案出することはできないと考えられる。」と主張している。
　しかしながら、引用例１発明に周知技術１を適用するに際しては、ＮＯＰ演算の符号化のための専用ビットを、Ｐ１．０フィールド５２（または１２）のために１ビット、第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドのために１ビット、第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドのために１ビット備えるようにして、それぞれのフィールドに非ＮＯＰ演算や定数のいずれも格納されないときに、対応するＮＯＰ演算の符号化のための専用ビットを有効とするように制御すれば済むことは、当業者であれば当然想到することであり、同意見書による主張は失当である。
　
５の２．相違点２について
　引用例１発明はＶＬＩＷ命令を実行するＶＬＩＷプロセッサに関するものであるから、ＶＬＩＷ命令に含まれる各命令に対応した制御語毎に、制御される対象である発行スロットをＶＬＩＷプロセッサに設ける周知技術２を、引用例１発明に適用して、（本願発明の「前記第１の命令に対応した第１の固定幅の第１の制御語」に対応する）引用例１発明における「Ｐ１．０フィールド５２（または１２）に格納されるオペコードに対応した４ビットの固定幅の制御語」によって制御されるものを第１の発行スロットとし、（本願発明の「前記第２の発行スロットが前記第２の命令に対応した第２の固定幅の第２の制御語」に対応する）引用例１発明における「第１演算フィールド５９（または１３乃至１５）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語」または「第２演算フィールド６０（または１６乃至１８）に格納されるオペコード及びオペランドに対応した１２ビットの固定幅の制御語」によって制御されるものを第２のスロットとすることに、特段の困難性はない。
　よって、上記相違点２は格別のものではない。
　
５の３．小括
　また、本願発明が有する作用効果は、引用例１発明、周知技術１及び周知技術２から当業者が予測できた範囲内のものである。
　
　よって、本願発明は、引用例１発明、（周知例１、周知例２及び周知例３に例示されている）周知技術１及び（周知例２及び周知例４に例示されている）周知技術２に基いて、当業者が容易に発明をすることができたものである。
　
第６．むすび
　したがって、本願の請求項１０に係る発明は、その優先日前に日本国内又は外国において頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、他の請求項について検討をするまでもなく、本願は特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり審決する。