JP4477805B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP4477805B2 JP4477805B2 JP2001353365A JP2001353365A JP4477805B2 JP 4477805 B2 JP4477805 B2 JP 4477805B2 JP 2001353365 A JP2001353365 A JP 2001353365A JP 2001353365 A JP2001353365 A JP 2001353365A JP 4477805 B2 JP4477805 B2 JP 4477805B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- dedicated
- storage
- arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワークを介して転送されるデータの中から処理対象となるデータを処理する情報処理装置に関するものである。
【0002】
【従来の技術】
近年、インターネット等のネットワークの普及に伴い、ネットワークを用いた種々のサービスが行われている。このようなサービスを利用する際、アクセスするユーザを特定するために認証処理が行われたり、セキュリティーを確保するためにデータを暗号化して転送したり、暗号化されたデータを復号化することが一般に行われるようになっている。
【0003】
上記の暗号処理及び認証処理を行う従来の暗号認証装置としては、例えば、一つ又は複数のCPU(中央演算処理装置)と所定のプログラムとを用いてソフトウエアにより暗号処理及び認証処理を行うものがある。
【0004】
【発明が解決しようとする課題】
しかしながら、上記のようにソフトウエアを用いて暗号処理及び認証処理を行う場合、暗号処理及び認証処理に長時間を要し、データを高速に処理することができない。すなわち、近年では転送技術の進歩によりネットワーク上でデータを高速に転送することができるが、上記のソフトウエアによる暗号処理及び認証処理を用いたのでは、暗号処理及び認証処理がネットワーク上のデータ転送のボトルネックとなることが頻繁に発生し、ネットワーク上でのデータ転送の障害となっている。
【0005】
本発明の目的は、ネットワーク上で転送されるデータをデータ転送の障害とならないように高速に処理することができる情報処理装置を提供することである。
【0006】
【課題を解決するための手段】
本発明に係る情報処理装置は、ネットワークを介して転送されるデータの中から処理対象となるデータを処理する情報処理装置であって、処理対象となるデータを受け、所定のプログラムを実行することにより装置全体の動作を制御する演算処理手段と、入力されるデータに所定の処理を行うために専用に設けられた複数の専用処理手段と、演算処理手段又は専用処理手段から出力されるデータを記憶する記憶手段と、前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替える切り替え手段とを備えるものである。
【0007】
本発明に係る情報処理装置においては、所定のプログラムを実行することにより装置全体の動作を制御する演算処理手段がネットワークを介して転送されるデータの中から処理対象となるデータを受け、切り替え手段が演算処理手段と記憶手段とを接続し、演算処理手段が処理対象となるデータを記憶手段に記憶させることができる。次に、切り替え手段が記憶手段と専用処理手段とを接続し、所定の処理を行うために専用に設けられた専用処理手段が記憶手段に記憶されているデータを処理することができる。
【0008】
したがって、専用のハードウエアを用いて高速にデータを処理することができるとともに、並列処理が可能な場合は複数の専用処理手段により並列処理することができ、より高速にデータを処理することができる。この結果、ネットワーク上で転送されるデータをデータ転送の障害とならないように高速に処理することができる。
【0009】
また、本発明によれば、前記複数の専用処理手段は、所定の暗号処理を行うために専用に設けられる専用暗号処理手段及び所定の認証処理を行うために専用に設けられる専用認証処理手段のうち、前記専用暗号処理手段及び前記専用認証処理手段と複数の前記専用暗号処理手段との一方を有するものであるから、複数の専用暗号処理手段を用いて上記のように暗号処理を並列に行ったり、専用暗号処理手段及び専用認証処理手段を用いて暗号処理及び認証処理を並列に行ったりすることができ、その結果、暗号処理を高速に行ったり、より高速にデータを処理したりすることができる。
【0010】
そして、専用処理手段ごとに設けられ、専用処理手段と切り替え手段との間のインターフェースを行う複数の処理用インターフェース手段をさらに備え、処理用インターフェース手段は、切り替え手段側のインターフェースに共通化されたプロトコルを用いるようにしたので、新たな処理方式等を採用した専用処理手段を用いる場合でも、変更すべき部分が処理用インターフェース手段の切り替え手段側を超えることがなく、専用処理手段の変更を容易に行うことができる。
【0011】
記憶手段は、演算処理手段又は専用処理手段から出力されるデータを記憶する複数の記憶手段を含み、切り替え手段は、演算処理手段又は複数の専用処理手段と複数の記憶手段との間の接続状態を切り替えることが好ましい。
【0012】
この場合、複数の記憶手段の一つが使用されている場合でも、他の記憶手段を用いてデータを処理することができるので、より高速にデータを処理することができる。
【0013】
記憶手段ごとに設けられ、記憶手段と切り替え手段との間のインターフェースを行う記憶用インターフェース手段をさらに備え、記憶用インターフェース手段は、切り替え手段側のインターフェースに共通化されたプロトコルを用いることが好ましい。
【0014】
この場合、切り替え手段側のインターフェースを共通化しているので、新たなアーキテクチャ等を採用した記憶手段を用いる場合でも、変更すべき部分が記憶用インターフェース手段の切り替え手段側を超えることがなく、記憶手段の変更を容易に行うことができる。
【0015】
切り替え手段は、専用処理手段の処理状態を示す処理状態情報及び記憶手段の記憶状態を示す記憶状態情報を記憶し、記憶した処理状態情報及び記憶状態情報に応じて前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替えることが好ましい。
【0016】
この場合、処理状態情報及び記憶状態情報に応じて前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替えているので、正常なデータ処理を妨げることなく、前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替えて高速にデータを処理することができる。
【0017】
演算処理手段は、記憶手段の中から書き込み可能な記憶手段を切り替え手段に問い合わせ、切り替え手段は、演算処理手段からの問い合わせに応じて書き込み可能な記憶手段の一つを演算処理手段に通知するとともに、通知した記憶手段と演算処理手段とを接続することが好ましい。
【0018】
この場合、書き込み可能な記憶手段があることを演算処理手段に通知するとともに、通知した記憶手段と演算処理手段とを接続しているので、演算処理手段が一度アクセスするだけで書き込み可能な記憶手段の確認及び切り替え手段の設定を行うことができ、記憶手段へのデータ書き込み処理におけるオーバーヘッドを軽減することができる。
【0019】
切り替え手段は、演算処理手段から記憶手段に記憶されているデータに対する処理要求を受けた場合、当該データを処理すべき専用処理手段が処理可能な状態になった後に当該専用処理手段と当該記憶手段とを接続することが好ましい。
【0020】
この場合、演算処理手段から処理要求を受けたデータを処理すべき専用処理手段が処理可能な状態になった後に専用処理手段と記憶手段とを接続しているので、処理要求を受けたときに専用処理手段がすぐに処理できない場合でも、演算処理手段は1回の処理要求を発するだけで、専用処理手段が処理可能な状態になった後に記憶手段から専用処理手段へデータを転送して処理することができ、演算処理手段のソフトウエアによる処理を簡略化することができる。
【0021】
専用処理手段ごとに設けられ、当該専用処理手段の処理が終了したことを示す処理終了通知信号を切り替え手段へ出力する処理管理手段をさらに備え、切り替え手段は、処理終了通知信号により専用処理手段の処理が終了したことを検知した場合、処理終了通知信号を取り消すことを指示する処理終了通知取り消し信号を処理管理手段へ出力し、処理管理手段は、処理終了通知取り消し信号に応じて処理終了通知信号を取り消すことが好ましい。
【0022】
この場合、切り替え手段が処理終了通知信号を検知して処理終了通知取り消し信号を処理管理手段へ出力し、処理管理手段が処理終了通知取り消し信号に応じて処理終了通知信号を取り消しているので、切り替え手段が複数の専用処理手段の処理終了を確実に把握することができる。
【0023】
切り替え手段は、記憶手段ごとに当該記憶手段に記憶されているデータの専用処理手段による処理が終了したことを示す処理終了情報を記憶し、記憶されている処理終了情報が処理終了を示す場合、演算処理手段に割り込み要求信号を出力し、演算処理手段は、割り込み要求信号を受けた場合、当該処理終了情報に対応する記憶手段からデータを読み出し、切り替え手段は、演算処理手段が記憶手段からのデータの読み出し動作を開始した後に割り込み要求信号を取り消すとともに、当該記憶手段に対して記憶されている処理終了情報を取り消し、さらに、演算処理手段がデータの読み出し動作を完了した後に、記憶されている他の処理終了情報が処理終了を示す場合、演算処理手段に割り込み要求信号を出力することが好ましい。
【0024】
この場合、記憶されている処理終了情報が処理終了を示すときに、切り替え手段が演算処理手段に割り込み要求信号を出力し、演算処理手段が処理終了情報に対応する記憶手段からデータを読み出す。このとき、切り替え手段が割り込み要求信号を取り消すとともに、処理終了情報を取り消す。次に、演算処理手段がデータの読み出し動作を完了した後に、他の処理終了情報が処理終了を示す場合、切り替え手段が演算処理手段に割り込み要求信号を再度出力している。このようにして、演算処理手段の読み出し動作を妨げることなく、処理終了情報ごとに割り込み要求信号を出力することができるので、処理が終了したデータを各記憶手段から演算処理手段へ確実に読み出すことができる。
【0025】
演算処理手段は、記憶手段の中から読み出し可能な記憶手段を切り替え手段に問い合わせ、切り替え手段は、演算処理手段からの問い合わせに応じて読み出し可能な記憶手段の一つを演算処理手段に通知するとともに、通知した記憶手段と演算処理手段とを接続することが好ましい。
【0026】
この場合、読み出し可能な記憶手段があることを演算処理手段に通知するとともに、通知した記憶手段と演算処理手段とを接続しているので、演算処理手段が一度アクセスするだけで読み出し可能な記憶手段の確認及び切り替え手段の設定を行うことができ、記憶手段からのデータ読み出し処理におけるオーバーヘッドを軽減することができる。
【0027】
切り替え手段は、演算処理手段が記憶手段に記憶されているデータを読み出して当該データを確認するための確認モードにおいて、演算処理手段がデータを読み出した記憶手段に対して記憶している各情報を変化させないことが好ましい。
【0028】
この場合、確認モードにおいて演算処理手段がデータを読み出しても、切り替え手段は読み出した記憶手段に対して記憶している各情報を変化させないので、通常の動作に影響を与えることなく、記憶手段に記憶されているデータを読み出して当該データを確認することができる。
【0029】
切り替え手段は、専用処理手段が記憶手段に記憶されているデータを処理できない場合、専用処理手段が記憶手段に記憶されているデータを処理できないことを演算処理手段に通知し、演算処理手段は、他の専用処理手段が処理可能なデータを記憶手段に記憶させることが好ましい。
【0030】
この場合、記憶手段に格納されているデータを処理すべき専用処理手段が空いていない場合でも、記憶手段のデータを他の処理のデータに書き替えることができるので、記憶手段に記憶されている他の処理のデータを他の専用処理手段により処理することができ、専用処理手段を並列に動作させて処理を高速化することができる。
【0031】
切り替え手段は、専用処理手段が記憶手段に記憶されているデータを処理できない場合、他の専用処理手段により現在可能な処理を演算処理手段に通知し、演算処理手段は、通知された処理が行われるデータを記憶手段に記憶させることが好ましい。
【0032】
この場合、演算処理手段は、どの処理が現在実行可能であるかを直接知ることができるので、処理可能なデータを記憶手段に転送することができ、処理できないデータの無駄な転送を防止することができるとともに、確実にデータ処理を行うことができる。
【0033】
記憶手段は、複数の専用処理手段及び切り替え手段とともに一つの集積回路により構成されることが好ましい。
【0034】
この場合、記憶手段が複数の専用処理手段及び切り替え手段とともに一つの集積回路により構成されているので、記憶手段と切り替え手段との間のインターフェースを高速化することができる。
【0035】
演算処理手段は、複数の専用処理手段及び切り替え手段とともに一つの集積回路により構成されることが好ましい。
【0036】
この場合、演算処理手段が複数の専用処理手段及び切り替え手段とともに一つの集積回路により構成されているので、演算処理手段と切り替え手段との間のインターフェースを高速化することができる。
【0037】
【発明の実施の形態】
以下、本発明の一実施の形態による情報処理装置の一例として暗号認証回路について図面を参照しながら説明する。図1は、本発明の第1の実施の形態による暗号認証回路の構成を示すブロック図である。
【0038】
図1に示す暗号認証回路は、CPU(中央演算処理装置)2、ASIC(Application Specific Integrated Circuit)3及びバンクメモリ4a,4bを備える。CPU2は、メインメモリ21を含む。ASIC3は、I/F(インターフェース)部31,33a〜33c,35a,35b、メインコントローラ32及び演算エンジン34a〜34cを含む。メインコントローラ32は、ステートマシン36及びバススイッチ37を含む。ステートマシン36は、レジスタ部38を含む。
【0039】
CPU2は、ネットワークに接続するためのネットワークインターフェース機能を備えた汎用ネットワークプロセッサ等から構成され、ネットワーク1及びASIC3に接続される。なお、ネットワーク1としては、例えば、インターネット、イントラネット等の種々のネットワークを用いることができる。
【0040】
CPU2は、所定のプログラムを実行することにより、装置全体の動作を制御するとともに、ネットワーク1を介して転送されるデータから暗号処理(暗号化処理及び復号化処理)及び/又は認証処理の対象となるデータを抽出し、抽出したデータをメインメモリ21に記憶させる。また、CPU2は、所定のプログラムを実行することにより、暗号処理及び認証処理の対象とならないデータに対して当該データに対する通常の処理を行う。
【0041】
ASIC3は、暗号処理及び/又は認証処理の特定用途に対して設計された1チップの集積回路から構成され、CPU2の制御の下、CPU2から出力されるデータに対して暗号処理及び/又は認証処理を行い、処理後のデータをCPU2へ出力する。なお、ASIC3内の各ブロックは、上記のように1チップのASICにより構成される例に特に限定されず、各ブロックを個別回路により構成してもよい。
【0042】
I/F部31は、CPU2とメインコントローラ32との間のインターフェースを行い、CPU2とバススイッチ37との間でのデータ転送を制御したり、CPU2とステートマシン36との間での各制御信号等の入出力を制御する。なお、CPU2とメインコントローラ32とを直接接続できる場合はI/F部31を省略することも可能である。
【0043】
メインコントローラ32は、動作状態に応じて、バンクメモリ4a,4bに接続されているI/F部35a,35bとCPU2に接続されているI/F部31又は演算エンジン34a〜34cに接続されているI/F部33a〜33cとの間の接続状態を切り替えることにより、バンクメモリ4a,4bとCPU2又は演算エンジン34a〜34cとの間の接続状態を切り替える。
【0044】
I/F部33a〜33cは、演算エンジン34a〜34cごとに設けられる。I/F部33aは、メインコントローラ32と演算エンジン34aとの間のインターフェースを行い、メインコントローラ32と演算エンジン34aとの間でのデータ転送を制御したり、メインコントローラ32との間で各制御信号等を入出力する。I/F部33b,33cも、I/F部33aと同様に構成され、メインコントローラ32と各演算エンジン34b,34cとの間のインターフェースを行う。
【0045】
また、I/F部33a〜33cは、メインコントローラ32側に同一のプロトコルを用いてメインコントローラ32側のインターフェースを共通化している。したがって、新たな処理方式等を採用した演算エンジンを用いる場合でも、変更すべき部分がI/F部33a〜33cのメインコントローラ32側を超えることがなく、演算エンジンの変更を容易に行うことができる。
【0046】
演算エンジン34a〜34cは、例えば、暗号処理及び/又は認証処理を行うための専用のハードウエアにより構成され、本実施の形態では、例えば、演算エンジン34a,34bは、暗号処理を行うための専用の暗号回路であり、演算エンジン34cは、認証処理を行うための専用の認証回路である。
【0047】
なお、演算エンジン34a〜34cが行う処理は、上記の暗号処理及び認証処理に特に限定されず、他の処理を行うようにしてもよい。また、演算エンジンの数も、上記の例に特に限定されず、2個又は4個以上の演算エンジンを用いてもよい。また、暗号回路及び認証回路の数も、上記の例に特に限定されず、それぞれ2個以上設けたり、種々の数に変更可能であり、また、暗号回路又は認証回路のみにより構成してもよい。
【0048】
I/F部35a,35bは、バンクメモリ4a,4bごとに設けられる。I/F部35aは、メインコントローラ32とバンクメモリ4aとの間のインターフェースを行い、メインコントローラ32とバンクメモリ4aとの間でのデータ転送等を制御する。I/F部35bも、I/F部35aと同様に構成され、メインコントローラ32とバンクメモリ4bとの間のインターフェースを行う。
【0049】
また、I/F部35a,35bは、メインコントローラ32側に同一のプロトコルを用いてメインコントローラ32側のインターフェースを共通化している。したがって、新たなアーキテクチャ等を採用したバンクメモリを用いる場合でも、変更すべき部分がI/F部35a,35bのメインコントローラ32側を超えることがなく、バンクメモリの変更を容易に行うことができる。
【0050】
バンクメモリ4a,4bは、処理対象となるデータ又は処理後のデータを一時的に記憶する処理用メモリである。なお、バンクメモリの数は、上記の例に特に限定されず、1個又は3個以上のバンクメモリを用いてもよい。
【0051】
ステートマシン36は、レジスタ部38に格納されている各種フラグ等を参照して所定のクロック信号に同期して後述する各ステートに順次遷移し、各ステートに応じてバススイッチ37の接続状態を制御するとともに、演算エンジン34a〜34c等の動作を制御する。
【0052】
図2は、図1に示すステートマシン36の各ステートの一例を示す状態遷移図である。図2に示すIDLEは、初期状態すなわちCPU2及びI/F部33a〜33c(演算エンジン34a〜34c)等からの制御信号の待ち状態を示している。SUWT_A1,SUWT_A2,SUWT_A3,SUWT_Fは、バンクメモリ4a,4bの書き込み状態を示す。FU_RQ,FU_Aは、データ処理開始状態を示す。FU_F1,FU_F2は、データ処理完了状態を示す。SET_IRQは、データ処理完了に伴う割り込み要求信号の発生状態を示す。SURD_A1,SURD_A2,SURD_A3,SURD_Fは、バンクメモリ4a,4bの読み出し状態を示す。これらの各ステートが図2に示すように遷移され、各ステートに応じた動作を行うようにステートマシン36がバススイッチ37及び演算エンジン34a〜34c等を制御する。
【0053】
再び、図1を参照して、バススイッチ37は、バンクメモリ4a,4bに接続されているI/F部35a,35bとCPU2に接続されているI/F部31又は演算エンジン34a〜34cに接続されているI/F部33a〜33cとの間の接続状態を切り替えるマルチプレクサ(図示省略)等から構成され、ステートマシン36の制御の下、バンクメモリ4a,4bとCPU2又は演算エンジン34a〜34cとの間の接続状態を切り替える。
【0054】
本実施の形態では、CPU2が演算処理手段に相当し、演算エンジン34a〜34cが専用処理手段に相当し、バンクメモリ4a,4bが記憶手段に相当し、メインコントローラ32が切り替え手段に相当する。また、演算エンジン(暗号回路)34a,34bが専用暗号処理手段に相当し、演算エンジン(認証回路)34cが専用認証処理手段に相当し、I/F部33a〜33cが処理用インターフェース手段及び処理管理手段に相当し、I/F部35a,35bが記憶用インターフェース手段に相当する。
【0055】
次に、上記のように構成された暗号認証回路の動作について説明する。まず、CPU2は、ネットワーク1を介して転送されるデータの中から処理対象となるデータを抽出し、抽出したデータをメインメモリ21に記憶する。次に、CPU2は、I/F部31を介してステートマシン36を参照し、ASIC3に処理させるデータを書き込み可能なバンクメモリを確認する。
【0056】
ここで、バンクメモリ4aが書き込み可能なバンクメモリである場合、ステートマシン36は、バススイッチ37によりI/F部31とI/F部35aとを接続する。次に、CPU2は、処理すべきデータをI/F部31、バススイッチ37及びI/F部35aを介してバンクメモリ4aへ転送し、処理すべきデータをバンクメモリ4aに記憶させる。
【0057】
処理すべきデータがバンクメモリ4aに書き込まれた後、CPU2は、バンクメモリ4aに記憶されているデータの処理を開始するようにI/F部31を介してステートマシン36に指示する。次に、ステートマシン36は、バンクメモリ4aに記憶されているデータを処理可能な演算エンジンを検索する。
【0058】
例えば、データが暗号化処理を行うべきデータであり、演算エンジン34aが当該データを処理可能な場合、ステートマシン36は、バススイッチ37の接続状態を切り替えてI/F部35aとI/F部33aとを接続する。次に、バンクメモリ4aは、処理すべきデータをI/F部35a、バススイッチ37及びI/F部33aを介して演算エンジン34aへ転送し、演算エンジン34aは、転送されたデータを順次暗号化処理して処理後のデータをバンクメモリ4aに記憶させる。
【0059】
演算エンジン34aによる処理が終了すると、ステートマシン36は、バススイッチ37の接続状態を切り替えてI/F部35aとI/F部31とを接続する。次に、CPU2は、I/F部35a、バススイッチ37及びI/F部31を介してバンクメモリ4aから処理後のデータを読み出す。
【0060】
上記のように、CPU2がバンクメモリ4a,4bの一つへ処理すべきデータを書き込み、演算エンジン34a〜34cの一つがデータを処理し、CPU2が処理後のデータをバンクメモリ34a〜34cの一つから読み出すことにより一連の処理が完了する。
【0061】
上記の処理の場合、バンクメモリに処理すべきデータを書き込み、書き込んだデータが処理されてバンクメモリから処理後のデータが読み出される前に、同じバンクメモリに他のデータを書き込んでしまうと、処理後のデータが失われてしまう。このとき、CPUにより書き込み可能なバンクメモリを常に監視しようとすると、CPUのソフトウエアによる処理が煩雑となる。このため、本実施の形態では、以下のようにして、このような問題を解決している。
【0062】
すなわち、ステートマシン36は、各バンクメモリ4a,4bの記憶状態を示す記憶状態情報として、バンクメモリ4a,4bごとにメモリビジーフラグをレジスタ部38に格納している。
【0063】
具体的には、処理すべきデータがバンクメモリ4a,4bに書き込まれると、ステートマシン36は、ビジー状態としてメモリビジーフラグを“1”に設定する。また、ステートマシン36は、書き込まれたデータが処理されて当該バンクメモリから処理後のデータが読み出されるまでメモリビジーフラグを“1”に保持し、処理後のデータが読み出された後、書き込み可能な状態としてメモリビジーフラグを“0”に変更する。
【0064】
図3は、メモリビジーフラグの一例を示すタイミングチャートである。図3に示すように、ステートマシン36がクロック信号CLKに同期してステートSTATEを順次遷移させ、ステートSTATEがバンクメモリ4aへのデータ書き込み開始を示すSUWT_A1になったときに、ステートマシン36は、バンクメモリ4aに対するメモリビジーフラグSU1BUSYを“1”に変化させる。次に、ステートSTATEがバンクメモリ4aからのデータ読み出し完了を示すSURD_Fになったときに、ステートマシン36は、メモリビジーフラグSU1BUSYを“0”に変化させる。
【0065】
ここで、ステートマシン36は、メモリビジーフラグSU1BUSYが“1”のときにバススイッチ37の接続をデータ書き込み用の接続に切り替えないようにしている。したがって、CPU2からの不正な書き込みによりバンクメモリ4a,4bに記録されているデータが破壊されることを防止することができる。なお、記憶状態情報は、上記の例に特に限定されず、バンクメモリの記憶状態を示すものであれば、他の情報を用いてもよい。
【0066】
また、ステートマシン36は、各演算エンジン34a〜34cの処理状態を示す処理状態情報として、各バンクメモリ4a,4bのデータが演算エンジン34a〜34cにより演算中であることを示すエンジンビジーフラグをレジスタ部38に格納している。
【0067】
具体的には、ステートマシン36は、演算エンジン34a〜34cがバンクメモリ4a,4bのデータの処理を開始すると、ビジー状態としてエンジンビジーフラグを“1”に設定する。また、ステートマシン36は、演算エンジン34a〜34cがバンクメモリ4a,4bのデータを演算中の場合にエンジンビジーフラグを“1”に保持し、データの処理が完了した後にエンジンビジーフラグを“0”に変更する。
【0068】
図4は、エンジンビジーフラグの一例を示すタイミングチャートである。図4に示すように、ステートマシン36のステートSTATEがバンクメモリ4aのデータ処理開始を示すFU_Aになったときに、ステートマシン36は、バンクメモリ4aのデータが演算中であることを示すエンジンビジーフラグSU1CALCを“1”に変化させる。次に、ステートSTATEがバンクメモリ4aのデータ処理完了を示すFU_F1になったときに、ステートマシン36は、エンジンビジーフラグSU1CALCを“0”に変化させる。
【0069】
ここで、ステートマシン36は、エンジンビジーフラグSU1CALCが“1”のときにバススイッチ37の接続をデータ読み出し用の接続に切り替えないようにしている。したがって、CPU2からの不正な読み出しアクセスによるバスの不正な切断を防止することができる。
【0070】
なお、処理状態情報は、上記の例に特に限定されず、種々の情報を用いることができ、本実施の形態では、例えば、各演算エンジン34a〜34cごとに当該演算エンジンがデータを処理中であることを示すフラグ等もレジスタ部38に格納している。
【0071】
上記のように、エンジンビジーフラグ及びメモリビジーフラグに応じてバススイッチ37の設定を切り替えているので、正常なデータ処理を妨げることなく、バススイッチ37を適切に設定して高速にデータを処理することができる。
【0072】
次に、CPU2のバンクメモリ4a,4bへのデータ書き込み処理について説明する。CPU2は、処理すべきデータをバンクメモリ4a,4bに書き込む前に上書きしてもよいバンクメモリを確認する必要がある。例えば、CPU2は、ステートマシン36に対して書き込み可能なバンクメモリを問い合わせ(リード(Read)アクセス)、ステートマシン36から書き込み可能なすべてのバンクメモリの番号(例えば、バンクメモリ4aの番号を“1”、バンクメモリ4bの番号を“2”とする)を読み込み、書き込み可能なバンクメモリの中からバンクメモリを選択し、ステートマシン36に対してバススイッチ37の接続状態を変更するように指示する(ライト(Write)アクセス)ことにより上書きしてもよいバンクメモリを確認することができる。
【0073】
上記の処理をそのまま用いた場合、CPU2からASIC3に対して2回アクセス(リードアクセス及びライトアクセス)することになり、オーバーヘッドが発生する。このため、本実施の形態では、以下のようにして、このオーバーヘッドを軽減している。
【0074】
すなわち、CPU2がステートマシン36に対して書き込み可能なバンクメモリを問い合わせると(リードアクセス)、ステートマシン36は、書き込み可能なすべてのバンクメモリの番号を返すのではなく、複数の書き込み可能なバンクメモリの中から1つのバンクメモリ、例えば、番号の最も小さいバンクメモリを選択して当該バンクメモリの番号をCPU2に通知する。このとき、ステートマシン36は、バススイッチ37を通知したバンクメモリのデータ書き込み用の接続状態に設定し、通知したバンクメモリとCPU2とを接続させる。
【0075】
なお、書き込み可能なバンクメモリがない場合、ステートマシン36は、書き込み可能なバンクメモリの番号として“0”を返し、この場合、ステートマシン36はバススイッチ37の接続状態を変更せず、CPU2は書き込み可能なバンクメモリがないことを認識する。
【0076】
上記のように、ステートマシン36が書き込み可能なバンクメモリの番号をCPU2に通知するとともに、通知したバンクメモリとCPU2とを接続するようにバススイッチ37の接続状態を設定しているので、CPU2が一度リードアクセスを実行するだけで書き込み可能なバンクメモリの確認及びバススイッチ37の接続状態の設定を行うことができ、バンクメモリ4a,4bへのデータ書き込み処理におけるオーバーヘッドを軽減することができる。
【0077】
次に、演算エンジン34a〜34cの起動時の処理について説明する。図5は、図1に示す演算エンジン34a〜34cの起動時の処理を示すタイミングチャートである。ここで、図5に示すデータ処理開始フラグSU1RQは、バンクメモリ4aに対するデータ処理開始要求信号SU_STARTが有ったことを示すフラグであり、レジスタ部38の所定の領域に格納されている。
【0078】
図5に示すように、演算エンジン34a〜34cのうちの1つが、例えばバンクメモリ4aに書き込まれたデータの処理を開始する場合、ステートマシン36は、CPU2から与えられたデータ処理開始要求信号SU_STARTに応答してステートをIDLEからFU_RQへ遷移させ、データ処理開始フラグSU1RQを“1”に変化させる。
【0079】
このとき、ステートマシン36は、バンクメモリ4aのデータを処理できる演算エンジン34a〜34cを検索する。例えば、演算エンジン34a〜34cの各処理に対応した種別コードを予め決定しておき、バンクメモリ4a,4bにデータを書き込む際に当該データに対応する種別コードも同時に書き込んでおく。この場合、ステートマシン36は、バンクメモリ4aから種別コードを読み出し、読み出した種別コードにより特定される処理を行うことができる演算エンジンを検索し、検索した演算エンジンの中からデータを処理中であることを示すフラグが設定されていない演算エンジンを選択することができる。
【0080】
ステートマシン36は、データを処理できる演算エンジンが見つかった場合、ステートをFU_RQからFU_Aへ遷移させ、データ処理開始フラグSU1RQを“0”に変化させるとともに、エンジンビジーフラグSU1CALCを“1”に変化させる。このとき、ステートマシン36は、データ処理開始要求信号SU_STARTが発行されたバンクメモリに接続されているI/F部とデータを処理できる検索エンジンに接続されているI/F部とをバススイッチ37により接続し、データを処理する演算エンジンを起動し、ステートをIDLEに戻す。
【0081】
ここで、データ処理開始要求信号SU_STARTが発行されたバンクメモリのデータを処理できる演算エンジンがある場合、上記のように処理が行われるが、データを処理できる演算エンジンがない場合、上記のように処理することができない。
【0082】
例えば、本実施の形態では、演算エンジン34a〜34cのうち2つの演算エンジン34a,34bがタイプAの処理である暗号処理を行う暗号回路であり、残りの1つの演算エンジン34cがタイプAと異なるタイプBの処理である認証処理を行う認証回路であり、バンクメモリ4a,4bに暗号処理を行うべきデータが格納されている場合、演算エンジン34a,34bを用いることによりバンクメモリ4a,4bのデータを並列して処理することができる。
【0083】
一方、バンクメモリ4a,4bに認証処理を行うべきデータが格納されている場合、認証処理を行う認証回路は演算エンジン34cの1つしかないため、バンクメモリ4a,4bのデータを順番に処理しなければならない。すなわち、一方のバンクメモリのデータ処理は演算エンジン34cによる他方のバンクメモリのデータ処理が完了して演算エンジン34cが使用可能になるまで待つ必要がある。
【0084】
この場合、CPU2は演算エンジン34cが使用可能になったか否かを判定するためにASIC3に定期的にアクセスする必要があり、CPU2のソフトウエアによる処理が煩雑となる。このため、本実施の形態では、以下のようにして、バンクメモリの数並びに演算エンジンの数及び種類に関わらず、CPU2が1回だけデータ処理開始要求信号SU_STARTを発行することによりデータを処理できるようにしている。
【0085】
図6は、1回のデータ処理開始要求信号SU_STARTによりデータを処理する場合の一例を示すタイミングチャートである。図6に示すように、例えば、バンクメモリ4aに対してデータ処理開始要求信号SU_STARTが発行された場合、ステートマシン36は、ステートがIDLEからFU_RQへ変化したときに、データ処理開始フラグSU1RQを“1”に変化させる。
【0086】
このとき、ステートマシン36がバンクメモリ4aのデータを処理できる演算エンジン34a〜34cを検索した結果、使用できる演算エンジンがない場合、ステートマシン36はステートをIDLEに戻す。
【0087】
ここで、ステートマシン36は、ステートがIDLEでかつデータ処理開始フラグSU1RQが“1”でさらにエンジンビジーフラグSU1CALCが“0”の場合、データ処理開始要求信号SU_STARTが入力されていなくても、バンクメモリ4aに対してデータ処理開始要求信号SU_STARTが与えられたとみなして、ステートをFU_RQに遷移させ、使用可能な演算エンジンを検索する。
【0088】
このように、ステートがFU_RQのときに、ステートマシン36が使用可能な演算エンジンの検索を自動的に繰り返す。バンクメモリ4aのデータを処理可能な演算エンジンが使用可能になると、ステートマシン36は、ステートをFU_RQからFU_Aへ遷移させ、データ処理開始フラグSU1RQを“0”に変化させるとともに、エンジンビジーフラグSU1CALCを“1”に変化させる。このとき、ステートマシン36は、データ処理開始要求信号SU_STARTが発行されたバンクメモリ4aに接続されているI/F部35aと使用可能になった検索エンジンに接続されているI/F部とをバススイッチ37により接続して演算エンジンを起動し、ステートをIDLEに戻す。
【0089】
したがって、データ処理開始要求信号SU_STARTを受けたときに演算エンジン34a〜34cがすぐに処理できない場合でも、CPU2は1回のデータ処理開始要求信号SU_STARTを発行するだけで、演算エンジンが処理可能な状態になった後にバンクメモリから演算エンジンへデータを転送して処理することができ、CPU2のソフトウエアによる処理を簡略化することができる。
【0090】
また、暗号回路又は認証回路の数がバンクメモリの数より少ないとき、上記のようにバンクメモリに格納されているデータを処理すべき演算エンジンが処理中で他の処理を行う演算エンジンが処理を行っていない場合が発生し、この場合に以下の処理を行うようにしてもよい。
【0091】
例えば、演算エンジン34cのみが認証回路であり、演算エンジン34cがバンクメモリ4aに格納されているデータを処理しているときに、CPU2が認証処理を行うべき他のデータをバンクメモリ4bへ転送し、さらに、このデータに対してCPU2がデータ処理開始要求信号SU_STARTを発行すると、ステートマシン36は、演算エンジン34cが処理中で空いていないことをCPU2へ通知する。なお、CPU2はバンクメモリへ転送したデータを保持しているものとする。
【0092】
次に、演算エンジン34cは、バンクメモリのデータの変更を指示するデータ変更コマンドをCPU2へ送信する。このとき、CPU2は、バンクメモリ4bに格納しているデータを処理すべき演算エンジン34cを使用できないため、演算エンジン34cによる処理以外の処理すなわち暗号処理を行うデータをバンクメモリ4bへ転送する。
【0093】
次に、CPU2は、バンクメモリ4bに格納されているデータに対するデータ処理開始要求信号SU_STARTを発行する。このとき、暗号処理を行う演算エンジン34a,34bはデータ処理中ではないため、バンクメモリ4bに格納されているデータを処理することができる。
【0094】
このように、バンクメモリに格納されているデータを処理すべき演算エンジンが空いていない場合でも、バンクメモリのデータを他の処理のデータに書き替えることにより、演算エンジンを並列に動作させて処理を高速化することができる。
【0095】
ここで、上記の処理では、CPU2がバンクメモリへ転送したデータを保持しているため、バンクメモリのデータを書き替えても、書き替えられたデータをCPU2からバンクメモリに再度転送することができるが、CPU2がバンクメモリへ転送したデータを保持していない場合、上記の処理をそのまま適用することができない。この場合、下記のように処理を行う。
【0096】
上記と同様に、演算エンジン34cのみが認証回路であり、演算エンジン34cがバンクメモリ4aに格納されているデータを処理しているときに、CPU2が認証処理を行うべき他のデータをバンクメモリ4bへ転送し、さらに、このデータに対してCPU2がデータ処理開始要求信号SU_STARTを発行すると、ステートマシン36は、演算エンジン34cが処理中で空いていないことをCPU2へ通知する。このとき、CPU2はバンクメモリへ転送したデータを保持していない。
【0097】
次に、演算エンジン34cは、データ変更コマンドをCPU2へ送信する。このとき、バンクメモリ4bは、現在格納しているデータをCPU2へ転送し、CPU2は転送されたデータを保持する。次に、CPU2は、演算エンジン34cによる処理以外の処理すなわち暗号処理を行うデータをバンクメモリ4bへ転送する。
【0098】
次に、CPU2は、バンクメモリ4bに格納されているデータに対するデータ処理開始要求信号SU_STARTを発行する。このとき、暗号処理を行う演算エンジン34a,34bはデータ処理中ではないため、バンクメモリ4bに格納されているデータを処理することができ、CPU2がバンクメモリへ転送したデータを保持していない場合でも、上記の同様に、バンクメモリのデータを他の処理のデータに書き替えることができ、演算エンジンを並列に動作させて処理を高速化することができる。
【0099】
なお、上記の例では、認証回路による処理ができないときに暗号回路による処理を行う場合について説明したが、この例に特に限定されず、暗号回路による処理ができないときに認証回路による処理を行う場合や所定の暗号処理を行う暗号回路による処理ができないときに他の暗号処理を行う他の暗号回路による処理を行う場合等にも、上記の各処理を同様に適用することができる。
【0100】
また、上記の各処理では、CPU2がデータ処理開始要求信号SU_STARTを発行したときに、演算エンジン34cが処理中で空いていないことをステートマシン36がCPU2へ通知したが、他の演算エンジンにより現在可能な処理、具体的には、他の演算エンジン34a,34bにより暗号処理が可能である場合に現在可能な処理が暗号処理であることを通知するようにしてもよい。
【0101】
例えば、上記の各処理において、認証回路である演算エンジン34cがバンクメモリ4aに格納されているデータを処理しているときに、CPU2が認証処理を行うべき他のデータをバンクメモリ4bへ転送し、さらに、このデータに対してCPU2がデータ処理開始要求信号SU_STARTを発行した場合に、ステートマシン36は、演算エンジン34cが処理中で空いていないことだけでなく又はこの情報に代えて、現在可能な処理が暗号処理であることをCPU2へ通知し、CPU2は暗号処理されるデータを上記の各処理と同様にしてバンクメモリ4bへ転送する。
【0102】
この場合、CPU2は、どの処理が現在実行可能であるかを知ることができるので、処理可能なデータをバンクメモリに転送することができ、処理できないデータを無駄に転送することがなくなってタイムロスを削減することができるとともに、確実にデータ処理を行うことができる。
【0103】
次に、演算エンジン34a〜34cの制御信号について説明する。演算エンジン34a〜34cのインターフェースブロックであるI/F部33a〜33cは、ステートマシン36のクロック信号CLKと同様のクロック信号により動作するステートマシン(図示省略)を含み、メインコントローラ32は、各I/F部33a〜33cと演算エンジン34a〜34cの起動/停止に関する制御信号をやりとりする。
【0104】
まず、演算エンジン34a〜34cの起動に関する制御信号について、演算エンジン34aを例に説明する。図7は、図1に示す演算エンジン34aの起動/停止に関する制御信号の一例を示すタイミングチャートである。
【0105】
図7に示すように、演算エンジン34aを起動する起動制御信号CU1STRQは、メインコントローラ32からI/F部33aへ出力され、ステートマシン36のステートがFU_Aのときに“1”に変化する。起動制御信号CU1STRQが“1”のときに、I/F部33aのステートマシンのステートが待ち状態のIDLEから演算エンジン34aを動作させるステートDO1に遷移し、演算エンジン34aが起動する。
【0106】
このように、I/F部33aが起動制御信号CU1STRQを常に監視するとともに、メインコントローラ36が同時に1つの演算エンジン34aだけに起動制御信号CU1STRQを送信することにより、図7に示すように、起動制御信号CU1STRQをクロック信号CLKの1周期分の期間だけ“1”に変化させれば、メインコントローラ32は、演算エンジン34aを正しく起動することができる。
【0107】
一方、複数の演算エンジン34a〜34cが同時に処理を終了した場合やメインコントローラ32がバンクメモリ4a,4bのデータ読み込み又は書き込み用の動作を行っている場合等には、I/F部33a〜33cが演算エンジン34a〜34cの処理終了を通知する制御信号である処理終了通知信号をある程度長い期間だけ“1”に保持しておかなければ、メインコントローラ32が処理終了通知信号を検知できない可能性がある。また、処理終了通知信号をどの程度の期間だけ“1”に保持すれば、メインコントローラ32が処理終了通知信号を確実に検知できるかを事前に決定することはできない。
【0108】
このため、本実施の形態では、演算エンジン34a〜34cの停止に関する制御信号として、演算エンジン34a〜34cの処理終了を通知する処理終了通知信号と、処理終了通知信号を取り消すことを指示する処理終了通知取り消し信号との2つの制御信号を用いて、以下のようにして演算エンジン34a〜34cの処理終了時の制御を行っている。
【0109】
次に、上記の処理終了通知信号及び処理終了通知取り消し信号について、演算エンジン34aを例に説明する。図7に示すように、演算エンジン34aの処理が終了すると、I/F部33aからメインコントローラ32へ出力される処理終了通知信号CU1DONEが“1”に変化する。メインコントローラ32が処理終了通知信号CU1DONEが“1”であることを検知すると、ステートマシン36のステートはIDLEを経由してFU_F1へ遷移する。
【0110】
次に、ステートマシン36のステートがFU_F1のとき、メインコントローラ32からI/F部33aへ出力される処理終了通知取り消し信号CU1EDRQが“1”に変化し、ステートマシン36のステートがFU_F2へ遷移する。
【0111】
ここで、処理終了通知取り消し信号CU1EDRQが“1”である期間は、クロック信号CLKの1周期分の期間となるが、I/F部33aは、処理終了通知取り消し信号CU1EDRQが“1”であることを問題なく検知することができるので、処理終了通知信号CU1DONEを“1”から“0”に変化させて処理終了通知信号CU1DONEを取り下げることができる。
【0112】
次に、メインコントローラ32が処理終了通知信号CU1DONEを監視し、処理終了通知信号CU1DONEが“0”に変化したときに、ステートマシン36のステートがFU_F2からIDLEへ遷移する。
【0113】
このように、メインコントローラ32が処理終了通知信号を検知して処理終了通知取り消し信号をI/F部33a〜33cへ出力し、I/F部33a〜33cが処理終了通知取り消し信号を検知して処理終了通知信号を取り消しているので、メインコントローラ32が処理終了通知信号の到着をすぐに検知することを保証できない場合でも、メインコントローラ32が演算エンジン34a〜34cの処理終了を確実に把握することができる。
【0114】
次に、メインコントローラ32からCPU2への割り込み要求信号を発行させる処理について説明する。図8は、図1に示すメインコントローラ32からCPU2へ割り込み要求信号を発行させる処理の一例を説明するためのタイミングチャートである。なお、図8に示す例では、バンクメモリ4aのデータが演算エンジン34aにより処理され、当該処理が完了したところを示している。また、複数のバンクメモリ4a,4bが存在するが、割り込み要求信号INTRQを1つだけ使用している。
【0115】
図8に示すように、演算エンジン34aによるデータ処理が終了して処理終了通知信号CU1DONEが“1”になると、バンクメモリ4aのデータ処理が終了したことを示す処理終了フラグSU1DONEが“1”に変化する。
【0116】
次に、ステートマシン36は、ステートがIDLEのときに、すべてのバンクメモリ4a,4bの処理終了フラグSU1DONE,SU2DONEの値を参照する。なお、処理終了フラグSU1DONE,SU2DONEは、レジスタ部38に格納されているフラグである。
【0117】
このとき、処理終了フラグSU1DONE,SU2DONEのいずれかの値が“1”の場合(図8の場合は処理終了フラグSU1DONEが“1”)、ステートマシン36は、ステートをIDLEからSET_IRQへ遷移させる。ステートがSET_IRQのとき、メインコントローラ32はCPU2へ出力する割り込み要求信号INTRQを“1”に変化させ、ステートマシン36はステートをIDLEに遷移させる。
【0118】
次に、CPU2が割り込み要求信号INTRQを検知すると、CPU2はASIC3に対してバンクメモリ4aの読み出し動作(図8中のSU1読み出し)を行う。この読み出し動作においてステートがSURD_A1のときに、メインコントローラ32は、割り込み要求信号INTRQを“0”に変化させるとともに、読み出し動作を行っているバンクメモリ4aの処理終了フラグSU1DONEを“0”に変化させる。
【0119】
次に、複数のバンクメモリ4a,4bのデータ処理が同時に終了した場合にメインコントローラ32からCPU2へ割り込み要求信号を発行させる処理について説明する。図9は、図1に示す複数のバンクメモリ4a,4bのデータ処理が同時に終了した場合にメインコントローラ32からCPU2への割り込み要求信号を発行させる処理の一例を説明するためのタイミングチャートである。
【0120】
図9に示すように、複数のバンクメモリ4a,4bのデータ処理が同時に終了すると、処理終了フラグSU1DONE,SU2DONEが“1”に変化する。次に、上記と同様に、割り込み要求信号INTRQが“1”に変化する。その後、CPU2がバンクメモリ4aの読み出し動作(図9中のSU1読み出し)を開始し、割り込み要求信号INTRQおよびバンクメモリ4aの処理終了フラグSU1DONEが“0”に変化する。
【0121】
次に、バンクメモリ4aの読み出し動作が終了し、ステートマシン36のステートがIDLEのときに、バンクメモリ4bの処理終了フラグSU2DONEがまだ“1”となっているので、割り込み要求信号INTRQが再び“1”に変化する。その後、CPU2がバンクメモリ4bの読み出し動作(図9中のSU2読み出し)を開始し、割り込み要求信号INTRQおよびバンクメモリ4bの処理終了フラグSU2DONEが“0”に変化する。
【0122】
上記のように、複数の処理終了フラグSU1DONE,SU2DONEが処理終了を示すときに、メインコントローラ32がCPU2に割り込み要求信号INTRQを出力し、CPU2がバンクメモリ4aからデータを読み出す。このとき、メインコントローラ32が割り込み要求信号INTRQを取り消すとともに、処理終了フラグSU1DONEを取り消し、さらに、CPU2がデータの読み出し動作を完了した後に、メインコントローラ32が処理終了フラグSU2DONEに応答してCPU2に割り込み要求信号INTRQを再度出力している。
【0123】
したがって、CPU2の読み出し動作を妨げることなく、処理終了フラグSU1DONE,SU2DONEごとに割り込み要求信号INTRQを出力することができるので、処理が終了したデータを各バンクメモリ4a,4bからCPU2へ確実に読み出すことができる。
【0124】
なお、複数のバンクメモリのデータ処理が同時に終了した場合、処理終了フラグの各値の論理和を割り込み要求信号として用いることも考えられるが、図9に示すような場合、バンクメモリ4aの読み出し動作中にも常に割り込み要求信号が発行され、割り込み要求信号によりバンクメモリの読み出し動作に悪影響を与える場合がある。このため、本実施の形態では、上記のように、CPU2がバンクメモリからデータの読み出し動作を開始したときにCPU2への割り込み要求信号を一度取り下げ、読み出し動作が終了した後に必要に応じて割り込み要求信号を発行するようにしている。
【0125】
次に、CPU2のバンクメモリ4a,4bからのデータ読み出し処理について説明する。CPU2は、処理後のデータをバンクメモリ4a,4bから読み出すためには、処理後のデータが格納されているバンクメモリすなわち読み出し可能なバンクメモリを確認する必要がある。この場合、例えば、CPU2は、ステートマシン36からの割り込み要求信号を受け、ステートマシン36に対して読み出し可能なバンクメモリを問い合わせ(リードアクセス)、ステートマシン36から読み出し可能なすべてのバンクメモリの番号を読み込み、読み出し可能なバンクメモリの中からバンクメモリを選択し、ステートマシン36に対してバススイッチ37の接続状態を変更するように指示する(ライトアクセス)ことにより読み出し可能なバンクメモリを確認することができる。
【0126】
上記の処理をそのまま用いた場合、CPU2からASIC3に対して2回アクセス(リードアクセス及びライトアクセス)することになり、オーバーヘッドが発生する。このため、本実施の形態では、以下のようにして、このオーバーヘッドを軽減している。
【0127】
すなわち、CPU2がステートマシン36に対して読み出し可能なバンクメモリを問い合わせると(リードアクセス)、ステートマシン36は、読み出し可能なすべてのバンクメモリの番号を返すのではなく、複数の読み出し可能なバンクメモリの中から1つのバンクメモリ、例えば、番号の最も小さいバンクメモリを選択して当該バンクメモリの番号をCPU2に通知する。このとき、ステートマシン36は、バススイッチ37を通知したバンクメモリのデータ読み出し用の接続状態に設定し、通知したバンクメモリとCPU2とを接続させる。
【0128】
なお、読み出し可能なバンクメモリがない場合、ステートマシン36は、読み出し可能なバンクメモリの番号として“0”を返し、この場合、ステートマシン36はバススイッチ37の接続状態を変更せず、CPU2は読み出し可能なバンクメモリがないことを認識する。
【0129】
上記のように、ステートマシン36が読み出し可能なバンクメモリの番号をCPU2に通知するとともに、通知したバンクメモリとCPU2とを接続するようにバススイッチ37の接続状態を設定しているので、CPU2は一度リードアクセスを実行するだけで読み出し可能なバンクメモリの確認及びバススイッチ37の接続状態の設定を行うことができ、バンクメモリ4a,4bからのデータ読み出し処理におけるオーバーヘッドを軽減することができる。
【0130】
ところで、上記の各処理に従いバンクメモリ4a,4bからデータを読み出す場合、処理に応じて各フラグを変更しなければならない。しかしながら、各フラグを変更することなく、CPU2がバンクメモリ4a,4bに記憶されているデータを読み出して当該データを確認するための確認モードとして、デバッグの目的でバンクメモリのデータを参照したい場合がある。
【0131】
図10は、図1に示すステートマシン36のデバッグ動作を行う場合の各ステートの一例を示す状態遷移図である。図10に示すように、ステートマシン38のステートとして、図2に示す各ステートに加え、デバッグ読み出し用のステートDBGRD_A1,DBGRD_A2,DBGRD_A3,DBGRD_Fが新たに設けられている。DBGRD_A1に遷移する条件は、SUWT_A1やSURD_A1に遷移する条件と同様に、CPU2から別途定めたASIC3の領域へのリードアクセスによるデバッグ読み出し要求である。
【0132】
上記のデバッグ読み出しを行う場合、CPU2は、読み出したいバンクメモリの番号をレジスタ部38に書き込み、その後、デバッグ読み出し要求(リードアクセス)を行う。次に、メインコントローラ32は、書き込まれた番号のバンクメモリのデバッグ読み出しに問題がなければ、CPU2からのリードアクセスに対して読み出すバンクメモリの番号をCPU2へ返す。
【0133】
なお、読み出すバンクメモリのデータが演算エンジン34a〜34cにより処理中であり、バススイッチ37の接続状態を読み出し用の接続状態に変更できない場合、メインコントローラ32は、CPU2からのリードアクセスに対して読み出すバンクメモリの番号として“0”を返し、バンクメモリのデータをデバッグ用に読み出すことができないことをCPU2へ通知し、ステートマシン36はステートをIDLEからDBGRD_A1へ遷移させない。
【0134】
上記のようにして、ステートマシン36のステートがDBGRD_A1へ遷移した後、図3に示す通常の読み出し動作すなわちSURD_A1以降の動作と同様の動作が行われる。但し、ステートマシン36は、読み出すバンクメモリに対するメモリビジーフラグを“0”に変化させない。
【0135】
したがって、デバッグ目的でバンクメモリ4a,4bからデータを読み出しても、ステートマシン36ではバンクメモリの管理用のフラグを更新しないので、通常の動作に影響を与えることなく、バンクメモリ4a,4bに記憶されているデータを読み出して当該データを確認することができる。
【0136】
上記のような種々の動作を行うことにより、本実施の形態では、CPU2がネットワーク1を介して転送されるデータの中から処理対象となるデータを抽出し、ステートマシン36がバススイッチ37を用いてCPU2のI/F部31とバンクメモリ4a,4bのI/F部35a,35bとを接続し、処理対象となるデータがバンクメモリ4a,4bに記憶される。
【0137】
次に、ステートマシン36がバススイッチ37を用いてバンクメモリ4a,4bのI/F部35a,35bと演算エンジン34a〜34cのI/F部33a〜33cとを接続し、演算エンジン34a〜34cによりバンクメモリ4a,4bに記憶されているデータが処理され、処理後のデータがバンクメモリ4a,4bに記憶される。
【0138】
最後に、ステートマシン36がバススイッチ37を用いてバンクメモリ4a,4bのI/F部35a,35bとCPU2のI/とを接続し、処理後のデータがバンクメモリ4a,4bからCPU2へ出力され、外部にデータが読み出される。
【0139】
このようにして、本実施の形態では、専用のハードウエアである演算エンジン34a〜34cを用いて高速にデータを暗号処理及び認証処理することができるとともに、複数の演算エンジン34a〜34cにより暗号処理及び認証処理を並列処理することができる。この結果、より高速にデータを暗号処理及び認証処理することができ、ネットワーク1上で転送されるデータをデータ転送の障害とならないように高速に暗号処理及び認証処理することができる。
【0140】
次に、本発明の第2の実施の形態による暗号認証回路について説明する。図11は、本発明の第2の実施の形態による暗号認証回路の構成を示すブロック図である。
【0141】
図11に示す暗号認証回路と図1に示す暗号認証回路とで異なる点は、I/F部33a〜33c,35a,35b、演算エンジン(認証回路)34c及びバンクメモリ4bが省略され、各ブロックが個別の回路により構成されている点であり、その他の点は図1に示す暗号認証回路とほぼ同様であるので同様の部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0142】
図11に示す暗号認証回路は、図1に示す暗号認証回路の構成を簡略化したものであり、図1に示す暗号認証回路とほぼ同様に以下のように動作する。すなわち、ネットワーク1上を流れるデータがCPU2に入力され、CPU2は、入力されたデータが暗号化及び復号化されるべきデータであるか否かを判断する。データが暗号化及び復号化されるべきデータである場合、CPU2からメインコントローラ32へ暗号化及び復号化の命令が渡され、ステートマシン36がバススイッチ37の接続状態を制御し、データの流れが制御される。
【0143】
このとき、CPU2から出力されるデータが一旦バンクメモリ4aに蓄えられ、バンクメモリ4aに蓄えられたデータが暗号回路34a,34bの一方に出力される。ここで、2つの暗号回路34a,34bのどちらの回路を用いて処理を行うかは、ステートマシン36が決定する。ステートマシン36は、決定した暗号回路により処理を行うようにバススイッチ37に指示し、バススイッチ37は、バンクメモリ4aと指示された暗号回路とを接続する。
【0144】
上記のように、本実施の形態では、暗号化および復号化処理の専用のハードウエアである暗号回路34a,34bを用いて高速にデータを暗号化および復号化することができるので、ネットワーク上で転送されるデータをデータ転送の障害とならないように高速に暗号化および復号化処理することができる。なお、暗号回路の数は、上記の例に特に限定されず、3つ以上でもよい。
【0145】
次に、本発明の第3の実施の形態による暗号認証回路について説明する。図12は、本発明の第3の実施の形態による暗号認証回路の構成を示すブロック図である。
【0146】
図12に示す暗号認証回路と図11に示す暗号認証回路とで異なる点は、バンクメモリ4bが付加された点であり、その他の点は図11に示す暗号認証回路とほぼ同様であるので同様の部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0147】
CPUとバンクメモリとの間のデータ転送速度及び暗号回路とバンクメモリとの間のデータ転送速度に比べて、暗号回路における暗号化および復号化処理の速度が著しく遅い場合、バンクメモリの数は問題とならない。しかしながら、暗号回路における暗号化および復号化処理の速度が高速になると、バンクメモリからCPUへデータが転送される間又は他の暗号回路とバンクメモリとの間でデータ転送が行われている間、処理が終了した暗号回路は、バンクメモリにデータを転送することができない。
【0148】
このため、本実施の形態では、図12に示すように、第1の実施の形態と同様に、バンクメモリとして2つバンクメモリ4a,4bを用意し、例えば、バンクメモリ4aが使用されている場合、暗号回路34a,34bの一方は、空いているバンクメモリ4bを使用することができ、データを高速に暗号化及び復号化することができる。なお、暗号回路及びバンクメモリの数は、上記の例に特に限定されず、3つ以上でもよく、また、暗号回路の数とバンクメモリの数とが一致しなくてもよい。
【0149】
次に、本発明の第4の実施の形態による暗号認証回路について説明する。図13は、本発明の第4の実施の形態による暗号認証回路の構成を示すブロック図である。
【0150】
図13に示す暗号認証回路と図12に示す暗号認証回路とで異なる点は、演算エンジン(暗号回路)34bが演算エンジン(認証回路)34cに変更された点であり、その他の点は図12に示す暗号認証回路とほぼ同様であるので同様の部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0151】
図13に示す暗号認証回路では、第1の実施の形態と同様に、暗号回路34a及び認証回路34cを用意し、ネットワーク1から暗号処理されるべきデータ及び認証処理されるべきデータが連続して入力されると、CPU2又はステートマシン36からの命令により、例えば、暗号化されるべきデータはバンクメモリ4aに割り当てられ、認証されるべきデータはバンクメモリ4bに割り当てられる。各データが一旦バンクメモリ4a,4bに読み込まれると、ステートマシン36がバススイッチ37の接続状態を制御してバンクメモリ4aと暗号回路34aとを接続するとともに、バンクメモリ4bと認証回路34cとを接続する。
【0152】
この状態において暗号回路34a及びバンクメモリ4aと認証回路34c及びバンクメモリ4bとが互いに分離されているので、暗号処理および認証処理を同時にすなわち並列に行うことができ、データの処理速度を高速化することができる。なお、暗号回路、認証回路及びバンクメモリの数は、上記の例に特に限定されず、各々図示以上の数でもよく、また、暗号回路と認証回路との合計数とバンクメモリの数とが一致しなくてもよい。
【0153】
次に、本発明の第5の実施の形態による暗号認証回路について説明する。図14は、本発明の第5の実施の形態による暗号認証回路の構成を示すブロック図である。
【0154】
図14に示す暗号認証回路と図13に示す暗号認証回路とで異なる点は、I/F部33a,33bが付加された点であり、その他の点は図13に示す暗号認証回路とほぼ同様であるので同様の部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0155】
図14に示す暗号認証回路では、第1の実施の形態と同様に、暗号回路34a及び認証回路34cとバススイッチ37との間にI/F部33a,33cが接続されている。I/F部33a,33cは、暗号回路34a及び認証回路34cのいずれに接続されているかに関わらず、バススイッチ37側に同一のプロトコルを用いてバススイッチ37側のインターフェースを共通化している。
【0156】
したがって、暗号回路34a及び認証回路34cのいずれか一方又は双方を新たな方式の回路に入れ替える場合でも、変更すべき部分がI/F部33a,33cを超えることがなく、回路の変更を容易に行うことができる。なお、暗号回路、認証回路及びバンクメモリの数は、上記の例に特に限定されず、各々図示以上の数でもよく、また、暗号回路と認証回路との合計数とバンクメモリの数とが一致しなくてもよい。
【0157】
次に、本発明の第6の実施の形態による暗号認証回路について説明する。図15は、本発明の第6の実施の形態による暗号認証回路の構成を示すブロック図である。
【0158】
図15に示す暗号認証回路と図13に示す暗号認証回路とで異なる点は、I/F部35a,35bが付加された点であり、その他の点は図13に示す暗号認証回路とほぼ同様であるので同様の部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0159】
図15に示す暗号認証回路では、第1の実施の形態と同様に、バンクメモリ4a,4bとバススイッチ37との間にI/F部35a,35bが接続されている。I/F部35a,35bは、バススイッチ37側に同一のプロトコルを用いてバススイッチ37側のインターフェースを共通化している。
【0160】
したがって、新たなアーキテクチャを採用したバンクメモリを用いる場合でも、変更すべき部分がI/F部35a,35bを超えることがなく、バンクメモリの変更を容易に行うことができる。なお、暗号回路、認証回路及びバンクメモリの数は、上記の例に特に限定されず、各々図示以上の数でもよく、また、暗号回路と認証回路との合計数とバンクメモリの数とが一致しなくてもよい。
【0161】
次に、本発明の第7の実施の形態による暗号認証回路について説明する。図16は、本発明の第7の実施の形態による暗号認証回路の構成を示すブロック図である。
【0162】
図16に示す暗号認証回路と図1に示す暗号認証回路とで異なる点は、バンクメモリ4a,4bをASIC3a内部に取り込み、バンクメモリ4a,4bがI/F部31,33a〜33c,35a,35b、演算エンジン34a〜34c及びメインコントローラ32とともに一つの集積回路により構成されている点であり、その他の点は図1に示す暗号認証回路とほぼ同様であるので同一部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0163】
図16に示す暗号認証回路は、図1に示す暗号認証回路と同様に動作して同様の効果を得ることができるとともに、バンクメモリ4a,4bをASIC3a内部に取り込んでいる。既存のバンクメモリを外付けで使用する場合、各バンクメモリの製造メーカーの仕様に合わせてI/F部35a,35b等を設計する必要があり、インターフェースにおける動作及び速度が不十分になる場合がある。しかしながら、本実施の形態では、バンクメモリ4a,4bを取り込んだ一つの集積回路によりASIC3aが構成されているので、バンクメモリ4a,4bのインターフェースを高速化することができる。
【0164】
次に、本発明の第8の実施の形態による暗号認証回路について説明する。図17は、本発明の第8の実施の形態による暗号認証回路の構成を示すブロック図である。
【0165】
図17に示す暗号認証回路と図1に示す暗号認証回路とで異なる点は、CPU2をASIC3b内部に取り込み、CPU2がI/F部31,33a〜33c,35a,35b、演算エンジン34a〜34c及びメインコントローラ32とともに一つの集積回路により構成されている点であり、その他の点は図1に示す暗号認証回路とほぼ同様であるので同一部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0166】
図17に示す暗号認証回路は、図1に示す暗号認証回路と同様に動作して同様の効果を得ることができるとともに、CPU2をASIC3b内部に取り込んでいる。既存のCPUを外付けで使用する場合、各CPUの製造メーカーの仕様に合わせてI/F部31等を設計する必要があり、インターフェースにおける動作及び速度が不十分になる場合がある。しかしながら、本実施の形態では、CPU2を取り込んだ一つの集積回路によりASIC3bが構成されているので、CPU2のインターフェースを高速化することができる。
【0167】
次に、本発明の第9の実施の形態による暗号認証回路について説明する。図18は、本発明の第9の実施の形態による暗号認証回路の構成を示すブロック図である。
【0168】
図18に示す暗号認証回路と図1に示す暗号認証回路とで異なる点は、CPU2及びバンクメモリ4a,4bをASIC3c内部に取り込み、CPU2及びバンクメモリ4a,4bがI/F部31,33a〜33c,35a,35b、演算エンジン34a〜34c及びメインコントローラ32とともに一つの集積回路により構成されている点であり、その他の点は図1に示す暗号認証回路とほぼ同様であるので同一部分には同一符号を付し、以下本実施の形態の特徴的な点について説明する。
【0169】
図18に示す暗号認証回路は、図1に示す暗号認証回路と同様に動作して同様の効果を得ることができるとともに、CPU2及びバンクメモリ4a,4bをASIC3c内部に取り込んでいる。既存のCPU及びバンクメモリを外付けで使用する場合、各CPU及びバンクメモリの製造メーカーの仕様に合わせてI/F部31,35a,35b等を設計する必要があり、インターフェースにおける動作及び速度が不十分になる場合がある。しかしながら、本実施の形態では、CPU2及びバンクメモリ4a,4bを取り込んだ一つの集積回路によりASIC3cが構成されているので、CPU2及びバンクメモリ4a,4bのインターフェースを高速化することができる。なお、上記の各実施の形態は、必要に応じて任意に組み合わせることができ、その場合も同様の効果を得ることができる。
【0170】
【発明の効果】
本発明によれば、複数の専用処理手段が所定の処理を行うために専用に設けられるとともに、演算処理手段又は複数の専用処理手段と記憶手段との間の接続状態を切り替えることができるので、専用のハードウエアを用いて高速にデータを処理することができるとともに、並列処理が可能な場合は複数の専用処理手段により並列処理することができ、ネットワーク上で転送されるデータをデータ転送の障害とならないように高速に処理することができる。
【0171】
また、前記複数の専用処理手段は、所定の暗号処理を行うために専用に設けられた専用暗号処理手段及び所定の認証処理を行うために専用に設けられた専用認証処理手段のうち、複数の前記専用暗号処理手段、または、前記専用暗号処理手段と前記専用認証処理手段とを含むから、複数の専用暗号処理手段を用いて上記のように暗号処理を並列に行ったり、専用暗号処理手段及び専用認証処理手段を用いて暗号処理及び認証処理を並列に行ったりすることができ、その結果、暗号処理を高速に行ったり、より高速にデータを処理したりすることができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態による暗号認証回路の構成を示すブロック図である。
【図2】 図1に示すステートマシンの各ステートの一例を示す状態遷移図である。
【図3】 メモリビジーフラグの一例を示すタイミングチャートである。
【図4】 エンジンビジーフラグの一例を示すタイミングチャートである。
【図5】 図1に示す演算エンジンの起動時の処理を示すタイミングチャートである。
【図6】 1回のデータ処理開始要求信号によりデータを処理する場合の一例を示すタイミングチャートである。
【図7】 図1に示す演算エンジンの起動/停止に関する制御信号の一例を示すタイミングチャートである。
【図8】 図1に示すメインコントローラからCPUへ割り込み要求信号を発行させる処理の一例を説明するためのタイミングチャートである。
【図9】 図1に示す複数のバンクメモリのデータ処理が同時に終了した場合にメインコントローラからCPUへ割り込み要求信号を発行させる処理の一例を説明するためのタイミングチャートである。
【図10】 図1に示すステートマシンのデバッグ動作を行う場合の各ステートの一例を示す状態遷移図である。
【図11】 本発明の第2の実施の形態による暗号認証回路の構成を示すブロック図である。
【図12】 本発明の第3の実施の形態による暗号認証回路の構成を示すブロック図である。
【図13】 本発明の第4の実施の形態による暗号認証回路の構成を示すブロック図である。
【図14】 本発明の第5の実施の形態による暗号認証回路の構成を示すブロック図である。
【図15】 本発明の第6の実施の形態による暗号認証回路の構成を示すブロック図である。
【図16】 本発明の第7の実施の形態による暗号認証回路の構成を示すブロック図である。
【図17】 本発明の第8の実施の形態による暗号認証回路の構成を示すブロック図である。
【図18】 本発明の第9の実施の形態による暗号認証回路の構成を示すブロック図である。
【符号の説明】
2 CPU
3,3a〜3c ASIC
4a,4b バンクメモリ
31,33a〜33c,35a,35b I/F部
32 メインコントローラ
34a,34b 演算エンジン(暗号回路)
34c 演算エンジン(認証回路)
36 ステートマシン
37 バススイッチ
Claims (13)
- ネットワークを介して転送されるデータの中から処理対象となるデータを処理する情報処理装置であって、
前記処理対象となるデータを受け、所定のプログラムを実行することにより装置全体の動作を制御する演算処理手段と、
入力されるデータに所定の処理を行うために専用に設けられた複数の専用処理手段と、
前記演算処理手段又は前記専用処理手段から出力されるデータを記憶する記憶手段と、
前記専用処理手段の処理状態を示す処理状態情報及び前記記憶手段の記憶状態を示す記憶状態情報を記憶し、記憶した処理状態情報及び記憶状態情報に応じて、前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替える切り替え手段と、
前記専用処理手段ごとに設けられ、前記専用処理手段と前記切り替え手段との間のインターフェースを行う複数の処理用インターフェース手段とを備え、
前記複数の専用処理手段は、
所定の暗号処理を行うために専用に設けられた複数の専用暗号処理手段のみを含むか、或いは、所定の暗号処理を行うために専用に設けられた専用暗号処理手段及び所定の認証処理を行うために専用に設けられた専用認証処理手段の両者を混在して含むか、のいずれかであり、
前記処理用インターフェース手段は、前記切り替え手段側のインターフェースに共通化されたプロトコルを用いることを特徴とする情報処理装置。 - 前記記憶手段は、前記演算処理手段又は前記専用処理手段から出力されるデータを記憶する複数の記憶手段を含み、
前記切り替え手段は、前記演算処理手段と前記記憶手段との間の接続状態、及び、前記複数の専用処理手段と前記記憶手段との間の接続状態を切り替えることを特徴とする請求項1記載の情報処理装置。 - 前記記憶手段ごとに設けられ、前記記憶手段と前記切り替え手段との間のインターフェースを行う記憶用インターフェース手段をさらに備え、
前記記憶用インターフェース手段は、前記切り替え手段側のインターフェースに共通化されたプロトコルを用いることを特徴とする請求項1または2に記載の情報処理装置。 - 前記演算処理手段は、前記記憶手段の中から書き込み可能な記憶手段を前記切り替え手段に問い合わせ、
前記切り替え手段は、前記演算処理手段からの問い合わせに応じて書き込み可能な記憶手段の一つを前記演算処理手段に通知するとともに、通知した記憶手段と前記演算処理手段とを接続することを特徴とする請求項1〜3のいずれかに記載の情報処理装置。 - 前記切り替え手段は、前記演算処理手段から前記記憶手段に記憶されているデータに対する処理要求を受けた場合、当該データを処理すべき専用処理手段が処理可能な状態になった後に当該専用処理手段と当該記憶手段とを接続することを特徴とする請求項1〜4のいずれかに記載の情報処理装置。
- 前記専用処理手段ごとに設けられ、当該専用処理手段の処理が終了したことを示す処理終了通知信号を前記切り替え手段へ出力する処理管理手段をさらに備え、
前記切り替え手段は、前記処理終了通知信号により専用処理手段の処理が終了したことを検知した場合、前記処理終了通知信号を取り消すことを指示する処理終了通知取り消し信号を前記処理管理手段へ出力し、
前記処理管理手段は、前記処理終了通知取り消し信号に応じて前記処理終了通知信号を取り消すことを特徴とする請求項1〜5のいずれかに記載の情報処理装置。 - 前記切り替え手段は、前記記憶手段ごとに当該記憶手段に記憶されているデータの前記専用処理手段による処理が終了したことを示す処理終了情報を記憶し、記憶されている処理終了情報が処理終了を示す場合、前記演算処理手段に割り込み要求信号を出力し、
前記演算処理手段は、前記割り込み要求信号を受けた場合、当該処理終了情報に対応する記憶手段からデータを読み出し、
前記切り替え手段は、前記演算処理手段が前記記憶手段からのデータの読み出し動作を開始した後に前記割り込み要求信号を取り消すとともに、当該記憶手段に対して記憶されている処理終了情報を取り消し、さらに、前記演算処理手段がデータの読み出し動作を完了した後に、記憶されている他の処理終了情報が処理終了を示す場合、前記演算処理手段に割り込み要求信号を出力することを特徴とする請求項1〜6のいずれかに記載の情報処理装置。 - 前記演算処理手段は、前記記憶手段の中から読み出し可能な記憶手段を前記切り替え手段に問い合わせ、
前記切り替え手段は、前記演算処理手段からの問い合わせに応じて読み出し可能な記憶手段の一つを前記演算処理手段に通知するとともに、通知した記憶手段と前記演算処理手段とを接続することを特徴とする請求項7記載の情報処理装置。 - 前記切り替え手段は、前記演算処理手段が前記記憶手段に記憶されているデータを読み出して当該データを確認するための確認モードにおいて、前記演算処理手段がデータを読み出した記憶手段に対して記憶している各情報を変化させないことを特徴とする請求項1〜8のいずれかに記載の情報処理装置。
- 前記切り替え手段は、前記専用処理手段が前記記憶手段に記憶されているデータを処理できない場合、前記専用処理手段が前記記憶手段に記憶されているデータを処理できないことを前記演算処理手段に通知し、
前記演算処理手段は、他の専用処理手段が処理可能なデータを前記記憶手段に記憶させることを特徴とする請求項1〜9のいずれかに記載の情報処理装置。 - 前記切り替え手段は、前記専用処理手段が前記記憶手段に記憶されているデータを処理できない場合、他の専用処理手段により現在可能な処理を前記演算処理手段に通知し、
前記演算処理手段は、通知された処理が行われるデータを前記記憶手段に記憶させることを特徴とする請求項1〜10のいずれかに記載の情報処理装置。 - 前記記憶手段は、前記複数の専用処理手段及び前記切り替え手段とともに一つの集積回路により構成されることを特徴とする請求項1〜11のいずれかに記載の情報処理装置。
- 前記演算処理手段は、前記複数の専用処理手段及び前記切り替え手段とともに一つの集積回路により構成されることを特徴とする請求項1〜12のいずれかに記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001353365A JP4477805B2 (ja) | 2001-04-18 | 2001-11-19 | 情報処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-119309 | 2001-04-18 | ||
JP2001119309 | 2001-04-18 | ||
JP2001353365A JP4477805B2 (ja) | 2001-04-18 | 2001-11-19 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003006173A JP2003006173A (ja) | 2003-01-10 |
JP4477805B2 true JP4477805B2 (ja) | 2010-06-09 |
Family
ID=26613756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001353365A Expired - Lifetime JP4477805B2 (ja) | 2001-04-18 | 2001-11-19 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4477805B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7090131B2 (en) | 2004-02-16 | 2006-08-15 | Seiko Epson Corporation | Single-pass magnetic reading and optical reading apparatus and method |
JP4691900B2 (ja) | 2004-05-12 | 2011-06-01 | セイコーエプソン株式会社 | 小切手処理方法、プログラムおよび小切手処理装置 |
JP2005327223A (ja) * | 2004-05-13 | 2005-11-24 | Hiroshi Nakanishi | シリアルバスとバススイッチを使用した逐次命令実行型の計算機 |
JP4527640B2 (ja) * | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | データ読出装置 |
JP4856695B2 (ja) * | 2006-02-24 | 2012-01-18 | 富士通株式会社 | データ転送装置、データ転送システム及びデータ転送装置の制御方法 |
JP5698165B2 (ja) * | 2012-02-27 | 2015-04-08 | 株式会社日立製作所 | 演算処理制御装置および信号処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5899867A (ja) * | 1981-12-08 | 1983-06-14 | Nec Corp | 並列処理方式 |
CA1240400A (en) * | 1984-12-20 | 1988-08-09 | Herbert R. Carleton | Topologically-distributed-memory multiprocessor computer |
JPH08147250A (ja) * | 1994-09-20 | 1996-06-07 | Hitachi Ltd | 相互結合網及びその通信方法 |
JPH11168502A (ja) * | 1997-12-04 | 1999-06-22 | Nec Kofu Ltd | 通信障害処理装置及び方法 |
US6598165B1 (en) * | 1999-06-18 | 2003-07-22 | Phoenix Technologies Ltd. | Secure memory |
-
2001
- 2001-11-19 JP JP2001353365A patent/JP4477805B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003006173A (ja) | 2003-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590869B2 (en) | On-chip multi-core type tamper resistant microprocessor | |
JP4030719B2 (ja) | インテリジェントic | |
US7673152B2 (en) | Microprocessor with program and data protection function under multi-task environment | |
JP2703417B2 (ja) | 受信バッファ | |
JP3880933B2 (ja) | 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法 | |
JP2000267987A (ja) | ダイレクト・メモリ・アクセス制御 | |
JP2006338538A (ja) | ストリームプロセッサ | |
JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
JP4477805B2 (ja) | 情報処理装置 | |
JP2000207247A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
JP2007310601A (ja) | マイクロコンピュータおよびそのソフトウェア保護方法 | |
JPS58197553A (ja) | プログラム監視装置 | |
US7689402B2 (en) | Method and apparatus for retrieving application-specific code using memory access capabilities of a host processor | |
JP2000020488A (ja) | コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法 | |
JP3628265B2 (ja) | マルチプロセッサシステム装置 | |
JP2003521033A (ja) | マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
JP2008140124A (ja) | データ処理装置 | |
JP2006126938A (ja) | データ転送システム及びそのデータ転送方法 | |
JP2011150457A (ja) | 情報処理装置およびメモリアクセス制御方法 | |
JP5087884B2 (ja) | データ処理ユニット、およびこれを使用したデータ処理装置 | |
JP2012073745A (ja) | Dmaシステム | |
US8924672B2 (en) | Device with processing unit and information storage | |
JP2003186854A (ja) | Simd型プロセッサ及びその検証装置 | |
JP2826781B2 (ja) | データ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041025 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070813 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |