特許拒絶査定不服審判
2022-009964
ループ命令集合を処理するための方法、装置、機器及び記憶媒体
- 審判番号
- 2022-009964
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2019-235473外部サイト(J-PlatPat)へ移動します
- 請求日
- 2022年06月29日
- 審決日
- 2023年07月25日
- 公報発行日
- 2024年01月26日
- 結論
- 請求不成立
- 当事者
- 【請求人】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
- 【請求人代理人】上田 邦生
- 【請求人】クンルンシン テクノロジー (ベイジン) カンパニー リミテッド
- 【請求人代理人】上田 邦生
- 分類
- P18 .537-WZ (G06F) / P18 .121-WZ (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第36条第6項第2号、特許法第29条、特許法第36条第6項、特許法第29条第2項
- データ出所
- 審決公報(XML)
事件の表示
特願2019-235473「ループ命令集合を処理するための方法、装置、機器及び記憶媒体」拒絶査定不服審判事件〔令和 3年 1月14日出願公開、特開2021- 5355〕について、次のとおり審決する。
結論
結 論
本件審判の請求は、成り立たない。
理由
理 由
第1 手続の経緯
本願は、令和元年12月26日(パリ条約による優先権主張 2019年6月26日(以下、「本願優先日」という。) 中国)に出願された特願2019-235473号であり、その手続の経緯は、概略、以下のとおりである。
令和3年 2月 8日付け:拒絶理由通知
令和3年 5月12日 :意見書、手続補正書の提出
令和3年 7月 1日付け:拒絶理由通知書
令和3年10月 5日 :意見書、手続補正書の提出
令和4年 2月25日付け:拒絶査定
令和4年 6月29日 :審判請求書の提出
令和4年12月 9日付け:拒絶理由通知書
令和5年 3月10日 :意見書、手続補正書の提出
令和5年 3月23日付け:拒絶理由通知書
令和5年 6月28日 :意見書の提出
第2 本願発明
令和5年3月10日に提出された手続補正書に係る補正によって補正された特許請求の範囲の請求項1ないし6は、以下のとおりである。
「 【請求項1】
ループ命令集合の第1開始命令が取得されたことに応答して、前記ループ命令集合に関連する第1ループ回数を第1レジスタに記憶し、前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値を第2レジスタに記憶するステップと、
前記ループ命令集合内の第1開始命令の後のループ命令を取得して前記ループ命令を実行するステップと、
前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答して、前記第1レジスタ内の前記第1ループ回数と前記第2レジスタ内の前記第1プログラムカウンター値とに基づいて前記ループ命令集合を循環的に実行することを決定するステップと、
を備え、
前記ループ命令集合を循環的に実行することを決定するステップが、
前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップを含み、
前記ループ命令集合内の第1開始命令の後のループ命令を取得するステップが、
サブループ命令集合が取得されたことに応答して、サブループ命令集合を実行するステップを含み、
前記サブループ命令集合を実行するステップが、
前記サブループ命令集合内の第2開始命令が取得されたことに応答して、前記サブループ命令集合に関連する第2ループ回数を第3レジスタに記憶し、前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値を第4レジスタに記憶するステップと、
前記サブループ命令集合内の前記第2開始命令の後のサブループ命令を取得してサブループ命令を実行するステップと、
前記サブループ命令集合の終了を示す第2終了命令が取得されたことに応答して、前記第3レジスタ内の前記第2ループ回数と前記第4レジスタ内の前記第2プログラムカウンター値とに基づいて前記サブループ命令集合を循環的に実行することを決定するステップと、を含み、
前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の次のループ命令を取得するステップが、
前記ループ命令集合の終了を示す前記第1終了命令が取得されたことに応答して、前記第1ループ回数が閾値より大きいか否かを決定するステップと、
前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ、前記ループ命令集合を再実行するように、前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するステップと、を含む、ループ命令集合を処理するための方法。
【請求項2】
前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップが、
前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するステップをさらに含む請求項1に記載の方法。
【請求項3】
ループ命令集合の第1開始命令が取得されたことに応答して、前記ループ命令集合に関連する第1ループ回数を第1レジスタに記憶し、前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値を第2レジスタに記憶するように構成される第1記憶モジュールと、
前記ループ命令集合内の第1開始命令の後のループ命令を取得して前記ループ命令を実行するように構成されるループ命令取得モジュールと、
前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答して、前記第1レジスタ内の前記第1ループ回数と前記第2レジスタ内の前記第1プログラムカウンター値とに基づいて前記ループ命令集合を循環的に実行することを決定するように構成される第1ループ決定モジュールと、
を備え、
前記第1ループ決定モジュールが、ループ回数比較モジュールが前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するように構成され、
ループ命令取得モジュールが、
サブループ命令集合が取得されたことに応答して、サブループ命令集合を実行するように構成されるサブループ命令集合実行モジュールを含み、
サブループ命令集合実行モジュールが、
前記サブループ命令集合内の第2開始命令が取得されたことに応答して、前記サブループ命令集合に関連する第2ループ回数を第3レジスタに記憶し、前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値を第4レジスタに記憶するように構成される第2記憶モジュールと、
前記サブループ命令集合内の前記第2開始命令の後のサブループ命令を取得して前記サブループ命令を実行するように構成されるサブループ命令取得モジュールと、
前記サブループ命令集合の終了を示す第2終了命令が取得されたことに応答して、前記第3レジスタ内の前記第2ループ回数と前記第4レジスタ内の前記第2プログラムカウンター値とに基づいて前記サブループ命令集合を循環的に実行することを決定するように構成される第2ループ決定モジュールと、
を備え、
前記第1ループ決定モジュールが、
前記ループ命令集合の終了を示す前記第1終了命令が取得されたことに応答して、前記第1ループ回数が閾値より大きいか否かを決定するように構成されるループ回数比較モジュールと、
前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ、前記ループ命令集合を再実行するよう前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するように構成される回数減少・取得モジュールと、
を含む、ループ命令集合を処理するための装置。
【請求項4】
前記第1ループ決定モジュールが、
前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するように構成される命令取得モジュールをさらに含む請求項3に記載の装置。
【請求項5】
電子機器であって、
少なくとも2つのレジスタを含む一つまたは複数のプロセッサと、
一つまたは複数のプログラムを記憶する記憶装置と、を備え、
前記一つまたは複数のプログラムが前記一つまたは複数のプロセッサによって実行される場合に、前記一つまたは複数のプロセッサが請求項1または2に記載のループ命令集合を処理するための方法を実現する電子機器。
【請求項6】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサによって実行される場合に、請求項1または2に記載のループ命令集合を処理するための方法が実現されるコンピュータ読み取り可能な記憶媒体。」
第3 拒絶の理由
令和5年3月23日付けで当審が通知した拒絶理由は、次のとおりのものである。
(理由1)明確性要件違反
この出願は、特許請求の範囲の記載が以下の点で、特許法第36条第6項第2号に規定する要件を満たしていない。
(1)請求項1及び3に記載の「前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ」において、「第1ループ回数を徐々に減少させ」るとは、どのような処理であるのか、明細書(特に、【0038】、【0048】)及び図面(特に、【図3】)の記載並びに本願優先日における技術常識を参酌しても、明確ではない。
(2)請求項2の記載において、「前記ループ命令集合の終了を示す…(中略)…前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップ」が、「前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するステップ」をさらに含むことは、概略、ループを再実行するステップが、ループを終了するステップを含む、というものであるから、技術的に矛盾している。
よって、引用形式の請求項を含め、請求項1ないし6に係る発明は、明確ではない。
(理由2)進歩性欠如
本願の請求項1ないし6に係る発明は、本願の出願前に日本国内又は外国において、頒布された又は電気通信回線を通じて公衆に利用可能となった以下の引用文献1に記載された発明に基いて、以下の引用文献2及び3に記載された周知技術を参酌することにより、その出願前にその発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明をすることができたものであるから、特許法29条2項の規定により特許を受けることができない。
引用文献1:特公昭61-8451号公報
引用文献2:特開2010-277124号公報
引用文献3:特開2005-352755号公報
第4 理由1(明確性要件違反)について
理由1の(2)に関し、請求項2は、「前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップが、
前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するステップをさらに含む請求項1に記載の方法。」というものである。
ここで、「前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップ」は、「第1終了命令」を取得した場合に「ループ命令集合」のうち「第1プログラムカウンター値」に対応するアドレスに戻って「ループ命令集合を再実行」することを意味している。
一方、請求項2に記載の「前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するステップ」は、「ループ命令集合の後の命令を取得する」ため、「ループ命令集合」の実行を終了した(当該ループを脱した)ことを意味している。
よって、「前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するステップ」が「前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得するステップ」を「さらに含む」ことを規定する請求項2の記載は、排他的な2つの事項のうちの一方が他方を含むことを規定するものであるから、当該2つの事項を整合的に理解することができない。
よって、請求項2に係る発明は、依然として明確ではない。
また、請求人は、令和5年6月28日に提出した意見書において、理由1の(2)に関しては何らの主張もしていない。
よって、請求項2に係る発明は、依然として明確ではないから、特許法第36条第6項第2号に規定する要件を満たしていないので特許を受けることができない。
第5 理由2(進歩性欠如)について
1 優先権主張について
本願は、優先権主張番号201910559268.1(2019年6月26日)に係る中国における出願に基づく優先権主張を伴うものであるが、請求項1及び3に記載の「前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ」及び明細書の【0048】に記載の「第1レジスタ内の第1ループ回数を徐々に減少させ」において、「徐々に」に対応する事項は、上記出願に係る明細書、特許請求の範囲及び図面には記載も示唆もなく、本願優先日における技術常識を参酌しても、記載されていることが自明とも認められない。
したがって、新規性、進歩性等に係る判断にあたって、本願は、上記優先権主張に係る利益を享受することができない。(もっとも、以下の引用文献1ないし3はいずれも本願優先日より先に公知となったものであるので、理由2(進歩性)についての判断は、本願が、上記優先権主張に係る利益を享受できるか否かに左右されない。)
2 引用文献の記載及び引用発明
(1)引用文献1について
ア 引用文献1記載事項
引用文献1には、図面とともに、次の事項が記載されている。なお、下線は、強調のため当審が付与した。(以降においても同様。)
また、引用文献1においては、促音又は拗音を表す小さい字(「っ」、「ッ」 等)がすべて大きい字(「つ」、「ツ」等)で表記されているが、可読性のため、以下では、いずれも小さい字に書き換えることとした。
(ア)「特許請求の範囲
1 入子型ループを含む命令のプログラムを実行するための装置であって、プログラム中の各ループに先行して第1の形式(LNC)の命令が設けられており、各ループ中には、プログラム中のループの終了およびそれによって生ずる条件付分岐点が第2の形式(DCC)の命令によって示されており、各第1の形式の命令は、そのアドレス指定部分にプログラムの実行中に実行されるべき次に続くループのくり返し数を表わす初期数値を含んでおり、
プログラムの実行中に実行されるべき次のプログラム命令を含んでいるメモリ位置のアドレスを受入れ、記憶するための命令アドレス手段と、各メモリ位置から取出された命令を表わす信号を記憶するための演算部およびアドレス部を具えた命令実行レジスタ手段と、
上記第1の形式または第2の形式の命令が上記命令実行レジスタ手段中に存在することに応答してそれぞれ第1あるいは第2の制御信号を発生するタイミング手段を含む制御手段と、
上記命令アドレス手段に結合されていて、第3の制御信号の各々に応答して上記命令アドレス手段から各ループ中の第1の命令のアドレスを受入れ、これを受入れた順序で記憶するためのスタック・レジスタ手段と、
上記制御手段内にあって上記第1および第2の制御信号に応答するゲート手段と、からなり、上記スタック・レジスタ手段はそこに受入れた最新の命令アドレスを発生するための出力手段を有し、且つ第4の制御信号に応答して、当該スタック・レジスタ手段に記憶されたアドレスを、そこに予め記憶されたアドレスの受入れ順序と逆の順序で上記出力手段に発生し、
上記ゲート手段は上記制御手段からの各第1の制御信号に応答する初期数値入力手段を有し、(a)上記スタック・レジスタ手段に各プログラム・ループの第1の命令のアドレスを記憶させるために上記第3の制御信号の各1つを発生し、また(b)第1の形式の命令が取出されて上記命令実行レジスタ手段中に記憶されると、プログラム中の各ループに対応する計数器群の各1つに上記各第1の形式の命令のアドレス指定部分に記憶された初期数値を記憶させ、
上記ゲート手段は、上記制御手段からの各第2の制御信号に応答して、命令実行レジスタ中に現在存在する第2の形式の命令によって、終了したループに対応する計数器群のうちの1つの計数値を減少させるための減算装置を含み、
また上記ゲート手段は、該減算装置の動作に後続して動作し、上記第2の制御信号に応答して(a)各くり返し計数器の内容が各ループの最初に指定されたくり返し数の完結を示すと第5の制御信号を発生させ、あるいは(b)各くり返し計数器の内容が各ループの最初に指定されたくり返し数が完結していないことを示すと第6の制御信号を発生させる試験装置を含み、
さらに上記ゲート手段は、上記第2の制御信号および第6の制御信号に応答して、上記命令アドレス手段中のメモリ・アドレスを上記スタック・レジスタ手段の出力に存在するメモリ・アドレスと交換するために、上記スタック・レジスタ手段の出力を上記命令アドレス手段の入力に結合するための手段と、上記第5の制御信号および第2の制御信号に応答して上記第4の制御信号を発生する手段とを含み、
それによってプログラムの実行中に第2の形式の命令の検出によって示される各条件付分岐点に到達すると、上記スタック・レジスタ手段の出力から得られたアドレスに従って(a)プログラムに戻るべきか、あるいは(b)各ループの第1の命令のメモリ位置に分岐すべきかを決定する、プログラムされた命令の実行装置。」
(イ)4ページ右欄第13~33行
「 ループ命令の実行を容易にするために、第1図に示すように、電算機の論理回路にプッシュ・ポップ・スタック15と計数器群17が付加されている。プッシュ・ポップ・スタックとは下方(プッシュ)または上方(ポップ)に転送の切換のできるレジスタ・スタックであって、ラスト・イン・ファースト・アウト(後入れ先出し)レジスタと呼ぶこともある。プッシュ動作では、スタック・ワードA(SWA)と呼ばれる最上段のレジスタがSWA入力線上の入来信号の値にセットされ、SWA中の前のアドレスがスタック・ワードB(SWB)と称する次段のレジスタに転送され、SWBの以前の内容はスタック・ワードC(SWC)と称する第3段目のレジスタに転送され、そのSWCの以前の内容はスタック・ワードD(SWD)と称する第4段目のレジスタに転送され、そのSWDの内容はなくなる。ポップ動作では、SWBの内容がSWAへ、SWCの内容がSWBへ、SWDの内容がSWCへ移動し、SWAの内容がSWA出力線に出力信号として与えられる。」
(ウ)第6ページ左欄第18~40行
「 さらに、ゲート伝搬遅れを考慮して遅延素子48により与えられた短時間の後、アンドゲート410、411が指令信号DCCにより付勢される。試験された計数器の内容が零であれば、アンドゲート410が開かれてスタックがポップされる。このフェッチ・サイクルにより次の命令が第1図のプログラム計数器10の内容によって示されるように順次取り出される。また、試験された計数器の内容が零でなければ、オアゲート49の論理零出力信号がインバータ44により反転され、アンドゲート411をを開く。アンドゲート411の出力信号は、第1図に示すように、スタック・ワードAをプログラム計数器に送り込む制御信号G3である。これによってプログラムが現ループの始点に戻る。
上記回路から、もし上述の第1のループに第2のループが入り込んでおればLNC命令によって制御信号G7により入子型ループの繰返し数が計数器C2にセットされる。また、次のDCC命令により計数器C2が減算計数されて試験され、その内容が零になってその時ポップ命令が4進表示計数器41を計数器C1の点まで減算計数させるまでその都度入子型のループ命令を実行する。」
(エ)第1図
「
[図:0001405282000001.jpg]
」
(オ)第4図
「
[図:0001405282000002.jpg]
」
イ 引用発明
前記ア(イ)の「プッシュ・ポップ・スタック15」及び「レジスタ・スタック」並びに前記ア(ウ)の「スタック」は、前記ア(ア)の「スタック・レジスタ手段」と同一視することができ、また、前記ア(ウ)の「指令信号DCC」は、前記ア(ア)の「第2の形式(DCC)の命令」と同一視することができる。
よって、前記アより、引用文献1には、次の発明(以下、「引用発明」という。)が記載されていると認められる。
「 入子型ループを含む命令のプログラムを実行するための装置であって、プログラム中の各ループに先行して第1の形式(LNC)の命令が設けられており、
各ループ中には、プログラム中のループの終了およびそれによって生ずる条件付分岐点が第2の形式(DCC)の命令によって示されており、各第1の形式の命令は、そのアドレス指定部分にプログラムの実行中に実行されるべき次に続くループのくり返し数を表わす初期数値を含んでおり、
プログラムの実行中に実行されるべき次のプログラム命令を含んでいるメモリ位置のアドレスを受入れ、記憶するための命令アドレス手段と、各メモリ位置から取出された命令を表わす信号を記憶するための演算部およびアドレス部を具えた命令実行レジスタ手段と、
上記第1の形式または第2の形式の命令が上記命令実行レジスタ手段中に存在することに応答してそれぞれ第1あるいは第2の制御信号を発生するタイミング手段を含む制御手段と、
上記命令アドレス手段に結合されていて、第3の制御信号の各々に応答して上記命令アドレス手段から各ループ中の第1の命令のアドレスを受入れ、これを受入れた順序で記憶するためのスタック・レジスタ手段と、
上記制御手段内にあって上記第1および第2の制御信号に応答するゲート手段と、からなり、上記スタック・レジスタ手段はそこに受入れた最新の命令アドレスを発生するための出力手段を有し、且つ第4の制御信号に応答して、当該スタック・レジスタ手段に記憶されたアドレスを、そこに予め記憶されたアドレスの受入れ順序と逆の順序で上記出力手段に発生し、
上記ゲート手段は上記制御手段からの各第1の制御信号に応答する初期数値入力手段を有し、(a)上記スタック・レジスタ手段に各プログラム・ループの第1の命令のアドレスを記憶させるために上記第3の制御信号の各1つを発生し、また(b)第1の形式の命令が取出されて上記命令実行レジスタ手段中に記憶されると、プログラム中の各ループに対応する計数器群の各1つに上記各第1の形式の命令のアドレス指定部分に記憶された初期数値を記憶させ、
上記ゲート手段は、上記制御手段からの各第2の制御信号に応答して、命令実行レジスタ中に現在存在する第2の形式の命令によって、終了したループに対応する計数器群のうちの1つの計数値を減少させるための減算装置を含み、
また上記ゲート手段は、該減算装置の動作に後続して動作し、上記第2の制御信号に応答して(a)各くり返し計数器の内容が各ループの最初に指定されたくり返し数の完結を示すと第5の制御信号を発生させ、あるいは(b)各くり返し計数器の内容が各ループの最初に指定されたくり返し数が完結していないことを示すと第6の制御信号を発生させる試験装置を含み、
さらに上記ゲート手段は、上記第2の制御信号および第6の制御信号に応答して、上記命令アドレス手段中のメモリ・アドレスを上記スタック・レジスタ手段の出力に存在するメモリ・アドレスと交換するために、上記スタック・レジスタ手段の出力を上記命令アドレス手段の入力に結合するための手段と、上記第5の制御信号および第2の制御信号に応答して上記第4の制御信号を発生する手段とを含み、
それによってプログラムの実行中に第2の形式の命令の検出によって示される各条件付分岐点に到達すると、上記スタック・レジスタ手段の出力から得られたアドレスに従って(a)プログラムに戻るべきか、あるいは(b)各ループの第1の命令のメモリ位置に分岐すべきかを決定し、
前記スタック・レジスタ手段は、ラスト・イン・ファースト・アウト(後入れ先出し)レジスタと呼ぶこともあり、プッシュ動作では、スタック・ワードA(SWA)と呼ばれる最上段のレジスタがSWA入力線上の入来信号の値にセットされ、ポップ動作では、SWAの内容がSWA出力線に出力信号として与えられ、
前記第2の形式の命令により、試験された計数器の内容が零であれば、前記スタック・レジスタ手段がポップされ、このフェッチ・サイクルにより次の命令が順次取り出され、
第1のループに第2のループが入り込んでおればLNC命令によって制御信号G7により入子型ループの繰返し数が計数器C2にセットされ、また、次のDCC命令により計数器C2が減算計数されて試験され、その内容が零になってその時ポップ命令が4進表示計数器41を計数器C1の点まで減算計数させるまでその都度入子型のループ命令を実行する、
装置。」
(2)引用文献2、引用文献3及び周知技術について
ア 引用文献2について
引用文献2には、図面とともに、以下の事項が記載されている。
「【請求項1】
命令をデコードする命令デコード部と、
デコード結果に基づいて、第1のループ処理で実行される命令の開始アドレスが設定される第1のループ開始アドレス用レジスターと、
デコード結果に基づいて、前記第1のループ処理で実行される命令の命令数が設定される第1のループ命令数レジスターと、
デコード結果に基づいて、前記第1のループ処理のループ回数が設定される第1のループ回数レジスターと、
デコード結果に基づいて、第2のループ処理で実行される命令の開始アドレスが設定される第2のループ開始アドレス用レジスターと、
デコード結果に基づいて、前記第2のループ処理で実行される命令の命令数が設定される第2のループ命令数レジスターと、
デコード結果に基づいて、前記第2のループ処理のループ回数が設定される第2のループ回数レジスターと、
デコード結果に基づいて、前記第1のループ処理及び前記第2のループ処理を実行する命令実行部とを含み、
前記第1のループ処理のループ回数変更命令がフェッチされデコードされた場合には、ループ回数変更命令で指定される増減値だけ前記第1のループ回数レジスターの値が増減され、
前記第2のループ処理のループ回数変更命令がフェッチされデコードされた場合には、ループ回数変更命令で指定される増減値だけ前記第2のループ回数レジスターの値が増減されることを特徴とする演算装置。」
「【0059】
図3に示すフローチャートでは、ループ命令数及びループ回数を1からカウントしていくのではなく、第1、第2のループ命令数レジスター110、210及び第1、第2のループ回数レジスター120、220にループ命令による設定値をセットして、命令が実行される毎に各レジスターの値をデクリメント(1を減算)する手法をとる。しかし、この手法に限定されるものではなく、初期値を1として命令が実行される毎に各レジスターの値をインクリメント(1を加算)する手法をとることもできる。
【0060】
図3のステップB1では、ループ命令が実行されると、ループ命令に基づいてループ命令数レジスター110にループ命令数をセットする。さらにステップB2では、ループ命令に基づいてループ回数レジスター120にループ回数をセットする。
【0061】
次に、ステップB3では、ループ回数レジスター120の値をデクリメントする。ステップB4では、命令が実行される毎にループ命令数レジスター110の値をデクリメントする。
【0062】
ステップB5では、制御信号を出力して、動作中のカウント制御回路を除く1又は複数のカウント制御回路(他のカウント制御回路)の更新処理を停止させる。ただし、ループの最終回では更新処理の停止を解除する。上述したように、2重ループの場合に、この制御信号によって外側のループ(例えば図1(B)の第1のループ)のカウントを停止させることができる。この更新処理の停止及び停止の解除の制御は、ループ命令数レジスター110及びループ回数レジスター120の値により行ってもよいし、カウント制御回路が動作中であることを示すフラグを設けることにより行ってもよい。
【0063】
ステップB6では、ループ命令数レジスター110の値が0より大きいかどうか判断する。0より大きい場合、すなわち、まだループの最後の命令が実行されていない場合には、ステップB4に戻って、次の実行命令が実行されて、ループ命令数レジスター110の値をデクリメントする。一方、ループ命令数レジスター110の値が0である場合には、ループの最後の命令が実行された場合であるから、ステップB7に進む。
【0064】
ステップB7では、ループ回数レジスター120の値が0より大きいかどうか判断する。0より大きい場合、すなわち、まだループが所定の回数分実行されていない場合には、ステップB8に進む。一方、ループ回数レジスター120の値が0である場合には、ループが所定の回数分実行された場合であるから、ループ処理は終了する。
【0065】
ステップB8では、ループ命令数レジスター110にループ命令数(ステップB1でセットしたループ命令数)を再度セットする。
【0066】
ステップB9では、アドレス選択信号をアクティブにし、ステップB3に戻る。ステップB3では、ループ回数レジスター120の値をデクリメントして、次回のループ処理が実行される。ここでアドレス選択信号は、プログラムカウンター160の値をループ開始アドレスに戻すための信号である。具体的には、プログラムカウンター制御回路130が、上記アドレス選択信号を受けて、プログラムカウンター160にループ開始アドレスをセットする。このようにして、ループの最初の命令に戻って再び処理が実行される。」
「【図2】
[図:0001405282000003.jpg]
」
「【図3】
[図:0001405282000004.jpg]
」
イ 引用文献3について
引用文献3には、図面とともに、以下の事項が記載されている。
「【0009】
図1において、ループ制御装置は、プログラムカウンタ1-1、1-2、1-3、プログラムカウンタ選択部2、命令メモリ3、命令デコード部4、命令実行部5、ループ差分レジスタ6、ループカウンタ7、プログラムカウンタ選択信号生成部(以下選択信号生成部と略称)8、ループ情報スタック9、スタック制御部10、プログラムカウンタ更新部11、マルチプレクサ12、加算器13、第1の比較器群14、第2の比較器群15、マルチプレクサ群16、第3の比較器群17、減算器18を備えている。尚、図1では全ての接続を図示しているわけではなく、説明に必要な代表的な接続のみを図示している。」
「【0011】
ループ差分レジスタ6(後述のオフセットレジスタOFSTに相当)は、ループスタートアドレスとループエンドアドレスの差分を保持する。ループカウンタ7(後述のループレジスタLPに相当)は、命令のループ回数を保持する。ループ差分レジスタ6及びループカウンタ7は、各々3つずつ設けられており、命令実行部5により所定値が設定される。選択信号生成部8は、命令実行部5が生成する選択許可信号に基づき、命令実行毎にプログラムカウンタ選択部2に送出するプログラムカウンタ選択信号を生成する。
【0012】
ループ情報スタック9は、ループ情報を格納する。即ち、ループ情報スタック9は、ループ実行中であることを示すフラグ(IN_USE(0),IN_USE(1),IN_USE(2))と、ループ命令を実行したプログラムカウンタを示す識別子(即ちプログラムカウンタ選択信号の値)(PC_SEL(0),PC_SEL(1),PC_SEL(2))と、ループ命令がどのループカウンタ及びループ差分レジスタを使用するかを示す識別子(LP_SEL(0),LP_SEL(1),LP_SEL(2))と、ループ命令が実行された際のプログラムカウンタ値とループカウンタ及びループ差分レジスタを示す識別子によって示されるループ差分レジスタ6の値を加算した値(即ちループエンドアドレス)(LP_END(0),LP_END(1),LP_END(2))を保持する。」
「【0064】
命令実行部5により、ループレジスタLPとオフセットレジスタOFSTにそれぞれ所定値をロードし、ループ命令を実行することによりループ内に入る。プログラムカウンタが進行してプログラムカウンタの値がオフセットレジスタOFSTに格納された値分だけ進んだときに、プログラムカウンタの値をループ命令の次の命令を示すアドレスに更新する。即ち、プログラムカウンタの値から「オフセットレジスタOFSTの値-1」を減算すると共にループレジスタLPの値を1減算する。ループレジスタLPの値が1である場合は、ループレジスタLPをクリアすると共にループを脱出する。即ち、プログラムカウンタの値に単に1加算する。」
「【0069】
プログラムカウンタの値が進んで、ループ命令に対応するループエンドアドレスに到達(一致)すると、第2の比較器群15の出力match_end(0)が”1”となり、現在選択中のプログラムカウンタの識別子と、ループ情報スタック9に格納されている情報から現在ループ状態にあることが示されているプログラムカウンタの識別子とが同一であることから、第1の比較器群14の出力match_pc(0)とループ情報スタック9の出力in_use(0)が共に”1”であるため、ループエンドが検出される(ステップS3)。このとき、第3の比較器群17により、ループ情報スタック9のLP_SEL(0)に基づいてマルチプレクサ群16で選択される出力が1と一致しているか否かが比較され、該出力が1である場合、lp_exp(0)信号が”1”となる。
【0070】
lp_exp(0)信号が”1”の場合(ステップS4の判定が”1”)、ループ命令の満了(終了)を意味するので、スタック制御部10は、減算器18を操作してループレジスタLP(0)をデクリメント(即ち0にクリア)すると共に、ループ情報スタック9のIN_USE(0)をクリアし、内部的なスタックポインタを1から0に更新する(ステップS5)。
【0071】
lp_exp(0)信号が”0”の場合(ステップS4の判定が”0”)、ループ命令の継続を意味するので、スタック制御部10は、減算器18を操作してループレジスタLP(0)をデクリメントすると共に、プログラムカウンタ更新部11に対しloop_back信号をアサートする。プログラムカウンタ更新部11は、上述したように、lp_back_pc即ちPC-OFST+1をPCにロードする(ステップS6)。これにより、プログラムカウンタはループ命令の次の命令を示すようになる。」
「【図1】
[図:0001405282000005.jpg]
」
「【図22】
[図:0001405282000006.jpg]
」
「【図23】
[図:0001405282000007.jpg]
」
ウ 周知技術
引用文献2(特に、【請求項1】、【図2】)には、「第1のループ処理のループ回数が設定される第1のループ回数レジスター」(120)と「第2のループ処理のループ回数が設定される第2のループ回数レジスター」(220)に加え、「第1のループ処理で実行される命令の開始アドレスが設定される第1のループ開始アドレス用レジスター」(140)と、「第2のループ処理で実行される命令の開始アドレスが設定される第2のループ開始アドレス用レジスター」(150)を備える演算装置が記載されている。
また、引用文献3(特に、【0009】、【0011】、【0064】、【0069】~【0071】、【図1】)には、ループ情報によって識別されるプログラムカウンタ(1-1、1-2、1-3)と、ループレジスタ(LP(0)、LP(1)、LP(2))と、オフセットレジスタ(OFST(0)、OFSET(1)、OFSET(2))とを有し、ループエンドアドレスに到達すると、識別されたプログラムカウンタの値(PC)に「オフセットレジスタOFSTの値-1」を減算した値をプログラムカウンターにロードすることが記載されているところ、プログラムカウンタにロードした値は、実行中のループの先頭アドレスであるから、プログラムカウンタとオフセットレジスタとを3つずつ備えることは、実質的に、ループの先頭アドレスの値をループ毎に格納するレジスタを備えていることに等しい。
以上からすると、以下の事項は、本願出願時(又は優先日前)における周知技術と認められる。
(周知技術1)
複数のループのループ毎に、ループ回数を格納及び計数するためのレジスタに加え、ループの先頭の命令のアドレスを格納するレジスタを設けること。
また、引用文献2(特に、【0063】~【0066】、【図3】)には、ループ回数レジスターの値が0より大きい場合に、ループ回数レジスターの値をデクリメントして次回のループ処理を実行し、ループ回数レジスターの値が0である場合には、ループ処理を終了することが記載されている。
また、引用文献3(特に、【0064】、【0069】~【0071】、【図22】、【図23】)には、ループエンドアドレスに到達すると、lp_exp(0)信号が"1"の場合、すなわち、選択されたループレジスタの値が1である場合、ループ命令の終了を意味し、選択されたループレジスタの値が1ではない場合、ループの先頭アドレスの値を当該プログラムカウンタにロードすることによりループバックして、当該ループレジスタの値を1減算することが記載されている。
以上からすると、以下の事項は、本願出願時(又は優先日前)における周知技術と認められる。
(周知技術2)
ループの最後の命令に到達したとき、ループ回数を格納及び計数するためのレジスタの値が所定の閾値より大きいか否かに基づいてループの終了を判定した後で、前記値を減少すること。
3 対比
請求項3に係る発明(以下、「本願発明」という。)と引用発明を対比する。
(1) 引用発明は、「入子型ループを含む命令のプログラムを実行するための装置」であって、ここで、「入子型ループ」は、引用発明の「第1のループに第2のループが入り込んで」いるループ、すなわち、「第1のループ」内で「第2のループ」を実行する形式のループと認められる。 また、引用発明は、「プログラム中の各ループに先行して第1の形式(LNC)の命令が設けられており、各ループ中には、プログラム中のループの終了およびそれによって生ずる条件付分岐点が第2の形式(DCC)の命令によって示されており」との構成を備えるから、「各ループ」すなわち「第1のループ」と「第2のループ」の各々には、これに先行して「第1の形式(LNC)の命令」(以下、単に「第1の形式の命令」という。)が設けられ、また、「第1のループ」と「第2のループ」の各々の最後には、当該ループの終了を示す「第2の形式(DCC)の命令」(以下、単に「第2の形式の命令」という。)が設けられている。
よって、「第1のループ」と「第2のループ」の各々において、各「ループ」に含まれる命令群とこれに先行する「第1の形式の命令」とは、複数の命令からなる“命令集合”を構成しているといえる。
したがって、引用発明の「第1のループ」とこれに先行する「第1の形式の命令」は、本願発明の「ループ命令集合」に相当し、また、引用発明の「第2のループ」とこれに先行する「第1の形式の命令」は、本願発明の「サブループ命令集合」に相当する。
また、引用発明の「第1のループ」に先行する「第1の形式の命令」、「第1のループ」における「第2の形式の命令」、「第2のループ」に先行する「第1の形式の命令」及び「第2のループ」における「第2の形式の命令」はそれぞれ、本願発明の「ループ命令集合の第1開始命令」、「前記ループ命令集合の終了を示す第1終了命令」、「前記サブループ命令集合内の第2開始命令」及び「前記サブループ命令集合の終了を示す第2終了命令」に相当する。
(2) 引用発明において、「上記第1の形式または第2の形式の命令が上記命令実行レジスタ手段中に存在することに応答してそれぞれ第1あるいは第2の制御信号を発生するタイミング手段を含む制御手段」における「タイミング手段」は、「第1の形式の命令」が「命令実行レジスタ手段中に存在することに応答して」「第1の制御信号」を発生するとともに、「第2の形式の命令」が「命令実行レジスタ手段中に存在することに応答して」「第2の制御信号」を発生するものといえる。
(3) 前記(2)で言及した「第1の制御信号」に関して、引用発明は、「上記ゲート手段は上記制御手段からの各第1の制御信号に応答する初期数値入力手段を有し、(a)上記スタック・レジスタ手段に各プログラム・ループの第1の命令のアドレスを記憶させるために上記第3の制御信号の各1つを発生し、また(b)第1の形式の命令が取出されて上記命令実行レジスタ手段中に記憶されると、プログラム中の各ループに対応する計数器群の各1つに上記各第1の形式の命令のアドレス指定部分に記憶された初期数値を記憶させ」との構成を備えることから、「ゲート手段」は、「タイミング手段」が発生した「第1の制御信号」に応答して、「各プログラム・ループ」の「第1の命令のアドレス」を「スタック・レジスタ手段」に記憶(すなわち「プッシュ」)するために「第3の制御信号」を発生するとともに、「各ループに対応する計数器群の各1つ」に「各第1の形式の命令」のアドレス指定部分に記憶された「初期数値」を記憶させる制御を行うものである。
そして、引用発明は、「前記スタック・レジスタ手段は、ラスト・イン・ファースト・アウト(後入れ先出し)レジスタと呼ぶこともあり、プッシュ動作では、スタック・ワードA(SWA)と呼ばれる最上段のレジスタがSWA入力線上の入来信号の値にセットされ、ポップ動作では、SWAの内容がSWA出力線に出力信号として与えられ」との構成を備えるから、「スタック・レジスタ手段」への記憶(すなわち「プッシュ」)は、常に「最上段のレジスタ」である「SWA」に対してなされる。
(4) 前記(2)及び(3)を「第1のループ」に先行する「第1の形式の命令」に当てはめると、引用発明において、「タイミング手段」は、「第1のループ」に先行する「第1の形式の命令」が「命令実行レジスタ手段中に存在することに応答」して「第1の制御信号」を発生し、「ゲート手段」は、当該「第1の制御信号」に応答して、「第1のループ」の「第1の命令のアドレス」を「スタック・レジスタ手段」の「SWA」に記憶し、「第1のループ」に対応する「計数器」に「第1のループ」に先行する「第1の形式の命令」のアドレス指定部分に記憶された「初期数値」を記憶する制御を行うものといえる。
ここで、「第1のループ」に先行する「第1の形式の命令」が「命令実行レジスタ手段中に存在することに応答」することは、本願発明の「ループ命令集合の第1開始命令が取得されたことに応答」することに相当する。
また、引用発明の「第1のループ」に先行する「第1の形式の命令」のアドレス指定部分に記憶された「初期数値」は、本願発明の「前記ループ命令集合に関連する第1ループ回数」に相当し、引用発明の「第1のループ」に対応する「計数器」は、本願発明の「第1レジスタ」に相当する。
また、引用発明の「第1のループ」の「第1の命令のアドレス」は、本願発明の「前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値」に相当し、引用発明の「SWA」は、本願発明の「第2レジスタ」に相当する。
また、引用発明において、「タイミング手段」と「ゲート手段」とは、「計数器」及び「SWA」を記憶するように構成される“記憶モジュール”といい得るものである。
よって、引用発明において、「第1のループ」に先行する「第1の形式の命令」に関する「タイミング手段」と「ゲート手段」とは、本願発明の「ループ命令集合の第1開始命令が取得されたことに応答して、前記ループ命令集合に関連する第1ループ回数を第1レジスタに記憶し、前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値を第2レジスタに記憶するように構成される第1記憶モジュール」に相当する。
(5) 引用発明は、「プログラムの実行中に実行されるべき次のプログラム命令を含んでいるメモリ位置のアドレスを受入れ、記憶するための命令アドレス手段を含んでいるメモリ位置のアドレスを受入れ、記憶するための命令アドレス手段と、各メモリ位置から取出された命令を表わす信号を記憶するための演算部およびアドレス部を具えた命令実行レジスタ手段」を備えていることから、「命令アドレス手段」及び「命令実行レジスタ手段」は、命令を取得する手段として機能しているといえる。また、引用発明の「タイミング手段」と「ゲート手段」とは、すくなくとも「第1の形式の命令」及び「第2の形式の命令」を実行しているといえ、他の命令についても同様に実行するものと認められる。
よって、引用発明に係る「命令アドレス手段」、「命令実行レジスタ手段」、「タイミング手段」及び「ゲート手段」は、「第1のループ」に先行する「第1の形式の命令」を実行した後は、当該命令の次のアドレス位置にある命令を取得して当該命令を実行する手段(モジュール)を構成しているといえる。
よって、引用発明は、本願発明の「前記ループ命令集合内の第1開始命令の後のループ命令を取得して前記ループ命令を実行するように構成されるループ命令取得モジュール」に相当する手段を備えているといえる。
(6) 前記(2)で言及した「第2の制御信号」に関して、引用発明は、
「上記ゲート手段は、上記制御手段からの各第2の制御信号に応答して、命令実行レジスタ中に現在存在する第2の形式の命令によって、終了したループに対応する計数器群のうちの1つの計数値を減少させるための減算装置を含み、
また上記ゲート手段は、該減算装置の動作に後続して動作し、上記第2の制御信号に応答して(a)各くり返し計数器の内容が各ループの最初に指定されたくり返し数の完結を示すと第5の制御信号を発生させ、あるいは(b)各くり返し計数器の内容が各ループの最初に指定されたくり返し数が完結していないことを示すと第6の制御信号を発生させる試験装置を含み、
さらに上記ゲート手段は、上記第2の制御信号および第6の制御信号に応答して、上記命令アドレス手段中のメモリ・アドレスを上記スタック・レジスタ手段の出力に存在するメモリ・アドレスと交換するために、上記スタック・レジスタ 手段の出力を上記命令アドレス手段の入力に結合するための手段と、上記第5の制御信号および第2の制御信号に応答して上記第4の制御信号を発生する手段とを含み、
それによってプログラムの実行中に第2の形式の命令の検出によって示される各条件付分岐点に到達すると、上記スタック・レジスタ手段の出力から得られたアドレスに従って(a)プログラムに戻るべきか、あるいは(b)各ループの第1の命令のメモリ位置に分岐すべきかを決定し、」との構成を備えている。
よって、引用発明において、「ゲート手段」は、「タイミング手段」が発生した「第2の制御信号」に応答して、「終了したループに対応する計数器群のうちの1つの計数値を減少」させるとともに、「(b)各くり返し計数器の内容が各ループの最初に指定されたくり返し数が完結していないことを示す」と「第6の制御信号」を発生させて、「上記命令アドレス手段中のメモリ・アドレスを上記スタック・レジスタ手段の出力に存在するメモリ・アドレスと交換する」ことによって、「(b)各ループの第1の命令のメモリ位置に分岐」するように制御するものである。
そして、引用発明は、「前記スタック・レジスタ手段は、ラスト・イン・ファースト・アウト(後入れ先出し)レジスタと呼ぶこともあり、プッシュ動作では、スタック・ワードA(SWA)と呼ばれる最上段のレジスタがSWA入力線上の入来信号の値にセットされ、ポップ動作では、SWAの内容がSWA出力線に出力信号として与えられ」との構成を備えるから、「スタック・レジスタ手段」からの出力(すなわち「ポップ」)は、常に「最上段のレジスタ」である「SWA」からなされる。
(7) 前記(2)及び(6)を「第1のループ」の「第2の形式の命令」に当てはめると、引用発明において、「タイミング手段」は、「第1のループ」の「第2の形式の命令」が「命令実行レジスタ手段中に存在することに応答」して「第2の制御信号」を発生し、「ゲート手段」は、当該「第2の制御信号」に応答して、「第1のループ」に対応する1つの「計数器」の計数値を減少させるとともに、当該「計数器」の内容(計数値)に応じて、「命令アドレス手段」中のメモリ・アドレスを「スタック・レジスタ手段」の出力である「SWA」の内容(「第1のループ」の「第1の命令のアドレス」)に交換することにより、「第1のループ」の「第1の命令のメモリ位置」に分岐する制御を行うものである。
ここで、引用発明において、「第1のループ」の「第2の形式の命令」が「命令実行レジスタ手段中に存在することに応答」することは、本願発明の「前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答」することに相当する。
また、引用発明において、「第1のループ」の「第1の命令」のメモリ位置に分岐することは、「第1のループ」に対応する1つの「計数器」の計数値と「SWA」の「第1のループ」の「第1の命令のアドレス」とに基づいて「第1のループ」を“循環的に”実行することに他ならない。
また、引用発明において、「タイミング手段」と「ゲート手段」とは、「第1のループ」の「第2の形式の命令」に関しては、当該「第1のループ」に関する分岐決定を行う“決定モジュール”といい得るものである。
よって、上記(4)の検討を踏まえると、引用発明において、「第1のループ」の「第2の形式の命令」に関する「タイミング手段」と「ゲート手段」とは、本願発明の「前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答して、前記第1レジスタ内の前記第1ループ回数と前記第2レジスタ内の前記第1プログラムカウンター値とに基づいて前記ループ命令集合を循環的に実行することを決定するように構成される第1ループ決定モジュール」に相当する。
(8) 引用発明は、「前記第2の形式の命令により、試験された計数器の内容が零であれば、前記スタック・レジスタ手段がポップされ」との構成を備えることから、前記(キ)を踏まえると、「第1のループ」の「第2の形式の命令」に関して、「ゲート手段」は、「第1のループ」に対応する「計数器」の計数値を減少させるとともに、当該「計数器」の計数値と、閾値といえる「零」とを比較する手段(“ループ回数比較モジュール”といい得るもの)を備えるものと認められる。
また、引用発明において、「第1のループ」に対応する「計数器」の計数値を減少させることは、本願発明の「前記第1レジスタ内の前記第1ループ回数を調整」することに相当し、また、引用発明において、「命令アドレス手段」中のメモリ・アドレスを「スタック・レジスタ手段」の出力である「SWA」の内容に交換することは、その際に「SWA」の内容を取得することは明らかであるから、上記(4)及び(7)を踏まえると、本願発明の「前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得する」ことに相当する。
よって、前記(7)を踏まえると、引用発明において、「タイミング手段」と「ゲート手段」とは、本願発明の「前記第1ループ決定モジュールが、ループ回数比較モジュールが前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するように構成され」に相当する構成を備えているといえる。
(9) 前記(5)で述べたとおり、引用発明の「命令アドレス手段」、「命令実行レジスタ手段」、「タイミング手段」及び「ゲート手段」は、命令を取得し実行する手段(モジュール)を構成しているといえ、また、前記(1)を参酌すれば、当該手段(モジュール)は、「第1ループ」を実行している間に「第1の ループ」内にある「第2のループ」に含まれる命令を取得し実行する手段(モジュール)としても機能するものと認められる。
よって、引用発明は、本願発明の「ループ命令取得モジュールが、サブループ命令集合が取得されたことに応答して、サブループ命令集合を実行するように構成されるサブループ命令集合実行モジュールを含み」に相当する構成を備えているといえる。
(10) 前記(2)及び(3)を「第2のループ」に先行する「第1の形式の命令」に当てはめると、引用発明において、「タイミング手段」は、「第2のループ」に先行する「第1の形式の命令」が「命令実行レジスタ手段中に存在することに応答」して「第1の制御信号」を発生し、「ゲート手段」は、当該「第1の制御信号」に応答して、「第2のループ」の「第1の命令のアドレス」を「スタック・レジスタ手段」の「SWA」に記憶し、「第2のループ」に対応する「計数器」に「第2のループ」に先行する「第1の形式の命令」のアドレス指定部分に記憶された「初期数値」を記憶する制御を行うものといえる。 ここで、「第2のループ」に先行する「第1の形式の命令」が「命令実行レジスタ手段中に存在することに応答」することは、本願発明の「前記サブループ命令集合内の第2開始命令が取得されたことに応答」することに相当する。 また、引用発明の「第2のループ」に先行する「第1の形式の命令」のアドレス指定部分に記憶された「初期数値」は、本願発明の「前記サブループ命令集合に関連する第2ループ回数」に相当し、引用発明の「第2のループ」に対応する「計数器」は、本願発明の「第3レジスタ」に相当する。
また、引用発明の「第2のループ」の「第1の命令のアドレス」は、本願発明の「前記サブループ命令集合内の前記第1開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値」に相当し、引用発明の「SWA」と本願発明の「第4レジスタ」とは「所定のレジスタ」である点で共通する。
また、引用発明において、「タイミング手段」と「ゲート手段」とは、「計数器」及び「SWA」を記憶するように構成される“記憶モジュール”といい得るものである。
よって、引用発明において、「第2のループ」に先行する「第1の形式の命令」に関する「タイミング手段」と「ゲート手段」と、本願発明の「サブループ命令実行モジュール」が備える「前記サブループ命令集合内の第2開始命令が取得されたことに応答して、前記サブループ命令集合に関連する第2ループ回数を第3レジスタに記憶し、前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値を第4レジスタに記憶するように構成される第2記憶モジュール」とは、「前記サブループ命令集合内の第2開始命令が取得されたことに応答して、前記サブループ命令集合に関連する第2ループ回数を第3レジスタに記憶し、前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値を所定のレジスタに記憶するように構成される第2記憶モジュール」である点において共通する。
(11) 前記(5)及び(9)を参酌すれば、引用発明の「装置」は、本願発明の「サブループ命令実行モジュール」が備える「前記サブループ命令集合内の前記第2開始命令の後のサブループ命令を取得して前記サブループ命令を実行するように構成されるサブループ命令取得モジュール」に相当する手段を備えているといえる。
(12) 前記(2)及び(6)を「第2のループ」の「第2の形式の命令」に当てはめると、引用発明において、「タイミング手段」は、「第2のループ」の「第2の形式の命令」が「命令実行レジスタ手段中に存在することに応答」して「第2の制御信号」を発生し、「ゲート手段」は、当該「第2の制御信号」に応答して、「第2のループ」に対応する1つの「計数器」の計数値を減少させるとともに、当該「計数器」の内容(計数値)に応じて、「命令アドレス手段」中のメモリ・アドレスを「スタック・レジスタ手段」の出力である「SWA」の内容(「第2のループ」の「第1の命令のアドレス」)に交換することにより、「第2のループ」の「第1の命令のメモリ位置」に分岐する制御を行うものである。 ここで、引用発明において、「第2のループ」の「第2の形式の命令」が「命令実行レジスタ手段中に存在することに応答」することは、本願発明の「前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答」することに相当する。
また、引用発明において、「第2のループ」の「第1の命令」のメモリ位置に分岐することは、「第2のループ」に対応する1つの「計数器」の計数値と「SWA」の「第2のループ」の「第1の命令のアドレス」とに基づいて「第2のループ」を“循環的に”実行することに他ならない。
また、引用発明において、「タイミング手段」と「ゲート手段」とは、「第2のループ」の「第2の形式の命令」に関しては、当該「第2のループ」に関する分岐決定を行う“決定モジュール”といい得るものである。
よって、引用発明において、「第2のループ」の「第2の形式の命令」に関する「タイミング手段」と「ゲート手段」と、本願発明の「サブループ命令集合実行モジュール」が備える「前記サブループ命令集合の終了を示す第2終了命令が取得されたことに応答して、前記第3レジスタ内の前記第2ループ回数と前記第4レジスタ内の前記第2プログラムカウンター値とに基づいて前記サブループ命令集合を循環的に実行することを決定するように構成される第2ループ決定モジュール」とは、「サブループ命令集合実行モジュール」が備える「前記サブループ命令集合の終了を示す第2終了命令が取得されたことに応答して、前記第3レジスタ内の前記第2ループ回数と前記所定のレジスタ内の前記第2プログラムカウンター値とに基づいて前記サブループ命令集合を循環的に実行することを決定するように構成される第2ループ決定モジュール」である点において共通する。
(13) 引用発明において、「ゲート手段」が「試験された計数器の内容が零」であるか否かを判定することは、「計数器」の内容が所定の閾値である零より大きいか否かを決定することに他ならない。
よって、上記(8)を参酌すれば、引用発明の「ゲート手段」は、本願発明の「前記第1ループ決定モジュールが、 前記ループ命令集合の終了を示す前記第1終了命令が取得されたことに応答して、前記第1ループ回数が閾値より大きいか否かを決定するように構成されるループ回数比較モジュールと、」「を含む」に相当する構成を備えているといえる。
(14) 上記理由1の(1)に関して、請求人は、上記意見書において、以下のように主張している。
「 本願明細書段落[0038]には、「ループ回数が閾値より大きい場合に、ステップ306を実行する。ステップ306で、取得モジュールは第1レジスタのループ回数を減少する。ループ回数が閾値より大きいと決定した場合に、ループ回数の値を調整する必要がある。例えば、ループ回数を一つずつ減少する。その後、減少されたループ回数で第1レジスタのループ回数を更新する。例えば、図1において、取得モジュール104はループ回数が閾値より大きいと決定した場合に、レジスタ108のループ回数を一つずつ減少する。」との記載があります。
本願明細書には、確かに「徐々に減少させ」るとは、どの程度げんしょうさせるかといった具体的な説明はありませんが、例えば、図1において、取得モジュール104はループ回数が閾値より大きいと決定した場合に、レジスタ108のループ回数を一つずつ減少することが開示されています。
従いまして、「徐々に減少させ」るとは、例えば、一つずつ減少させることの意味であることは、当業者であれば明確に把握できるものと思料いたします。」
上記主張によれば、請求項3に記載の「徐々に減少させ」るとは、「一つずつ減少させ」ることを含む概念であると認められる。
そして、明細書の【0038】に記載の「一つずつ減少」に対応する、優先権主張番号201910559268.1(2019年6月26日)に係る中国における出願の記載は、
「
[図:0001405282000008.jpg]
」であるところ、この語句の意味は日本語では「一つ減少」又は「一つだけ減少」である。
そのような事情を加味すれば、明細書の【0038】に記載の「一つずつ減少」は「一つ減少」の誤記であり、そうすると、請求項3に記載の「徐々に減少させ」るとは、「一つ減少させ」るとの意味を含むものと認められる。
(15) 引用発明の「また上記ゲート手段は、該減算装置の動作に後続して動作し、上記第2の制御信号に応答して(a)各くり返し計数器の内容が各ループの最初に指定されたくり返し数の完結を示すと第5の制御信号を発生させ、あるいは(b)各くり返し計数器の内容が各ループの最初に指定されたくり返し数が完結していないことを示すと第6の制御信号を発生させる試験装置を含み、さらに上記ゲート手段は、上記第2の制御信号および第6の制御信号に応答して、上記命令アドレス手段中のメモリ・アドレスを上記スタック・レジスタ手段の出力に存在するメモリ・アドレスと交換するために、上記スタック・レジスタ手段の出力を上記命令アドレス手段の入力に結合するための手段と、上記第5の制御信号および第2の制御信号に応答して上記第4の制御信号を発生する手段とを含み、」及び「次のDCC命令により計数器C2が減算計数されて試験され、その内容が零になってその時ポップ命令が4進表示計数器41を計数器C1の点まで減算計数させるまでその都度入子型のループ命令を実行する」との構成によれば、引用発明においては、「ゲート手段」は、「計数器」の内容を減算した後で、減算した後の「計数器」の内容が零ではない、すなわち、零より大きい場合に、「スタック・レジスタ手段」をポップしてその出力を命令アドレス手段に入力することにより、当該「スタック・レジスタ手段」の「SWA」に格納されたメモリ・アドレスすなわち、「第1の命令のアドレス」に対応する命令を取得するように構成されるモジュールを含むものといえる。
また、「計数器」(カウンタ)が一度に1つだけ増減することは本願出願時(又は本願優先日前)における技術常識であるところ、引用発明において、「計数器」の内容を「減算」する際に、1つ「減算」しているといえる。よって、前記(14)を参酌すれば、引用発明において、「計数器」の内容を「減算」することは、本願発明の「前記第1レジスタ内の前記第1ループ回数を徐々に減少させ」ることに含まれる。
よって、引用発明の「ゲート手段」と、本願発明の「前記第1ループ決定モジュールが、」「前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ、前記ループ命令集合を再実行するよう前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するように構成される回数減少・取得モジュールと、を含む、」こととは、「前記第1ループ決定モジュールが、」「前記第1ルー プ回数が前記閾値より大きいことに応答して、前記ループ命令集合を再実行するよう前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するように構成される取得モジュールと、を含む、」点において共通する。
(16) 引用発明の「装置」は、後述する相違点を除いて、本願発明の「ループ命令集合を処理するための装置」に相当する。
4 一致点、相違点
したがって、本願発明と引用発明とは、以下の点において一致ないし相違する。
○一致点
「 ループ命令集合の第1開始命令が取得されたことに応答して、前記ループ命令集合に関連する第1ループ回数を第1レジスタに記憶し、前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値を第2レジスタに記憶するように構成される第1記憶モジュールと、
前記ループ命令集合内の第1開始命令の後のループ命令を取得して前記ループ命令を実行するように構成されるループ命令取得モジュールと、
前記ループ命令集合の終了を示す第1終了命令が取得されたことに応答して、前記第1レジスタ内の前記第1ループ回数と前記第2レジスタ内の前記第1プログラムカウンター値とに基づいて前記ループ命令集合を循環的に実行することを決定するように構成される第1ループ決定モジュールと、を備え、
前記第1ループ決定モジュールが、ループ回数比較モジュールが前記ループ命令集合の終了を示す前記第1終了命令を取得した後に、前記第1ループ回数と閾値とを比較し、前記第1レジスタ内の前記第1ループ回数を調整して、前記ループ命令集合を再実行するように、前記第2レジスタ内の第1プログラムカウンター値を取得するように構成され、
ループ命令取得モジュールが、
サブループ命令集合が取得されたことに応答して、サブループ命令集合を実行するように構成されるサブループ命令集合実行モジュールを含み、
サブループ命令集合実行モジュールが、
前記サブループ命令集合内の第2開始命令が取得されたことに応答して、前記サブループ命令集合に関連する第2ループ回数を第3レジスタに記憶し、前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値を所定のレジスタに記憶するように構成される第2記憶モジュールと、
前記サブループ命令集合内の前記第2開始命令の後のサブループ命令を取得して前記サブループ命令を実行するように構成されるサブループ命令取得モジュールと、
前記サブループ命令集合の終了を示す第2終了命令が取得されたことに応答して、前記第3レジスタ内の前記第2ループ回数と前記所定のレジスタ内の前記第2プログラムカウンター値とに基づいて前記サブループ命令集合を循環的に実行することを決定するように構成される第2ループ決定モジュールと、を備え、
前記第1ループ決定モジュールが、
前記ループ命令集合の終了を示す前記第1終了命令が取得されたことに応答して、前記第1ループ回数が閾値より大きいか否かを決定するように構成されるループ回数比較モジュールと、
前記第1ループ回数が前記閾値より大きいことに応答して、前記ループ命令集合を再実行するよう前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するように構成される取得モジュールと、を含む、ループ命令集合を処理するための装置。」
○相違点
(相違点1)
「前記サブループ命令集合内の前記第2開始命令の後の次のサブループ命令に対応する第2プログラムカウンター値」が記憶される「所定のレジスタ」が、本願発明においては、「前記ループ命令集合内の前記第1開始命令の後の次のループ命令に対応する第1プログラムカウンター値」が記憶される「第2レジスタ」とは異なる「第4レジスタ」であるのに対し、引用発明においては、「第1のループ」及び「第2のループ」の「第1の命令のアドレス」はいずれも、「スタック・レジスタ手段」の「最上段のレジスタ」である「SWA」に記憶され、「SWA」から出力される点。
(相違点2)
本願発明は、「前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ、前記ループ命令集合を再実行するよう前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するように構成される回数減少・取得モジュール」との構成を備えるように、「前記第1ループ回数が前記閾値より大きい」と決定した後に、「前記第1レジスタ内の前記第1ループ回数を徐々に減少させ」るのに対し、引用発明においては、「計数器」の内容を減算した後で、減算した後の「計数器」の内容が零ではないか否か判断する点。
5 相違点についての判断
上記各相違点について判断する。
(1)相違点1について
引用発明において、ループのくり返し数のみならず、ループの先頭の命令のアドレスを保持する手段は、ループ毎に区別して記憶及び参照できる手段であればどのような手段であっても作用効果に変わるところはない。
そして、上記周知技術1にあるように、複数のループのループ毎に、ループ回数を格納及び計数するためのレジスタに加え、ループの先頭の命令のアドレスを格納するレジスタを設けることは、本願出願時(又は本願優先日前)における周知技術である。
よって、上記周知技術1を参酌することにより引用発明において、「第1のループ」及び「第2のループ」の「第1の命令のアドレス」を互いに異なるレジスタ(第2レジスタ/第4レジスタ)に記憶するよう構成することは当業者が容易に想到し得たことである。
(2)相違点2について
引用発明において、「計数値」の内容を減算する処理と、「計数値」の内容が零であるか否かを判定する処理との先後関係は、初期値又は閾値の設定を変更することによって、数学的及び論理的には可換であり、また、いずれの処理を先に実施するかによって格別な作用効果が得られるとも認められない。
実際、上記周知技術2にあるように、ループ回数を格納及び計数するためのレジスタの値が所定の閾値より大きいか否かに基づいてループの終了を判定した後で、前記値を減少することは、本願出願時(又は本願優先日前)における周知技術である。
したがって、引用発明において、「計数値」の内容が零であるか否かを判定する処理の後に「計数値」の内容を減算する処理を行うよう処理の先後関係を変更することは、当業者が適宜になし得ることである。
(3)作用効果について
上記相違点を総合的に勘案しても、本願発明の奏する作用効果は、引用発明及び引用文献2及び3に記載された周知技術の奏する作用効果から予測される範囲内のものにすぎず、格別顕著なものということはできない。
6 請求人の主張について
請求人は、上記意見書において、以下のように主張している。(なお、以下の主張中の下線は、請求人が付したものである。)
「 本願発明における閾値と引用文献1における閾値とでは、使用目的が異なります。本願発明において閾値を使用する目的は、ループに初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去することです。
また、上述の引用文献2に記載の処理は、ループが終了したか否かを判定する通常の処理であり、ループ命令数レジスター110が0である場合には、ループの最後の命令が実行された場合なので、ステップB7に進みます。従いまして、引用文献2においても、ループ命令数レジスター110の値によって、ループに始めて侵入したときと最後に脱退する条件を判断する必要があります。
これに対し、本願発明は、前記ループ命令集合の終了を示す前記第1終了命令が取得されたことに応答して、前記第1ループ回数が閾値より大きいか否かを決定するステップと、前記第1ループ回数が前記閾値より大きいことに応答して、前記第1レジスタ内の前記第1ループ回数を徐々に減少させ、前記ループ命令集合を再実行するように、前記第2レジスタ内の前記第1プログラムカウンター値に対応する前記次のループ命令を取得するステップと、を含み、また、前記第1ループ回数が前記閾値より大きくないことに応答して、前記ループ命令集合の後の命令を取得します。従いまして、ループに初めて進入した時と最後に脱退する条件を判断する必要はありません。
また、引用文献3にも、上記の相違点について開示も示唆もされていません。
このように、引用文献1-3のいずれにも上記相違点は開示されておらず、また、これらの相違点は設計変更等ではないものと思料いたします。
さらに、本願請求項1に係る発明によれば、従来技術と比較して、ループに初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去し、命令実行の効率を向上させ、かつ任意の長さのループをサポートし、マルチレベルのループネスティングをサポートし、ループ命令処理の安全を確保することができるという有利な効果を奏します。
よって、請求項1に係る発明及びこれと同様の技術的特徴を有する請求項3に係る発明並びにこれらのいずれかを直接的又は間接的に引用する請求項2、4-6に係る発明は進歩性を有するものと思料いたします。」
以下、上記主張について検討する。
まず、「本願発明における閾値と引用文献1における閾値とでは、使用目的が異なります。本願発明において閾値を使用する目的は、ループに初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去することです。」、「さらに、本願請求項1に係る発明によれば、従来技術と比較して、ループに初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去し…という有利な効果を奏します。」との「パイプライン」に係る主張についてであるが、特許請求の範囲のいずれの請求項にも、「ループ命令集合」の実行と「パイプライン」との関係を具体的に特定しておらず、また、明細書及び図面にも、「ループ命令集合」の実行と「パイプライン」との関係を具体的に特定しておらず、本願出願時(又は本願優先日前)における技術常識を参酌しても自明とは認められない。
よって、「パイプライン」に関する請求人の主張は、特許請求の範囲、明細書及び図面の記載並びに技術常識に基づいたものではないから採用することができない。
なお、明細書の【0034】には、「取得モジュールに2つのレジスタを設けることによって、ループ命令集合の実行を制御し、ループ命令ボディーが初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去し、データ冒険の問題を制御し、かつ命令実行の効率を向上させる。」と記載されていることからすれば、本願においては、「取得モジュールに2つのレジスタを設けること」によって、「ループ命令集合の実行を制御し、ループ命令ボディーが初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去し、データ冒険の問題を制御し、かつ命令実行の効率を向上させる。」との作用効果を奏するものとしている。
ここで、「2つのレジスタ」が本願発明におけるどのレジスタであるのか判然とせず、かつ、本願発明において、「取得モジュール」(「ループ命令取得モジュール」及び「サブループ命令取得モジュール」)がレジスタを設けたものであることは具体的に特定されていないものの、引用発明は、少なくとも、本願発明の「第1レジスタ」、「第2レジスタ」及び「第3レジスタ」に相当するものを備えており、加えて、引用文献2及び3に記載されているように、「第2レジスタ」とは別に、ネストするループに専用の「第4レジスタ」に相当するレジスタを設けることも本願出願時(又は本願優先日前)における周知技術(周知技術1)であるところ、引用発明、又は、引用発明に当該周知技術1を適用した態様は、「取得モジュールに2つのレジスタを設けること」に対応した構成を有するものであるため、「ループ命令集合の実行を制御し、ループ命令ボディーが初めて進入したときと最後に脱退するときの条件判定によるパイプラインの待機、または分岐予測の失敗によるパイプラインフラッシュを除去し、データ冒険の問題を制御し、かつ命令実行の効率を向上させる。」との作用効果を奏することができることは明らかである。
また、「本願発明は、…ループに初めて進入した時と最後に脱退する条件を判断する必要はありません。」との主張について、本願発明は、「ループ回数」が「閾値より大きい」か否かに応じて、対応するループを脱退するか否かを判定していることは明らかであるから、「最後に脱退する条件を判断する必要はありません。」との主張は本願発明の構成とは矛盾するものである。
また、引用発明は、「第1の形式(LNC)の命令」により「ループに初めて進入」する制御を実施するものであるところ、引用発明も、「ループに初めて進入した時…を判断する必要」はないように構成されているといえる。
また、請求人は、引用文献2に記載のものは、「ループ命令数レジスター110」をループ終了判定に使用している点において本願発明とは異なると主張していると思われる。しかしながら、引用発明の「第2の形式(LCC)の命令」は、本願発明の「第1/第2終了命令」に相当するものであるから、本願発明と引用発明とは、ループの最後の命令に到達したことを所定の命令の実行により判断できる点において一致し、その前提によれば、ループ終了の判定処理として、ループ回数を減少して閾値と比較するか、又は、ループ回数と閾値を比較してループ回数を減少するかを相違点(相違点2)と認定している。引用文献2及び3は、ループ命令の最後の命令に到達したときに、当該ループを脱するかどうか、すなわち、当該ループを規定した回数実行したか否かを判定するにあたり、ループ回数を格納及び計数するためのレジスタの値が所定の閾値より大きいか否かに基づいてループの終了を判定した後で、前記値を減少することが周知技術であることを示すものであるが、引用文献2の記載において、「ループ命令レジスター110」を使用してループの最後の命令に到達したことを判定することと、その判定の後でループ回数に基づいてループを規定した回数実行したか否かを判定することとは必ずしも連動した処理とはいえないから、周知技術の認定にあたり、ループの最後の命令に到達したか否かを判定する処理に必要な事項をも併せて抽出する必要はない。
また、「本願請求項1に係る発明によれば、…命令実行の効率を向上させ、かつ任意の長さのループをサポートし、マルチレベルのループネスティングをサポートし、ループ命令処理の安全を確保することができるという有利な効果を奏します。」との主張に関しては、引用発明又は引用発明に周知技術1及び2を適用した態様においても当該主張と同様の作用効果を奏することは明らかである。
以上のとおりであるから、請求人の主張は、採用しない。
7 小括
したがって、本願発明は、その出願前に日本国内又は外国において、頒布された又は電気通信回線を通じて公衆に利用可能となった引用文献1に記載された発明に基いて、以下の引用文献2及び3に記載された周知技術を参酌することにより、当業者が容易に発明をすることができたものであるから、特許法29条2項の規定により特許を受けることができない。
第6 むすび
以上のとおり、請求項2に係る発明は、特許法第36条第6項第2項に規定する要件を満たしておらず、また、請求項3に係る発明は、特許法第29条第2項の規定により、それぞれ特許を受けることができない。
したがって、他の請求項に係る発明について検討するまでもなく、本願は拒絶すべきものである。
よって、結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2022-009964