共通の指数を持つ、複数の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが複数サイクルのそれぞれにおいて入力され、前記複数サイクルのそれぞれの前記複数のデータに対する最大指数に基づいて、当該サイクルの複数のデータを当該複数のデータに共通の指数で正規化する第1の正規化を行う第1の正規化手段と、前記第1の正規化が行われた前記複数のデータのそれぞれのビット幅を削減した複数の丸めデータを出力する丸め手段と、前記複数サイクル分の前記第1の正規化が行われた前記複数の丸めデータを保持し、保持されている前記複数の丸めデータの内、複数の指定された前記丸めデータを出力する第1の記憶手段と、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数と、当該最大指数の前記複数の指定された前記丸めデータについての最大値とに基づいて、前記複数の指定された前記丸めデータを当該複数の指定された前記丸めデータに共通の指数で正規化する第2の正規化を行い、出力する第2の正規化手段と、を含む演算処理装置。前記第2の正規化手段は、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数を、当該最大指数の前記複数の指定された丸めデータについての最大値から減じた補正指数を算出し、当該補正指数に基づいて、前記複数の指定された前記丸めデータのそれぞれを正規化する、請求項1に記載の演算処理装置。前記第1の正規化手段は、第1の正規化フェーズにおいてnnは、2以上の整数個の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータがmmは、2以上の整数サイクルのそれぞれにおいて入力され、前記n個のデータに対する最大指数に基づいて、前記n個のデータをサイクルごとに正規化し、前記丸め手段は、前記第1の正規化手段により正規化された前記n個のデータのそれぞれのビット幅を削減したn個の丸めデータをサイクルごとに出力し、前記第1の記憶手段は、前記第1の正規化フェーズにおいて、前記mサイクル分のm×n個の前記丸めデータを保持し、前記第1の正規化フェーズ後の第2の正規化フェーズにおいて、保持されている前記丸めデータから選択したn個の指定された前記丸めデータをサイクルごとに出力し、前記第2の正規化手段は、前記第2の正規化フェーズにおいて、前記mサイクル分のm個の前記最大指数からn個を選択し、前記n個の前記最大指数の最大値から前記n個の前記最大指数のそれぞれを減じたn個の補正指数を算出し、前記n個の補正指数に基づいて前記n個の指定された前記丸めデータのそれぞれをサイクルごとに正規化し、前記第2の正規化手段で正規化されるkkは、1以上n以下の整数番目の前記丸めデータが生成されたサイクルと、当該k番目の前記丸めデータを第2の正規化手段で正規化する際に用いた前記補正指数の算出に用いた前記最大指数に対応するサイクルと、が同じである、請求項2に記載の演算処理装置。前記第2の正規化手段は、前記第1の正規化フェーズにおいて、前記m個の前記最大指数のそれぞれを、外部からの指数書き込みアドレスで指定されたアドレスに保持し、前記第2の正規化フェーズにおいて、外部からの指数読み出しアドレスで指定されたn個のアドレスに保持されているn個の前記最大指数をサイクルごとに出力する第2の記憶手段と、前記第2の記憶手段から出力される前記n個の前記最大指数の最大値を検出し、前記最大値から前記n個の前記最大指数のそれぞれを減じたn個の前記補正指数をサイクルごとに算出する第1の算出手段と、を含む、請求項3に記載の演算処理装置。前記第1の記憶手段は、前記第1の正規化フェーズにおいて、前記m×n個の前記丸めデータのそれぞれを外部からの書き込みアドレスで指定されたアドレスに保持し、前記第2の正規化フェーズにおいて、外部からの読み出しアドレスで指定されたアドレスに保持されている前記丸めデータをサイクルごとにn個ずつ出力する、請求項3又は4に記載の演算処理装置。前記第2の正規化手段は、前記n個の補正指数に基づいてn個の指定された前記丸めデータのそれぞれのビットをサイクルごとにシフトさせるn個の第1のシフト手段を更に含む、請求項3乃至5のいずれか一項に記載の演算処理装置。前記第1の正規化手段は、受け取った前記n個のデータのそれぞれを正規化するためのn個の指数をサイクルごとに算出し、前記n個の指数の最大値を前記最大指数として出力する第2の算出手段と、前記最大指数に基づいて前記n個のデータのそれぞれのビットをサイクルごとにシフトさせるn個の第2のシフト手段と、を含む、請求項3乃至6のいずれか一項に記載の演算処理装置。前記丸め手段は、前記第1の正規化手段で正規化された前記n個のデータのそれぞれのビット幅をサイクルごとに削減するn個の丸め手段を含む、請求項3乃至7のいずれか一項に記載の演算処理装置。共通の指数を持つ、複数の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが複数サイクルのそれぞれにおいて入力され、前記複数サイクルのそれぞれの前記複数のデータに対する最大指数に基づいて、当該サイクルの複数のデータを当該複数のデータに共通の指数で正規化する第1の正規化を行い、前記第1の正規化が行われた前記複数のデータのそれぞれのビット幅を削減した複数の丸めデータを出力し、前記複数サイクル分の前記第1の正規化が行われた前記複数の丸めデータを保持し、保持されている前記複数の丸めデータの内、複数の指定された前記丸めデータを出力し、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数と、当該最大指数の前記複数の指定された前記丸めデータについての最大値とに基づいて、前記複数の指定された前記丸めデータを当該複数の指定された前記丸めデータに共通の指数で正規化する第2の正規化を行い、出力する演算処理方法。前記第2の正規化を行う場合、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数を、当該最大指数の前記複数の指定された丸めデータについての最大値から減じた補正指数を算出し、当該補正指数に基づいて、前記複数の指定された前記丸めデータのそれぞれを正規化する請求項9に記載の演算処理方法。以下に、通常のブロック浮動小数点の正規化処理の具体例を説明する。図5は、ブロック浮動小数点の正規化処理を行う通常の演算処理装置200の構成を示すブロック図である。演算処理装置200は、第1の演算回路201、正規化回路202、データメモリ回路203、丸め回路241~243及び第2の演算回路204を有する。第1の演算回路201は、受け取った3つの入力データに対して演算を行い、演算結果をそれぞれデータD211~D213として出力する。第1の演算回路201には、1つのブロックを構成する異なる入力データが順次入力される。例えば、図5においては、第1の演算回路201は、ブロックを構成する9個の入力データを受け取る。この場合、第1の演算回路201は、3つの入力データを、3つのサイクルに分けて受けとる。そして、第1の演算回路201は、受け取った入力データに対して演算を行い、演算結果であるデータD211~D213を3サイクルに分けて出力する。入力データは、例えば、外部装置図示せずから第1の演算回路201に順次出力される。正規化回路202は、最大指数算出回路210及びシフト回路221~223を有する。最大指数算出回路210は、第1の演算回路201から順次出力される、ブロックを構成するデータD211~D213を受け取り、1つのブロックに属するデータD211~D213の最大指数Imaxを算出する。すなわち、第1の演算回路201からブロックを受け取るごとに、最大指数Imaxの算出動作を行う。そして、最大指数算出回路210は、算出した最大指数Imaxを出力する。データメモリ回路203は、第1の演算回路201からデータD211~D213を受け取り、最大指数算出回路210がブロックに属するデータD211~D213の最大指数Imaxを算出している間、同じブロックに属するデータD211~D213を保持する。すなわち、データメモリ回路203は、データD211~D213をブロック単位で保持する。具体的には、データメモリ回路203は、外部から受け取る書き込みアドレスAw21~Aw23に対応するアドレスに、データD211~D213のそれぞれを格納して保持する。そして、データメモリ回路203は、最大指数算出回路210が最大指数Imaxの算出を完了した後、保持しているデータD211~D213を、データD221~D223として出力する。このとき、データメモリ回路203は、データD211~D213の順番を並べ替えて、データD221~D223として出力することが可能である。具体的には、データメモリ回路203は、外部から受け取る読み出しアドレスAr21~Ar23に対応するアドレスに保持しているデータを、それぞれデータD221~D223として出力する。データメモリ回路203に入力する書き込みアドレスAw21~Aw23及び読み出しアドレスAr21~Ar23は、例えば、外部装置図示せずからデータメモリ回路203に順次出力される。正規化回路202のシフト回路221~223は、データメモリ回路203からデータD221~D223を受け取る。そして、シフト回路221~223は、最大指数算出回路210が算出した最大指数Imaxに基づいて、D221~D223のそれぞれをシフトさせる。これにより、データD221~D223は正規化処理がなされる。シフト回路221~223は、正規化処理後のデータを、データD231~D233として出力する。丸め回路241~243のそれぞれは、シフト回路221~223からデータD231~D233を受け取る。そして、丸め回路241~243は、データD231~D233のそれぞれに対して丸め処理を行い、データのビット幅が削減されたデータD241~D243を出力する。第2の演算回路204は、丸め回路241~243からデータD241~D243を受け取る。そして、第2の演算回路204は、データD241~D243のそれぞれに対して演算を行い、演算結果を出力データとして外部装置不図示へ出力する。以上より、演算処理装置200は、丸め回路241~243の丸め処理により、データのビット幅を削減するので、第1の演算回路201が出力するデータD211~D213のビット幅よりも、第2の演算回路が受け取るデータD241~D243のビット幅を小さくすることができる。続いて、演算処理装置200の動作について詳述する。図6は、演算処理装置200の動作を示すタイミングチャートである。以下では、演算処理装置200の処理対象となるブロックは、12ビットのデータであるデータD1~D9により構成される。また、データD1~D9の値は、2の補数表現で示される。なお、データのビット列において、最も左のビットがMSBMostSignificantBitであり、最も右のビットがLSBLeastSignificantBitである。MSBは、符号ビットを示す。演算処理装置200の動作は、サイクルC1~C6からなる。また、演算処理装置200の動作は、サイクルC1~C3とサイクルC4~C6とに大別される。以下では、まず、サイクルC1~C3について説明する。サイクルの進行は、例えばクロック信号CLKを用いて制御される。第1の演算回路201は、サイクルC1において、3つの入力データに対して演算を行い、その結果をそれぞれデータD211~D213として出力する。このとき出力されるデータD211~D213を、それぞれデータD1~D3と表記する。次いで、第1の演算回路201は、サイクルC2において、3つの入力データに対して演算を行い、その結果をそれぞれデータD211~D213として出力する。このとき出力されるデータD211~D213を、それぞれデータD4~D6と表記する。次いで、第1の演算回路201は、サイクルC3において、3つの入力データに対して演算を行い、その結果をそれぞれデータD211~D213として出力する。このとき出力されるデータD211~D213を、それぞれデータD7~D9と表記する。以下に、データD1~D9を例示する。データD1サイクルC1、データD211:000101110111データD2サイクルC1、データD212:001100010001データD3サイクルC1、データD213:000001101100データD4サイクルC2、データD211:111100111000データD5サイクルC2、データD212:111110000000データD6サイクルC2、データD213:000000100101データD7サイクルC3、データD211:000010111110データD8サイクルC3、データD212:000011010001データD9サイクルC3、データD213:000010111001最大指数算出回路210は、ブロックを構成するデータD1~D9を逐次受けとる。そして、最大指数算出回路210は、データD1~D9の最大指数を算出する。具体的には、最大指数算出回路210は、データD1~D9のそれぞれの絶対値を算出する。以下に、データD1~D9のそれぞれの絶対値ABS1~ABS9を示す。絶対値ABS1データD1の絶対値:000101110111絶対値ABS2データD2の絶対値:001100010001絶対値ABS3データD3の絶対値:000001101100絶対値ABS4データD4の絶対値:000011001000絶対値ABS5データD5の絶対値:000010000000絶対値ABS6データD6の絶対値:000000100101絶対値ABS7データD7の絶対値:000010111110絶対値ABS8データD8の絶対値:000011010001絶対値ABS9データD9の絶対値:000010111001次に、最大指数算出回路210は、絶対値ABS1~ABS9の論理和ADDを算出する。以下に、絶対値ABS1~ABS9の論理和を示す。論理和ADD絶対値ABS1~ABS9の論理和:001111111111次に、最大指数算出回路210は、論理和ADDのMSBMostSignificantBit側から見て最初にビットの値が1となるビット位置を検出する。この例では、論理和ADDのMSB側から見て最初にビットの値が1となる、9ビット目を検出するここで、MSBを11ビット目、LSBLeastSignificantBitを0ビット目とする。ここで、データD1~D9を共通の指数で正規化するために、データD1~D9を同一のシフト量で左にビットシフトする場合について検討する。この場合、シフト量が1ビットであれば、データD1~D9の符号はいずれも変化せずに、正規化後の値が正しく表現される。したがって、この場合の最大指数Imaxは-1である。サイクルC1~C3の間、すなわち最大指数算出回路210がデータD1~D9の最大指数Imaxを算出している間、データメモリ回路203は、データD1~D9を受け取って保持する。そして、最大指数算出回路210が最大指数Imaxの算出を完了した後のサイクルC4~C6で、データメモリ回路203は、保持していたデータD1~D9を、データD221~D223として出力する。このとき、データメモリ回路203は、第2の演算回路204が行う演算に供するため、データD221~D223を、例えば以下の要領で出力する。サイクルC1において、データメモリ回路203は、書き込みアドレスAw21~Aw23により指定されたアドレスA1~A3に、データD1~D3のそれぞれを格納する。また、サイクルC2において、データメモリ回路203は、書き込みアドレスAw21~Aw23により指定されたアドレスA4~A6に、データD4~D6のそれぞれを格納する。また、サイクルC3において、データメモリ回路203は、書き込みアドレスAw21~Aw23により指定されたアドレスA7~A9に、データD7~D9のそれぞれを格納する。続いて、サイクルC4~C6について説明する。サイクルC4~C6では、最大指数算出回路210は、算出した最大指数Imaxである-1を、シフト回路221~223に出力する。サイクルC4において、データメモリ回路203は、読み出しアドレスAr21により指定されたアドレスA1に保持しているデータD1を、データD221として出力する。また、データメモリ回路203は、読み出しアドレスAr22により指定されたアドレスA3に保持しているデータD3を、データD222として出力する。さらに、データメモリ回路203は、読み出しアドレスAr23により指定されたアドレスA5に保持しているデータD5を、データD223として出力する。サイクルC5において、データメモリ回路203は、読み出しアドレスAr21により指定されたアドレスA2に保持しているデータD2を、データD221として出力する。また、データメモリ回路203は、読み出しアドレスAr22により指定されたアドレスA4に保持しているデータD4を、データD222として出力する。さらに、データメモリ回路203は、読み出しアドレスAr23により指定されたアドレスA7に保持しているデータD7を、データD223として出力する。サイクルC6において、データメモリ回路203は、読み出しアドレスAr21により指定されたアドレスA6に保持しているデータD6を、データD221として出力する。また、データメモリ回路203は、読み出しアドレスAr22により指定されたアドレスA8に保持しているデータD8を、データD222として出力する。さらに、データメモリ回路203は、読み出しアドレスAr23により指定されたアドレスA9に保持しているデータD9を、データD223として出力する。シフト回路221~223のそれぞれは、最大指数Imaxの値-1に基づいて、データD221~D223として出力されるデータD1~D9をシフトして、正規化処理を行う。シフト回路221~223は、正規化処理によりデータD1~D9から生成された正規化データND1~ND9を出力する。具体的には、サイクルC4において、シフト回路221~223のそれぞれは、データD221~D223として出力されたデータD1、D3及びD5を、最大指数Imaxの値-1に基づいてシフトする。これにより、正規化データND1、ND3及びND5が生成される。正規化データND1、ND3及びND5は、それぞれデータD231~D233として出力される。サイクルC5において、シフト回路221~223のそれぞれは、データD221~D223として出力されたデータD2、D4及びD7を、最大指数Imaxの値-1に基づいてシフトする。これにより、正規化データND2、ND4及びND7が生成される。正規化データND2、ND4及びND7は、それぞれデータD231~D233として出力される。サイクルC6において、シフト回路221~223のそれぞれは、データD221~D223として出力されたデータD6、D8及びD9を、最大指数Imaxの値-1に基づいてシフトする。これにより、正規化データND6、ND8及びND9が生成される。正規化データND6、ND8及びND9は、それぞれデータD231~D233として出力される。以下に、正規化データND1~ND9を示す。サイクルC4正規化データND1:001011101110正規化データND3:000011011000正規化データND5:111100000000サイクルC5正規化データND2:011000100010正規化データND4:111001110000正規化データND7:000101111100サイクルC6正規化データND6:000001001010正規化データND8:000110100010正規化データND9:000101110010丸め回路241~243のそれぞれは、サイクルC4~C6において、データD241~D243として出力される正規化データND1~ND9に対して、丸め処理を行う。これにより、正規化データND1~ND9のビット幅を6ビットに削減した丸めデータRD1~RD9を生成する。具体的には、サイクルC4において、丸め回路241~243のそれぞれは、データD231~D233として出力された正規化データND1、ND3及びND5を丸め、丸めデータRD1、RD3及びRD5を生成する。丸めデータRD1、RD3及びRD5は、それぞれデータD241~D243として出力される。サイクルC5において、丸め回路241~243のそれぞれは、データD231~D233として出力された正規化データND2、ND4及びND7を丸め、丸めデータRD2、RD4及びRD7を生成する。丸めデータRD2、RD4及びRD7は、それぞれデータD241~D243として出力される。サイクルC6において、丸め回路241~243のそれぞれは、データD231~D233として出力された正規化データND6、ND8及びND9を丸め、丸めデータRD6、RD8及びRD9を生成する。丸めデータRD6、RD8及びRD9は、それぞれデータD241~D243として出力される。以下に、丸めデータRD1~RD9を示す。サイクルC4丸めデータRD1:001011丸めデータRD3:000011丸めデータRD5:111100サイクルC5丸めデータRD2:011000丸めデータRD4:111001丸めデータRD7:000101サイクルC6丸めデータRD6:000001丸めデータRD8:000110丸めデータRD9:000101第2の演算回路204は、シフト回路221~223のそれぞれが出力するデータD241~D243に対して演算を行い、その結果をそれぞれ出力する。具体的には、サイクルC4において、第2の演算回路204は、丸めデータRD1、RD3及びRD5に対して演算を行い、その結果をそれぞれ出力する。サイクルC5において、第2の演算回路204は、丸めデータRD2、RD4及びRD7に対して演算を行い、その結果をそれぞれ出力する。サイクルC6において、第2の演算回路204は、丸めデータRD6、RD8及びRD9に対して演算を行い、その結果をそれぞれ出力する。上述したように、演算処理装置200は、丸め回路241~243が丸め処理を行う前に、正規化回路202が正規化処理を行う。そのため、冗長ではない有効なビットを保存したまま、丸め処理によりビット幅を削減することができる。よって、固定小数点のままで丸め処理を行う場合に比べて、演算精度を高くすることができる。また、演算処理装置200は、丸め回路241~243が丸め処理を行うことにより、データのビット幅を削減する。そのため、第1の演算回路201が出力するデータのビット幅よりも、第2の演算回路204が受け取るデータのビット幅を小さくすることができる。すなわち、第2の演算回路204が演算するデータのビット幅を小さくすることができる。従って、第2の演算回路204の回路規模や消費電力を小さくすることができる。ところが、演算処理装置200では、最大指数を算出するために、正規化処理及び丸め処理を行う前のブロック内の全データを、データメモリ回路203に保持する必要がある。そのため、データメモリ回路203に必要とされるメモリ容量が大きくなる。その結果、回路規模が大きくなってしまうという問題がある。また、演算処理装置200では、ブロック内の全データを共通の指数によって正規化する。そのため、データ処理のデータ数が大きくなると、各データの値の範囲ダイナミックレンジが広い場合に、精度が劣化してしまうという問題がある。本発明は上記の事情を鑑みて成されたものであり、本発明の目的は、ブロック浮動小数点処理を高精度に行うことができる、小回路規模の演算処理装置及び演算処理方法を提供することである。本発明の一態様である演算処理装置は、共通の指数を持つ、複数の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが複数サイクルのそれぞれにおいて入力され、前記複数サイクルのそれぞれの前記複数のデータに対する最大指数に基づいて、当該サイクルの複数のデータを当該複数のデータに共通の指数で正規化する第1の正規化を行う第1の正規化手段と、前記第1の正規化が行われた前記複数のデータのそれぞれのビット幅を削減した複数の丸めデータを出力する丸め手段と、前記複数サイクル分の前記第1の正規化が行われた前記複数の丸めデータを保持し、保持されている前記複数の丸めデータの内、複数の指定された前記丸めデータを出力する第1の記憶手段と、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数と、当該最大指数の前記複数の指定された前記丸めデータについての最大値とに基づいて、前記複数の指定された前記丸めデータを当該複数の指定された前記丸めデータに共通の指数で正規化する第2の正規化を行い、出力する第2の正規化手段と、を含む。本発明の一態様である演算処理方法は、共通の指数を持つ、複数の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが複数サイクルのそれぞれにおいて入力され、前記複数サイクルのそれぞれの前記複数のデータに対する最大指数に基づいて、当該サイクルの複数のデータを当該複数のデータに共通の指数で正規化する第1の正規化を行い、前記第1の正規化が行われた前記複数のデータのそれぞれのビット幅を削減した複数の丸めデータを出力し、前記複数サイクル分の前記第1の正規化が行われた前記複数の丸めデータを保持し、保持されている前記複数の丸めデータの内、複数の指定された前記丸めデータを出力し、前記複数の指定された前記丸めデータのそれぞれについて、前記第1の正規化で用いられた前記最大指数と、当該最大指数の前記複数の指定された前記丸めデータについての最大値とに基づいて、前記複数の指定された前記丸めデータを当該複数の指定された前記丸めデータに共通の指数で正規化する第2の正規化を行い、出力する。本発明によれば、ブロック浮動小数点処理を高精度に行うことができる、小回路規模の演算処理装置及び演算処理方法を提供することができる。以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。実施の形態1まず、本発明の実施の形態1にかかる演算処理装置100について説明する。図1は、実施の形態1にかかる演算処理装置100の構成を示すブロック図である。演算処理装置100は、第1の正規化回路120、丸め回路130、データメモリ回路140、第2の正規化回路150を有する。なお、第1の正規化回路120及び第2の正規化回路150は、それぞれ第1及び第2の正規化手段に相当する。丸め回路130は、丸め手段に相当する。データメモリ回路140は、第1の記憶手段に相当する。演算処理装置100には、複数のデータからなるブロックを構成する固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが、第1の演算回路110を介して複数入力される。換言すれば、演算処理装置100には、1サイクルあたりnnは、2以上の整数個のデータがmmは、2以上の整数サイクル入力される。この場合、1つのブロックを構成するデータ数は、m×n個となる。以下では、説明の簡略化のため、演算処理装置100には、3つのデータが3サイクル入力される場合について説明する。この場合、第1の演算回路110には、1つのブロックを構成する異なる入力データが3つずつ順次入力される。そして、第1の演算回路110は、受け取った3つの入力データに対して演算を行い、演算結果をそれぞれデータD111~D113として出力する。入力データは、例えば、外部装置図示せずから第1の演算回路110に順次出力される。例えば、図1においては、第1の演算回路110は、ブロックを構成する9個の入力データを受け取る。この場合、第1の演算回路110は、3つの入力データを、3つのサイクルに分けて受け取る。そして、第1の演算回路110は、受け取った入力データに対して演算を行い、演算結果であるデータD111~D113を3サイクル出力する。演算処理装置100は、入力されたブロックを構成するデータに対して所定の処理を行い、第2の演算回路160へ処理後のデータD151~153を出力する。第2の演算回路160は、データD151~D153のそれぞれに対して演算を行い、演算結果を外部装置不図示へ出力する。図2は、演算処理装置100の構成を更に詳細に表示した図である。図2に示すように、第1の正規化回路120は、シフト回路SC11~SC13及び最大指数算出回路121を有する。図1では、簡略化のため、シフト回路をSCと表示している。なお、シフト回路SC11~SC13は、それぞれ第2のシフト手段に相当する。最大指数算出回路121は、第2の算出回路に相当する。最大指数算出回路121は、データD111~D113を受け取り、データD111~D113の最大指数Imaxをサイクルごとに算出する。そして、最大指数算出回路121は、算出した最大指数Imaxを、サイクルごとに出力する。シフト回路SC11~SC13は、最大指数算出回路121がサイクルごとに算出した最大指数Imaxに基づいて、データD111~D113のビットをシフトすることにより、第1の正規化処理を行う。第1の正規化処理が行われたデータD121~D123は、それぞれ丸め回路131~133へ出力される。図1では、簡略化のため、丸め回路をRCと表示している。丸め回路130は、丸め回路131~133を有する。なお、丸め回路131~133は、それぞれ第1~第3の丸め手段に相当する。丸め回路131~133は、データD121~D123に対して丸め処理を行うことにより、データのビット幅が削減された丸めデータD131~D133を生成する。丸めデータD131~D133は、データメモリ回路140へ出力される。データメモリ回路140は、丸めデータD131~D133をブロックの単位で保持する。すなわち、データメモリ回路140は、データD131~D133をブロックの単位で保持する。具体的には、データメモリ回路140は、外部から受け取る書き込みアドレスAw1~Aw3に対応するアドレスに、データD131~D133のそれぞれを格納して保持する。また、データメモリ回路140は、ブロックの単位で保持したデータを、データD141~D143として出力する。このとき、データメモリ回路140は、データD131~D133の順番を並べ替えて、データD141~D143として出力することが可能である。具体的には、データメモリ回路203は、外部から受け取る読み出しアドレスAr1~Ar3に対応するアドレスに保持しているデータを、それぞれデータD141~D143として出力する。データメモリ回路140が受け取る書き込みアドレスAw1~Aw3及び読み出しアドレスAr1~Ar3は、例えば、外部装置図示せずからデータメモリ回路140に順次出力される。第2の正規化回路150は、指数メモリ回路151、補正指数算出回路152及びシフト回路SC21~SC23を有する。なお、指数メモリ回路151は、第2の記憶手段に相当する。補正指数算出回路152は、第1の算出手段に相当する。シフト回路SC21~SC23は、それぞれ第1のシフト手段に相当する。指数メモリ回路151は、最大指数算出回路121がサイクルごとに出力する最大指数Imaxを、外部から指定されたアドレスに保持する。また、指数メモリ回路151は、外部から指定されたアドレスに保持されている最大指数Imaxを、指数データID1~ID3として出力する。補正指数算出回路152は、指数データID1~ID3に基づいて、補正指数CI1~CI3を算出する。算出された補正指数CI1~CI3は、それぞれシフト回路SC21~SC23へ出力される。シフト回路SC21~SC23は、データメモリ回路140からデータD141~D143を受け取る。そして、シフト回路SC21~SC23は、補正指数CI1~CI3に基づいて、D141~D143のそれぞれをシフトさせる。これにより、データD141~D143は第2の正規化処理がなされる。シフト回路SC21~SC23は、第2の正規化処理後のデータD151~D153を出力する。続いて、演算処理装置100の動作について詳述する。演算処理装置100の動作は、サイクルC1~C6からなる。また、演算処理装置100の動作は、サイクルC1~C3とサイクルC4~C6とに大別される。以下では、演算処理装置100の動作を鑑み、サイクルC1~C3を第1の正規化フェーズP1、サイクルC4~C6を第2の正規化フェーズP2として説明する。サイクルの進行は、例えばクロック信号CLKを用いて制御される。まず、第1の正規化フェーズP1サイクルC1~C3における演算処理装置100の動作について説明する。図3は、実施の形態1にかかる演算処理装置100の第1の正規化フェーズP1サイクルC1~C3における動作を示すタイミングチャートである。本実施の形態において、第1の演算回路110は、ブロック浮動小数点の正規化処理の対象となるブロックとして、12ビットのデータであるデータD1~D9を出力する。また、以下では、データD1~D9の値を2の補数表現で示す。以降に示すデータのビット列では、最も左のビットがMSBMostSignificantBitであり、最も右のビットがLSBLeastSignificantBitである。なお、MSBは、符号ビットである。以下に、データD1~D9を示す。データD1:000101110111データD2:001100010001データD3:000001101100データD4:111100111000データD5:111110000000データD6:000000100101データD7:000010111110データD8:000011010001データD9:000010111001第1の演算回路110は、サイクルC1において、入力されるデータに演算を行い、その演算結果であるデータD1~D3を、それぞれデータD111~D113として出力する。同様に、第1の演算回路110は、サイクルC2において、入力されるデータに演算を行い、その演算結果であるデータD4~D6を、それぞれデータD111~D113として出力する。第1の演算回路110は、サイクルC3において、入力されるデータに演算を行い、その演算結果であるデータD7~D9を、それぞれデータD111~D113として出力する。最大指数算出回路121は、サイクルC1~C3において、データD111~D113をサイクルごとに受け取る。最大指数算出回路121は、サイクルごとのデータD111~D113の最大指数Imaxを算出する。具体的には、最大指数算出回路121は、ブロック内のデータD1~D9の絶対値をサイクルごとに算出する。以下に、データD1~D9の絶対値ABS1からABS9を示す。サイクルC1絶対値ABS1データD1の絶対値:000101110111絶対値ABS2データD2の絶対値:001100010001絶対値ABS3データD3の絶対値:000001101100サイクルC2絶対値ABS4データD4の絶対値:000011001000絶対値ABS5データD5の絶対値:000010000000絶対値ABS6データD6の絶対値:000000100101サイクルC3絶対値ABS7データD7の絶対値:000010111110絶対値ABS8データD8の絶対値:000011010001絶対値ABS9データD9の絶対値:000010111001続いて、算出した絶対値ABS1~ABS9の論理和ADD1~3を、サイクルごとに算出する。以下に、絶対値ABS1~ABS3、絶対値ABS4~ABS6及び絶対値ABS7~ABS9のそれぞれの論理和ADD1~3を示す。サイクルC1論理和ADD1絶対値ABS1~ABS3の論理和:001101111111サイクルC2論理和ADD2絶対値ABS4~ABS6の論理和:000011101101サイクルC3論理和ADD3絶対値ABS7~ABS9の論理和:000011111101続いて、それぞれのサイクルにおいて、論理和のMSBMostSignificantBit側から見て最初にビットの値が1となるビット位置を検出する。以下では、MSBを11ビット目、LSBLeastSignificantBitを0ビット目として説明する。まず、サイクルC1では、MSB側から見て最初にビットの値が1となるビット位置として、9ビット目を検出する。ここで、サイクルC1のデータD1~D3を共通の指数で正規化するために、データD1~D3を同一のシフト量で左にビットシフトする場合について検討する。この場合、シフト量が1ビットであれば、データD1~D3の符号はいずれも変化せずに、正規化後の値が正しく表現される。したがって、サイクルC1の最大指数Imax1は-1である。最大指数算出回路121は、サイクルC1において、算出した最大指数Imax1である-1を出力する。同様に、サイクルC2では、MSB側から見て最初にビットの値が1となるビット位置として、7ビット目を検出する。データD4~D6を同一のシフト量で左にビットシフトする場合、シフト量が3ビットであれば、データD4~D6の符号はいずれも変化せずに、正規化後の値が正しく表現される。したがって、サイクルC2の最大指数Imax2は-3である。最大指数算出回路121は、サイクルC2において、算出した最大指数Imax2である-3を出力する。サイクルC3では、MSB側から見て最初にビットの値が1となるビット位置として、7ビット目を検出する。データD7~D9を同一のシフト量で左にビットシフトする場合、シフト量が3ビットであれば、データD7~D9の符号はいずれも変化せずに、正規化後の値が正しく表現される。したがって、サイクルC3の最大指数Imax3は-3である。最大指数算出回路121は、サイクルC3において、算出した最大指数Imax3である-3を出力する。指数メモリ回路151は、サイクルC1において、書き込みアドレスAwmで指定されたアドレスAm1に、最大指数Imax1の値-1を書き込む。また、指数メモリ回路151は、サイクルC2において、書き込みアドレスAwmで指定されたアドレスAm2に、最大指数Imax2の値-3を書き込む。指数メモリ回路151は、サイクルC3において、書き込みアドレスAwmで指定されたアドレスAm3に、最大指数Imax3の値-3を書き込む。次いで、シフト回路SC11~SC13の動作について説明する。シフト回路SC11~SC13は、最大指数算出回路121がサイクルごとに算出した最大指数Imaxに基づいて、データD111~D113をシフトすることにより、第1の正規化処理を行う。具体的には、サイクルC1において、シフト回路SC11~SC13のそれぞれは、最大指数算出回路121が算出した最大指数Imax1の値-1に基づいて、データD111~D113として受け取ったデータD1~D3をシフトする。そして、シフト回路SC11~SC13のそれぞれは、第1の正規化処理後の第1の正規化データND11~ND13を、データD121~D123としてそれぞれ出力する。サイクルC2において、シフト回路SC11~SC13のそれぞれは、最大指数算出回路121が算出した最大指数Imax2の値-3に基づいて、データD111~D113として受け取ったデータD4~D6をシフトする。そして、シフト回路SC11~SC13のそれぞれは、第1の正規化処理後の第1の正規化データND14~ND16を、データD121~D123としてそれぞれ出力する。サイクルC3において、シフト回路SC11~SC13のそれぞれは、最大指数算出回路121が算出した最大指数Imax3の値-3に基づいて、データD111~D113として受け取ったデータD7~D9をシフトする。そして、シフト回路SC11~SC13のそれぞれは、第1の正規化処理後の第1の正規化データND17~ND19を、データD121~D123としてそれぞれ出力する。以下に、第1の正規化フェーズP1サイクルC1~C3の各サイクルにおける第1の正規化処理後の第1の正規化データND11~ND19を示す。サイクルC1第1の正規化データND11:001011101110第1の正規化データND12:011000100010第1の正規化データND13:000011011000サイクルC2第1の正規化データND14:100111000000第1の正規化データND15:110000000000第1の正規化データND16:000100101000サイクルC3第1の正規化データND17:010111110000第1の正規化データND18:011010001000第1の正規化データND19:010111001000丸め回路131~133のそれぞれは、サイクルC1~C3において、データD121~D123として出力される第1の正規化データND11~ND19に対して、丸め処理を行う。これにより、丸め回路131~133は、正規化データND1~ND9のビット幅を6ビットに削減した丸めデータRD11~RD19を生成する。つまり、サイクルC1において、丸め回路131~133は、第1の正規化データND11~ND13のビット幅を削減した丸めデータRD11~RD13を、丸めデータD131~D133としてそれぞれ出力する。サイクルC2において、丸め回路131~133は、第1の正規化データND14~ND16のビット幅を削減した丸めデータRD14~RD16を、丸めデータD131~D133としてそれぞれ出力する。サイクルC3において、丸め回路131~133は、第1の正規化データND17~ND19のビット幅を削減した丸めデータRD17~RD19を、丸めデータD131~D133としてそれぞれ出力する。以下に、第1の正規化フェーズP1サイクルC1~C3の各サイクルにおける、丸め処理後の丸めデータRD11~RD19を示す。サイクルC1丸めデータRD11:001011丸めデータRD12:011000丸めデータRD13:000011サイクルC2丸めデータRD14:100111丸めデータRD15:110000丸めデータRD16:000100サイクルC3丸めデータRD17:010111丸めデータRD18:011010丸めデータRD19:010111データメモリ回路140は、第1の正規化フェーズP1サイクルC1~C3において、丸め回路131~133がデータD131~D133として出力した丸めデータRD11~RD19を受け取り、保持する。具体的には、サイクルC1において、データメモリ回路140は、書き込みアドレスAw1~Aw3で指定されたアドレスA1~A3のそれぞれに、データD131~D133として出力された丸めデータRD11~RD13を格納して保持する。サイクルC2において、データメモリ回路140は、書き込みアドレスAw1~Aw3で指定されたアドレスA1~A3のそれぞれに、データD131~D133として出力された丸めデータRD14~RD16を格納して保持する。サイクルC3において、データメモリ回路140は、書き込みアドレスAw1~Aw3で指定されたアドレスA1~A3のそれぞれに、データD131~D133として出力された丸めデータRD17~RD19を格納して保持する。また、指数メモリ回路151は、サイクルC1~C3のそれぞれで算出される最大指数Imax1~Imax3を格納して保持する。具体的には、サイクルC1において、指数メモリ回路151は、書き込みアドレスAwmで指定されたアドレスAm1に、最大指数Imax1の値-1を格納して保持する。同様に、サイクルC2において、指数メモリ回路151は、書き込みアドレスAwmで指定されたアドレスAm2に、最大指数Imax2の値-3を格納して保持する。サイクルC3において、指数メモリ回路151は、書き込みアドレスAwmで指定されたアドレスAm3に、最大指数Imax3の値-3を格納して保持する。続いて、第2の正規化フェーズP2サイクルC4~C6における演算処理装置100の動作について説明する。図4は、実施の形態1にかかる演算処理装置100の第2の正規化フェーズP2サイクルC4~C6における動作を示すタイミングチャートである。データメモリ回路140は、保持していた丸めデータRD11~RD19を、データD141~D143として出力する。このとき、データメモリ回路140は、第2の演算回路160が行う演算のために、入力とは異なる順番でデータを出力する。具体的には、サイクルC4において、データメモリ回路140は、読み出しアドレスAr1で指定されたアドレスA1に保持している丸めデータRD11を、データD141として出力する。同様に、データメモリ回路140は、読み出しアドレスAr2で指定されたアドレスA3に保持している丸めデータRD13をデータD142として、読み出しアドレスAr3で指定されたアドレスA5に保持している丸めデータRD15をデータD143として出力する。サイクルC5において、データメモリ回路140は、読み出しアドレスAr1で指定されたアドレスA2に保持している丸めデータRD12を、データD141として出力する。同様に、データメモリ回路140は、読み出しアドレスAr2で指定されたアドレスA4に保持している丸めデータRD14をデータD142として、読み出しアドレスAr3で指定されたアドレスA7に保持している丸めデータRD17をデータD143として出力する。サイクルC6において、データメモリ回路140は、読み出しアドレスAr1で指定されたアドレスA6に保持している丸めデータRD16を、データD141として出力する。同様に、データメモリ回路140は、読み出しアドレスAr2で指定されたアドレスA8に保持している丸めデータRD18をデータD142として、読み出しアドレスAr3で指定されたアドレスA9に保持している丸めデータRD19をデータD143として出力する。指数メモリ回路151は、第2の正規化フェーズP2サイクルC4~C6において、保持していた最大指数Imax1~Imax3を、指数データID1~ID3として出力する。具体的には、サイクルC4において、指数メモリ回路151は、読み出しアドレスArm1で指定されたアドレスAm1に保持している最大指数Imax1の値-1をデータID1として出力する。同様に、指数メモリ回路151は、読み出しアドレスArm2で指定されたアドレスAm1に保持している最大指数Imax1の値-1を指数データID2として、読み出しアドレスArm3で指定されたアドレスAm2に保持している最大指数Imax3の値-3を指数データID3として出力する。サイクルC5において、指数メモリ回路151は、読み出しアドレスArm1で指定されたアドレスAm1に保持している最大指数Imax1の値-1を指数データID1として出力する。同様に、指数メモリ回路151は、読み出しアドレスArm2で指定されたアドレスAm2に保持している最大指数Imax2の値-3を指数データID2として、読み出しアドレスArm3で指定されたアドレスAm3に保持している最大指数Imax3の値-3を指数データID3として出力する。サイクルC6において、指数メモリ回路151は、読み出しアドレスArm1で指定されたアドレスAm2に保持している最大指数Imax2の値-3を指数データID1として出力する。同様に、指数メモリ回路151は、読み出しアドレスArm2で指定されたアドレスAm3に保持している最大指数Imax3の値-3を指数データID2として、読み出しアドレスArm3で指定されたアドレスAm3に保持している最大指数Imax3の値-3を指数データID3として出力する。補正指数算出回路152は、第2の正規化フェーズP2サイクルC4~C6の各サイクルにおいて、指数データID1~ID3に基づいて補正指数CI1~CI3を算出する。そして、補正指数算出回路152は、補正指数CI1~CI3のそれぞれを、シフト回路SC21~SC23へ出力する。まず、サイクルC4において、補正指数算出回路152は、指数データID1~ID3のそれぞれの値-1、-1及び-3から、補正指数CI1~CI3を算出する。具体的には、補正指数算出回路152は、入力した指数データID1~ID3の最大値を求める。この場合、指数データID1~ID3の最大値は指数データID1の値-1である。次いで、補正指数算出回路152は、指数データID1~ID3の補正指数CI1~CI3を算出する。ここで、補正指数CI1~CI3とは、指数データID1~ID3のそれぞれに加算することにより、加算後の値を最大値に一致させることができる数を意味する。従って、補正指数算出回路152は、補正指数CI1~CI3として、それぞれ0、0及び2を出力する。サイクルC5において、補正指数算出回路152は、指数データID1~ID3のそれぞれの値-1、-3及び-3から、補正指数CI1~CI3を算出する。この場合、指数データID1~ID3の最大値は指数データID1の値-1である。従って、補正指数算出回路152は、補正指数CI1~CI3として、それぞれ0、2及び2を出力する。サイクルC6において、補正指数算出回路152は、指数データID1~ID3のそれぞれの値-3、-3及び-3から、補正指数CI1~CI3を算出する。この場合、指数データID1~ID3の最大値は指数データID1の値-3である。従って、補正指数算出回路152は、補正指数CI1~CI3として、それぞれ0を出力する。シフト回路SC21~SC23は、第2の正規化フェーズP2サイクルC4~C6において、補正指数算出回路152が算出した補正指数CI1~CI3に基づいて、データD141~D143のそれぞれをシフトして、第2の正規化処理を行う。第2の正規化処理により生成されたデータD151~D153は、第2の演算回路160に出力される。なお、第2の正規化処理により、丸めデータRD11~RD19のそれぞれに基づいて、第2の正規化データND21~ND29が生成される。具体的には、サイクルC4において、シフト回路SC21は、データD141として受け取った丸めデータRD11を補正指数CI1の値0だけシフトさせ、第2の正規化データND21を生成する。シフト回路SC22は、データD142として受け取った丸めデータRD13を補正指数CI2の値0だけシフトさせ、第2の正規化データND23を生成する。シフト回路SC23は、データD143として受け取った丸めデータRD15を補正指数CI3の値2だけシフトさせ、第2の正規化データND25を生成する。第2の正規化データND21、ND23及びND25は、それぞれデータD151~D153として出力される。サイクルC5において、シフト回路SC21は、データD141として受け取った丸めデータRD12を補正指数CI1の値0だけシフトさせ、第2の正規化データND22を生成する。シフト回路SC22は、データD142として受け取った丸めデータRD14を補正指数CI2の値2だけシフトさせ、第2の正規化データND24を生成する。シフト回路SC23は、データD143として受け取った丸めデータRD17を補正指数CI3の値2だけシフトさせ、第2の正規化データND27を生成する。第2の正規化データND22、ND24及びND27は、それぞれデータD151~D153として出力される。サイクルC6において、シフト回路SC21は、データD141として受け取った丸めデータRD16を、補正指数CI1の値0だけシフトさせ、第2の正規化データND26を生成する。シフト回路SC22は、データD142として受け取った丸めデータRD18を補正指数CI2の値0だけシフトさせ、第2の正規化データND28を生成する。シフト回路SC23は、データD143として受け取った丸めデータRD19を補正指数CI3の値0だけシフトさせ、第2の正規化データND29を生成する。第2の正規化データND26、ND28及びND29は、それぞれデータD151~D153として出力される。以下に、第2の正規化フェーズP2サイクルC4~C6の各サイクルにおける第2の正規化処理後の第2の正規化データND21~ND29を示す。サイクルC4第2の正規化データND21:001011第2の正規化データND23:000011第2の正規化データND25:111100サイクルC5第2の正規化データND22:011000第2の正規化データND24:111001第2の正規化データND27:000101サイクルC6第2の正規化データND26:000100第2の正規化データND28:011010第2の正規化データND29:010111次に、本発明の特徴的な構成について説明する。図7は、実施の形態1にかかる特徴的な構成を示すブロック図である。演算処理装置100は、第1の正規化回路120、丸め回路130、データメモリ回路第1の記憶回路140、及び、第2の正規化回路150を含む。ここで、第1の正規化回路120は、共通の指数を持つ、複数の固定小数点表現のデータ又はブロック浮動小数点表現の仮数部のデータが複数サイクルのそれぞれにおいて入力され、複数サイクルのそれぞれの複数のデータに対する最大指数に基づいて、当該サイクルの複数のデータを当該複数のデータに共通の指数で正規化する第1の正規化を行う。丸め回路120は、第1の正規化が行われた複数のデータのそれぞれのビット幅を削減した複数の丸めデータを出力する。データメモリ回路第1の記憶回路140は、複数サイクル分の第1の正規化が行われた複数の丸めデータを保持し、保持されている複数の丸めデータの内、複数の指定された丸めデータを出力する。第2の正規化回路150は、複数の指定された丸めデータのそれぞれについて、第1の正規化で用いられた最大指数と、当該最大指数の複数の指定された丸めデータについての最大値とに基づいて、複数の指定された丸めデータを当該複数の指定された丸めデータに共通の指数で正規化する第2の正規化を行い、出力する。上述の通り、本実施の形態では、複数のデータを並列に演算する並列演算回路を複数含むデータ処理回路において、各演算回路で同時に演算するデータをひとつのブロックとするブロック浮動小数点処理を行う。そのため、データ処理のデータ数の大きさによらず、演算の並列度でブロックのサイズを決めることができる。したがって、データ処理のデータ数が大きい場合においても、ブロックを小さくすることができるため、各データの値範囲が広い場合でも、精度が劣化しないという効果がある。演算処理装置100では、データを保持するデータメモリ回路140の前段で第1の正規化処理および丸め処理を行い、データメモリ回路140の後段で第2の正規化処理を行うことが可能となる。また、第1の正規化処理の指数値を考慮して、第2の正規化処理における補正指数を決定する。すなわち、演算処理装置100では、シフト回路SC21~SC23で第2の正規化処理が行われるデータD141~D143の基となった丸めデータRD11~RD19が生成されたサイクルと、丸めデータRD11~RD19を正規化するための補正指数の算出のための減算に用いられる最大指数が算出されたサイクルと、が等しくなるように、補正指数が算出される。これにより、演算処理装置100では、データメモリ回路140の前で丸め処理を行ってデータのビットを削減するので、データメモリ回路140に必要なメモリ容量を、より小さくすることができる。その結果、回路規模が小さく消費電力が低い演算処理装置を提供することができる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態においては、n及びmの値を3としたが、あくまで例に過ぎない。従って、n及びmは、ともに2以上の任意の整数とすることが可能である。上述の実施の形態において、各サイクルでデータメモリ回路140から出力されるデータの組み合わせは、上述の例に限られない。すなわち、n個ずつ出力されるのであれば、データメモリ回路140は、任意の組み合わせのデータを出力することができる。この出願は、2011年5月16日に出願された日本出願特願2011-109554を基礎とする優先権を主張し、その開示の全てをここに取り込む。