JP3886314B2 - Data transfer circuit and semiconductor integrated circuit device using the same - Google Patents

Data transfer circuit and semiconductor integrated circuit device using the same Download PDF

Info

Publication number
JP3886314B2
JP3886314B2 JP2000030893A JP2000030893A JP3886314B2 JP 3886314 B2 JP3886314 B2 JP 3886314B2 JP 2000030893 A JP2000030893 A JP 2000030893A JP 2000030893 A JP2000030893 A JP 2000030893A JP 3886314 B2 JP3886314 B2 JP 3886314B2
Authority
JP
Japan
Prior art keywords
data
bus
input
register
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000030893A
Other languages
Japanese (ja)
Other versions
JP2001222348A (en
Inventor
和彦 岩永
慎一 山浦
和彦 原
貴雄 片山
浩資 高藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2000030893A priority Critical patent/JP3886314B2/en
Publication of JP2001222348A publication Critical patent/JP2001222348A/en
Application granted granted Critical
Publication of JP3886314B2 publication Critical patent/JP3886314B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electronic Switches (AREA)
  • Logic Circuits (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、プリチャージ、ディスチャージ方式のバス信号線にデータを出力するデータ転送回路及びその回路を用いた半導体集積回路装置に関する。
【0002】
【従来の技術】
従来、複数の回路(例えばレジスタなど)からデータバスへデータを出力する方法として、プリチャージ方式の回路構成を取るバスシステムが多く用いられている。
【0003】
図11は最も基本的なプリチャージバスの構成を示す回路図である。同図に示すように、このバスシステムは、バス1と、バス1に接続されたデータ保持部2(2’)…、チャージ保持部3と、に大別される。
【0004】
チャージ保持部3には、プリチャージ信号(PCK)が与えられる。このプリチャージ信号(PCK)は、第1期間内ではLowレベル(L)であり、それに引き継ぐ第2期間内ではHighレベル(H)にある信号であり、と”L”,”H”を繰り返す信号である。
【0005】
データバス1にはノード(信号線)15で接続されるPMOSトランジスタ10,11とが接続されている。PMOSトランジスタ10のゲート電極には、PCK信号が入力され、PMOSトランジスタ11のゲート電極には、データバス1の論理がインバータ14により反転された値が与えられる。これらPMOSトランジスタ10,11のドレイン領域には電源電位Vccが与えられる。
【0006】
データ保持部2は直列に接続されたNMOSトランジスタ20,21とデコーダ22とからなるバスドライバ23及びレジスタ24から構成されている。
【0007】
上記したバスシステムにおいて、例えば、データ保持部2からデータ保持部2’へデータ転送する場合につき説明する。第1期間(L)には、データバス1はPMOSトランジスタ10によって”H”電位にプリチャージされる。第2期間(H)においては、プリチャージ用のPMOSトランジスタ10はOFFするが、PMOSトランジスタ11はONしているためデータバス1の電位は”H”を保持している。この時、ソースとなったデータ保持部2においては、デコーダ22の出力が”H”となり、レジスタ24に格納されているデータが”L”の場合は上記PMOSトランジスタ11は十分に小さいサイズなので、データバス1がディスチャージされ電位が”L”に変化し、ディスティネーションとなっているデータ保持部2’内部のレジスタ24’に”L”データが書き込まれる。逆にソースとなったレジスタ24に格納されているデータが”H”の場合はNMOSトランジスタ21がONしないためデータバスの値は”H”を保持し、ディスティネーションのレジスタ24’に”H”データが書き込まれる。
【0008】
しかしながら、近年、回路規模が大きくなるにしたがってデータバスの負荷容量が増加し、ディスチャージ時間が増加するという問題があった。また、消費電力を低減する必要が増してきた。
【0009】
そこで、従来、データ転送の高速化、低消費電力化のために、バスセンスアンプを用いる方法、ディスチャージの高速化のためのバス駆動検出回路を用いたもの、さらに低振幅プリチャージを用いるなどの方法があった。
【0010】
例えば、特開平3−108515号公報には、差動アンプを用いることでバスの低振幅化を図ったデータ転送装置について開示している。また、特開平8−171438号公報には、データバスのプリチャージとディスチャージとで別のNMOSトランジスタを用いてバスセンスアンプによるディスチャージの高速化を行うことについて開示されている。
【0011】
【発明が解決しようとする課題】
しかしながら、従来のバス駆動検出回路を用いた方法ではバスドライバとは別にディスチャージ用の回路を設ける必要があることに加え、データバスの長さが長くなると制御が困難になる短所があった。また、差動アンプを用いた方法ではデータバスが正反の2本必要となるため回路規模が増えてしまうという問題があった。
【0012】
この発明は、上述した従来の問題点に鑑みなされたものにして、簡単な構成で高速かつ消費電力の少ないバスドライバ回路を実現することをその目的としている。
【0013】
また、この発明は、上位のデータバスの振幅抑制による低消費電力化とプリチャージ期間においてもデータ転送を行うことで転送効率を上げることをその目的としている。
【0014】
【課題を解決するための手段】
この発明は、データバスにデータ保持部とバスアンプが接続され、プリチャージ信号を与えてデータ転送を行っているデータ転送回路において、前記バスアンプは、前記データバスの電位を所定のレベルにプリチャージするためにゲートにプリチャージ信号が与えられ、一方の半導体領域が電源電圧と接続され他方の半導体領域がノードに接続される第1のPMOSトランジスタと、抵抗分割によって電源電圧よりも低い値の電圧が与えられ、一方の半導体領域が前記ノードに接続され他方の半導体領域が前記データバスに接続される第1のNMOSトランジスタと、前記ノードからの信号をインバータにより反転論理した信号がゲートに入力され、一方の半導体領域が前記ノードと接続され他方の半導体領域が電源電圧に接続される第2のPMOSトランジスタと、前記ノードと前記インバータを介して接続された出力部と、を備えたことを特徴とする。
【0015】
この発明は、第1のPMOSトランジスタ、第1のNMOSトランジスタ第2のPMOSトランジスタという簡単な構成のバスセンスアンプを付加することで高速かつ消費電力の少ないバスドライバ回路を実現させることができる。
【0016】
さらに、この発明は、前記データバスと第1のNMOSトランジスタの間に、ゲート及びドレイン領域が接続されるとともにソース領域に抵抗分割によって電源電圧よりも低い電位が与えられる第2のNMOSトランジスタを配置するように構成するとよい。
【0017】
ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバスの電位がチャージアップすることが考えられる。そこで、上記した構成によれば、第2のNMOSトランジスタがリミッタとして機能し、データバスのチャージアップを防止することができる。
【0018】
又、この発明の半導体集積回路装置は、上記に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第3のNMOSトランジスタを介してさらに上位の信号線と接続され、上位の信号線はORゲートの一方のゲートに入力され、このORゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ORゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする。
【0019】
上記の構成によれば、出力制御回路を付加することで、低消費電力化とプリチャージ期間においてもデータ転送を行うことで転送効率を上げることができる。
【0021】
また、前記インバータには高電位を検出し、上位の信号線の電位が電源電圧よりも低い一定レベルの値を越えないようにリミッタを接続するように構成すると良い。
【0022】
上記の構成によれば、上位バスは所定の電位で振幅制御され、消費電力を少なくすることができる。
【0023】
また、前記入力用信号線はデータ転送回路の出力側のデータバスに隣接して配置するように構成すると良い。
【0024】
上記の構成によれば、入力側の信号線を出力側のデータバスに隣接して配置することによって、データバスのチャージロスを防止することが可能となり、チップ面積を削減することができる。
【0025】
また、この発明は、データが入出力されるデータ保持部と、このデータ保持部からのデータを演算し、データ保持部に出力する演算部とを備えた機能ブロックを、複数個備え、前記データ保持部と演算部間がバスによって接続され、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に上記に記載の半導体集積回路装置を用いたことを特徴とする。
【0026】
また、この発明は、プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサを構成する半導体集積回路装置において、各プロセッサエレメントは、演算部と、複数のレジスタを有するレジスタファイルと、演算部とレジスタファイル間を接続するバスと、を備え、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に上記に記載の半導体集積回路装置を用いたことを特徴とする。
【0027】
【発明の実施の形態】
以下、この発明の実施の形態につき図面を参照して説明する。なお、従来例と同一部分には同一符号を付す。
【0028】
図1は、この発明の第1の実施形態にかかるデータ転送回路の構成を示す回路図である。
【0029】
図1に示すように、この実施形態の構成は、大別して、バス1、データ保持部2(2’)及びバスセンスアンプ4とからなる。バス1にはデータ保持部2のバスドライバ23及びバスセンスアンプ4が接続されている。
【0030】
バスセンスアンプ4には、プリチャージ信号(PCK)、電源電圧Vccよりも低い所定の電圧VDD1のバイアスが与えられる。プリチャージ信号(PCK)は、第1期間内ではLowレベル(L)であり、それに引き継ぐ第2期間内ではHighレベル(H)にある信号であり、”L”,”H”を繰り返す信号である。この実施形態では、PCK信号が”L”の時である第1期間をプリチャージ期間、PCK信号が”H”の時である第2期間をディスチャージ期間と呼ぶことにする。また、電圧VDD1は、例えば抵抗分割によって作成されるためDC電流が流れることになるが、同一の構成を持つ回路(データ保持部2…が32ビット幅だとすると同一回路が32個ある)でこのバイアスを共用することで総消費電力として増加分を少なくすることが可能である。
【0031】
ノード(信号線)15には、PMOSトランジスタ10,11のソース領域が接続されている。ノード(信号線)15は、データバス1にNMOSトランジスタ12を介して接続されている。このNMOSトランジスタ12はソース領域がノード15に接続され、ドレイン領域がデータバス1と接続される。PMOSトランジスタ10のゲート電極には、プリチャージ信号線からPCK信号が入力され、PMOSトランジスタ11のゲート電極には、データバス1の論理がインバータ14により反転された値が与えられる。これらPMOSトランジスタ10,11のドレイン領域には電源電位Vccが与えられる。
【0032】
データ保持部2は直列に接続されたNMOSトランジスタ20,21とデコーダ22とからなるバスドライバ23及びデータ元となるレジスタ24から構成されている。そして、デコーダ22にはデコード信号BS0#とプリチャージ信号PCKの反転信号PCK#が与えられる。
【0033】
図2は、この発明の第1の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図2を参照して第1の実施形態にかかるデータ転送回路の動作について説明する。
【0034】
第1期間ではPMOSトランジスタ10のゲート電圧が”L”であるためノード(信号線)15は電源電圧Vccまでプリチャージされる。PMOSトランジスタ11はインバータ14によりノード(信号線)15の逆位相の信号をゲート電極に入力されているので、プリチャージ期間が終わってPMOSトランジスタ10がOFFしてもノード(信号線)15の電位を電源電圧Vccに保持することが出来る。ただし、後述する第2期間においてディスチャージの妨げにならないよう十分に小さくする必要がある。
【0035】
データバス1はゲート電圧がVDD1であるNMOSトランジスタ12を介してノード(信号線)15と接続されているため、電位が(VDD1−Vth)までしか上昇しない。ここで、VthはNMOSトランジスタ12の閾値電圧である。VDD1として、例えば(VDD−Vth)のバイアスに設定した場合では、プリチャージされる電位が(VDD−2*Vth)までに抑制できるため充放電による消費電力成分を少なくすることができる。
【0036】
第2期間では、PMOSトランジスタ10はゲート電圧が”H”となるためOFFし、ノード(信号線)15の電位はPMOSトランジスタ11のみによって保持されている。例えばレジスタ0(Reg0)の値を読み出す場合について考えてみる。レジスタ0の値を読み出す時にはデコード信号BS0#、BS1#、...の内でBS0#だけが”L”となる。プリチャージ信号PCKの反転信号PCK#は”L”であるのでNMOSトランジスタ20がONする。レジスタ0のデータが”L”の場合はNMOSトランジスタ21もONし、データバス1の電位はディスチャージされ”L”に落ちる。するとNMOSトランジスタ12がONするのでノード(信号線)15の電位も”L”に落ち、”L”データがバスセンスアンプ4より出力される(第2期間(B))。
【0037】
また、レジスタ0のデータが”H”の場合にはNMOSトランジスタ21はONしないのでデータバス1及びノード(信号線)15はプリチャージされたままの状態を保持し”H”データがセンスアンプ4から出力されることになる(第2期間(D))。
【0038】
ところで、上記ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス1の電位がチャージアップすることが考えられる。クロストークの効果については隣接する配線間でドライブ力に差がある場合に顕著になることがわかっており、プリチャージ完了後にはデータバス1はハイインピーダンスになるため特に影響を受けやすくなることになる。図3に示すこの発明の第2の実施形態はかかるクロストークからの影響を防止したデータ転送回路である。図3に従い第2の実施形態につき説明する。なお、第1の実施形態と同一部分には同一符号を付し、説明の重複を避けるためにここではその説明を割愛する。
【0039】
バスセンスアンプ4にはプリチャージ信号PCK及び電源電圧Vccよりも低い所定の電圧VDD1、VDD2のバイアスが入力されている。両バイアスは例えば抵抗分割によって作成されるためDC電流が流れることになるが、同一の構成を持つ回路(データ保持部が32ビット幅だとすると同一回路が32個ある)で両バイアスを共用することで総消費電力として増加分を少なくすることが可能である。
【0040】
さて、この第2の実施形態においては、クロストークの影響を防止するため、NMOSトランジスタ12とデータバス1との間にNMOSトランジスタ13を挿入している。このNMOSトランジスタ13は、データバス1とゲート及びドレイン領域とが接続され、NMOSトランジスタ13のソース領域には抵抗分割によって電源電圧よりも低い電位VDD2が与えられている。
【0041】
NMOSトランジスタ13はデータバスの電位が(VDD2+Vth)以上になるとONするためリミッタとして機能し、データバス1のチャージアップを防止している。ここで、Vthは、NMOSトランジスタ13の閾値である。
【0042】
図4は、この発明の第2の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図4を参照して第2の実施形態にかかるデータ転送回路の動作について説明する。
【0043】
第1期間ではPMOSトランジスタ10のゲート電圧が”L”であるためノード(信号線)15は電源電圧Vccまでプリチャージされる。PMOSトランジスタ11はノード(信号線)15の逆位相の信号をゲート電極に入力されているので、プリチャージ期間が終わってPMOSトランジスタ10がOFFしてもノード(信号線)15の電位を電源電圧Vccに保持することが出来る。
【0044】
前述したように、データバス1はゲート電圧がVDD1であるNMOSトランジスタ12を介して信号線15と接続されているため、電位が(VDD1−Vth)までしか上昇しない。
【0045】
第2期間では、PMOSトランジスタ10はゲート電圧が”H”となるためOFFし、ノード(信号線15)の電位はPMOSトランジスタ11のみによって保持されている。
【0046】
上記したように、例えば、レジスタ0の値を読み出す時にはデコード信号BS0#、BS1#、...の内でBS0#だけが”L”となる。プリチャージ信号PCKの反転信号PCK#は”L”であるのでNMOSトランジスタ20がONする。レジスタ0のデータが”L”の場合はNMOSトランジスタ21もONしデータバス2の電位はディスチャージされ”L”に落ちる。するとNMOSトランジスタ12がONするので信号線15の電位も”L”に落ち、”L”データがバスセンスアンプより出力される(第2期間(B))。また、レジスタ0のデータが”H”の場合にはNMOSトランジスタ21はONしないのでデータバス2及び信号線15はプリチャージされたままの状態を保持し”H”データが出力されることになる(第2期間(D))。
【0047】
上記ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス1の電位がチャージアップすることが考えられる。そこで、この第2の実施形態ではこれを防止するため、NMOSトランジスタ13を挿入している。NMOSトランジスタ13はデータバス1の電位が(VDD2+Vth)以上になるとONするためリミッタとして機能し、データバスのチャージアップを防止している。
【0048】
VDD2として例えば(Vcc−3*Vth)<VDD2<(Vcc−2*Vth)になるような値を設定すると、上記で例示したデータバス1のプリチャージ電圧(Vcc−2*Vth)よりも差分である(VDD2−Vcc+3*Vth)以上のチャージアップがあった場合にNMOSトランジスタ13がリミッタとして機能する。
【0049】
次に、この発明の第3の実施形態につき説明する。図5は、この発明の第3の実施形態にかかるデータ転送回路の構成を示す回路図である。
【0050】
この第3の実施形態は、図示しているとおり、上述した図1又は図3に示すデータ転送回路の回路構成に更に上位のバスとのデータ転送部を付加したものである。この図5に示すものは、図3に示すデータ転送回路を用いているが、図1に示すものも用いても良い。但し、図1に用いたものでは、上述したように、ディスチャージにおいて動作速度を遅くする要因として、隣接する配線とのクロストークが原因でデータバス1の電位がチャージアップすることが考えられるが、データバスの振幅抑制による消費電力の低減等の効果は得られる。なお、図3と同一構成には同一符号を付している。
【0051】
第3の実施形態の構成は大別するとデータ保持部2、出力側のデータバス1、バスセンスアンプ4に付加されたものとして入力側のデータバス6及び入出力制御部5とからなる。入力側のデータバス6は上位のデータバス55を経由してデータ保持部2内部のレジスタにデータを書き込むために使用される。
【0052】
入出力制御部5はバスセンスアンプ4の出力信号を反転するインバータ(50と51)、インバータ(50と51)の出力をNMOSトランジスタ54を介して上位のデータバス55に接続しているバスドライバと上位のデータバス55のデータを入力側のデータバス6に出力するためのORゲート部56とからなり、上位のデータバス55との間でのデータの入出力の制御を行っている。
【0053】
NMOSトランジスタ54のゲート電極に接続されている信号線BSはデータバス1にぶら下がっているデータ保持部2…の内どれかがソースとなった場合に第2期間のみ”H”となる信号であり、バスセンスアンプ4の出力を上位のデータバス55に出力するものである。
【0054】
また、ORゲート部56は、NORゲート56aとインバータ56bとで構成されており、NORゲート56aの一方が上位データバス55と接続され、上記NORゲート56aの他方にはレジスタ0,1,...のどれかがディスティネーションで、かつ第1期間内のみ”L”になる信号BD#が入力されており、第1期間において上位のデータバス55の値をレジスタ24…に書き込みができることにあわせて、データ保持部2への書き込みが起こった場合を除いてデータバス6の電位を”H”に保つようにしている。
【0055】
また上記データ保持部2…内部のレジスタ24…にはデータの書込みイネーブル信号BD0,BD1,...が入力されており、該当するレジスタ24がディスティネーションになった時に”H”となり、データバス6のデータを書き込むことができる。
【0056】
このように、この第3の実施形態においては、第1期間において出力側のデータバス1のプリチャージと上位のデータバス35からデータ保持部2へのデータの書込みを同時に行い、第2期間において出力側のデータバス1のディスチャージ、すなわち上位のデータバス55へのデータ出力を行うことによって2倍の転送能力を持ったバスシステムを構築している。
【0057】
また、出力側のデータバス1はプリチャージラインなので、隣接した配線がディスチャージ期間に”H”から”L”に遷移するような信号の場合にはクロストークによってチャージロスが発生することが考えられるのでGNDラインあるいはVCCラインなどの高速動作しない配線によってシールドする必要がある。ただし、本発明の構成を取れば入力側のデータバス6を出力側のデータバス1に隣接して配置することによってチャージロスを防止することが可能であるため、チップ面積を削減することができる。
【0058】
図6は、この発明の第3の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。図6を参照して第3の実施形態にかかるデータ転送回路の動作について説明する。
【0059】
図ではレジスタ0(Reg0)に対して、第1期間(C)においては”L”データの書き込み、第1期間(E)においては”H”データの書込みを行っている。また、第2期間(B)及び第2期間(D)においてはレジスタ0(Reg0)の値を上位のバスに読み出している。データバス1は第1期間(C)においてデータバス6の遷移に伴いクロストークによって一瞬電位が落ちているが、この期間はプリチャージ期間であるためNMOSトランジスタ12を介して電流が流れ込み電位を回復することができる。同様に第2期間(D)の頭でクロストークによって一瞬チャージアップするが、(VDD2+Vth)よりも高い電位までチャージアップすると、チャージアップ防止用のNMOSトランジスタ13がONするためディスチャージ時間が遅れることを防止している。
【0060】
次に、この発明の第4の実施形態につき説明する。図7は、この発明の第4の実施形態にかかるデータ転送回路の構成を示す回路図である。この第4の実施形態は、第3の実施形態において、さらに、上位のデータバス55の振幅を抑制したものである。
【0061】
図7に示すように、入出力制御部5はバスセンスアンプ4の出力信号を反転するインバータ(50と51)の間にNMOSトランジスタ52を挿入し、該インバータ(50と51)の出力をNMOSトランジスタ54を介して上位のデータバス55に接続しているバスドライバと上位のデータバス55のデータを入力側のデータバス6に出力するためのORゲート部56とからなり、上位のデータバス55との間でのデータの入出力の制御を行っている。
【0062】
NMOSトランジスタ54のゲート電極に接続されている信号線BSはデータバス1にぶら下がっているデータ保持部2…の内どれかがソースとなった場合に、第2期間のみ”H”となる信号であり、バスセンスアンプ4の出力を上位のデータバス55に出力できる。
【0063】
NMOSトランジスタ52のゲート電極にはバス駆動検出器53の出力信号が接続されており、ノード(信号線)55の電位が所定の電位以上になるとOFFするようになっているため、上位のデータバス55の振幅を抑制することが可能となる。また、上記データ保持部2…内部のレジスタ24にはデータの書き込みイネーブル信号BD0,BD1,...が入力されており、該当するレジスタがディスティネーションになった時に”H”となり、データバス6のデータを書き込むことができる。上記OR回路の片側にはレジスタ0,1,...のどれかがディスティネーションで、かつ第1期間内のみ”L”になる信号BD#が入力されており、第1期間において上位のデータバス55の値をレジスタ24に書き込みができることにあわせて、データ保持部への書き込みが起こった場合を除いてデータバス6の電位を”H”に保つようにしている。
【0064】
このように、この第4の実施形態は第1期間において出力側のデータバスのプリチャージと上位のデータバスからデータ保持部へのデータの書込みを同時に行い、第2期間において出力側のデータバスのディスチャージ、すなわち上位のデータバスへのデータ出力を行うことによって2倍の転送能力を持ったバスシステムを構築している。
【0065】
また、出力側のデータバス1はプリチャージラインなので、隣接した配線がディスチャージ期間に”H”から”L”に遷移するような信号の場合にはクロストークによってチャージロスが発生することが考えられるのでGNDラインあるいはVCCラインなどの高速動作しない配線によってシールドする必要がある。ただし、本発明の構成を取れば入力側のデータバス6を出力側のデータバス1に隣接して配置することによってデータバスのチャージロスを防止することが可能であるため、チップ面積を削減することができる。
【0066】
図8にこの発明回路の各信号線の時間遷移について記す。以降の説明は図8に基づいて行うことにする。図8ではレジスタ0(Reg0)に対して、第1期間(C)においては”L”データの書き込み、第1期間(E)においては”H”データの書き込みを行っている。また、第2期間(B)及び第2期間(D)においてはレジスタ0(Reg0)の値を上位のバスに読み出している。データバス1は第1期間(C)においてデータバス6の遷移に伴いクロストークによって一瞬電位が落ちているが、この期間はプリチャージ期間であるためNMOSトランジスタ12を介して電流が流れ込み電位を回復することができる。同様に第2期間(D)の頭でクロストークによって一瞬チャージアップするが、(VDD2+Vth)よりも高い電位までチャージアップすると、チャージアップ防止用のNMOSトランジスタ13がONするためディスチャージ時間が遅れることを防止している。また、上位バスはVT+の電位で振幅制御される。
【0067】
バス本数が多くなるほど消費電流は多くなるが、本発明によれば、振幅抑制されているので、消費電流を少なくすることができる。このため、バスの本数が多いプロセッサに本発明を用いれば特に効果が得られる。次に、プロセッサの中でもバス数が多いSIMDプロセッサに本発明を適用した例につき、図9を参照して説明する。
【0068】
このSIMD型プロセッサは、グローバルプロセッサ102、本実施形態では256組の後述するプロセッサエレメント103aからなるプロセッサエレメントブロック103と、インタフェース104から構成される。インタフェース104はグローバルプロセッサ102の命令に基づき、イメージスキャナなどの外部入力部から演算対象となるデータをプロセッサ内部の入出力用のレジスタフィル131に与えるとともに、演算処理されたデータをレジスタファイル131からプリンタなどの外部出力部へ転送するものである。
【0069】
この外部入出力装置は、ディジタル画像データなどの演算データを入出力するものである。外部入力装置としては、イメージスキャナや画像が格納された画像メモリがあり、外部出力装置としては画像データを印字するプリンタ、データを格納する画像メモリなどがある。
【0070】
グローバルプロセッサ102は、いわゆるSISD(Single Instruction Stream Single Data Stream)タイプのプロセッサであり、プログラムRAMとデータRAMを内蔵し、プログラムを解読し、各種制御信号を生成する。この制御信号は内蔵する各種ブロックの制御以外にもレジスタファイル131、演算アレイ136に供給される。また、GP(グローバルプロセッサ)命令実行時は内蔵する汎用レジスタ、ALU(算術論理演算器)等を使用して各種演算処理、プログラム制御処理を行う。
【0071】
レジスタファイル131はPE(プロセッサエレメント)命令で処理されるデータを保持している。このPE命令はSIMD(Single Instruction Stream Multiple Data Stream)タイプの命令であり、レジスタファイル131に保持されている複数のデータを同時に同じ処理を行う。このレジスタファイル131からのデータの読み出し/書き込みの制御はグローバルプロセッサ102からの制御によって行われる。読み出されたデータは演算アレイ136に送られ、演算アレイ136での演算処理後にレジスタファイル131に書き込まれる。
【0072】
また、レジスタファイル131はプロセッサ外部からのアクセスが可能であり、グローバルプロセッサ102の制御とは別に外部から特定のレジスタを読み出し/書き込みが行われる。
【0073】
演算アレイ136にてPE命令の演算処理が行われる。この処理の制御はすべてグローバルプロセッサ102から行われる。
【0074】
次に、SIMD型プロセッサ100のレジスタファイル131へのデータの読み出し/書き込みの一例につき説明する。
【0075】
グローバルプロセッサ102にはこのプロセッサのプログラム格納用のプログラムRAM121と演算データ格納用のデータRAM124が内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ(PC)、演算処理のデータ格納のための汎用レジスタであるG0〜G3レジスタ、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)、同じくIRQ時とNMI時の分岐元アドレスを保持するLI、LNレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)のレジスタ群125が内蔵されている。さらに、グローバルプロセッサ102は、プログラムRAM121に基づきグローバルプロセッサ102、プロセッサエレメントブロック103、インタフェース104を制御するシーケンスユニット122を備える。
【0076】
また、グローバルプロセッサ102は、これらのレジスタ群125と図示していない命令デコーダ、算術論理演算器(ALU)123、図示していないメモリ制御回路、割り込み制御回路、外部I/O制御回路、GP演算制御回路を使用してGP命令の実行が行われる。
【0077】
また、PE命令実行時は命令デコーダ、図示していないレジスタファイル制御回路、PE演算制御回路を使用して、レジスタファイル131の制御と演算アレイ136の制御を行う。
【0078】
上記したように、シーケンスユニット122は、プロセッサエレメントブロック103を構成するレジスタファイル131、及び演算アレイ136を制御する。
【0079】
この演算アレイ136は、入出力制御回路132、マルチプレクサとシフト拡張回路からなる選択回路133、算術論理演算器(ALU)134、及びAレジスタ135a及びFレジスタ135bを備える。なお、この図9には記載していないが、この実施形態においては、後述するように、比較手段としての、条件レジスタ及び条件選択レジスタを備える。
【0080】
さらに、このシーケンスユニット122は、インタフェース104に対してデータ転送のための動作設定用データ及びコマンド等を送る。インタフェース104は、シーケンスユニット122の動作設定用データ及びコマンドに基づき、プロセッサエレメント103aのアドレス指定のためのアドレス制御信号、プロセッサエレメント103aを構成するレジスタ131bにデータのリード/ライトを指示するためのリード/ライト制御信号、クロック信号を与えるためのクロック制御信号を生成する。
【0081】
ここで、リード/ライト制御信号のうちライト制御信号とは、演算処理されるデータをデータバス141dより取得して、プロセッサエレメント103aのレジスタ131bに保持させるための信号をいう。一方、リード/ライト制御信号のうちリード制御信号とは、プロセッサエレメント103aのレジスタ131bが保持している演算処理されたデータを、データバス141dへ与えるようレジスタ131bに指示するための信号をいう。
【0082】
インタフェース104は、グローバルプロセッサ102からのコマンドを受けて、プロセッサエレメントブロック103を構成するプロセッサエレメント103aのアドレスを指定する信号(以下、「アドレス指定信号」という。)を作成し、アドレスバス141aを介してプロセッサエレメント103aのレジスタコントローラ131aヘ送る。また、インタフェース104は、後述するように、プロセッサエレメント103aを構成するレジスタ131bに対して、データのリード/ライトを指示するための信号(以下、「リード/ライト指示信号」という。)を、リード/ライト信号線141bを介してプロセッサエレメント103aの後述するレジスタコントローラ131aヘリード/ライト信号が与えられる。
【0083】
また、インタフェース104は、クロック信号線141cを介してプロセッサエレメント103aの後述するレジスタコントローラ131aへクロック信号を与える。
【0084】
さらに、外部入出力データバスからは、上述したように、SIMD型プロセッサの外部に設けられたイメージスキャナ等で読み込んだデータを、本実施形態では8ビットのパラレルデータとして、インタフェース104に与える。この8ビットのデータは、データバス141dに与えられる。この8ビットのパラレルデータについては、データに応じて適宜変更しても問題ない。このデータバス141dは、レジスタ131bに保持されている演算処理されたデータが、SIMD型プロセッサの外部に転送される時にも使用される。
【0085】
また、レジスタ群125は、プロセッサエレメントブロック103の後述するレジスタ135に接続されており、このレジスタ135との間でシーケンスユニット122の制御によりデータの交換が行われる。
【0086】
プロセッサエレメントブロック103は、図9に示すように、レジスタファイル131、この発明の図7に示す入出力制御部5と同様に構成された入出力制御回路132、マルチプレクサとシフト拡張回路からなる選択回路3、ALU134、Aレジスタ135a、Fレジスタ135bを一単位とする複数のプロセッサエレメント3aを備える。レジスタファイル131には、1つのプロセッサエレメント3a単位に8ビットのレジスタが32本内蔵されており、本実施形態では256のプロセッサエレメント分の組がアレイ構成になっている。レジスタファイル131は1つのプロセッサエレメント(PE)3aごとにR0、R1、R2、...R31と呼ばれているレジスタが内蔵されている。それぞれのレジスタファイル131は演算アレイ136に対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットの出力用内部バス137と8ビットの入力用内部バス138で演算アレイ136からアクセスされる。
【0087】
これら内部バス137、138は演算アレイ134にデータを送る出力用内部バス137(図7に示すデータバス1に相当する)と、演算アレイ134からレジスタ131にデータを書き込むための入力用内部データバス138(図7に示す入力データバス6に相当する。)からなる。
【0088】
出力用内部バス137は、バスセンスアンプ4によりプリチャージされる。また、入出力制御回路132内に図7に示すデータ転送部5が設けられている。
【0089】
32本のレジスタの内、24本はプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで任意のレジスタを読み書きできる。
【0090】
レジスタの外部からのアクセスは1つの外部ポートで各プロセッサエレメント103aの1つのレジスタがアクセス可能であり、外部から入力されたアドレスでプロセッサエレメントの番号(0〜255)を指定する。したがって、レジスタアクセスの外部ポートは全部で24組搭載されている。
【0091】
本実施形態では、プロセッサエレメント103aの数を256個として説明するが、これに限定されるものでなく適宜変更して使用してもよい。このプロセッサエレメント103aには、グローバルプロセッサ102のシーケンスユニット122により、インタフェース104に近い順に0から255までのアドレスが割り付けられる。
【0092】
プロセッサエレメント103aのレジスタファイル131は、レジスタコントローラ131a、2種類のレジスタ131b、131cを備える。本実施形態では、図9に示すように、一単位のプロセッサエレメント103a毎に、レジスタコントローラ131aとレジスタ131bとを24組備え、さらにレジスタ131cを8個備えている。図9中の1プロセッサエレメントとは1つのプロセッサエレメント103aを表している。ここで、本実施形態では、レジスタ131b、131cを8ビットのものとして扱うが、これに限定されるものでなく適宜変更して使用してもよい。
【0093】
レジスタコントローラ131aは、図9に示すように、インタフェース4と、上述したアドレスバス141a、リード/ライト信号線141b、クロック信号線141cを介して接続されている。
【0094】
インタフェース104は、グローバルプロセッサ102からデータ転送指示を受け取ると、アドレス指定信号をアドレスバス141aを介してプロセッサエレメントブロック103ヘ送る。これにより、プロセッサエレメント103aがアドレス指定される。レジスタコントローラ131aは、送られてきたアドレス指定信号をデコードし、デコードしたアドレスと、自己に割り付けられたアドレスとが一致する場合には、クロック信号141cを介して送られてきたクロック信号に同期して、リード/ライト信号141bから送られてきたリード/ライト指示信号を得る。具体的には、レジスタコントローラ131aは、リード/ライト信号141bを介してリード/ライト指示信号を得る。そして、このリード/ライト指示信号はレジスタ131bに与えられる。
【0095】
インタフェース104からプロセッサエレメント103aに対し、ライト指示信号が送られてきた場合には、プロセッサエレメント103aのレジスタ131bは、演算処理されるデータ(8ビット)をデータバス141dより取得して保持する。また、インタフェース104からプロセッサエレメント103aに対し、リード指示信号が送られてきた場合には、プロセッサエレメント103aのレジスタ131bは、演算処理されたデータ(8ビット)をデータバス41dへ送る。
【0096】
レジスタ131bは、後述するALU134でこれから演算される外部から入力されたデータを保持したり、或いはALU134で演算処理されたデータを外部へ出力するために保持するものであり、いわゆる入力レジスタとしても、或いは出力レジスタとしても機能する。また、演算処理されるデータ、或いは演算されたデータを一時的に保持するといった、後述するレジスタ131cとしての機能も有する。なお、本実施形態では、レジスタ131bは8ビットのデータを保持できるものとして扱うが、データに応じて適宜変更しても問題ない。上述したレジスタコントローラ131aからライト指示信号が与えられると、レジスタ131bは演算処理されるデータをデータバス141dより取得して保持する。一方、レジスタコントローラ131aからリード指示信号が送られてくると、レジスタ131bは保持している演算処理されたデータをデータバス141dへ与える。このデータはインタフェース104から外部データバスを介して外部のプリンタなどへ転送される。
【0097】
また、レジスタ131bは、本実施形態においては8ビットデータをパラレルで転送するこの発明に基づきバスセンスアンプ4によりプリチャージされる出力用内部データバス137を介して入出力制御回路132に接続されている。ALU134で演算処理されるデータは、出力用内部データバス137から与えられる。また、ALU134で演算処理されたデータは、この入力用内部データバス138を介して、レジスタ131bに転送される。この転送は、グローバルプロセッサ102のシーケンスユニット122からの指示によって、グローバルプロセッサ102に接続されたリード信号線126a、ライト信号線126bを介して行われる。具体的には、グローバルプロセッサ102のシーケンスユニット122から、リード信号線126aを介してリード指示信号が送られてくると、レジスタ131bは保持している演算処理されるデータを出力用内部データバス137へ置く。このデータはALU134へ送られ演算処理される。一方、グローバルプロセッサ102のシーケンスユニット122から、ライト信号線126bを介してライト指示信号が送られてくると、レジスタ131bは入力用内部データバス138を介して送られてきたALU134で演算処理されたデータを保持する。
【0098】
レジスタ131cは、レジスタ131bより与えられた演算処理されるデータ、或いは演算されたデータがレジスタ131bに与えられる前に、そのデータを一時的に保持するものである。
【0099】
プロセッサエレメント103aの命令による演算は、基本的にレジスタファイル131から読み出されたデータをALU134の片側の入力としてもう片側にはAレジスタ135aの内容を入力として結果をAレジスタ135aに格納する。したがって、Aレジスタ135aとレジスタファイル131のR0〜R31レジスタとの演算が行われることとなる。レジスタファイル131と演算アレイ136との接続に(8to1)のマルチプレクサとシフト拡張回路133からなる選択回路133を置いており、プロセッサエレメント方向で左に1、2、3つ離れたデータと右に1、2、3つ離れたデータ、中央のデータを演算対象として選択している。また、レジスタファイル31の8ビットのデータは入出力制御回路133により任意ビットの左シフトしてALU134に入力される。なお、上記(8to1)のマルチプレクサの1つの入力は、グローバルプロセッサ102からのデータが与えられるように構成されている。
【0100】
上記したように、選択回路133は、自己のプロセッサエレメント103aに備えられた上記データバス137、138に接続されるとともに、両隣3つのプロセッサエレメント103aに備えられたデータバス137、138にも接続されている。この選択回路133は7つのプロセッサエレメント103aから1つを選択し、その選択したプロセッサエレメント103aにおけるレジスタ131b、131cで保持されているデータをALU134へ送る。或いはALU134で演算処理されたデータを、選択したプロセッサエレメント103aにおけるレジスタ131b、131cへ送る。これによって、隣のプロセッサエレメント103aにおけるレジスタ131b、131cで保持されているデータを利用した演算処理が可能になり、SIMD型プロセッサの演算処理能力を高めることができる。
【0101】
さらに、この選択回路133は、選択回路133内のマルチプレクサから送られてきたデータを所定ビットシフトしてALU134へ送る。或いはALU134から送られてきた演算処理されたデータを所定ビットシフトして選択回路133内のマルチプレクサへ送る。
【0102】
ALU134は、入出力制御回路132から送られてきたデータと、Aレジスタ135aに保持されているデータとに基づき算術論理演算を行う。なお、本実施形態では、ALU134は16ビットのデータに対応できるものとして扱うが、データに応じて適宜変更しても問題ない。演算処理されたデータは、Aレジスタ135aに保持され、入出力制御回路132へ転送されたり、或いはグローバルプロセッサ102の汎用レジスタ125へ転送される。
【0103】
グローバルプロセッサ102からインタフェース104へはI/O用のアドレス、データ、コントロール信号がバスを介して与えられる。
【0104】
さらに、図示していない条件レジスタ(T)により、プロセッサエレメント(PE)103a毎に演算実行の有効/無効の制御をしており特定のプロセッサエレメント(PE)103aだけを演算対象として選択できるように構成している。
【0105】
上記したように、この実施形態においては、レジスタファイル131には1つのPE103a単位に8ビットのレジスタが32本内蔵されており、256PE分の組みがアレイ構成になっている。レジスタはPEごとにR0、R1、R2、...R31と呼ばれている。それぞれのレジスタは演算アレイ136に対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットのバス137、138で演算アレイ136からアクセスされる。32本のレジスタの内、24本(R0〜R23)のレジスタ31bは、プロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御を入力することで任意のレジスタを読み書きできる。
【0106】
残りの8本(R24〜R31)のレジスタ131cはPE演算の一時的な演算データ保存用として使用される。
【0107】
上述したように、演算アレイ136は16ビットALU134と16ビットAレジスタ135a、Fレジスタ135bを内蔵している。PE命令による演算はレジスタファイル131から読み出されたデータもしくはグローバルプロセッサ102から与えられたデータをALU134の片側の入力としてもう片側にはAレジスタ135aの内容を入力として結果をAレジスタに格納する。したがって、Aレジスタ135aとR0〜R31レジスタ31b、31cもしくはグローバルプロセッサ102から与えられたデータとの演算が行われることとなる。
【0108】
この発明のデータ転送回路を用いれば、振幅抑制されているので、消費電流を少なくすることができる。このため、バスの本数が多いSIMD型プロセッサに特に効果が得られる。また、上記したように、入力用内部データバス137と出力用内部データバス138とを、隣接して配置することが可能となり、データバスのチャージロスを防止することができる。この結果、チップ面積を削減することができる。
【0109】
上述した実施形態においては、レジスタファイル131の外部入出力する方式としてアドレッシング方式を採用し、レジスタファイル131をプロセッサ外部からアクセスし、外部からクロックとアドレス、リード/ライト制御を入力することで任意のレジスタを読み書きできるように構成した場合につき説明したが、この発明は他の方式、例えば、外部入出力にシフトレジスタ方式を用いたプロセッサにも適用できる。図10にシフトレジスタ方式を用いた場合の基本構成を示す。
【0110】
図10に示すように、入力画像データを一時的に蓄積する入力シフトレジスタ160と、演算アレイ136で画像処理された画像データが並列入力される外部出力シフトレジスタ161とを備える。入力シフトレジスタ160には、イメージスキャナなどから送られる外部画像データが外部データバスから入力シフトレジスタ160に順次与えられる。入力シフトレジスタ160には並列nビットデータがビット毎に順次シフトされる。この入力シフトレジスタ160の段数は、プロセッサエレメントの組数の段数を有し、この実施形態では256段の段数を有する。入力シフトレジスタ160に蓄積されたデータはレジスタファイル131へ移される。レジスタファイル131への書き込み動作は入力シフトレジスタ160の各段において同時に行われる。このように、レジスタファイル131にデータが格納されると、この発明に基づくデータ転送回路及びデータ転送部によりデータ転送が行われ、上述した処理が演算アレイ136で行われる。
【0111】
演算処理が行われ、この発明に基づくデータ転送回路及びデータ転送部から入力バスによりレジスタファイル131に格納されたデータは出力シフトレジスタ161の各段に転送される。この出力シフトレジスタ161のレジスタ段数はプロセッサエレメントの組数分だけであり、レジスタファイル131からデータが出力シフトレジスタ161の各段に同時に転送される。この出力シフトレジスタ161に与えられるクロックでデータがシリアルに出力される。そして、出力されたデータは外部出力データバスからバッファメモリなどに一時格納され、プリンタなどの外部出力装置に与えられる。
【0112】
このように、上記したシフトレジスタ方式においても、この発明を適用すれば、データバスの振幅を抑制でき、消費電力を少なくできる。
【0113】
【発明の効果】
上記したように本発明においては、比較的小さなゲート規模のバスセンスアンプをプリチャージラインに接続することで誤動作が少なく、高速で消費電力の少ないデータ転送回路が実現できる。
【0114】
さらに、データ転送部を設けることで、上位のデータバスの振幅も抑制したデータ転送回路が実現できる。またプリチャージ期間にデータ書込みを行っているためデータの転送能力が2倍になる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図2】この発明の第1の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図3】この発明の第2の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図4】この発明の第2の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図5】この発明の第3の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図6】この発明の第3の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図7】この発明の第4の実施形態にかかるデータ転送回路の構成を示す回路図である。
【図8】この発明の第4の実施形態にかかるデータ転送回路の各信号線の時間遷移を示すタイミングチャートである。
【図9】この発明をSIMD型プロセッサに用いた例を示すブロック図である。
【図10】この発明が適用される他のSIMD型プロセッサを示すブロック図である。
【図11】最も基本的なプリチャージバスの構成を示す回路図である。
【符号の説明】
1 データバス
2 データ保持部
4 バスセンスアンプ
10 PMOSトランジスタ
11 PMOSトランジスタ
12 NMOSトランジスタ
13 NMOSトランジスタ
15 ノード(信号線)
[0001]
[Industrial application fields]
The present invention relates to a data transfer circuit for outputting data to a precharge / discharge type bus signal line and a semiconductor integrated circuit device using the circuit.
[0002]
[Prior art]
Conventionally, as a method of outputting data from a plurality of circuits (for example, registers) to a data bus, a bus system having a precharge circuit configuration is often used.
[0003]
FIG. 11 is a circuit diagram showing the configuration of the most basic precharge bus. As shown in the figure, this bus system is roughly divided into a bus 1, a data holding unit 2 (2 ′)... Connected to the bus 1, and a charge holding unit 3.
[0004]
The charge holding unit 3 is supplied with a precharge signal (PCK). The precharge signal (PCK) is at a low level (L) in the first period and is at a high level (H) in the second period to be taken over, and repeats “L” and “H”. Signal.
[0005]
The data bus 1 is connected to PMOS transistors 10 and 11 connected by a node (signal line) 15. A PCK signal is input to the gate electrode of the PMOS transistor 10, and a value obtained by inverting the logic of the data bus 1 by the inverter 14 is given to the gate electrode of the PMOS transistor 11. A power supply potential Vcc is applied to the drain regions of the PMOS transistors 10 and 11.
[0006]
The data holding unit 2 is composed of a bus driver 23 and a register 24 which are composed of NMOS transistors 20 and 21 and a decoder 22 connected in series.
[0007]
In the above bus system, for example, a case where data is transferred from the data holding unit 2 to the data holding unit 2 ′ will be described. In the first period (L), the data bus 1 is precharged to the “H” potential by the PMOS transistor 10. In the second period (H), the precharge PMOS transistor 10 is turned off, but the PMOS transistor 11 is turned on, so the potential of the data bus 1 is kept at “H”. At this time, when the output of the decoder 22 is “H” and the data stored in the register 24 is “L” in the source data holding unit 2, the PMOS transistor 11 is sufficiently small in size. The data bus 1 is discharged, the potential changes to “L”, and “L” data is written to the register 24 ′ in the data holding unit 2 ′ that is the destination. Conversely, when the data stored in the source register 24 is “H”, the NMOS transistor 21 is not turned on, so the value of the data bus is kept “H”, and the destination register 24 ′ is “H”. Data is written.
[0008]
However, in recent years, there has been a problem in that the load capacity of the data bus increases as the circuit scale increases and the discharge time increases. In addition, the need to reduce power consumption has increased.
[0009]
Therefore, conventionally, a method using a bus sense amplifier, a method using a bus drive detection circuit for speeding up discharge, and using a low amplitude precharge for speeding up data transfer and reducing power consumption, etc. There was a way.
[0010]
For example, Japanese Patent Laid-Open No. 3-108515 discloses a data transfer device that uses a differential amplifier to reduce the bus amplitude. Japanese Laid-Open Patent Publication No. 8-171438 discloses that the discharge speed is increased by a bus sense amplifier by using different NMOS transistors for precharging and discharging the data bus.
[0011]
[Problems to be solved by the invention]
However, in the conventional method using the bus drive detection circuit, it is necessary to provide a discharge circuit separately from the bus driver, and there is a disadvantage that the control becomes difficult when the length of the data bus is increased. Further, the method using the differential amplifier has a problem that the circuit scale increases because two data buses are required.
[0012]
The present invention has been made in view of the above-described conventional problems, and an object of the present invention is to realize a bus driver circuit having a simple configuration and high speed and low power consumption.
[0013]
Another object of the present invention is to reduce the power consumption by suppressing the amplitude of the upper data bus and to increase the transfer efficiency by performing the data transfer even in the precharge period.
[0014]
[Means for Solving the Problems]
This invention In a data transfer circuit in which a data holding unit and a bus amplifier are connected to a data bus and a data transfer is performed by giving a precharge signal, the bus amplifier precharges the potential of the data bus to a predetermined level. A precharge signal is applied to the gate, a first PMOS transistor in which one semiconductor region is connected to the power supply voltage and the other semiconductor region is connected to the node, and a voltage lower than the power supply voltage is applied by resistance division. A first NMOS transistor in which one semiconductor region is connected to the node and the other semiconductor region is connected to the data bus, and a signal obtained by inverting the signal from the node by an inverter is input to the gate, A second PMOS transistor having a semiconductor region connected to the node and the other semiconductor region connected to a power supply voltage. A register, and an output unit connected via the said nodes inverter, It is provided with.
[0015]
According to the present invention, a bus driver circuit having a simple configuration including a first PMOS transistor, a first NMOS transistor, and a second PMOS transistor can be added to realize a high speed and low power consumption bus driver circuit.
[0016]
Furthermore, the present invention provides a circuit between the data bus and the first NMOS transistor. A second NMOS transistor is arranged in which the gate and drain regions are connected and a potential lower than the power supply voltage is applied to the source region by resistance division. It may be configured to do so.
[0017]
As a factor that slows down the operation speed in discharging, it is conceivable that the potential of the data bus is charged up due to crosstalk with adjacent wiring. Therefore, according to the above-described configuration, the second NMOS transistor functions as a limiter and can prevent the data bus from being charged up.
[0018]
Also, the semiconductor integrated circuit of the present invention An apparatus is provided for the data transfer circuit described above. The output of the data bus is connected to the input of the inverter, the output of the inverter is connected to a higher signal line through a third NMOS transistor, and the higher signal line is input to one gate of the OR gate. An output of the OR gate is connected to an input signal line, and this input signal line has a path for inputting data to a register outputting data to the data bus, and the other gate of the OR gate has the data A signal having the same level as the precharge signal is input during a period when the bus is precharged, and a signal having the same level as the precharge signal is input during a period during which the bus is discharged.
[0019]
According to the above configuration, by adding the output control circuit, it is possible to increase the transfer efficiency by performing the data transfer even in the low power consumption and precharge period.
[0021]
The inverter may be configured to detect a high potential and connect a limiter so that the potential of the upper signal line does not exceed a certain level lower than the power supply voltage.
[0022]
According to the above configuration, the amplitude of the upper bus is controlled at a predetermined potential, so that power consumption can be reduced.
[0023]
The input signal line may be arranged adjacent to the data bus on the output side of the data transfer circuit.
[0024]
According to the above configuration, by arranging the input-side signal line adjacent to the output-side data bus, it becomes possible to prevent a charge loss of the data bus and reduce the chip area.
[0025]
In addition, the present invention includes a plurality of functional blocks each including a data holding unit to which data is input and output, and a calculation unit that calculates data from the data holding unit and outputs the data to the data holding unit. The holding unit and the arithmetic unit are connected by a bus, a precharge circuit for precharging to a predetermined level in advance is connected to the bus, and the semiconductor integrated circuit device described above is used for the data transfer.
[0026]
The present invention also relates to a semiconductor integrated circuit device constituting a parallel processor having a global processor for decoding a program and controlling the entire processor, and a processor element block comprising a plurality of processor elements for processing data. Each processor element includes an arithmetic unit, a register file having a plurality of registers, and a bus that connects between the arithmetic unit and the register file, and a precharge circuit that precharges to a predetermined level is connected to the bus in advance. The semiconductor integrated circuit device described above is used for the data transfer.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. In addition, the same code | symbol is attached | subjected to the same part as a prior art example.
[0028]
FIG. 1 is a circuit diagram showing a configuration of a data transfer circuit according to a first embodiment of the present invention.
[0029]
As shown in FIG. 1, the configuration of this embodiment is roughly composed of a bus 1, a data holding unit 2 (2 ′), and a bus sense amplifier 4. A bus driver 23 and a bus sense amplifier 4 of the data holding unit 2 are connected to the bus 1.
[0030]
The bus sense amplifier 4 is supplied with a precharge signal (PCK) and a bias of a predetermined voltage VDD1 lower than the power supply voltage Vcc. The precharge signal (PCK) is a signal that is at the low level (L) within the first period and is at the high level (H) within the second period that is taken over, and repeats “L” and “H”. is there. In this embodiment, the first period when the PCK signal is “L” is called a precharge period, and the second period when the PCK signal is “H” is called a discharge period. Further, since the voltage VDD1 is generated by, for example, resistance division, a DC current flows, but this bias is applied to a circuit having the same configuration (if the data holding unit 2... Is 32 bits wide, there are 32 identical circuits). It is possible to reduce the increase in the total power consumption by sharing.
[0031]
The source regions of the PMOS transistors 10 and 11 are connected to the node (signal line) 15. The node (signal line) 15 is connected to the data bus 1 via the NMOS transistor 12. The NMOS transistor 12 has a source region connected to the node 15 and a drain region connected to the data bus 1. A PCK signal is input from the precharge signal line to the gate electrode of the PMOS transistor 10, and a value obtained by inverting the logic of the data bus 1 by the inverter 14 is applied to the gate electrode of the PMOS transistor 11. A power supply potential Vcc is applied to the drain regions of the PMOS transistors 10 and 11.
[0032]
The data holding unit 2 includes a bus driver 23 including NMOS transistors 20 and 21 and a decoder 22 connected in series, and a register 24 serving as a data source. The decoder 22 is supplied with the decode signal BS0 # and the inverted signal PCK # of the precharge signal PCK.
[0033]
FIG. 2 is a timing chart showing time transition of each signal line of the data transfer circuit according to the first embodiment of the present invention. The operation of the data transfer circuit according to the first embodiment will be described with reference to FIG.
[0034]
In the first period, since the gate voltage of the PMOS transistor 10 is “L”, the node (signal line) 15 is precharged up to the power supply voltage Vcc. Since the PMOS transistor 11 receives a signal having the opposite phase of the node (signal line) 15 from the inverter 14 to the gate electrode, the potential of the node (signal line) 15 even if the precharge period ends and the PMOS transistor 10 is turned off. Can be held at the power supply voltage Vcc. However, it is necessary to make it sufficiently small so as not to disturb discharge in the second period to be described later.
[0035]
Since the data bus 1 is connected to the node (signal line) 15 via the NMOS transistor 12 whose gate voltage is VDD1, the potential rises only to (VDD1-Vth). Here, Vth is a threshold voltage of the NMOS transistor 12. When the bias is set to (VDD−Vth) as VDD1, for example, the precharged potential can be suppressed to (VDD−2 * Vth), so that the power consumption component due to charging / discharging can be reduced.
[0036]
In the second period, the PMOS transistor 10 is turned OFF because the gate voltage becomes “H”, and the potential of the node (signal line) 15 is held only by the PMOS transistor 11. For example, consider the case of reading the value of register 0 (Reg0). When reading the value of register 0, decode signals BS0 #, BS1 #,. . . Of these, only BS0 # becomes "L". Since the inverted signal PCK # of the precharge signal PCK is “L”, the NMOS transistor 20 is turned ON. When the data in the register 0 is “L”, the NMOS transistor 21 is also turned on, and the potential of the data bus 1 is discharged and falls to “L”. Then, since the NMOS transistor 12 is turned on, the potential of the node (signal line) 15 also falls to “L”, and “L” data is output from the bus sense amplifier 4 (second period (B)).
[0037]
When the data in the register 0 is “H”, the NMOS transistor 21 is not turned on, so that the data bus 1 and the node (signal line) 15 are kept precharged, and the “H” data is stored in the sense amplifier 4. (Second period (D)).
[0038]
By the way, it is conceivable that the potential of the data bus 1 is charged up due to crosstalk with an adjacent wiring as a factor of slowing down the operation speed in the discharge. It has been found that the effect of the crosstalk becomes prominent when there is a difference in driving force between adjacent wirings, and the data bus 1 becomes high impedance after completion of precharging, so that it is particularly susceptible to influence. Become. The second embodiment of the present invention shown in FIG. 3 is a data transfer circuit that prevents the influence from such crosstalk. A second embodiment will be described with reference to FIG. The same parts as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted here in order to avoid duplication of explanation.
[0039]
The bus sense amplifier 4 is supplied with a precharge signal PCK and biases of predetermined voltages VDD1 and VDD2 lower than the power supply voltage Vcc. Since both biases are created by resistance division, for example, a DC current flows, but both biases are shared by circuits having the same configuration (if the data holding unit is 32 bits wide, there are 32 identical circuits). It is possible to reduce the increase in the total power consumption.
[0040]
In the second embodiment, the NMOS transistor 13 is inserted between the NMOS transistor 12 and the data bus 1 in order to prevent the influence of crosstalk. In the NMOS transistor 13, the data bus 1 is connected to the gate and drain regions, and a potential VDD2 lower than the power supply voltage is applied to the source region of the NMOS transistor 13 by resistance division.
[0041]
Since the NMOS transistor 13 is turned on when the potential of the data bus becomes (VDD2 + Vth) or higher, it functions as a limiter and prevents the data bus 1 from being charged up. Here, Vth is a threshold value of the NMOS transistor 13.
[0042]
FIG. 4 is a timing chart showing time transition of each signal line of the data transfer circuit according to the second embodiment of the present invention. The operation of the data transfer circuit according to the second embodiment will be described with reference to FIG.
[0043]
In the first period, since the gate voltage of the PMOS transistor 10 is “L”, the node (signal line) 15 is precharged up to the power supply voltage Vcc. Since the PMOS transistor 11 has a signal of the opposite phase of the node (signal line) 15 inputted to the gate electrode, even if the precharge period ends and the PMOS transistor 10 is turned off, the potential of the node (signal line) 15 is set to the power supply voltage. It can be held at Vcc.
[0044]
As described above, since the data bus 1 is connected to the signal line 15 via the NMOS transistor 12 whose gate voltage is VDD1, the potential rises only to (VDD1-Vth).
[0045]
In the second period, the PMOS transistor 10 is turned OFF because the gate voltage becomes “H”, and the potential of the node (signal line 15) is held only by the PMOS transistor 11.
[0046]
As described above, for example, when reading the value of the register 0, the decode signals BS0 #, BS1 #,. . . Of these, only BS0 # becomes "L". Since the inverted signal PCK # of the precharge signal PCK is “L”, the NMOS transistor 20 is turned ON. When the data in the register 0 is “L”, the NMOS transistor 21 is also turned on, and the potential of the data bus 2 is discharged and falls to “L”. Then, since the NMOS transistor 12 is turned on, the potential of the signal line 15 also falls to “L”, and “L” data is output from the bus sense amplifier (second period (B)). When the data in the register 0 is “H”, the NMOS transistor 21 is not turned on, so that the data bus 2 and the signal line 15 are kept precharged and “H” data is output. (Second period (D)).
[0047]
As a factor for slowing down the operation speed in the above discharge, it is conceivable that the potential of the data bus 1 is charged up due to crosstalk with adjacent wiring. Therefore, in the second embodiment, the NMOS transistor 13 is inserted to prevent this. Since the NMOS transistor 13 is turned on when the potential of the data bus 1 becomes (VDD2 + Vth) or higher, it functions as a limiter to prevent the data bus from being charged up.
[0048]
For example, when a value that satisfies (Vcc−3 * Vth) <VDD2 <(Vcc−2 * Vth) is set as VDD2, the difference is greater than the precharge voltage (Vcc−2 * Vth) of the data bus 1 exemplified above. The NMOS transistor 13 functions as a limiter when there is a charge-up exceeding (VDD2-Vcc + 3 * Vth).
[0049]
Next explained is the third embodiment of the invention. FIG. 5 is a circuit diagram showing a configuration of a data transfer circuit according to the third embodiment of the present invention.
[0050]
In the third embodiment, as shown in the figure, a data transfer unit with a higher-order bus is added to the circuit configuration of the data transfer circuit shown in FIG. 1 or 3 described above. 5 uses the data transfer circuit shown in FIG. 3, but the one shown in FIG. 1 may also be used. However, in the case of the one used in FIG. 1, as described above, the potential of the data bus 1 may be charged up due to crosstalk with the adjacent wiring as a factor that slows down the operation speed in the discharge. Effects such as reduction of power consumption by suppressing the amplitude of the data bus can be obtained. The same components as those in FIG. 3 are denoted by the same reference numerals.
[0051]
The configuration of the third embodiment is roughly divided into a data holding unit 2, an output side data bus 1, an input side data bus 6 and an input / output control unit 5 added to the bus sense amplifier 4. The data bus 6 on the input side is used for writing data to a register in the data holding unit 2 via the upper data bus 55.
[0052]
The input / output control unit 5 is an inverter (50 and 51) that inverts the output signal of the bus sense amplifier 4, and a bus driver that connects the output of the inverter (50 and 51) to the upper data bus 55 via the NMOS transistor 54. And an OR gate section 56 for outputting the data of the upper data bus 55 to the data bus 6 on the input side, and controls the input / output of data to / from the upper data bus 55.
[0053]
The signal line BS connected to the gate electrode of the NMOS transistor 54 is a signal that becomes “H” only in the second period when any one of the data holding units 2... Hanging from the data bus 1 becomes a source. The output of the bus sense amplifier 4 is output to the upper data bus 55.
[0054]
The OR gate 56 is composed of a NOR gate 56a and an inverter 56b. One of the NOR gates 56a is connected to the upper data bus 55, and the other of the NOR gates 56a has registers 0, 1,. . . A signal BD # that is a destination and is “L” only during the first period is input, and the value of the upper data bus 55 can be written to the registers 24... In the first period. The potential of the data bus 6 is kept at “H” except when writing to the data holding unit 2 occurs.
[0055]
The data holding units 2... Internal registers 24... Have data write enable signals BD0, BD1,. . . Is input and becomes “H” when the corresponding register 24 becomes the destination, and data on the data bus 6 can be written.
[0056]
Thus, in the third embodiment, precharging of the output-side data bus 1 and writing of data from the upper data bus 35 to the data holding unit 2 are performed simultaneously in the first period, and in the second period. By discharging the data bus 1 on the output side, that is, outputting data to the upper data bus 55, a bus system having a double transfer capability is constructed.
[0057]
Further, since the data bus 1 on the output side is a precharge line, a charge loss may occur due to crosstalk in the case of a signal in which the adjacent wiring changes from “H” to “L” during the discharge period. Therefore, it is necessary to shield with a wiring that does not operate at high speed, such as a GND line or a VCC line. However, if the configuration of the present invention is adopted, the charge loss can be prevented by arranging the input-side data bus 6 adjacent to the output-side data bus 1, so that the chip area can be reduced. .
[0058]
FIG. 6 is a timing chart showing time transition of each signal line of the data transfer circuit according to the third embodiment of the present invention. The operation of the data transfer circuit according to the third embodiment will be described with reference to FIG.
[0059]
In the figure, “L” data is written to the register 0 (Reg0) in the first period (C), and “H” data is written in the first period (E). In the second period (B) and the second period (D), the value of the register 0 (Reg0) is read to the upper bus. In the data bus 1, the potential drops momentarily due to crosstalk in accordance with the transition of the data bus 6 in the first period (C), but since this period is a precharge period, a current flows through the NMOS transistor 12 to restore the potential. can do. Similarly, at the beginning of the second period (D), the battery is charged up for a moment due to crosstalk. However, when the charge is increased to a potential higher than (VDD2 + Vth), the discharge time is delayed because the NMOS transistor 13 for charge-up prevention is turned on. It is preventing.
[0060]
Next explained is the fourth embodiment of the invention. FIG. 7 is a circuit diagram showing a configuration of a data transfer circuit according to the fourth embodiment of the present invention. In the fourth embodiment, the amplitude of the upper data bus 55 is further suppressed in the third embodiment.
[0061]
As shown in FIG. 7, the input / output control unit 5 inserts an NMOS transistor 52 between inverters (50 and 51) for inverting the output signal of the bus sense amplifier 4, and outputs the output of the inverter (50 and 51) to the NMOS. A bus driver connected to the upper data bus 55 via the transistor 54 and an OR gate unit 56 for outputting the data of the upper data bus 55 to the data bus 6 on the input side. Data input / output is controlled between them.
[0062]
The signal line BS connected to the gate electrode of the NMOS transistor 54 is a signal that becomes “H” only in the second period when any one of the data holding units 2... Hanging from the data bus 1 becomes a source. Yes, the output of the bus sense amplifier 4 can be output to the upper data bus 55.
[0063]
Since the output signal of the bus drive detector 53 is connected to the gate electrode of the NMOS transistor 52 and is turned off when the potential of the node (signal line) 55 becomes a predetermined potential or higher, the upper data bus The amplitude of 55 can be suppressed. Further, the data holding enable signals BD0, BD1,. . . Is input and becomes “H” when the corresponding register becomes the destination, and data on the data bus 6 can be written. One side of the OR circuit has registers 0, 1,. . . A signal BD # that is a destination and is “L” only in the first period is input, and the value of the upper data bus 55 can be written to the register 24 in the first period. The potential of the data bus 6 is kept at “H” except when writing to the data holding unit occurs.
[0064]
Thus, the fourth embodiment simultaneously performs precharging of the output side data bus and writing of data from the upper data bus to the data holding unit in the first period, and outputs the data bus in the second period. In this way, a bus system having a double transfer capability is constructed by discharging data, that is, outputting data to the upper data bus.
[0065]
Further, since the data bus 1 on the output side is a precharge line, a charge loss may occur due to crosstalk in the case of a signal in which the adjacent wiring changes from “H” to “L” during the discharge period. Therefore, it is necessary to shield with a wiring that does not operate at high speed, such as a GND line or a VCC line. However, if the configuration of the present invention is employed, the charge loss of the data bus can be prevented by arranging the data bus 6 on the input side adjacent to the data bus 1 on the output side, thereby reducing the chip area. be able to.
[0066]
FIG. 8 shows the time transition of each signal line of the circuit of the present invention. The following description will be made based on FIG. In FIG. 8, “L” data is written to the register 0 (Reg0) in the first period (C) and “H” data is written in the first period (E). In the second period (B) and the second period (D), the value of the register 0 (Reg0) is read to the upper bus. In the data bus 1, the potential drops momentarily due to crosstalk in accordance with the transition of the data bus 6 in the first period (C), but since this period is a precharge period, a current flows through the NMOS transistor 12 to restore the potential. can do. Similarly, at the beginning of the second period (D), the battery is charged up for a moment due to crosstalk. However, when the charge is increased to a potential higher than (VDD2 + Vth), the discharge time is delayed because the NMOS transistor 13 for charge-up prevention is turned on. It is preventing. The amplitude of the upper bus is controlled by the potential of VT +.
[0067]
Although the current consumption increases as the number of buses increases, according to the present invention, since the amplitude is suppressed, the current consumption can be reduced. For this reason, if the present invention is applied to a processor having a large number of buses, a particular effect can be obtained. Next, an example in which the present invention is applied to a SIMD processor having a large number of buses among processors will be described with reference to FIG.
[0068]
This SIMD type processor includes a global processor 102, in this embodiment, a processor element block 103 including 256 sets of processor elements 103a described later, and an interface 104. The interface 104 supplies data to be operated from an external input unit such as an image scanner to the register file 131 for input / output inside the processor based on a command from the global processor 102 and outputs the processed data from the register file 131 to the printer. Or the like to the external output unit.
[0069]
This external input / output device inputs and outputs arithmetic data such as digital image data. The external input device includes an image scanner and an image memory storing an image, and the external output device includes a printer that prints image data, an image memory that stores data, and the like.
[0070]
The global processor 102 is a so-called SISD (Single Instruction Stream Single Data Stream) type processor, which includes a program RAM and a data RAM, decodes the program, and generates various control signals. This control signal is supplied to the register file 131 and the arithmetic array 136 in addition to the control of various built-in blocks. When a GP (global processor) instruction is executed, various arithmetic processes and program control processes are performed using a built-in general-purpose register, an ALU (arithmetic logic unit), and the like.
[0071]
The register file 131 holds data processed by a PE (processor element) instruction. This PE instruction is a single instruction stream multiple data stream (SIMD) type instruction, and simultaneously performs the same processing on a plurality of data held in the register file 131. Control of reading / writing of data from the register file 131 is performed by control from the global processor 102. The read data is sent to the arithmetic array 136, and is written in the register file 131 after the arithmetic processing in the arithmetic array 136.
[0072]
Further, the register file 131 can be accessed from outside the processor, and a specific register is read / written from the outside separately from the control of the global processor 102.
[0073]
The arithmetic array 136 performs PE instruction arithmetic processing. All control of this processing is performed from the global processor 102.
[0074]
Next, an example of data reading / writing to the register file 131 of the SIMD type processor 100 will be described.
[0075]
The global processor 102 includes a program RAM 121 for storing the processor program and a data RAM 124 for storing operation data. Furthermore, a program counter (PC) that holds the address of the program, G0 to G3 registers that are general-purpose registers for storing data for arithmetic processing, and a stack pointer that holds the address of the save destination data RAM at the time of register saving and restoration SP), a link register (LS) that holds the address of the caller at the time of a subroutine call, LI and LN registers that hold branch source addresses at the time of IRQ and NMI, and a processor status register (P) that holds the state of the processor ) Register group 125 is incorporated. The global processor 102 further includes a sequence unit 122 that controls the global processor 102, the processor element block 103, and the interface 104 based on the program RAM 121.
[0076]
The global processor 102 also includes a register group 125, an instruction decoder (not shown), an arithmetic logic unit (ALU) 123, a memory control circuit (not shown), an interrupt control circuit, an external I / O control circuit, a GP operation. The GP instruction is executed using the control circuit.
[0077]
When executing the PE instruction, the instruction decoder, the register file control circuit (not shown), and the PE operation control circuit are used to control the register file 131 and the operation array 136.
[0078]
As described above, the sequence unit 122 controls the register file 131 and the arithmetic array 136 constituting the processor element block 103.
[0079]
The arithmetic array 136 includes an input / output control circuit 132, a selection circuit 133 including a multiplexer and a shift extension circuit, an arithmetic logic unit (ALU) 134, and an A register 135a and an F register 135b. Although not shown in FIG. 9, this embodiment includes a condition register and a condition selection register as comparison means, as will be described later.
[0080]
Further, the sequence unit 122 sends operation setting data and commands for data transfer to the interface 104. The interface 104 is based on the operation setting data and command of the sequence unit 122, an address control signal for addressing the processor element 103a, and a read for instructing the register 131b constituting the processor element 103a to read / write data. / Generates a clock control signal for supplying a write control signal and a clock signal.
[0081]
Here, the write control signal among the read / write control signals refers to a signal for acquiring data to be processed from the data bus 141d and holding it in the register 131b of the processor element 103a. On the other hand, the read control signal among the read / write control signals is a signal for instructing the register 131b to supply the processed data held in the register 131b of the processor element 103a to the data bus 141d.
[0082]
In response to a command from the global processor 102, the interface 104 generates a signal (hereinafter referred to as an “address specification signal”) that specifies an address of the processor element 103a constituting the processor element block 103, and transmits the signal via the address bus 141a. To the register controller 131a of the processor element 103a. As will be described later, the interface 104 reads a signal (hereinafter referred to as a “read / write instruction signal”) for instructing the register 131b constituting the processor element 103a to read / write data. A read / write signal is applied to a register controller 131a (to be described later) of the processor element 103a via the / write signal line 141b.
[0083]
Further, the interface 104 supplies a clock signal to a register controller 131a (to be described later) of the processor element 103a via the clock signal line 141c.
[0084]
Further, as described above, the data read by the image scanner or the like provided outside the SIMD type processor is supplied from the external input / output data bus to the interface 104 as 8-bit parallel data in this embodiment. This 8-bit data is applied to the data bus 141d. The 8-bit parallel data can be appropriately changed according to the data. The data bus 141d is also used when the processed data held in the register 131b is transferred to the outside of the SIMD type processor.
[0085]
The register group 125 is connected to a later-described register 135 of the processor element block 103, and data is exchanged with the register 135 under the control of the sequence unit 122.
[0086]
As shown in FIG. 9, the processor element block 103 includes a register file 131, an input / output control circuit 132 configured similarly to the input / output control unit 5 shown in FIG. 7 of the present invention, and a selection circuit comprising a multiplexer and a shift extension circuit. 3, ALU 134, A register 135a, and F register 135b are provided as a unit. The register file 131 contains 32 8-bit registers for each processor element 3a. In this embodiment, a set of 256 processor elements has an array configuration. The register file 131 stores R0, R1, R2,... For each processor element (PE) 3a. . . A register called R31 is incorporated. Each register file 131 has one read port and one write port for the operation array 136, and is accessed from the operation array 136 by an 8-bit output internal bus 137 and an 8-bit input internal bus 138. The
[0087]
These internal buses 137 and 138 are an output internal bus 137 for sending data to the arithmetic array 134 (corresponding to the data bus 1 shown in FIG. 7), and an input internal data bus for writing data from the arithmetic array 134 to the register 131. 138 (corresponding to the input data bus 6 shown in FIG. 7).
[0088]
The output internal bus 137 is precharged by the bus sense amplifier 4. In addition, the data transfer unit 5 shown in FIG. 7 is provided in the input / output control circuit 132.
[0089]
Of the 32 registers, 24 are accessible from outside the processor, and any register can be read and written by inputting a clock, an address, and read / write control from the outside.
[0090]
Access from the outside of the register allows one register of each processor element 103a to be accessed by one external port, and the processor element number (0 to 255) is designated by an address inputted from the outside. Therefore, a total of 24 external ports for register access are installed.
[0091]
In the present embodiment, the number of processor elements 103a is assumed to be 256. However, the number of processor elements 103a is not limited to this and may be changed as appropriate. Addresses from 0 to 255 are assigned to the processor element 103a in order from the interface 104 by the sequence unit 122 of the global processor 102.
[0092]
The register file 131 of the processor element 103a includes a register controller 131a and two types of registers 131b and 131c. In the present embodiment, as shown in FIG. 9, for each processor element 103a, 24 sets of register controller 131a and register 131b are provided, and 8 registers 131c are further provided. One processor element in FIG. 9 represents one processor element 103a. Here, in the present embodiment, the registers 131b and 131c are handled as 8-bit registers, but the present invention is not limited to this and may be used with appropriate modifications.
[0093]
As shown in FIG. 9, the register controller 131a is connected to the interface 4 via the address bus 141a, the read / write signal line 141b, and the clock signal line 141c described above.
[0094]
When the interface 104 receives a data transfer instruction from the global processor 102, the interface 104 sends an address designation signal to the processor element block 103 via the address bus 141a. This addresses the processor element 103a. The register controller 131a decodes the address designation signal sent, and if the decoded address matches the address assigned to itself, it synchronizes with the clock signal sent via the clock signal 141c. Thus, the read / write instruction signal sent from the read / write signal 141b is obtained. Specifically, the register controller 131a obtains a read / write instruction signal via the read / write signal 141b. The read / write instruction signal is given to the register 131b.
[0095]
When a write instruction signal is sent from the interface 104 to the processor element 103a, the register 131b of the processor element 103a acquires and holds data (8 bits) to be processed from the data bus 141d. When a read instruction signal is sent from the interface 104 to the processor element 103a, the register 131b of the processor element 103a sends the processed data (8 bits) to the data bus 41d.
[0096]
The register 131b holds data input from the outside that will be calculated by the ALU 134, which will be described later, or holds the data processed by the ALU 134 for output to the outside. Alternatively, it functions as an output register. Further, it also has a function as a register 131c described later, such as temporarily holding data to be processed or calculated data. In the present embodiment, the register 131b is handled as one that can hold 8-bit data, but there is no problem even if it is appropriately changed according to the data. When the write instruction signal is given from the register controller 131a described above, the register 131b acquires the data to be processed from the data bus 141d and holds it. On the other hand, when a read instruction signal is sent from the register controller 131a, the register 131b gives the data processed and held to the data bus 141d. This data is transferred from the interface 104 to an external printer via an external data bus.
[0097]
The register 131b is connected to the input / output control circuit 132 via the output internal data bus 137 precharged by the bus sense amplifier 4 according to the present invention for transferring 8-bit data in parallel in this embodiment. Yes. Data to be processed by the ALU 134 is given from the output internal data bus 137. Further, the data processed by the ALU 134 is transferred to the register 131b via the input internal data bus 138. This transfer is performed via a read signal line 126a and a write signal line 126b connected to the global processor 102 according to an instruction from the sequence unit 122 of the global processor 102. Specifically, when a read instruction signal is sent from the sequence unit 122 of the global processor 102 via the read signal line 126a, the register 131b stores the data to be processed and is output to the internal data bus 137 for output. Put on. This data is sent to the ALU 134 and processed. On the other hand, when a write instruction signal is sent from the sequence unit 122 of the global processor 102 via the write signal line 126b, the register 131b is processed by the ALU 134 sent via the internal data bus 138 for input. Retain data.
[0098]
The register 131c temporarily holds the data to be processed by the register 131b or before the calculated data is supplied to the register 131b.
[0099]
In the calculation by the instruction of the processor element 103a, basically, the data read from the register file 131 is input to one side of the ALU 134 and the content of the A register 135a is input to the other side, and the result is stored in the A register 135a. Therefore, an operation is performed on the A register 135a and the R0 to R31 registers of the register file 131. A selection circuit 133 including a (8 to 1) multiplexer and a shift expansion circuit 133 is placed on the connection between the register file 131 and the operation array 136. The data is 1, 2, or 3 on the left in the processor element direction and 1 on the right. Two, three separate data, and central data are selected as calculation targets. The 8-bit data in the register file 31 is shifted to the left by an arbitrary bit by the input / output control circuit 133 and input to the ALU 134. Note that one input of the (8 to 1) multiplexer is configured to be supplied with data from the global processor 102.
[0100]
As described above, the selection circuit 133 is connected to the data buses 137 and 138 provided in its own processor element 103a, and is also connected to the data buses 137 and 138 provided in the three adjacent processor elements 103a. ing. The selection circuit 133 selects one of the seven processor elements 103a and sends the data held in the registers 131b and 131c in the selected processor element 103a to the ALU 134. Alternatively, the data processed by the ALU 134 is sent to the registers 131b and 131c in the selected processor element 103a. As a result, arithmetic processing using data held in the registers 131b and 131c in the adjacent processor element 103a is possible, and the arithmetic processing capability of the SIMD type processor can be increased.
[0101]
Further, the selection circuit 133 shifts the data sent from the multiplexer in the selection circuit 133 by a predetermined bit and sends it to the ALU 134. Alternatively, the arithmetically processed data sent from the ALU 134 is shifted by a predetermined bit and sent to the multiplexer in the selection circuit 133.
[0102]
The ALU 134 performs arithmetic logic operations based on the data sent from the input / output control circuit 132 and the data held in the A register 135a. In this embodiment, the ALU 134 is handled as being capable of handling 16-bit data, but there is no problem even if it is appropriately changed according to the data. The processed data is held in the A register 135 a and transferred to the input / output control circuit 132 or transferred to the general-purpose register 125 of the global processor 102.
[0103]
An I / O address, data, and control signal are supplied from the global processor 102 to the interface 104 via a bus.
[0104]
Further, the execution / invalidation control of the operation execution is controlled for each processor element (PE) 103a by a condition register (T) (not shown) so that only a specific processor element (PE) 103a can be selected as an operation target. It is composed.
[0105]
As described above, in this embodiment, the register file 131 contains 32 8-bit registers for each PE 103a, and a set of 256 PEs has an array configuration. The registers are R0, R1, R2,. . . It is called R31. Each register has one read port and one write port for the arithmetic array 136 and is accessed from the arithmetic array 136 by 8-bit buses 137 and 138. Of the 32 registers, 24 (R0 to R23) registers 31b can be accessed from outside the processor, and any register can be read and written by inputting a clock, an address, and read / write control from the outside.
[0106]
The remaining eight (R24 to R31) registers 131c are used for temporarily storing PE data.
[0107]
As described above, the arithmetic array 136 includes the 16-bit ALU 134, the 16-bit A register 135a, and the F register 135b. In the calculation by the PE instruction, the data read from the register file 131 or the data given from the global processor 102 is input to one side of the ALU 134 and the contents of the A register 135a are input to the other side, and the result is stored in the A register. Therefore, an operation is performed on the A register 135a and the data supplied from the R0 to R31 registers 31b and 31c or the global processor 102.
[0108]
If the data transfer circuit of the present invention is used, the current consumption can be reduced because the amplitude is suppressed. For this reason, the effect is particularly obtained in the SIMD type processor having a large number of buses. Further, as described above, the input internal data bus 137 and the output internal data bus 138 can be disposed adjacent to each other, and the charge loss of the data bus can be prevented. As a result, the chip area can be reduced.
[0109]
In the embodiment described above, an addressing method is employed as a method for externally inputting / outputting the register file 131, the register file 131 is accessed from outside the processor, and an arbitrary clock / address / read / write control is input from the outside. Although the case where the register is configured to be readable and writable has been described, the present invention can be applied to other systems, for example, a processor using a shift register system for external input / output. FIG. 10 shows a basic configuration when the shift register system is used.
[0110]
As shown in FIG. 10, an input shift register 160 for temporarily storing input image data and an external output shift register 161 to which image data processed by the arithmetic array 136 are input in parallel are provided. External image data sent from an image scanner or the like is sequentially supplied to the input shift register 160 from the external data bus to the input shift register 160. In the input shift register 160, parallel n-bit data is sequentially shifted bit by bit. The number of stages of the input shift register 160 is equal to the number of sets of processor elements. In this embodiment, the number of stages is 256. Data stored in the input shift register 160 is transferred to the register file 131. The write operation to the register file 131 is performed simultaneously in each stage of the input shift register 160. As described above, when data is stored in the register file 131, data transfer is performed by the data transfer circuit and the data transfer unit according to the present invention, and the above-described processing is performed by the arithmetic array 136.
[0111]
Arithmetic processing is performed, and data stored in the register file 131 is transferred to each stage of the output shift register 161 from the data transfer circuit and data transfer unit according to the present invention by the input bus. The number of register stages of the output shift register 161 is only the number of sets of processor elements, and data is transferred from the register file 131 to each stage of the output shift register 161 at the same time. Data is serially output with the clock applied to the output shift register 161. The output data is temporarily stored in the buffer memory or the like from the external output data bus and given to an external output device such as a printer.
[0112]
Thus, also in the above-described shift register system, if the present invention is applied, the amplitude of the data bus can be suppressed and the power consumption can be reduced.
[0113]
【The invention's effect】
As described above, in the present invention, by connecting a bus sense amplifier having a relatively small gate scale to the precharge line, a data transfer circuit with few malfunctions, high speed and low power consumption can be realized.
[0114]
Furthermore, by providing the data transfer unit, a data transfer circuit that suppresses the amplitude of the upper data bus can be realized. Further, since data writing is performed during the precharge period, the data transfer capability is doubled.
[Brief description of the drawings]
FIG. 1 is a circuit diagram showing a configuration of a data transfer circuit according to a first embodiment of the present invention;
FIG. 2 is a timing chart showing time transition of each signal line of the data transfer circuit according to the first embodiment of the present invention;
FIG. 3 is a circuit diagram showing a configuration of a data transfer circuit according to a second embodiment of the present invention;
FIG. 4 is a timing chart showing time transitions of signal lines of a data transfer circuit according to a second embodiment of the present invention.
FIG. 5 is a circuit diagram showing a configuration of a data transfer circuit according to a third embodiment of the present invention;
FIG. 6 is a timing chart showing time transition of signal lines of a data transfer circuit according to a third embodiment of the present invention.
FIG. 7 is a circuit diagram showing a configuration of a data transfer circuit according to a fourth embodiment of the present invention;
FIG. 8 is a timing chart showing time transition of each signal line of the data transfer circuit according to the fourth embodiment of the present invention;
FIG. 9 is a block diagram showing an example in which the present invention is applied to a SIMD type processor.
FIG. 10 is a block diagram showing another SIMD type processor to which the present invention is applied;
FIG. 11 is a circuit diagram showing the configuration of the most basic precharge bus.
[Explanation of symbols]
1 Data bus
2 Data holding part
4 Bus sense amplifier
10 PMOS transistor
11 PMOS transistor
12 NMOS transistor
13 NMOS transistor
15 nodes (signal lines)

