(57)【要約】  演算処理装置は、複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、第１記憶手段に記憶された複数の処理内容のアドレスを夫々記憶する第２記憶手段と、アドレスを一時的に保持する保持手段と、第２記憶手段に記憶されたアドレスを順次読出し、保持手段に出力させる読出手段と、保持手段から出力されたアドレスに対応する処理内容を第１記憶手段から読み出させ、実行させる実行手段と、を備えている。保持手段は、アドレスを保持していないとき、読出手段により読み出されたアドレスを一時的に保持して出力し、アドレスを保持しているとき、実行手段の処理内容の実行終了を待って、保持しているアドレスを出力する。これにより、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能に向上させることができる。
2013145529.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる読出手段と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる実行手段と、
を備え、
前記保持手段は、前記アドレスを保持していないとき、前記読出手段により読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記実行手段の前記処理内容の実行終了を待って、保持している前記アドレスを出力する、
ことを特徴とする演算処理装置。
【請求項２】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、を含む命令情報が記憶されている、
ことを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記読出手段は、ユーザが実行する前記処理内容を指定するためのインデックス情報を記憶するユーザテーブル手段と、前記ユーザテーブル手段に記憶されたインデックス情報を前記第２記憶手段に出力させるユーザテーブル制御手段と、を有しており、
前記第２記憶手段は、前記ユーザテーブル手段から出力されたインデック情報に対応するアドレスを前記保持手段に出力する、
ことを特徴とする請求項１又は２記載の演算処理装置。
【請求項４】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、ユーザ数分全てまとめた単位で処理指定が可能なインデックス情報と、を含む命令情報が記憶されており、
前記実行手段から出力される前記ユーザテーブル制御手段を制御するための制御信号及び前記インデックス情報を記憶する第３記憶手段と、
前記ユーザテーブル部に記憶されたインデックス情報と、前記第３記憶手段に記憶されたインデックス情報と、に基づいて、新たなインデックス情報を生成するインデックス生成手段と、を更に備え、
前記インデックス生成手段により生成された新たなインデックス情報は前記第２記憶手段に出力される、ことを特徴とする請求項３記載の演算処理装置。
【請求項５】
前記ユーザテーブル手段に記憶されたインデックス情報に対して演算処理を行う演算手段を更に備え、
前記演算手段は演算処理したインデックス情報を前記第２記憶手段に出力する、ことを特徴とする請求項３記載の演算処理装置。
【請求項６】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレス情報と、処理するユーザ数を示す情報と、前記演算手段の演算内容を決定する演算モード情報と、を少なくとも含む命令情報が記憶されている、
ことを特徴とする請求項５記載の演算処理装置。
【請求項７】
前記保持手段に接続されたプログラムカウンタ手段と、
前記実行手段からの指示に応じて演算処理を実行する演算実行手段と、
を更に備え、
前記プログラムカウンタ手段は、次のサイクルで内部に保持したアドレスをインクリメントして前記第１記憶手段に出力する機能と、次のサイクルでも同じアドレスを前記第１記憶手段に出力する機能と、前記演算実行手段からの出力値をアドレスとして出力する機能と、前記保持手段からの出力値に基づいて生成するアドレスを更新し出力する機能と、を有している、
ことを特徴とする請求項１乃至６のうちいずれか１項記載の演算処理装置。
【請求項８】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理方法であって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させるステップと、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させるステップと、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力するステップと、
を含む、ことを特徴とする演算処理装置の演算処理方法。
【請求項９】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理プログラムが格納された記憶媒体であって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる処理と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる処理と、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力する処理と、
をコンピュータに実行させる、ことを特徴とする演算処理装置の演算処理プログラムが格納された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、複数のユーザ若しくはタスクに対し、ユーザ若しくはタスク毎に存在するパラメータを用いて、処理の種類を切替える演算処理装置、その演算処理方法、及び演算処理プログラムに関するものである。
【背景技術】
【０００２】
サーバーや基地局などにおいては、多数のユーザから送信されるデータを一括して処理することが一般に行われており、そのような複数のデータを効率的に処理する様々な処理方法が提案されている（例えば、特許文献１参照）。【０００３】
ところで、上記のようなデータ処理において、ユーザデータのパラメータに応じてその処理内容を変更することが行われることがある。この場合、ユーザ間の切り替え制御が必要となり、その命令実行時間が増加することとなる。【０００４】
この問題に対し、命令を事前に処理実行用の演算器に投入することで、条件分岐やパラメータ解析などのオーバーヘッドを抑制した演算処理装置が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−２９８０９９号公報
【特許文献２】特開平７−１８２１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献２に示す演算処理装置においては、少量のデータ数が割り当てられたユーザが多数存在する場合、各処理間の切り替えのオーバーヘッドを抑制しきれず、全体の演算性能を低下させる虞がある。【０００７】
本発明は、このような問題点を解決するためになされたものであり、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させた演算処理装置、その演算処理方法、及び演算処理プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明の一態様は、複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、前記アドレスを一時的に保持する保持手段と、前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる読出手段と、前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる実行手段と、を備え、前記保持手段は、前記アドレスを保持していないとき、前記読出手段により読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記実行手段の前記処理内容の実行終了を待って、保持している前記アドレスを出力する、ことを特徴とする演算処理装置である。
他方、上記目的を達成するための本発明の一態様は、複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理方法であって、前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させるステップと、前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させるステップと、前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力するステップと、を含む、ことを特徴とする演算処理装置の演算処理方法であってもよい。
さらに、上記目的を達成するための本発明の一態様は、複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理プログラムであって、前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる処理と、前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる処理と、前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力する処理と、をコンピュータに実行させる、ことを特徴とする演算処理装置の演算処理プログラムであってもよい。
【発明の効果】
【０００９】
本発明によれば、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能に向上させた演算処理装置、その演算処理方法、及び演算処理プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る演算処理装置の概略的なシステム構成を示すブロック図である。
【図２】本発明の実施の形態１に係る特殊命令ＵＳＥＲ_ＪＵＭＰの構成の一例を示す図である。
【図３】本発明の実施の形態１に係るユーザテーブル、ジャンプテーブル、及び命令メモリの構成の一例を示す図である。
【図４】本発明の実施の形態２に係る演算処理装置の概略的なシステム構成を示すブロック図である。
【図５】本発明の実施の形態２に係る特殊命令ＵＳＥＲ_ＪＵＭＰの構成の一例を示す図である。
【図６】本発明の実施の形態２に係るユーザテーブル、ジャンプテーブル、ＦＦ、ＣＯＭＢ部及び命令メモリの構成の一例を示す図である。
【図７】本発明の実施の形態３に係る演算処理装置の概略的なシステム構成を示すブロック図である。
【図８】本発明の実施の形態３に係る特殊命令ＵＳＥＲ_ＪＵＭＰの構成の一例を示す図である。
【図９】本発明の実施の形態４に係るユーザテーブル、ジャンプテーブル、及び命令メモリの構成の一例を示す図である。
【図１０】本発明の実施の形態５に係るユーザテーブル、ジャンプテーブル、ＦＦ、ＣＯＭＢ部及び命令メモリの構成の一例を示す図である。
【図１１】本発明の実施の形態に係る演算処理装置の機能ブロック図である。
【発明を実施するための形態】
【００１１】
図１１は、本実施の形態に係る演算処理装置の機能ブロック図である。本実施の形態に係る演算処理装置６０は、複数の処理内容をアドレスと対応させて記憶する第１記憶手段６１と、第１記憶手段６１に記憶された複数の処理内容のアドレスを夫々記憶する第２記憶手段６２と、アドレスを一時的に保持する保持手段６３と、第２記憶手段６２に記憶されたアドレスを順次読出し、保持手段６３に出力させる読出手段６４と、保持手段６３から出力されたアドレスに対応する処理内容を第１記憶手段６１から読み出させ、実行させる実行手段６５と、を備えている。
【００１２】
保持手段６３は、アドレスを保持していないとき、読出手段６４により読み出されたアドレスを一時保持して出力し、アドレスを保持しているとき、実行手段６５の処理内容の実行終了を待って、保持しているアドレスを出力する。これにより、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１に係る演算処理装置の概略的なシステム構成を示すブロック図である。本実施の形態に係る演算処理装置１は、命令メモリ１０と、デコードユニット１１と、レジスタファイル１２と、ＡＬＵ１３と、プログラムカウンタ１４と、ユーザテーブル１５と、ユーザテーブル制御部１６と、ジャンプテーブル１７と、ＦＩＦＯ１８と、を備えている。
【００１４】
命令メモリ１０は、第１記憶手段の一具体例であり、ユーザにより実行される複数の命令（処理内容）をアドレスと対応させて記憶する。命令メモリ１０は、プログラムカウンタ１４と、デコードユニット１１と、に夫々接続されている。
【００１５】
デコードユニット１１は、実行手段の一具体例であり、ＦＩＦＯ１８からプログラムカウンタ１４を介して出力されたアドレスに対応する命令を、命令メモリ１０に読み出させＡＬＵ１３に実行させる。デコードユニット１１は、命令メモリ１０から出力された命令を解析し、後段に接続されるレジスタファイル１２、ＡＬＵ１３、ユーザテーブル制御部１５、及びＦＩＦＯ１８を制御するための制御信号を夫々生成し、出力する。デコードユニット１１は、レジスタファイル１２と、ＡＬＵ１３と、ユーザテーブル制御部１５と、ＦＩＦＯ１８と、プログラムカウンタ１４と、に夫々接続されている。
【００１６】
レジスタファイル１２は、ＡＬＵ１３で実行される演算に必要なデータを格納する。レジスタファイル１２は、デコードユニット１１と、ＡＬＵ１３と、に夫々接続されている。
【００１７】
ＡＬＵ１３は、デコードユニット１１からの制御信号に応じて、レジスタファイル１２からのデータを用いて実際の演算処理を行う演算ユニットである。ＡＬＵ１３は、デコードユニット１１と、レジスタファイル１２と、プログラムカウンタ１３と、に夫々接続されている。レジスタファイル１２及びＡＬＵ１３は、演算実行手段の一具体例である。なお、レジスタファイル１２及びＡＬＵ１３は、本発明の本質ではないため、上記構成に限らず、任意の構成が適用可能である。
【００１８】
プログラムカウンタ１４は、プログラムカウンタ手段の一具体例であり、命令メモリ１０に格納された命令を読み出すためのアドレスを生成する。また、プログラムカウンタ１４は、次のサイクルで内部に保持したアドレスをインクリメントして出力する機能と、次のサイクルでも同じアドレスを出力する機能と、ＡＬＵ１３からの出力値をアドレスとして出力する機能と、ＦＩＦＯ１８からの出力に基づいて自身が生成するアドレスを更新し出力する機能と、を有している。プログラムカウンタ１４は、命令メモリ１０と、ＡＬＵ１３と、ＦＩＦＯ１８と、デコードユニット１１と、に夫々接続されている。
【００１９】
ユーザテーブル１５は、ユーザテーブル手段の一具体例であり、ユーザ毎に指定される処理インデックス、すなわち、ユーザが実行する処理内容を指定するインデックス情報を記憶する。ユーザテーブル１５は、ユーザテーブル制御部１６と、ジャンプテーブル１７と、に夫々接続されている。
【００２０】
ユーザテーブル制御部１６は、ユーザテーブル制御手段の一具体例であり、デコードユニット１１から出力される制御信号のパラメータに従って、ユーザテーブル１５に記憶されたユーザの処理インデックスをジャンプテーブル１７に出力させる。ユーザテーブル制御部１６は、デコードユニット１１と、ユーザテーブル１５と、に夫々接続されている。
【００２１】
ジャンプテーブル１７は、第２記憶手段の一具体例であり、ユーザ毎の処理内容が格納されている命令メモリ１０の領域に対する先頭のアドレス（以下、先頭アドレスと称す）を、ユーザ処理毎（処理インデックス毎）に格納する。ジャンプテーブル１７は、ユーザテーブルから出力される処理インデックスに基づいて、先頭アドレスをＦＩＦＯ１８に対して出力する。ジャンプテーブル１７は、ユーザテーブル１５と、ＦＩＦＯ１８と、に夫々接続されている。
【００２２】
ＦＩＦＯ１８は、保持手段の一具体例であり、ジャンプテーブル１７から読み出された各ユーザ処理の先頭アドレスを一時的に保持する。ＦＩＦＯ１８は、ユーザテーブル１７と、プログラムカウンタ１４と、デコードユニット１１と、に夫々接続されている。
【００２３】
ＦＩＦＯ１８は、ジャンプテーブル１７からの先頭アドレスを保持していないとき（Ｅｍｐｔｙ状態）、ジャンプテーブル１７から読み出された先頭アドレスを一時保持し、次のサイクルで出力する。一方、ＦＩＦＯ１８は、ジャンプテーブル１７からの先頭アドレスを保持しているとき（Ｅｍｐｔｙ状態でないとき）、サブプログラムの処理の実行終了を待って、保持している先頭アドレスを出力する。
【００２４】
次に、上述のように構成された演算処理装置の動作について、図１乃至図３を参照して詳細に説明する。
まず、本動作の前提条件として、例えば、命令メモリ１０には、図３の右側に位置するテーブルに示すような、ユーザ毎に指定された演算処理を実行するために必要な少なくとも２種類以上のサブプログラム（処理内容）と、そのサブプログラムに対応させて、その左側に示す特殊命令ＵＳＥＲ_ＪＵＭＰ（命令情報）と、が格納されているものとする。また、サブプログラムの最後には必ずサブプログラムの終端であることを示すＮＥＸＴ_ＵＳＥＲ命令が存在しているものとする。
【００２５】
特殊命令ＵＳＥＲ_ＪＵＭＰは、例えば、図２に示すようにオペコード（ＵＳＥＲ_ＪＵＭＰ）２１と、所望のユーザ数分の処理が終了した後に読み出す命令が格納されている場所（アドレス）の情報を示すＧＯ ＴＯ２２と、処理するユーザ数を示すＮＵＭ_ＵＳＥＲ２３と、で構成されている。
【００２６】
ジャンプテーブル１７には、図３の略中央のテーブルに示すように、サブプログラムの先頭アドレスが複数格納されている。最後に、ユーザテーブル１５には、図３の左側のテーブルに示すように、各ユーザがどのサブプログラムを実行するかを指定する処理インデックスがユーザ数分だけ格納されている。
【００２７】
次に、上記前提条件を元に演算処理装置の各ブロックの動作方法について説明する。
まず、命令メモリ１０は、格納した特殊命令ＵＳＥＲ_ＪＵＭＰをデコードユニット１１に読み出す。
【００２８】
デコードユニット１１は、命令メモリ１０から読み出された特殊命令ＵＳＥＲ_ＪＵＭＰを解釈し、解釈した特殊命令ＵＳＥＲ_ＪＵＭＰに基づいて制御信号を生成し、生成した制御信号をユーザテーブル制御部１６に対して出力する。なお、上記制御信号には、例えば、ユーザのデータ処理を開始するフラグと、ユーザ数を示す値と、が含まれる。
【００２９】
ユーザテーブル制御部１６は、デコードユニット１１から制御信号を受信すると、例えば、ユーザテーブル１５に対して、先頭から最初のユーザに対する処理インデックスを読み出すよう指示する。
【００３０】
ユーザテーブル１５から読み出された処理インデックスは、ジャンプテーブル１７に対するアドレスとして、ジャンプテーブル１７に対して出力される。そして、ジャンプテーブル１７は、格納した最初のユーザ処理として実行されるサブプログラムの先頭アドレスを、ＦＩＦＯ１８に対して出力する。
【００３１】
このとき、ＦＩＦＯ１８の中身が空（Ｅｍｐｔｙ状態）の場合、ＦＩＦＯ１８は、ジャンプテーブル１７から出力された先頭アドレスを、次のサイクルでプログラムカウンタ１４に出力する。プログラムカウンタ１４は、命令メモリ１０へのアドレスをＦＩＦＯ１８から受けた先頭アドレスに更新し、命令メモリ１０に出力する。
【００３２】
命令メモリ１０は、プログラムカウンタ１４から先頭アドレスを受けて、その先頭アドレスに指定されたサブプログラムの命令（例えば、図３の３２ポイントのＦＦＴ演算の先頭の命令）を読み出し、デコードユニット１１に出力する。
【００３３】
デコードユニット１１は、命令メモリ１０からのサブプログラムの命令を解釈し、レジスタファイル１２及びＡＬＵ１３を制御するための制御信号を生成し、レジスタファイル１２及びＡＬＵ１３に出力する。レジスタファイル１２及びＡＬＵ１３は、デコードユニット１１からの制御信号に応じて、サブプログラムを実行する。
【００３４】
一方、ＦＩＦＯ１８の中身が空でない（Ｅｍｐｔｙ状態でない）、もしくは、レジスタファイル１２及びＡＬＵ１３がサブプログラムの処理を実行している場合、ＦＩＦＯ１８は、ジャンプテーブル１７からの先頭アドレスを一時的に保持する。そして、デコードユニット１１は、サブプログラムの処理を実行中にサブプログラムの終端であることを示すＮＥＸＴ_ＵＳＥＲ命令を検出すると、ＦＩＦＯ１８が一時保持している次のユーザに対応するサブプログラムの先頭アドレスをプログラムカウンタ１４に出力するように制御する。
【００３５】
ＦＩＦＯ１８が、次のユーザに対応するサブプログラムの先頭アドレスを、プログラムカウンタ１４を介して命令メモリ１０に出力すると、命令メモリ１０は、次のユーザに対応するサブプログラムの先頭の命令をデコードユニット１１に読み出す。そして、デコードユニット１１は、命令メモリ１０により読み出された命令を解釈し、レジスタファイル１２とＡＬＵ１３を制御するための制御信号を生成し、レジスタファイル１２とＡＬＵ１３に出力する。レジスタファイル１２とＡＬＵ１３は、次のユーザのサブプログラム（例えば、図３の６４ポイントのＦＦＴ演算の先頭の命令）を実行する。上述した処理を指定されたユーザ数分あるいはタスク数分だけ繰り返される。このように、命令の繰返し実行の可否を示すフィールド、および繰返し数を指定するフィールドに適切な値を入れることで、従来のループ制御用命令を使用せずに、繰り返し処理を実行することができる。これにより、命令メモリ１０から出力される命令数を削減できるため、消費電力の削減、及び実行速度の低下を防止できる。
【００３６】
以上、本実施の形態１に係る演算処理装置１によれば、ユーザテーブル１５とジャンプテーブル１７を用いてユーザ数分だけ連続して、各処理のサブプログラムの先頭アドレスを生成することができる。また、ＦＩＦＯ１８は生成された先頭アドレスを一旦格納し、サブプログラムの実行が終了するＮＥＸＴ_ＵＳＥＲ命令を検出したタイミングで、プログラムカウンタ１４を介して命令メモリ１０に次に実行される命令の先頭アドレスを出力する。これにより、ユーザ間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００３７】
実施の形態２．
本発明の実施の形態２に係る演算処理装置２について、図４乃至６を参照して詳細に説明する。上記実施の形態１に係る演算処理装置１においては、特殊命令ＵＳＥＲ_ＪＵＭＰの引数は、全ユーザ分の処理が終了したときのプログラムカウンタ値の移動先を示すＧＯ ＴＯ値と、ユーザ数を示したＮＵＭ_ＵＳＥＲ値と、の２種類となっている（図２）。これに対し、本実施の形態２に係る演算処理装置２においては、図５に示すように、特殊命令ＵＳＥＲ_ＪＵＭＰの引数が、ＧＯ ＴＯ値とＮＵＭ_ＵＳＥＲ値とに加えて、さらに大きな範囲の処理を大別できるインデックス（ＩＮＤＥＸ）値を有する点で、上記実施の形態１に係る演算処理装置１と相違する。
【００３８】
まず、図４を参照して、本実施の形態２に係る演算処理装置の構成の相違点について詳細に説明する。上記実施の形態１に係る演算処理装置１において、ユーザテーブル１５が直接ジャンプテーブル１７に接続されているのに対し、本実施の形態２に係る演算処理装置２は、更に、インデックス値を格納するためのＦＦ４９と、新たなインデックス値を生成し、ジャンプテーブル４７に出力するＣＯＭＢ部４Ａと、を備えている。
【００３９】
ＦＦ４９は、第３記憶手段の一具体例であり、デコードユニット４１から出力されるユーザテーブル制御部４６を制御するための制御信号と一緒にインデックス値を格納する。ＣＯＭＢ部４Ａは、インデックス生成手段の一具体例であり、ＦＦ４９に格納されたインデックス値と、ユーザテーブル４５から読み出されたユーザ毎の処理インデックスと、を組み合わせて、新たなインデックスを生成し、ジャンプテーブル４７に出力する。
【００４０】
次に、本実施の形態２に係る演算処理装置の動作について、図４及び図６を参照して詳細に説明する。まず、本動作の前提条件として、例えば、命令メモリ４０には、図６の右側のテーブルに示すように、ユーザ毎に指定された演算処理を実行するために必要な少なくとも２種類以上のサブプログラムと、その左側に示すような特殊命令ＵＳＥＲ_ＪＵＭＰと、が格納されているものとする。
【００４１】
また、サブプログラムの最後には必ずサブプログラムの終端であることを示すＮＥＸＴ_ＵＳＥＲ命令が存在しているものとする。特殊命令ＵＳＥＲ_ＪＵＭＰは、図５に示すように、オペコード（ＵＳＥＲ_ＪＵＭＰ）５１と、所望のユーザ数分の処理が終了した後に読み出す命令が格納されている場所（アドレス）を示すＧＯ ＴＯ５２と、処理するユーザ数を示すＮＵＭ_ＵＳＥＲ５３と、ユーザ数分全てをまとめた単位で処理指定が可能なインデックス（ＩＮＤＥＸ）情報５４と、で構成されている。
【００４２】
ジャンプテーブル４７には、図６の略中央のテーブルに示すように、サブプログラムの先頭アドレスが複数格納されている。ユーザテーブル４５には、図６の左側のテーブルに示すように、各ユーザがどのサブプログラムを実行するかを指定する処理インデックスがユーザ数分だけ格納されている。
【００４３】
上述のように構成された演算処理装置の動作について詳細に説明する。
まず、命令メモリ４０は、格納した特殊命令ＵＳＥＲ_ＪＵＭＰをデコードユニット４１に読み出す。デコードユニット４１は、命令メモリ４０から読み出された命令を解釈し、ユーザテーブル制御部４６を制御するための制御信号と、インデックス値とを、ユーザテーブル制御部４６及びＦＦ４９に夫々出力する。なお、上記制御信号には、ユーザ処理を開始するフラグと、ユーザ数を示す値が含まれる。
【００４４】
ユーザテーブル制御部４６は、デコードユニット４１から制御信号を受信すると、ユーザテーブル４５に対し、先頭から最初のユーザに対する処理インデックスを読み出させる。ＣＯＭＢ４Ａは、ユーザテーブル４５から読み出された処理インデックスと、ＦＦ４９に格納されたインデックス値と、を組み合わせて、新たなインデックス値を生成し、ジャンプテーブル４７に対して出力する。そして、ジャンプテーブル４７は、格納された最初のユーザ処理として行われるサブプログラムの先頭アドレスを、ＦＩＦＯ４８に対し出力する。
【００４５】
ここで、ＦＩＦＯ４８の中身が空（Ｅｍｐｔｙ状態）の場合、ジャンプテーブル４７からＦＩＦＯ４８へ出力された先頭アドレスは、次のサイクルでプログラムカウンタ４４に出力される。プログラムカウンタ４４は、命令メモリ４０に対するアドレスを、ＦＩＦＯ４８からの先頭アドレスに更新し、命令メモリ４０に出力する。命令メモリ４０は、プログラムカウンタ４４からアドレスを受信すると、アドレスに指定されたサブプログラムの命令を読み出す。
【００４６】
命令メモリ４０はサブプログラムの命令をデコードユニット４１に読み出すと、デコードユニット４１は、その命令を解釈し、レジスタファイル４２及びＡＬＵ４３を制御するための制御信号を生成し、レジスタファイル４２及びＡＬＵ４３に出力する。レジスタファイル４２及びＡＬＵ４３は、デコードユニット４１から制御信号を受信すると、サブプログラムを実行する。
【００４７】
一方、ＦＩＦＯ４８の中身が空でない（Ｅｍｐｔｙ状態でない）、もしくは、レジスタファイル４２とＡＬＵ４３がサブプログラムの処理を実行している場合、ジャンプテーブル４７からＦＩＦＯ４８へ出力された先頭アドレスは、ＦＩＦＯ４８に一時的に保持される。デコードユニット４１は、サブプログラムの処理を実行中にサブプログラムの終端であることを示すＮＥＸＴ_ＵＳＥＲ命令を検出すると、ＦＩＦＯ４８が一時的に保持した次のユーザに対応するサブプログラムの先頭アドレスをプログラムカウンタ４４に出力するように制御する。
【００４８】
ＦＩＦＯ４８から、次のユーザに対応するサブプログラムの先頭アドレスがプログラムカウンタ４４に対して出力され、命令メモリ４０から次のユーザに対応するサブプログラムの先頭の命令が読み出される。
【００４９】
デコードユニット４１は、命令メモリ４０から読み出された命令を解釈し、レジスタファイル４２及びＡＬＵ４３を制御するための制御信号を生成し、レジスタファイル４２及びＡＬＵ４３に出力する。レジスタファイル４２及びＡＬＵ４３は、デコードユニット４１から制御信号を受信すると、次のユーザのサブプログラムを実行する。以上の処理を指定されたユーザ数分だけ繰り返し実行される。なお、上記実施の形態１と同様に、本実施の形態２において、レジスタファイル４２及びＡＬＵ４３は本発明の本質ではないため、上記構成に限らず、任意の構成が適用可能である。
【００５０】
以上、本実施の形態２に係る演算処理装置２によれば、ユーザテーブル４５とジャンプテーブル４７を用いてユーザ数分だけ連続して、各ユーザのサブプログラムの先頭アドレスを生成することができる。また、ＦＩＦＯ４８は生成された先頭アドレスを一旦格納し、サブプログラムの実行が終了するＮＥＸＴ_ＵＳＥＲ命令を検出したタイミングで、プログラムカウンタ４４を介して命令メモリ４０に次に実行される命令の先頭アドレスを出力する。これにより、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００５１】
さらに、特殊命令ＵＳＥＲ_ＪＵＭＰ内において、ユーザ数分全体の処理指定が可能なインデックス値が引数として存在している。このため、複数種類のユーザ毎の処理（例えば、ユーザ毎に異なるポイント数のＦＦＴを全ユーザ分実行した後に、ユーザ毎に異なるポイント数のＦＦＴをユーザ分実行した場合など）を特殊命令の引数であるインデックス値とＧＯ ＴＯ値とを変化させることでユーザテーブル４５の内容を変えずに実行することができる。これにより、メモリサイズの削減が可能という副次的な効果も得られる。
【００５２】
実施の形態３．
本発明の実施の形態３に係る演算処理装置について、図７及び図８を参照して詳細に説明する。上記実施の形態１に係る演算処理装置１においては、ユーザテーブル１５が直接ジャンプテーブル１７に接続している。これに対し、本実施の形態３に係る演算処理装置３においては、図７に示すように、ユーザテーブル７５とジャンプテーブル７７の間にｔＡＬＵ７９を更に備える点で上記実施の形態１に係る演算処理装置１と相違する。ｔＡＬＵ７９は、演算手段の一具体例であり、例えば、定数割算、定数乗算、定数加算などの演算処理が可能な演算器である。
【００５３】
また、特殊命令ＵＳＥＲ_ＪＵＭＰの引数は、上記実施の形態１に係る演算処理装置１において、全ユーザ分の処理が終了した後のプログラムカウンタ値の移動先を示すＧＯ ＴＯ値と、ユーザ数を示したＮＵＭ_ＵＳＥＲ値との２種類であるが、本実施の形態３に係る演算処理装置３において、図８に示すように、上記ＧＯ ＴＯ値とＮＵＭ_ＵＳＥＲ値とに加えて、ｔＡＬＵ７９の演算モードを指定するｔＡＬＵ_ｍｏｄｅ（演算モード情報の一具体例）８４が追加されている。
【００５４】
次に、本実施の形態３に係る演算処理装置の動作について詳細に説明する。
まず、本動作の前提条件として、命令メモリ７０には、上記実施の形態１と同様に、ユーザ毎に指定された演算処理を実行するために必要な少なくとも２種類以上のサブプログラムと、特殊命令ＵＳＥＲ_ＪＵＭＰと、が格納されているものとする。また、サブプログラムの最後には必ずサブプログラムの終端であることを示すＮＥＸＴ_ＵＳＥＲ命令が存在しているものとする。さらに、特殊命令ＵＳＥＲ_ＪＵＭＰは、図８に示すように、オペコード（ＵＳＥＲ_ＪＵＭＰ）８１と、所望のユーザ数分の処理が終了した後に読み出す命令が格納されている場所（アドレス）を示すＧＯ ＴＯ８２と、処理するユーザ数を示すＮＵＭ_ＵＳＥＲ８３と、ｔＡＬＵ７９の演算モードを指定するｔＡＬＵ_ｍｏｄｅ８４と、で構成されている。
【００５５】
ジャンプテーブル７７には、上記実施の形態１と同様に、サブプログラムの先頭アドレスが複数格納されている。なお、ユーザテーブル７５には、上記実施の形態１と同様に、各ユーザがどのサブプログラムを実行するかを指定する処理インデックスがユーザ数分だけ格納されている。
【００５６】
以上を前提条件として、本実施の形態３に係る演算処理装置３は以下のように動作する。まず、命令メモリ７０は、格納した特殊命令ＵＳＥＲ_ＪＵＭＰをデコードユニット７１に読み出す。
【００５７】
次に、デコードユニット７１は、命令メモリ７０から読み出された命令を解釈し、ユーザテーブル制御部７６を制御するための制御信号と、ｔＡＬＵの演算モードを指定するｔＡＬＵ_ｍｏｄｅ値と、をユーザテーブル制御部７６及びｔＡＬＵ７９に夫々出力する。なお、上記制御信号には、ユーザ処理を開始するフラグと、ユーザ数を示す値と、が含まれる。
【００５８】
ユーザテーブル制御部７６は、デコードユニット７１から制御信号を受信すると、ユーザテーブル７５に先頭から最初のユーザに対する処理インデックスを読み出させ、ｔＡＬＵ７９に出力させる。
【００５９】
ｔＡＬＵ７９は、先に入力されたｔＡＬＵ_ｍｏｄｅにより指定された演算処理を、処理インデックスに施す。ｔＡＬＵ７９は、その演算処理結果を、ジャンプテーブル７７に対して出力する。ジャンプテーブル７７は、格納している最初のユーザ処理として行われるサブプログラムの先頭アドレスをＦＩＦＯ７８に出力する。
【００６０】
ここで、ＦＩＦＯ７８の中身が空（Ｅｍｐｔｙ状態）の場合、ＦＩＦＯ７８は、ジャンプテーブル７７から出力された先頭アドレスを、次のサイクルでプログラムカウンタ７４に出力する。
【００６１】
プログラムカウンタ７４は、命令メモリ７０に対するアドレスを、ＦＩＦＯ７８から受けた先頭アドレスに更新し、更新した先頭アドレスを命令メモリ７０に出力する。命令メモリ７０は、プログラムカウンタ７４から先頭アドレスを受けると、その先頭アドレスに指定されたサブプログラムにある命令をデコードユニット７１に読み出す。
【００６２】
デコードユニット７１は、命令メモリ７０から読み出されたサブプログラムの命令を解釈し、レジスタファイル７２とＡＬＵ７３を制御するための制御信号を生成し、レジスタファイル７２とＡＬＵ７３に出力する。レジスタファイル７２とＡＬＵ７３は、デコードユニット７１からの制御信号に応じて、サブプログラムを実行する。
【００６３】
ここで、ＦＩＦＯ７８の中身が空でない（Ｅｍｐｔｙ状態でない）、もしくは、レジスタファイル７２とＡＬＵ７３がサブプログラム処理を実行している場合、ＦＩＦＯ７８はジャンプテーブル７７から出力された先頭アドレスを、一時的に保持する。
【００６４】
デコードユニット７１は、サブプログラム処理の実行中にサブプログラム終端であることを示すＮＥＸＴ_ＵＳＥＲ命令を検出すると、ＦＩＦＯ７８が一時的に保持した次のユーザに対応するサブプログラムの先頭アドレスをプログラムカウンタ７４に出力するように制御する。
【００６５】
ＦＩＦＯ７８は、次のユーザに対応するサブプログラムの先頭アドレスをプログラムカウンタ７４に出力する。プログラムカウンタ７４は、ＦＩＦＯ７８からの先頭アドレスを命令メモリ７０に出力する。命令メモリ７０は、次のユーザに対応するサブプログラムの先頭の命令をデコードユニット７１に読み出す。
【００６６】
デコードユニット７１は、命令メモリ７０により読み出された命令を解釈し、レジスタファイル７２とＡＬＵ７３を制御するための制御信号を生成し、レジスタファイル７２とＡＬＵ７３に出力する。レジスタファイル７２とＡＬＵ７３は、デコードユニット７１からの制御信号に応じて、次のユーザのサブプログラムを実行する。上述した処理を指定されたユーザ数分だけ繰り返し実行される。なお、上記実施の形態１と同様に、本実施の形態３において、レジスタファイル７２及びＡＬＵ７３は本発明の本質ではないため、上記構成に限らず、任意の構成が適用可能である。
【００６７】
以上、本実施の形態３に係る演算処理装置３によれば、ユーザテーブル７５とジャンプテーブル７７を用いてユーザ数分だけ連続して、各ユーザのサブプログラムの先頭アドレスを生成することができる。また、ＦＩＦＯ７８は生成された先頭アドレスを一旦格納し、サブプログラムの実行が終了するＮＥＸＴ_ＵＳＥＲ命令を検出したタイミングで、プログラムカウンタ７４を介して命令メモリ７０に次に実行される命令の先頭アドレスを出力する。これにより、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００６８】
さらに、ユーザテーブル７５とジャンプテーブル７７の間に、インデックス値に対して演算処理可能なｔＡＬＵ７９が設けられている。これにより、例えば、ユーザテーブル７５に格納されるユーザ毎のパラメータを予めインデックス値に変換しなくても、ユーザに与えられるデータ数等からインデックス値を求めることができるといった副次的な効果が得られる。
【００６９】
実施の形態４．
本発明の実施の形態４に係る演算処理装置１について、図９を参照して詳細に説明する。
【００７０】
上記実施の形態１に係る演算処理装置１においては、命令メモリ１０内におけるサブプログラムの最後にプログラム終端を示すＮＥＸＴ_ＵＳＥＲ命令が挿入されており、その命令に基づいてユーザ毎のサブプログラムの切替え制御を行っている。これに対し、本実施の形態４に係る演算処理装置１においては、図９に示すように、サブプログラムの最後にプログラム終端を示すＮＥＸＴ_ＵＳＥＲを挿入せずに、ジャンプテーブル１７に各サブプログラムの先頭アドレスと終端アドレスを格納する点で上記実施の形態１に係る演算処理装置１と相違する。
【００７１】
なお、本実施の形態４に係る演算処理装置１と上記実施の形態１に係る演算処理装置１とのハードウェア構成は、略同一であるため、同一部分に同一符号を付して詳細な説明は省略する。
【００７２】
一方、サブプログラムの切り替え制御について、上記実施の形態１に係る演算処理装置１においては、デコーダユニット１１でＮＥＸＴ_ＵＳＥＲ命令の解釈をし、ＦＩＦＯ１８、および、プログラムカウンタ１４を制御している。これに対し、本実施の形態４に係る演算処理装置１においては、ジャンプテーブル１７から読み出された終端アドレスと、プログラムカウンタ１４の値（以下、プログラムカウンタ値）と、を比較する。そして、プログラムカウンタ値が終端アドレス未満の場合は、そのままプログラムカウンタ値を更新し、終端アドレスとプログラムカウンタ値が一致する場合は、次のプログラムカウンタ値をＦＩＦＯ１８からの出力アドレスで更新する。なお、本実施の形態４に係る演算処理装置１において、その他の動作については、上記実施の形態１に係る演算処理装置１と略同一であるため、説明を省略する。
【００７３】
以上、本実施の形態４に係る演算処理装置１によれば、上記実施の形態１に係る演算処理装置１と同様に、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００７４】
実施の形態５．
本発明の実施の形態５に係る演算処理装置について、図１０を参照して詳細に説明する。
上記実施の形態２に係る演算処理装置２においては、命令メモリ４０内のサブプログラムの最後にプログラムの終端を示すＮＥＸＴ_ＵＳＥＲ命令が挿入されており、その命令に基づいてユーザ毎のサブプログラムの切り替え制御を行っている。これに対し、本実施の形態５に係る演算処理装置２においては、図１０に示すように、サブプログラムの最後にプログラムの終端を示すＮＥＸＴ_ＵＳＥＲを挿入せずに、ジャンプテーブルに各サブプログラムの先頭アドレスと終端アドレスを格納する点で、上記実施の形態２に係る演算処理装置２と相違する。
【００７５】
なお、本実施の形態５に係る演算処理装置２と上記実施の形態２に係る演算処理装置２とのハードウェア構成は、略同一であるため、同一部分に同一符号を付して詳細な説明は省略する。
【００７６】
一方、サブプログラムの切り替え制御について、上記実施の形態２に係る演算処理装置２においては、デコーダユニット４１でＮＥＸＴ_ＵＳＥＲ命令の解釈を行い、ＦＩＦＯ４８及びプログラムカウンタ４４を制御している。これに対し、本実施の形態５に係る演算処理装置２においては、ジャンプテーブル４７から読み出された、終端アドレスと、プログラムカウンタ値と、を比較する。プログラムカウンタ値が終端アドレス未満の場合は、そのままプログラムカウンタ値を更新し、終端アドレスとプログラムカウンタ値が一致する場合は、次のプログラムカウンタ値をＦＩＦＯ４８からの出力アドレスで更新する。
なお、本実施の形態５に係る演算処理装置２において、その他の動作については、上記実施の形態２に係る演算処理装置２と略同一であるため、説明を省略する。
【００７７】
以上、本実施の形態５に係る演算処理装置２によれば、上記実施の形態２に係る演算処理装置２と同様に、各処理間の切り替えのオーバーヘッドを抑制し、全体の演算性能を向上させることができる。
【００７８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００７９】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば、上記デコードユニット１１、４１、７１やユーザテーブル制御部１６、４６、７６が実行する処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。
【００８０】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００８１】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８２】
（付記１）
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる読出手段と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる実行手段と、
を備え、
前記保持手段は、前記アドレスを保持していないとき、前記読出手段により読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記実行手段の前記処理内容の実行終了を待って、保持している前記アドレスを出力する、
ことを特徴とする演算処理装置。
（付記２）
（付記１）記載の演算処理装置であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、を含む命令情報が記憶されている、
ことを特徴とする演算処理装置。
（付記３）
（付記１）又は（付記２）記載の演算処理装置であって、
前記読出手段は、ユーザが実行する前記処理内容を指定するためのインデックス情報を記憶するユーザテーブル手段と、前記ユーザテーブル手段に記憶されたインデックス情報を前記第２記憶手段に出力させるユーザテーブル制御手段と、を有しており、
前記第２記憶手段は、前記ユーザテーブル手段から出力されたインデック情報に対応するアドレスを前記保持手段に出力する、
ことを特徴とする演算処理装置。
（付記４）
（付記３）記載の演算処理装置であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、ユーザ数分全てまとめた単位で処理指定が可能なインデックス情報と、を含む命令情報が記憶されており、
前記実行手段から出力される前記ユーザテーブル制御手段を制御するための制御信号及び前記インデックス情報を記憶する第３記憶手段と、
前記ユーザテーブル部に記憶されたインデックス情報と、前記第３記憶手段に記憶されたインデックス情報と、に基づいて、新たなインデックス情報を生成するインデックス生成手段と、を更に備え、
前記インデックス生成手段により生成された新たなインデックス情報は前記第２記憶手段に出力される、ことを特徴とする演算処理装置。
（付記５）
（付記３）記載の演算処理装置であって、
前記ユーザテーブル手段に記憶されたインデックス情報に対して演算処理を行う演算手段を更に備え、
前記演算手段は演算処理したインデックス情報を前記第２記憶手段に出力する、ことを特徴とする演算処理装置。
（付記６）
（付記５）記載の演算処理装置であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレス情報と、処理するユーザ数を示す情報と、前記演算手段の演算内容を決定する演算モード情報と、を少なくとも含む命令情報が記憶されている、
ことを特徴とする演算処理装置。
（付記７）
（付記１）乃至（付記７）のうちいずれか記載の演算処理装置であって、
前記保持手段に接続されたプログラムカウンタ手段と、
前記実行手段からの指示に応じて演算処理を実行する演算実行手段と、
を更に備え、
前記プログラムカウンタ手段は、次のサイクルで内部に保持したアドレスをインクリメントして前記第１記憶手段に出力する機能と、次のサイクルでも同じアドレスを前記第１記憶手段に出力する機能と、前記演算実行手段からの出力値をアドレスとして出力する機能と、前記保持手段からの出力値に基づいて生成するアドレスを更新し出力する機能と、を有している、
ことを特徴とする演算処理装置。
（付記８）
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理方法であって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させるステップと、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させるステップと、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力するステップと、
を含む、ことを特徴とする演算処理装置の演算処理方法。
（付記９）
（付記８）記載の演算処理装置の演算処理方法であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、を含む命令情報が記憶されている、
ことを特徴とする演算処理装置の演算処理方法。
（付記１０）
（付記８）又は（付記９）記載の演算処理装置の演算処理方法であって、
ユーザが実行する前記処理内容を指定するためのインデックス情報を記憶するステップと、
前記記憶されたインデックス情報を前記第２記憶手段に出力させるステップと、
前記出力されたインデック情報に対応するアドレスを前記保持手段に出力するステップと、を更に含む
ことを特徴とする演算処理装置の演算処理方法。
（付記１１）
（付記１０）記載の演算処理装置の演算処理方法であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、ユーザ数分全てまとめた単位で処理指定が可能なインデックス情報と、を含む命令情報が記憶されており、
前記演算処理装置は、前記実行手段から出力される制御信号及び前記インデックス情報を記憶する第３記憶手段を更に備えており、
前記記憶されたインデックス情報と、前記第３記憶手段に記憶されたインデックス情報と、に基づいて、新たなインデックス情報を生成するステップと、
前記生成された新たなインデックス情報は前記第２記憶手段に出力されるステップと、を更に含む、ことを特徴とする演算処理装置の演算処理方法。
（付記１２）
（付記１０）記載の演算処理装置の演算処理方法であって、
前記記憶されたインデックス情報に対して演算処理を行うステップと、
前記演算処理したインデックス情報を前記第２記憶手段に出力するステップと、を更に含む、ことを特徴とする演算処理装置の演算処理方法。
（付記１３）
（付記１２）記載の演算処理装置の演算処理方法であって、
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレス情報と、処理するユーザ数を示す情報と、前記演算手段の演算内容を決定する演算モード情報と、を少なくとも含む命令情報が記憶されている、
ことを特徴とする演算処理装置の演算処理方法。
（付記１４）
（付記９）乃至（付記１３）のうちいずれか記載の演算処理装置の演算処理方法であって、
前記演算処理装置は、前記保持手段に接続されたプログラムカウンタ手段と、前記実行手段からの指示に応じて演算処理を実行する演算実行手段と、を更に備え、
前記プログラムカウンタ手段は、次のサイクルで内部に保持したアドレスをインクリメントして前記第１記憶手段に出力する機能と、次のサイクルでも同じアドレスを前記第１記憶手段に出力する機能と、前記演算実行手段からの出力値をアドレスとして出力する機能と、前記保持手段からの出力値に基づいて生成するアドレスを更新し出力する機能と、を有している、
ことを特徴とする演算処理装置の演算処理方法。
（付記１５）
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理プログラムであって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる処理と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる処理と、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力する処理と、
をコンピュータに実行させる、ことを特徴とする演算処理装置の演算処理プログラム。
【産業上の利用可能性】
【００８３】
本発明は、例えば、複数のユーザ若しくはタスクに対し、ユーザ若しくはタスク毎に存在するパラメータを用いて、処理の種類を切替える演算処理装置に利用可能である。【００８４】
この出願は、２０１２年３月３０日に出願された日本出願特願２０１２−０７９３５９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００８５】
１、２、３    演算処理装置
１０、４０、７０    命令メモリ
１１、４１、７１    デコードユニット
１２、４２、７２    レジスタファイル
１３、４３、７３    ＡＬＵ
１４、４４、７４    プログラムカウンタ
１５、４５、７５    ユーザテーブル
１６、４６、７６    ユーザテーブル制御部
１７、４７、７７    ジャンプテーブル
１８、４８、７８    ＦＩＦＯ
４９    ＦＦ
４Ａ    ＣＯＭＢ部
７９    ｔＡＬＵ
【図１】
2013145529.tif 000003
【図２】
2013145529.tif 000004
【図３】
2013145529.tif 000005
【図４】
2013145529.tif 000006
【図５】
2013145529.tif 000007
【図６】
2013145529.tif 000008
【図７】
2013145529.tif 000009
【図８】
2013145529.tif 000010
【図９】
2013145529.tif 000011
【図１０】
2013145529.tif 000012
【図１１】
2013145529.tif 000013
【手続補正書】
【提出日】平成26年9月3日(2014.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる読出手段と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる実行手段と、
を備え、
前記保持手段は、前記アドレスを保持していないとき、前記読出手段により読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記実行手段の前記処理内容の実行終了を待って、保持している前記アドレスを出力する、
ことを特徴とする演算処理装置。
【請求項２】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、を含む命令情報が記憶されている、
ことを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記読出手段は、ユーザが実行する前記処理内容を指定するためのインデックス情報を記憶するユーザテーブル手段と、前記ユーザテーブル手段に記憶されたインデックス情報を前記第２記憶手段に出力させるユーザテーブル制御手段と、を有しており、
前記第２記憶手段は、前記ユーザテーブル手段から出力されたインデック情報に対応するアドレスを前記保持手段に出力する、
ことを特徴とする請求項１又は２記載の演算処理装置。
【請求項４】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレスの情報と、処理するユーザ数を示す情報と、ユーザ数分全てまとめた単位で処理指定が可能なインデックス情報と、を含む命令情報が記憶されており、
前記実行手段から出力される前記ユーザテーブル制御手段を制御するための制御信号及び前記インデックス情報を記憶する第３記憶手段と、
前記ユーザテーブル部に記憶されたインデックス情報と、前記第３記憶手段に記憶されたインデックス情報と、に基づいて、新たなインデックス情報を生成するインデックス生成手段と、を更に備え、
前記インデックス生成手段により生成された新たなインデックス情報は前記第２記憶手段に出力される、ことを特徴とする請求項３記載の演算処理装置。
【請求項５】
前記ユーザテーブル手段に記憶されたインデックス情報に対して演算処理を行う演算手段を更に備え、
前記演算手段は演算処理したインデックス情報を前記第２記憶手段に出力する、ことを特徴とする請求項３記載の演算処理装置。
【請求項６】
前記第１記憶手段には、前記処理内容と対応させて、所望のユーザ数分の処理が終了した後に読み出す命令が格納されているアドレス情報と、処理するユーザ数を示す情報と、前記演算手段の演算内容を決定する演算モード情報と、を少なくとも含む命令情報が記憶されている、
ことを特徴とする請求項５記載の演算処理装置。
【請求項７】
前記保持手段に接続されたプログラムカウンタ手段と、
前記実行手段からの指示に応じて演算処理を実行する演算実行手段と、
を更に備え、
前記プログラムカウンタ手段は、次のサイクルで内部に保持したアドレスをインクリメントして前記第１記憶手段に出力する機能と、次のサイクルでも同じアドレスを前記第１記憶手段に出力する機能と、前記演算実行手段からの出力値をアドレスとして出力する機能と、前記保持手段からの出力値に基づいて生成するアドレスを更新し出力する機能と、を有している、
ことを特徴とする請求項１乃至７のうちいずれか１項記載の演算処理装置。
【請求項８】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理方法であって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させるステップと、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させるステップと、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力するステップと、
を含む、ことを特徴とする演算処理装置の演算処理方法。
【請求項９】
複数の処理内容をアドレスと対応させて記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記複数の処理内容のアドレスを夫々記憶する第２記憶手段と、
前記アドレスを一時的に保持する保持手段と、
を備える演算処理装置の演算処理プログラムが格納された記憶媒体であって、
前記第２記憶手段に記憶された前記アドレスを順次読出し、前記保持手段に出力させる処理と、
前記保持手段から出力された前記アドレスに対応する処理内容を前記第１記憶手段から読み出させ、実行させる処理と、
前記保持手段が、前記アドレスを保持していないとき、前記読み出されたアドレスを一時的に保持して出力し、前記アドレスを保持しているとき、前記処理内容の実行終了を待って、保持している前記アドレスを出力する処理と、
をコンピュータに実行させる、ことを特徴とする演算処理装置の演算処理プログラム。
【国際調査報告】
2013145529.tif 000014
2013145529.tif 000015
2013145529.tif 000016
2013145529.tif 000017