• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1253949
審判番号 不服2009-10644  
総通号数 149 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2012-05-25 
種別 拒絶査定不服の審決 
審判請求日 2009-06-04 
確定日 2012-03-12 
事件の表示 特願2004-539270「処理装置、処理方法及びコンパイラ」拒絶査定不服審判事件〔平成16年 4月 8日国際公開、WO2004/029796、平成18年 1月 5日国内公表、特表2006-500673〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 第1.手続の経緯
本願は、
2003年8月8日(パリ条約による優先権主張外国庁受理2002年9月24日、欧州特許庁)を国際出願日とする出願であって、
平成17年3月23日付けで特許法第184条の5第1項に規定される書面が提出されるとともに、国際出願日における明細書、請求の範囲及び要約の翻訳文が提出され、
平成20年4月25日付けで最初の拒絶理由通知(同年同月30日発送)がなされ、
同年8月19日付けで意見書が提出されるとともに、手続補正がなされ、
同年9月10日付けで最後の拒絶理由通知(同年同月12日発送)がなされ、
平成21年1月13日付けで意見書が提出されるとともに、手続補正がなされ、
同年2月26日付けで拒絶査定(同年3月6日発送)がなされ、
同年6月4日付けで審判請求がなされるとともに、手続補正がなされ、
同年9月4日付けで審査官より同法第164条第3項で規定する報告(前置報告)がなされ、
平成22年11月30日付けで当審より審尋(同年12月3日発送)がなされ、
平成23年3月31日付けで回答書が提出され、
同年5月20日付けで当審より最初の拒絶理由通知(同年同月24日発送)がなされ、
同年8月30日付けで意見書が提出されるとともに、手続補正がなされたものである。

第2.本願発明の認定
本願の請求項1に係る発明(以下、「本願発明」という。)は、平成23年8月30日付けの手続補正により補正された、本願の特許請求の範囲の請求項1に記載された次のものと認められる。

「VLIW命令にグループ化され且つ並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するVLIW処理装置であって、
複数の第1発行スロットであって、各第1発行スロットが複数の機能ユニットを備え、前記複数の第1発行スロットのそれぞれが、前記命令のセットに対応した制御語のセットの個々の制御語によって制御される、複数の第1発行スロットを備え、
専用第2発行スロットによりロードされなければならない即値がないことを示すNOP演算を、前記制御語が含んでいない場合に、専用第2発行スロットが、即値からなる専用命令をロードするように構成されており、前記即値は、前記複数の第1発行スロットの1つにおける命令の実行に必要であり、前記専用命令は、前記専用第2発行スロットに対応する前記制御語のセットのうちの予め定められた1つの制御語にマッピングされ、
前記専用第2発行スロットが、前記専用命令を実行するためだけに構成された単一の専用機能ユニットを備える、
ことを特徴とする装置。」

第3.先行技術文献に記載されている技術的事項と先行技術文献に記載されている発明の認定

1.引用例1に記載されている技術的事項
当審が平成23年5月20日付け拒絶理由通知において引用した特開平6-230969号公報(平成6年8月19日出願公開。以下、「引用例1」という。)には、図面とともに以下の技術事項が記載されている。

(1の1)
「【0002】
…(中略)…VLIWアーキテクチャを有するプロセッサは、乗算器、加算器、ALU、定数発生ユニット、メモリー等の機能ユニットを具える。VLIWアーキテクチャを有するプロセッサは、コンパイラによってプランニングされる命令の拡張における並列化を可能にする。
【0003】これは次のようにして実現される。各クロックサイクルで多くの命令がプログラムメモリーから命令レジスタに並列にロードされる。レジスタ中の命令は、全ての機能ユニットに対する明示オプコード及びオペランド仕様を含む。レジスタからの命令は並列に機能ユニットに供給される。
【0004】しかしながら、実際の応用では、機能ユニットの全てが同時に活性状態になることは極めて稀である。…(後略)…」

(1の2)
「【0007】処理の並列実行を支持するために、レジスタは、レジスタから並列に読出すことができる読出しポートを具えたマルチポートレジスタファイルに集められる。レジスタファイルは、各機能ユニットの各オペランド入力に対してそれぞれのポートを持つ。例えば各乗算器機能ユニットはそれぞれ2つの読出しポートに接続される。これと反対に、命令によって定められる定数が供給される”定数”ユニットは、読出しポートには接続されない。」

(1の3)
「【0025】図1は、従来のVLIW装置を示す。命令は命令メモリー102 から命令出力レジスタIIRにロードされる。各クロックサイクルに、新しい極めて長い命令が命令出力レジスタから発信される。この命令は、VLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニット(CONTROL,CONST,ALU1,ALU2,MUL,FPU,MEM )に対する送出スロットを有する。…(中略)…機能ユニットに対するオペランドは、分割マルチポートを持つレジスタファイル101 から読出す。機能ユニットからの結果はまたこのファイルに書込まれる。
【0026】送出スロットは、機能ユニットの最新のクロックサイクルでスタートする処理を特定する。図2は、CONTROL 処理、CONST 処理、ALU1処理、ALU2処理、MUL 処理、FPU 処理、及びMEM 処理を含むVLIW命令201 を示す。言い換えれば、VLIW命令は、図1のVLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニットに対して1つの送出スロットを含む。
【0027】…(中略)…203 はCONST 処理に特定された送出スロットの内容を示す。この送出スロットは、定数値及びレジスタ仕様Rdestを含む。このレジスタはデスティネーションレジスタである。」

(1の4)
「【0030】殆どの従来のマシンでは、処理は各サイクルで全ての機能ユニットでスタートさせることが可能である。サイクル”i”でスタートした処理は、1サイクルで又は複数のサイクルで完結する。完結は、処理の結果をデスティネーションレジスタに書込むことによって証明される。結果のない処理(STORE のような処理)については、処理の完結は処理の生起に対応して状態が変化する時である。
【0031】図1の殆どの機能ユニットは、CONST (定数発生ユニット)のように単純である。このユニットは、デスティネーションレジスタに置かれる定数を生成する。」

(1の5)
「【0035】図1のVLIWをピークの処理速度で動作させるために、1CONTROL,1CONSTANT, 2INTEGER ALU,1INTEGER MULTIPLY, 1FLOATING POINT, 及び1MEMORYの処理が各サイクル毎に送出されなければならない。高水準言語で表された実際のプログラムの性質によって、このピークでの実行を維持する処理の適切な混合を見出すことができない。コンパイルの後、与えられたクロックサイクルの中で並列に実行できる一連の処理は、利用できる機能ユニット型にマッチしない混合型である。若干の場合は、マシンのユニットの数より少ない並列処理が行われるフェーズを通ってプログラムが進む。これは、種々の問題を生じる。
【0036】第1の問題は、…(中略)…
【0037】第2の問題は、VLIW型CPUをピーク又はピーク付近の性能に維持するために必要な命令の帯域幅が高いことである。NOP コードを含む空スロットがこの帯域幅に貢献する。」

2.引用発明の認定
まず、引用例1には「送出スロット」という語が多数記載されているが、引用例1のパテントファミリのひとつである米国特許第6002880号明細書によれば、「送出スロット」は「issue slot」を示すものであるから、引用例1における「送出スロット」は「発行スロット」であると認められる。

上記(1の3)に「図1は、従来のVLIW装置を示す。」と記載され、このVLIWについて、上記(1の1)に「VLIWアーキテクチャを有するプロセッサは、乗算器、加算器、ALU、定数発生ユニット、メモリー等の機能ユニットを具える。」、「各クロックサイクルで多くの命令がプログラムメモリーから命令レジスタに並列にロードされる。レジスタ中の命令は、全ての機能ユニットに対する明示オプコード及びオペランド仕様を含む。レジスタからの命令は並列に機能ユニットに供給される。」と記載され、上記(1の3)に「命令は命令メモリー102 から命令出力レジスタIIRにロードされる。各クロックサイクルに、新しい極めて長い命令が命令出力レジスタから発信される。この命令は、VLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニット(CONTROL,CONST,ALU1,ALU2,MUL,FPU,MEM )に対する送出スロットを有する。」、「送出スロットは、機能ユニットの最新のクロックサイクルでスタートする処理を特定する。図2は、CONTROL 処理、CONST 処理、ALU1処理、ALU2処理、MUL 処理、FPU 処理、及びMEM 処理を含むVLIW命令201 を示す。言い換えれば、VLIW命令は、図1のVLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニットに対して1つの送出スロットを含む。」と記載されていること、及び、VLIW命令内の各命令から制御信号を生成することは自明であることから明らかなように、引用例1には、VLIW命令にグループ化され且つ並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するVLIW処理装置が記載されているものと認められる。

上記(1の1)に「VLIWアーキテクチャを有するプロセッサは、乗算器、加算器、ALU、定数発生ユニット、メモリー等の機能ユニットを具える。」と記載され、上記(1の3)に「この命令は、VLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニット(CONTROL,CONST,ALU1,ALU2,MUL,FPU,MEM )に対する送出スロットを有する。」、「図2は、CONTROL 処理、CONST 処理、ALU1処理、ALU2処理、MUL 処理、FPU 処理、及びMEM 処理を含むVLIW命令201 を示す。言い換えれば、VLIW命令は、図1のVLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニットに対して1つの送出スロットを含む。」と記載されていることから明らかなように、引用例1におけるVLIW処理装置には、CONTROL処理、CONST処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う機能ユニットが個別に備えられていると認められる。また、引用例1におけるVLIW命令には複数の送出スロット(発行スロット)が存在し、各送出スロット(発行スロット)の命令により、当該送出スロット(発行スロット)に対応する機能ユニットを制御するものであると認められる。よって、引用例1のVLIW処理装置は、CONTROL処理、CONST処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う機能ユニットであって、VLIW命令内の各送出スロット(発行スロット)がそれぞれ1つの機能ユニットに対応し、各機能ユニットのそれぞれが、当該機能ユニットに対応するVLIW命令内の送出スロット(発行スロット)の命令によって制御される、複数の機能ユニットを備えるものと認められる。

上記(1の2)に「レジスタは、レジスタから並列に読出すことができる読出しポートを具えたマルチポートレジスタファイルに集められる。レジスタファイルは、各機能ユニットの各オペランド入力に対してそれぞれのポートを持つ。…(中略)…命令によって定められる定数が供給される”定数”ユニットは、読出しポートには接続されない。」と記載され、上記(1の3)に「この命令は、VLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニット(CONTROL,CONST,ALU1,ALU2,MUL,FPU,MEM )に対する送出スロットを有する。」、「図2は、CONTROL 処理、CONST 処理、ALU1処理、ALU2処理、MUL 処理、FPU 処理、及びMEM 処理を含むVLIW命令201 を示す。言い換えれば、VLIW命令は、図1のVLIW型CPUの中に(当審注:この「に」は誤記であり、正しくは「の」である。)各機能ユニットに対して1つの送出スロットを含む。」、「203 はCONST 処理に特定された送出スロットの内容を示す。この送出スロットは、定数値及びレジスタ仕様Rdestを含む。このレジスタはデスティネーションレジスタである。」と記載され、上記(1の4)に「図1の殆どの機能ユニットは、CONST (定数発生ユニット)のように単純である。このユニットは、デスティネーションレジスタに置かれる定数を生成する。」と記載されていることから明らかなように、引用例1のVLIW処理装置が有するCONST処理を行う機能ユニットは、定数値(引用例1の【図2】におけるvalue)とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、当該命令は、CONST処理を行う機能ユニットに対応する、VLIW命令内の複数の送出スロット(発行スロット)のうちの予め定められた1つの送出スロット(発行スロット)にマッピングされるものであると認められる。そして、このCONST処理を行う機能ユニットは、定数値(引用例1の【図2】におけるvalue)とデスティネーションレジスタを示すRdestからなる命令に基づいて、定数値をデスティネーションレジスタにロードする処理を行って当該命令を実行するためだけに構成された単一の専用機能ユニットを備えることは自明である。

さらに、引用例1において、上記(1の1)に「実際の応用では、機能ユニットの全てが同時に活性状態になることは極めて稀である。」と記載され、上記(1の5)に「図1のVLIWをピークの処理速度で動作させるために、1CONTROL,1CONSTANT, 2INTEGER ALU,1INTEGER MULTIPLY, 1FLOATING POINT, 及び1MEMORYの処理が各サイクル毎に送出されなければならない。高水準言語で表された実際のプログラムの性質によって、このピークでの実行を維持する処理の適切な混合を見出すことができない。コンパイルの後、与えられたクロックサイクルの中で並列に実行できる一連の処理は、利用できる機能ユニット型にマッチしない混合型である。若干の場合は、マシンのユニットの数より少ない並列処理が行われるフェーズを通ってプログラムが進む。これは、種々の問題を生じる。」、「第2の問題は、VLIW型CPUをピーク又はピーク付近の性能に維持するために必要な命令の帯域幅が高いことである。NOP コードを含む空スロットがこの帯域幅に貢献する。」と記載されているように、上記(1の1)乃至(1の5)で示されるような、VLIW命令内の各送出スロット(発行スロット)の個々の命令によって、当該送出スロット(発行スロット)に対応する機能ユニットを制御するVLIW処理装置においては、コンパイル後に得られるVLIW命令列によっては各サイクル毎に機能ユニットの全てが同時に活性状態にならないことがあり得ることは当業者には広く認識されていることであり、活動状態にならない機能ユニットが存在するサイクルに対応するVLIW命令における、当該活動状態にならない機能ユニットに対応する(VLIW命令内の)送出スロット(発行スロット)に、当該機能ユニットでは何も行わないことを意味するNOP演算を示す命令が含まれることは、自明である。
既に示したように、引用例1においては、CONST処理を行う機能ユニットが、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、当該命令は、CONST処理を行う機能ユニットに対応する、VLIW命令内の複数の送出スロット(発行スロット)のうちの予め定められた1つの送出スロット(発行スロット)にマッピングされている以上、CONST処理を行う機能ユニットによりロードされなければならない定数値がないサイクルに対応するVLIW命令には、CONST処理を行う機能ユニットに対応する(VLIW命令命令内の)送出スロット(発行スロット)にNOP演算を示す命令が含まれることは自明である。結局、引用例1においては、CONST処理を行う機能ユニットによりロードされなければならない定数値がないことを示すNOP演算をVLIW命令内の送出スロット(発行スロット)が含んでいない場合に、CONST処理を行う機能ユニットが、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、当該命令は、CONST処理を行う機能ユニットに対応する、VLIW命令内の複数の送出スロット(発行スロット)のうちの予め定められた1つの送出スロット(発行スロット)にマッピングされているものと認められる。

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

「VLIW命令にグループ化され且つ並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するVLIW処理装置であって、
CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う機能ユニットであって、VLIW命令内の各送出スロット(発行スロット)がそれぞれ1つの機能ユニットに対応し、各機能ユニットのそれぞれが、当該機能ユニットに対応するVLIW命令内の送出スロット(発行スロット)の命令によって制御される、複数の機能ユニットを備え、
CONST処理を行う機能ユニットによりロードされなければならない定数値がないことを示すNOP演算をVLIW命令内の送出スロット(発行スロット)が含んでいない場合に、CONST処理を行う機能ユニットが、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、当該命令は、CONST処理を行う機能ユニットに対応する、VLIW命令内の複数の送出スロット(発行スロット)のうちの予め定められた1つの送出スロット(発行スロット)にマッピングされ、
CONST処理を行う機能ユニットは、定数値とデスティネーションレジスタを示すRdestからなる命令に基づいて、定数値をデスティネーションレジスタにロードする処理を行って当該命令を実行するためだけに構成された単一の専用機能ユニットを備える、
ことを特徴とする装置。」

ところで、上記で認定した発明においては「VLIW命令内の各送出スロット(発行スロット)」とされており、「送出スロット(発行スロット)」という用語をVLIW命令内の各命令がマッピングされる位置について用いているが、「VLIW命令内の各送出スロット(発行スロット)がそれぞれ1つの機能ユニットに対応」するものであるから、「送出スロット(発行スロット)」という用語を、VLIW命令内の各命令がマッピングされる位置についてのみならず、当該位置に1対1に対応して処理を行う構成に対しても用いることにする。(ただし、「VLIW命令内の各送出スロット(発行スロット)」と区別するため、以下では便宜的に「演算送出スロット(演算発行スロット)」と記載することにする。)
すると、CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の機能ユニットを備えることは、それぞれが1つの機能ユニットを備える、CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット)を備えることに等しく、かつ、VLIW命令内の各送出スロット(発行スロット)がそれぞれ1つの機能ユニットに対応し、各機能ユニットのそれぞれが、当該機能ユニットに対応するVLIW命令内の送出スロット(発行スロット)の命令によって制御されることは、それぞれが1つの機能ユニットを備えた、複数の演算送出スロット(演算発行スロット)のそれぞれが、VLIW命令における命令のセットに対応した送出スロット(発行スロット)のセットの個々の送出スロット(発行スロット)によって制御されることを意味する。それゆえ、上記で引用例1に記載されているとして認定した「CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う機能ユニットであって、VLIW命令内の各送出スロット(発行スロット)がそれぞれ1つの機能ユニットに対応し、各機能ユニットのそれぞれが、当該機能ユニットに対応するVLIW命令内の送出スロット(発行スロット)の命令によって制御される、複数の機能ユニットを備え」ることは、「CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット)であって、各演算送出スロット(演算発行スロット)が1つの機能ユニットを備え、前記複数の演算送出スロット(演算発行スロット)のそれぞれが、VLIW命令における命令のセットに対応した送出スロット(発行スロット)のセットの個々の送出スロット(発行スロット)によって制御される、複数の演算送出スロット(演算発行スロット)を備え」ることであると認められる。
また、CONST処理を行う機能ユニットはCONST処理を行う演算送出スロット(演算発行スロット)に含まれるものであるから、上記で引用例1に記載されているとして認定した「CONST処理を行う機能ユニットによりロードされなければならない定数値がないことを示すNOP演算をVLIW命令内の送出スロット(発行スロット)が含んでいない場合に、CONST処理を行う機能ユニットが、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、当該命令は、CONST処理を行う機能ユニットに対応する、VLIW命令内の複数の送出スロット(発行スロット)のうちの予め定められた1つの送出スロット(発行スロット)にマッピングされ」ることは、「CONST処理を行う演算送出スロット(演算発行スロット)によりロードされなければならない定数値がないことを示すNOP演算を、VLIW命令内の送出スロット(発行スロット)が含んでいない場合に、CONST処理を行う演算送出スロット(演算発行スロット)が、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、」「定数値とデスティネーションレジスタを示すRdestからなる命令は、CONST処理を行う演算送出スロット(演算発行スロット)に対応する、VLIW命令内の送出スロット(発行スロット)のセットのうちの予め定められた1つの送出スロット(発行スロット)にマッピングされ」ることであると認められる。
同様に、CONST処理を行う機能ユニットはCONST処理を行う演算送出スロット(演算発行スロット)に含まれるものであるから、上記で引用例1に記載されているとして認定した「CONST処理を行う機能ユニットは、定数値とデスティネーションレジスタを示すRdestからなる命令に基づいて、定数値をデスティネーションレジスタにロードする処理を行って当該命令を実行するためだけに構成された単一の専用機能ユニットを備える」ことは、「CONST処理を行う演算送出スロット(演算発行スロット)は、定数値とデスティネーションレジスタを示すRdestからなる命令に基づいて、定数値をデスティネーションレジスタにロードする処理を行って当該命令を実行するためだけに構成された単一の専用機能ユニットを備える」ことであると認められる。
また、「定数値とデスティネーションレジスタを示すRdestからなる命令」によりデスティネーションレジスタにロードされた「定数値」は、CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット)の1つにおける命令の実行に必要なものであることは自明である。

結局のところ、引用例1には、次の発明(以下、「引用発明」という。)が記載されていると認められる。

「VLIW命令にグループ化され且つ並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するVLIW処理装置であって、
CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット)であって、各演算送出スロット(演算発行スロット)が1つの機能ユニットを備え、前記複数の演算送出スロット(演算発行スロット)のそれぞれが、VLIW命令における命令のセットに対応した送出スロット(発行スロット)のセットの個々の送出スロット(発行スロット)によって制御される、複数の演算送出スロット(演算発行スロット)を備え、
CONST処理を行う演算送出スロット(演算発行スロット)によりロードされなければならない定数値がないことを示すNOP演算を、VLIW命令内の送出スロット(発行スロット)が含んでいない場合に、CONST処理を行う演算送出スロット(演算発行スロット)が、定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードするように構成されており、前記定数値は、CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット)の1つにおける命令の実行に必要であり、定数値とデスティネーションレジスタを示すRdestからなる命令は、CONST処理を行う演算送出スロット(演算発行スロット)に対応する、VLIW命令内の送出スロット(発行スロット)のセットのうちの予め定められた1つの送出スロット(発行スロット)にマッピングされ、
CONST処理を行う演算送出スロット(演算発行スロット)は、定数値とデスティネーションレジスタを示すRdestからなる命令に基づいて、定数値をデスティネーションレジスタにロードする処理を行って当該命令を実行するためだけに構成された単一の専用機能ユニットを備える、
ことを特徴とする装置。」

3.引用例2に記載されている技術的事項
当審が平成23年5月20日付け拒絶理由通知において引用した国際公開第02/29562号(2002年4月11日国際公開。以下、「引用例2」という。)には、図面とともに以下の技術事項が記載されている。(なお、仮訳は、引用例2のパテントファミリである特表2004-511043号公報を参考にして当審で作成した。)

(2の1)
「…(前略)…the VLIW instruction format consists of a concatenation of a plurality of issue slots…(後略)…」
(明細書第3頁第4行目?同頁第5行目。
仮訳:VLIW命令のフォーマットは複数の発行スロットの連結から構成される。)

(2の2)
「According to Fig.1, the architecture comprises seven functional unit clusters US1 to US7, wherein each functional unit cluster comprises at least one functional unit…(後略)…」
(明細書第5頁第1行目?同頁第2行目。
仮訳:図1によれば、アーキテクチャは、7つの機能ユニットクラスタUC1?UC7を有する。各機能ユニットクラスタは少なくとも1つの機能ユニットを有する。)

(2の3)
「In fig 1, the first functional unit cluster UC1 comprises a first arithmetic logical unit ALU1 for performing arithmetic and logical operations, a first load/store unit L/S1 for performing loading and storeing operations, a first branch unit BU1 required for performing branching operations, and a multiplication unit MUL1 for performing multiplication operations.…(後略)…」
(明細書第5頁16行目?同頁第20行目。
仮訳:図1では、第1の機能ユニットクラスタUC1は、算術演算及び論理演算を行うための第1の算術論理ユニットALU1と、ロード処理とストア処理を行うための第1のロード/ストアユニットL/S1と、分岐処理を行うための第1の分岐ユニットBU1と、乗算を行うための乗算ユニットMUL1とを有する。)

(2の4)
「Each functional unit cluster corresponds to an operation issue slot of the processor core and contains a parametrizable number of functional units. In every cycle, at most one operation can be started on one of the functional units in the cluster.」
(明細書第5頁31行目?同頁第33行目。
仮訳:それぞれの機能ユニットクラスタは、プロセッサコアのオペレーションの1つの発行スロットに対応する。それぞれの機能ユニットクラスタは、パラメータ化可能な数の機能ユニットを有する。各サイクルにおいて、当該クラスタにおける1つの機能ユニットにおいて多くとも1つのオペレーションを開始することができる。)

4.引用例3に記載されている技術的事項
当審が平成23年5月20日付け拒絶理由通知において引用した特表2001-515635号公報(平成13年9月18日国内公表。以下、「引用例3」という。)には、図面とともに以下の技術事項が記載されている。

(3の1)
「VLIWプロセッサの例は、フィリップスエレクトロニクス社のTM-1000プロセッサ(TriMedia)である。…(中略)…VLIWプロセッサの場合、インストラクションの並列実行は、単一の長いインストラクションワードにおいて多重基本マシンコマンドを結合することによって得られる。…(中略)…クロックサイクルごとに、長いインストラクションワードが、ロックステップ方式で作動する並列配列の機能ユニットに供給される。コマンド内の各コマンドは、ユニット内の関連するユニットに供給される。…(中略)…
TM-1000のプロセッサは、非常に長いインストラクションワード発行レジスタの各発行スロットに、各々、コマンドを並列に発生させる。各発行スロットは、機能ユニットの各グループと、レジスタファイルへの2つの読み込みポートと1つの書き込みポートとに関連している。特定のコマンドは、特定の発行スロットに関連するグループの機能ユニットの中の特定のユニットに向けられている。」
(第6頁第8行目?同頁第22行目)

5.VLIW処理装置において1つの発行スロットに複数の機能ユニットを備える公知発明の認定
引用例2の上記(2の1)に「VLIW命令のフォーマットは複数の発行スロットの連結から構成される。」と記載され、上記(2の2)に「アーキテクチャは、7つの機能ユニットクラスタUC1?UC7を有する。各機能ユニットクラスタは少なくとも1つの機能ユニットを有する。」と記載され、上記(2の3)に「第1の機能ユニットクラスタUC1は、算術演算及び論理演算を行うための第1の算術論理ユニットALU1と、ロード処理とストア処理を行うための第1のロード/ストアユニットL/S1と、分岐処理を行うための第1の分岐ユニットBU1と、乗算を行うための乗算ユニットMUL1とを有する。」と記載され、上記(2の4)に「それぞれの機能ユニットクラスタは、プロセッサコアのオペレーションの1つの発行スロットに対応する。」と記載されている。また、引用例3の上記(3の1)に「VLIWプロセッサの例は、フィリップスエレクトロニクス社のTM-1000プロセッサ(TriMedia)である。」、「TM-1000のプロセッサは、非常に長いインストラクションワード発行レジスタの各発行スロットに、各々、コマンドを並列に発生させる。各発行スロットは、機能ユニットの各グループ…(中略)…に関連している。」と記載されている。この引用例2及び引用例3に示されるように、複数の発行スロットを有するVLIW処理装置において、1つの発行スロットに対して複数の機能ユニットを備えるようにすることは、本願優先日前に公知である(以下、この公知発明を「公知発明1」という。)。

6.引用例4に記載されている技術的事項
当審が平成23年5月20日付け拒絶理由通知において引用した特開平11-7387号公報(平成11年1月12日出願公開。以下、「引用例4」という。)には、図面とともに以下の技術事項が記載されている。

(4の1)
「【0013】本プロセッサは、VLIWプロセッサであり、32ビット固定長の命令を解読実行する。図1(a)は、本プロセッサが実行する命令50のフィールド構成を示す図である。図1(b)?図1(d)は16種類の命令フォーマットを示す図であり、そのうち、図1(b)は3オペレーション、図1(c)は2オペレーション、図1(d)は1オペレーションを同時に指定できる命令フォーマットである。」

(4の2)
「【0015】図1(b)?図1(d)において、“const”は定数であり、これが用いられるオペレーションの種類によっては即値、絶対番地、ディスプレースメント等の数値定数や文字定数を意味する。…(後略)…」

(4の3)
「【0017】また、数値を伴わない定数“const”は、本プロセッサが備える専用の32ビットレジスタ(図3に示される定数レジスタ36)に格納される定数を示す。例えば、フォーマットコードが“0”である命令フォーマットにおけるP1.0フィールド52に置かれた4ビットの定数“const”は、暗黙的に指定された定数レジスタ36に格納される定数である。」

(4の4)
「【0032】…(中略)…定数レジスタ制御部32は、フォーマットデコーダ21からの指示に基づいて命令レジスタ10に保持された4ビット又は16ビットの定数(const)を定数レジスタ36に格納する制御を行なう。」

(4の5)
「【0034】レジスタ群34は、15個の32ビット汎用レジスタ35と1個の32ビット定数レジスタ36から構成される。…(中略)…なお、定数レジスタ36に格納された値は、第1演算部37及び第2演算部38での演算に用いられる他に、PC部33にも転送され、ここで分岐先となる有効アドレスを生成するために用いられる。」

7.デスティネーションレジスタ番号の指定を必要とせずに定数(即値)をロードする公知発明の認定
引用例4の上記(4の1)に「本プロセッサは、VLIWプロセッサであり、32ビット固定長の命令を解読実行する。図1(a)は、本プロセッサが実行する命令50のフィールド構成を示す図である。図1(b)?図1(d)は16種類の命令フォーマットを示す図であり、そのうち、図1(b)は3オペレーション、図1(c)は2オペレーション、図1(d)は1オペレーションを同時に指定できる命令フォーマットである。」と記載され、上記(4の2)に「図1(b)?図1(d)において、“const”は定数であり、これが用いられるオペレーションの種類によっては即値…(中略)…を意味する。」と記載され、上記(4の4)に「命令レジスタ10に保持された4ビット又は16ビットの定数(const)を定数レジスタ36に格納する」と記載されていることから明らかなように、引用例4におけるVLIW命令には即値である定数constが含まれるものであると認められる。
さらに、上記(4の3)に「定数“const”は、本プロセッサが備える専用の32ビットレジスタ(図3に示される定数レジスタ36)に格納される定数を示す。」、「定数“const”は、暗黙的に指定された定数レジスタ36に格納される定数である。」と記載され、上記(4の5)に「レジスタ群34は、15個の32ビット汎用レジスタ35と1個の32ビット定数レジスタ36から構成される。」と記載されていることから明らかなように、引用例4には、VLIW命令に即値である定数constが含まれる一方で、VLIWプロセッサに定数レジスタ36がただ1つ存在し、VLIW命令においてデスティネーションレジスタ番号等の指定を必要とせず暗黙的にただ1つの定数レジスタ36を指定し、このVLIW命令に基づいてVLIWプロセッサはただ1つの定数レジスタ36にVLIW命令内の定数constをロードする発明が記載されていると認められる(以下、この公知発明を「公知発明2」という。)。

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

引用発明の「CONTROL処理、ALU1処理、ALU2処理、MUL処理、FPU処理、及びMEM処理のそれぞれを行う複数の演算送出スロット(演算発行スロット) 」は、本願発明の「複数の第1発行スロット」に相当する。

審判請求人は平成23年8月30日付け手続補正を行うとともに、同日付けの意見書にて「「制御語」は、特定の発行スロットに割り当てられたビットスペースを表しているのに対し、「命令」は、これらの「制御語」にマッピングされるものを表している。例えば、本願の図4等を参酌すると、制御語413、415、417、419は、それぞれ、発行スロットUC0、UC1、UC2、UC3に対応づけられており、制御語411は、専用発行スロットUC4に対応づけられている。「命令」は、ビットスペースに格納されている実情報であり、プロセッサを如何に動作させるかを定義している。「制御語」のそれぞれは、一般的に、クロックサイクルの進行と共に、種々の「命令」を含むこととなる。」という主張を行っている。これはつまり、同手続補正後の各請求項の記載において、VLIW命令内における複数の位置のそれぞれに対して「制御語」という用語を用い、その制御語たる位置にマッピングされる実情報に対して「命令」という用語を用いる旨の用語の整理を行うと主張していることに等しい。
このような用語の整理を考慮すると、引用発明の「VLIW命令における送出スロット(発行スロット)」及び「VLIW命令内の送出スロット(発行スロット)」はいずれも、VLIW命令内の複数の位置のそれぞれであるから、本願発明の「制御語」に相当し、引用発明の「命令」は、VLIW命令内の複数の位置のそれぞれの位置にマッピングされる実情報であるから、本願発明の「命令」に相当する。

