(57)【特許請求の範囲】
【請求項１】
２つのバンクから構成される第1メモリと、
２つのバンクから構成される第２メモリと、
第１メモリ内の２つのバンクのいずれか一方のデータを１演算サイクル遅延して出力する遅延手段と、
あるメモリアクセスサイクル内に、前記遅延手段により遅延された出力と前記第１メモリ内の２つのバンクの出力との内、２つを選択して出力する選択手段と、
前記メモリの１メモリアクセスサイクル中に、２回の演算を行なう演算手段と、
１メモリアクセスサイクル内に前記選択手段による出力と前記第２メモリからの出力とを前記演算手段に供給する制御手段を備え、
前記制御手段は、前記選択手段による出力のうちの１出力を１演算サイクル遅延させる制御を行い、前記演算手段に供給する
ことを特徴とするメモリ装置。
【請求項２】
２つのバンクから構成される第1メモリと、
２つのバンクから構成される第２メモリと、
第１メモリ内の２つのバンクのいずれか一方のデータを１演算サイクル遅延して出力する遅延手段と、
あるメモリアクセスサイクル内に、前記遅延手段により遅延された出力と前記第１メモリ内の２つのバンクの出力との内、２つを選択して出力する選択手段と、
前記メモリの１メモリアクセスサイクル中に２回、外部の演算器に供給する制御手段とを備え、
前記制御手段は、１メモリアクセスサイクル内に前記選択手段による出力と前記第２メモリからの出力とを演算のために供給し、前記選択手段による出力のうちの１出力を１演算サイクル遅延させる制御を行う
ことを特徴とするメモリ装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、高速にデータ出力を行なうインターリーブ方式を用いたメモリ装置に関する。
【０００２】
【従来の技術】
近年、データ処理の高速化が要求されているがこれを実現するにはメモリの高速読み出しが必要となる。しかしながらメモリの読み出しにはサイクルタイムＴｃと呼ばれる時間を必要とするため高速化は容易ではない。そこでメモリ高速読み出しを実現するため、メモリインターリーブと呼ばれる方式が考案されている。メモリインターリーブは、データバス幅のｎ倍のアクセスデータ幅を持つメモリをｎ個のバンクに分けた構成により、データアドレスが連続する場合にはサイクルタイムをＴｃ／ｎに高速化する方式である（参考文献、例えば「電子情報通信ハンドブック」１６６７頁、１９８８年オーム社発行）。
【０００３】
図３６は、このメモリインターリーブ方式のメモリ装置を２つ用意し２つのデータ間で演算を行なう演算装置の例を示す。
３０１はインターリーブ方式を採用し、偶数アドレス側の記憶領域がバンク０に、奇数アドレス側の記憶領域がバンク１に割当てられた第１のメモリ、
３０２は同様にバンク割当てされた第２のメモリ、
３０３は２つのデータを入力とし演算を行なう演算器、
３０４は第１のメ─リ３０１と演算器３０３を結ぶ第１のバス、
３０５は第２のメモリと演算器３０３を結ぶ第２のバスである。
【０００４】
図３７は、第１のメモリ３０１、第２のメモリ３０２の出力データ、及び演算器３０３の入力データの様子を示す図である。第１、第２のメモリの出力はそれぞれ、バンク０及びバンク１が１つのサイクルタイム内に同時に読み出される。読み出されたデータは、第一のバス上には指定されたアドレスに従って１つずつ出力される。たとえば、初めにアドレス２ｎ番地が指定されると、そのサイクルタイム内に２ｎ番地と２ｎ＋１番地とが同時に読み出され、次に２ｎ＋１番地が指定されると、既に読み出されたデータを出力するだけなのでサイクルタイムが不要となり高速に読み出されことになる。演算器３０３での演算は、第１、第２のバス３０４、３０５を介して入力されるデータに対して行われる。
【０００５】
以上のように構成された従来のメモリ装置について、その動作を図３６、図３７を用いて説明する。
図３７の動作は、第１のメモリ３０１と第２のメモリ３０２との間で、第１のメモリ３０１から読み出された  ２ｎ，２ｎ＋１，２ｎ＋２，・・・番地のデータと、第２のメモリ３０３から読み出された  ２ｍ，２ｍ＋１，２ｍ＋２，・・・番地のデータとを順に演算していく場合を示している。
【０００６】
第１のメモリ３０１のバンク０からは２ｎ，２ｎ＋２，２ｎ＋４，  ・・・といった偶数番地データが、バンク１からは２ｎ＋１，２ｎ＋３，２ｎ＋５，  ・・・といった奇数番地データが連続して出力される。このとき、バンク０とバンク１のデータは、  （２ｎと２ｎ＋１），  （２ｎ＋２と２ｎ＋３），  （２ｎ＋４と２ｎ＋５），  （２ｎ＋６と２ｎ＋７），  （２ｎ＋８と２ｎ＋９），・・・番地のデータ２つずつが１サイクルタイムで同時に読み出される。第２のメモリ３０２も同様である。
【０００７】
そして、第１のメモリのデータは第１のバス３０４を経由して、第２のメモリのデータは第２のバス３０５を経由して演算器３０３に入力される。演算器３０３は、図３７に示すように第１のメモリと第２のメモリの間で、２ｎと２ｍ，  ２ｎ＋１とｍ＋１，２ｎ＋２と２ｍ＋２，  ２ｎ＋３と２ｍ＋３，  ・・・番地のデータ間の演算を１／２サイクルタイム毎に連続して実行することができる。これにより、本来のメモリ素子のサイクルタイムの２倍の速度で演算を実行することが可能となる。
【０００８】
【発明が解決しようとする課題】
しかしながら従来技術によれば、メモリ間のデータを連続して演算するとき、一方のメモリの１サイクルタイム内に同時に読み出したデータと、他方のメモリの１サイクルタイム内に同時に読み出したデータとを相互に演算する場合でなければ、１／２サイクルタイム毎の高速な連続演算が実現できないという問題点があった。
【０００９】
この例を図３８に示す。図３８は、第１のメモリ３０１と第２のメモリ３０２との間で、第１のメモリ３０１から読み出された  ２ｎ，２ｎ＋１，２ｎ＋２，・・・番地のデータと、第２のメモリ３０３から読み出された２ｍ＋１，２ｍ＋２，２ｍ＋３，  ・・・番地のデータとを順に演算していく場合を示している。演算器３０３は、まず、第１のメモリ３０１のバンク１出力である２ｎ番地の出力と第２のメモリ３０２のバンク０出力である２ｍ＋１番地の出力との間で演算することができるが、これに続いて、第１のメモリ３０１のバンク１出力である２ｎ＋１番地の出力と第２のメモリ３０２のバンク０出力である２ｍ＋２番地の出力との間で演算することはできない。というのは、第２のメモリ３０２のバンク０出力である２ｍ＋２番地は、最初のメモリアクセスで２ｍ＋１番地と同時に読み出されていないからである。このように、演算器３０３は、図３８に示すように１／２メモリサイクル毎に連続して演算することができない。もっとも実際には、演算器３０３は、図示していないが１メモリサイクル毎に演算することになる。この場合、１メモリサイクル毎に演算するのであれば、インターリーブ方式は無用の装置といわなければならない。
【００１０】
本発明は上記問題点に鑑み、２つのメモリ間で連続アドレスであれば、サイクルタイムタイムの１／２の時間で連続して演算できるようにデータを出力するメモリ装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記問題点を解決するために、本発明は、第1の記憶手段と、第2の記憶手段と、第1の記憶手段の出力と第2の記憶手段の出力のいずれか一方を１演算サイクル遅延して出力する遅延手段とを備え、1演算サイクル内に前記遅延手段にて選択された側とは異なる他方の記憶手段の出力と、前記遅延手段の出力の両者を第1の演算手段に供給し、同一演算サイクル内に前記第1の記憶手段からの出力と前記第2の記憶手段からの出力とを第2の演算手段に供給することを特徴としている。
また、上記問題点を解決するために、本発明は、第1の記憶手段と、第2の記憶手段と、第1の記憶手段の出力と第2の記憶手段の出力のいずれか一方を１演算サイクル遅延して出力する遅延手段とを備え、プログラム実行のサイクルとメモリアクセスサイクルとが同一の周期で動作し、かつ、演算実行サイクルが2倍の演算性能をもつメモリ装置であって、1演算サイクル内に前記遅延手段にて選択された側とは異なる他方の記憶手段の出力と、前記遅延手段の出力の合計２つのデータを第1の演算のために供給し、次の演算サイクルに前記第1の記憶手段からの出力と前記第2の記憶手段からの出力とを第2の演算のために供給することを特徴としている。
ここで、1メモリアクセスサイクル内に2回の演算実行を行う演算器に対し、
前記遅延手段にて選択された側とは異なる他方の記憶手段の出力と、前記遅延手段の出力との合計２つのデータを第1の演算のために供給し、次の演算サイクルに前記第1の記憶手段からの出力と前記第2の記憶手段からの出力とを第2の演算のために供給する構成とすることができる。
【００１２】
【作用】
上記した構成によれば、２つのメモリを同時にアドレス昇順またはアドレス降順で連続的に読み出す場合に、遅延手段が遅延すべきデータを必要に応じて出力することによって、２つのメモリから連続したデータを１／２サイクルタイム毎に得ることができる。
【００１３】
【実施例】
以下本発明のメモリ装置の実施例について図面を用いて説明する。
図１は本発明の第１の実施例におけるメモリ装置の構成図を示す。
１０１は、偶数アドレス側がバンク０に、奇数アドレス側がバンク１に割当てられたインターリーブ方式を採用した第１のメモリ、
２０１は同様にバンク割当てされた第２のメモリ、
１０２は第１のメモリ１０１のバンク０出力をクロックφ２のハイレベルで取り込む第１のラッチ、
１０３は第１のメモリ１０１のバンク１出力をクロックφ２のハイレベルで取り込む第２のラッチ、
２０２は第２のメモリ２０１のバンク０出力をクロックφ２のハイレベルで取り込む第３のラッチ、
２０３は第２のメモリ２０１のバンク１出力をクロックφ２のハイレベルで取り込む第４のラッチ、
１０４は後述の第１のマルチプレクサ１０５を制御する第１のマルチプレクサ制御信号、
１０５は第１のマルチプレクサ制御信号１０４が０で第１のラッチ１０２の出力を、１で第２のラッチ１０３の出力を選択する第１のマルチプレクサ、
１０６は第１のマルチプレクサ１０５の出力をクロックφ１のハイレベルで取り込む第５のラッチ、
２０４は後述の第２のマルチプレクサ２０５を制御する第２のマルチプレクサ制御信号、
２０５は第２のマルチプレクサ制御信号２０４が０で第３のラッチ２０２の出力を、１で第４のラッチ２０３の出力を選択する第２のマルチプレクサ、
２０６は第２のマルチプレクサ２０５の出力をクロックφ１のハイレベルで取り込む第６のラッチ、
１０７は後述の第３のマルチプレクサ１０８を制御する第３のマルチプレクサ制御信号、
１０８は第３のマルチプレクサ制御信号１０７が０で第５のラッチ１０６の出力を、１で第１のラッチ１０２の出力を、２で第２のラッチ１０３の出力を選択する第３のマルチプレクサ、
２０７は後述の第４のマルチプレクサ２０８を制御する第４のマルチプレクサ制御信号、
２０８は第４のマルチプレクサ制御信号２０７が０で第６のラッチ２０６の出力を、１で第３のラッチ２０２の出力を、２で第４のラッチ２０３の出力を選択する第４のマルチプレクサ、
１０９は後述の第１のバス出力部１１０を制御する第１のバス出力部制御信号、
１１０は第１のバス出力部制御信号１０９が０で後述の第１のバス１１１及び後述の第２のバス２１１のどちらにもその入力信号を出力せず、１で後述の第１のバス１１１にその入力信号を出力し、２で後述の第２のバス２１１にその入力信号を出力する第１のバス出力部、
２０９は後述の第２のバス出力部２１０を制御する第２のバス出力部制御信号、
２１０は第２のバス出力部制御信号２０９が０で後述の第１のバス１１１及び後述の第２のバス２１１のどちらにもその入力信号を出力せず、１で後述の第１のバス１１１にその入力信号を出力し、２で後述の第２のバス２１１にその入力信号を出力する第２のバス出力部、
１１１は第１のバス出力部１１０の出力及び第２のバス出力部２１０の出力と後述の演算部１１２を結ぶ第１のバス、
２１１は第１のバス出力部１１０の出力及び第２のバス出力部２１０の出力と後述の演算部１１２を結ぶ第２のバス、
１１２は第１のバス１１１及び第２のバス２１１上のデータを入力とし、演算を行う演算部、
１１３は第１のメモリ１０１への第１のアドレス信号（但し第１のメモリ１０１はバンク構造を採用しているので、第１のアドレス信号１１３の最下位ビットは使用しない）、
２１３は第２のメモリ２０１への第２のアドレス信号（但し第２のメモリ２０１はバンク構造を採用しているので、第２のアドレス信号２１３の最下位ビットは使用しない）、
１１４は制御部であり、第１および第２のメモリにおいて連続したアドレス領域を同時に読み出していく場合に、第５および第６のラッチが保持したアクセスデータを次のアクセス時に出力させることによって、第３のマルチプレクサから第１のメモリのアドレス昇順又は降順にデータを出力し、かつ、第４のマルチプレクサから第２のメモリのアドレス昇順又は降順にデータを出力するように制御する。
【００１４】
この制御部１１４への入力信号は６つあり、▲１▼  演算部１１２での演算開始のため第１のメモリ１０１へ初めてアクセスを開始した時の第１のアドレス信号１１３の最下位ビット、▲２▼  同じように第２のメモリ２０１へ初めてアクセスを開始した時の第２のアドレス信号２１３の最下位ビット、▲３▼  第１のアドレス信号１１３をインクリメントして修飾する時は０、デクリメントして修飾する時は１となる第１の修飾方向信号１１５、▲４▼  第２のアドレス信号２１３をインクリメントして修飾する時は０、デクリメントして修飾する時は１となる第２の修飾方向信号２１５、▲５▼  演算する場合の開始を示す演算開始信号１１６、▲６▼  装置の動作タイミングを規定するクロックφ１、φ２である。
【００１５】
また、この制御部からの出力信号は６つあり、▲１▼  第１のマルチプレクサ制御信号１０４、▲２▼  第２のマルチプレクサ制御信号２０４、▲３▼  第３のマルチプレクサ制御信号１０７、▲４▼  第４のマルチプレクサ制御信号２０７、▲５▼  第１のバス出力部制御信号１０９、▲６▼  第２のバス出力部制御信号２０９を出力する。（これらの入力信号と出力信号の関係については、図４〜図７参照。）
図３は、図１のメモリ装置で使用されるクロック信号φ１、φ２を示す。クロック信号φ１、φ２は互いに逆位相であり、このクロックの１周期が第１及び第２のメモリのサイクルタイムに相当する。
【００１６】
図４〜図７は、図１の制御部１１４の入出力関係を示す図である。
同図において、ケース欄は入力信号の組み合わせに応じた番号を表し、サイクル欄は各ケースにおける第１サイクルと第２サイクル以降の２つに分けて示し、入力欄は制御部１１４への入力信号を示し、出力欄は入力信号に応じて出力される制御部１１４の出力信号を示す。なお、備考欄は各ケースに対応するタイムチャートの図面番号を示す。  図８〜図２３は、図１の動作タイミングを示す図であり、図４〜図７の各ケースに対応する。
【００１７】
以上のように構成されたメモリ装置について、以下図１、図４〜図２３を用いて、第１のメモリ１０１の連続アドレスのデータが第１のバス１１１経由で、第２のメモリ２０１の連続アドレスのデータが第２のバス２１１経由で演算部１１２に送られ、それぞれのデータ間で演算される場合を例にとり、その動作を第１のメモリ１０１、第２のメモリ２０１へのアクセスを開始状態で分類した図４〜図７のケース１−１からケース４−４までの１６のケースに分けて説明する。
【００１８】
（ケース１−１）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数で、第１、第２のアドレス信号１１３、２１３が共にインクリメント修飾される場合（図４のケース１−１、図８参照）。
この具体例として、第１のアドレス信号１１３及び、第２のアドレス信号２１３は共に偶数番地である２番地（この時アドレスの最下位ビットは０）からスタートしインクレメントされていく場合を例に取り説明する。
【００１９】
第１サイクルでは、第１、第２のアドレス信号１１３、２１３は共に値２を示すので、第１、第２のメモリ１０１、２０１においてバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。その結果、それぞれのバンクの出力は、図８に示すように第１サイクルのクロックφ２で、第１のラッチ１０２、第２のラッチ１０３、第３のラッチ２０２、第４のラッチ２０３にラッチされる。
【００２０】
制御部１１４は、演算開始信号１１６が１になると、制御信号を以下のように入出力する（図４のケース１−１参照）。
制御部１１４への入力信号については、動作開始時の第１、第２のアドレス信号１１３、２１３の最下位ビットは共に０であり、これらのアドレスがインクレメント修飾されるので第１、第２の修飾方向信号１１５、２１５は共に０である。これらの入力信号を受けて制御部１１４は、第３、第４のマルチプレクサ制御信号１０７、２０７を共に、第１サイクル以降φ１タイミングでは２、φ２タイミングでは１にして出力する。また、制御部１１４は、第１のバス出力部制御信号１０９を第１サイクルのφ１タイミングで０、第１サイクルのφ２タイミング以降で１とし、第２のバス出力部制御信号２０９を第１サイクルのφ１タイミングで０、第１サイクルのφ２タイミング以降で２にして出力する。
【００２１】
これら制御信号により第１サイクルのφ２タイミング以降、
第１のメモリ１０１の偶数番地の内容は、φ２タイミングで、第１のラッチ１０２、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の偶数番地の内容は、φ２タイミングで、第３のラッチ２０２、第２のバス出力部２１０を経由して第２のバス２１１に出力され、
第１のメモリ１０１の奇数番地の内容は、φ１タイミングで、第２のラッチ１０３、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の奇数番地の内容は、φ１タイミングで、第４のラッチ２０３、第２のバス出力部２１０を経由して第２のバス２１１に出力される。
【００２２】
その結果、図８に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２では連続して演算が行なうことができる。
なお、第１のアドレス信号１１３、第２のアドレス信号２１３はアドレス修飾機構（図示せず）により、φ１タイミングの立ち上がりで＋２される。
（ケース１−２）  第１、第２のメモリ１０１、１０２のアクセス開始アドレスが共に奇数で、第１、第２のアドレス信号１１３、２１３が共にデクリメント修飾される場合（図４のケース１−２、図９参照）。
【００２３】
この具体例として、第１、第２のアドレス信号１１３、２１３が共に奇数番地である５番地からデクレメントされる場合を考えると、制御部１１４は図４のケース１−２に示したように制御信号を出力する。その結果、図９に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２で連続して演算が行なえる。
【００２４】
（ケース１−３）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数、第１のアドレス信号１１３がインクレメント修飾、第２のアドレス信号２１３がデクリメント修飾される場合（図４のケース１−３、図１０参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である２番地からスタートしインクレメントされ、第２のアドレス信号２１３は奇数番地である５番地からスタートしデクレメントされる場合を考えると、制御部１１４は図４のケース１−３に示したように制御信号を出力する。その結果図１０に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００２５】
（ケース１−４）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図４のケース１−４、図１１参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である５番地からスタートしデクリメントされ、第２のアドレス信号２１３は偶数番地である２番地からスタートしインクリメントされる場合を考えると、制御部１１４は図４のケース１−４に示したように制御信号を出力する。その結果、図１１示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００２６】
（ケース２−１）  第１、第２のメモリ１０１、１０２のアクセス開始アドレスが共に奇数で、第１、第２のアドレス信号１１３、２１３が共にインクリメント修飾される場合（図５のケース２−１、図１２参照）。
この具体例として、第１のアドレス信号１１３及び、第２のアドレス信号２１３は共に奇数番地である３番地（この時アドレスの最下位ビットは１）からスタートし共にインクレメントされる場合を例に取り説明する。
【００２７】
第１サイクルでは、第１、第２のアドレス信号１１３、２１３は共に値３を示しているので、第１、第２のメモリ１０１、２０１において、それぞれバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。それぞれのバンクの出力は、図１２に示すように第１サイクルのクロックφ２で、第１〜第４のラッチ１０２、１０３、２０２、２０３にラッチされる。
【００２８】
制御部１１４は、演算開始信号１１６が１になると、制御信号を以下のように入出力する（図５のケース２−１参照）。
制御部１１４への入力信号については、動作開始時の第１、第２のアドレス信号１１３、２１３の最下位ビットは共に１であり、これらアドレスはインクレメント修飾されるので第１、第２の修飾方向信号１１５、２１５は共に０である。これらの入力信号を受けて制御部１１４は、第３、第４のマルチプレクサ制御信号１０７、２０７をともに、第１サイクル以降、φ１タイミングでは２、φ２タイミングでは１にして出力する。また、制御部１１４は、第１のバス出力部制御信号１０９を第１サイクルで０、第２サイクル以降で１にして出力し、第２のバス出力部制御信号２０９を第１サイクルで０、第２サイクル以降で２にして出力する。
【００２９】
これら制御信号により第２サイクルのφ１タイミング以降、
第１のメモリ１０１の奇数番地の内容は、φ１タイミングで、第２のラッチ１０３、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の奇数番地の内容は、φ１タイミングで、第４のラッチ２０３、第２のバス出力部２１０を経由して第２のバス２１１に出力され、
第１のメモリ１０１の偶数番地の内容は、φ２タイミングで、第１のラッチ１０２、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の偶数番地の内容は、φ２タイミングで、第３のラッチ２０２、第２のバス出力部２１０を経由して第２のバス２１１に出力される。
【００３０】
その結果、図１２に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
（ケース２−２）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数で、第１、第２のアドレス信号１１３、２１３が共にデクリメント修飾される場合（図５のケース２−２、図１３参照）。
【００３１】
この具体例として、第１、第２のアドレス信号１１３、２１３が共に偶数番地である４番地からデクレメントされる場合を考える。制御部１１４は、図５のケース２−２に示すように制御信号を出力する。その結果、図１３に示すように第１、第２のバス１１１、２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００３２】
（ケース２−３）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数で、第１のアドレス信号１１３がインクレメント修飾され、第２のアドレス信号２１３がデクリメント修飾される場合（図５のケース２−３、図１４参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である３番地からスタートしインクレメントされ、第２のアドレス信号２１３が偶数番地である４番地からスタートしデクレメントされる場合を考える。制御部１１４は図５のケース２−３に示すように制御信号を出力する。その結果、図１４に示すように第１、第２のバス１１１、２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００３３】
（ケース２−４）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図５のケース２−４、図１５参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である４番地からスタートしデクリメントされ、第２のアドレス信号２１３は奇数番地である３番地からスタートしインクリメントされる場合を考える。制御部１１４は、図５のケース２−４に示すように制御信号を出力する。その結果、図１５に示すように第１、第２のバス１１１、２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００３４】
（ケース３−１）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数であり、第１、第２のアドレス信号１１３、２１３が共にインクリメント修飾される場合（図６のケース３−１、図１６参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である２番地からスタートしインクレメントされ、第２のアドレス信号２１３は奇数番地である３番地からスタートしインクリメントされる場合を例にとり説明する。
【００３５】
第１サイクルでは、第１のアドレス信号１１３が値２を示しているので、第１のメモリ１０１においてバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。また、第２のアドレス信号２１３は値３を示しているので、第２のメモリ２０１においてバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。それぞれのバンクの出力は、図１６に示すように第１サイクルのクロックφ２で、第１〜第４のラッチ１０２、１０３、２０２、２０３にラッチされる。
【００３６】
制御部１１４は、演算開始信号１１６が１となると、以下のように制御信号を入出力する（図６のケース３−１、図１６参照）。
制御部１１４への入力信号としては、動作開始時の第１のアドレス信号１１３のアドレス信号２１３の最下位ビットは０、第２のアドレス信号２１３の最下位ビットは１であり、これらアドレスはインクレメント修飾を行なうので第１、第２の修飾方向信号１１５、２１５は共に０である。
【００３７】
これらの入力信号を受けて制御部１１４は、第１のマルチプレクサ制御信号１０４を第１サイクル以降１にして出力する。この信号により第１のマルチプレクサ１０５は第２のラッチ１０３を選択して出力するので、第１のメモリ１０１のバンク１のデータは、第２のラッチ１０３、第１のマルチプレクサ１０５を経由して、クロックφ１のタイミングで第５のラッチ１０６にラッチされる。また、制御部１１４は、第３のマルチプレクサ制御信号１０７を第１サイクル以降φ１タイミングでは１、φ２タイミングでは０にして出力し、第４のマルチプレクサ制御信号２０７を第１サイクル以降φ１タイミングでは２、φ２タイミングでは１にして出力し、第１のバス出力部制御信号１０９を第１サイクルでは０、第２サイクル以降では１にして出力し、第２のバス出力部制御信号２０９を第１サイクルでは０、第２サイクル以降で２にして出力する。
【００３８】
これら制御信号により第２サイクルのφ１タイミング以降、
第１のメモリ１０１の偶数番地の内容は、φ１タイミングで第１のラッチ１０２、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の奇数番地の内容は、φ１タイミングで第４のラッチ２０３、第２のバス出力部２１０を経由して第２のバス２１１に出力され、
第５のラッチ１０６の出力（その内容は第１のメモリ１０１の奇数番地の内容）は、φ２タイミングで第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の偶数番地の内容は、φ２タイミングで第３のラッチ２０２、第２のバス出力部２１０を経由して第２のバス２１１に出力される。
【００３９】
その結果、図１６に示すように第１、第２のバス１１１、２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
（ケース３−２）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数であり、第１、第２のアドレス信号１１３、２１３が共にデクリメント修飾される場合（図６のケース３−２、図１７参照）。
【００４０】
この具体例として、第１のアドレス信号１１３が奇数番地である５番地から、第２のアドレス信号２１３は偶数番地である４番地からデクレメントされる場合を考える。制御部１１４は、図６のケース３−２に示したように制御信号を出力する。その結果、図１７に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００４１】
（ケース３−３）  第１、第２のメモリのアクセス開始アドレスが共に偶数で、第１のアドレス信号１１３はインクリメント修飾、第２のアドレス信号２１３はデクリメント修飾される場合（図６のケース３−３、図１８参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である２番地からスタートしインクレメントされ、第２のアドレス信号２１３は偶数番地である４番地からスタートしデクレメントされる場合を考える。制御部１１４は、図６のケース３−３に示したように制御信号を出力する。その結果、図１８に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００４２】
（ケース３−４）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に奇数、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図６のケース３−４、図１９参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である５番地からスタートしデクリメントされ、第２のアドレス信号２１３は奇数番地である３番地からスタートしインクリメントされる場合を考える。制御部１１４は、図６のケース３−４に示したように制御信号を出力する。その結果、図１９に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００４３】
（ケース４−１）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数であり、第１のアドレス信号１１３、第２のアドレス信号２１３が共にインクリメント修飾される場合（図７のケース４−１、図２０参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である３番地から、第２のアドレス信号２１３が偶数番地である２番地からスタートしインクリメントされる場合を例に取り説明する。
【００４４】
第１サイクルでは、第１のアドレス信号１１３は値３を示しているので、第１のメモリ１０１においてバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。第２のアドレス信号２１３は値２を示しているので、第２のメモリ２０１においてバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。その結果それぞれのバンクの出力は、図２０に示すように第１サイクルのクロックφ２で第１〜第４のラッチ１０２、１０３、２０２、２０３にラッチされる。
【００４５】
制御部１１４は、演算開始信号１１６が１となると以下のように制御信号を入出力する（図７のケース４−１参照）。
制御部１１４への入力信号については、動作開始時の第１のアドレス信号１１３の最下位ビットは１、第２のアドレス信号２１３の最下位ビットは０であり、これらアドレスはインクレメント修飾されるので第１第２の修飾方向信号１１５、２１５は共に０である。
【００４６】
これらの入力信号を受けて制御部１１４は、第１サイクル以降第１のマルチプレクサ制御信号２０４を１とする。この信号により第２のマルチプレクサ２０４は第４のラッチ２０３を選択して出力するので、第２のメモリ２０１のバンク１のデータは、第４のラッチ２０３、第２のマルチプレクサ２０５を経由して、クロックφ１のタイミングで第６のラッチ２０３にラッチされる。また、制御部１１４は、第３のマルチプレクサ制御信号１０７を第１サイクル以降φ１タイミングでは２、φ２タイミングでは１にして出力し、第４のマルチプレクサ制御信号２０７を第１サイクル以降φ１タイミングでは１、φ２タイミングでは０にして出力し、第１のバス出力部制御信号１０９を第１サイクルでは０、第２サイクル以降では１にして出力し、第２のバス出力部制御信号２０９を第１サイクルでは０、第２サイクル以降で２にして出力する。
【００４７】
これら制御信号により第２サイクルのφ１タイミング以降、
第１のメモリ１０１の奇数番地の内容は、φ１タイミングで第２のラッチ１０３、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第２のメモリ２０１の偶数番地の内容は、φ１タイミングで第３のラッチ２０２、第２のバス出力部２１０を経由して第２のバス２１１に出力され、
第１のメモリ１０１の偶数番地の内容は、φ２タイミングで第１のラッチ１０２、第１のバス出力部１１０を経由して第１のバス１１１に出力され、
第６のラッチ２０６の出力が（その内容は第２のメモリ２０１の奇数番地の内容）、φ２タイミングで第２のバス出力部２１０を経由して第２のバス２１１に出力される。
【００４８】
その結果、図２０に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
（ケース４−２）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数であり、第１のアドレス信号１１３、第２のアドレス信号２１３共にデクリメント修飾される場合（図７のケース４−２、図２１参照）。
【００４９】
この具体例として、第１のアドレス信号１１３が偶数番地である４番地から、第２のアドレス信号２１３は奇数番地である５番地からデクレメントされる場合を考える。制御部１１４は、図７のケース４−２に示したように制御信号を出力する。その結果、図２１に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００５０】
（ケース４−３）  第１、第２のメモリ１０１、１０２のアクセス開始アドレスが共に奇数で、第１のアドレス信号１１３はインクリメント修飾、第２のアドレス信号２１３はデクリメント修飾される場合（図７のケース４−３、図２２参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である３番地からスタートしインクレメントされ、第２のアドレス信号２１３は奇数番地である５番地からスタートしデクレメントされる場合を考える。制御部１１４は、図７のケース４−３に示したように制御信号を出力する。その結果図２２に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００５１】
（ケース４−４）第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図７のケース４−４、図２３参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である４番地からスタートしデクリメントされ、第２のアドレス信号２１３は偶数番地である２番地からスタートしインクリメントされる場合を考える。制御部１１４は、図７のケース４−４に示したように制御信号を出力する。その結果、図２３に示すように第１のバス１１１、第２のバス２１１には連続してデータが流れ、演算部１１２は連続して演算することができる。
【００５２】
以上のように本実施例によれば、第５のラッチにて第１のメモリ１０１の出力を、第６のラッチにて第２のメモリ２０１の出力をそれぞれ１／２サイクルタイム遅延させ、制御部１１４にて動作開始時の第１のアドレス信号１１３の最下位ビット、動作開始時の第２のアドレス信号２１３の最下位ビット、第１の修飾方向信号１１５、第２の修飾方向信号２１５、演算開始信号１１６の情報から、第１のマルチプレクサ、第２のマルチプレクサ、第３のマルチプレクサ、第４のマルチプレクサを制御することによって、第１のメモリ１０１出力及び第２のメモリ２０１出力の演算部１１２への供給を１／２サイクルタイム単位で制御し、その結果で演算部１１２へ連続してデータを供給することができる。
【００５３】
次に、本発明の第２の実施例のメモリ装置について、図面を参照しながら説明する。
図２は本発明の第２の実施例におけるメモリ装置の構成図を示す。
図２において図１と同じ番号を付した、第１のメモリ１０１、第２のメモリ２０１、第１のラッチ１０２、第２のラッチ１０３、第３のラッチ２０２、第４のラッチのラッチ２０３、第１のバス出力制御信号１０９、第１のバス出力部１１０、第２のバス出力制御信号２０９、第２のバス出力部２１０、第１のバス１１１、第２のバス２１１、演算部１１２、第１のアドレス信号１１３、第２のアドレス信号２１３、第１の修飾方向信号１１５、第２の修飾方向信号２１５、演算開始信号１１６は、図１に示したものと同じものである。
【００５４】
１１７は後述の第５のマルチプレクサ１１８を制御する第５のマルチプレクサ制御信号、
１１８は第５のマルチプレクサ制御信号１１７が１で第１のラッチ１０２の出力を、２で第２のラッチ１０３の出力を選択する第５のマルチプレクサ、
２１７は後述の第６のマルチプレクサ２１８を制御する第６のマルチプレクサ制御信号、
２１８は第６のマルチプレクサ制御信号２１７が１で第３のラッチ２０２の出力を、２で第４のラッチ２０３の出力を選択する第６のマルチプレクサ、
１１９は後述の第７のマルチプレクサ１２０を制御する第７のマルチプレクサ制御信号、
１２０は第７のマルチプレクサ制御信号１１９が０で第１のバス１１１の出力を、１で第２のバス２１１の出力を選択する第７のマルチプレクサ、
１２１は第７のマルチプレクサ１２０の出力をクロックφ１、φ２の立ち上がりエッジで取り込むレジスタ、
１２２は後述の第８のマルチプレクサ１２３を制御する第８のマルチプレクサ制御信号、
１２３は第８のマルチプレクサ制御信号１２２が０で第１のバス１１１の出力を、１でレジスタ１２１の出力を選択する第８のマルチプレクサ、
２２２は後述の第９のマルチプレクサ２２３を制御する第９のマルチプレクサ制御信号、
２２３は第９のマルチプレクサ制御信号２２２が０で第２のバス２１１の出力を、１でレジスタ１２１の出力を選択する第９のマルチプレクサ、
１２４は制御部であり、第１および第２のメモリにおいて連続したアドレス領域を同時に読み出していく場合に、レジスタ１２１が保持したデータを次のサイクルタイムで出力させることによって、第８のマルチプレクサ１２２から第１のメモリのアドレス昇順又は降順にデータを出力し、かつ、第９のマルチプレクサ２２３から第２のメモリのアドレス昇順又は降順にデータを出力するように制御する。
【００５５】
この制御部１２４への入力信号は６つあり、▲１▼  演算部１１２での演算開始のため第１のメモリ１０１へ初めてアクセスを開始した時の第１のアドレス信号１１３の最下位ビット、▲２▼  同じように第２のメモリ２０１へ初めてアクセスを開始した時の第２のアドレス信号２１３の最下位ビット、▲３▼  第１のアドレス信号１１３をインクリメントして修飾する時は０、デクリメントして修飾する時は１となる第１の修飾方向信号１１５と、▲４▼  第２のアドレス信号２１３をインクリメントして修飾する時は０、デクリメントして修飾する時は１となる第２の修飾方向信号２１５、▲５▼  第１および第２のメモリ１０１、１０２間で連続したアドレス領域を読み出して演算する場合の開始を示す演算開始信号１１６、▲６▼  装置の動作タイミングを規定するクロックφ１、φ２とが入力される。
【００５６】
また制御部１２４からの出力信号は７つあり、▲１▼  第５のマルチプレクサ制御信号１１７、▲２▼  第６のマルチプレクサ制御信号２１７、▲３▼  第７のマルチプレクサ制御信号１１９、▲４▼  第８のマルチプレクサ制御信号１２２、▲５▼  第９のマルチプレクサ制御信号２２２、▲６▼  第１のバス出力部制御信号１０９、▲７▼  第２のバス出力部制御信号２０９である。
【００５７】
図２４〜図２７は、図２の制御部１２４の入出力関係を示す図である。
同図の各欄の意味は、第１の実施例における図４〜図７と同じである。図８〜図１５、図２８〜図３５は図２の動作タイミングを示す図であり、図２４〜図２７の各ケースに対応する。
以上のように構成されたメモリ装置について、以下、図２、図８〜図１５、図２４〜図３５を用い、第１のメモリ１０１の連続アドレスのデータが第１のバス１１１経由で、第２のメモリ２０１の連続アドレスのデータが第２のバス２１１経由で演算部１１２に送られ、それぞれのデータ間で演算される場合を例にとり、その動作を第１のメモリ１０１、第２のメモリ２０１へのアクセスを開始状態で分類した図２４〜図２７のケース５−１からケース８−４までの１６のケースに分けて説明する。
【００５８】
ここでケース５−１からケース８−４の分類は、第１の実施例におけるケース１−１からケース４−４に対応している。そして、
▲１▼  図２は、第１の実施例における図１から第１のマルチプレクサ１０５、第５のラッチ１０６、第２のマルチプレクサ２０５、第６のラッチ２０６を削除し、これと同等の機能を第７のマルチプレクサ１２０、レジスタ１２１、第８のマルチプレクサ１２３、第９のマルチプレクサ２２３によって実現している。
【００５９】
▲２▼  第１の実施例において図１の第１のマルチプレクサ１０５、第５のラッチ１０６、第２のマルチプレクサ２０５、第６のラッチ２０６を実際に使用するのは、ケース３−１から３−４、ケース４−１から４−４の場合だけである。
以下の説明で、ケース５−１からケース６−４までの動作については、第１の実施例のケース１−４から１−４、ケース２−１から２−４と同様であるので、図２の制御部１２４の入出力関係を示す図２４、図２５と動作タイミングを示す図８〜図１５の関係を示し、簡単な説明にとどめる。
【００６０】
（ケース５−１）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数で、第１のアドレス信号１１３、第２のアドレス信号２１３が共にインクリメント修飾される場合。
制御部１２４は、図２４のケース５−１に示すように動作し、図２のメモリ装置は図８の動作タイミングに示すように動作する。
【００６１】
（ケース５−２）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に奇数で、第１のアドレス信号１１３、第２のアドレス信号２１３が共にデクリメント修飾を行なう場合。
制御部１２４は図２４のケース５−２に示すように動作し、図２のメモリ装置は図９の動作タイミングに示すように動作する。
【００６２】
（ケース５−３）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数、第１のアドレス信号１１３がインクレメント修飾され、第２のアドレス信号２１３がデクリメント修飾される場合。  制御部１２４は、図２４のケース５−３に示すように動作し、図２のメモリ装置は図１０の動作タイミングに示すように動作する。
【００６３】
（ケース５−４）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数、第１のアドレス信号１１３がデクリメント修飾され、第２のアドレス信号２１３がインクリメント修飾される場合。  制御部１２４は、図２４のケース５−４に示すように動作し、図２のメモリ装置は図１１の動作タイミングに示すように動作する。
【００６４】
（ケース６−１）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に奇数で、第１のアドレス信号１１３、第２のアドレス信号２１３共にインクリメント修飾される場合。
制御部１２４は、図２５のケース６−１に示すように動作し、図２のメモリ装置は図１２の動作タイミングに示すように動作する。
【００６５】
（ケース６−２）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数で、第１のアドレス信号１１３、第２のアドレス信号２１３が共にデクリメント修飾される場合。
制御部１２４は、図２５のケース６−２に示すように動作し、図２のメモリ装置は図１３の動作タイミングに示すように動作する。
【００６６】
（ケース６−３）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数、第１のアドレス信号１１３がインクレメント修飾され、第２のアドレス信号２１３がデクリメント修飾される場合。  制御部１２４は、図２５のケース６−３に示すように動作し、図２のメモリ装置は図１４の動作タイミングに示すように動作する。
【００６７】
（ケース６−４）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数、第１のアドレス信号１１３がデクリメント修飾され、第２のアドレス信号２１３がインクリメント修飾される場合。  制御部１２４は図２５のケース６−４に示すように動作し、図２のメモリ装置は図１５の動作タイミングに示すように動作する。
【００６８】
（ケース７−１）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数、第１のアドレス信号１１３、第２のアドレス信号２１３が共にインクリメント修飾される場合（図２６のケース７−１、図２８参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である２番地からスタートしインクレメントされ、第２のアドレス信号２１３は奇数番地である３番地からスタートしインクリメントされる場合を例に取り説明する。
【００６９】
第１サイクルでは、第１のアドレス信号１１３は値２を示しているので、第１のメモリ１０１のバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。第２のアドレス信号２１３は値３を示しているので、第２のメモリ２０１のバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。その結果、それぞれのバンクの出力は、図２８に示すように第１サイクルのクロックφ２で、第１のラッチ１０２、第２のラッチ１０３、第３のラッチ２０２、第４のラッチ２０３にラッチされる。
【００７０】
制御部１２４は、演算開始信号１１６が１になると、以下のように制御信号を入出力する（図２６のケース７−１参照）。
制御部１２４の入力信号については、動作開始時の第１のアドレス信号１１３のアドレス信号２１３の最下位ビットは０、第２のアドレス信号２１３の最下位ビットは１であり、これらアドレスはインクレメント修飾されるので第１の修飾方向信号１１５、第２の修飾方向信号２１５は共に０である。
【００７１】
これらの入力信号を受けて制御部１２４は、第１サイクル以降、第７のマルチプレクサ制御信号１１９を０、第８のマルチプレクサ制御信号１２２を１、第９のマルチプレクサ制御信号２２２を０にして出力する。これらの信号より第７のマルチプレクサ１２０は第１のバス１１１を選択し、第８のマルチプレクサ１２２はレジスタ１２１を選択する。このとき、第１のバス上のデータは、第７のマルチプレクサ１２０を経由して、クロックφ１及びφ２の立ち上がりエッジでレジスタ１２１にラッチされ、ラッチ結果は第８のマルチプレクサ１２３を経て演算部１１２に入力される。また、第２のバス２１１上のデータは第９のマルチプレクサ２２３を経由して演算部１１２に入力される。
【００７２】
また、制御部１１４は、第５、第６のマルチプレクサ制御信号１１７、２１７を第１サイクル以降φ１タイミングでは２、φ２タイミングでは１にして出力し、第１のバス出力部制御信号１０９を第１サイクルのクロックφ２以降で１にして出力し、第２のバス出力部制御信号２０９を第２サイクル以降で２にして出力する。
【００７３】
これら制御信号により第１サイクルのφ２タイミング以降、第１のメモリ１０１の偶数番地の内容は、φ２タイミングで、第１のラッチ１０２、第５のマルチプレクサ１１８、第１のバス出力部１１０を経由して第１のバス１１１に出力され、奇数番地の内容は、φ１タイミングで、第２のラッチ１０３、第５のマルチプレクサ１１８、第１のバス出力部１１０を経由して第１のバス１１１に出力される。そして第１のバス１１１上のデータはさらに、第７のマルチプレクサ１２０、レジスタ１２１、第８のマルチプレクサ１２３を経由することで１／２サイクル分の遅延が与えれた後、演算部１１２に入力される。
【００７４】
また第２のメモリ２０１の奇数番地の内容は、第２サイクルのφ１タイミング以降、φ１タイミングで、第４のラッチ２０３、第６のマルチプレクサ２１８、第２のバス出力部２１０を経由して第２のバス２１１に出力され、偶数番地の内容は、φ２タイミングで、第３のラッチ２０２、第６のマルチプレクサ２１８、第２のバス出力部２１０を経由して、第２のバス２１１に出力される。そして第２のバス２１１上のデータはさらに、第９のマルチプレクサ２２３を経由した後、演算部１１２で入力される。
【００７５】
その結果、図２８に示すようにデータが流れ、演算部１１２は連続して演算することができる。
なお、第１のアドレス信号１１３、第２のアドレス信号２１３はアドレス修飾機構（図示せず）により、φ１タイミングの立ち上がりで＋２される。
（ケース７−２）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数であり、第１、第２のアドレス信号１１３、２１３が共にデクリメント修飾される場合（図２６のケース７−２、図２９参照）。
【００７６】
この具体例として、第１のアドレス信号１１３が奇数番地である５番地から、第２のアドレス信号２１３は偶数番地である４番地からデクレメントされる場合を考える。制御部１２４は、図２６のケース７−２に示したように制御信号を出力する。その結果、図２９に示すようにデータが流れ、演算部１１２は連続して演算することができる。
【００７７】
（ケース７−３）  第１、第２のメモリ１０１、１０２のアクセス開始アドレスが共に偶数で、第１のアドレス信号１１３はインクリメント修飾、第２のアドレス信号２１３はデクリメント修飾される場合（図２６のケース７−３、図３０参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である２番地からスタートしインクレメントされ、第２のアドレス信号２１３は偶数番地である４番地からスタートしデクレメントされる場合を考える。制御部１２４は、図２６のケース７−３に示したように制御信号を出力する。その結果、図３０に示すようにデータが流れ演算部１１２は連続して演算することができる。
【００７８】
（ケース７−４）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に奇数、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図２６のケース７−４、図３１参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である５番地からスタートしデクリメントされ、第２のアドレス信号２１３は奇数番地である３番地からスタートしインクリメントされる場合を考える。制御部１２４は、図２６のケース７−４に示したように制御信号を出力する。その結果、図３１に示すようにデータが流れ、演算部１１２は連続して演算することができる。
【００７９】
（ケース８−１）  第１のメモリ１０１のアクセス開始アドレスが奇数、第２のメモリ２０１のアクセス開始アドレスが偶数、第１のアドレス信号１１３、第２のアドレス信号２１３共にインクリメント修飾される場合（図２７のケース８−１、図３２参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である３番地から、第２のアドレス信号２１３は偶数番地である２番地からスタートしインクリメントされる場合を例に取り説明する。
【００８０】
第１サイクルでは第１のアドレス信号１１３は値３を示しているので、第１のメモリ１０１のバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。第２のアドレス信号２１３は値２を示しているので、第２のメモリ２０１のバンク０は偶数番地である２番地がアクセスされ、バンク１は奇数番地である３番地がアクセスされる。その結果、それぞれのバンクの出力は、図３２に示すように第１サイクルのクロックφ２で、第１〜第４のラッチ１０２、１０３、２０２、２０３にラッチされる。
【００８１】
制御部１２４は、演算開始信号１１６が１となると、以下のように制御信号を入出力する（図２７のケース８−１参照）。
制御部の入力信号については、動作開始時の第１のアドレス信号１１３の最下位ビットは０、第２のアドレス信号２１３の最下位ビットは１であり、第１のアドレス信号１１３、第２のアドレス信号２１３は共にデクリメント修飾されるので、第１の修飾方向信号１１５、第２の修飾方向信号２１５は共に１である。
【００８２】
これらの入力信号を受けて制御部１２４は、第１サイクル以降、第７のマルチプレクサ制御信号１１９を１、第８のマルチプレクサ制御信号１２２を０、第９のマルチプレクサ制御信号２２２を１にして出力する。これらの信号より第７のマルチプレクサ１２０は第２のバス２１１を選択し、第９のマルチプレクサ２２３はレジスタ１２１を選択する。このとき、第２のバス上のデータは、第７のマルチプレクサ１２０を経由して、クロックφ１及びφ２の立ち上がりエッジでレジスタ１２１にラッチされ、ラッチ結果は第９のマルチプレクサ１２３を経て演算部１１２に入力される。また、第１のバス１１１上のデータは第８のマルチプレクサ１２３を経由して演算部１１２に入力される。
【００８３】
また制御部１２４は、図２７に示すように、第５、第６のマルチプレクサ制御信号１１７、２１７を第１サイクル以降、φ１タイミングでは２、φ２タイミングでは１にして出力し、第２のバス出力部制御信号２０９を第１サイクルのクロックφ２以降で２として出力し、第１のバス出力部制御信号１０９を第２サイクル以降で１にして出力する。
【００８４】
これら制御信号により第１サイクルのφ２タイミング以降、第２のメモリ２０１の偶数番地の内容は、φ２タイミングで、第３のラッチ２０２、第６のマルチプレクサ２１８、第２のバス出力部２１０を経由して、奇数番地の内容は、φ１タイミングで、第４のラッチ２０３、第６のマルチプレクサ２１８、第２のバス出力部２１０を経由して第２のバス２１１に出力される。そして第２のバス２１１上のデータはさらに、第７のマルチプレクサ１２０、レジスタ１２１、第９のマルチプレクサ２２３を経由することでで１／２サイクル分の遅延が与えれた後、演算部１１２で入力される。
【００８５】
また第２サイクルのφ１タイミング以降、第１のメモリ１０１の奇数番地の内容はφ１タイミングで、第２のラッチ１０３、第５のマルチプレクサ１１８、第１のバス出力部１１０を経由して第１のバス１１１に出力され、偶数番地の内容はφ２タイミングで、第１のラッチ１０２、第５のマルチプレクサ１１８、第１のバス出力部１１０経由して第１のバス１１１に出力される。そして第１のバス１１１上のデータはさらに、第８のマルチプレクサ１２３を経由した後、演算部１１２に入力される。
【００８６】
その結果、図３２に示すようにデータが流れ演算部１１２は連続して演算することができる。
（ケース８−２）  第１のメモリ１０１のアクセス開始アドレスが偶数、第２のメモリ２０１のアクセス開始アドレスが奇数であり、第１、第２のアドレス信号１１３、２１３が共にデクリメント修飾される場合（図２７のケース８−２、図３３参照）。
【００８７】
この具体例として、第１のアドレス信号１１３が偶数番地である４番地から、第２のアドレス信号２１３は奇数番地である５番地からデクレメントされる場合を考える。制御部１１４は、図２７のケース８−２に示したように制御信号を出力する。その結果、図３３に示すようにデータが流れ、演算部１１２は連続して演算することができる。
【００８８】
（ケース８−３）  第１、第２のメモリのアクセス開始アドレスが共に奇数であり、第１のアドレス信号１１３はインクリメント修飾、第２のアドレス信号２１３はデクリメント修飾される場合（図２７のケース８−３、図３４参照）。
この具体例として、第１のアドレス信号１１３が奇数番地である３番地からスタートしインクレメントされ、第２のアドレス信号２１３は奇数番地である５番地からスタートしデクレメントされる場合を考える。制御部１２４は、図２７のケース８−３に示したように制御信号を出力する。  その結果、図３４に示すようにデータが流れ、演算部１１２は連続して演算することができる。
【００８９】
（ケース８−４）  第１、第２のメモリ１０１、２０１のアクセス開始アドレスが共に偶数であり、第１のアドレス信号１１３がデクリメント修飾、第２のアドレス信号２１３がインクリメント修飾される場合（図２７のケース８−４、図３５参照）。
この具体例として、第１のアドレス信号１１３が偶数番地である４番地からスタートしデクリメントされ、第２のアドレス信号２１３は偶数番地である２番地からスタートしインクリメントされる場合を考える。制御部１２４は、図２７のケース８−４に示したように制御信号を出力する。その結果図３５に示すようにデータが流れ、演算部１１２は連続して演算することふができる。
【００９０】
以上のように本実施例によれば、第１のメモリ１０１の出力または第２のメモリ２０１の出力をレジスタ１２１にて１／２サイクルタイム遅延させ演算部１１２へ連続してデータを供給することができるので、第１のメモリと第２のメモリ間で連続して１／２サイクルタイム毎に演算することができる。
【００９１】
【発明の効果】
以上のように本発明は、第１及び第２のメモリへのアクセス開始時のアドレス最下位ビット、それぞれのメモリに対するアクセス方向信号に基づいて、第１のメモリまたは第２のメモリの出力を１／２サイクルタイムタイム遅延させることによって、第１のメモリと第２のメモリ間で１／２サイクルタイム毎に連続して演算することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施例におけるメモリ装置の構成図である。
【図２】本発明の第２の実施例におけるメモリ装置の構成図である。
【図３】本発明の第１及び第２の実施例におけるクロック信号を示す図である。
【図４】本発明の第１の実施例における制御部１１４の入出力関係を示す図である（ケース１−１からケース１−４まで）。
【図５】同上（ケース２−１からケース２−４まで）。
【図６】同上（ケース３−１からケース３−４まで）。
【図７】同上（ケース４−１からケース４−４まで）。
【図８】本発明の第１及び第２の実施例における動作タイミングを示す図である（ケース１−１、ケース５−１）。
【図９】同上（ケース１−２、ケース５−２）。
【図１０】同上（ケース１−３、ケース５−３）。
【図１１】同上（ケース１−４、ケース５−４）。
【図１２】同上（ケース２−１、ケース６−１）。
【図１３】同上（ケース２−２、ケース６−２）。
【図１４】同上（ケース２−３、ケース６−３）。
【図１５】同上（ケース２−４、ケース６−４）。
【図１６】本発明の第１の実施例における動作タイミングを示す図である（ケース３−１）。
【図１７】同上（ケース３−２）。
【図１８】同上（ケース３−３）。
【図１９】同上（ケース３−４）。
【図２０】同上（ケース４−１）。
【図２１】同上（ケース４−２）。
【図２２】同上（ケース４−３）。
【図２３】同上（ケース４−４）。
【図２４】本発明の第２の実施例における制御部１２４の入出力関係を示す図である（ケース５−１からケース５−４まで）。
【図２５】同上（ケース６−１からケース６−４まで）。
【図２６】同上（ケース７−１からケース７−４まで）。
【図２７】同上（ケース８−１からケース８−４まで）。
【図２８】本発明の第２の実施例における動作タイミングを示す図である（ケース７−１）。
【図２９】同上（ケース７−２）。
【図３０】同上（ケース７−３）。
【図３１】同上（ケース７−４）。
【図３２】同上（ケース８−１）。
【図３３】同上（ケース８−２）。
【図３４】同上（ケース８−３）。
【図３５】同上（ケース８−４）。
【図３６】従来技術におけるメモリ装置の構成図である。
【図３７】従来技術におけるメモリ装置の動作タイミング図である。
【図３８】従来技術におけるメモリ装置の動作タイミング図である。
【符号の説明】
１０１    第１のメモリ
１０２    第１のラッチ
１０３    第２のラッチ
１０５    第１のマルチプレクサ
１０６    第５のラッチ
１０８    第３のマルチプレクサ
１１０    第１のバス出力部
１１１    第１のバス
１１２    演算部
１１３    第１のアドレス信号
１１４    制御部
１１８    第５のマルチプレクサ
１２０    第７のマルチプレクサ
１２１    レジスタ
１２３    第８のマルチプレクサ
１２４    制御部
２０１    第２のメモリ
２０２    第３のラッチ
２０３    第４のラッチ
２０５    第２のマルチプレクサ
２０６    第６のラッチ
２０８    第４のマルチプレクサ
２１０    第１２のバス出力部
２１１    第１のバス
２１８    第５のマルチプレクサ
２２３    第８のマルチプレクサ
【図１】
0003616059.tif 000002
【図２】
0003616059.tif 000003
【図３】
0003616059.tif 000004
【図４】
0003616059.tif 000005
【図５】
0003616059.tif 000006
【図６】
0003616059.tif 000007
【図７】
0003616059.tif 000008
【図８】
0003616059.tif 000009
【図９】
0003616059.tif 000010
【図１０】
0003616059.tif 000011
【図１１】
0003616059.tif 000012
【図１２】
0003616059.tif 000013
【図１３】
0003616059.tif 000014
【図１４】
0003616059.tif 000015
【図１５】
0003616059.tif 000016
【図１６】
0003616059.tif 000017
【図１７】
0003616059.tif 000018
【図１８】
0003616059.tif 000019
【図１９】
0003616059.tif 000020
【図２０】
0003616059.tif 000021
【図２１】
0003616059.tif 000022
【図２２】
0003616059.tif 000023
【図２３】
0003616059.tif 000024
【図２４】
0003616059.tif 000025
【図２５】
0003616059.tif 000026
【図２６】
0003616059.tif 000027
【図２７】
0003616059.tif 000028
【図２８】
0003616059.tif 000029
【図２９】
0003616059.tif 000030
【図３０】
0003616059.tif 000031
【図３１】
0003616059.tif 000032
【図３２】
0003616059.tif 000033
【図３３】
0003616059.tif 000034
【図３４】
0003616059.tif 000035
【図３５】
0003616059.tif 000036
【図３６】
0003616059.tif 000037
【図３７】
0003616059.tif 000038
【図３８】
0003616059.tif 000039