(57)【特許請求の範囲】
【請求項１】
データバスにデータ保持部とバスアンプが接続され、プリチャージ信号を与えてデータ転送を行っているデータ転送回路において、前記バスアンプは、前記データバスの電位を所定のレベルにプリチャージするためにゲートにプリチャージ信号が与えられ、一方の半導体領域が電源電圧と接続され他方の半導体領域がノードに接続される第１のＰＭＯＳトランジスタと、抵抗分割によって電源電圧よりも低い値の電圧が与えられ、一方の半導体領域が前記ノードに接続され他方の半導体領域が前記データバスに接続される第１のＮＭＯＳトランジスタと、前記ノードからの信号をインバータにより反転論理した信号がゲートに入力され、一方の半導体領域が前記ノードと接続され他方の半導体領域が電源電圧に接続される第２のＰＭＯＳトランジスタと、前記ノードと前記インバータを介して接続された出力部と、を備えたことを特徴とするデータ転送回路。
【請求項２】
前記データバスと第１のＮＭＯＳトランジスタの間に、ゲート及びドレイン領域が接続されるとともにソース領域に抵抗分割によって電源電圧よりも低い電位が与えられる第２のＮＭＯＳトランジスタを配置したことを特徴としている請求項１に記載のデータ転送回路。
【請求項３】
請求項１に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第３のＮＭＯＳトランジスタを介してさらに上位の信号線と接続され、上位の信号線はＯＲゲートの一方のゲートに入力され、このＯＲゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ＯＲゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする半導体集積回路装置。
【請求項４】
請求項２に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第３のＮＭＯＳトランジスタを介してさらに上位の信号線と接続され、上位の信号線はＯＲゲートの一方のゲートに入力され、このＯＲゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ＯＲゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする半導体集積回路装置。
【請求項５】
前記インバータには高電位を検出し、上位の信号線の電位が電源電圧よりも低い一定レベルの値を越えないようにリミッタを接続したことを特徴とする請求項３ないし４のいずれかに記載の半導体集積回路。
【請求項６】
前記入力用信号線はデータ転送回路の出力側のデータバスに隣接して配置することを特徴とする請求項３ないし５のいずれかに記載の半導体集積回路。
【請求項７】
データが入出力されるデータ保持部と、このデータ保持部からのデータを演算し、データ保持部に出力する演算部とを備えた機能ブロックを、複数個備え、前記データ保持部と演算部間がバスによって接続され、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に請求項３ないし６に記載の半導体集積回路装置を用いたことを特徴とする半導体集積回路装置。
【請求項８】
プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサを構成する半導体集積回路装置において、各プロセッサエレメントは、演算部と、複数のレジスタを有するレジスタファイルと、演算部とレジスタファイル間を接続するバスと、を備え、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に請求項３ないし６に記載の半導体集積回路装置を用いたことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、プリチャージ、ディスチャージ方式のバス信号線にデータを出力するデータ転送回路及びその回路を用いた半導体集積回路装置に関する。
【０００２】
【従来の技術】
従来、複数の回路（例えばレジスタなど）からデータバスへデータを出力する方法として、プリチャージ方式の回路構成を取るバスシステムが多く用いられている。
【０００３】
図１１は最も基本的なプリチャージバスの構成を示す回路図である。同図に示すように、このバスシステムは、バス１と、バス１に接続されたデータ保持部２（２’）…、チャージ保持部３と、に大別される。
【０００４】
チャージ保持部３には、プリチャージ信号（ＰＣＫ）が与えられる。このプリチャージ信号（ＰＣＫ）は、第１期間内ではＬｏｗレベル（Ｌ）であり、それに引き継ぐ第２期間内ではＨｉｇｈレベル（Ｈ）にある信号であり、と”Ｌ”，”Ｈ”を繰り返す信号である。
【０００５】
データバス１にはノード（信号線）１５で接続されるＰＭＯＳトランジスタ１０，１１とが接続されている。ＰＭＯＳトランジスタ１０のゲート電極には、ＰＣＫ信号が入力され、ＰＭＯＳトランジスタ１１のゲート電極には、データバス１の論理がインバータ１４により反転された値が与えられる。これらＰＭＯＳトランジスタ１０，１１のドレイン領域には電源電位Ｖｃｃが与えられる。
【０００６】
データ保持部２は直列に接続されたＮＭＯＳトランジスタ２０，２１とデコーダ２２とからなるバスドライバ２３及びレジスタ２４から構成されている。
【０００７】
上記したバスシステムにおいて、例えば、データ保持部２からデータ保持部２’へデータ転送する場合につき説明する。第１期間（Ｌ）には、データバス１はＰＭＯＳトランジスタ１０によって”Ｈ”電位にプリチャージされる。第２期間（Ｈ）においては、プリチャージ用のＰＭＯＳトランジスタ１０はＯＦＦするが、ＰＭＯＳトランジスタ１１はＯＮしているためデータバス１の電位は”Ｈ”を保持している。この時、ソースとなったデータ保持部２においては、デコーダ２２の出力が”Ｈ”となり、レジスタ２４に格納されているデータが”Ｌ”の場合は上記ＰＭＯＳトランジスタ１１は十分に小さいサイズなので、データバス１がディスチャージされ電位が”Ｌ”に変化し、ディスティネーションとなっているデータ保持部２’内部のレジスタ２４’に”Ｌ”データが書き込まれる。逆にソースとなったレジスタ２４に格納されているデータが”Ｈ”の場合はＮＭＯＳトランジスタ２１がＯＮしないためデータバスの値は”Ｈ”を保持し、ディスティネーションのレジスタ２４’に”Ｈ”データが書き込まれる。
【０００８】
しかしながら、近年、回路規模が大きくなるにしたがってデータバスの負荷容量が増加し、ディスチャージ時間が増加するという問題があった。また、消費電力を低減する必要が増してきた。
【０００９】
そこで、従来、データ転送の高速化、低消費電力化のために、バスセンスアンプを用いる方法、ディスチャージの高速化のためのバス駆動検出回路を用いたもの、さらに低振幅プリチャージを用いるなどの方法があった。
【００１０】
例えば、特開平３−１０８５１５号公報には、差動アンプを用いることでバスの低振幅化を図ったデータ転送装置について開示している。また、特開平８−１７１４３８号公報には、データバスのプリチャージとディスチャージとで別のＮＭＯＳトランジスタを用いてバスセンスアンプによるディスチャージの高速化を行うことについて開示されている。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来のバス駆動検出回路を用いた方法ではバスドライバとは別にディスチャージ用の回路を設ける必要があることに加え、データバスの長さが長くなると制御が困難になる短所があった。また、差動アンプを用いた方法ではデータバスが正反の２本必要となるため回路規模が増えてしまうという問題があった。
【００１２】
この発明は、上述した従来の問題点に鑑みなされたものにして、簡単な構成で高速かつ消費電力の少ないバスドライバ回路を実現することをその目的としている。
【００１３】
また、この発明は、上位のデータバスの振幅抑制による低消費電力化とプリチャージ期間においてもデータ転送を行うことで転送効率を上げることをその目的としている。
【００１４】
【課題を解決するための手段】
この発明は、データバスにデータ保持部とバスアンプが接続され、プリチャージ信号を与えてデータ転送を行っているデータ転送回路において、前記バスアンプは、前記データバスの電位を所定のレベルにプリチャージするためにゲートにプリチャージ信号が与えられ、一方の半導体領域が電源電圧と接続され他方の半導体領域がノードに接続される第１のＰＭＯＳトランジスタと、抵抗分割によって電源電圧よりも低い値の電圧が与えられ、一方の半導体領域が前記ノードに接続され他方の半導体領域が前記データバスに接続される第１のＮＭＯＳトランジスタと、前記ノードからの信号をインバータにより反転論理した信号がゲートに入力され、一方の半導体領域が前記ノードと接続され他方の半導体領域が電源電圧に接続される第２のＰＭＯＳトランジスタと、前記ノードと前記インバータを介して接続された出力部と、を備えたことを特徴とする。
【００１５】
この発明は、第１のＰＭＯＳトランジスタ、第１のＮＭＯＳトランジスタ第２のＰＭＯＳトランジスタという簡単な構成のバスセンスアンプを付加することで高速かつ消費電力の少ないバスドライバ回路を実現させることができる。
【００１６】
さらに、この発明は、前記データバスと第１のＮＭＯＳトランジスタの間に、ゲート及びドレイン領域が接続されるとともにソース領域に抵抗分割によって電源電圧よりも低い電位が与えられる第２のＮＭＯＳトランジスタを配置するように構成するとよい。
【００１７】
ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバスの電位がチャージアップすることが考えられる。そこで、上記した構成によれば、第２のＮＭＯＳトランジスタがリミッタとして機能し、データバスのチャージアップを防止することができる。
【００１８】
又、この発明の半導体集積回路装置は、上記に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第３のＮＭＯＳトランジスタを介してさらに上位の信号線と接続され、上位の信号線はＯＲゲートの一方のゲートに入力され、このＯＲゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ＯＲゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする。
【００１９】
上記の構成によれば、出力制御回路を付加することで、低消費電力化とプリチャージ期間においてもデータ転送を行うことで転送効率を上げることができる。
【００２１】
また、前記インバータには高電位を検出し、上位の信号線の電位が電源電圧よりも低い一定レベルの値を越えないようにリミッタを接続するように構成すると良い。
【００２２】
上記の構成によれば、上位バスは所定の電位で振幅制御され、消費電力を少なくすることができる。
【００２３】
また、前記入力用信号線はデータ転送回路の出力側のデータバスに隣接して配置するように構成すると良い。
【００２４】
上記の構成によれば、入力側の信号線を出力側のデータバスに隣接して配置することによって、データバスのチャージロスを防止することが可能となり、チップ面積を削減することができる。
【００２５】
また、この発明は、データが入出力されるデータ保持部と、このデータ保持部からのデータを演算し、データ保持部に出力する演算部とを備えた機能ブロックを、複数個備え、前記データ保持部と演算部間がバスによって接続され、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に上記に記載の半導体集積回路装置を用いたことを特徴とする。
【００２６】
また、この発明は、プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサを構成する半導体集積回路装置において、各プロセッサエレメントは、演算部と、複数のレジスタを有するレジスタファイルと、演算部とレジスタファイル間を接続するバスと、を備え、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に上記に記載の半導体集積回路装置を用いたことを特徴とする。
【００２７】
【発明の実施の形態】
以下、この発明の実施の形態につき図面を参照して説明する。なお、従来例と同一部分には同一符号を付す。
【００２８】
図１は、この発明の第１の実施形態にかかるデータ転送回路の構成を示す回路図である。
【００２９】
図１に示すように、この実施形態の構成は、大別して、バス１、データ保持部２（２’）及びバスセンスアンプ４とからなる。バス１にはデータ保持部２のバスドライバ２３及びバスセンスアンプ４が接続されている。
【００３０】
バスセンスアンプ４には、プリチャージ信号（ＰＣＫ）、電源電圧Ｖｃｃよりも低い所定の電圧ＶＤＤ１のバイアスが与えられる。プリチャージ信号（ＰＣＫ）は、第１期間内ではＬｏｗレベル（Ｌ）であり、それに引き継ぐ第２期間内ではＨｉｇｈレベル（Ｈ）にある信号であり、”Ｌ”，”Ｈ”を繰り返す信号である。この実施形態では、ＰＣＫ信号が”Ｌ”の時である第１期間をプリチャージ期間、ＰＣＫ信号が”Ｈ”の時である第２期間をディスチャージ期間と呼ぶことにする。また、電圧ＶＤＤ１は、例えば抵抗分割によって作成されるためＤＣ電流が流れることになるが、同一の構成を持つ回路（データ保持部２…が３２ビット幅だとすると同一回路が３２個ある）でこのバイアスを共用することで総消費電力として増加分を少なくすることが可能である。
【００３１】
ノード（信号線）１５には、ＰＭＯＳトランジスタ１０，１１のソース領域が接続されている。ノード（信号線）１５は、データバス１にＮＭＯＳトランジスタ１２を介して接続されている。このＮＭＯＳトランジスタ１２はソース領域がノード１５に接続され、ドレイン領域がデータバス１と接続される。ＰＭＯＳトランジスタ１０のゲート電極には、プリチャージ信号線からＰＣＫ信号が入力され、ＰＭＯＳトランジスタ１１のゲート電極には、データバス１の論理がインバータ１４により反転された値が与えられる。これらＰＭＯＳトランジスタ１０，１１のドレイン領域には電源電位Ｖｃｃが与えられる。
【００３２】
データ保持部２は直列に接続されたＮＭＯＳトランジスタ２０，２１とデコーダ２２とからなるバスドライバ２３及びデータ元となるレジスタ２４から構成されている。そして、デコーダ２２にはデコード信号ＢＳ０＃とプリチャージ信号ＰＣＫの反転信号ＰＣＫ＃が与えられる。
【００３３】
図２は、この発明の第１の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図２を参照して第１の実施形態にかかるデータ転送回路の動作について説明する。
【００３４】
第１期間ではＰＭＯＳトランジスタ１０のゲート電圧が”Ｌ”であるためノード（信号線）１５は電源電圧Ｖｃｃまでプリチャージされる。ＰＭＯＳトランジスタ１１はインバータ１４によりノード（信号線）１５の逆位相の信号をゲート電極に入力されているので、プリチャージ期間が終わってＰＭＯＳトランジスタ１０がＯＦＦしてもノード（信号線）１５の電位を電源電圧Ｖｃｃに保持することが出来る。ただし、後述する第２期間においてディスチャージの妨げにならないよう十分に小さくする必要がある。
【００３５】
データバス１はゲート電圧がＶＤＤ１であるＮＭＯＳトランジスタ１２を介してノード（信号線）１５と接続されているため、電位が（ＶＤＤ１−Ｖｔｈ）までしか上昇しない。ここで、ＶｔｈはＮＭＯＳトランジスタ１２の閾値電圧である。ＶＤＤ１として、例えば（ＶＤＤ−Ｖｔｈ）のバイアスに設定した場合では、プリチャージされる電位が（ＶＤＤ−２＊Ｖｔｈ）までに抑制できるため充放電による消費電力成分を少なくすることができる。
【００３６】
第２期間では、ＰＭＯＳトランジスタ１０はゲート電圧が”Ｈ”となるためＯＦＦし、ノード（信号線）１５の電位はＰＭＯＳトランジスタ１１のみによって保持されている。例えばレジスタ０（Ｒｅｇ０）の値を読み出す場合について考えてみる。レジスタ０の値を読み出す時にはデコード信号ＢＳ０＃、ＢＳ１＃、．．．の内でＢＳ０＃だけが”Ｌ”となる。プリチャージ信号ＰＣＫの反転信号ＰＣＫ＃は”Ｌ”であるのでＮＭＯＳトランジスタ２０がＯＮする。レジスタ０のデータが”Ｌ”の場合はＮＭＯＳトランジスタ２１もＯＮし、データバス１の電位はディスチャージされ”Ｌ”に落ちる。するとＮＭＯＳトランジスタ１２がＯＮするのでノード（信号線）１５の電位も”Ｌ”に落ち、”Ｌ”データがバスセンスアンプ４より出力される（第２期間（Ｂ））。
【００３７】
また、レジスタ０のデータが”Ｈ”の場合にはＮＭＯＳトランジスタ２１はＯＮしないのでデータバス１及びノード（信号線）１５はプリチャージされたままの状態を保持し”Ｈ”データがセンスアンプ４から出力されることになる（第２期間（Ｄ））。
【００３８】
ところで、上記ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス１の電位がチャージアップすることが考えられる。クロストークの効果については隣接する配線間でドライブ力に差がある場合に顕著になることがわかっており、プリチャージ完了後にはデータバス１はハイインピーダンスになるため特に影響を受けやすくなることになる。図３に示すこの発明の第２の実施形態はかかるクロストークからの影響を防止したデータ転送回路である。図３に従い第２の実施形態につき説明する。なお、第１の実施形態と同一部分には同一符号を付し、説明の重複を避けるためにここではその説明を割愛する。
【００３９】
バスセンスアンプ４にはプリチャージ信号ＰＣＫ及び電源電圧Ｖｃｃよりも低い所定の電圧ＶＤＤ１、ＶＤＤ２のバイアスが入力されている。両バイアスは例えば抵抗分割によって作成されるためＤＣ電流が流れることになるが、同一の構成を持つ回路（データ保持部が３２ビット幅だとすると同一回路が３２個ある）で両バイアスを共用することで総消費電力として増加分を少なくすることが可能である。
【００４０】
さて、この第２の実施形態においては、クロストークの影響を防止するため、ＮＭＯＳトランジスタ１２とデータバス１との間にＮＭＯＳトランジスタ１３を挿入している。このＮＭＯＳトランジスタ１３は、データバス１とゲート及びドレイン領域とが接続され、ＮＭＯＳトランジスタ１３のソース領域には抵抗分割によって電源電圧よりも低い電位ＶＤＤ２が与えられている。
【００４１】
ＮＭＯＳトランジスタ１３はデータバスの電位が（ＶＤＤ２＋Ｖｔｈ）以上になるとＯＮするためリミッタとして機能し、データバス１のチャージアップを防止している。ここで、Ｖｔｈは、ＮＭＯＳトランジスタ１３の閾値である。
【００４２】
図４は、この発明の第２の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図４を参照して第２の実施形態にかかるデータ転送回路の動作について説明する。
【００４３】
第１期間ではＰＭＯＳトランジスタ１０のゲート電圧が”Ｌ”であるためノード（信号線）１５は電源電圧Ｖｃｃまでプリチャージされる。ＰＭＯＳトランジスタ１１はノード（信号線）１５の逆位相の信号をゲート電極に入力されているので、プリチャージ期間が終わってＰＭＯＳトランジスタ１０がＯＦＦしてもノード（信号線）１５の電位を電源電圧Ｖｃｃに保持することが出来る。
【００４４】
前述したように、データバス１はゲート電圧がＶＤＤ１であるＮＭＯＳトランジスタ１２を介して信号線１５と接続されているため、電位が（ＶＤＤ１−Ｖｔｈ）までしか上昇しない。
【００４５】
第２期間では、ＰＭＯＳトランジスタ１０はゲート電圧が”Ｈ”となるためＯＦＦし、ノード（信号線１５）の電位はＰＭＯＳトランジスタ１１のみによって保持されている。
【００４６】
上記したように、例えば、レジスタ０の値を読み出す時にはデコード信号ＢＳ０＃、ＢＳ１＃、．．．の内でＢＳ０＃だけが”Ｌ”となる。プリチャージ信号ＰＣＫの反転信号ＰＣＫ＃は”Ｌ”であるのでＮＭＯＳトランジスタ２０がＯＮする。レジスタ０のデータが”Ｌ”の場合はＮＭＯＳトランジスタ２１もＯＮしデータバス２の電位はディスチャージされ”Ｌ”に落ちる。するとＮＭＯＳトランジスタ１２がＯＮするので信号線１５の電位も”Ｌ”に落ち、”Ｌ”データがバスセンスアンプより出力される（第２期間（Ｂ））。また、レジスタ０のデータが”Ｈ”の場合にはＮＭＯＳトランジスタ２１はＯＮしないのでデータバス２及び信号線１５はプリチャージされたままの状態を保持し”Ｈ”データが出力されることになる（第２期間（Ｄ））。
【００４７】
上記ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス１の電位がチャージアップすることが考えられる。そこで、この第２の実施形態ではこれを防止するため、ＮＭＯＳトランジスタ１３を挿入している。ＮＭＯＳトランジスタ１３はデータバス１の電位が（ＶＤＤ２＋Ｖｔｈ）以上になるとＯＮするためリミッタとして機能し、データバスのチャージアップを防止している。
【００４８】
ＶＤＤ２として例えば（Ｖｃｃ−３＊Ｖｔｈ）＜ＶＤＤ２＜（Ｖｃｃ−２＊Ｖｔｈ）になるような値を設定すると、上記で例示したデータバス１のプリチャージ電圧（Ｖｃｃ−２＊Ｖｔｈ）よりも差分である（ＶＤＤ２−Ｖｃｃ＋３＊Ｖｔｈ）以上のチャージアップがあった場合にＮＭＯＳトランジスタ１３がリミッタとして機能する。
【００４９】
次に、この発明の第３の実施形態につき説明する。図５は、この発明の第３の実施形態にかかるデータ転送回路の構成を示す回路図である。
【００５０】
この第３の実施形態は、図示しているとおり、上述した図１又は図３に示すデータ転送回路の回路構成に更に上位のバスとのデータ転送部を付加したものである。この図５に示すものは、図３に示すデータ転送回路を用いているが、図１に示すものも用いても良い。但し、図１に用いたものでは、上述したように、ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス１の電位がチャージアップすることが考えられるが、データバスの振幅抑制による消費電力の低減等の効果は得られる。なお、図３と同一構成には同一符号を付している。
【００５１】
第３の実施形態の構成は大別するとデータ保持部２、出力側のデータバス１、バスセンスアンプ４に付加されたものとして入力側のデータバス６及び入出力制御部５とからなる。入力側のデータバス６は上位のデータバス５５を経由してデータ保持部２内部のレジスタにデータを書き込むために使用される。
【００５２】
入出力制御部５はバスセンスアンプ４の出力信号を反転するインバータ（５０と５１）、インバータ（５０と５１）の出力をＮＭＯＳトランジスタ５４を介して上位のデータバス５５に接続しているバスドライバと上位のデータバス５５のデータを入力側のデータバス６に出力するためのＯＲゲート部５６とからなり、上位のデータバス５５との間でのデータの入出力の制御を行っている。
【００５３】
ＮＭＯＳトランジスタ５４のゲート電極に接続されている信号線ＢＳはデータバス１にぶら下がっているデータ保持部２…の内どれかがソースとなった場合に第２期間のみ”Ｈ”となる信号であり、バスセンスアンプ４の出力を上位のデータバス５５に出力するものである。
【００５４】
また、ＯＲゲート部５６は、ＮＯＲゲート５６ａとインバータ５６ｂとで構成されており、ＮＯＲゲート５６ａの一方が上位データバス５５と接続され、上記ＮＯＲゲート５６ａの他方にはレジスタ０，１，．．．のどれかがディスティネーションで、かつ第１期間内のみ”Ｌ”になる信号ＢＤ＃が入力されており、第１期間において上位のデータバス５５の値をレジスタ２４…に書き込みができることにあわせて、データ保持部２への書き込みが起こった場合を除いてデータバス６の電位を”Ｈ”に保つようにしている。
【００５５】
また上記データ保持部２…内部のレジスタ２４…にはデータの書込みイネーブル信号ＢＤ０，ＢＤ１，．．．が入力されており、該当するレジスタ２４がディスティネーションになった時に”Ｈ”となり、データバス６のデータを書き込むことができる。
【００５６】
このように、この第３の実施形態においては、第１期間において出力側のデータバス１のプリチャージと上位のデータバス３５からデータ保持部２へのデータの書込みを同時に行い、第２期間において出力側のデータバス１のディスチャージ、すなわち上位のデータバス５５へのデータ出力を行うことによって２倍の転送能力を持ったバスシステムを構築している。
【００５７】
また、出力側のデータバス１はプリチャージラインなので、隣接した配線がディスチャージ期間に”Ｈ”から”Ｌ”に遷移するような信号の場合にはクロストークによってチャージロスが発生することが考えられるのでＧＮＤラインあるいはＶＣＣラインなどの高速動作しない配線によってシールドする必要がある。ただし、本発明の構成を取れば入力側のデータバス６を出力側のデータバス１に隣接して配置することによってチャージロスを防止することが可能であるため、チップ面積を削減することができる。
【００５８】
図６は、この発明の第３の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図６を参照して第３の実施形態にかかるデータ転送回路の動作について説明する。
【００５９】
図ではレジスタ０（Ｒｅｇ０）に対して、第１期間（Ｃ）においては”Ｌ”データの書き込み、第１期間（Ｅ）においては”Ｈ”データの書込みを行っている。また、第２期間（Ｂ）及び第２期間（Ｄ）においてはレジスタ０（Ｒｅｇ０）の値を上位のバスに読み出している。データバス１は第１期間（Ｃ）においてデータバス６の遷移に伴いクロストークによって一瞬電位が落ちているが、この期間はプリチャージ期間であるためＮＭＯＳトランジスタ１２を介して電流が流れ込み電位を回復することができる。同様に第２期間（Ｄ）の頭でクロストークによって一瞬チャージアップするが、（ＶＤＤ２＋Ｖｔｈ）よりも高い電位までチャージアップすると、チャージアップ防止用のＮＭＯＳトランジスタ１３がＯＮするためディスチャージ時間が遅れることを防止している。
【００６０】
次に、この発明の第４の実施形態につき説明する。図７は、この発明の第４の実施形態にかかるデータ転送回路の構成を示す回路図である。この第４の実施形態は、第３の実施形態において、さらに、上位のデータバス５５の振幅を抑制したものである。
【００６１】
図７に示すように、入出力制御部５はバスセンスアンプ４の出力信号を反転するインバータ（５０と５１）の間にＮＭＯＳトランジスタ５２を挿入し、該インバータ（５０と５１）の出力をＮＭＯＳトランジスタ５４を介して上位のデータバス５５に接続しているバスドライバと上位のデータバス５５のデータを入力側のデータバス６に出力するためのＯＲゲート部５６とからなり、上位のデータバス５５との間でのデータの入出力の制御を行っている。
【００６２】
ＮＭＯＳトランジスタ５４のゲート電極に接続されている信号線ＢＳはデータバス１にぶら下がっているデータ保持部２…の内どれかがソースとなった場合に、第２期間のみ”Ｈ”となる信号であり、バスセンスアンプ４の出力を上位のデータバス５５に出力できる。
【００６３】
ＮＭＯＳトランジスタ５２のゲート電極にはバス駆動検出器５３の出力信号が接続されており、ノード（信号線）５５の電位が所定の電位以上になるとＯＦＦするようになっているため、上位のデータバス５５の振幅を抑制することが可能となる。また、上記データ保持部２…内部のレジスタ２４にはデータの書き込みイネーブル信号ＢＤ０，ＢＤ１，．．．が入力されており、該当するレジスタがディスティネーションになった時に”Ｈ”となり、データバス６のデータを書き込むことができる。上記ＯＲ回路の片側にはレジスタ０，１，．．．のどれかがディスティネーションで、かつ第１期間内のみ”Ｌ”になる信号ＢＤ＃が入力されており、第１期間において上位のデータバス５５の値をレジスタ２４に書き込みができることにあわせて、データ保持部への書き込みが起こった場合を除いてデータバス６の電位を”Ｈ”に保つようにしている。
【００６４】
このように、この第４の実施形態は第１期間において出力側のデータバスのプリチャージと上位のデータバスからデータ保持部へのデータの書込みを同時に行い、第２期間において出力側のデータバスのディスチャージ、すなわち上位のデータバスへのデータ出力を行うことによって２倍の転送能力を持ったバスシステムを構築している。
【００６５】
また、出力側のデータバス１はプリチャージラインなので、隣接した配線がディスチャージ期間に”Ｈ”から”Ｌ”に遷移するような信号の場合にはクロストークによってチャージロスが発生することが考えられるのでＧＮＤラインあるいはＶＣＣラインなどの高速動作しない配線によってシールドする必要がある。ただし、本発明の構成を取れば入力側のデータバス６を出力側のデータバス１に隣接して配置することによってデータバスのチャージロスを防止することが可能であるため、チップ面積を削減することができる。
【００６６】
図８にこの発明回路の各信号線の時間遷移について記す。以降の説明は図８に基づいて行うことにする。図８ではレジスタ０（Ｒｅｇ０）に対して、第１期間（Ｃ）においては”Ｌ”データの書き込み、第１期間（Ｅ）においては”Ｈ”データの書き込みを行っている。また、第２期間（Ｂ）及び第２期間（Ｄ）においてはレジスタ０（Ｒｅｇ０）の値を上位のバスに読み出している。データバス１は第１期間（Ｃ）においてデータバス６の遷移に伴いクロストークによって一瞬電位が落ちているが、この期間はプリチャージ期間であるためＮＭＯＳトランジスタ１２を介して電流が流れ込み電位を回復することができる。同様に第２期間（Ｄ）の頭でクロストークによって一瞬チャージアップするが、（ＶＤＤ２＋Ｖｔｈ）よりも高い電位までチャージアップすると、チャージアップ防止用のＮＭＯＳトランジスタ１３がＯＮするためディスチャージ時間が遅れることを防止している。また、上位バスはＶＴ＋の電位で振幅制御される。
【００６７】
バス本数が多くなるほど消費電流は多くなるが、本発明によれば、振幅抑制されているので、消費電流を少なくすることができる。このため、バスの本数が多いプロセッサに本発明を用いれば特に効果が得られる。次に、プロセッサの中でもバス数が多いＳＩＭＤプロセッサに本発明を適用した例につき、図９を参照して説明する。
【００６８】
このＳＩＭＤ型プロセッサは、グローバルプロセッサ１０２、本実施形態では２５６組の後述するプロセッサエレメント１０３ａからなるプロセッサエレメントブロック１０３と、インタフェース１０４から構成される。インタフェース１０４はグローバルプロセッサ１０２の命令に基づき、イメージスキャナなどの外部入力部から演算対象となるデータをプロセッサ内部の入出力用のレジスタフィル１３１に与えるとともに、演算処理されたデータをレジスタファイル１３１からプリンタなどの外部出力部へ転送するものである。
【００６９】
この外部入出力装置は、ディジタル画像データなどの演算データを入出力するものである。外部入力装置としては、イメージスキャナや画像が格納された画像メモリがあり、外部出力装置としては画像データを印字するプリンタ、データを格納する画像メモリなどがある。
【００７０】
グローバルプロセッサ１０２は、いわゆるＳＩＳＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｔｒｅａｍ  Ｓｉｎｇｌｅ  Ｄａｔａ  Ｓｔｒｅａｍ）タイプのプロセッサであり、プログラムＲＡＭとデータＲＡＭを内蔵し、プログラムを解読し、各種制御信号を生成する。この制御信号は内蔵する各種ブロックの制御以外にもレジスタファイル１３１、演算アレイ１３６に供給される。また、ＧＰ（グローバルプロセッサ）命令実行時は内蔵する汎用レジスタ、ＡＬＵ（算術論理演算器）等を使用して各種演算処理、プログラム制御処理を行う。
【００７１】
レジスタファイル１３１はＰＥ（プロセッサエレメント）命令で処理されるデータを保持している。このＰＥ命令はＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  Ｓｔｒｅａｍ）タイプの命令であり、レジスタファイル１３１に保持されている複数のデータを同時に同じ処理を行う。このレジスタファイル１３１からのデータの読み出し／書き込みの制御はグローバルプロセッサ１０２からの制御によって行われる。読み出されたデータは演算アレイ１３６に送られ、演算アレイ１３６での演算処理後にレジスタファイル１３１に書き込まれる。
【００７２】
また、レジスタファイル１３１はプロセッサ外部からのアクセスが可能であり、グローバルプロセッサ１０２の制御とは別に外部から特定のレジスタを読み出し／書き込みが行われる。
【００７３】
演算アレイ１３６にてＰＥ命令の演算処理が行われる。この処理の制御はすべてグローバルプロセッサ１０２から行われる。
【００７４】
次に、ＳＩＭＤ型プロセッサ１００のレジスタファイル１３１へのデータの読み出し／書き込みの一例につき説明する。
【００７５】
グローバルプロセッサ１０２にはこのプロセッサのプログラム格納用のプログラムＲＡＭ１２１と演算データ格納用のデータＲＡＭ１２４が内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ３レジスタ、レジスタ退避、復帰時に退避先データＲＡＭのアドレスを保持しているスタックポインタ（ＳＰ）、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）、同じくＩＲＱ時とＮＭＩ時の分岐元アドレスを保持するＬＩ、ＬＮレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ（Ｐ）のレジスタ群１２５が内蔵されている。さらに、グローバルプロセッサ１０２は、プログラムＲＡＭ１２１に基づきグローバルプロセッサ１０２、プロセッサエレメントブロック１０３、インタフェース１０４を制御するシーケンスユニット１２２を備える。
【００７６】
また、グローバルプロセッサ１０２は、これらのレジスタ群１２５と図示していない命令デコーダ、算術論理演算器（ＡＬＵ）１２３、図示していないメモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路を使用してＧＰ命令の実行が行われる。
【００７７】
また、ＰＥ命令実行時は命令デコーダ、図示していないレジスタファイル制御回路、ＰＥ演算制御回路を使用して、レジスタファイル１３１の制御と演算アレイ１３６の制御を行う。
【００７８】
上記したように、シーケンスユニット１２２は、プロセッサエレメントブロック１０３を構成するレジスタファイル１３１、及び演算アレイ１３６を制御する。
【００７９】
この演算アレイ１３６は、入出力制御回路１３２、マルチプレクサとシフト拡張回路からなる選択回路１３３、算術論理演算器（ＡＬＵ）１３４、及びＡレジスタ１３５ａ及びＦレジスタ１３５ｂを備える。なお、この図９には記載していないが、この実施形態においては、後述するように、比較手段としての、条件レジスタ及び条件選択レジスタを備える。
【００８０】
さらに、このシーケンスユニット１２２は、インタフェース１０４に対してデータ転送のための動作設定用データ及びコマンド等を送る。インタフェース１０４は、シーケンスユニット１２２の動作設定用データ及びコマンドに基づき、プロセッサエレメント１０３ａのアドレス指定のためのアドレス制御信号、プロセッサエレメント１０３ａを構成するレジスタ１３１ｂにデータのリード／ライトを指示するためのリード／ライト制御信号、クロック信号を与えるためのクロック制御信号を生成する。
【００８１】
ここで、リード／ライト制御信号のうちライト制御信号とは、演算処理されるデータをデータバス１４１ｄより取得して、プロセッサエレメント１０３ａのレジスタ１３１ｂに保持させるための信号をいう。一方、リード／ライト制御信号のうちリード制御信号とは、プロセッサエレメント１０３ａのレジスタ１３１ｂが保持している演算処理されたデータを、データバス１４１ｄへ与えるようレジスタ１３１ｂに指示するための信号をいう。
【００８２】
インタフェース１０４は、グローバルプロセッサ１０２からのコマンドを受けて、プロセッサエレメントブロック１０３を構成するプロセッサエレメント１０３ａのアドレスを指定する信号（以下、「アドレス指定信号」という。）を作成し、アドレスバス１４１ａを介してプロセッサエレメント１０３ａのレジスタコントローラ１３１ａヘ送る。また、インタフェース１０４は、後述するように、プロセッサエレメント１０３ａを構成するレジスタ１３１ｂに対して、データのリード／ライトを指示するための信号（以下、「リード／ライト指示信号」という。）を、リード／ライト信号線１４１ｂを介してプロセッサエレメント１０３ａの後述するレジスタコントローラ１３１ａヘリード／ライト信号が与えられる。
【００８３】
また、インタフェース１０４は、クロック信号線１４１ｃを介してプロセッサエレメント１０３ａの後述するレジスタコントローラ１３１ａへクロック信号を与える。
【００８４】
さらに、外部入出力データバスからは、上述したように、ＳＩＭＤ型プロセッサの外部に設けられたイメージスキャナ等で読み込んだデータを、本実施形態では８ビットのパラレルデータとして、インタフェース１０４に与える。この８ビットのデータは、データバス１４１ｄに与えられる。この８ビットのパラレルデータについては、データに応じて適宜変更しても問題ない。このデータバス１４１ｄは、レジスタ１３１ｂに保持されている演算処理されたデータが、ＳＩＭＤ型プロセッサの外部に転送される時にも使用される。
【００８５】
また、レジスタ群１２５は、プロセッサエレメントブロック１０３の後述するレジスタ１３５に接続されており、このレジスタ１３５との間でシーケンスユニット１２２の制御によりデータの交換が行われる。
【００８６】
プロセッサエレメントブロック１０３は、図９に示すように、レジスタファイル１３１、この発明の図７に示す入出力制御部５と同様に構成された入出力制御回路１３２、マルチプレクサとシフト拡張回路からなる選択回路３、ＡＬＵ１３４、Ａレジスタ１３５ａ、Ｆレジスタ１３５ｂを一単位とする複数のプロセッサエレメント３ａを備える。レジスタファイル１３１には、１つのプロセッサエレメント３ａ単位に８ビットのレジスタが３２本内蔵されており、本実施形態では２５６のプロセッサエレメント分の組がアレイ構成になっている。レジスタファイル１３１は１つのプロセッサエレメント（ＰＥ）３ａごとにＲ０、Ｒ１、Ｒ２、．．．Ｒ３１と呼ばれているレジスタが内蔵されている。それぞれのレジスタファイル１３１は演算アレイ１３６に対して１つの読み出しポートと１つの書き込みポートを備えており、８ビットの出力用内部バス１３７と８ビットの入力用内部バス１３８で演算アレイ１３６からアクセスされる。
【００８７】
これら内部バス１３７、１３８は演算アレイ１３４にデータを送る出力用内部バス１３７（図７に示すデータバス１に相当する）と、演算アレイ１３４からレジスタ１３１にデータを書き込むための入力用内部データバス１３８（図７に示す入力データバス６に相当する。）からなる。
【００８８】
出力用内部バス１３７は、バスセンスアンプ４によりプリチャージされる。また、入出力制御回路１３２内に図７に示すデータ転送部５が設けられている。
【００８９】
３２本のレジスタの内、２４本はプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード／ライト制御を入力することで任意のレジスタを読み書きできる。
【００９０】
レジスタの外部からのアクセスは１つの外部ポートで各プロセッサエレメント１０３ａの１つのレジスタがアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号（０〜２５５）を指定する。したがって、レジスタアクセスの外部ポートは全部で２４組搭載されている。
【００９１】
本実施形態では、プロセッサエレメント１０３ａの数を２５６個として説明するが、これに限定されるものでなく適宜変更して使用してもよい。このプロセッサエレメント１０３ａには、グローバルプロセッサ１０２のシーケンスユニット１２２により、インタフェース１０４に近い順に０から２５５までのアドレスが割り付けられる。
【００９２】
プロセッサエレメント１０３ａのレジスタファイル１３１は、レジスタコントローラ１３１ａ、２種類のレジスタ１３１ｂ、１３１ｃを備える。本実施形態では、図９に示すように、一単位のプロセッサエレメント１０３ａ毎に、レジスタコントローラ１３１ａとレジスタ１３１ｂとを２４組備え、さらにレジスタ１３１ｃを８個備えている。図９中の１プロセッサエレメントとは１つのプロセッサエレメント１０３ａを表している。ここで、本実施形態では、レジスタ１３１ｂ、１３１ｃを８ビットのものとして扱うが、これに限定されるものでなく適宜変更して使用してもよい。
【００９３】
レジスタコントローラ１３１ａは、図９に示すように、インタフェース４と、上述したアドレスバス１４１ａ、リード／ライト信号線１４１ｂ、クロック信号線１４１ｃを介して接続されている。
【００９４】
インタフェース１０４は、グローバルプロセッサ１０２からデータ転送指示を受け取ると、アドレス指定信号をアドレスバス１４１ａを介してプロセッサエレメントブロック１０３ヘ送る。これにより、プロセッサエレメント１０３ａがアドレス指定される。レジスタコントローラ１３１ａは、送られてきたアドレス指定信号をデコードし、デコードしたアドレスと、自己に割り付けられたアドレスとが一致する場合には、クロック信号１４１ｃを介して送られてきたクロック信号に同期して、リード／ライト信号１４１ｂから送られてきたリード／ライト指示信号を得る。具体的には、レジスタコントローラ１３１ａは、リード／ライト信号１４１ｂを介してリード／ライト指示信号を得る。そして、このリード／ライト指示信号はレジスタ１３１ｂに与えられる。
【００９５】
インタフェース１０４からプロセッサエレメント１０３ａに対し、ライト指示信号が送られてきた場合には、プロセッサエレメント１０３ａのレジスタ１３１ｂは、演算処理されるデータ（８ビット）をデータバス１４１ｄより取得して保持する。また、インタフェース１０４からプロセッサエレメント１０３ａに対し、リード指示信号が送られてきた場合には、プロセッサエレメント１０３ａのレジスタ１３１ｂは、演算処理されたデータ（８ビット）をデータバス４１ｄへ送る。
【００９６】
レジスタ１３１ｂは、後述するＡＬＵ１３４でこれから演算される外部から入力されたデータを保持したり、或いはＡＬＵ１３４で演算処理されたデータを外部へ出力するために保持するものであり、いわゆる入力レジスタとしても、或いは出力レジスタとしても機能する。また、演算処理されるデータ、或いは演算されたデータを一時的に保持するといった、後述するレジスタ１３１ｃとしての機能も有する。なお、本実施形態では、レジスタ１３１ｂは８ビットのデータを保持できるものとして扱うが、データに応じて適宜変更しても問題ない。上述したレジスタコントローラ１３１ａからライト指示信号が与えられると、レジスタ１３１ｂは演算処理されるデータをデータバス１４１ｄより取得して保持する。一方、レジスタコントローラ１３１ａからリード指示信号が送られてくると、レジスタ１３１ｂは保持している演算処理されたデータをデータバス１４１ｄへ与える。このデータはインタフェース１０４から外部データバスを介して外部のプリンタなどへ転送される。
【００９７】
また、レジスタ１３１ｂは、本実施形態においては８ビットデータをパラレルで転送するこの発明に基づきバスセンスアンプ４によりプリチャージされる出力用内部データバス１３７を介して入出力制御回路１３２に接続されている。ＡＬＵ１３４で演算処理されるデータは、出力用内部データバス１３７から与えられる。また、ＡＬＵ１３４で演算処理されたデータは、この入力用内部データバス１３８を介して、レジスタ１３１ｂに転送される。この転送は、グローバルプロセッサ１０２のシーケンスユニット１２２からの指示によって、グローバルプロセッサ１０２に接続されたリード信号線１２６ａ、ライト信号線１２６ｂを介して行われる。具体的には、グローバルプロセッサ１０２のシーケンスユニット１２２から、リード信号線１２６ａを介してリード指示信号が送られてくると、レジスタ１３１ｂは保持している演算処理されるデータを出力用内部データバス１３７へ置く。このデータはＡＬＵ１３４へ送られ演算処理される。一方、グローバルプロセッサ１０２のシーケンスユニット１２２から、ライト信号線１２６ｂを介してライト指示信号が送られてくると、レジスタ１３１ｂは入力用内部データバス１３８を介して送られてきたＡＬＵ１３４で演算処理されたデータを保持する。
【００９８】
レジスタ１３１ｃは、レジスタ１３１ｂより与えられた演算処理されるデータ、或いは演算されたデータがレジスタ１３１ｂに与えられる前に、そのデータを一時的に保持するものである。
【００９９】
プロセッサエレメント１０３ａの命令による演算は、基本的にレジスタファイル１３１から読み出されたデータをＡＬＵ１３４の片側の入力としてもう片側にはＡレジスタ１３５ａの内容を入力として結果をＡレジスタ１３５ａに格納する。したがって、Ａレジスタ１３５ａとレジスタファイル１３１のＲ０〜Ｒ３１レジスタとの演算が行われることとなる。レジスタファイル１３１と演算アレイ１３６との接続に（８ｔｏ１）のマルチプレクサとシフト拡張回路１３３からなる選択回路１３３を置いており、プロセッサエレメント方向で左に１、２、３つ離れたデータと右に１、２、３つ離れたデータ、中央のデータを演算対象として選択している。また、レジスタファイル３１の８ビットのデータは入出力制御回路１３３により任意ビットの左シフトしてＡＬＵ１３４に入力される。なお、上記（８ｔｏ１）のマルチプレクサの１つの入力は、グローバルプロセッサ１０２からのデータが与えられるように構成されている。
【０１００】
上記したように、選択回路１３３は、自己のプロセッサエレメント１０３ａに備えられた上記データバス１３７、１３８に接続されるとともに、両隣３つのプロセッサエレメント１０３ａに備えられたデータバス１３７、１３８にも接続されている。この選択回路１３３は７つのプロセッサエレメント１０３ａから１つを選択し、その選択したプロセッサエレメント１０３ａにおけるレジスタ１３１ｂ、１３１ｃで保持されているデータをＡＬＵ１３４へ送る。或いはＡＬＵ１３４で演算処理されたデータを、選択したプロセッサエレメント１０３ａにおけるレジスタ１３１ｂ、１３１ｃへ送る。これによって、隣のプロセッサエレメント１０３ａにおけるレジスタ１３１ｂ、１３１ｃで保持されているデータを利用した演算処理が可能になり、ＳＩＭＤ型プロセッサの演算処理能力を高めることができる。
【０１０１】
さらに、この選択回路１３３は、選択回路１３３内のマルチプレクサから送られてきたデータを所定ビットシフトしてＡＬＵ１３４へ送る。或いはＡＬＵ１３４から送られてきた演算処理されたデータを所定ビットシフトして選択回路１３３内のマルチプレクサへ送る。
【０１０２】
ＡＬＵ１３４は、入出力制御回路１３２から送られてきたデータと、Ａレジスタ１３５ａに保持されているデータとに基づき算術論理演算を行う。なお、本実施形態では、ＡＬＵ１３４は１６ビットのデータに対応できるものとして扱うが、データに応じて適宜変更しても問題ない。演算処理されたデータは、Ａレジスタ１３５ａに保持され、入出力制御回路１３２へ転送されたり、或いはグローバルプロセッサ１０２の汎用レジスタ１２５へ転送される。
【０１０３】
グローバルプロセッサ１０２からインタフェース１０４へはＩ／Ｏ用のアドレス、データ、コントロール信号がバスを介して与えられる。
【０１０４】
さらに、図示していない条件レジスタ（Ｔ）により、プロセッサエレメント（ＰＥ）１０３ａ毎に演算実行の有効／無効の制御をしており特定のプロセッサエレメント（ＰＥ）１０３ａだけを演算対象として選択できるように構成している。
【０１０５】
上記したように、この実施形態においては、レジスタファイル１３１には１つのＰＥ１０３ａ単位に８ビットのレジスタが３２本内蔵されており、２５６ＰＥ分の組みがアレイ構成になっている。レジスタはＰＥごとにＲ０、Ｒ１、Ｒ２、．．．Ｒ３１と呼ばれている。それぞれのレジスタは演算アレイ１３６に対して１つの読み出しポートと１つの書き込みポートを備えており、８ビットのバス１３７、１３８で演算アレイ１３６からアクセスされる。３２本のレジスタの内、２４本（Ｒ０〜Ｒ２３）のレジスタ３１ｂは、プロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード／ライト制御を入力することで任意のレジスタを読み書きできる。
【０１０６】
残りの８本（Ｒ２４〜Ｒ３１）のレジスタ１３１ｃはＰＥ演算の一時的な演算データ保存用として使用される。
【０１０７】
上述したように、演算アレイ１３６は１６ビットＡＬＵ１３４と１６ビットＡレジスタ１３５ａ、Ｆレジスタ１３５ｂを内蔵している。ＰＥ命令による演算はレジスタファイル１３１から読み出されたデータもしくはグローバルプロセッサ１０２から与えられたデータをＡＬＵ１３４の片側の入力としてもう片側にはＡレジスタ１３５ａの内容を入力として結果をＡレジスタに格納する。したがって、Ａレジスタ１３５ａとＲ０〜Ｒ３１レジスタ３１ｂ、３１ｃもしくはグローバルプロセッサ１０２から与えられたデータとの演算が行われることとなる。
【０１０８】
この発明のデータ転送回路を用いれば、振幅抑制されているので、消費電流を少なくすることができる。このため、バスの本数が多いＳＩＭＤ型プロセッサに特に効果が得られる。また、上記したように、入力用内部データバス１３７と出力用内部データバス１３８とを、隣接して配置することが可能となり、データバスのチャージロスを防止することができる。この結果、チップ面積を削減することができる。
【０１０９】
上述した実施形態においては、レジスタファイル１３１の外部入出力する方式としてアドレッシング方式を採用し、レジスタファイル１３１をプロセッサ外部からアクセスし、外部からクロックとアドレス、リード／ライト制御を入力することで任意のレジスタを読み書きできるように構成した場合につき説明したが、この発明は他の方式、例えば、外部入出力にシフトレジスタ方式を用いたプロセッサにも適用できる。図１０にシフトレジスタ方式を用いた場合の基本構成を示す。
【０１１０】
図１０に示すように、入力画像データを一時的に蓄積する入力シフトレジスタ１６０と、演算アレイ１３６で画像処理された画像データが並列入力される外部出力シフトレジスタ１６１とを備える。入力シフトレジスタ１６０には、イメージスキャナなどから送られる外部画像データが外部データバスから入力シフトレジスタ１６０に順次与えられる。入力シフトレジスタ１６０には並列ｎビットデータがビット毎に順次シフトされる。この入力シフトレジスタ１６０の段数は、プロセッサエレメントの組数の段数を有し、この実施形態では２５６段の段数を有する。入力シフトレジスタ１６０に蓄積されたデータはレジスタファイル１３１へ移される。レジスタファイル１３１への書き込み動作は入力シフトレジスタ１６０の各段において同時に行われる。このように、レジスタファイル１３１にデータが格納されると、この発明に基づくデータ転送回路及びデータ転送部によりデータ転送が行われ、上述した処理が演算アレイ１３６で行われる。
【０１１１】
演算処理が行われ、この発明に基づくデータ転送回路及びデータ転送部から入力バスによりレジスタファイル１３１に格納されたデータは出力シフトレジスタ１６１の各段に転送される。この出力シフトレジスタ１６１のレジスタ段数はプロセッサエレメントの組数分だけであり、レジスタファイル１３１からデータが出力シフトレジスタ１６１の各段に同時に転送される。この出力シフトレジスタ１６１に与えられるクロックでデータがシリアルに出力される。そして、出力されたデータは外部出力データバスからバッファメモリなどに一時格納され、プリンタなどの外部出力装置に与えられる。
【０１１２】
このように、上記したシフトレジスタ方式においても、この発明を適用すれば、データバスの振幅を抑制でき、消費電力を少なくできる。
【０１１３】
【発明の効果】
上記したように本発明においては、比較的小さなゲート規模のバスセンスアンプをプリチャージラインに接続することで誤動作が少なく、高速で消費電力の少ないデータ転送回路が実現できる。
【０１１４】
さらに、データ転送部を設けることで、上位のデータバスの振幅も抑制したデータ転送回路が実現できる。またプリチャージ期間にデータ書込みを行っているためデータの転送能力が２倍になる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図２】この発明の第１の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図３】この発明の第２の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図４】この発明の第２の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図５】この発明の第３の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図６】この発明の第３の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図７】この発明の第４の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図８】この発明の第４の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図９】この発明をＳＩＭＤ型プロセッサに用いた例を示すブロック図である。
【図１０】この発明が適用される他のＳＩＭＤ型プロセッサを示すブロック図である。
【図１１】最も基本的なプリチャージバスの構成を示す回路図である。
【符号の説明】
１  データバス
２  データ保持部
４  バスセンスアンプ
１０  ＰＭＯＳトランジスタ
１１  ＰＭＯＳトランジスタ
１２  ＮＭＯＳトランジスタ
１３  ＮＭＯＳトランジスタ
１５  ノード（信号線）
【図１】
0003886314.tif 000002
【図２】
0003886314.tif 000003
【図３】
0003886314.tif 000004
【図４】
0003886314.tif 000005
【図５】
0003886314.tif 000006
【図６】
0003886314.tif 000007
【図７】
0003886314.tif 000008
【図８】
0003886314.tif 000009
【図９】
0003886314.tif 000010
【図１０】
0003886314.tif 000011
【図１１】
0003886314.tif 000012