引用発明の「CONST処理を行う演算送出スロット(演算発行スロット)」は、本願発明の「専用第2発行スロット」に相当する。
引用発明の「定数値」は本願発明の「即値」に相当する。
引用発明の「定数値とデスティネーションレジスタを示すRdestからなる命令」と本願発明の「即値からなる専用命令」は、即値を含む専用命令である点で一致する。
引用発明の「定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードする」ことと本願発明の「即値からなる専用命令をロードする」ことは、即値を含む専用命令から即値をロードすることである点で一致する。

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

<一致点>
VLIW命令にグループ化され且つ並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するVLIW処理装置であって、
複数の第1発行スロットであって、各第1発行スロットが機能ユニットを備え、前記複数の第1発行スロットのそれぞれが、前記命令のセットに対応した制御語のセットの個々の制御語によって制御される、複数の第1発行スロットを備え、
専用第2発行スロットによりロードされなければならない即値がないことを示すNOP演算を、前記制御語が含んでいない場合に、専用第2発行スロットが、即値を含む専用命令から即値をロードするように構成されており、前記即値は、前記複数の第1発行スロットの1つにおける命令の実行に必要であり、前記専用命令は、前記専用第2発行スロットに対応する前記制御語のセットのうちの予め定められた1つの制御語にマッピングされ、
前記専用第2発行スロットが、前記専用命令を実行するためだけに構成された単一の専用機能ユニットを備える、
ことを特徴とする装置。

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

<相違点1>
各第1発行スロットが機能ユニットを備えることに関して、本願発明では「各第1発行スロットが複数の機能ユニットを備え」るのに対して、引用発明では「各演算送出スロット(演算発行スロット)が1つの機能ユニットを備え」る点。

<相違点2>
即値を含む専用命令に関して、本願発明では「即値からなる専用命令」であるのに対して、引用発明では「定数値とデスティネーションレジスタを示すRdestからなる命令」である点。これに伴い、即値を含む専用命令から即値をロードすることに関して、本願発明では「即値からなる専用命令をロードする」ものであるのに対し、引用発明では「定数値とデスティネーションレジスタを示すRdestからなる命令から定数値をロードする」ものである点。

第5.判断
上記した相違点1及び2について検討する。

1.相違点1について
公知発明1として既に示したように、引用例2及び引用例3には、複数の発行スロットを有するVLIW処理装置において、1つの発行スロットに対して複数の機能ユニットを備える発明が記載されている。
引用発明も公知発明1もともに、複数の(演算)発行スロットを有するVLIW処理装置であるから、引用発明に公知発明1を適用して、引用発明においても、各演算送出スロット(演算発行スロット)が複数の機能ユニットを備えるように設計変更することに特段の困難性はない。
よって、上記相違点1は格別のものではない。

2.相違点2について
公知発明2として既に示したように、引用例4には、VLIW命令に即値である定数constが含まれる一方で、VLIWプロセッサに定数レジスタがただ1つ存在し、VLIW命令においてデスティネーションレジスタ番号等の指定を必要とせず暗黙的にただ1つの定数レジスタを指定し、このVLIW命令に基づいてVLIWプロセッサはただ1つの定数レジスタにVLIW命令内の定数constをロードする発明が記載されている。
引用発明も公知発明2もともに、VLIW処理装置において、VLIW命令内に即値を有し、その即値をレジスタにロードすることに関するものであるから、引用発明に公知発明2を適用することにより、引用発明において、定数値をロードするデスティネーションレジスタをただ1つ存在するようにして、「定数値とデスティネーションレジスタを示すRdestからなる命令」からデスティネーションレジスタを示すRdestを削除して、定数値のみからなる命令となるように変更し、これに伴い、定数値のみからなる命令をロードするように変更することに、特段の困難性はない。
よって、上記相違点2は格別のものではない。

3.小括
上記1.と上記2.で示したように、上記相違点1及び上記相違点2は格別のものではない。
また、本願発明が有する効果は、引用発明、(引用例2及び引用例3に記載された)公知発明1、及び、(引用例4に記載された)公知発明2から当業者が予測できた範囲内のものである。

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

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

よって、結論のとおり審決する。
 
審理終結日 2011-10-19 
結審通知日 2011-10-21 
審決日 2011-11-01 
出願番号 特願2004-539270(P2004-539270)
審決分類 P 1 8・ 121- WZ (G06F)
最終処分 不成立  
前審関与審査官 塚田 肇鳥居 稔漆原 孝治  
特許庁審判長 赤川 誠一
特許庁審判官 石井 茂和
清木 泰
発明の名称 処理装置、処理方法及びコンパイラ  
代理人 佐藤 泰和  
代理人 赤岡 明  
代理人 関根 毅  
代理人 勝沼 宏仁  
代理人 川崎 康  
  • この表をプリントする

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