(57)【要約】  【課題】  高集積メモリと複数の演算回路を１チップ化した半導体集積回路において、外部からのアクセスを容易にする。  【解決手段】  データを保持しておくメモリセルアレイ１０とデータを受取り演算を行う複数の演算回路４０に加え、メモリセルアレイ１０との間でデータ授受を行う、第１のシリアルアクセスメモリと、複数の演算回路４０との間でデータ授受を行う、第２のシリアルアクセスメモリとを備える。【選択図】  図１
2004362765.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線と、複数のビット線と、複数のメモリセルとを含むメモリセルアレイと、
演算回路と、
前記演算回路に接続されるリードパス及びライトパスと、
前記複数のビット線のうち少なくとも一つを前記リードパスに接続し、前記複数のビット線のうち少なくとも他の一つを前記ライトパスに接続するためのスイッチ回路と、
前記メモリセルアレイに接続され、Ｉ／Ｏポートを介してデータを入出力するための第１のシリアルアクセスメモリと、
前記演算回路に接続される第２のシリアルアクセスメモリと、
を具備する半導体装置であって、
前記半導体装置は、前記メモリセルアレイから前記リードパスを通してデータを前記演算回路へ転送するリード動作と、前記データを前記演算回路で処理する演算動作と、前記演算回路から前記ライトパスを通して前記演算動作の出力データを前記メモリセルへ転送するライト動作と、を実行することが可能であり、
前記演算動作は、前記読み出し動作によって前記メモリセルアレイから読み出された読み出しデータと、前記第２のシリアルアクセスメモリに与えられたデータの間で実行されるものであり、
前記リード動作は、前記複数のワード線のうちの１つのワード線によって選択されたメモリセルから、前記複数のビット線のうちの一部を前記スイッチ回路を介して前記リードパスに接続することによって、データを読み出す動作であり、
前記ライト動作は、前記リード動作と同一の前記１つのワード線によって選択されたメモリセルに、前記複数のビット線のうちの別の一部を、前記スイッチ回路を介して前記ライトパスに接続することによって、データを書き込む動作であり、
前記半導体装置は、前記リード動作と前記ライト動作を前記１つのワード線によって選択された期間内に並列に行うものであり、
前記半導体装置は、前記リード動作と、前記演算動作と、前記ライト動作をパイプラインで順次行い、
前記リード動作によって前記メモリセルから読み出された読み出しデータを、前記演算動作によって処理し、前記演算動作の結果を前記ライト動作によって書き込む前記メモリセルが、前記リード動作によって前記読み出しデータが格納されていたのと同一のメモリセルであることを特徴とする半導体装置。
【請求項２】
前記第１のシリアルアクセスメモリは、前記メモリセルアレイから周期的にデータを順次読み出し、外部に接続される画像表示手段へ出力することを特徴とする請求項１記載の半導体装置。
【請求項３】
アドレスデコーダをさらに備え、
前記アドレスデコーダは、アドレスをデコードした結果、前記メモリセルアレイ上のアドレスを指定するものであることを特徴とする請求項１記載の半導体装置。
【請求項４】
第１及び第２のシリアルアクセスメモリを備えて、ＣＰＵからのランダムアクセスと、画像表示系からのシリアルアクセスを、並列できるようにした半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は半導体装置に係り、特に高集積メモリと複数の演算回路を１チップ上に実現したデータ処理に好適な半導体装置に関する。
【背景技術】
【０００２】
従来、画像処理のような大量のデータを処理するためにプロセッサとメモリを１ボードに搭載し、専用の処理システムとして用いることによって高速に処理を行う半導体装置が知られている。この従来例では、メモリとプロセッサがバスを介して接続されるためバスアビトレーションが必要で、更に大量のデータにリード／演算／ライトを繰り返すと図３Ｃに示したように、リード／ライト及びその切り替えに多くの時間がかかり、データ処理の効率が上がらなかった。
【０００３】
また、更に進んだ従来例として、複数の演算回路とメモリセルアレイとを同一のチップ上に搭載し、メモリセルアレイ内の１本のワード線上のメモリセルのデータを並列に読み出して、この読み出されたデータの演算処理を並列に実行する半導体装置が知られている。この種の半導体装置としては、例えば、「相本、他  ”メモリ集積型プロセッサＩＭＡＰ  ＬＳＩのメモリ部回路方式”  １９９４年電子情報通信学会  春季大会講演論文集５−２６１  Ｃ−６９３」（非特許文献１）に記載されたものがある。
【０００４】
上記従来例では、２ＭｂのＳＲＡＭと６４個の並列演算回路を集積し、ＳＩＭＤ(Single Instruction stream Multiple Data stream)方式により演算回路を並列に動作させている。このような半導体装置においては、メモリセルアレイと同一のチップ上に搭載した複数の演算回路を１つの命令で並列に動作させ、これを繰返し実行することにより、様々な画像データ処理を行うことができる。この画像データ処理を行う場合、データ処理に必要な演算自体はさほど難しくないが、処理すべきデータ量が膨大なため同じ計算を何回も繰り返す必要がある。
【０００５】
上記複数の演算回路とメモリセルアレイとを搭載した従来の半導体装置を用いて画像データを処理する場合、まず、メモリセルに書き込まれているデータを読み出し、次にＳＩＭＤ型演算回路を用いて必要な演算を行い、最後に、演算結果をメモリセルに書き込むという動作が繰り返し実行される。ここで、読み出しに必要な時間をｔｒ、演算に必要な時間をｔｃ、書き込みに必要な時間をｔｗとする。上記従来の半導体装置では、読み出し、演算、書き込みの一連の動作を逐次行なうとすると、所要時間は合計で（ｔｒ＋ｔｃ＋ｔｗ）となり、これをｍ回繰り返し行なった場合に必要な時間はｍ×（ｔｒ＋ｔｃ＋ｔｗ）となる。
今後、半導体製造技術の進展により微細化が進んで演算回路の高速動作が期待できるので、演算内容が同じなら演算に必要な時間ｔｃの短縮は可能である。
【０００６】
【非特許文献１】相本、他  「メモリ集積型プロセッサＩＭＡＰ  ＬＳＩのメモリ部回路方式」、１９９４年電子情報通信学会  春季大会講演論文集５−２６１  Ｃ−６９３
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述した複数の演算回路とメモリセルアレイを同一チップ上に集積した従来の半導体装置によれば、半導体製造技術の進展により微細化が進んだとしても、メモリセルアレイに関しては、演算回路の場合とは逆に微細になればなるほど、メモリセルからの信号量を大きくとることが困難となるため、読み出し、書き込みに要する時間ｔｒ及びｔｗをあまり短縮することができない。このため、メモリセルから読み出したデータに演算処理を加え、同じメモリセルに書き戻す動作を繰返す画像データ処理の場合には、読み出し時間ｔｒ、書き込み時間ｔｗによってデータ処理の動作が律速されてしまうという問題点がある。
【０００８】
そこで、本発明の目的は、画像データ処理のように繰り返し同じ演算をする場合のデータ処理時間の高速化を図ることができると共に、消費電力の低減も可能な半導体装置を提供することにある。
【０００９】
また、本発明の他の目的は、画像データ処理専用のみならず通常のメモリとして主記憶にも使用できたり、或いは画像データ処理部分と通常のメモリ部分との分割使用もできる多用途に使用可能な半導体装置を提供することにある。
【課題を解決するための手段】
【００１０】
前述した課題を解決するため、本発明に係る半導体装置は、複数のデータ線と複数のワード線の交差部に配置された複数のメモリセルを有するメモリセルアレイと、該メモリセルアレイ内の異なる複数のメモリセルに記憶されている情報をワード線に交差する異なる複数のデータ線に読み出すためにワード線の少なくとも１本を選択するデコーダと、少なくとも１つの演算回路と、該演算回路とメモリセルアレイとの間のデータ転送を行なうデータ転送回路と、少なくともデータ転送回路とデコーダと演算回路を制御する制御回路とを１チップに集積した半導体装置において、前記データ転送回路が、前記デコーダにより選択されたワード線と交差する複数のデータ線の内の一部のデータ線への書き込みと他の一部のデータ線からの読み出しとを少なくとも一部同一時間内に行なうことができるように、リードパスとライトパスをそれぞれ独立して有することを特徴とするものである。
【００１１】
前記半導体装置において、前記データ転送回路は、複数のデータ線の内の所要本数のデータ線を選んで、該データ線上に読み出された各データを演算回路へ読出す機能と、該読み出し機能とは独立に、前記複数のデータ線の内の所要本数のデータ線を選んで、該データ線を介して演算回路からメモリセルへ書き込む機能とを有することができる。
【００１２】
また、前記データ線上に読み出された各データを演算回路へ読出す機能は、リードパスと各データ線との間にそれぞれ設けた前記制御回路からの信号により制御されるスイッチからなり、前記データ線を介して演算回路からメモリセルへ演算結果を書き込む機能は、ライトパスと各データ線との間にそれぞれ設けた前記制御回路からの信号により制御されるスイッチから構成することができる。
【００１３】
更に、前記データ転送回路は、複数のデータ線を所要本数ずつに分割して構成した複数のブロックと、各ブロックに対し設けられた１本もしくは１対のリードパス及び１本もしくは１対のライトパスと、各ブロック内のそれぞれのデータ線と各ブロックのリードパス及びライトパスとの間にそれぞれ設けたリードパスへの接続、ライトパスへの接続、オープンのいずれかの接続状態に前記制御回路により制御されるスイッチとから構成すれば好適である。
【００１４】
また更に、前記データ転送回路は、前記各ブロックがそれぞれ更に少ない本数ずつのデータ線に分割した小ブロックに分割されると共に、各小ブロック内のそれぞれのデータ線と各小ブロックのリードパス側及びライトパス側にそれぞれ設けたリードパス接続線への接続、ライトパス接続線への接続、オープンのいずれかの接続状態に前記制御回路により制御されるスイッチと、各小ブロックの前記各リードパス接続線とリードパスとの間にそれぞれ設けた前記制御回路によりオン／オフするスイッチと、各小ブロックの前記各ライトパス接続線とライトパスとの間にそれぞれ設けた前記制御回路によりオン／オフするスイッチとから構成してもよい。
【００１５】
また、前記半導体装置のいずれにおいても、前記メモリセルアレイに記憶したデータを外部から直接アクセスする機能を備えるように構成することもできる。
【００１６】
更に、本発明に係る半導体装置は、ワード線と、該ワード線に交差する第１及び第２のデータ線と、前記ワード線と第１及び第２のデータ線との交点にそれぞれ設けられた第１及び第２のメモリセルと、演算回路と、該演算回路の入力端子に接続されたリードパスと、前記演算回路の出力端子に接続されたライトパスと、前記第１のデータ線と前記リードパス又はライトパスとの接続を行う第１のスイッチ手段と、前記第２のデータ線と前記リードパス又はライトパスとの接続を行う第２のスイッチ手段とを具備し、前記ワード線が活性化されている間に、前記第１のスイッチ手段は前記第１のデータ線と前記リードパスとの接続を行い、前記第２のスイッチ手段は前記第２のデータ線と前記ライトパスとの接続を行うことを特徴とするものである。
［作用］
本発明に係る半導体装置によれば、データを保持しておくメモリセルアレイとデータを受取り演算を行う演算回路との間で、データ転送回路はメモリセルのデータを演算回路へ送るリードパスと演算回路からメモリセルへデータを送るライトパスを別々に持つことによって、メモリセルアレイの出力を演算回路に転送すると同時に演算回路の出力をメモリセルアレイへ転送することを可能とする。すなわち、リードパスとライトパスが独立していることにより、メモリセルアレイと演算回路間で別々のデータ線を選択して読み出し動作と書き込み動作を一部同一時間内に重なりあってそれぞれ実行することができる。従って、メモリセルからデータを読み出し、演算を行い、結果をメモリセルに書き戻すという処理を繰返し行う場合において、リードパスとライトパスを別々に持っているのでデータの読み出しと書込みを同時に行うことができる。このため、一連の処理をｍ回繰り返す場合に従来必要であった処理時間ｍ×（ｔｒ＋ｔｃ＋ｔｗ）を、例えば読み出しと書き込みを演算時間ｔｃ内に行なうことによって見かけ上ｔｒ＋ｍ×ｔｃ＋ｔｗに短縮することが可能となる。
【００１７】
また、リードパスと各データ線との間にそれぞれ設けた前記制御回路からの信号により制御されるスイッチは、リードパスとデータ線とを接続することによって、前記複数のデータ線の内の選択された所要本数のデータ線上に読み出されたデータを演算回路へ読出すことができ、ライトパスと各データ線との間にそれぞれ設けた前記制御回路からの信号により制御されるスイッチは、前記複数のデータ線の内の選択された所要本数のデータ線を介して演算回路からメモリセルへ演算結果を書き込むことができる。
【００１８】
更に、前記データ転送回路は、複数のデータ線を所要本数ずつに分割して構成した複数のブロックと、各ブロックに対し設けられた１本もしくは１対のリードパス及び１本もしくは１対のライトパスと、各ブロック内のそれぞれのデータ線と各ブロックのリードパス及びライトパスとの間にそれぞれ設けた制御回路によりリードパスへの接続、ライトパスへの接続、オープンのいずれかの接続状態に制御されるスイッチとから構成することにより、１つのブロックからのデータ線をリードパスに接続してメモリセルからデータを読み出すことができると同時に、同一ブロック内のデータ線をライトパスに接続して演算回路の演算結果をメモリセルに書き込むことができる。
【００１９】
また更に、前記データ転送回路は、前記各ブロックがそれぞれ更に少ない本数ずつのデータ線に分割した小ブロックに分割されると共に、各小ブロック内のそれぞれのデータ線と各小ブロックのリードパス側及びライトパス側にそれぞれ設けたリードパス接続線への接続、ライトパス接続線への接続、オープンのいずれかの接続状態に前記制御回路により制御されるスイッチと、各小ブロックの前記各リードパス接続線とリードパスとの間にそれぞれ設けた前記制御回路によりオン／オフするスイッチと、各小ブロックの前記各ライトパス接続線とライトパスとの間にそれぞれ設けた前記制御回路によりオン／オフするスイッチとから構成してリードパスとライトパスとが階層化され、スイッチを制御するための信号線の数を少なくすることができる。
【００２０】
また、前記メモリセルアレイに記憶したデータを外部から直接アクセスする機能を備えることにより、本発明に係る半導体装置を画像処理専用に用いると共に、必要に応じて通常のメモリとしても使用でき、或いはメモリセルアレイのうち画像処理に必要な数のメモリセルだけを演算回路専用に用い、残りの部分を通常のメモリに使用するなどの多用途に１チップで対応することができる。
【発明の効果】
【００２１】
実施例の説明から明らかなように、本発明の半導体装置によれば、メモリセルアレイと演算回路との間に設けたデータ転送回路に、メモリセルからのデータ読み出し、メモリへセルへの書き込みのパスをそれぞれ独立して設けて、読み出し／書き込み動作を同時に行なえるように構成したことにより、データ処理にかかる時間ｍ×（ｔｒ＋ｔｃ＋ｔｗ）を、（ｍ×ｔｒ＋ｔｃ＋ｔｗ）、又は（ｔｒ＋ｍ×ｔｃ＋ｔｗ）、又は（ｔｒ＋ｔｃ＋ｍ×ｔｗ）等に短縮でき、大幅な高速化が可能となると共に一旦立ち上げたワード線上にあるメモリセル内のデータ処理を順次行うことによってワード線の立ち上げ回数を減らして消費電力の低減を図ることができる。
【発明を実施するための最良の形態】
【００２２】
次に本発明に係る半導体装置の実施例について、添付図面を参照しながら以下詳細に説明する。
【実施例１】
【００２３】
図１は、本発明に係る半導体装置の一実施例を示す基本的な回路構成のブロック図である。図１において参照符号１０はメモリセルアレイを示し、このメモリセルアレイ１０はｎ本のワード線ＷＬi（ｉ＝1〜n）とｍ本のデータ線ＤＬj（j＝1〜m）の各交点に配置されたｉ行ｊ列のメモリセルＣijから構成されるＤＲＡＭセルアレイであり、各ワード線ＷＬiはメモリセルアレイ１０内のアクティブとなるメモリセルＣijを選択するためのデコーダ７０に接続される。また、デコーダ７０には、外部からアドレス指定が可能なように入力ポート７１が接続される。各データ線ＤＬjは、Ｉ／Ｏポート６１を介して外部とのデータ転送を行うシリアルアクセスメモリ６０に接続されると共に、メモリセルアレイ１０から読出した信号を増幅および保持するセンスアンプ２０を介して複数のブロックに分割され、そして各ブロックに対応した複数のデータ転送回路３０に接続される。各データ転送回路３０は、対応する各演算回路４０に接続されて、メモリセルアレイ１０から読み出したデータをそれぞれの演算回路４０に転送する。各演算回路４０は、Ｉ／Ｏポート５１を介して外部とのデータの転送を行うシリアルアクセスメモリ５０に接続される。さらに、全体を制御する制御回路８０がＩ／Ｏポート８１を介して外部と接続されると共に上記各回路２０，３０，４０，５０，６０，７０に接続される。そして、上記各回路やＩ／Ｏポート等が１つのシリコンチップ９０上に集積化されている。
【００２４】
このように構成される本発明に係る半導体装置の動作を、以下に説明する。
この半導体装置は、チップ９０の外部からＩ／Ｏポート５１及びシリアルアクセスメモリ５０を介して入力されたデータと、メモリセルアレイ１０内のデータに対して、演算回路４０を用いてデータ処理を行うことができる。Ｉ／Ｏポート８１を通して外部から命令とクロックを受けた制御回路８０は、クロックに従ってデコーダ７０、センスアンプ２０、データ転送回路３０、演算回路４０、シリアルアクセスメモリ５０、シリアルアクセスメモリ６０の動作を制御する。制御回路８０から命令を受けたデコーダ７０は、入力ポート７１又は制御回路８０により指定されたアドレスに従って選択されたワード線ＷＬｉを立ち上げて、メモリセルアレイ１０内のｉ行のメモリセル列Ｃi1，Ｃi2，Ｃi3，……Ｃimをアクティブにする。アクティブとなったメモリセルの内容は、各メモリセルと接続されたそれぞれのデータ線ＤＬ1〜ＤＬmを介して取り出され、センスアンプ２０によって増幅されると共に保持される。各データ転送回路３０は、制御回路８０によって選択された信号線ＳＳ1，ＳＳ2，ＳＳ3，……ＳＳqに従ってｉ行のメモリセル列Ｃi1，Ｃi2，Ｃi3，……Ｃimの内容を演算回路４０に送る。
【００２５】
ここで、データ転送回路３０の詳細な構成を図２に示す。尚、図１における複数のデータ転送回路３０の１つ分だけを示した。データ転送回路３０は、リードパスとライトパスを各１本ずつとｑ本のデータ線とを１ブロックとして、全体でｐブロックから構成される。各ブロックは、ブロック内のｑ本のデータ線の中からリードパスとライトパスにそれぞれ１本ずつ接続できる。
【００２６】
１本のワード線ＷＬiが立ち上げられてｉ行のメモリセル列Ｃi1〜Ｃimの内容がデータ線ＤＬ1〜ＤＬmにより取り出され、センスアンプ２０によって増幅されると共に保持されると、センスアンプ２０を介して各データ転送回路３０に接続された各データ線ＤＬ1〜ＤＬm上にデータが現れる。図２に示したデータ転送回路３０には、データ線ＤＬ1〜ＤＬpqのｐ×ｑ本が接続されているので、データ線ＤＬ1〜ＤＬpq上にデータが現れる。
【００２７】
例えば、制御回路８０から出力された信号線ＳＳ1の信号に従って第１ブロック〜第ｐブロック内の各スイッチＳ１1，Ｓ２1，Ｓ３1，……Ｓｐ1が、それぞれリードパスＲ1，Ｒ2，Ｒ3，……Ｒp側に接続されるとする。これにより、データ線ＤＬ1，ＤＬq+1，ＤＬ2q+1，……ＤＬ(p-1)q+1上のデータがリードパスＲ1，Ｒ2，Ｒ3，……Ｒpを通して演算回路４０に転送される。演算回路４０は、データ転送回路３０から送られてきたデータと、チップ９０の外部からＩ／Ｏポート５１を介してシリアルアクセスメモリ５０へ入力されたデータとを用いて所要の演算を行い、演算結果をそれぞれのライトパスＷ1，Ｗ2，Ｗ3，……Ｗpに出力する。
【００２８】
演算結果のデータを、読み出してきた各メモリセルにデータを書き戻す場合は、その演算に対して予め決められた所定の演算時間が経過したら、制御回路８０は信号線ＳＳ1に信号を送り、上記各スイッチＳ１1，Ｓ２1，Ｓ３1，……Ｓｐ1をそれぞれライトパスＷ1，Ｗ2，Ｗ3，……Ｗp側に接続する。これにより、演算回路４０はデータ転送回路３０を通して各メモリセルＣｉ１，Ｃｉ（ｑ＋１），Ｃｉ（２ｑ＋１），……Ｃｉ（（ｐ−１）ｑ＋１）に演算結果の書き込みを行う。
【００２９】
尚、各スイッチＳ１1，Ｓ２1，Ｓ３1，……Ｓｐ1は、制御回路８０からの信号に応じてリードパス側、ライトパス側、及びオープンのいずれかの接続状態をとるスイッチであり、通常はオープン状態である。また、所定の演算時間が経過した時に制御回路８０が信号線ＳＳ1〜ＳＳqに信号を送る代わりに、演算が終了したことを示す信号を制御回路８０へ送るように演算回路４０を構成してもよい。その場合、この演算終了信号によって制御回路８０による信号線ＳＳ1〜ＳＳqの制御が容易になるため、制御回路８０の設計が簡略化できる。すなわち、演算回路４０に複雑な演算を行えるように変更した場合でも、予めその複雑な演算の所要時間を見積り、設計し直すという必要が無くなり、制御回路８０をそのまま変更せずに使用することができる。
【００３０】
ここでは、読み出しを行なったメモリセルにデータを書き戻す場合について説明したが、他のメモリセルに書き込むことも容易である。その場合は、信号線ＳＳ1，ＳＳ2，……ＳＳqによって所要のデータ線に接続するスイッチを選択すればよい。さらに、複数のメモリセルに同じデータを書き込む場合は、複数の信号線ＳＳ1，ＳＳ2，……ＳＳqによって複数のスイッチを１つのライトパスに接続すればよい。
【００３１】
このように、本実施例の半導体装置によれば、演算回路がライトパスを介してメモリセルに書き込みを行っている最中に、リードパスを用いて別のメモリセルから必要なデータを読み出して来ることができる。例えば、各データ転送回路３０は、それぞれのライトパスＷ1，Ｗ2，Ｗ3，……Ｗpを通してメモリセルＣｉ１，Ｃｉ（ｑ＋１），Ｃｉ（２ｑ＋１），……Ｃｉ（（ｐ−１）ｑ＋１）にデータの書き込みを行うための経路を、制御回路８０からの信号線ＳＳ1の信号により、各スイッチＳ１１，Ｓ２１，Ｓ３１，……Ｓｐ１をそれぞれのライトパス側に接続すると同時に、信号線ＳＳ2の信号により各スイッチＳ１2，Ｓ２2，Ｓ３2，……Ｓｐ2をそれぞれのリードパス側に接続し、データ線ＤＬ2，ＤＬq+2，ＤＬ2q+2，……ＤＬ(p-1)q+2をリードパスＲ1，Ｒ2,Ｒ3，……Ｒpに接続する。これにより、メモリセルＣｉ２，Ｃｉ（ｑ＋２），Ｃｉ（２ｑ＋２），……Ｃｉ（（ｐ−１）ｑ＋２）のデータを読み出し演算回路４０に転送することができる。必要に応じて、このような書き込み及び読み出し動作を順次繰り返して、デコーダ７０により選択されたワード線ＷＬiによってアクティブとなっているｉ行のメモリセル列Ｃｉ１，Ｃｉ２，Ｃｉ３，……Ｃｉｍにあるデータの処理を行えばよい。更に、他のワード線を立ち上げて他の行のメモリセル列についても同様に処理を行うことにより、メモリセルアレイ１０内の全てのデータについて処理を行うことができる。
【００３２】
１本のワード線を立ち上げることにより、アクティブとなった各メモリセル内にあるデータが、前述したように順次処理されて行く様子の一例を、図３Ａに模式的に示す。同図において、横軸は時間の経過を表し、上段にはリードパスＲ1に接続されるデータ線名と読み出しにかかる時間、中段には演算回路４０によるデータ処理時間、および下段にはライトパスＷ1に接続されるデータ線名と書き込みにかかる時間がそれぞれ示されている。
【００３３】
データの流れは破線の矢印で示されていて、例えばリードパスＲ1に接続されたデータ線ＤＬ1からｔr時間かけてメモリセルから読み出されたデータは、演算回路４０でｔc時間の間に処理され、ライトパスＷ1及びデータ線ＤＬ1を通してｔw時間かかって再びメモリセルに書き込まれる。図３Ａを縦方向にデータの流れで見ると、例えば、リードパスＲ1にデータ線ＤＬ3が接続されているときに、演算回路４０ではデータ線ＤＬ2から転送されたデータを処理しており、ライトパスＷ1ではデータ線ＤＬ1から転送されて演算回路４０で処理されたデータをデータ線ＤＬ1に転送している。すなわち、メモリセルからの読み出し、データの演算、メモリセルへの書き込みの一連の動作が一度に行われており、見かけ上データ処理に要する時間が短縮されている。
【００３４】
メモリセルからの読み出し時間ｔr、データの演算時間ｔc、メモリセルへの書き込み時間ｔwのうち、データの演算時間ｔcが最も長いとすれば、１ブロック分のｑ本のデータ線ＤＬ1，ＤＬ2，……ＤＬq上に現れているｑ個のデータを全て処理するのにかかる時間は、（ｔr＋ｑ×ｔc＋ｔw）となり、高速なデータ処理が可能である。また、読み出し時間ｔr、演算時間ｔc、書き込み時間ｔwのうち、読み出し時間ｔrあるいは書き込み時間ｔwが最も長い場合の処理時間は、それぞれ（ｑ×ｔr＋ｔc＋ｔw）、（ｔr＋ｔc＋ｑ×ｔw）となり、いずれにしても前述した従来例の半導体装置の場合には処理時間が、ｑ×（ｔr＋ｔc＋ｔw）となるのに比べて高速なデータ処理が可能である。
【００３５】
図３Ｂには、上記処理を行った場合のタイミングチャートを示した。１本のワード線が立ち上がっている間に、リードパス／ライトパスを通して読出し／書込みが一部同時に行われている。例えば、データ線ＤＬ3からのデータが演算回路のリードパスＲ1に伝達されているのと同時に演算回路のライトパスＷ1からデータ線ＤＬ1に演算結果のデータが伝達されている。なお、この動作は先にデータ線ＤＬ2から読みだしたデータを演算回路で処理する動作と並行して行われている。
【００３６】
一方、従来例の図３Ｃを見ると、ワード線を立ち上げてデータ線ＤＬ1'からのデータをリードし、ワード線を立ち下げ、プロセッサがデータ処理をした後、再度ワード線を立ち上げてライトを行い、ワード線を立ち下げて、またワード線を立ち上げて次のデータ線ＤＬ2'からのデータをリードするという作業を行っている。このような作業は、バスアビトレーションにより行われるものであり、通常のメモリチップとプロセッサチップがバスで接続されている場合には避けられないものである。
【００３７】
従って、本発明における動作を従来例と比べると、本発明ではバスアビトレーションの必要がなく、リード／ライトの切り替え時間が必要ないこと、ワード線の再立ち上げの必要がないこと等の利点があげられる。従って、本発明は高速なデータ処理が可能であることがわかる。
【００３８】
更に、データ転送回路３０では読み出しと書き込みを独立に行うことができるので、目的に合わせてここで説明した以外のタイミングで動作させることも容易である。例えば、データ線ＤＬ1，ＤＬ2，ＤＬ3から連続してデータを読み出し、３つのデータを用いて演算を行った後にデータ線ＤＬ1に書き込むと言ったタイミングでの動作も可能であり、これは画像のフィルタ処理の場合に適している。
【００３９】
また、画像用メモリには、画面をクリアするために高速にメモリセルに一定のデータを書き込みたいという要求があるが、この要求を満足するためにもデータ転送回路３０は有効である。この場合は、予め書き込みたいデータをライトパスに出力しておき、複数のデータ線を同時にライトパスに接続させればよい。これによって、一度に複数のメモリセルに同時にデータを書き込むことができる。必要ならば複数のワード線を同時に立ち上げることによって、さらに多くのメモリセルに同時に一度にデータを書き込むことも可能となるので、画面のクリアを高速化することができる。
【００４０】
本実施例のデータ転送回路３０によれば、一旦立ち上げたワード線によってアクティブとなったメモリセル列内のデータを、ワード線を立ち上げたまま順次処理することができるので、ワード線の立上げ回数とセンスアンプの動作回数を減らすことになり、データ処理の高速化と消費電力の低減に効果がある。また、例えば、信号線ＳＳ1により接続される一連のデータ線ＤＬ1，ＤＬq+1，ＤＬ2q+1，……ＤＬ(p-1)q+1で選択されたメモリセル群からデータを読み出すと同時に、別の信号線ＳＳ2により接続される一連のデータ線ＤＬ2，ＤＬq+2，ＤＬ2q+2，……ＤＬ(p-1)q+2で選択されたメモリセル群に対して書き込みを行うことができるため、演算回路４０に読み出し／書き込みのための時間待ちをさせる必要がなく、高速なデータ処理ができる。
【００４１】
更に、チップ９０のレイアウト上で、メモリセルアレイ１０のデータ線のピッチと、１つの演算回路４０の幅とに大きな隔たりがある場合は、実際にチップ９０を設計する上で、データ線のピッチを演算回路４０の幅に合わせる必要が生ずるが、本実施例の半導体装置によれば、データ転送回路３０によってデータ線ピッチがｑ対２に緩和できる。したがって、この比をピッチの隔たりに合わせて設定することにより、演算回路４０とメモリセルアレイ１０を高密度にレイアウトすることができる。
【００４２】
また、本実施例の半導体装置は通常のメモリとして用いることも可能である。その場合、制御回路８０がＩ／Ｏポート８１を通して外部から制御信号とクロックを受け取り、クロックに従ってセンスアンプ２０、デコーダ７０、シリアルアクセスメモリ５０及び６０を制御する。アドレスは入力ポート７１より入力され、データの入出力はシリアルアクセスメモリ５０及び６０によってＩ／Ｏポート５１及び６１を通して行われる。従って、本実施例の半導体装置を普段は画像処理専用にしておいて、必要が生じたときには通常のメモリとしてシステムの主記憶に用いる等といった時分割で用途を変える使い方も可能であり、この半導体装置を用いることによってより小さなシステム構成が可能である。
【００４３】
さらに、メモリセルアレイ１０の領域を通常のメモリとして用いる部分と演算回路４０で専用に用いる部分とに分けて使用することもできる。例えば、画像処理に応用した場合は処理する画像の性質、画面のサイズ、表示するスピード等に対応するために、演算回路４０で専用に用いるメモリサイズをシステムによって変更したいことがある。そのような場合は全体のメモリサイズの内、画像処理に必要なメモリだけを演算回路専用に用いて画像処理を行ない、残りの部分を通常のメモリとしてシステムの主記憶に用いればよい。
【００４４】
このように、１チップで多様な用途に対応できるため、チップ設計にかかる労力、時間を節約できる。しかも、不要なメモリをシステムの主記憶用に使えるため、より小さなシステム構成が可能な他、画像処理を本実施例の半導体装置と他のプロセッサとで並列に行うことができ、より高速な処理が可能である。
【００４５】
また、画像をディスプレイに表示する場合や、メモリに格納されている画像データを逐次処理していくような場合には、メモリセルアレイ１０全体に対してデータ処理が行なわれる。通常はメモリセルにＤＲＡＭを用いるとリフレッシュが必要となるが、上記のような場合でメモリセルの情報保持時間よりメモリセルアレイ全体をアクセスする時間が短い場合にはリフレッシュを行なう必要がない。従って、この様な場合にはメモリセルにＤＲＡＭを用いてもリフレッシュサイクルが不要なため、より高速な動作が期待できる上に、リフレッシュのための回路が必要なくなるため、リフレッシュ回路を省略してチップサイズを低減することもできる。
【００４６】
ここで、図２に示したデータ転送回路３０で使用するスイッチＳｊk（j＝1〜p，k＝1〜q）をＭＯＳトランジスタを用いて構成した場合について、スイッチＳ１1を例として図６に示す。図６においてスイッチＳ１1は、２つのＭＯＳトランジスタＴｒＲとＴｒＷから構成される。この構成例では、スイッチＳ１1を制御する信号線ＳＳ1は、各ＭＯＳトランジスタのゲートに入力される必要があるので、リードパス接続用の信号線ＳＳ1Ｒとライトパス接続用の信号線ＳＳ1Ｗの２本となる。信号線ＳＳ1ＲによってＭＯＳトランジスタＴｒＲがオンになるとデータ線ＤＬ1がリードパスＲ1に接続され、信号線ＳＳ1ＷによってＭＯＳトランジスタＴｒＷがオンになるとデータ線ＤＬ1がライトパスＷ1に接続される。
【００４７】
また、本実施例の半導体装置において、センスアンプ２０に差動増幅器を用いて、データ線ＤＬ1，ＤＬ2，……ＤＬqを、それぞれ２本１組としたデータ線対ＤＬ1Ｔ，ＤＬ1Ｂ，ＤＬ2Ｔ，ＤＬ2Ｂ，……ＤＬqＴ，ＤＬqＢにして、相異なった信号を転送する構成としたい場合がある。このような場合には、データ転送回路３０で使用するスイッチＳｊk（j＝1〜p，k＝1〜q）として、図７に示す構成とすることができる。尚、図７はスイッチＳ１1を例として示してある。この場合スイッチＳ１1は、４つのＭＯＳトランジスタＴｒＲＴ，ＴｒＷＴ，ＴｒＲＢ，ＴｒＷＢから構成される。データ線対ＤＬ1Ｔ，ＤＬ1Ｂに対応して、リードパスＲ1及びライトパスＷ1も、それぞれリードパス対Ｒ1Ｔ，Ｒ1Ｂ及びライトパス対Ｗ1Ｔ，Ｗ1Ｂの２本ずつとなる。信号線ＳＳ1は、図６と同様にリードパス接続用の信号線ＳＳ1Ｒとライトパス接続用の信号線ＳＳ1Ｗの２本となる。ＭＯＳトランジスタＴｒＲＴとＴｒＲＢが共に信号線ＳＳ1Ｒによってオンとなると、データ線対ＤＬ1ＴとＤＬ1Ｂがそれぞれ対応するリードパス対Ｒ1Ｔ，Ｒ1Ｂに接続される。データ線対ＤＬ1ＴとＤＬ1Ｂをそれぞれ対応するライトパス対Ｗ1Ｔ，Ｗ1Ｂに接続するには、信号線ＳＳ1ＷによってＭＯＳトランジスタＴｒＷＴ，ＴｒＷＢを共にオンさせれば良い。
【００４８】
また、リードパスとライトパスの両方共対にする必要がない場合には、スイッチＳ１1は図８に示した構成にしても良い。図８の構成は、データ線対のピッチが狭く、図７の構成例ではトランジスタを配線配置しにくい場合に好適である。ここでは、リードパスを対に、ライトパスを１本の場合を示したが、必要に応じてリードパスを１本、ライトパスを対にしても良いことは勿論である。
【００４９】
以上、図６〜図８を用いて、ｎＭＯＳトランジスタを用いてスイッチＳｊk（j＝1〜p，k＝1〜q）を構成した場合を例に示したが、必要に応じてｐＭＯＳトランジスタを用いても良いし、ＣＭＯＳトランジスタによる構成にしても良いことは言うまでもない。
【実施例２】
【００５０】
図４は、本発明に係る半導体装置の別の実施例を示す基本的な回路構成のブロック図である。なお、実施例１の図１に示した構成部分と同一の構成部分には、説明の便宜上、同一の参照符号を付してその詳細な説明は省略する。すなわち、本実施例では、データ転送回路の構成と、これを制御する制御回路にｐ本の信号線ＳＳＲ1〜ＳＳＲpとｐ本の信号線ＳＳＷ1〜ＳＳＷpとを追加して、リードパスとライトパスを階層化している点が相違する。
【００５１】
ここで、本実施例のデータ転送回路３２の詳細な構成を図５に示す。尚、図５に示した転送回路３２は、図４における複数のデータ転送回路３２の１つ分のうちの一部だけであり、実施例１の図２に示したデータ転送回路３０のブロック１つ分（一例として、図２の第１ブロックを示す。）に相当する。このデータ転送回路３２は、ｑ本のデータ線を更にｙ本ずつの小ブロックとして全体でｘ個の小ブロックから構成し、各小ブロックのｙ本のデータ線は、制御回路８２からの信号線ＳＳＲ1〜ＳＳＲxの信号により、接続又は開放の２状態をとるそれぞれの小ブロックに対応する各１個のスイッチＳＲ1〜ＳＲxを介して１本のリードパスＲ1に接続され、信号線ＳＳＷ1〜ＳＳＷxの信号により同様の動作をするそれぞれ各１個のスイッチＳＷ1〜ＳＷxを介して１本のライトパスＷ1に接続される。従って、各小ブロックは、制御回路８２の信号線ＳＳ1〜ＳＳyの信号によって各小ブロック内のｘｙ（＝ｑ）本のデータ線の中から所要のデータ線が選択されてそれぞれに対応するスイッチＳ１1〜ＳＸyのリードパス側接続線又はライトパス側接続線に接続され、選択されたデータ線は信号線ＳＳＲ1〜ＳＳＲx又はＳＳＷ1〜ＳＳＷxの信号により、スイッチＳＲ1〜ＳＲx又はスイッチＳＷ1〜ＳＷxが閉じて、対応するリードパスＲ1又はライトパスＷ1に接続することができる。
【００５２】
このようにリードパスおよびライトパスを階層化することにより、本実施例の制御回路８２は新たに全部で２ｘ本の信号線ＳＳＲ1〜ＳＳＲxおよびＳＳＷ1〜ＳＳＷxの制御が必要となるが、次のような利点がある。
すなわち、図２に示したデータ転送回路３０の構成では１本のリードパス又はライトパスに接続されるデータ線の数はｑ本であるが、図５に示した本実施例のデータ転送回路３２は１つのリードパスまたはライトパスに接続されるデータ線の数をｑ本より少なくすることもできる。このデータ線の数があまり多いと信号線ＳＳ1〜ＳＳqの数も増えてリードパス、ライトパス上に現れる容量が増加して動作速度が遅くなるけれども、そのような場合に、データ転送回路３２は階層化に伴って必要となった信号線ＳＳＲ1〜ＳＳＲxおよびＳＳＷ1〜ＳＳＷxを制御回路８２によって制御し、接続不要の小ブロックに対応するスイッチＳＲ1〜ＳＲx又はスイッチＳＷ1〜ＳＷxを開くことにより、１つのリードパス、ライトパス上に現れる負荷容量を増やすことなく、より多くのデータ線を１つのリードパス、ライトパスに接続することができるので、読み出し、書き込み動作の高速化が可能である。
【００５３】
階層化された構成のデータ転送回路３２が、図２のデータ転送回路３０に比べて負荷容量が軽くなることを簡単に説明する。ここでは各スイッチＳ１1〜Ｓｘy，Ｓ１1〜ＳｐqをそれぞれＭＯＳトランジスタ２個で構成し、各スイッチＳＲ1〜ＳＲx，ＳＷ1〜ＳＷxをそれぞれＭＯＳトランジスタ１個で構成した場合を例に説明する。
【００５４】
リードパスＲ1に、データ線ＤＬ1を接続する場合のおおよその負荷容量を、それぞれのデータ転送回路３０，３２に対して見積もる。
ＭＯＳトランジスタのソース／ドレイン容量をＣｄとすると、リードパスＲ1から見た負荷容量は図２のデータ転送回路３０の場合、スイッチＳ１1がオフの状態ではＣｄ×ｑである。なお、Ｃｄにはゲートとの寄生容量も含むものとする。スイッチＳ１1がオン状態になると、更にＣｄが加わるので、合計の容量ＣＦＩＧ２はＣｄ×（ｑ＋１）となる。これに対して、図５のデータ転送回路３２の場合、リードパスＲ1から見た負荷容量は、スイッチＳＲ1〜ＳＲxがオフの状態ではＣｄ×ｘである。スイッチＳＲ1がオン状態になると、更にＣｄ×（ｙ＋１）が加わり、スイッチＳ１1がオン状態になって更にＣｄが加わるので、合計の容量ＣＦＩＧ５はＣｄ×（ｘ＋ｙ＋２）となる。
【００５５】
ここで、容量ＣＦＩＧ２と容量ＣＦＩＧ５の比をとり、ＣＦＩＧ２／ＣＦＩＧ５＝Ｋが１より小さくなる条件、すなわち、容量ＣＦＩＧ５が容量ＣＦＩＧ２より大きくなる場合を考えると、ｘ，ｙは共に正の整数であるから次式が得られる。
【００５６】
【数１】
2004362765.tif 000003
従って、（１）式より（ｘ，ｙ）＝（２，３）または（３，２）のときだけ、容量ＣＦＩＧ５が容量ＣＦＩＧ２より大きくなる。言い替えると、ｘ，ｙがそれぞれ３以上になれば、データ転送回路３２の負荷容量ＣＦＩＧ５の方が小さくなる。しかも、ｘ，ｙが大きくなればなるほどＫの値は大きくなるため、データ転送回路３２の負荷容量はデータ転送回路３０に比べて小さくなることが分かる。
【００５７】
また、本実施例のデータ転送回路３２では、図２のデータ転送回路３０においてｑ本のデータ線を１ブロックとする構成を、ｘ本からなるｙ個の小ブロックに分けた構成とするので、データ転送回路３０では制御回路８０からのスイッチを制御する信号線の数がｘ×ｙ（＝ｑ）本であるのに対して、データ転送回路３２では制御回路８２からの信号線はｙ＋２ｘ本である。このため、本実施例のデータ転送回路３２の構成を用いることにより、データ線の数が増加した場合に信号線の数の増加を抑えることができるのでチップ面積の縮小に役立つほか、１本のライトパス、リードパスに接続できるデータ線数の選択の幅が広がるので設計の自由度が向上する。なお、各スイッチＳ１1〜Ｓｘy，Ｓ１1〜ＳｐqをそれぞれＭＯＳトランジスタ２個で構成した場合には、各ゲートに信号線が入力される必要があるので、上述した制御回路８０，８２からの各信号線ＳＳ1〜ＳＳy，ＳＳ1〜ＳＳqの数は２倍の数となる。
【００５８】
前記実施例１と同様に本実施例の半導体装置も、通常のメモリとして用いることも可能であり、普段は画像処理専用として用い、必要が生じたときには通常のメモリとしてシステムの主記憶に用いる等といった時分割で用途を変える使い方も可能である。また、メモリセルアレイの領域を通常のメモリとして用いる部分と演算回路で専用に用いる部分と分けて使用することもできる等、実施例１と同様の効果を有することは言うまでもない。
【００５９】
また、図５に示したデータ転送回路３２で使用する各スイッチＳ１1〜ＳｘyのＭＯＳトランジスタによる具体的な構成は、実施例１と同様に、図６〜図８に示したいずれかの構成を必要に応じて使用すれば良い。
【００６０】
以上、本発明の好適な実施例について説明したが、本発明は前記実施例に限定されることなく、本発明の精神を逸脱しない範囲内において種々の設計変更をなし得ることは勿論である。
【図面の簡単な説明】
【００６１】
【図１】本発明に係る半導体装置の一実施例を示す基本構成のブロック図である。
【図２】図１の半導体装置に使用するデータ転送回路の一例を示す詳細な回路構成図である。
【図３】本発明に係る半導体装置の動作および従来の動作を比較説明する図であり、図３Ａおよび図３Ｂは図１の半導体装置の動作例、図３Ｃは従来の動作例を示すタイミング図である。
【図４】本発明に係る半導体装置の別の実施例を示す基本構成のブロック図である。
【図５】図４の半導体装置に使用するデータ転送回路の一例を示す詳細な回路構成図である。
【図６】本発明に係る半導体装置のデータ転送回路で使用するスイッチＳ１1の具体的構成例の一例を示す回路構成図である。
【図７】本発明に係る半導体装置のデータ転送回路で使用するスイッチＳ１1の具体的構成例の別の例を示す回路構成図である。
【図８】本発明に係る半導体装置のデータ転送回路で使用するスイッチＳ１1の具体的構成例のまた別の例を示す回路構成図である。
【符号の説明】
【００６２】
１０…メモリセルアレイ、
２０…センスアンプ、
３０…データ転送回路、
３２…データ転送回路、
４０…演算回路、
５０…シリアルアクセスメモリ、
５１…Ｉ／Ｏポート、
６０…シリアルアクセスメモリ、
６１…Ｉ／Ｏポート、
７０…デコーダ、
７１…入力ポート、
８０…制御回路、
８１…Ｉ／Ｏポート、
８２…制御回路、
９０…シリコンチップ、
Ｃｉｊ（i＝1〜n，j＝0〜m）…メモリセル、
ＤＬj，ＤＬj'（j＝1〜m）…データ線、
ＤＬ1Ｂ，ＤＬ1Ｔ…データ線、
ＷＬi（i＝1〜n）…ワード線、
Ｓｊk（j＝1〜p，k＝1〜q）…スイッチ、
ＳＲ1〜ＳＲx…スイッチ、
ＳＷ1〜ＳＷy…スイッチ、
ＳＳj（j＝1〜q），ＳＳ1Ｒ，ＳＳ1Ｗ…信号線、
ＳＳＲ1〜ＳＳＲy…信号線、
ＳＳＷ1〜ＳＳＷx…信号線、
ＴｒＲ，ＴｒＲＢ，ＴｒＲＴ…トランジスタ、
ＴｒＷ，ＴｒＷＢ，ＴｒＷＴ…トランジスタ、
Ｒj（j＝1〜p），Ｒ1Ｂ，Ｒ1Ｔ…リードパス、
Ｗj（j＝1〜p），Ｗ1Ｂ，Ｗ1Ｔ…ライトパス。
【図１】
2004362765.tif 000004
【図２】
2004362765.tif 000005
【図３】
2004362765.tif 000006
【図４】
2004362765.tif 000007
【図５】
2004362765.tif 000008
【図６】
2004362765.tif 000009
【図７】
2004362765.tif 000010
【図８】
2004362765.tif 000011