(57)【要約】【課題】  演算を実行した演算結果をキャッシュとは別の演算結果メモリに格納しておくことにより、演算結果の取得を高速にする。【解決手段】  命令処理回路３０からの読み出し要求により、キャッシュ１０は、キャッシュヒット・ミスを判定し、ミスであると、キャッシュミス情報を命令処理回路３０に出力する。命令処理回路３０は、キャッシュミス情報により、外部メモリ５０にフィル要求を出力し、外部メモリ５０は、フィルデータを出力する。キャッシュ１０は、フィルデータを格納する。演算回路４０は、フィルデータに対する演算を実施し、演算結果を出力する。演算結果メモリ２０は、演算結果をキャッシュ１０のセットと対応するセットに格納する。命令処理回路３０は、演算結果読み出し命令により、演算結果メモリ２０から演算結果を読み出す。【選択図】      図１
2006252263.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュへの読み出し要求に対する外部メモリからのフィルデータに１種以上の演算を行い、１種以上の演算結果を出力する演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する演算結果メモリとを有することを特徴とする演算処理回路。
【請求項２】
読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると外部メモリからのフィルデータを格納するキャッシュと、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する演算結果メモリとを有することを特徴とするデータ格納回路。
【請求項３】
命令処理回路と、キャッシュと、演算回路と、演算結果メモリと、外部メモリとを備え、読み出し命令により読み出し要求を出力し、キャッシュミス情報によりフィル要求を出力する前記命令処理回路と、フィル要求に対応するフィルデータを読み出し出力する前記外部メモリと、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると前記命令処理回路にキャッシュミス情報を出力し、前記外部メモリからの前記フィルデータを格納する前記キャッシュと、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する前記演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する前記演算結果メモリとを有することを特徴とする演算処理装置。
【請求項４】
演算結果読み出し要求に対し対応する演算結果を出力する前記演算結果メモリを有することを特徴とする請求項１記載の演算処理回路。
【請求項５】
演算結果読み出し要求を入力すると、ヒット・ミスを判定する前記キャッシュと、演算結果読み出し要求に対し対応する演算結果を出力する前記演算結果メモリとを有することを特徴とする請求項２記載のデータ格納回路。
【請求項６】
演算結果読み出し命令により演算結果読み出し要求を出力し、前記キャッシュからキャッシュヒット情報を入力し、前記演算結果メモリから演算結果読み出し要求に対する演算結果を入力する前記命令処理回路と、演算結果読み出し要求を入力すると、ヒット・ミスを判定し、ヒットであるとキャッシュヒット情報を前記命令処理回路に出力する前記キャッシュと、演算結果読み出し要求に対し対応する演算結果を前記命令処理回路に出力する前記演算結果メモリとを有することを特徴とする請求項３記載の演算処理装置。
【請求項７】
フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする請求項１、または、４記載の演算処理回路。
【請求項８】
フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする請求項２、または、５記載のデータ格納回路。
【請求項９】
フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする請求項３、または、６記載の演算処理装置。
【請求項１０】
前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする請求項１、４、または、７記載の演算処理回路。
【請求項１１】
前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする請求項２、５、または、８記載のデータ格納回路。
【請求項１２】
前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする請求項３、６、または、９記載の演算処理装置。
【請求項１３】
演算回路が、キャッシュへの読み出し要求に対する外部メモリからのフィルデータに１種以上の演算を行い、１種以上の演算結果を出力する手順と、演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とする演算処理方法。
【請求項１４】
キャッシュが、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると外部メモリからのフィルデータを格納する手順と、演算回路が、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する手順と、演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とするデータ格納方法。
【請求項１５】
命令処理回路と、キャッシュと、演算回路と、演算結果メモリと、外部メモリとを備える演算処理装置における演算結果格納読み出し方法であって、前記命令処理回路が、読み出し命令により読み出し要求を出力し、キャッシュミス情報によりフィル要求を出力する手順と、前記外部メモリが、フィル要求に対応するフィルデータを読み出し出力する手順と、前記キャッシュが、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると前記命令処理回路にキャッシュミス情報を出力し、前記外部メモリからの前記フィルデータを格納する手順と、前記演算回路が、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する手順と、前記演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とする演算結果格納読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理回路、データ格納回路、演算処理装置、演算処理方法、データ格納方法、および、演算結果格納読み出し方法に関し、特に、キャッシュ内のデータと対応する演算結果を格納する演算処理回路、データ格納回路、演算処理装置、演算処理方法、データ格納方法に関する。
【背景技術】
【０００２】
キャッシュを備えるプロセッサにおいて、演算結果をキャッシュに格納する技術が、特許文献１に開示されている。この技術では、演算命令を実行することにより、メインメモリ（または、キャッシュ）から読み出した２つのデータ同士の演算を実施し、演算結果をキャッシュに格納する構成をとっている。
【０００３】
【特許文献１】特開平６−２３０９６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の技術の問題点は、演算結果の取得に時間がかかり、性能が低いことである。
【０００５】
その理由は、演算命令の実行により、メインメモリ（または、キャッシュ）からデータを読み出し演算する構成なので、演算命令を実行するまでは、演算結果がどこにも格納されておらず、演算結果を得るのに要する時間がかかるからである。
【０００６】
本発明の目的は、プロセッサよるデータの読み出し命令による外部メモリ（メインメモリ等）からのデータ読み出し時に、演算を実行した演算結果をキャッシュとは別の演算結果メモリに格納しておくことにより、上記問題点を解決する演算処理回路、データ格納回路、演算処理装置、演算処理方法、データ格納方法、および、演算結果格納読み出し方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の演算処理回路は、キャッシュへの読み出し要求に対する外部メモリからのフィルデータに１種以上の演算を行い、１種以上の演算結果を出力する演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する演算結果メモリとを有することを特徴とする。
【０００８】
本発明の第１のデータ格納回路は、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると外部メモリからのフィルデータを格納するキャッシュと、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する演算結果メモリとを有することを特徴とする。
【０００９】
本発明の第１の演算処理装置は、命令処理回路と、キャッシュと、演算回路と、演算結果メモリと、外部メモリとを備え、読み出し命令により読み出し要求を出力し、キャッシュミス情報によりフィル要求を出力する前記命令処理回路と、フィル要求に対応するフィルデータを読み出し出力する前記外部メモリと、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると前記命令処理回路にキャッシュミス情報を出力し、前記外部メモリからの前記フィルデータを格納する前記キャッシュと、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する前記演算回路と、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する前記演算結果メモリとを有することを特徴とする。
【００１０】
本発明の第２の演算処理回路は、前記第１の演算処理回路であって、演算結果読み出し要求に対し対応する演算結果を出力する前記演算結果メモリを有することを特徴とする。
【００１１】
本発明の第２のデータ格納回路は、前記第１のデータ格納回路であって、演算結果読み出し要求を入力すると、ヒット・ミスを判定する前記キャッシュと、演算結果読み出し要求に対し対応する演算結果を出力する前記演算結果メモリとを有することを特徴とする。
【００１２】
本発明の第２の演算処理装置は、前記第１の演算処理装置であって、演算結果読み出し命令により演算結果読み出し要求を出力し、前記キャッシュからキャッシュヒット情報を入力し、前記演算結果メモリから演算結果読み出し要求に対する演算結果を入力する前記命令処理回路と、演算結果読み出し要求を入力すると、ヒット・ミスを判定し、ヒットであるとキャッシュヒット情報を前記命令処理回路に出力する前記キャッシュと、演算結果読み出し要求に対し対応する演算結果を前記命令処理回路に出力する前記演算結果メモリとを有することを特徴とする。
【００１３】
本発明の第３の演算処理回路は、前記第１、または、第２の演算処理回路であって、フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする。
【００１４】
本発明の第３のデータ格納回路は、前記第１、または、第２のデータ格納回路であって、フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする。
【００１５】
本発明の第３の演算処理装置は、前記第１、または、第２の演算処理装置であって、フィルデータに対し一定のビット幅単位のデータに順次演算を実施し、演算結果として出力する前記演算回路を有することを特徴とする。
【００１６】
本発明の第４の演算処理回路は、前記第１、第２、または、第３の演算処理回路であって、前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする。
【００１７】
本発明の第４のデータ格納回路は、前記第１、第２、または、第３のデータ格納回路であって、前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする。
【００１８】
本発明の第４の演算処理装置は、前記第１、第２、または、第３の演算処理装置であって、前記演算結果メモリの各演算結果を格納するビット幅では表現できない演算結果を算出すると表現不可能を示し、表現できる演算結果を算出すると表現可であることを示す表現状況情報を出力する前記演算回路と、前記演算回路からの演算結果と表現状況情報とを対にして格納する前記演算結果メモリとを有することを特徴とする。
【００１９】
本発明の演算処理方法は、演算回路が、キャッシュへの読み出し要求に対する外部メモリからのフィルデータに１種以上の演算を行い、１種以上の演算結果を出力する手順と、演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とする。
【００２０】
本発明のデータ格納方法は、キャッシュが、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると外部メモリからのフィルデータを格納する手順と、演算回路が、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する手順と、演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とする。
【００２１】
本発明の演算結果格納読み出し方法は、命令処理回路と、キャッシュと、演算回路と、演算結果メモリと、外部メモリとを備える演算処理装置における演算結果格納読み出し方法であって、前記命令処理回路が、読み出し命令により読み出し要求を出力し、キャッシュミス情報によりフィル要求を出力する手順と、前記外部メモリが、フィル要求に対応するフィルデータを読み出し出力する手順と、前記キャッシュが、読み出し要求を入力すると、ヒット・ミスを判定し、ミスであると前記命令処理回路にキャッシュミス情報を出力し、前記外部メモリからの前記フィルデータを格納する手順と、前記演算回路が、前記フィルデータに１種以上の演算を行い１種以上の演算結果を出力する手順と、前記演算結果メモリが、前記演算回路からの１以上の演算結果を前記キャッシュのフィルデータが格納されるセットに対応する領域に格納する手順とを含むことを特徴とする。
【発明の効果】
【００２２】
本発明の効果は、演算結果の取得が高速になり性能が向上することである。
【００２３】
その理由は、キャッシュへの読み出し要求に対するフィルデータに演算を行い演算結果をキャッシュのフィルデータが格納されるセットに対応する領域に格納する演算結果メモリを設けるからである。
【発明を実施するための最良の形態】
【００２４】
次に、本発明を実施するための第１の最良の形態について図面を参照して詳細に説明する。
【００２５】
図１は、本発明を実施するための第１の最良の形態の構成を示すブロック図である。
【００２６】
図１を参照すると、本発明の演算処理装置は、キャッシュ１０と、演算結果メモリ２０と、命令処理回路３０と、演算回路４０と、外部メモリ５０とを含む。演算回路４０と演算結果メモリ２０とを総称して演算処理回路６０と称する。また、キャッシュ１０と演算回路４０と演算結果メモリ２０とを称してデータ格納回路７０と称する。キャッシュ１０は、種々の方式（ダイレクトマップ、セットアソシアティブ等）が可能である。以降、２５６セットのダイレクトマップ方式の例について説明する。
【００２７】
キャッシュ１０は、有効フラグアレイ１１と、アドレスアレイ１２と、データアレイ１３とを含む。アドレスアレイ１２は、２５６セットのアドレス（外部メモリ５０のアドレスに対応する）を格納する。データアレイ１３は、アドレスアレイ１２内のアドレスで示される外部メモリ５０内のデータと同一のデータを２５６セット格納する。データアレイ１３に格納されるデータは、１セットにつき１２８バイトである。データアレイ１３の各セットをキャッシュラインと呼ぶ。有効フラグアレイ１１は、アドレスアレイ１２、データアレイ１３の各セットに対応する２５６セットの有効フラグを格納する。有効フラグは、データアレイ１３内の対応するセットのデータが有効であるか無効であるかを示す。
【００２８】
命令処理回路３０（たとえば、プロセッサの一部）は、命令実行が行われる機能部分である。命令処理回路３０において、キャッシュ１０からデータを読み出すための読み出し命令が発行されると、命令処理回路３０は、キャッシュ１０に対してデータの読み出し要求を、読み出しアドレスを含めて出力する。
【００２９】
キャッシュ１０は、有効フラグアレイ１１、アドレスアレイ１２を参照してヒット・ミスを判定する。キャッシュ１０は、判定がヒットであると（読み出しアドレスに対応するデータを含む有効なキャッシュラインがデータアレイ１３に格納されていると）、データアレイ１３から読み出しアドレスに対応するキャッシュラインのデータの一部または全体を命令処理回路３０に出力する。この処理は、一般的なプロセッサに搭載されているキャッシュと同一のものである。
【００３０】
キャッシュ１０は、判定がミスであると（読み出しアドレスに対応するデータを含む有効なキャッシュラインがデータアレイ１３に格納されていないと）、命令処理回路３０に対してミスであることを示すキャッシュミス情報を出力する。
【００３１】
命令処理回路３０は、キャッシュミス情報を入力すると、読み出しアドレスとともに外部メモリ５０にデータのフィル要求を送出する。
【００３２】
外部メモリ５０は、命令処理回路３０を含むプロセッサ等の２次、あるいは、３次キャッシュであってもよいし、外付けキャッシュであっても、実際の実メモリであっても、他のプロセッサの内蔵キャッシュであってもよい。外部メモリ５０は、フィル要求に対応したデータを読み出し、フィルデータとしてキャッシュ１０に出力する。
【００３３】
キャッシュ１０は、アドレスアレイ１２の「ミスした読み出しアドレスを含むキャッシュラインに対応するセット」に読み出しアドレスを格納する。さらに、キャッシュ１０は、有効フラグアレイ１１の「ミスした読み出しアドレスを含むキャッシュラインに対応するセット」の有効フラグを有効にする。キャッシュ１０は、外部メモリ５０からフィル要に対応するフィルデータを入力すると、フィルデータの一部または全体である１２８バイトのデータをデータアレイ１３の対応するセットに格納する。
【００３４】
演算結果メモリ２０は、キャッシュラインのデータの一部または全体に対する演算結果を格納するメモリであり、キャッシュ１０と同じウエイ数を持ち、キャッシュ１０の各セット（キャッシュライン）に対応した領域（たとえば、セット）を備える。ここでは、ウエイ数１、セット数２５６で、かつ、各８バイト（＝６４ビット）の３種類（何種類でもよい）の演算結果データを格納する。すなわち、演算結果メモリ２０は、２５６×８×３バイトの演算結果データを格納する。
【００３５】
また、演算結果メモリ２０の各セットのデータの有効・無効（ヒット・ミス）は、キャッシュ１０の有効フラグアレイ１１の対応する有効フラグにより判断される。
【００３６】
演算回路４０は、フィルデータに対し一定のビット幅単位のデータに順次演算を実施する。たとえば、演算回路４０は、８バイト単位の演算を実施する３種類（何種類でもよい）の演算器を含む。たとえば、各演算器は、それぞれ、累積計算、自乗累積、および、絶対値累積を実施する。また、たとえば、平方根や三角関数等の他の演算であってもよい。また、演算回路４０に複数の演算器を備え、キーボード等からユーザが選択的にそのどの演算器を使用するかを選択する構成も可能である。
【００３７】
次に、本発明を実施するための第１の最良の形態の動作について図面を参照して説明する。
【００３８】
図２は、本発明を実施するための第１の最良の形態の動作を示すフローチャートである。
【００３９】
図２を参照すると、まず、命令処理回路３０が読み出し要求（読み出しアドレスを伴う）を出力する（図２ステップＳ１）。次に、キャッシュ１０は、読み出しアドレスで、ヒット・ミスの判定を行う（ステップＳ２）。キャッシュ１０は、判定がミスであると（Ｓ２／ミス）、命令処理回路３０に、キャッシュミス情報を出力する（ステップＳ３）。次に、キャッシュ１０は、読み出しアドレスをアドレスアレイ１２の対応するセットに格納し、有効フラグアレイ１１の対応する有効フラグを有効にする（ステップＳ４）。
【００４０】
命令処理回路３０は、キャッシュミス情報を入力すると、外部メモリ５０に、フィル要求を出力する（ステップＳ５）。外部メモリ５０は、フィル要求を入力すると、フィルデータを読み出しキャッシュ１０、および、演算回路４０に出力する（ステップＳ６）。
【００４１】
キャッシュ１０は、フィルデータを入力すると、データアレイ１３のステップＳ４においてアドレスアレイ１２に格納した読み出しアドレスに対応するセットにフィルデータを格納する（ステップＳ７）。さらに、キャッシュ１０は、命令処理回路３０に、外部メモリ５０からのフィルデータを出力する（ステップＳ８）。命令処理回路３０は、キャッシュ１０からのフィルデータを入力する（ステップＳ１１）。
【００４２】
演算回路４０は、外部メモリ５０からのフィルデータを入力すると、フィルデータに対する演算を実施し、演算結果を演算結果メモリ２０に出力する（ステップＳ９）。
【００４３】
演算結果メモリ２０は、演算回路４０から演算結果を入力すると、データアレイ１３のステップＳ４においてアドレスアレイ１２に格納した読み出しアドレスに対応する領域（たとえば、セット）に演算結果を格納する（ステップＳ１０）。
【００４４】
次に、命令処理回路３０が、演算結果を取得する場合の動作について説明する。
【００４５】
図３は、本発明を実施するための第１の最良の形態の動作を示すフローチャートである。
【００４６】
図３を参照すると、命令処理回路３０は、キャッシュ１０、および、演算結果メモリ２０に演算結果要求（演算結果読み出しアドレスを伴う）を出力する（図３ステップＳ２１）。キャッシュ１０は、演算結果要求を入力すると、演算結果読み出しアドレスによりヒット・ミスを判定する（ステップＳ２２）。キャッシュ１０は、判定がヒットであると（Ｓ２２／ヒット）、命令処理回路３０に、キャッシュヒット情報を出力する（ステップＳ２３）。また、演算結果メモリ２０は、演算結果要求を入力すると、演算結果読み出しアドレスに対応するセットから演算結果を読み出し命令処理回路３０に出力する（ステップＳ２４）。命令処理回路３０は、キャッシュヒット情報により演算結果メモリ２０からの演算結果を入力する（ステップＳ２５）。
【００４７】
キャッシュ１０は、判定がミスであると（Ｓ２２／ミス）、図２のミスの場合と同様の動作を行う。図２との相違点は、キャッシュ１０がフィルデータを出力する（図２ステップＳ８）のではなく、演算結果メモリ２０が、演算結果を命令処理回路３０に出力することである。この場合、命令処理回路３０は、フィルデータでなく、演算結果を入力する。
【００４８】
また、キャッシュ１０に対する書き込みが行われた場合、キャッシュ１０内のデータアレイ１３の内容と、演算結果メモリ２０内の演算結果とに矛盾が発生する可能性がある。キャッシュ１０に書き込みが行われた場合、演算回路４０が再演算を実施し、再演算結果を演算結果メモリ２０に格納する構成が可能である。
【００４９】
また、その演算結果に無効を示す不整合フラグをつけておき、演算結果要求が出力されると、演算結果メモリ２０が、不整合フラグを命令処理回路３０に出力する構成も可能である。この場合、命令処理回路３０は、不整合フラグを入力すると、キャッシュ１０の該当するセットのデータをフラッシュし（ライトスルーならそのまま、ライトバックならキャッシュラインの書き出しを行ったうえで）、再度、読み出し要求を出力し、キャッシュ１０にフィルデータを格納し、演算結果メモリ２０に演算結果を格納する。その後、命令処理回路３０は、演算結果読み出し要求を出力し、演算結果を入力する。
【００５０】
次に、本発明を実施するための第１の最良の形態の実施例について説明する。
【００５１】
図４は、命令処理回路３０で実行される演算結果読み出し命令の書式を示す説明図である。
【００５２】
命令処理回路３０は、機能拡張されたリード命令、あるいは、演算結果読み出し命令の実行により演算結果メモリ２０から演算結果を読み出す。
【００５３】
図４を参照すると、ＬＤＡＸは、演算結果読み出し命令を示すオペレーションコードである。Ｓｘは、演算結果が格納されるレジスタを示す。Ｓｙは、演算の種類（累積、自乗累積、絶対値累積等の区別）を指定する。Ｓｚは、ベースアドレスを示す。Ｄは、ディスプレースメントアドレスである。
【００５４】
ＬＤＡＸ命令（演算結果読み出し命令）の実行により演算結果要求が出力され、Ｓｘで指定されたレジスタに、Ｓｙで指定された演算結果が書き込まれる。その演算結果は、ＳｚとＤとの和で表されるアドレスを含むキャッシュラインすなわち演算結果メモリ２０（セット）に対するものである。たとえば、ＬＤＡＸ，１４，２，１００，２０という命令は、「演算結果メモリ２０から、１００＋２０＝１２０番地で指定されるセット内の演算結果の内、絶対値累積の部分を読み出し、レジスタ１４に書き込むという動作」を指定する。絶対値累積を選択するためには、たとえば、演算結果メモリ２０からの複数種の演算結果のうちＬＤＡＸ命令により指定された演算結果を選択する選択回路（図示せず）を設ければよい。たとえば、命令処理回路３０がこの選択回路への選択信号を出力する構成が可能である。
【００５５】
次に、演算回路４０の実施例に関して説明する。
【００５６】
外部メモリ５０から１２８バイトのフィルデータが出力されると、演算回路４０は、そのフィルデータの一部または全体を８バイトずつ演算する。たとえば、自乗累積を実施する場合、フィルデータの各８バイトのデータに対して自乗を行い、フィルデータ返送終了までそれらの値を加算し８バイトの演算結果を出力する。たとえば、１キャッシュラインに対するフィルデータの各８バイトが、“１”，“２”，“３”，“４”，“５”，“６”，“７”，“８”，“９”，“−１”，“０”，“０”，・・・，“０”であると、演算回路４０は、累積（１＋２＋３＋４＋５＋６＋７＋８＋９−１＋０＋・・・＋０）、自乗累積（１×１＋２×２＋・・・＋０×０）、絶対値累積（１＋２＋３＋４＋５＋６＋７＋８＋９＋｜−１｜＋０＋・・・＋０）であるそれぞれの演算結果“４４”，“１８６”，“４６”を出力する。
【００５７】
以上のように、本発明を実施するための第１の最良の形態は、キャッシュ１０にフィルデータを格納する時点で、演算結果メモリ２０に各種演算結果を格納するので、性能が向上するという効果を持つ。
【００５８】
次に、本発明を実施するための第２の最良の形態について図面を参照して詳細に説明する。
【００５９】
本発明を実施するための第２の最良の形態は、演算回路４０は、演算結果が演算結果メモリ２０の各演算結果のビット数では、表現できない値（たとえば、オーバーフロー、アンダーフロー）であるのか、表現できる値であるのかを示す表現状況情報（たとえば、表現不可の場合“１”、表現可の場合“０”）を演算結果メモリ２０に出力する。演算結果メモリ２０は、各演算結果、および、演算結果に対応する表現状況情報を格納する。しかがって、本発明を実施するための第２の最良の形態では、命令処理回路３０が、演算結果、および、演算結果に対応する表現状況情報を入力することで、演算結果の状況を認識できるという効果を持つ。
【００６０】
図５は、演算結果メモリ２０の書式の１例を示す説明図である。
【００６１】
図５を参照すると、演算結果メモリ２０の各セットは、演算結果と、その演算結果に対応する表現状況情報を格納する。
【図面の簡単な説明】
【００６２】
【図１】本発明を実施するための第１の最良の形態の構成を示すブロック図。
【図２】本発明を実施するための第１の最良の形態の動作を示すフローチャート。
【図３】本発明を実施するための第１の最良の形態の動作を示すフローチャート。
【図４】命令処理回路で実行される演算結果読み出し命令の書式を示す説明図。
【図５】演算結果メモリの書式の１例を示す説明図。
【符号の説明】
【００６３】
１０    キャッシュ
１１    有効フラグアレイ
１２    アドレスアレイ
１３    データアレイ
２０    演算結果メモリ
３０    命令処理回路
４０    演算回路
５０    外部メモリ
６０    演算処理回路
７０    データ格納回路
【図１】
2006252263.tif 000003
【図２】
2006252263.tif 000004
【図３】
2006252263.tif 000005
【図４】
2006252263.tif 000006
【図５】
2006252263.tif 000007