複数のデータを共通の指数によって正規化する場合に、当該複数のデータの指数を算出する半導体集積回路であって、前記データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、当該互いに隣接するビットの値が異なることを示す遷移値、又は、当該互いに隣接するビットの値が異ならないことを示す非遷移値をとるビットを含む第2のビット列を生成するビット列生成回路と、前記ビット列生成回路によって前記複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列の前記遷移値のビットの位置に基づいて、前記複数のデータの指数を算出する指数算出回路と、を備えたことを特徴とする半導体集積回路。前記指数算出回路は、前記複数の第2のビット列に基づいて、前記複数の第2のビット列の少なくとも1つで、同一位置におけるビットが前記遷移値である場合、当該位置に対応するビットを第1の値とし、前記複数の第2のビット列の全てで、同一位置におけるビットが前記非遷移値である場合、当該位置に対応するビットを第2の値とした第3のビット列を生成するビット列合成回路と、前記ビット列合成回路が生成した第3のビット列における前記第1の値のビットの位置に基づいて、前記指数を算出するビット位置検出回路と、を有することを特徴とする請求項1に記載の半導体集積回路。前記第2のビット列は、前記第1のビット列の最上位ビットからnnは、0以上の整数ビット目及びn1ビット目の組に対応するビットを、最上位ビットからnビット目として配列し、前記第3のビット列は、前記第2のビット列の最上位ビットからnビット目に対応するビットを、最上位ビットからnビット目として配列し、前記ビット位置検出回路は、前記第3のビット列のうち、前記第1の値のビットの最上位ビットからの位置に基づいて、前記指数を算出することを特徴とする請求項2に記載の半導体集積回路。前記ビット列合成回路は、前記複数の第2のビット列の論理和となる第3のビット列を生成することを特徴とする請求項2又は3に記載の半導体集積回路。前記ビット列生成回路は、前記データを構成する第1のビット列に含まれ、互いに隣接するビットの排他的論理和を示すビットを含む第2のビット列を生成することを特徴とする請求項4に記載の半導体集積回路。前記半導体集積回路は、前記第3のビット列を格納するビット列記憶手段をさらに備え、前記半導体集積回路は、前記ビット列生成回路を複数備え、前記複数のビット列生成回路は、前記複数のデータから当該複数のビット列生成回路の数ずつ前記第2のビット列を生成し、前記ビット列合成回路は、前記複数のビット列生成回路によって複数の第2のビット列が生成される毎に、当該複数の第2のビット列と前記ビット列記憶手段に格納された第3のビット列とに基づいて、前記第3のビット列を生成して前記ビット列記憶手段に格納された第3のビット列を更新するとともに、前記複数の第2のビット列及び前記第3のビット列の少なくとも1つで、同一位置におけるビットが前記遷移値である場合、当該位置に対応するビットを前記第1の値とし、前記複数の第2のビット列及び前記第3のビット列の全てで、同一位置におけるビット列が前記非遷移値である場合、当該位置に対応するビットを前記第2の値とした第3のビット列を生成することを特徴とする請求項2乃至5のいずれか1項に記載の半導体集積回路。前記半導体集積回路は、前記指数算出回路が算出した指数に基づいて、前記第1のビット列をシフトすることによって前記データを正規化するシフト回路をさらに備えたことを特徴とする請求項1乃至6のいずれか1項に記載の半導体集積回路。前記半導体集積回路は、前記シフト回路を複数備え、前記複数のシフト回路は、前記複数のデータを当該複数のシフト回路の数ずつ正規化することを特徴とする請求項7に記載の半導体集積回路。前記複数のデータは、ブロック浮動小数点において同一のブロックに含まれるデータであり、前記指数算出回路は、前記ブロックにおける最大指数を算出することを特徴とする請求項1乃至8のいずれか1項に記載の半導体集積回路。複数のデータを共通の指数によって正規化する場合に、当該複数のデータの指数を算出する指数算出方法であって、前記データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、当該互いに隣接するビットの値が異なることを示す遷移値、又は、当該互いに隣接するビットの値が異ならないことを示す非遷移値をとるビットを含む第2のビット列を生成し、前記複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列の前記遷移値のビットの位置に基づいて、前記複数のデータの指数を算出する、指数算出方法。背景技術として説明したように、複数のデータを共通の指数によって正規化する場合に、指数の算出を高速に行うことができず、かつ、回路規模及び消費電力が大きくなってしまっているという問題がある。本発明はこのような課題を解決するためのものであり、複数のデータを共通の指数によって正規化する場合に、指数の算出の高速化を図ることができ、かつ、そのための回路規模及び消費電力の低減を図ることができる半導体集積回路及び指数算出方法を提供することを目的としている。本発明の第1の態様にかかる半導体集積回路は、複数のデータを共通の指数によって正規化する場合に、当該複数のデータの指数を算出する半導体集積回路であって、前記データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、当該互いに隣接するビットの値が異なることを示す遷移値、又は、当該互いに隣接するビットの値が異ならないことを示す非遷移値をとるビットを含む第2のビット列を生成するビット列生成回路と、前記ビット列生成回路によって前記複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列の前記遷移値のビットの位置に基づいて、前記複数のデータの指数を算出する指数算出回路と、を備えたことを特徴とするものである。本発明の第2の態様にかかる指数算出方法は、複数のデータを共通の指数によって正規化する場合に、当該複数のデータの指数を算出する指数算出方法であって、前記データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、当該互いに隣接するビットの値が異なることを示す遷移値、又は、当該互いに隣接するビットの値が異ならないことを示す非遷移値をとるビットを含む第2のビット列を生成し、前記複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列の前記遷移値のビットの位置に基づいて、前記複数のデータの指数を算出する、を備えたことを特徴とするものである。上述した本発明の各態様によれば、複数のデータを共通の指数によって正規化する場合に、指数の算出の高速化を図ることができ、かつ、そのための回路規模及び消費電力の低減を図ることができる半導体集積回路及び指数算出方法を提供することができる。次に、本発明の実施の形態について図面を参照して説明する。[第1の実施の形態]まず、図1を参照して、本発明の実施の形態1にかかる最大指数算出回路の概要となる半導体集積回路50について説明する。図1は、本発明の実施の形態1にかかる半導体集積回路の構成を示すブロック図である。半導体集積回路50は、ビット列生成回路51及び指数算出回路52を有する。半導体集積回路50は、複数のデータを共通の指数によって正規化する場合に、複数のデータの指数を算出する。ビット列生成回路51は、データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、互いに隣接するビットの値が異なることを示す遷移値、又は、互いに隣接するビットの値が異ならないことを示す非遷移値をとるビットを含む第2のビット列を生成する。指数算出回路52は、ビット列生成回路51によって複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列の遷移値のビットの位置に基づいて、複数のデータの指数を算出する。ビット列生成回路51は、共通の指数によって正規化する複数のデータが入力される。ビット列生成回路51は、データを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、互いに隣接するビットの値が異なることを示す遷移値、又は、互いに隣接するビットの値が異ならないことを示す非遷移値としたビットを含む第2のビット列を生成する。ビット列生成回路51は、複数のデータのそれぞれを構成する複数の第1のビット列から生成された複数の第2のビット列を指数算出回路52に出力する。指数算出回路52は、ビット列生成回路51から出力された複数の第2のビット列の遷移値のビットの位置に基づいて、複数のデータの指数を算出する。指数算出回路52は、算出した指数を出力する。以上に説明したように、本実施の形態1にかかる半導体集積回路50は、正規化対象のデータを構成する第1のビット列の互いに隣接するビットの組のそれぞれについて、互いに隣接するビットの値が異なるか否かを示すビットを含む第2のビット列を生成している。この第2のビット列によれば、第1のビット列の互いに隣接するビットの組のそれぞれについて、互いに隣接するビットの値が異なるか否かが分かる。そのため、データの符号がいずれも変化せずに正規化後の値が正しく表現されるシフト量を特定することができる。つまり、最大指数を算出することができる。そして、本実施の形態1にかかる半導体集積回路50によれば、単純に互いに隣接するビットの値が異なるか否かを論理演算するだけであるため、指数の算出の高速化を図ることができ、かつ、そのための回路規模及び消費電力の低減を図ることができる。以下、図面を参照して本発明の実施の形態1について詳細に説明する。図2は、本発明の第1の実施の形態にかかる最大指数算出回路100の構成を示すブロック図である。最大指数算出回路100は、複数の入力データからなるブロックに関して、ブロック内の全データの最大指数を算出する回路である。具体的には、最大指数算出回路100は、入力されるクロック信号に基づいて、ブロック内の全データを順次入力して、ブロック内の全データの最大指数を算出する。最大指数算出回路100は、ブロックごとに算出した最大指数を出力する。このとき、最大指数算出回路100は、入力されたブロックエンド信号を参照して、ブロックの終端を識別する。入力データは、例えば、外部回路図示せずから最大指数算出回路100に入力される。そして、外部回路は、ブロックにおける最後の入力データを最大指数算出回路100に出力するサイクルで、アサートしたブロックエンド信号を最大指数算出回路100に出力する。最大指数算出回路100は、主な回路として、エッジ検出回路101、論理和回路102、レジスタ103、MSB側ビット位置検出回路104、を含んでいる。エッジ検出回路101は、入力された入力データを構成するビット列の値の遷移エッジを検出する回路である。エッジ検出回路101は、入力された入力データを構成するビット列の値の遷移エッジを検出する。エッジ検出回路101は、検出結果をエッジ検出結果105として論理和回路102に出力する。具体的には、エッジ検出回路101は、入力データを構成するビット列のMSBからnビット目とn1ビット目との値が異なるか否かを示す値を算出するnは、0以上の整数。エッジ検出回路101は、算出した値をMSBからnビット目に配列する。エッジ検出回路101は、このように算出した値を配列したビット列を検出結果として生成する。なお、MSBから0ビット目と言った場合は、MSBであるものとする。本実施の形態1では、ビットの値が異なるか否かを示す値が、ビットの値が異なる場合は1遷移値となり、ビットの値が異ならない場合は0非遷移値となる場合について例示する。言い換えると、本実施の形態1では、ビットの値が異なるか否かを示す値が、ビットの値が等しい場合は0となる場合について例示する。エッジ検出回路101は、ビット列生成回路51として機能する。論理和回路102は、前記エッジ検出回路101が出力するエッジ検出結果105と、レジスタ103が出力するレジスタ値107の論理和を算出する。論理和回路102は、算出した論理和を論理和値106としてレジスタ103に出力する。レジスタ103は、論理和回路102が出力する論理和値106を、入力されたクロック信号に基づいた動作サイクルごとに保持する回路である。レジスタ103は、保持した論理和値を動作サイクルごとにレジスタ値107として、論理和回路102およびMSB側ビット位置検出回路104に出力する。また、レジスタ103は、ブロックエンド信号を参照して、ブロックの最後の入力データに基づいた最終的な論理和値106が論理和回路102から入力される最後の動作サイクルを認識する。レジスタ103は、各ブロックの最後の動作サイクルの次のサイクルにおいて、ブロックごとに保持している論理和値を初期値である0にリセットする。レジスタ103は、最終的な論理和値106をMSB側ビット位置検出回路104に出力してから、保持している論理和値をリセットする。MSB側ビット位置検出回路104は、レジスタ103が出力するレジスタ値107について、レジスタ値107を構成するビット列のMSB側の遷移値のビット位置を検出する。MSB側ビット位置検出回路104は、検出したビット位置から最大指数を算出して出力する回路である。具体的には、MSB側ビット位置検出回路104は、レジスタ103が出力するレジスタ値107のビットの値が1である位置が、MSB側から数えてMビット目である場合Mは0以上の整数、最大指数として-1xMを出力する。例えば、レジスタ値107のビットの値が1である位置が、MSB側から数えて1ビット目である場合、入力データの全てで、MSB側から0ビット目と1ビット目の値が同じことになる。逆に、この場合は、入力データのいずれかが、MSB側から1ビット目と2ビット目の値が異なることになる。したがって、上述した計算式-1xMによれば、入力データの符号がいずれも変化せずに正規化後の値が正しく表現されるシフト量に対応する最大指数として、-1x1=-1を算出することができる。ここで、レジスタ103は動作サイクルごとにレジスタ値107を出力するが、MSB側ビット位置検出回路104は、ブロックとしての最終的な論理和値を示すレジスタ値107に基づいて、最大指数を算出する。MSB側ビット位置検出回路104は、ブロックエンド信号を参照して、ブロックとしての最終的な論理和値を示すレジスタ値107がレジスタ103から出力されるサイクルを認識する。MSB側ビット位置検出回路104は、最終的な論理和値を示すレジスタ値107を構成するビット列のMSB側のビット位置を検出する。MSB側ビット位置検出回路104は、検出したビット位置から最大指数を算出する。MSB側ビット位置検出回路104は、算出した最大指数を出力する。論理和回路102、レジスタ103及びMSB側ビット位置検出回路104は、指数算出回路52として機能する。つぎに、図3を参照して、エッジ検出回路101の構成を説明する。エッジ検出回路101は、複数の排他的論理和XOR回路110を有する。エッジ検出回路101は、入力データを構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出して出力する。すなわち、入力データがYビットのビット列から構成される場合、エッジ検出回路101は、Y-1個のXOR回路110から構成されるYは、正の整数。図3は、入力データがb7~b0の8ビットのビット列から構成される場合の、エッジ検出回路101の構成例を示している。エッジ検出回路101は、入力データを構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出する。エッジ検出回路101は、算出した排他的論理和をエッジ検出結果e7~e1として論理和回路102に出力する。ここで、入力データのビットb7およびエッジ検出結果のビットe7がMSBである。[第1の実施の形態の動作]次に、図4を参照して、本発明の実施の形態1にかかる最大指数算出回路の動作について説明する。図4は、本発明の実施の形態1にかかる最大指数算出回路100の動作を示すタイミング図である。最大指数算出回路100は、入力されたクロック信号に基づいて動作を行う。正規化対象のブロックの例として、次に示す入力データ1~入力データ8の8つのデータからなるブロックを考える。各入力データは、8ビットである。下記では各データの値を2の補数表現で示している。なお、以降に示すデータのビット列は、最も左のビットがMSBであり、最も右のビットがLSBであるものとして示す。なお、MSBは、符号ビットとなる。入力データ1:00010111入力データ2:00110001入力データ3:00000110入力データ4:11110011入力データ5:11111000入力データ6:00000110入力データ7:00001011入力データ8:00011011サイクル1まず、動作サイクルの1サイクル目サイクル1で、最大指数算出回路100は、入力データ1が入力される。エッジ検出回路101は、入力データ1を構成するビット列の値の遷移エッジを検出する。エッジ検出回路101は、検出した結果をエッジ検出結果1として論理和回路102に出力する。より詳細には、エッジ検出回路101は、入力データ1を構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出して出力する。エッジ検出結果1:0011100つぎに、論理和回路102は、エッジ検出回路101が出力するエッジ検出結果1と、レジスタ103が出力するレジスタ値1との論理和を算出する。論理和回路102は、算出した論理和を論理和値1としてレジスタ103に出力する。ここで、サイクル1におけるレジスタ値1の値は初期値の0である。論理和値1:0011100レジスタ103は、サイクル1において論理和回路102が出力する論理和値1を保持する。レジスタ103は、つぎの動作サイクルであるサイクル2において、保持した論理和値1をレジスタ値2として出力する。サイクル2つぎに、動作サイクルの2サイクル目サイクル2では、最大指数算出回路100は、入力データ2が入力される。エッジ検出回路101は、入力データ2を構成するビット列の値の遷移エッジを検出する。エッジ検出回路101は、検出した結果をエッジ検出結果2として論理和回路102に出力する。より詳細には、エッジ検出回路101は、入力データ2の入力データを構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出して出力する。エッジ検出結果2:0101001つぎに、論理和回路102は、エッジ検出回路101が出力するエッジ検出結果2と、レジスタ103が出力するレジスタ値2との論理和を算出する。論理和回路102は、算出した論理和を論理和値2としてレジスタ103に出力する。ここで、サイクル2におけるレジスタ103の出力であるレジスタ値2の値は、サイクル1で保持した論理和値1である。論理和値2:0111101レジスタ103は、サイクル2において論理和回路102が出力する論理和値2を保持する。レジスタ103は、つぎの動作サイクルであるサイクル3において、保持した論理和値2をレジスタ値3として出力する。サイクル3~8サイクル3~8においても同様にして、最大指数算出回路100は、入力データ3~8を各動作サイクルにおいて入力する。エッジ検出回路101は、入力データ3~8を構成するビット列の値の遷移エッジをそれぞれ検出する。エッジ検出回路101は、検出した結果のそれぞれをエッジ検出結果3~8として出力する。エッジ検出結果3:0000101エッジ検出結果4:0001010エッジ検出結果5:0000100エッジ検出結果6:0000101エッジ検出結果7:0001110エッジ検出結果8:0010110論理和回路102は、各サイクルにおいて、エッジ検出回路101が出力するエッジ検出結果3~8のそれぞれと、レジスタ103が出力するレジスタ値のそれぞれとの論理和を算出する。論理和回路102は、算出した論理和のそれぞれを論理和値3~8としてレジスタ103に出力する。ここで、サイクル3~8のそれぞれにおけるレジスタ103の出力であるレジスタ値3~8の値はそれぞれ、サイクル2~7で保持した論理和値2~7である。論理和値3:0111101論理和値4:0111111論理和値5:0111111論理和値6:0111111論理和値7:0111111論理和値8:0111111ブロックの最後の動作サイクルの次のサイクルであるサイクル9では、MSB側ビット位置検出回路104は、ブロックとしての最終的な論理和値8について、論理和値8を構成するビット列のMSB側の遷移値のビット位置を検出する。MSB側ビット位置検出回路104は、検出したビット位置から最大指数を算出する。MSB側ビット位置検出回路104は、算出した最大指数を出力する。具体的には、論理和値8のビットの値が1となるビット位置は、MSB側から数えて1ビット目であるので、上述した計算式-1xMによれば最大指数は、-1x1=-1となる。したがって、MSB側ビット位置検出回路104は、最大指数として-1を出力する。また、ブロックの最後の動作サイクルの次のサイクルであるサイクル9では、レジスタ103は、ブロックに対して保持している論理和値を初期値である0にリセットする。その結果、レジスタ103は、次のサイクルで初期値0を出力する。ここで、MSB側ビット位置検出回路104及びレジスタ103は、各ブロックの最後の動作サイクルを、入力されたブロックエンド信号の値が1になるサイクルとして識別する。図4においては、サイクル8でブロックエンド信号の値が1となっているため、サイクル8がブロックの最後の動作サイクルであることを示している。つぎに、入力データに負側の最大値が含まれる場合について説明する。8ビットの入力データの場合、そのデータの負側の最大値は-1x2の7乗=-128であり、2の補数表現では、10000000である。この入力データのエッジ検出結果は1000000になる。したがって、ブロックとしての最終的な論理和値のMSBは値1になるので、入力データに負側の最大値が含まれるブロックの最大指数は0と算出される。すなわち、本実施の形態1によれば、入力データに負側の最大値が含まれる場合であっても、正しい最大指数を算出することができる。[第1の実施の形態の効果]本実施の形態1では、ブロック浮動小数点の正規化処理において、エッジ検出回路101を使用して最大指数を算出する、ことを特徴としている。エッジ検出回路101は、入力データを構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出するだけでよいので、複数のXOR回路からなる論理段数が1段の単純な構成の回路で実現することができる。したがって、背景技術として説明したように入力データの絶対値を算出する正規化処理と比較して、本実施の形態1による最大指数算出回路は、最大指数を高速に算出することが可能であり、かつ回路規模や消費電力を小さくすることができる。さらに、本実施の形態1による最大指数算出回路は、入力データに負側の最大値が含まれる場合であっても正しく処理することが可能である。したがって、本実施の形態1にかかる最大指数算出回路によれば、データの値が負側の最大値の場合でも、そのデータを特別に処理する必要や、負側の最大値を使用しないようにする必要がない、という特徴がある。[第2の実施の形態]次に、図5を参照して、本発明の実施の形態2にかかるブロック浮動小数点正規化回路について説明する。本発明の実施の形態2では、実施の形態1にかかる最大指数算出回路を使用したブロック浮動小数点正規化回路の具体例について説明する。図5は、本発明の実施の形態2にかかるブロック浮動小数点正規化回路以下では正規化回路と表記するの構成を示すブロック図である。図5において、本実施の形態2による正規化回路は、ブロックを構成する各入力データに対してブロック浮動小数点における正規化処理を行う。正規化回路は、入力データを正規化したデータを正規化データとして出力する。図5において、本実施の形態2による正規化回路は、メモリ120と、実施の形態1による最大指数算出回路100と、シフト回路130とを有する。実施の形態1による最大指数算出回路100は、入力された入力データに対して、最大指数を算出する。最大指数算出回路100は、算出した最大指数を最大指数108としてシフト回路130に出力する。メモリ120は、最大指数算出回路100が入力された入力データの最大指数を算出している間、入力データを保持する。入力データは、例えば、外部装置図示せずからメモリ120と最大指数算出回路100のそれぞれに順次入力される。メモリ120は、外部装置から入力される入力データを順次保持していく。また、メモリ120は、最大指数算出回路100が最大指数の算出を完了した後、保持していた入力データを、入力データ121として順次シフト回路130に出力する。シフト回路130は、最大指数算出回路100が算出した最大指数108に基づいて、メモリ120が出力する入力データをシフトすることで正規化処理を行う。[第2の実施の形態の動作]次に、図6を参照して、本発明の実施の形態2にかかる正規化回路の動作について説明する。図6は、本発明の実施の形態2にかかる正規化回路の動作を示すタイミング図である。本発明の実施の形態2にかかる正規化回路は、入力されたクロック信号に基づいて動作を行う。正規化対象のブロックの例として、実施の形態1と同様に、次に示す入力データ1~入力データ8の8つのデータからなるブロックを考える。各入力データは、8ビットである。下記では各データの値を2の補数表現で示している。入力データ1:00010111入力データ2:00110001入力データ3:00000110入力データ4:11110011入力データ5:11111000入力データ6:00000110入力データ7:00001011入力データ8:00011011図6は、図4に示すサイクル1~サイクル8において、最大指数算出回路100が、入力された入力データの最大指数を算出した後の、サイクル1~サイクル8における動作を示している。ここで、サイクル1~7の動作は、図4で示したものと同様であるとして、図示を省略している。また、サイクル9とサイクル1は同一の動作サイクルを示している。メモリ120は、サイクル1~8において、最大指数算出回路100が入力された入力データの最大指数を算出している間、入力データを保持している。つぎに、メモリ120は、最大指数算出回路100が最大指数の算出を完了した後、サイクル1~8において、保持していた入力データを順次シフト回路130に出力する。ここで、メモリ120は、ブロックエンド信号を参照して、最大指数算出回路100が最大指数の算出を完了するタイミングを識別する。具体的には、メモリ120は、ブロックエンド信号の値が1となったサイクル8の次のサイクル9から保持していた入力データ1~8の出力を開始する。また、メモリ120は、ブロックエンド信号を参照して、入力データの出力を終了するタイミングを識別する。具体的には、メモリ120は、ブロックエンド信号の値が再度1となったサイクル8で入力データの出力を終了する。例えば、外部装置は、入力データの出力を完了したサイクル8から、入力データ1~8のデータ数分のサイクルが経過したサイクル8で値を1としたブロックエンド信号を出力するようにする。最大指数算出回路100は、サイクル1~8において、入力された入力データの最大指数を算出する。つぎに、最大指数算出回路100は、サイクル9において、算出した最大指数として-1をシフト回路130に出力する。最大指数算出回路100は、メモリ120が保持していた入力データの出力を完了するサイクル8まで、最大指数である-1の出力を継続する。ここで、最大指数算出回路100は、ブロックエンド信号を参照して、最大指数の出力を終了するタイミングを識別する。具体的には、最大指数算出回路100は、ブロックエンド信号の値が再度1となったサイクル8で最大指数の出力を終了する。シフト回路130は、サイクル1~8において、最大指数算出回路100が算出して出力する最大指数である-1に基づいて、メモリ120が出力する入力データ1~8を順次シフトすることで正規化処理を行う。そして、シフト回路130は、入力データ1~8を正規化したデータを正規化データ1~8として出力する。ここで、シフト回路130は、最大指数算出回路100から出力された最大指数が-mである場合、入力データ1~8を左にmビットシフトすることによって、入力データ1~8の正規化を行うmは、0以上の整数。その結果、シフト回路130が出力する正規化データ1~8は以下に示す値になり、正しく正規化処理が完了する。入力データkの正規化後のデータは、正規化データkとして示しているkは、1~8のいずれかの正整数。正規化データ1:00101110正規化データ2:01100010正規化データ3:00001100正規化データ4:11100110正規化データ5:11110000正規化データ6:00001100正規化データ7:00010110正規化データ8:00110110[第2の実施の形態の効果]本実施の形態2では、ブロック浮動小数点の正規化処理において、演算処理量の大きい最大指数の算出に、実施の形態1による最大指数算出回路100を使用するので、最大指数の算出処理に必要な回路規模や消費電力を小さくすることができる。さらに、本実施の形態2にかかる正規化回路は、最大指数を高速に算出することが可能であり、かつ回路規模や消費電力を小さくすることができる最大指数算出回路100を有する。そして、正規化回路は、最大指数算出回路100が算出した最大指数に基づいて、ブロック浮動小数点の正規化処理を実行している。その結果、本実施の形態2によれば、ブロック浮動小数点の正規化処理を高速に実行することが可能であり、かつ、回路規模や消費電力を小さくすることができる。[第3の実施の形態]つぎに、図面を参照して本発明の実施の形態3について説明する。図7は、本発明の第3の実施の形態にかかる最大指数算出回路150の構成を示すブロック図である。最大指数算出回路150は、複数の入力データからなるブロックに関して、ブロック内の全データの最大指数を算出する回路である。最大指数算出回路150は、エッジ検出を並列に実行することで、最大指数を高速に算出することを特徴とする。図7において、本発明の第1の実施形態による最大指数算出回路100と同一の構成要素には同一の符号を付してある。具体的には、最大指数算出回路150は、入力されるクロック信号に基づいて、ブロック内の全データを4つ同時に順次入力して、ブロック内の全データの最大指数を算出する。最大指数算出回路150は、ブロックごとに算出した最大指数を出力する。このとき、最大指数算出回路150は、入力するブロックエンド信号を参照して、ブロックの終端を識別する。最大指数算出回路150は、主な回路として、4つのエッジ検出回路101、論理和回路152、レジスタ103、MSB側ビット位置検出回路104、を含んでいる。エッジ検出回路101は、入力された入力データを構成するビット列の値の遷移エッジを検出する回路である。4つのエッジ検出回路101は、入力データa~dがそれぞれ入力される。4つのエッジ検出回路101は、それぞれの入力データを構成するビット列の値の遷移エッジを検出する。4つのエッジ検出回路101は、検出した結果をエッジ検出結果155a~155dとして論理和回路152にそれぞれ出力する。論理和回路152は、5入力の回路であり、4つのエッジ検出回路101が出力するエッジ検出結果155a~155dと、レジスタ103が出力するレジスタ値107が入力される。論理和回路152は、入力されたエッジ検出結果155a~155d及びレジスタ値107の論理和を算出する。論理和回路152は、算出した論理和を論理和値156としてレジスタ103に出力する。レジスタ103は、論理和回路152が出力する論理和値156を、入力されたクロック信号に基づいた動作サイクルごとに保持する回路である。レジスタ103は、保持した論理和値を動作サイクルごとにレジスタ値107として、論理和回路152およびMSB側ビット位置検出回路104に出力する。また、レジスタ103は、ブロックエンド信号を参照して、最後の動作サイクルを認識する。レジスタ103は、ブロックの最後の動作サイクルにおいて、ブロックに対して保持している論理和値を初期値である0にリセットする。MSB側ビット位置検出回路104は、レジスタ103が出力するレジスタ値107について、レジスタ値107を構成するビット列のMSB側の遷移値のビット位置を検出する。MSB側ビット位置検出回路104は、検出したビット位置から最大指数を算出して出力する回路である。具体的には、MSB側ビット位置検出回路104は、レジスタ103が出力するレジスタ値107のビットの値が1である位置が、MSB側から数えてMビット目である場合Mは0以上の整数、最大指数として-1xMを出力する。ここで、レジスタ103は動作サイクルごとにレジスタ値107を出力するが、MSB側ビット位置検出回路104は、ブロックとしての最終的なレジスタ値107に基づいて、最大指数を算出する。MSB側ビット位置検出回路104は、ブロックエンド信号を参照して、ブロックとしての最終的な論理和値を示すレジスタ値107がレジスタ103から出力されるサイクルを認識する。MSB側ビット位置検出回路104は、最終的な論理和値を示すレジスタ値107を構成するビット列のMSB側の遷移値のビット位置を検出して、最大指数を算出する。MSB側ビット位置検出回路104は、最大指数として出力する。[第3の実施の形態の動作]次に、図8を参照して、本発明の実施の形態3にかかる最大指数算出回路の動作について説明する。図8は、本発明の実施の形態3にかかる最大指数算出回路150の動作を示すタイミング図である。最大指数算出回路150は、入力されたクロック信号に基づいて動作を行う。まず、正規化対象のブロックの例として、次に示す入力データ1~入力データ8の8つのデータからなるブロックを考える。各入力データは、8ビットである。下記では各データの値を2の補数表現で示している。入力データ1:00010111入力データ2:00110001入力データ3:00000110入力データ4:11110011入力データ5:11111000入力データ6:00000110入力データ7:00001011入力データ8:00011011サイクル1まず、動作サイクルの1サイクル目サイクル1で、最大指数算出回路150は、4つの入力データ1~4が入力される。4つのエッジ検出回路101のそれぞれは、入力データ1~4を構成するビット列の値のそれぞれの遷移エッジを検出する。4つのエッジ検出回路101は、検出結果のそれぞれをエッジ検出結果1a~1dとして論理和回路152に出力する。より詳細には、エッジ検出回路101のそれぞれは、入力データ1a~1dを構成するビット列のそれぞれについて、隣接するビット間の排他的論理和を算出して出力する。ここで、入力データ1の検出結果はエッジ検出結果1aであり、入力データ2の検出結果はエッジ検出結果1bであり、入力データ3の検出結果はエッジ検出結果1cであり、入力データ4の検出結果はエッジ検出結果1dである。エッジ検出結果1a:0011100エッジ検出結果1b:0101001エッジ検出結果1c:0000101エッジ検出結果1d:0001010つぎに、論理和回路152は、4つのエッジ検出回路101がそれぞれ出力するエッジ検出結果1a~1dと、レジスタ103が出力するレジスタ値1との論理和を算出する。論理和回路152は、算出した論理和を論理和値1としてレジスタ103に出力する。ここで、サイクル1におけるレジスタ値1の値は初期値の0である。論理和値1:0111111レジスタ103は、サイクル1において論理和回路152が出力する論理和値1を保持する。レジスタ103は、つぎの動作サイクルであるサイクル2において、保持した論理和値1をレジスタ値2として出力する。サイクル2つぎに、動作サイクルの2サイクル目サイクル2では、最大指数算出回路150は、4つの入力データ5~8が入力される。4つのエッジ検出回路101のそれぞれは、入力データ5~8を構成するビット列の値のそれぞれの遷移エッジを検出する。エッジ検出回路101は、検出結果のそれぞれをエッジ検出結果2a~2dとして論理和回路152に出力する。より詳細には、エッジ検出回路101のそれぞれは、入力データ2a~2dを構成するビット列のそれぞれについて、隣接するビット間の排他的論理和を算出して出力する。ここで、入力データ5の検出結果はエッジ検出結果2aであり、入力データ6の検出結果はエッジ検出結果2bであり、入力データ7の検出結果はエッジ検出結果2cであり、入力データ8の検出結果はエッジ検出結果2dである。エッジ検出結果2a:0000100エッジ検出結果2b:0000101エッジ検出結果2c:0001110エッジ検出結果2d:0010110つぎに、論理和回路152は、4つのエッジ検出回路101がそれぞれ出力するエッジ検出結果2a~2dと、レジスタ103が出力するレジスタ値2との論理和を算出する。論理和回路102は、算出した論理和を論理和値2としてレジスタ103に出力する。ここで、サイクル2におけるレジスタ103の出力であるレジスタ値2の値は、サイクル1で保持した論理和値1である。論理和値2:0111111サイクル3はブロックの最後の動作サイクルの次のサイクルであるので、MSB側ビット位置検出回路104は、ブロックとしての最終的な論理和値2について、論理和値を構成するビット列のMSB側の遷移値のビット位置を検出する。MSB側ビット位置検出回路104は、検出したビット位置から最大指数を算出する。MSB側ビット位置検出回路104は、算出した最大指数を出力する。具体的には、論理和値2のビットの値が1となるビット位置は、MSB側から数えて2ビット目であるので、MSB側ビット位置検出回路104は、最大指数として-1を出力する。また、サイクル3はブロックの最後の動作サイクルの次のサイクルであるので、レジスタ103は、ブロックに対して保持している論理和値を初期値である0にリセットする。その結果、レジスタ103は、次のサイクルで初期値0を出力する。ここで、MSB側ビット位置検出回路104及びレジスタ103は、各ブロックの最後の動作サイクルを、入力されたブロックエンド信号の値が1になるサイクルとして識別する。図8においては、サイクル2でブロックエンド信号の値が1となっているため、サイクル2がブロックの最後の動作サイクルであることを示している。つぎに、入力データに負側の最大値が含まれる場合について説明する。8ビットの入力データの場合、そのデータの負側の最大値は-1x2の7乗=-128であり、2の補数表現では、10000000である。この入力データのエッジ検出結果は1000000になる。したがって、ブロックとしての最終的な論理和値のMSBは値1になるので、入力データに負側の最大値が含まれるブロックの最大指数は0と算出される。すなわち、本実施の形態3においても、入力データに負側の最大値が含まれる場合であっても、正しい最大指数を算出することができる。[第3の実施の形態の効果]本実施の形態3では、ブロック浮動小数点の正規化処理において、エッジ検出回路101を使用して最大指数を算出する、ことを特徴としている。エッジ検出回路101は、入力データを構成するビット列の隣接するビット間の排他的論理和をそれぞれ算出するだけでよいので、複数のXOR回路からなる論理段数が1段の単純な構成の回路で実現することができる。したがって、背景技術として説明したように入力データの絶対値を算出する絶対値回路が必要な正規化処理と比較して、本実施の形態3による最大指数算出回路は、最大指数を高速に算出することが可能であり、かつ回路規模や消費電力を小さくすることができる。さらに、本実施の形態3による最大指数算出回路は、入力データに負側の最大値が含まれる場合であっても正しく処理することが可能である。したがって、本実施の形態3にかかる最大指数算出回路によれば、データの値が負側の最大値の場合でも、そのデータを特別に処理する必要や、負側の最大値を使用しないようにする必要がない、という特徴がある。さらに、本実施の形態3による最大指数算出回路は、4つのエッジ検出回路101を備え、エッジ検出処理を並列に実行するので、最大指数を高速に算出することが可能である、という特徴がある。ここで、本実施の形態3では、4つのエッジ検出回路101を備え、エッジ検出処理を4並列で実行する場合について説明したが、エッジ検出回路101の数は任意であっても良い。例えば、N個のエッジ検出回路101を備え、エッジ検出処理をN並列で実行する最大指数算出回路160の構成例を図9に示すここでNは2以上の整数。図9において、最大指数算出回路160が備えるN1入力の論理和回路162は、N個のエッジ検出回路101が出力するN個のエッジ検出結果と、レジスタ103が出力するレジスタ値107の論理和を算出する。[第4の実施の形態]次に、図10を参照して、本発明の実施の形態4にかかるブロック浮動小数点正規化回路について説明する。本発明の実施の形態4では、実施の形態3にかかる最大指数算出回路を使用したブロック浮動小数点正規化回路の具体例について説明する。図10は、本発明の実施の形態4にかかるブロック浮動小数点正規化回路以下では正規化回路と表記するの構成を示すブロック図である。図10において、本実施の形態4による正規化回路は、ブロックを構成する各入力データに対してブロック浮動小数点における正規化処理を行う。正規化回路は、入力データを正規化したデータを正規化データとして出力する。ここで、本実施の形態4による正規化回路は、4つの入力データが同時に入力され、同時に入力された4つの入力データを正規化した4つの正規化データを同時に出力する。図11において、本実施の形態4による正規化回路は、4つのメモリ120と、実施の形態3による最大指数算出回路150と、4つのシフト回路130とを有する。実施の形態3による最大指数算出回路150は、入力された入力データa~dに対して、最大指数を算出する。最大指数算出回路150は、算出した最大指数を最大指数158として4つのシフト回路130に出力する。4つのメモリ120はそれぞれ、最大指数算出回路150が入力された入力データの最大指数を算出している間、入力データa~dを保持する。入力データは、例えば、外部装置図示せずから4つのメモリ120と最大指数算出回路100のそれぞれに、4つずつ順次入力される。4つのメモリ120のそれぞれは、外部装置から入力される入力データを順次保持していく。また、4つのメモリ120のそれぞれは、最大指数算出回路150が最大指数の算出を完了した後、保持していた入力データa~dを、入力データ121a~dとして順次シフト回路130に対して出力する。4つのシフト回路130のそれぞれは、入力された入力データに対して最大指数算出回路150が算出した最大指数158に基づいて、4つのメモリ120が出力する入力データ121a~dのそれぞれをシフトすることで正規化処理を行う。[第4の実施の形態の動作]次に、図11を参照して、本発明の実施の形態4にかかる正規化回路の動作について説明する。図11は、本発明の実施の形態4にかかる正規化回路の動作を示すタイミングチャートである。本発明の実施の形態4にかかる正規化回路は、入力されたクロック信号に基づいて動作を行う。正規化対象のブロックの例として、実施の形態3と同様に、次に示す入力データ1~入力データ8の8つのデータからなるブロックを考える。各入力データは、8ビットである。下記では各データの値を2の補数表現で示している。入力データ1:00010111入力データ2:00110001入力データ3:00000110入力データ4:11110011入力データ5:11111000入力データ6:00000110入力データ7:00001011入力データ8:00011011図11は、図8に示すサイクル1~サイクル2において、最大指数算出回路150が、入力された入力データの最大指数を算出した後の、サイクル1~サイクル2における動作を示している。ここで、サイクル1の動作は、図8で示したものと同様であるとして、図示を省略している。また、サイクル3とサイクル1は同一の動作サイクルを示している。4つのメモリ120のそれぞれは、サイクル1~2において、最大指数算出回路150が入力する入力データの最大指数を算出している間、入力データを保持している。つぎに、4つのメモリ120のそれぞれは、最大指数算出回路150が最大指数の算出を完了した後、サイクル1~2において、保持していた入力データを順次シフト回路130に出力する。ここで、メモリ120は、ブロックエンド信号を参照して、最大指数算出回路150が最大指数の算出を完了するタイミングを識別する。最大指数算出回路150は、サイクル1~2において、1サイクルに4つずつ入力された入力データの最大指数を算出する。つぎに、最大指数算出回路150は、サイクル3において、算出した最大指数として-1をシフト回路130に出力する。最大指数算出回路150は、メモリ120が保持していた入力データの出力を完了するサイクル2まで、最大指数である-1の出力を継続する。4つのシフト回路130は、サイクル1~3において、最大指数算出回路150が算出して出力する最大指数である-1に基づいて、メモリ120が出力する入力データ1~8を1サイクルに4つずつ順次シフトすることで正規化処理を行う。そして、シフト回路130は、入力データ1~8を正規化したデータを正規化データ1~8として出力する。その結果、シフト回路130が出力する正規化データ1~8は以下に示す値になり、正しく正規化処理が完了する。入力データkの正規化後のデータは、正規化データkとして示しているkは、1~8のいずれかの正整数。正規化データ1:00101110正規化データ2:01100010正規化データ3:00001100正規化データ4:11100110正規化データ5:11110000正規化データ6:00001100正規化データ7:00010110正規化データ8:00110110[第4の実施の形態の効果]本実施の形態4では、ブロック浮動小数点の正規化処理において、演算処理量の大きい最大指数の算出に、実施の形態3による最大指数算出回路150を使用するので、最大指数の算出処理に必要な回路規模や消費電力を小さくすることができる。さらに、本実施の形態4にかかる正規化回路は、最大指数を高速に算出することが可能であり、かつ回路規模や消費電力を小さくすることができる最大指数算出回路150を有する。そして、正規化回路は、最大指数算出回路150が算出した最大指数に基づいて、ブロック浮動小数点の正規化処理を実行している。その結果、本実施の形態4によれば、ブロック浮動小数点の正規化処理を高速に実行することが可能であり、かつ、回路規模や消費電力を小さくすることができる。さらに、本実施の形態4にかかるブロック浮動小数点正規化回路は、メモリ120やシフト回路130をそれぞれ4つずつ備え、かつ、4並列で最大指数を算出する最大指数算出回路150を備えるので、ブロック浮動小数点の最大指数算出処理及び正規化処理を4並列で実行することができる。その結果、ブロック浮動小数点の正規化処理を高速に実行することができる、という特徴がある。ここで、本実施の形態4では、正規化処理を4並列で実行する場合について説明したが、並列数は任意であっても良い。例えば、N個のメモリ120と4つのシフト回路130を備え、かつ、N並列で最大指数を算出する最大指数算出回路160を備えることで、正規化処理をN並列で実行するブロック浮動小数点正規化回路の構成例を図12に示すここでNは2以上の整数。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本実施の形態では、エッジ検出回路は、入力データを構成するビット列について、互いに隣接するビットの値が異なることを示す値遷移値を1とし、互いに隣接するビットの値が異ならないことを示す値非遷移値を0としたビット列を生成するようにしているが、これに限られない。エッジ検出回路は、互いに隣接するビットの値が異なることを示す値を0とし、互いに隣接するビットの値が異ならないことを示す値を1としたビット列を生成するようにしてもよい。つまり、エッジ検出回路が、例えば、XOR回路ではなく、XNOR回路を有するようにしてもよい。この場合、例えば、論理和回路に代えて、エッジ検出回路から出力されたデータの論理積を算出する論理積回路を備えるようにする。そして、MSB側ビット位置検出回路は、論理積回路が出力した論理積値のビットの値が0となるビット位置に基づいて、最大指数を算出するようにする。本実施の形態では、エッジ検出回路及び論理和回路が生成するビット列は、入力データを構成するビット列のMSBからnビット目及びn1ビット目の組のXOR結果を、MSBからnビット目として配列しているが、これに限られないnは、0以上の整数。例えば、入力データのビット列が8ビットの場合、エッジ検出回路及び論理和回路は、入力データを構成するビット列のMSBからnビット目及びn1ビット目の組のXOR結果を、MSBから7-nビット目として配列するようにしてもよい。言い換えると、エッジ検出回路及び論理和回路は、入力データを構成するビット列のMSBからnビット目及びn1ビット目の組のXOR結果を、LSBからnビット目として配列するようにしてもよい。この場合、例えば、MSB側ビット位置検出回路に代えて、レジスタが出力する論理和値のビットの値が1である位置が、LSB側から数えてLビット目であるときに、LSB側から最大指数として-1xLを算出するビット位置検出回路を備えるようにするLは、0以上の整数。なお、LSBから0ビット目と言った場合は、LSBであるものとする。本実施の形態では、エッジ検出回路が生成したビット列の論理和を算出して、算出した論理和に基づいて、最大指数を算出するようにしているが、これに限られない。例えば、論理和回路及びレジスタを備えずに、エッジ検出回路が生成したビット列を順次MSB側ビット位置検出回路に直接出力するようにしてもよい。この場合、MSB側ビット位置検出回路は、エッジ検出回路から順次出力されるビット列のそれぞれについて指数を算出する。そして、MSB側ビット位置検出回路は、ブロック内の全データのうち、最も値が大きい指数を最大指数とするようにしてもよい。これによれば、ブロック内の各入力データの絶対値を順次算出して、算出した絶対値のそれぞれについて指数を算出して、ブロック内の全データのうち、最も値が大きい指数を最大指数とする場合と比較して、最大指数を高速に算出することが可能である。この出願は、2010年6月22日に出願された日本出願特願2010-141765を基礎とする優先権を主張し、その開示の全てをここに取り込む。