Claims (8)

データバスにデータ保持部とバスアンプが接続され、プリチャージ信号を与えてデータ転送を行っているデータ転送回路において、前記バスアンプは、前記データバスの電位を所定のレベルにプリチャージするためにゲートにプリチャージ信号が与えられ、一方の半導体領域が電源電圧と接続され他方の半導体領域がノードに接続される第1のPMOSトランジスタと、抵抗分割によって電源電圧よりも低い値の電圧が与えられ、一方の半導体領域が前記ノードに接続され他方の半導体領域が前記データバスに接続される第1のNMOSトランジスタと、前記ノードからの信号をインバータにより反転論理した信号がゲートに入力され、一方の半導体領域が前記ノードと接続され他方の半導体領域が電源電圧に接続される第2のPMOSトランジスタと、前記ノードと前記インバータを介して接続された出力部と、を備えたことを特徴とするデータ転送回路。 In a data transfer circuit in which a data holding unit and a bus amplifier are connected to a data bus and a data transfer is performed by giving a precharge signal, the bus amplifier precharges the potential of the data bus to a predetermined level. A precharge signal is applied to the gate, a first PMOS transistor in which one semiconductor region is connected to the power supply voltage and the other semiconductor region is connected to the node, and a voltage lower than the power supply voltage is applied by resistance division. A first NMOS transistor in which one semiconductor region is connected to the node and the other semiconductor region is connected to the data bus, and a signal obtained by inverting the signal from the node by an inverter is input to the gate, A second PMOS transistor having a semiconductor region connected to the node and the other semiconductor region connected to a power supply voltage. And register, the data transfer circuit, characterized in that and an output connected via the said nodes inverter. 前記データバスと第1のNMOSトランジスタの間に、ゲート及びドレイン領域が接続されるとともにソース領域に抵抗分割によって電源電圧よりも低い電位が与えられる第2のNMOSトランジスタを配置したことを特徴としている請求項1に記載のデータ転送回路。A gate NMOS and a drain region are connected between the data bus and the first NMOS transistor, and a second NMOS transistor to which a potential lower than a power supply voltage is applied by resistance division is arranged in the source region . The data transfer circuit according to claim 1. 請求項1に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第3のNMOSトランジスタを介してさらに上位の信号線と接続され、上位の信号線はORゲートの一方のゲートに入力され、このORゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ORゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする半導体集積回路装置。An output of a data bus of the data transfer circuit according to claim 1 is connected to an input of an inverter, and an output of the inverter is connected to a higher signal line through a third NMOS transistor, and the upper signal line is ORed One of the gates is input, the output of the OR gate is connected to an input signal line, and the input signal line has a path for inputting to a register outputting data to the data bus, and the OR A signal having the same level as the precharge signal is input to the other gate of the gate while the data bus is precharged, and a signal having the same level as the precharge signal is input during the discharge period. A semiconductor integrated circuit device. 請求項2に記載のデータ転送回路のデータバスの出力がインバータの入力に接続され、そのインバータの出力は第3のNMOSトランジスタを介してさらに上位の信号線と接続され、上位の信号線はORゲートの一方のゲートに入力され、このORゲートの出力は、入力用信号線に接続され、この入力信号線は前記データバスにデータを出力しているレジスタに入力する経路を有し、上記ORゲートの他方のゲートには、前記データバスがプリチャージされる期間にはプリチャージ信号と同じレベルの信号を入力し、ディスチャージされる期間にはプリチャージ信号と同じレベルの信号を入力するようにしたことを特徴とする半導体集積回路装置。 An output of a data bus of the data transfer circuit according to claim 2 is connected to an input of an inverter, and an output of the inverter is connected to a higher signal line through a third NMOS transistor, and the upper signal line is ORed One of the gates is input, the output of the OR gate is connected to an input signal line, and the input signal line has a path for inputting to a register outputting data to the data bus, and the OR A signal having the same level as the precharge signal is input to the other gate of the gate while the data bus is precharged, and a signal having the same level as the precharge signal is input during the discharge period. A semiconductor integrated circuit device. 前記インバータには高電位を検出し、上位の信号線の電位が電源電圧よりも低い一定レベルの値を越えないようにリミッタを接続したことを特徴とする請求項3ないし4のいずれかに記載の半導体集積回路。  5. The inverter according to claim 3, wherein a high potential is detected in the inverter, and a limiter is connected so that the potential of the upper signal line does not exceed a constant level lower than the power supply voltage. Semiconductor integrated circuit. 前記入力用信号線はデータ転送回路の出力側のデータバスに隣接して配置することを特徴とする請求項3ないし5のいずれかに記載の半導体集積回路。  6. The semiconductor integrated circuit according to claim 3, wherein the input signal line is arranged adjacent to a data bus on the output side of the data transfer circuit. データが入出力されるデータ保持部と、このデータ保持部からのデータを演算し、データ保持部に出力する演算部とを備えた機能ブロックを、複数個備え、前記データ保持部と演算部間がバスによって接続され、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に請求項3ないし6に記載の半導体集積回路装置を用いたことを特徴とする半導体集積回路装置。  A plurality of functional blocks each including a data holding unit for inputting / outputting data and a calculation unit for calculating data from the data holding unit and outputting the data to the data holding unit are provided between the data holding unit and the calculation unit. 7. A semiconductor integrated circuit, wherein a semiconductor integrated circuit device according to claim 3 is used for the data transfer, wherein the semiconductor integrated circuit device is connected to the bus by a precharge circuit for precharging to a predetermined level in advance. apparatus. プログラムを解読しプロセッサ全体を制御するグローバルプロセッサと、データを処理するプロセッサエレメントを複数個備えて構成されるプロセッサエレメントブロックと、を有する並列プロセッサを構成する半導体集積回路装置において、各プロセッサエレメントは、演算部と、複数のレジスタを有するレジスタファイルと、演算部とレジスタファイル間を接続するバスと、を備え、前記バスに予め所定レベルにプリチャージするプリチャージ回路が接続され、上記データ転送に請求項3ないし6に記載の半導体集積回路装置を用いたことを特徴とする半導体集積回路装置。  In a semiconductor integrated circuit device that constitutes a parallel processor having a global processor that decodes a program and controls the entire processor, and a processor element block that includes a plurality of processor elements that process data, each processor element includes: An arithmetic unit, a register file having a plurality of registers, and a bus that connects between the arithmetic unit and the register file, a precharge circuit that precharges to a predetermined level in advance is connected to the bus, and the data transfer is requested. A semiconductor integrated circuit device using the semiconductor integrated circuit device according to any one of Items 3 to 6.
JP2000030893A 2000-02-08 2000-02-08 Data transfer circuit and semiconductor integrated circuit device using the same Expired - Fee Related JP3886314B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000030893A JP3886314B2 (en) 2000-02-08 2000-02-08 Data transfer circuit and semiconductor integrated circuit device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000030893A JP3886314B2 (en) 2000-02-08 2000-02-08 Data transfer circuit and semiconductor integrated circuit device using the same

