(57)【要約】【課題】１クロックでフィールド値の条件付代入動作を実行する。【解決手段】プログラムメモリ１１が、条件付代入動作を制御するプログラム情報として、演算結果選択情報および比較パターンを含む分岐条件、抽出選択情報、イネーブル選択情報の組を、アドレスごとに記憶し、演算結果処理部１２が、演算結果選択情報に対応する演算結果を比較パターンとパターンマッチングして分岐条件の成立有無を判定し、抽出基本回路ＳＵ＃ｉにおいて、イネーブルセレクタＥＳが、イネーブル選択情報に基づいて演算結果処理部１２の判定結果をイネーブル信号として出力し、抽出セレクタ２１が、抽出選択情報と対応するフィールド値を入力フレームＦｉｎまたは出力フレームＦｏｕｔから抽出し、レジスタ２２が、イネーブル信号に応じて抽出セレクタ２１で抽出されて代入されたフィールド値を保持する。【選択図】  図１
2018074308.tif 000002
【特許請求の範囲】
【請求項１】
入力フレームを解析して得られた解析結果を出力フレームにより出力するフレーム解析装置であって、
前記入力フレームまたは前記出力フレームから、それぞれ対応するフィールド値を抽出セレクタにより抽出しレジスタへ代入して保持する複数の抽出基本回路と、
前記抽出基本回路から出力された前記フィールド値をそれぞれ対応する処理内容で演算して加工し、得られた演算結果を前記出力フレームにより出力する複数の加工基本回路と、
予め登録されているプログラムに基づいて前記抽出基本回路におけるフィールド値の条件付代入動作および前記加工基本回路における演算動作を制御する制御基本回路とを備え、
前記制御基本回路は、
前記プログラムのうち前記条件付代入動作を制御するプログラム情報として、演算結果選択情報および比較パターンを含む１つまたは複数の分岐条件と、前記条件付代入動作を実行する際に前記入力フレームまたは前記出力フレームから抽出すべきフィールド値を示す抽出選択情報と、抽出した前記フィールド値を代入して保持するレジスタを選択するためのイネーブル選択情報との組を、アドレスごとに記憶するプログラムメモリと、
前記プログラムメモリのうち指定アドレスから読み出された前記演算結果選択情報に基づいて前記出力フレームから抽出した演算結果を、前記指定アドレスから読み出された前記比較パターンとパターンマッチングすることにより、前記分岐条件の成立有無を判定する演算結果処理部とを有し、
前記抽出基本回路は、
前記指定アドレスから読み出された前記イネーブル選択情報に基づいて、前記演算結果処理部で得られた前記分岐条件の成立を示す分岐判定結果を前記レジスタに対するイネーブル信号として選択出力するイネーブルセレクタを有し、
前記抽出セレクタは、前記指定アドレスから読み出された前記抽出選択情報と対応するフィールド値を、前記入力フレームまたは前記出力フレームから抽出し、
前記レジスタは、前記イネーブルセレクタからの前記イネーブル信号に応じて、前記抽出セレクタで抽出されて代入された前記フィールド値を保持する
ことを特徴とするフレーム解析装置。
【請求項２】
請求項１に記載のフレーム解析装置において、
前記プログラムメモリは、前記プログラム情報に代えて、前記演算結果選択情報、前記比較パターン、および前記抽出選択情報を含む１つまたは複数の前記分岐条件と、これら分岐条件がすべて不成立の場合に抽出すべきフィールド値を示す不一致抽出選択情報と、前記イネーブル選択情報との組を、アドレスごとに記憶し、
前記制御基本回路は、
前記指定アドレスから読み出された前記分岐条件に含まれる前記抽出選択情報と前記不一致抽出選択情報のうちから、前記分岐判定結果に応じた抽出選択情報を切替選択して前記抽出基本回路へ出力する抽出選択情報切替部をさらに有し、
前記抽出セレクタは、前記抽出選択情報切替部で切替選択された抽出選択情報と対応するフィールド値を、前記入力フレームまたは前記出力フレームから抽出する
ことを特徴とするフレーム解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば光アクセス系システムの一つであるＰＯＮ（Passive Optical Network）システムにおいてコアネットワークに接続される親局としてのＯＬＴ（Optical Line Terminal）と、ユーザ装置に接続される子局としてのＯＮＵ（Optical Network Unit）とに関し、特に、パケットの集合体であるフレームに組み込まれ、パケットの種別に関する情報を含むフレームを解析するフレーム解析装置の高機能化に関するものである。
【背景技術】
【０００２】
通信ネットワークに接続される各種ネットワーク装置の間を流れるフレーム（パケットの集合体）を中継する通信装置として、Ｌ２スイッチ（Layer 2 Switch）やＬ３スイッチ（Layer 3 Switch）等が知られている。これらは、通信プロトコルの種別に応じて、フレーム内の特定のフィールドに記録された情報をもとにフレーム転送処理を行っている。例えば、宛先アドレスやＴｏＳ（Type Of Service）が記録されたフィールドをそれぞれ解析することで、通信経路制御や優先制御を実現する。
【０００３】
近年、通信プロトコルの多様化や拡張性に対応するため、フレームの特定のフィールド解析のみならず、任意のフィールドを解析可能な通信装置が必要とされている。このような処理をソフトウェアで行う場合、フレーム解析に要する処理時間が長いためＣＰＵへの処理負荷が大きく、消費電力が大きくなる等の課題があり、高速ネットワークでの使用が困難であった。
【０００４】
従来、このような課題に対し、通信装置に入力される入力フレームの任意のフィールドを抽出し、抽出したフィールドに対して演算処理を行い、その結果を反映した出力フレームの情報に基づき、次に入力されるフレームに対する処理を変更可能なフレーム解析装置が提案されている（例えば、特許文献１など参照）。また、このようなフレーム解析装置で用いられる制御回路をより具体化した構成についても提案されている（例えば、特許文献２など参照）。
【０００５】
図１２は、従来のフレーム解析装置の構成を示すブロック図である。図１３は、図１２のフレーム解析装置の詳細構成を示すブロック図である。
従来のフレーム解析装置は、Ｋ（Ｋは２以上の整数）の制御基本回路ＣＵ＃１〜ＣＵ＃Ｋを有する制御回路と、制御基本回路ＣＵ＃１〜ＣＵ＃Ｋごとに設けられた制御対象回路群ＴＵ＃１〜ＴＵ＃Ｋとから構成されている。
これら制御対象回路群ＴＵ＃１〜ＴＵ＃Ｋのそれぞれには、Ｉ（Ｉは２以上の整数）個の抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉからなる抽出回路と、Ｊ（Ｊは２以上の整数）個の加工基本回路ＰＵ＃１〜ＰＵ＃Ｊからなる加工回路とが設けられている。
【０００６】
抽出基本回路ＳＵ＃ｉ（ｉ＝１〜Ｉの整数）は、Ｎ（Ｎは１以上の整数）バイトで入力される入力フレームＦｉｎから、Ａ（Ａは１以上の整数）ビットの任意のフィールド値を抽出して保持する機能を有している。加工基本回路ＰＵ＃ｊ（ｊ＝１〜Ｊの整数）は、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉから出力された抽出フレームＦｍのうち、Ａビットの任意のフィールド値を抽出して任意の演算を実行する機能を有している。
この構成により、入力フレームの任意のフィールド解析が可能となり、フレーム解析処理に要する処理時間を短縮化し、ＣＰＵへの処理負荷を削減することができる。
【０００７】
制御基本回路ＣＵ＃ｋ（ｋ＝１〜Ｋの整数）は、プログラムメモリに予め登録されているプログラムに基づいて、制御対象回路群ＴＵ＃ｋの各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉにおけるフィールド値抽出・代入動作、および制御対象回路群ＴＵ＃ｋの各加工基本回路ＰＵ＃１〜ＰＵ＃Ｊにおける演算動作を制御する機能を有している。
【０００８】
例えば、抽出基本回路ＳＵ＃ｉにおけるフィールド値の抽出・代入動作を制御する場合、プログラムメモリには、抽出・代入動作に用いる各種制御パラメータが、プログラム情報として予め登録されており、プログラムカウンタから指定されたアドレスからこれら制御パラメータが読み出されて各回路部へ出力される。
【０００９】
演算結果処理部は、これら制御パラメータに基づいて加工基本回路ＰＵ＃１〜ＰＵ＃Ｊからの演算結果と比較パターンとのパターンマッチングを行うことにより分岐条件の成立有無を判定し、得られた分岐判定結果に応じてプログラムカウンタが次のアドレスを特定する。
これに応じて、次のアドレスから制御パラメータが読み出され、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉのいずれかにおいて、入力フレームＦｉｎまたは出力フレームＦｏｕｔから対応するフィールド値が抽出された後、レジスタに代入されて保持出力されることになる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１４−１６５７１４号公報
【特許文献２】特開２０１５−０２２４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、このような従来技術を組み合わせた従来構成を用いて、任意のフィールドを解析可能なフレーム解析装置を実現した場合、ある演算結果の判定に応じて、抽出基本回路ＳＵ＃ｉのレジスタに代入するフィールド値を抽出する（条件付代入）のに、最低２クロックかかるため、処理速度が低下するだけでなく、分岐条件ごとにプログラムアドレスが分岐するためプログラムが複雑になって、プログラムメモリ容量が増大するという問題点があった。
【００１２】
図１４は、従来構成の制御回路で実行されるプログラム例である。ここでは、プログラム例として、入力フレームのあるフィールド情報の数値をａ、比較対象となる定数値をｂとし、ａ＝ｂの時に、任意の基本回路内のレジスタｒｅｇ＿１に、ある特定のフィールド情報ｆｉｅｌｄ＿Ａを保存する例が示されている。
【００１３】
従来構成においてこのようなプログラムを実行した場合、まず、図１２の加工基本回路ＰＵ＃ｊの演算器においてａ−ｂの演算が行われる。図１３の制御基本回路ＣＵ＃ｋの演算結果処理部では、加工基本回路ＰＵ＃ｊから出力された演算結果をプログラムメモリに格納されている比較パターンとマッチングを行うことにより分岐条件の成立有無を判定し、判定結果に応じた次のアドレスが選択される。これにより、図１４の例では、ａ＝ｂであればアドレス値ａｄｄｒ＿Ｎが次のアドレスとして選択され、ａ≠ｂであればアドレス値ａｄｄｒ＿Ｍが次のアドレスとして選択されて、プログラムメモリに出力される。
【００１４】
これに応じて、プログラムメモリから新たな制御パラメータが読み出され、各回路部へ出力される。したがって、図１４の例では、次のアドレスとしてａｄｄｒ＿Ｎが選択された場合には、ｒｅｇ＿１にｆｉｅｌｄ＿Ａを代入するための制御パラメータが出力され、抽出基本回路ＳＵ＃ｉのレジスタｒｅｇ＿１にフィールド値ｆｉｅｌｄ＿Ａが格納されることになる。また、次のアドレスとしてａｄｄｒ＿Ｍが選択された場合には、ｒｅｇ＿１にｆｉｅｌｄ＿Ｂを代入するための制御パラメータが出力され、抽出基本回路ＳＵ＃ｉのレジスタｒｅｇ＿１にフィールド値ｆｉｅｌｄ＿Ｂが格納されることになる。
【００１５】
このように、従来構成では、図１４に示すようなプログラムを実行する必要があるため、ａ−ｂの計算で１クロック、ｒｅｇ＿１にｆｉｅｌｄ＿Ａを格納するために１クロックかかり、計２クロックの時間を要することになる。これは、従来構成において、抽出基本回路ＳＵ＃ｉのレジスタを選択するための制御パラメータが、分岐条件の判定に用いる制御パラメータとは異なるアドレスに登録されているためである。
【００１６】
本発明はこのような課題を解決するためのものであり、１クロックでフィールド値の条件付代入動作を実行できるフレーム解析技術を提供することを目的としている。
【課題を解決するための手段】
【００１７】
このような目的を達成するために、本発明にかかるフレーム解析装置は、入力フレームを解析して得られた解析結果を出力フレームにより出力するフレーム解析装置であって、前記入力フレームまたは前記出力フレームから、それぞれ対応するフィールド値を抽出セレクタにより抽出しレジスタへ代入して保持する複数の抽出基本回路と、前記抽出基本回路から出力された前記フィールド値をそれぞれ対応する処理内容で演算して加工し、得られた演算結果を前記出力フレームにより出力する複数の加工基本回路と、予め登録されているプログラムに基づいて前記抽出基本回路におけるフィールド値の条件付代入動作および前記加工基本回路における演算動作を制御する制御基本回路とを備え、前記制御基本回路は、前記プログラムのうち前記条件付代入動作を制御するプログラム情報として、演算結果選択情報および比較パターンを含む１つまたは複数の分岐条件と、前記条件付代入動作を実行する際に前記入力フレームまたは前記出力フレームから抽出すべきフィールド値を示す抽出選択情報と、抽出した前記フィールド値を代入して保持するレジスタを選択するためのイネーブル選択情報との組を、アドレスごとに記憶するプログラムメモリと、前記プログラムメモリのうち指定アドレスから読み出された前記演算結果選択情報に基づいて前記出力フレームから抽出した演算結果を、前記指定アドレスから読み出された前記比較パターンとパターンマッチングすることにより、前記分岐条件の成立有無を判定する演算結果処理部とを有し、前記抽出基本回路は、前記指定アドレスから読み出された前記イネーブル選択情報に基づいて、前記演算結果処理部で得られた前記分岐条件の成立を示す分岐判定結果を前記レジスタに対するイネーブル信号として選択出力するイネーブルセレクタを有し、前記抽出セレクタは、前記指定アドレスから読み出された前記抽出選択情報と対応するフィールド値を、前記入力フレームまたは前記出力フレームから抽出し、前記レジスタは、前記イネーブルセレクタからの前記イネーブル信号に応じて、前記抽出セレクタで抽出されて代入された前記フィールド値を保持するようにしたものである。
【００１８】
また、本発明にかかる上記フレーム解析装置の一構成例は、前記プログラムメモリが、前記プログラム情報に代えて、前記演算結果選択情報、前記比較パターン、および前記抽出選択情報を含む１つまたは複数の前記分岐条件と、これら分岐条件がすべて不成立の場合に抽出すべきフィールド値を示す不一致抽出選択情報と、前記イネーブル選択情報との組を、アドレスごとに記憶し、前記制御基本回路は、前記指定アドレスから読み出された前記分岐条件に含まれる前記抽出選択情報と前記不一致抽出選択情報のうちから、前記分岐判定結果に応じた抽出選択情報を切替選択して前記抽出基本回路へ出力する抽出選択情報切替部をさらに有し、前記抽出セレクタは、前記抽出選択情報切替部で切替選択された抽出選択情報と対応するフィールド値を、前記入力フレームまたは前記出力フレームから抽出するようにしたものである。
【発明の効果】
【００１９】
本発明によれば、フィールド値の条件付代入動作を１つのアドレスに登録されるプログラム情報で記述することができ、１クロックで条件付代入動作を実行することが可能となる。これにより、少なくとも２クロックを要した前述した従来構成と比較して、条件付代入動作に必要となるクロック数を最低限に短縮でき、結果として、処理の高速化を実現できるとともに、プログラムのシンプル化、プログラムメモリ容量削減により、フレーム解析装置全体の回路規模を削減することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態にかかるフレーム解析装置の構成を示すブロック図である。
【図２】第１の実施の形態にかかるフレーム解析装置の詳細構成を示すブロック図である。
【図３】第１の実施の形態にかかる条件付代入動作の制御に関するプログラムの構成例である。
【図４】図３のプログラムに含まれる分岐条件の構成例である。
【図５】第１の実施の形態にかかる条件付代入動作の制御に関するプログラム例である。
【図６】イネーブルセレクタの詳細を示す説明図である。
【図７】第２の実施の形態にかかるフレーム解析装置の構成を示すブロック図である。
【図８】抽出選択情報切替部の構成を示すブロック図である。
【図９】第２の実施の形態にかかる条件付代入動作の制御に関するプログラムの構成例である。
【図１０】図９のプログラムに含まれる分岐条件の構成例である。
【図１１】第２の実施の形態にかかる条件付代入動作の制御に関するプログラム例である。
【図１２】従来のフレーム解析装置の構成を示すブロック図である。
【図１３】図１２のフレーム解析装置の詳細構成を示すブロック図である。
【図１４】従来構成の制御回路で実行されるプログラム例である。
【発明を実施するための形態】
【００２１】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１および図２を参照して、本発明の第１の実施の形態にかかるフレーム解析装置１について説明する。図１は、第１の実施の形態にかかるフレーム解析装置の構成を示すブロック図である。図２は、第１の実施の形態にかかるフレーム解析装置の詳細構成を示すブロック図である。
【００２２】
このフレーム解析装置１は、通信ネットワークで用いられて、入力フレームＦｉｎを解析し、その解析結果を出力フレームＦｏｕｔにより、フレームを処理する上位装置（図示せず）へ出力する機能を有している。
【００２３】
図１に示すように、フレーム解析装置１は、Ｋ（Ｋは２以上の整数）の制御基本回路ＣＵ＃１〜ＣＵ＃Ｋを有する制御回路１０と、制御基本回路ＣＵ＃１〜ＣＵ＃Ｋごとに設けられた制御対象回路群ＴＵ＃１〜ＴＵ＃Ｋとから構成されている。
制御基本回路ＣＵ＃ｋ（ｋ＝１〜Ｋの整数）には、主な回路部として、プログラムメモリ１１、演算結果処理部１２、フラグ処理部１３、判定セレクタ１４、およびプログラムカウンタ１５が設けられている。
【００２４】
また、図２に示すように、これら制御対象回路群ＴＵ＃１〜ＴＵ＃Ｋのそれぞれには、Ｉ（Ｉは２以上の整数）個の抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉからなる抽出回路２０と、Ｊ（Ｊは２以上の整数）個の加工基本回路ＰＵ＃１〜ＰＵ＃Ｊからなる加工回路３０とが設けられている。
抽出基本回路ＳＵ＃ｉ（ｉ＝１〜Ｉの整数）には、主な回路部として、抽出セレクタ２１、レジスタ２２、およびイネーブルセレクタＥＳが設けられている。
加工基本回路ＰＵ＃ｊ（ｊ＝１〜Ｊの整数）には、主な回路部として、加工セレクタ３１および演算器３２が設けられている。
【００２５】
［抽出基本回路］
抽出基本回路ＳＵ＃ｉは、図２に示すように、入力フレームＦｉｎまたは出力フレームＦｏｕｔから、制御基本回路ＣＵ＃ｋからの抽出選択情報ＳＳで指定されたそれぞれ対応するフィールド値を抽出セレクタ２１により抽出する機能と、制御基本回路ＣＵ＃ｋからのイネーブル選択情報ＳＥおよび分岐判定結果ＳＲに基づいてイネーブルセレクタＥＳによりイネーブル信号を生成する機能と、このイネーブル信号に基づいて抽出セレクタ２１で抽出されたフィールド値をレジスタ２２へ代入して保持する機能とを有している。
【００２６】
［加工基本回路］
加工基本回路ＰＵ＃ｊは、図２に示すように、制御基本回路ＣＵ＃ｋからの加工選択情報ＰＳに基づいて、抽出回路２０から出力された抽出フレームＦｍに含まれる、各抽出基本回路ＳＵ＃ｉのレジスタ２２で保持出力されたフィールド値を加工セレクタ３１により抽出する機能と、制御基本回路ＣＵ＃ｋからの演算制御情報ＰＣおよび演算値挿入情報ＰＩに基づいて、加工セレクタ３１で抽出されたフィールド値をそれぞれ対応する処理内容で演算して加工し、得られた演算結果を出力フレームＦｏｕｔにより出力する機能とを有している。
【００２７】
なお、本実施の形態にかかるフレーム解析装置１は、前述した特許文献１および特許文献２の組み合わせからなる従来構成のうち、抽出基本回路ＳＵ＃ｉにおける条件付代入動作の制御を改良したものである。したがって、後述する条件付代入動作の制御以外の構成および処理動作の詳細については、前述した特許文献１および特許文献２に記載された従来構成のすべてを継承するものとし、ここでの詳細な説明は省略する。
【００２８】
［制御基本回路］
次に、図１を参照して、制御基本回路ＣＵ＃ｋの構成および動作について説明する。
制御基本回路ＣＵ＃ｋは、プログラムメモリ１１に予め登録されているプログラムに基づいて、制御対象回路群ＴＵ＃ｋの各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉにおけるフィールド値の条件付代入動作、および制御対象回路群ＴＵ＃ｋの各加工基本回路ＰＵ＃１〜ＰＵ＃Ｊにおける演算動作を制御する機能を有している。
【００２９】
まず、プログラムカウンタ１５により新たなアドレスが指定された場合、プログラムメモリ１１は、指定されたアドレスに登録されている各種制御パラメータを読み出して、制御基本回路ＣＵ＃ｋさらには制御対象回路群ＴＵ＃ｋの各回路部に出力する。
【００３０】
演算結果処理部１２は、プログラムメモリ１１からの制御パラメータのうちの演算結果選択情報に基づいて、出力フレームＦｏｕｔのうちから対象とする演算結果を抽出し、制御パラメータのうちの比較パターンとパターンマッチングすることにより、分岐条件の成立有無を判定する。また、演算結果処理部１２は、この判定により得られた判定結果を、判定セレクタ１４に出力するとともに、分岐判定結果ＳＲとして制御対象回路群ＴＵ＃ｋの各抽出基本回路ＳＵ＃ｉに出力する。
【００３１】
フラグ処理部１３は、プログラムメモリ１１からの制御パラメータに基づいて、制御基本回路ＣＵ＃ｋ以外の他の制御基本回路ＣＵ＃１〜ＣＵ＃ｋ−１，ＣＵ＃ｋ＋１〜ＣＵ＃Ｋからのフラグ情報ＳＦ、さらには装置外部から入力された外部入力情報ＧＦを処理することにより、分岐条件の成立有無を判定する。また、フラグ処理部１３は、この判定により得られた判定結果を判定セレクタ１４に出力する。フラグ情報ＳＦは、制御基本回路ＣＵ＃ｋの処理動作を示す情報であり、予めプログラムメモリ１１に各アドレスのプログラム情報に応じた値が制御パラメータの１つとして登録されており、アドレスが指定されるごとにプログラムメモリ１１から読み出されて、各制御基本回路ＣＵ＃１〜ＣＵ＃Ｋ間で相互にやり取りされる。
【００３２】
判定セレクタ１４は、プログラムメモリ１１からの制御パラメータに基づいて、演算結果処理部１２またはフラグ処理部１３からの判定結果のいずれかを選択して、プログラムカウンタ１５へ入力する。
プログラムカウンタ１５は、判定セレクタ１４からの判定結果、およびプログラムメモリ１１からの制御パラメータのうちの次アドレスに基づいて、次に実行すべきプログラム情報が格納されている新たなアドレスを生成して、プログラムメモリ１１へ指定する。
【００３３】
図３は、第１の実施の形態にかかる条件付代入動作の制御に関するプログラムの構成例である。図４は、図３のプログラムに含まれる分岐条件の構成例である。
プログラムメモリ１１には、条件付代入動作の制御に関するプログラムとして、図３に示すようなプログラム情報が、アドレスごとに予め登録されており、これらプログラム情報の各制御パラメータは、プログラムカウンタ１５によりアドレスが指定されるごとに、プログラムメモリ１１から読み出されて、制御基本回路ＣＵ＃ｋさらには制御対象回路群ＴＵ＃ｋの各回路部へ出力される。
【００３４】
このプログラム情報は、複数の制御パラメータの組から構成されており、具体的には、図３に示すように、処理の分岐判定（分岐判定）に用いる分岐条件群と、この分岐判定により得られた判定結果に応じて入力フレームＦｉｎまたは出力フレームＦｏｕｔから抽出すべきフィールド値を示す抽出選択情報ＳＳと、抽出したフィールド値を代入して保持するレジスタ２２のイネーブル信号を生成するためのイネーブル選択情報ＳＥとを含んでいる。
【００３５】
このうち、分岐条件群は、１つまたは複数の分岐条件から構成されており、分岐条件のそれぞれは、図４に示すように、分岐条件成立時に分岐すべきアドレスを示す次アドレスと、条件付代入動作の分岐判定に用いる演算結果を選択するための演算結果選択情報と、選択された演算結果とパターンマッチングするための比較パターンとを含んでいる。
【００３６】
図５は、第１の実施の形態にかかる条件付代入動作の制御に関するプログラム例である。ここでは、図３に示したアドレスａｄｄｒ＿１に登録されているプログラム情報が示す処理内容を、一般的なプログラムにより記述したものが示されている。具体的には、判定内容「ａ＝ｂ」すなわちフィールド値ａとフィールド値ｂが等しいという分岐条件が成立した場合、処理内容「ｒｅｇ＿１＝ｆｉｅｌｄ＿Ａ」すなわちレジスタｒｅｇ＿１にフィールド値ｆｉｅｌｄ＿Ａを代入する、という処理を示している。
【００３７】
このうち、判定内容「ａ＝ｂ」は、プログラム情報の分岐条件＃１１に含まれる演算結果選択情報「ｊ」と比較パターン「ａ＝ｂ」とから構成されている。例えば、フィールド値ａとフィールド値ｂが等しいかどうかを判定する方法の１つとして、これらの差分ａ−ｂが「０」かどうかを比較処理する方法がある。制御対象回路群ＴＵ＃ｋの加工基本回路ＰＵ＃ｊの演算結果がフィールド値ａとフィールド値ｂの差分ａ−ｂを示すことを前提とすれば、上記比較処理で用いる差分ａ−ｂを演算結果選択情報「ｊ」で特定し、「０」を比較パターンで特定することにより、これらの比較結果が分岐条件成立有無を示す判定結果となる。
【００３８】
なお、判定内容は「ａ＝ｂ」に限定されるものではなく、２つのフィールド値の大小関係を示す例えば「ｃ＞ｄ」などの不等式であってもよく、２つのフィールド値の排他的論理和を示す演算式であってもよい。また、同一アドレスに異なる複数の分岐条件を登録して、先頭から順に分岐条件の成立有無を判定し、最初に成立した時点で処理を終了してもよく、すべての分岐条件の成立有無の論理和や論理積を判定結果として出力してもよい。この際、次アドレスを利用して、複数の分岐条件を連結し、これらの論理積結果を分岐条件成立有無を示す判定結果とすることもできる。
【００３９】
また、処理内容「ｒｅｇ＿１＝ｆｉｅｌｄ＿Ａ」は、プログラム情報に含まれる抽出選択情報「ｆｉｅｌｄ＿Ａ」とイネーブル選択情報「分岐判定結果」とから構成されている。抽出選択情報ＳＳは、抽出基本回路ＳＵ＃ｉの抽出セレクタ２１で、入力フレームＦｉｎまたは出力フレームＦｏｕｔから抽出すべきフィールド値、すなわちレジスタ２２へ代入すべきフィールド値を指定する情報である。イネーブル選択情報ＳＥは、抽出基本回路ＳＵ＃ｉのイネーブルセレクタＥＳで選択してレジスタ２２へ入力すべきイネーブル信号、すなわち抽出セレクタ２１で選択したフィールド値を代入すべきレジスタ２２を指定する情報である。
【００４０】
図６は、イネーブルセレクタの詳細を示す説明図である。抽出基本回路ＳＵ＃ｉには、制御基本回路ＣＵ＃ｋからのイネーブル選択情報ＳＥに基づいて、レジスタ２２に入力すべきイネーブル信号を選択するためのイネーブルセレクタＥＳが設けられている。
【００４１】
イネーブルセレクタＥＳには、基本セレクタ２１で選択されたフィールド値に対する非保持を示す「０」、保持を示す「１」、および制御基本回路ＣＵ＃ｋからの分岐判定結果ＳＲが入力されている。これら入力のうちのいずれか１つがイネーブル選択情報ＳＥに基づいて選択されて、レジスタ２２のイネーブル端子Ｅに入力される。なお、「０」、「１」のいずれかが選択された場合は、前述した従来構成の動作が実現される。
【００４２】
したがって、イネーブル選択情報ＳＥにより「分岐判定結果」が指示された場合、イネーブルセレクタＥＳにより、分岐判定結果ＳＲがイネーブル信号としてレジスタ２２に入力される。ここで、分岐判定結果ＳＲは、演算結果処理部１２で実行されるパターンマッチング処理の結果を示す情報、すなわち分岐条件の成立有無を示す情報である。このため、分岐条件が成立した場合には分岐判定結果ＳＲが「１」となり、結果として保持を示すイネーブル信号がレジスタ２２に入力されて、抽出セレクタ２１からのフィールド値がレジスタ２２で保持されることになる。また、分岐条件が成立しなかった場合には分岐判定結果ＳＲが「０」となり、フィールド値は新たに保持されないことになる。
【００４３】
また、個々のプログラム情報で記述された条件付代入動作は、制御基本回路ＣＵ＃ｋと対応する制御対象回路群ＴＵ＃ｋに含まれるいずれか１つの抽出基本回路ＳＵ＃ｉを特定して実行する必要がある。この際、プログラム情報に含まれる抽出選択情報ＳＳは、各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉに等しく分配出力されるため、抽出基本回路ＳＵ＃ｉを特定する方法としては、各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉに出力される分岐判定結果ＳＲを用いる方法とイネーブル選択情報ＳＥを用いる方法がある。
【００４４】
分岐判定結果ＳＲを用いる場合には、演算結果判定処理部１２から、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉのうち条件付代入動作を実行すべき抽出基本回路ＳＵ＃ｉのみに、実際に判定結果に応じた分岐判定結果ＳＲを出力し、その他の抽出基本回路ＳＵ＃１〜ＳＵ＃ｉ−１，ＳＵ＃ｉ＋１〜ＳＵ＃Ｉについては、分岐条件不成立を示す分岐判定結果ＳＲを出力すればよい。この際、どの抽出基本回路ＳＵ＃ｉを対象とするかについては、プログラム情報に含まれる制御パラメータで特定すればよい。
【００４５】
一方、イネーブル選択情報ＳＥを用いる場合には、イネーブル選択情報ＳＥを、それぞれ抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉごとに個別に登録しておけばよい。すなわち、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉのうち条件付代入動作を実行すべき抽出基本回路ＳＵ＃ｉに関するイネーブル選択情報ＳＥのみを「分岐判定結果」に設定し、その他の抽出基本回路ＳＵ＃１〜ＳＵ＃ｉ−１，ＳＵ＃ｉ＋１〜ＳＵ＃Ｉについては、非保持を示す「０」に設定しておけばよい。これにより、分岐条件成立時に、各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉのうち、どの抽出基本回路ＳＵ＃ｉがどのフィールド値を抽出セレクタ２１で抽出してレジスタ２２で保持するのか特定することができる。
【００４６】
前述した従来構成によれば、判定内容と処理内容が異なるアドレスに登録されているため、１つの条件付代入動作を実行するのに最低２クロック分の処理時間が必要であったが、本実施の形態によれば、判定内容と処理内容が同一アドレスに登録されているため、１つの条件付代入動作を１クロック分の処理時間で実行されることになり、結果として、フレーム解析処理が高速化される。また、プログラム情報を格納するアドレス数が削減されるため、プログラムのシンプル化、さらにはプログラムメモリ容量の削減が、実現される。なお、本実施の形態にかかるプログラム情報は、従来構成と比較してイネーブル選択情報ＳＥが増えるものの、イネーブル選択情報ＳＥは１レジスタあたりで２ビットあれば十分であり、複数のアドレスを使用する従来構成よりはプログラムメモリ容量が削減される。
【００４７】
本実施の形態では、プログラム情報に抽出選択情報ＳＳやイネーブル選択情報ＳＥを含む場合を例として説明したが、これら制御パラメータを保持するメモリについては、制御基本回路ＣＵ＃ｋのプログラムメモリ１１に限定されるものではない。例えば、抽出基本回路ＳＵ＃ｉのそれぞれに個別プログラムメモリを設け、抽出選択情報ＳＳやイネーブル選択情報ＳＥを予め登録しておき、制御基本回路ＣＵ＃ｋからのアドレスに基づき、抽出基本回路ＳＵ＃ｉが自己の個別プログラムメモリから抽出選択情報ＳＳやイネーブル選択情報ＳＥを読み出すようにしてもよい。
【００４８】
［第１の実施の形態の効果］
このように、本実施の形態は、制御基本回路ＣＵ＃ｋにおいて、プログラムメモリ１１が、フィールド値の条件付代入動作を制御するプログラム情報として、演算結果選択情報、比較パターン、抽出選択情報ＳＳ、イネーブル選択情報ＳＥの組を、アドレスごとに記憶し、演算結果処理部１２が、演算結果選択情報に対応する演算結果を比較パターンとパターンマッチングして分岐条件の成立有無を判定し、抽出基本回路ＳＵ＃ｉにおいて、イネーブルセレクタＥＳが、イネーブル選択情報ＳＥに基づいて演算結果処理部１２の分岐判定結果ＳＲをイネーブル信号として出力し、抽出セレクタ２１が、抽出選択情報ＳＳと対応するフィールド値を入力フレームＦｉｎまたは出力フレームＦｏｕｔ抽出し、レジスタ２２が、イネーブル信号に応じて抽出セレクタ２１で抽出されて代入されたフィールド値を保持するようにしたものである。
【００４９】
これにより、新たなアドレスが指定された場合には、演算結果選択情報、比較パターン、抽出選択情報ＳＳ、イネーブル選択情報ＳＥの組が、制御パラメータとしてプログラムメモリ１１から読み出されて各回路部に出力され、演算結果処理部１２からの分岐判定結果ＳＲが、イネーブルセレクタＥＳを介してレジスタ２２に入力されることになる。このため、分岐条件の成立に応じて、分岐判定結果ＳＲからなるイネーブル信号がレジスタ２２に入力されて、抽出セレクタ２１で抽出されて代入されたフィールド値が保持されることになる。
【００５０】
したがって、条件付代入動作を１つのアドレスに登録されるプログラム情報で記述することができ、１クロックで条件付代入動作を実行することが可能となる。これにより、少なくとも２クロックを要した前述した従来構成と比較して、条件付代入動作に必要となるクロック数を最低限に短縮でき、結果として、処理の高速化を実現できるとともに、プログラムのシンプル化、プログラムメモリ容量削減により、フレーム解析装置１全体の回路規模を削減することが可能となる。
【００５１】
［第２の実施の形態］
次に、図７および図８を参照して、本発明の第２の実施の形態にかかるフレーム解析装置１について説明する。図７は、第２の実施の形態にかかるフレーム解析装置の構成を示すブロック図である。図８は、抽出選択情報切替部の構成を示すブロック図である。
【００５２】
第１の実施の形態では、条件付代入動作の際、演算結果処理部１２における分岐判定結果ＳＲを、レジスタ２２のイネーブル信号として用いる場合を例として説明した。しかしながら、この構成では、複数の分岐条件を用いる場合、個々の分岐条件に応じてレジスタ２２に代入して保持すべきフィールド値を切り替えることはできない。これは、各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉに対する抽出選択情報ＳＳの出力に、個々の分岐判定結果ＳＲが反映されていないからである。
【００５３】
本実施の形態では、図７に示すように、制御基本回路ＣＵ＃ｋに抽出選択情報切替部１６を設け、成立した分岐条件に応じて、保持すべきフィールド値を示す抽出選択情報ＳＳを切替出力するようにしたものである。
【００５４】
抽出選択情報切替部１６は、図８に示すように、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉごとに設けられたＩ個のセレクタ＃１〜＃Ｉから構成されている。
セレクタ＃ｉ（ｉ＝１〜Ｉの整数）は、抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉごとに設けられたセレクタであり、プログラムメモリ１１から読み出された、個々の分岐条件＃１〜＃Ｐが成立した時に抽出すべきフィールド値を示す抽出選択情報ＳＳ＃１〜ＳＳ＃Ｐと、すべての分岐条件＃１〜＃Ｐが不成立の時に抽出すべきフィールド値を示す不一致抽出選択情報ＳＳ＃Ｑとが入力されている。
【００５５】
また、各セレクタ＃ｉには、演算結果処理部１２から出力された、それぞれの抽出基本回路ＳＵ＃ｉと対応する分岐判定結果ＳＲ＃ｉが選択信号として入力されている。ここでは、条件付代入動作を実行する抽出基本回路ＳＵ＃ｉを特定する方法として、前述した、分岐判定結果ＳＲ＃ｉを用いる場合を前提とし、さらに、この分岐判定結果ＳＲ＃ｉは、プログラム情報のうちいずれの分岐条件＃ｐが成立したか、いずれの分岐条件＃ｐも不成立であったかを示す値を示しているものとする。
【００５６】
これにより、例えば、分岐判定結果ＳＲ＃ｉが分岐条件＃ｐの成立を示す場合、セレクタ＃ｉから抽出選択情報ＳＳ＃ｐが選択されて、抽出基本回路ＳＵ＃ｉに出力されることになる。また、すべての分岐条件＃１〜＃Ｐが不成立を示す場合、セレクタ＃ｉから抽出選択情報ＳＳ＃ｑが選択されて、抽出基本回路ＳＵ＃ｉに出力されることになる。
【００５７】
図９は、第２の実施の形態にかかる条件付代入動作の制御に関するプログラムの構成例である。図１０は、図９のプログラムに含まれる分岐条件の構成例である。
本実施の形態にかかるプログラム情報は、図１０に示すように、分岐条件群、次に分岐すべきアドレスを示す次アドレス、すべての分岐条件が不一致の際に抽出すべきフィールド値を示す不一致抽出選択情報ＳＳ、およびイネーブル選択情報ＳＥを含んでいる。
また、分岐条件のそれぞれは、図１０に示すように、演算結果選択情報、比較パターン、および分岐条件成立時に抽出すべきフィールド値を示す抽出選択情報ＳＳを含んでいる。
【００５８】
図１１は、第２の実施の形態にかかる条件付代入動作の制御に関するプログラム例である。ここでは、図９に示したアドレスａｄｄｒ＿１に登録されているプログラム情報が示す処理内容を、一般的なプログラムにより記述したものが示されている。
【００５９】
具体的には、判定内容「ａ＝ｂ」からなる分岐条件＃１１が成立した場合、処理内容「ｒｅｇ＿１＝ｆｉｅｌｄ＿Ａ」を実行し、分岐条件＃１１が不成立で判定内容「ｃ＜ｄ」からなる分岐条件１２が成立した場合、処理内容「ｒｅｇ＿１＝ｆｉｅｌｄ＿Ｂ」を実行し、分岐条件＃１１，＃１２が不成立の場合、処理内容「ｒｅｇ＿１＝ｆｉｅｌｄ＿Ｃ」を実行する、という処理を示している。
【００６０】
したがって、図１０および図１１の例によれば、アドレスａｄｄｒ＿１が指定された場合、分岐条件＃１１，＃１２の演算結果選択情報「ｊ」，「ｊ＋１」と比較パターン「ａ＝ｂ」，「ｃ＜ｄ」とが演算結果処理部１２に出力され、分岐条件＃１１，＃１２の抽出選択情報「ｆｉｅｌｄ＿Ａ」，「ｆｉｅｌｄ＿Ｂ」および不一致抽出選択情報「ｆｉｅｌｄ＿Ｃ」が抽出選択情報切替部１６に出力され、イネーブル選択情報「分岐判定結果」が各抽出基本回路ＳＵ＃１〜ＳＵ＃Ｉに出力される。
【００６１】
これにより、演算結果処理部１２は、演算結果選択情報「ｊ」に基づき出力フレームＦｏｕｔから演算結果「ａ−ｂ」を抽出して比較パターン「ａ＝ｂ」とパターンマッチングすることにより、分岐条件＃１１の成立有無を判定する。なお、出力フレームＦｏｕｔのうち、加工基本回路ＰＵ＃ｊの演算結果がフィールド値ａとフィールド値ｂの差分ａ−ｂを示しているものとする。
【００６２】
したがって、分岐条件＃１１である「ａ＝ｂ」が成立した場合には、演算結果処理部１２から分岐条件＃１１の成立を示す分岐判定結果ＳＲ＃ｉが出力される。
これに応じて、抽出選択情報切替部１６のセレクタ＃ｉにおいて、プログラムメモリ１１から出力されている分岐条件＃１１，＃１２の抽出選択情報ＳＳ＃１〜ＳＳ＃ｐと不一致抽出選択情報ＳＳ＃ｑのうちから、分岐判定結果ＳＲ＃ｉにより分岐条件＃１１の抽出選択情報「ｆｉｅｌｄ＿Ａ」が選択されて、抽出基本回路ＳＵ＃ｉの抽出セレクタ２１に出力される。これにより、抽出基本回路ＳＵ＃ｉのレジスタ２２に「ｆｉｅｌｄ＿Ａ」のフィールド値が代入されることになる。
【００６３】
また、分岐条件＃１１が不成立である場合、演算結果処理部１２は、演算結果選択情報「ｊ＋１」に基づき出力フレームＦｏｕｔから演算結果「ｃ−ｄ」を抽出して比較パターン「ｃ＜ｄ」とパターンマッチングすることにより、分岐条件＃１２の成立有無を判定する。なお、出力フレームＦｏｕｔのうち、加工基本回路ＰＵ＃ｊの演算結果がフィールド値ｃとフィールド値ｄの差分ｃ−ｄを示しているものとする。
【００６４】
したがって、分岐条件＃１２である「ｃ＜ｄ」が成立した場合には、演算結果処理部１２から分岐条件＃１２の成立を示す分岐判定結果ＳＲ＃ｉが出力される。
これに応じて、抽出選択情報切替部１６のセレクタ＃ｉにおいて、プログラムメモリ１１から出力されている分岐条件＃１１，＃１２の抽出選択情報ＳＳ＃１〜ＳＳ＃ｐと不一致抽出選択情報ＳＳ＃ｑのうちから、分岐判定結果ＳＲ＃ｉにより分岐条件＃１１の抽出選択情報「ｆｉｅｌｄ＿Ｂ」が選択されて、抽出基本回路ＳＵ＃ｉの抽出セレクタ２１に出力される。これにより、抽出基本回路ＳＵ＃ｉのレジスタ２２に「ｆｉｅｌｄ＿Ｂ」のフィールド値が代入されることになる。
【００６５】
また、分岐条件＃１１，＃１２が不成立の場合には、演算結果処理部１２から分岐条件不成立を示す分岐判定結果ＳＲ＃ｉが出力される。
これに応じて、抽出選択情報切替部１６のセレクタ＃ｉにおいて、プログラムメモリ１１から出力されている分岐条件＃１１，＃１２の抽出選択情報ＳＳ＃１〜ＳＳ＃ｐと不一致抽出選択情報ＳＳ＃ｑのうちから、分岐判定結果ＳＲ＃ｉにより不一致抽出選択情報「ｆｉｅｌｄ＿Ｃ」が選択されて、抽出基本回路ＳＵ＃ｉの抽出セレクタ２１に出力される。これにより、抽出基本回路ＳＵ＃ｉのレジスタ２２に「ｆｉｅｌｄ＿Ｃ」のフィールド値が代入されることになる。
【００６６】
［第２の実施の形態の効果］
このように、本実施の形態は、プログラムメモリ１１が、演算結果選択情報、比較パターン、および抽出選択情報ＳＳを含む１つまたは複数の分岐条件と、不一致抽出選択情報ＳＳと、イネーブル選択情報ＳＥとの組を、アドレスごとに記憶し、制御基本回路ＣＵ＃ｋが、指定アドレスから読み出された分岐条件に含まれる抽出選択情報ＳＳ＃１〜ＳＳ＃ｐと不一致抽出選択情報ＳＳ＃ｑのうちから、分岐判定結果ＳＲに応じた抽出選択情報ＳＳを切替選択して抽出基本回路ＳＵ＃ｉへ出力する抽出選択情報切替部１６をさらに有し、抽出セレクタ２１は、抽出選択情報切替部１６で切替選択された抽出選択情報ＳＳと対応するフィールド値を、入力フレームＦｉｎまたは出力フレームＦｏｕｔから抽出するようにしたものである。
【００６７】
これにより、１つのアドレスに登録されるプログラム情報で、複数の分岐条件を用いる場合、個々の分岐条件ごとにレジスタ２２に代入して保持すべきフィールド値を切り替えることができる。このため、１クロックでより高度な条件付代入動作を実行することができ、結果として、さらなる処理の高速化を実現できるとともに、プログラムのシンプル化、プログラムメモリ容量削減により、フレーム解析装置１全体の回路規模を大幅に削減することが可能となる。
【００６８】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【００６９】
１…フレーム解析装置、ＣＵ…制御基本回路、ＴＵ…制御対象回路群、ＳＵ…抽出基本回路、ＰＵ…加工基本回路、１０…制御回路、１１…プログラムメモリ、１２…演算結果処理部、１３…フラグ処理部、１４…判定セレクタ、１５…プログラムカウンタ、１６…抽出選択情報切替部、２０…抽出回路、２１…抽出セレクタ、２２…レジスタ、ＥＳ…イネーブルセレクタ、３０…加工回路、３１…加工セレクタ、３２…演算器、Ｆｉｎ…入力フレーム、Ｆｍ…抽出フレーム、Ｆｏｕｔ…出力フレーム、ＳＳ…抽出選択情報、ＳＥ…イネーブル選択情報、ＳＲ…分岐判定結果。
【図１】
2018074308.tif 000003
【図２】
2018074308.tif 000004
【図３】
2018074308.tif 000005
【図４】
2018074308.tif 000006
【図５】
2018074308.tif 000007
【図６】
2018074308.tif 000008
【図７】
2018074308.tif 000009
【図８】
2018074308.tif 000010
【図９】
2018074308.tif 000011
【図１０】
2018074308.tif 000012
【図１１】
2018074308.tif 000013
【図１２】
2018074308.tif 000014
【図１３】
2018074308.tif 000015
【図１４】
2018074308.tif 000016