Publications (2)

Publication Number Publication Date
JP2001222348A JP2001222348A (en) 2001-08-17
JP3886314B2 true JP3886314B2 (en) 2007-02-28

Family

ID=18555842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000030893A Expired - Fee Related JP3886314B2 (en) 2000-02-08 2000-02-08 Data transfer circuit and semiconductor integrated circuit device using the same

Country Status (1)

Country Link
JP (1) JP3886314B2 (en)

Also Published As

Publication number Publication date
JP2001222348A (en) 2001-08-17

Similar Documents

Publication Publication Date Title
US5991209A (en) Split sense amplifier and staging buffer for wide memory architecture
US10418123B2 (en) Column repair in memory
US5227674A (en) Semiconductor integrated circuit device
US6188633B1 (en) Multi-port computer register file having shared word lines for read and write ports and storage elements that power down or enter a high-impedance state during write operations
JPH1166851A (en) Clock shift circuit device, clock shift circuit and synchronous type semiconductor storage device using it
US5923894A (en) Adaptable input/output pin control
JPH0218498B2 (en)
EP0230668B1 (en) Arithmetic logic circuit
JP3886314B2 (en) Data transfer circuit and semiconductor integrated circuit device using the same
JPH0160856B2 (en)
JP2002207706A (en) Simd type micro-processor for calculating totalized value among processor elements and for detecting peak
US6654301B2 (en) Multiple discharge capable bit line
JP2004078965A (en) Processor
JP4989899B2 (en) Semiconductor processing unit
JPH08241296A (en) Semiconductor integrated circuit
JPS62224119A (en) Data processor
JPH10302475A (en) Memory control device
US5649150A (en) Scannable last-in-first-out register stack
JP2004192405A (en) Simd type processor
JP2707867B2 (en) Register file of digital computer and instruction execution method using it.
JP2849197B2 (en) Data bus circuit
JPH0697814A (en) Programmable logic array and microcomputer using the logic array
JPH03108022A (en) Semiconductor integrated circuit
JPH05191220A (en) Semiconductor integrated circuit
JPH01296487A (en) Noise detecting circuit for address signal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees