JPH08147214A - メモリ装置 - Google Patents
メモリ装置Info
- Publication number
- JPH08147214A JPH08147214A JP28391394A JP28391394A JPH08147214A JP H08147214 A JPH08147214 A JP H08147214A JP 28391394 A JP28391394 A JP 28391394A JP 28391394 A JP28391394 A JP 28391394A JP H08147214 A JPH08147214 A JP H08147214A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- odd
- data
- cpu
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 159
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000007704 transition Effects 0.000 description 20
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 1
Abstract
(57)【要約】
【目的】 バーストアクセスが開始されるアドレスに依
らず、常に、高速にアクセスを完了させることができる
メモリ装置を提供する。 【構成】 メモリ装置へのバーストアクセスが開始され
たCPUサイクルにおいて、そのスタートアドレスが奇
数であった場合に、アドレスカウンタ12EVENに対し
て、その内部に記憶されたアドレスのカウントアップを
指示するための信号“*CE-EVEN”をCPUサイクルとは
非同期に出力するメモリコントローラ11と、アドレス
カウンタ12EVENのカウントアップが可能なように、C
PUサイクルとは非同期な“*LOAD ”信号を生成するLO
AD信号生成回路14をメモリ装置に設ける。これによ
り、アクセス開始後、3CPUサイクル目で、メモリバ
ンク13 EVENに、2番目のデータを出力させることがで
きることになり、奇数アドレススタート時にも、2CP
Uサイクル目からデータを出力できることになる。
らず、常に、高速にアクセスを完了させることができる
メモリ装置を提供する。 【構成】 メモリ装置へのバーストアクセスが開始され
たCPUサイクルにおいて、そのスタートアドレスが奇
数であった場合に、アドレスカウンタ12EVENに対し
て、その内部に記憶されたアドレスのカウントアップを
指示するための信号“*CE-EVEN”をCPUサイクルとは
非同期に出力するメモリコントローラ11と、アドレス
カウンタ12EVENのカウントアップが可能なように、C
PUサイクルとは非同期な“*LOAD ”信号を生成するLO
AD信号生成回路14をメモリ装置に設ける。これによ
り、アクセス開始後、3CPUサイクル目で、メモリバ
ンク13 EVENに、2番目のデータを出力させることがで
きることになり、奇数アドレススタート時にも、2CP
Uサイクル目からデータを出力できることになる。
Description
【0001】
【産業上の利用分野】本発明は、メモリ装置に係わり、
特に、アドレスインタリーブされた複数のメモリバンク
を備えたバーストアクセスが可能なメモリ装置に関す
る。
特に、アドレスインタリーブされた複数のメモリバンク
を備えたバーストアクセスが可能なメモリ装置に関す
る。
【0002】
【従来の技術】RISC(Reduced Instruction Set Com
puter)タイプのCPUには、バーストアクセスというメ
モリアクセスモードをサポートしているものがある。バ
ーストアクセスモードは、連続したアドレスのデータを
高速にアクセスするために設けられたアクセスモードで
あり、このアクセスモードでは、図8および図9に示し
たように、CPU31からアクセス対象とするメモリ装
置32に対して、バーストアクセスを行うことを示す制
御信号と、アクセスを行うデータの最初のアドレス(ス
タートアドレス)だけが供給され、CPU31は、その
後、メモリ装置32によってデータバス上に出力される
データ(データ0、データ1)を、クロック(CLK)に同
期して取得していくことにより、連続したアドレスのデ
ータのアクセスを行っていく。
puter)タイプのCPUには、バーストアクセスというメ
モリアクセスモードをサポートしているものがある。バ
ーストアクセスモードは、連続したアドレスのデータを
高速にアクセスするために設けられたアクセスモードで
あり、このアクセスモードでは、図8および図9に示し
たように、CPU31からアクセス対象とするメモリ装
置32に対して、バーストアクセスを行うことを示す制
御信号と、アクセスを行うデータの最初のアドレス(ス
タートアドレス)だけが供給され、CPU31は、その
後、メモリ装置32によってデータバス上に出力される
データ(データ0、データ1)を、クロック(CLK)に同
期して取得していくことにより、連続したアドレスのデ
ータのアクセスを行っていく。
【0003】このように、バーストアクセス時には、C
PUからスタートアドレスしか出力しないため、バース
トアクセスを行うCPUは、CPUから供給されるスタ
ートアドレスを基に、順次、出力するデータのアドレス
を変更していく機能を備えたメモリ装置と組み合わせて
使用されることになる。
PUからスタートアドレスしか出力しないため、バース
トアクセスを行うCPUは、CPUから供給されるスタ
ートアドレスを基に、順次、出力するデータのアドレス
を変更していく機能を備えたメモリ装置と組み合わせて
使用されることになる。
【0004】バーストアクセスを行うCPUと組み合わ
せて使用できるメモリ装置(メモリチップ)としては、
メモリチップ自体にバーストアクセスに対応できる機能
が付加されたものと、通常のメモリチップに幾つかの回
路を付加してバーストアクセスに対応できるようにした
ものとが知られている。
せて使用できるメモリ装置(メモリチップ)としては、
メモリチップ自体にバーストアクセスに対応できる機能
が付加されたものと、通常のメモリチップに幾つかの回
路を付加してバーストアクセスに対応できるようにした
ものとが知られている。
【0005】このうち、前者のメモリチップ(メモリ装
置)は、製造されている種類が少なく、そのようなメモ
リチップを用いてバーストアクセスが行えるシステムを
構成した場合、システムのメモリ容量が、製造されてい
るメモリチップの容量によって制限されてしまうことに
なり、自由なシステム設計が行えないという問題があ
る。さらに、そのようなメモリチップは、高価でもある
ため、システムが高価になってしまうといった問題もあ
った。
置)は、製造されている種類が少なく、そのようなメモ
リチップを用いてバーストアクセスが行えるシステムを
構成した場合、システムのメモリ容量が、製造されてい
るメモリチップの容量によって制限されてしまうことに
なり、自由なシステム設計が行えないという問題があ
る。さらに、そのようなメモリチップは、高価でもある
ため、システムが高価になってしまうといった問題もあ
った。
【0006】これに対し、後者のメモリ装置は、広く一
般的に用いられているメモリチップを用いて構成するこ
とが可能であるため、メモリ容量を任意に設定でき、ま
た、安価にシステムを構築できることにもなる。このよ
うなメモリ装置をアクセスタイムが比較的遅いメモリを
用いて構成する場合には、複数のメモリバンクを用いて
回路を組み、各メモリバンクから巡回的にデータが出力
されるように、各メモリバンクを制御することが行われ
ている。
般的に用いられているメモリチップを用いて構成するこ
とが可能であるため、メモリ容量を任意に設定でき、ま
た、安価にシステムを構築できることにもなる。このよ
うなメモリ装置をアクセスタイムが比較的遅いメモリを
用いて構成する場合には、複数のメモリバンクを用いて
回路を組み、各メモリバンクから巡回的にデータが出力
されるように、各メモリバンクを制御することが行われ
ている。
【0007】以下、2個のメモリバンクを用いた場合を
例に、従来のメモリ装置の概要を説明する。
例に、従来のメモリ装置の概要を説明する。
【0008】図10に、従来の、2個のメモリバンクを
備えたメモリ装置の構成を示す。図中、*BURST、*ROMO
E、*ROMCS、CLK は、図示していない、バーストアクセ
スをサポートするCPUから供給される制御信号であ
り、*RADY は、CPUに対して供給される制御信号であ
る。まず、この図を用いて、メモリ装置を構成する各回
路の概要を説明する。
備えたメモリ装置の構成を示す。図中、*BURST、*ROMO
E、*ROMCS、CLK は、図示していない、バーストアクセ
スをサポートするCPUから供給される制御信号であ
り、*RADY は、CPUに対して供給される制御信号であ
る。まず、この図を用いて、メモリ装置を構成する各回
路の概要を説明する。
【0009】アドレスカウンタ22EVEN、22ODD は、
それぞれ、メモリコントローラ21からイネーブルレベ
ルの信号“*LOAD ”が入力されたときに、アドレスバス
上のアドレスを取り込むとともに、そのアドレスをメモ
リバンク23EVEN、23ODDに出力するように構成され
た回路であり、イネーブルレベルの信号“*CE-EVEN”、
“*CE-ODD ”が入力された際に、内部に記憶しているア
ドレスのカウントアップを行うようにもなっている。
それぞれ、メモリコントローラ21からイネーブルレベ
ルの信号“*LOAD ”が入力されたときに、アドレスバス
上のアドレスを取り込むとともに、そのアドレスをメモ
リバンク23EVEN、23ODDに出力するように構成され
た回路であり、イネーブルレベルの信号“*CE-EVEN”、
“*CE-ODD ”が入力された際に、内部に記憶しているア
ドレスのカウントアップを行うようにもなっている。
【0010】メモリバンク23EVEN、23ODD は、それ
ぞれ、偶数アドレス、奇数アドレスのデータが格納され
たメモリバンクであり、各メモリバンク23が出力すべ
きデータのアドレスはアドレスカウンタ22EVEN、22
ODD によって指定され、各メモリバンク23は、メモリ
コントローラ21から、イネーブルレベルの信号“*OE-
EVEN”、“*OE-ODD ”が入力された際に、該当アドレス
のデータをデータバス上に出力する。なお、ここで説明
を行っているメモリ装置では、メモリバンク23とし
て、アクセスタイムが1CPUサイクル程度のものが用
いられる。
ぞれ、偶数アドレス、奇数アドレスのデータが格納され
たメモリバンクであり、各メモリバンク23が出力すべ
きデータのアドレスはアドレスカウンタ22EVEN、22
ODD によって指定され、各メモリバンク23は、メモリ
コントローラ21から、イネーブルレベルの信号“*OE-
EVEN”、“*OE-ODD ”が入力された際に、該当アドレス
のデータをデータバス上に出力する。なお、ここで説明
を行っているメモリ装置では、メモリバンク23とし
て、アクセスタイムが1CPUサイクル程度のものが用
いられる。
【0011】メモリコントローラ21は、CPUから入
力される制御信号(*BURST,*ROMOE,*ROMCS) 、クロック
(CLK) およびアドレスバスの最下位ビットA0を基に、ア
ドレスカウンタ22およびメモリバンク23を制御する
ための信号(*LOAD,*CE-EVEN,*OE-EVEN,*CE-ODD,*OE-OD
D) を作成する回路であり、図11に示してあるよう
に、1CPUサイクル毎に、“IDLE”、“SIM-EVEN”、
“SIM-ODD ”、“preBUR-ODD”、“BUR-EVEN”、“BUR-
ODD ”といった6つの状態(ステート)を、信号“*BUR
ST”や“*ROMCS”のレベルに応じて遷移し、遷移した各
ステートにおいて、それぞれのステートに対して規定さ
れているレベルの制御信号(図12)を出力するように
構成されている。
力される制御信号(*BURST,*ROMOE,*ROMCS) 、クロック
(CLK) およびアドレスバスの最下位ビットA0を基に、ア
ドレスカウンタ22およびメモリバンク23を制御する
ための信号(*LOAD,*CE-EVEN,*OE-EVEN,*CE-ODD,*OE-OD
D) を作成する回路であり、図11に示してあるよう
に、1CPUサイクル毎に、“IDLE”、“SIM-EVEN”、
“SIM-ODD ”、“preBUR-ODD”、“BUR-EVEN”、“BUR-
ODD ”といった6つの状態(ステート)を、信号“*BUR
ST”や“*ROMCS”のレベルに応じて遷移し、遷移した各
ステートにおいて、それぞれのステートに対して規定さ
れているレベルの制御信号(図12)を出力するように
構成されている。
【0012】まず,これらの図を用いて、シンプルアク
セス(1アドレス分のデータを出力するアクセス)時の
動作を簡単に説明することにする。
セス(1アドレス分のデータを出力するアクセス)時の
動作を簡単に説明することにする。
【0013】メモリコントローラ21がとるステートの
うち、“SIM-EVEN”、“SIM-ODD ”ステートが、シンプ
ルアクセスに応答するために用意されているステートで
あり、図11に示してあるように、“IDLE”ステートか
ら“SIM-EVEN”ステートへの遷移は、“!ROMCS&BURST&!
A0”(信号“*ROMCS”=“L”かつ信号“*BURST”=
“H”かつアドレスの最下位ビットA0=“0”)といっ
た条件下で実行され、“SIM-ODD ”ステートへの遷移
は、“!ROMCS&BURST&A0 ”(信号“*ROMCS”=“L”か
つ信号“*BURST”=“H”かつアドレスの最下位ビット
A0=“1”)という条件下で実行される。
うち、“SIM-EVEN”、“SIM-ODD ”ステートが、シンプ
ルアクセスに応答するために用意されているステートで
あり、図11に示してあるように、“IDLE”ステートか
ら“SIM-EVEN”ステートへの遷移は、“!ROMCS&BURST&!
A0”(信号“*ROMCS”=“L”かつ信号“*BURST”=
“H”かつアドレスの最下位ビットA0=“0”)といっ
た条件下で実行され、“SIM-ODD ”ステートへの遷移
は、“!ROMCS&BURST&A0 ”(信号“*ROMCS”=“L”か
つ信号“*BURST”=“H”かつアドレスの最下位ビット
A0=“1”)という条件下で実行される。
【0014】すなわち、“SIM-EVEN”、“SIM-ODD ”ス
テートへの遷移は、信号“*BURST”によって、バースト
アクセスではないことが指示されたメモリアクセスの際
に行われる。その際、CPUから供給されたアドレスが
偶数アドレス(A0=“0”)であった場合には、“SIM-
EVEN”ステートへの遷移が行われる。このステートで
は、図12に示してあるように、イネーブルレベルの信
号“*OE-EVEN”がメモリバンク23EVENに入力されるの
で、メモリバンク23EVENは、アドレスカウンタ22
EVENから供給されているアドレスに応じたデータをデー
タバス上に出力することになり、また、そのデータがC
PUに格納されることになる。
テートへの遷移は、信号“*BURST”によって、バースト
アクセスではないことが指示されたメモリアクセスの際
に行われる。その際、CPUから供給されたアドレスが
偶数アドレス(A0=“0”)であった場合には、“SIM-
EVEN”ステートへの遷移が行われる。このステートで
は、図12に示してあるように、イネーブルレベルの信
号“*OE-EVEN”がメモリバンク23EVENに入力されるの
で、メモリバンク23EVENは、アドレスカウンタ22
EVENから供給されているアドレスに応じたデータをデー
タバス上に出力することになり、また、そのデータがC
PUに格納されることになる。
【0015】なお、このように、“IDLE”ステート時に
供給が開始されるアドレスのデータを次のCPUサイク
ルで出力させるために、アクセスタイムが1CPUサイ
クル程度であるメモリバンク23が用いられている訳で
あり、さらにアクセスタイムが遅いメモリバンクを用い
る場合には、これとは異なった手順で制御が行われるこ
とになる。
供給が開始されるアドレスのデータを次のCPUサイク
ルで出力させるために、アクセスタイムが1CPUサイ
クル程度であるメモリバンク23が用いられている訳で
あり、さらにアクセスタイムが遅いメモリバンクを用い
る場合には、これとは異なった手順で制御が行われるこ
とになる。
【0016】次に、バーストアクセス時の動作の説明を
行う。
行う。
【0017】メモリコントローラ21が遷移するステー
トのうち、“BUR-EVEN”、“preBUR-ODD”、“BUR-ODD
”ステートが、バーストアクセス要求に対処するため
に設けられているステートである。これらのステートの
うち、“BUR-EVEN”、“BUR-ODD ”は、偶数アドレスス
タート、奇数アドレススタートいずれのバーストアクセ
スにおいても使用されるが、“preBUR-ODD”ステートは
奇数アドレススタート時にのみ使用されている。
トのうち、“BUR-EVEN”、“preBUR-ODD”、“BUR-ODD
”ステートが、バーストアクセス要求に対処するため
に設けられているステートである。これらのステートの
うち、“BUR-EVEN”、“BUR-ODD ”は、偶数アドレスス
タート、奇数アドレススタートいずれのバーストアクセ
スにおいても使用されるが、“preBUR-ODD”ステートは
奇数アドレススタート時にのみ使用されている。
【0018】すなわち、偶数アドレススタートのバース
トアクセスでは、信号“*ROMCS”と信号“*BURST”が共
に“L”となり、アドレスの最下位ビットA0が“0”と
なる(!ROMCS&!BURST&!A0 )ので、図11に示してある
ように、“IDLE”ステートから、“BUR-EVEN”ステート
への遷移が行われ、その後、バーストアクセスの終了が
CPUより指示(信号“*ROMCS”=“H”)されない限
り、CPUサイクル毎に“BUR-ODD ”、“BUR-EVEN”ス
テート間の遷移が繰り返されるだけであり、“preBUR-O
DD”ステートへの遷移が行われることはない。
トアクセスでは、信号“*ROMCS”と信号“*BURST”が共
に“L”となり、アドレスの最下位ビットA0が“0”と
なる(!ROMCS&!BURST&!A0 )ので、図11に示してある
ように、“IDLE”ステートから、“BUR-EVEN”ステート
への遷移が行われ、その後、バーストアクセスの終了が
CPUより指示(信号“*ROMCS”=“H”)されない限
り、CPUサイクル毎に“BUR-ODD ”、“BUR-EVEN”ス
テート間の遷移が繰り返されるだけであり、“preBUR-O
DD”ステートへの遷移が行われることはない。
【0019】これに対し、奇数アドレススタートのバー
ストアクセスでは、信号“*ROMCS”と信号“*BURST”が
共に“L”、アドレスの最下位ビットA0が“1”(!ROM
CS&!BURST&A0)となるので、“IDLE”ステートから、ま
ず、“preBUR-ODD”ステートへの遷移が行われ、その
後、CPUサイクル毎に“BUR-EVEN”、“BUR-ODD ”ス
テート間の遷移が繰り返されるようになっている。
ストアクセスでは、信号“*ROMCS”と信号“*BURST”が
共に“L”、アドレスの最下位ビットA0が“1”(!ROM
CS&!BURST&A0)となるので、“IDLE”ステートから、ま
ず、“preBUR-ODD”ステートへの遷移が行われ、その
後、CPUサイクル毎に“BUR-EVEN”、“BUR-ODD ”ス
テート間の遷移が繰り返されるようになっている。
【0020】このように、奇数アドレススタート時に、
特殊なステート(“preBUR-ODD”)への遷移が行われて
いる理由を、図13および図14を用いて説明する。な
お、図13は、従来のメモリ装置における、偶数アドレ
スで開始されるバーストアクセスのタイミングチャート
であり、図14は、奇数アドレスで開始されるバースト
アクセスのタイミングチャートである。
特殊なステート(“preBUR-ODD”)への遷移が行われて
いる理由を、図13および図14を用いて説明する。な
お、図13は、従来のメモリ装置における、偶数アドレ
スで開始されるバーストアクセスのタイミングチャート
であり、図14は、奇数アドレスで開始されるバースト
アクセスのタイミングチャートである。
【0021】図13に示してあるように、偶数アドレス
スタートのバーストアクセスでは、“IDLE”ステートか
ら、まず、“BUR-EVEN”ステートへの遷移が行われ、こ
の“BUR-EVEN”ステートにおいて、イネーブルレベルの
信号“*CE-EVEN”と“*OE-EVEN”が出力されることにな
る。このため、イネーブルレベルの信号“*OE-EVEN”を
受けるメモリバンク23EVENは、“SIM-EVEN”ステート
時と同様に、“IDLE”ステート時から供給されているア
ドレスのデータをデータバス上に出力することになる。
スタートのバーストアクセスでは、“IDLE”ステートか
ら、まず、“BUR-EVEN”ステートへの遷移が行われ、こ
の“BUR-EVEN”ステートにおいて、イネーブルレベルの
信号“*CE-EVEN”と“*OE-EVEN”が出力されることにな
る。このため、イネーブルレベルの信号“*OE-EVEN”を
受けるメモリバンク23EVENは、“SIM-EVEN”ステート
時と同様に、“IDLE”ステート時から供給されているア
ドレスのデータをデータバス上に出力することになる。
【0022】また、“BUR-EVEN”ステートでは、“SIM-
EVEN”ステートとは異なり、イネーブルレベルの信号
“*CE-EVEN”も出力されているため、アドレスカウンタ
22EV ENは、内部に保持しているアドレスのカウントア
ップを開始し、この“BUR-EVEN”ステートの最後で、ア
ドレスカウンタ22EVEN内のアドレスのカウントアップ
が完了し、メモリバンク23EVENへの新たなアドレス
(ADD EVEN:アドレス2)の供給が開始されることにな
る。
EVEN”ステートとは異なり、イネーブルレベルの信号
“*CE-EVEN”も出力されているため、アドレスカウンタ
22EV ENは、内部に保持しているアドレスのカウントア
ップを開始し、この“BUR-EVEN”ステートの最後で、ア
ドレスカウンタ22EVEN内のアドレスのカウントアップ
が完了し、メモリバンク23EVENへの新たなアドレス
(ADD EVEN:アドレス2)の供給が開始されることにな
る。
【0023】これにより、メモリバンク23EVENからデ
ータ2を4番目のCPUサイクルで出力させる準備が整
うことになり、また、メモリバンク23ODD におけるデ
ータ1の出力準備は、2番目のCPUサイクルで既に完
了しているので、図13に示してあるように、偶数アド
レススタートのバーストアクセスでは、“IDLE”ステー
トの次から、“BUR-EVEN”、“BUR-ODD ”ステートを交
互に繰り返すことによって、2番目のCPUサイクルか
ら、CPUサイクル毎にデータが順次出力できることに
なる。
ータ2を4番目のCPUサイクルで出力させる準備が整
うことになり、また、メモリバンク23ODD におけるデ
ータ1の出力準備は、2番目のCPUサイクルで既に完
了しているので、図13に示してあるように、偶数アド
レススタートのバーストアクセスでは、“IDLE”ステー
トの次から、“BUR-EVEN”、“BUR-ODD ”ステートを交
互に繰り返すことによって、2番目のCPUサイクルか
ら、CPUサイクル毎にデータが順次出力できることに
なる。
【0024】しかし、奇数アドレススタート時には、2
番目に出力することが必要なデータは、メモリバンク2
3EVEN内に記憶されており、そのデータを指定するため
のアドレスは、CPUから供給されるスタートアドレス
とは異なるアドレスである。従って、奇数アドレススタ
ート時には、アドレスカウンタ23EVENに対して、予
め、アドレスのカウントアップを指示しておく必要があ
る。
番目に出力することが必要なデータは、メモリバンク2
3EVEN内に記憶されており、そのデータを指定するため
のアドレスは、CPUから供給されるスタートアドレス
とは異なるアドレスである。従って、奇数アドレススタ
ート時には、アドレスカウンタ23EVENに対して、予
め、アドレスのカウントアップを指示しておく必要があ
る。
【0025】このために設けられているステートが、
“preBUR-ODD”ステートであり、従来のメモリ装置で
は、奇数アドレススタートのバーストアクセス時には、
“IDLE”ステートから、信号“*CE-EVEN”だけがイネー
ブルとされる“preBUR-ODD”ステート(図12参照)へ
の遷移が行われるようにすることによって、図14に示
したように、“preBUR-ODD”の次のCPUサイクルから
メモリバンク23EVENに、2番目に必要となるデータ2
を指定するアドレス2が供給されるようにしてある。そ
して、“preBUR-ODD”ステート以後に、“BUR-ODD ”、
“BUR-EVEN”ステートを交互に遷移させることによっ
て、3番目のCPUサイクル以降の各CPUサイクル毎
にデータを順次出力させている。
“preBUR-ODD”ステートであり、従来のメモリ装置で
は、奇数アドレススタートのバーストアクセス時には、
“IDLE”ステートから、信号“*CE-EVEN”だけがイネー
ブルとされる“preBUR-ODD”ステート(図12参照)へ
の遷移が行われるようにすることによって、図14に示
したように、“preBUR-ODD”の次のCPUサイクルから
メモリバンク23EVENに、2番目に必要となるデータ2
を指定するアドレス2が供給されるようにしてある。そ
して、“preBUR-ODD”ステート以後に、“BUR-ODD ”、
“BUR-EVEN”ステートを交互に遷移させることによっ
て、3番目のCPUサイクル以降の各CPUサイクル毎
にデータを順次出力させている。
【0026】
【発明が解決しようとする課題】以上説明したように、
従来のメモリ装置では、奇数アドレススタートのバース
トアクセス時には、偶数アドレススタートのバーストア
クセスに比して、同一数のデータを転送するのに必要と
される時間が、1CPUサイクル分多くなっている。
従来のメモリ装置では、奇数アドレススタートのバース
トアクセス時には、偶数アドレススタートのバーストア
クセスに比して、同一数のデータを転送するのに必要と
される時間が、1CPUサイクル分多くなっている。
【0027】このため、従来のメモリ装置では、たとえ
ば、コンパイラを用いてプログラミングした際に、奇数
アドレススタートのバーストアクセスが多く実行される
ようになってしまった場合などには、バーストアクセス
を用いたことによるアクセス速度の向上効果が十分に得
られないことになる。
ば、コンパイラを用いてプログラミングした際に、奇数
アドレススタートのバーストアクセスが多く実行される
ようになってしまった場合などには、バーストアクセス
を用いたことによるアクセス速度の向上効果が十分に得
られないことになる。
【0028】そこで、本発明の目的は、バーストアクセ
スが開始されるアドレスに依らず、常に、高速にアクセ
スを完了させることができるメモリ装置を提供すること
にある。
スが開始されるアドレスに依らず、常に、高速にアクセ
スを完了させることができるメモリ装置を提供すること
にある。
【0029】
【課題を解決するための手段】請求項1記載の発明は、
(イ)アクセスタイムが1CPUサイクル程度の偶数ア
ドレス用メモリおよび奇数アドレス用メモリと、(ロ)
これら偶数アドレス用メモリおよび奇数アドレス用メモ
リのそれぞれに接続された、各メモリから読み出すデー
タを指定するアドレスを出力するための偶数アドレス用
および奇数アドレス用アドレスカウンタと、(ハ)CP
Uから供給されたバーストアクセスを開始すべきアドレ
スを偶数アドレス用および奇数アドレス用アドレスカウ
ンタに供給するとともに、そのアドレスが、奇数アドレ
ス用メモリに記憶されたデータを指定するものであった
場合には、偶数アドレス用アドレスカウンタにアドレス
のカウントアップを指示する第1指示手段と、(ニ)C
PUから供給されたアドレスに応じて、偶数アドレス用
メモリおよび奇数アドレス用メモリのいずれか一方のメ
モリを最初に読み出しを行うメモリとして定めるととも
に、CPUのCPUサイクルに同期して、偶数アドレス
用メモリおよび奇数アドレス用メモリを交互にデータの
読み出しを行うメモリとして特定する特定手段と、
(ホ)この特定手段によって特定されたメモリがデータ
を出力できる状態になるCPUサイクルにおいて、その
メモリに対してデータの出力を指示するとともに、その
メモリに対応するアドレスカウンタにアドレスのカウン
トアップを指示する第2指示手段とを具備する。
(イ)アクセスタイムが1CPUサイクル程度の偶数ア
ドレス用メモリおよび奇数アドレス用メモリと、(ロ)
これら偶数アドレス用メモリおよび奇数アドレス用メモ
リのそれぞれに接続された、各メモリから読み出すデー
タを指定するアドレスを出力するための偶数アドレス用
および奇数アドレス用アドレスカウンタと、(ハ)CP
Uから供給されたバーストアクセスを開始すべきアドレ
スを偶数アドレス用および奇数アドレス用アドレスカウ
ンタに供給するとともに、そのアドレスが、奇数アドレ
ス用メモリに記憶されたデータを指定するものであった
場合には、偶数アドレス用アドレスカウンタにアドレス
のカウントアップを指示する第1指示手段と、(ニ)C
PUから供給されたアドレスに応じて、偶数アドレス用
メモリおよび奇数アドレス用メモリのいずれか一方のメ
モリを最初に読み出しを行うメモリとして定めるととも
に、CPUのCPUサイクルに同期して、偶数アドレス
用メモリおよび奇数アドレス用メモリを交互にデータの
読み出しを行うメモリとして特定する特定手段と、
(ホ)この特定手段によって特定されたメモリがデータ
を出力できる状態になるCPUサイクルにおいて、その
メモリに対してデータの出力を指示するとともに、その
メモリに対応するアドレスカウンタにアドレスのカウン
トアップを指示する第2指示手段とを具備する。
【0030】すなわち、請求項1記載の発明では、2つ
のメモリの内容をCPUサイクルに応じて交互に読み出
してバーストアクセス要求に対応するメモリ装置に、バ
ーストアクセスを開始すべきアドレスが、奇数アドレス
用メモリに記憶されたデータを指定するものであった場
合には、CPUサイクルに依存せずに、偶数アドレス用
メモリのアドレスの指定を行う偶数アドレス用アドレス
カウンタに対して、アドレスのカウントアップを指示す
る第1指示手段を付加する。これにより、奇数アドレス
用メモリから、アクセスが要求された最初のデータを出
力させるCPUサイクルにおいて、偶数アドレス用メモ
リに、次に出力すべきデータを用意させておくことがで
きることになる。
のメモリの内容をCPUサイクルに応じて交互に読み出
してバーストアクセス要求に対応するメモリ装置に、バ
ーストアクセスを開始すべきアドレスが、奇数アドレス
用メモリに記憶されたデータを指定するものであった場
合には、CPUサイクルに依存せずに、偶数アドレス用
メモリのアドレスの指定を行う偶数アドレス用アドレス
カウンタに対して、アドレスのカウントアップを指示す
る第1指示手段を付加する。これにより、奇数アドレス
用メモリから、アクセスが要求された最初のデータを出
力させるCPUサイクルにおいて、偶数アドレス用メモ
リに、次に出力すべきデータを用意させておくことがで
きることになる。
【0031】請求項2記載の発明は、(イ)アドレスイ
ンタリーブされた、アクセスタイムが1CPUサイクル
程度の所定数のメモリと、(ロ)これら所定数のメモリ
のそれぞれに接続された、各メモリから読み出すデータ
を指定するアドレスを出力するための所定数のアドレス
カウンタと、(ニ)CPUから供給されたバーストアク
セスを開始すべきアドレスを所定数のアドレスカウンタ
に供給する供給手段と、(ホ)バーストアクセスを開始
すべきアドレスを基に、所定数のメモリのうち、対応す
るアドレスカウンタに供給されたアドレスのデータを出
力する必要がないメモリを判別する判別手段と、(ヘ)
この判別手段によって、データを出力する必要がないと
判別されたメモリのそれぞれに対応するアドレスカウン
タに対してアドレスのカウントアップを指示する第1指
示手段と、(ト)CPUから供給されたアドレスに応じ
て、所定数のメモリのうち1個のメモリを最初に読み出
しを行うメモリとして定めるとともに、CPUのCPU
サイクルに同期して、所定数のメモリを巡回的に、デー
タの読み出しを行うメモリとして特定する特定手段と、
(チ)この特定手段によって特定されたメモリがデータ
を出力できる状態になるCPUサイクルにおいて、その
メモリに対してデータの出力を指示するとともに、その
メモリに対応するアドレスカウンタにアドレスのカウン
トアップを指示する第2指示手段とを具備する。
ンタリーブされた、アクセスタイムが1CPUサイクル
程度の所定数のメモリと、(ロ)これら所定数のメモリ
のそれぞれに接続された、各メモリから読み出すデータ
を指定するアドレスを出力するための所定数のアドレス
カウンタと、(ニ)CPUから供給されたバーストアク
セスを開始すべきアドレスを所定数のアドレスカウンタ
に供給する供給手段と、(ホ)バーストアクセスを開始
すべきアドレスを基に、所定数のメモリのうち、対応す
るアドレスカウンタに供給されたアドレスのデータを出
力する必要がないメモリを判別する判別手段と、(ヘ)
この判別手段によって、データを出力する必要がないと
判別されたメモリのそれぞれに対応するアドレスカウン
タに対してアドレスのカウントアップを指示する第1指
示手段と、(ト)CPUから供給されたアドレスに応じ
て、所定数のメモリのうち1個のメモリを最初に読み出
しを行うメモリとして定めるとともに、CPUのCPU
サイクルに同期して、所定数のメモリを巡回的に、デー
タの読み出しを行うメモリとして特定する特定手段と、
(チ)この特定手段によって特定されたメモリがデータ
を出力できる状態になるCPUサイクルにおいて、その
メモリに対してデータの出力を指示するとともに、その
メモリに対応するアドレスカウンタにアドレスのカウン
トアップを指示する第2指示手段とを具備する。
【0032】すなわち、請求項2記載の発明では、所定
数のメモリの内容をCPUサイクルに応じて巡回的に読
み出してバーストアクセス要求に対応するメモリ装置
に、バーストアクセスを開始すべきアドレスを基に、所
定数のメモリのうち、対応するアドレスカウンタに供給
されたアドレスのデータを出力する必要がないメモリを
判別する判別手段と、この判別手段によって、データを
出力する必要がないと判別されたメモリのそれぞれに対
応するアドレスカウンタに対してアドレスのカウントア
ップを指示する第1指示手段を付加する。これにより、
バーストアクセスを開始すべきアドレスのデータを、い
ずれかのメモリから出力させている間に、他のメモリに
出力すべきデータを用意させておくことができることに
なる。
数のメモリの内容をCPUサイクルに応じて巡回的に読
み出してバーストアクセス要求に対応するメモリ装置
に、バーストアクセスを開始すべきアドレスを基に、所
定数のメモリのうち、対応するアドレスカウンタに供給
されたアドレスのデータを出力する必要がないメモリを
判別する判別手段と、この判別手段によって、データを
出力する必要がないと判別されたメモリのそれぞれに対
応するアドレスカウンタに対してアドレスのカウントア
ップを指示する第1指示手段を付加する。これにより、
バーストアクセスを開始すべきアドレスのデータを、い
ずれかのメモリから出力させている間に、他のメモリに
出力すべきデータを用意させておくことができることに
なる。
【0033】
【実施例】以下、実施例につき本発明を詳細に説明す
る。
る。
【0034】図1に、本発明の一実施例によるメモリ装
置の概略構成を示す。図示してあるように、実施例のメ
モリ装置は、メモリコントローラ11と、2つのアドレ
スカウンタ12EVEN、12ODD と、2つのメモリバンク
13EVEN、13ODD と、LOAD信号生成回路14によって
構成されている。
置の概略構成を示す。図示してあるように、実施例のメ
モリ装置は、メモリコントローラ11と、2つのアドレ
スカウンタ12EVEN、12ODD と、2つのメモリバンク
13EVEN、13ODD と、LOAD信号生成回路14によって
構成されている。
【0035】アドレスカウンタ12EVEN、12ODD は、
LOAD信号生成回路14からイネーブルレベルの信号“*L
OAD ”が入力されたときに、アドレスバス上のアドレス
を取り込むとともに、そのアドレスを“ADD EVEN”、
“ADD ODD ”として、メモリバンク13EVEN、13ODD
に出力するカウンタであり、イネーブルレベルの信号
“*CE-EVEN”または“*CE-ODD ”が入力された際に、内
部に記憶されているアドレスのカウントアップを行うよ
うにもなっている。
LOAD信号生成回路14からイネーブルレベルの信号“*L
OAD ”が入力されたときに、アドレスバス上のアドレス
を取り込むとともに、そのアドレスを“ADD EVEN”、
“ADD ODD ”として、メモリバンク13EVEN、13ODD
に出力するカウンタであり、イネーブルレベルの信号
“*CE-EVEN”または“*CE-ODD ”が入力された際に、内
部に記憶されているアドレスのカウントアップを行うよ
うにもなっている。
【0036】メモリバンク13EVEN、13ODD は、それ
ぞれ、アクセスタイムが1CPUサイクル程度のメモリ
バンクであり、偶数アドレスのデータがメモリバンク1
3EV ENに、奇数アドレスのデータがメモリバンク13
ODD に格納されている。メモリバンク13EVEN、13
ODD は、それぞれ、メモリコントローラ11から、イネ
ーブルレベルの信号“*OE-EVEN”、“*OE-ODD ”が入力
された際に、アドレスカウンタ12EVEN、12ODD によ
って指定されているアドレスのデータをデータバス上に
出力する。
ぞれ、アクセスタイムが1CPUサイクル程度のメモリ
バンクであり、偶数アドレスのデータがメモリバンク1
3EV ENに、奇数アドレスのデータがメモリバンク13
ODD に格納されている。メモリバンク13EVEN、13
ODD は、それぞれ、メモリコントローラ11から、イネ
ーブルレベルの信号“*OE-EVEN”、“*OE-ODD ”が入力
された際に、アドレスカウンタ12EVEN、12ODD によ
って指定されているアドレスのデータをデータバス上に
出力する。
【0037】メモリコントローラ11は、CPU(図示
せず)から入力される制御信号(*BURST,*ROMOE,*ROMC
S) 、クロック(CLK) およびアドレスバスの最下位ビッ
トA0の内容を基に、アドレスカウンタ12およびメモリ
バンク13を制御するための信号(*CE-EVEN,*OE-EVEN,*
CE-ODD,*OE-ODD) を作成する回路であり、基本的には、
クロックに同期して、ステート(状態)を変化させ、各
状態に対して定められているレベルの制御信号を出力す
る。また、LOAD信号生成回路14は、CPUから入力さ
れる制御信号(*ROMOE,*ROMCS) 、クロック(CLK) を基
に、*LOAD 信号を生成する回路である。以下、図面を参
照して、実施例のメモリコントローラおよびLOAD信号生
成回路の動作の詳細を説明する。
せず)から入力される制御信号(*BURST,*ROMOE,*ROMC
S) 、クロック(CLK) およびアドレスバスの最下位ビッ
トA0の内容を基に、アドレスカウンタ12およびメモリ
バンク13を制御するための信号(*CE-EVEN,*OE-EVEN,*
CE-ODD,*OE-ODD) を作成する回路であり、基本的には、
クロックに同期して、ステート(状態)を変化させ、各
状態に対して定められているレベルの制御信号を出力す
る。また、LOAD信号生成回路14は、CPUから入力さ
れる制御信号(*ROMOE,*ROMCS) 、クロック(CLK) を基
に、*LOAD 信号を生成する回路である。以下、図面を参
照して、実施例のメモリコントローラおよびLOAD信号生
成回路の動作の詳細を説明する。
【0038】図2に、CPUからの各信号によって、実
施例のメモリコントローラの状態(ステート)がどのよ
うに遷移するかを模式的に示す。図示したように、実施
例のメモリコントローラは、“IDLE”、“SIM-EVEN”、
“BUR-EVEN”、“SIM-ODD ”、“BUR-ODD ”という5つ
の状態を、1CPUサイクル毎に遷移することによっ
て、CPUからのメモリアクセス要求に応答するように
構成されている。
施例のメモリコントローラの状態(ステート)がどのよ
うに遷移するかを模式的に示す。図示したように、実施
例のメモリコントローラは、“IDLE”、“SIM-EVEN”、
“BUR-EVEN”、“SIM-ODD ”、“BUR-ODD ”という5つ
の状態を、1CPUサイクル毎に遷移することによっ
て、CPUからのメモリアクセス要求に応答するように
構成されている。
【0039】CPUからのアクセス要求がなされた際、
メモリコントローラは、“!ROMCS&BURST&!A0”、すなわ
ち、信号“*ROMCS”が“L”、信号“*BURST”が“H”
であり、アドレスの最下位ビットA0が“0”である場合
には、“IDLE”ステートから、“SIM-EVEN”ステートへ
遷移する。また、信号“*ROMCS”が“L”、信号“*BUR
ST”が“H”であり、最下位ビットA0が“1”であると
きには、“IDLE”ステートから、“SIM-ODD ”ステート
へ遷移する。
メモリコントローラは、“!ROMCS&BURST&!A0”、すなわ
ち、信号“*ROMCS”が“L”、信号“*BURST”が“H”
であり、アドレスの最下位ビットA0が“0”である場合
には、“IDLE”ステートから、“SIM-EVEN”ステートへ
遷移する。また、信号“*ROMCS”が“L”、信号“*BUR
ST”が“H”であり、最下位ビットA0が“1”であると
きには、“IDLE”ステートから、“SIM-ODD ”ステート
へ遷移する。
【0040】そして、“!ROMCS&!BURST&!A0 ”、すなわ
ち、信号“*ROMCS”が“L”、信号“*BURST”が“L”
であり、アドレスの最下位ビットA0が“0”である場合
には、偶数アドレススタートのバーストアクセスである
ため、“IDLE”ステートから、“BUR-EVEN”ステートへ
遷移する。また、信号“*ROMCS”が“L”、信号“*BUR
ST”が“L”であり、最下位ビットA0が“1”であると
きには、奇数アドレススタートのバーストアクセスであ
るため、“IDLE”ステートから、“BUR-ODD ”ステート
への遷移が行われる。
ち、信号“*ROMCS”が“L”、信号“*BURST”が“L”
であり、アドレスの最下位ビットA0が“0”である場合
には、偶数アドレススタートのバーストアクセスである
ため、“IDLE”ステートから、“BUR-EVEN”ステートへ
遷移する。また、信号“*ROMCS”が“L”、信号“*BUR
ST”が“L”であり、最下位ビットA0が“1”であると
きには、奇数アドレススタートのバーストアクセスであ
るため、“IDLE”ステートから、“BUR-ODD ”ステート
への遷移が行われる。
【0041】その後、CPUからの信号“*ROMCS”が
“L”を維持しているときには、“BUR-EVEN”、“BUR-
ODD ”ステートに交互に遷移し、信号“*ROMCS”が
“H”となったときに、“BUR-EVEN”、“BUR-ODD ”か
ら、“IDLE”への遷移が行われる。なお、“SIM-EVE
N”、“SIM-ODD ”から“IDLE”への遷移も、信号“*RO
MCS”が“H”となったときに行われる。
“L”を維持しているときには、“BUR-EVEN”、“BUR-
ODD ”ステートに交互に遷移し、信号“*ROMCS”が
“H”となったときに、“BUR-EVEN”、“BUR-ODD ”か
ら、“IDLE”への遷移が行われる。なお、“SIM-EVE
N”、“SIM-ODD ”から“IDLE”への遷移も、信号“*RO
MCS”が“H”となったときに行われる。
【0042】図3に、これら各ステートにおいて、メモ
リコントローラおよびLOAD信号生成回路が出力する各制
御信号のレベルを示す。図示してあるように、実施例の
メモリ装置では、信号“*CE-EVEN”は、“IDLE”ステー
トを除くステートでは、CPUサイクルに同期して制御
されているが、“IDLE”ステートでは、アドレスの最下
位ビットA0に応じて、非同期に制御されている。また、
信号“*LOAD ”も、“!LOAD = !ROMCS&ROMOE&CLK”とい
ったように、非同期に制御されている。
リコントローラおよびLOAD信号生成回路が出力する各制
御信号のレベルを示す。図示してあるように、実施例の
メモリ装置では、信号“*CE-EVEN”は、“IDLE”ステー
トを除くステートでは、CPUサイクルに同期して制御
されているが、“IDLE”ステートでは、アドレスの最下
位ビットA0に応じて、非同期に制御されている。また、
信号“*LOAD ”も、“!LOAD = !ROMCS&ROMOE&CLK”とい
ったように、非同期に制御されている。
【0043】このようなタイミングで各制御信号を出力
するメモリコントローラおよびLOAD信号生成回路によっ
て、実施例のメモリ装置は、バーストアクセス要求に対
して以下のように動作することになる。
するメモリコントローラおよびLOAD信号生成回路によっ
て、実施例のメモリ装置は、バーストアクセス要求に対
して以下のように動作することになる。
【0044】まず、図4に示したタイミングチャートを
用いて、偶数アドレススタート時の動作を説明する。
用いて、偶数アドレススタート時の動作を説明する。
【0045】図4に示したように、第1番目のCPUサ
イクル(“IDLE”ステート)では、アドレスバス上にC
PUから供給されているスタートアドレスが、LOAD信号
生成回路が出力するイネーブルレベルの信号“*LOAD ”
を受けたアドレスカウンタ12EVEN、12ODD にロード
されることになる。そして、アドレスカウンタ1
2EV EN、12ODD は、ロードしたスタートアドレス(最
下位ビットを除く)を、そのまま、“ADD EVEN”(アド
レス0)、“ADD ODD ”(アドレス1)として、各メモ
リバンクに供給する。なお、各メモリバンクのアクセス
タイムは、既に説明したように、1CPUサイクル程度
であるため、“ADD EVEN”、“ADD ODD ”が供給が行わ
れる1番目のCPUサイクルでは、データの出力準備が
整わず、次のCPUサイクルにおいて、データ出力準備
が整うことになる。
イクル(“IDLE”ステート)では、アドレスバス上にC
PUから供給されているスタートアドレスが、LOAD信号
生成回路が出力するイネーブルレベルの信号“*LOAD ”
を受けたアドレスカウンタ12EVEN、12ODD にロード
されることになる。そして、アドレスカウンタ1
2EV EN、12ODD は、ロードしたスタートアドレス(最
下位ビットを除く)を、そのまま、“ADD EVEN”(アド
レス0)、“ADD ODD ”(アドレス1)として、各メモ
リバンクに供給する。なお、各メモリバンクのアクセス
タイムは、既に説明したように、1CPUサイクル程度
であるため、“ADD EVEN”、“ADD ODD ”が供給が行わ
れる1番目のCPUサイクルでは、データの出力準備が
整わず、次のCPUサイクルにおいて、データ出力準備
が整うことになる。
【0046】また、この“IDLE”ステートでは、図3に
示したように、非同期制御されている信号“*CE-EVEN”
が、アドレスカウンタ12EVENに供給されることになる
が、、この場合、スタートアドレスが偶数であるため、
見かけ上は、CPUサイクルに同期した形で、“H”レ
ベルの信号“*CE-EVEN”がアドレスカウンタ12EVENに
供給されることになる。
示したように、非同期制御されている信号“*CE-EVEN”
が、アドレスカウンタ12EVENに供給されることになる
が、、この場合、スタートアドレスが偶数であるため、
見かけ上は、CPUサイクルに同期した形で、“H”レ
ベルの信号“*CE-EVEN”がアドレスカウンタ12EVENに
供給されることになる。
【0047】“IDLE”ステートの次のCPUサイクルで
は、信号“*ROMCS”が“L”、信号“*BURST”が“L”
であり、アドレスの最下位ビットA0が“0”(すなわ
ち、偶数アドレススタートのバーストアクセス)である
ので、メモリコントローラ21は、“BUR-EVEN”ステー
トをとり、アドレスカウンタ12EVENに対して、アドレ
スのカウントアップを指示する“L”レベルの信号“*C
E-EVEN”(図3参照)を出力し、また、メモリバンク1
3EVENに対して、データのデータバスへの出力を指示す
る“L”レベルの信号“*OE-EVEN”(図示せず)を出力
する。
は、信号“*ROMCS”が“L”、信号“*BURST”が“L”
であり、アドレスの最下位ビットA0が“0”(すなわ
ち、偶数アドレススタートのバーストアクセス)である
ので、メモリコントローラ21は、“BUR-EVEN”ステー
トをとり、アドレスカウンタ12EVENに対して、アドレ
スのカウントアップを指示する“L”レベルの信号“*C
E-EVEN”(図3参照)を出力し、また、メモリバンク1
3EVENに対して、データのデータバスへの出力を指示す
る“L”レベルの信号“*OE-EVEN”(図示せず)を出力
する。
【0048】このため、この“BUR-EVEN”ステートの最
後で、アドレスカウンタ12EVEN内のアドレスのカウン
トアップがなされ、また、このCPUサイクルでは、信
号“*RADY ”が“L”とされているため、メモリバンク
13EVENからデータバス上に供給されたアドレス0のデ
ータが、CPUに格納されることになる。
後で、アドレスカウンタ12EVEN内のアドレスのカウン
トアップがなされ、また、このCPUサイクルでは、信
号“*RADY ”が“L”とされているため、メモリバンク
13EVENからデータバス上に供給されたアドレス0のデ
ータが、CPUに格納されることになる。
【0049】図3に示してあるように、3番目のCPU
サイクルの開始時においても、バーストモードが続行さ
れていた場合には、メモリコントローラは、“BUR-ODD
”ステートに移行し、イネーブルレベルの信号“*OE-O
DD ”を出力する(図示せず)ことによって、メモリバ
ンク13ODD に対して、データの出力を指示するととも
に、イネーブルレベルの信号“*CE-ODD ”を出力するこ
とによって、アドレスカウンタ12ODD に対して、内部
に記憶されているアドレスのカウンタアップを指示す
る。
サイクルの開始時においても、バーストモードが続行さ
れていた場合には、メモリコントローラは、“BUR-ODD
”ステートに移行し、イネーブルレベルの信号“*OE-O
DD ”を出力する(図示せず)ことによって、メモリバ
ンク13ODD に対して、データの出力を指示するととも
に、イネーブルレベルの信号“*CE-ODD ”を出力するこ
とによって、アドレスカウンタ12ODD に対して、内部
に記憶されているアドレスのカウンタアップを指示す
る。
【0050】実施例のメモリ装置では、このようなデー
タの出力(“BUR-EVEN”、“BUR-ODD ”という2つのス
テートの繰り返し)が、信号“*BURST”が“L”である
限り続行され、信号“*BURST”または“*ROMCS”がディ
セーブルになったときに、メモリからのデータ出力が停
止されることになる。
タの出力(“BUR-EVEN”、“BUR-ODD ”という2つのス
テートの繰り返し)が、信号“*BURST”が“L”である
限り続行され、信号“*BURST”または“*ROMCS”がディ
セーブルになったときに、メモリからのデータ出力が停
止されることになる。
【0051】次に、図5を用いて、奇数アドレススター
ト時の動作を説明する。
ト時の動作を説明する。
【0052】図5に示したように、第1番目のCPUサ
イクル(“IDLE”ステート)では、アドレスバス上にC
PUから供給されているスタートアドレスが、LOAD信号
生成回路が出力するイネーブルレベルの信号“*LOAD ”
を受けたアドレスカウンタ12EVEN、12ODD にロード
され、アドレスカウンタ12EVEN、12ODD は、ロード
したスタートアドレス(最下位ビットを除く)を、その
まま、“ADD EVEN”(アト゛レス 0)、“ADD ODD ”(アト゛レス 1)
として、各メモリバンクに供給する。
イクル(“IDLE”ステート)では、アドレスバス上にC
PUから供給されているスタートアドレスが、LOAD信号
生成回路が出力するイネーブルレベルの信号“*LOAD ”
を受けたアドレスカウンタ12EVEN、12ODD にロード
され、アドレスカウンタ12EVEN、12ODD は、ロード
したスタートアドレス(最下位ビットを除く)を、その
まま、“ADD EVEN”(アト゛レス 0)、“ADD ODD ”(アト゛レス 1)
として、各メモリバンクに供給する。
【0053】この際、アドレスの最下位ビットAOは
“1”であるため、メモリコントローラは、図示してあ
るように非同期的に変化する信号“*CE-EVEN”を出力す
ることになり、信号“*CE-EVEN”を受けたアドレスカウ
ンタ12EVENは、内部に記憶されたアドレスのカウント
アップを開始する。これにより、この“IDLE”ステート
の最後で、アドレスカウンタ12EVEN内のアドレスのカ
ウントアップがなされることになる。なお、LOAD信号生
成回路14にCPUサイクルとは非同期な“*LOAD”信
号を生成させているのは、このアドレスカウンタ12
EVENのカウントアップを可能とするためである。
“1”であるため、メモリコントローラは、図示してあ
るように非同期的に変化する信号“*CE-EVEN”を出力す
ることになり、信号“*CE-EVEN”を受けたアドレスカウ
ンタ12EVENは、内部に記憶されたアドレスのカウント
アップを開始する。これにより、この“IDLE”ステート
の最後で、アドレスカウンタ12EVEN内のアドレスのカ
ウントアップがなされることになる。なお、LOAD信号生
成回路14にCPUサイクルとは非同期な“*LOAD”信
号を生成させているのは、このアドレスカウンタ12
EVENのカウントアップを可能とするためである。
【0054】そして、信号“*ROMCS”が“L”、信号
“*BURST”が“L”であり、アドレスの最下位ビットA0
が“1”であるので、次のCPUサイクルでは、メモリ
装置は、“BUR-ODD ”ステートに遷移し、メモリコント
ローラは、アドレスカウンタ12ODD に対して、アドレ
スのカウントアップを指示する“L”レベルの信号“*C
E-ODD ”を出力するとともに、メモリバンク13ODD に
対して、データのデータバスへの出力を指示する“L”
レベルの信号“*OE-ODD ”(図示せず)を出力する。
“*BURST”が“L”であり、アドレスの最下位ビットA0
が“1”であるので、次のCPUサイクルでは、メモリ
装置は、“BUR-ODD ”ステートに遷移し、メモリコント
ローラは、アドレスカウンタ12ODD に対して、アドレ
スのカウントアップを指示する“L”レベルの信号“*C
E-ODD ”を出力するとともに、メモリバンク13ODD に
対して、データのデータバスへの出力を指示する“L”
レベルの信号“*OE-ODD ”(図示せず)を出力する。
【0055】3番目のCPUサイクルにおいても、バー
ストモードが続行されていた場合には、メモリコントロ
ーラは、“BUR-EVEN”ステートに移行し、イネーブルレ
ベルの信号“*CE-EVEN”を出力することによって、アド
レスカウンタ12ODD に対して、内部に記憶されている
アドレスのカウントアップを指示するとともに、イネー
ブルレベルの信号“*OE-EVEN”を出力する(図示せず)
ことによって、メモリバンク13EVENに対して、データ
の出力を指示する。前述したように、奇数アドレススタ
ート時には、“IDLE”ステートにおいて、アドレスカウ
ンタのカウントアップが開始されており、この3番目の
CPUサイクルにおいてデータ2の出力準備が整うこと
になるので、この“BUR-EVEN”ステートでデータの出力
指示を出すことが可能になっている。
ストモードが続行されていた場合には、メモリコントロ
ーラは、“BUR-EVEN”ステートに移行し、イネーブルレ
ベルの信号“*CE-EVEN”を出力することによって、アド
レスカウンタ12ODD に対して、内部に記憶されている
アドレスのカウントアップを指示するとともに、イネー
ブルレベルの信号“*OE-EVEN”を出力する(図示せず)
ことによって、メモリバンク13EVENに対して、データ
の出力を指示する。前述したように、奇数アドレススタ
ート時には、“IDLE”ステートにおいて、アドレスカウ
ンタのカウントアップが開始されており、この3番目の
CPUサイクルにおいてデータ2の出力準備が整うこと
になるので、この“BUR-EVEN”ステートでデータの出力
指示を出すことが可能になっている。
【0056】その後、信号“*BURST”が“L”である限
り、“BUR-ODD ”、“BUR-EVEN”ステートが繰り返さ
れ、指定されたアドレスからのデータが順次データバス
上に供給されることになる。
り、“BUR-ODD ”、“BUR-EVEN”ステートが繰り返さ
れ、指定されたアドレスからのデータが順次データバス
上に供給されることになる。
【0057】このように、実施例のメモリ装置では、メ
モリバンクの制御の一部に非同期制御を加えているた
め、1CPUサイクル目に、アドレスカウンタにカウン
トアップを開始させることができるようになっている。
このため、奇数アドレススタートのバーストアクセス時
にも、2番目に必要となるデータを3CPUサイクル目
に用意できるようになり、結局、奇数、偶数、いずれの
アドレスでスタートするバーストアクセスにおいても、
2CPUサイクル目から、連続してデータをCPUに対
して供給できるようになっている。
モリバンクの制御の一部に非同期制御を加えているた
め、1CPUサイクル目に、アドレスカウンタにカウン
トアップを開始させることができるようになっている。
このため、奇数アドレススタートのバーストアクセス時
にも、2番目に必要となるデータを3CPUサイクル目
に用意できるようになり、結局、奇数、偶数、いずれの
アドレスでスタートするバーストアクセスにおいても、
2CPUサイクル目から、連続してデータをCPUに対
して供給できるようになっている。
【0058】また、アクセス開始時を除くCPUサイク
ルでは、CPUサイクルに同期した制御を行えば良いよ
うになっているので、システムに最適なメモリ装置を簡
単に簡単に開発できることにもなる。
ルでは、CPUサイクルに同期した制御を行えば良いよ
うになっているので、システムに最適なメモリ装置を簡
単に簡単に開発できることにもなる。
【0059】なお、実施例のメモリ装置は、A0によっ
て、2つのメモリバンクから使用するメモリバンクを特
定しているが、システムの構成やメモリの使用法に応じ
て、メモリバンクの特定に用いるビットを、他のビット
に変更しても良いことは当然である。
て、2つのメモリバンクから使用するメモリバンクを特
定しているが、システムの構成やメモリの使用法に応じ
て、メモリバンクの特定に用いるビットを、他のビット
に変更しても良いことは当然である。
【0060】また、実施例のメモリ装置は、2つのメモ
リバンクによって構成された装置であったが、本発明が
適用できるメモリバンク数には、特に制限はなく、CP
Uから供給されたスタートアドレスのデータの出力が必
要とされていないメモリバンクに対して、1CPUサイ
クル目にカウントアップが指示されるようにメモリコン
トローラを構成しておけば、メモリバンク数が幾つであ
っても、どのようなアドレスでスタートするバーストア
クセスに対しても、常に、2CPUサイクル目から、C
PUサイクル毎にデータを順次出力させることが可能な
メモリ装置を構成することができる。
リバンクによって構成された装置であったが、本発明が
適用できるメモリバンク数には、特に制限はなく、CP
Uから供給されたスタートアドレスのデータの出力が必
要とされていないメモリバンクに対して、1CPUサイ
クル目にカウントアップが指示されるようにメモリコン
トローラを構成しておけば、メモリバンク数が幾つであ
っても、どのようなアドレスでスタートするバーストア
クセスに対しても、常に、2CPUサイクル目から、C
PUサイクル毎にデータを順次出力させることが可能な
メモリ装置を構成することができる。
【0061】たとえば、図6に、模式的に示したよう
に、4つのメモリバンクを使ってメモリ装置を構成する
場合において、メモリバンク0の次に出力すべきデータ
がメモリバンク1に、メモリバンク1の次に出力すべき
データがメモリバンク2にといったようにアドレスイン
タリーブが行われている場合には、たとえば、メモリバ
ンク1から始まるバーストアクセス時には、“IDLE”ス
テートにおいて、アドレスカウンタ0だけにアドレスの
カウントアップ指示が出されるようにし、また、メモリ
バンク3から始まるバーストアクセス時には、アドレス
カウンタ0ないし2にアドレスのカウントアップ指示が
出されるようにしておけば、図7に一例として示したよ
うに、2CPUサイクル目に最初のデータ(データ3)
を出力させ、その後、CPUサイクル毎に、データを順
次出力させることができることになる。
に、4つのメモリバンクを使ってメモリ装置を構成する
場合において、メモリバンク0の次に出力すべきデータ
がメモリバンク1に、メモリバンク1の次に出力すべき
データがメモリバンク2にといったようにアドレスイン
タリーブが行われている場合には、たとえば、メモリバ
ンク1から始まるバーストアクセス時には、“IDLE”ス
テートにおいて、アドレスカウンタ0だけにアドレスの
カウントアップ指示が出されるようにし、また、メモリ
バンク3から始まるバーストアクセス時には、アドレス
カウンタ0ないし2にアドレスのカウントアップ指示が
出されるようにしておけば、図7に一例として示したよ
うに、2CPUサイクル目に最初のデータ(データ3)
を出力させ、その後、CPUサイクル毎に、データを順
次出力させることができることになる。
【0062】
【発明の効果】以上、詳細に説明したように、本発明の
メモリ装置によれば、従来、スタートアドレスによって
は、遅いものとなる場合があったバーストアクセスを、
スタートアドレスに依らず、常に、高速に完了させるこ
とができる。
メモリ装置によれば、従来、スタートアドレスによって
は、遅いものとなる場合があったバーストアクセスを、
スタートアドレスに依らず、常に、高速に完了させるこ
とができる。
【0063】この効果は、1回のバーストアクセスでア
クセスされるデータ数が少ない時に特に顕著であり、請
求項1記載の発明のように2バンク構成のメモリ装置
と、従来の2バンク構成のメモリ装置を比較した場合、
たとえば、1回のバーストアクセスで4個のデータがア
クセスされるとし、奇数、偶数アドレススタートが平均
的に行われるとすると、1回のバーストアクセスに要す
る時間が、およそ、10%短縮される。
クセスされるデータ数が少ない時に特に顕著であり、請
求項1記載の発明のように2バンク構成のメモリ装置
と、従来の2バンク構成のメモリ装置を比較した場合、
たとえば、1回のバーストアクセスで4個のデータがア
クセスされるとし、奇数、偶数アドレススタートが平均
的に行われるとすると、1回のバーストアクセスに要す
る時間が、およそ、10%短縮される。
【0064】また、請求項2記載の発明のように、さら
に多くのメモリを用いてメモリ装置を構成した場合に
は、従来のメモリ装置に比して、バーストアクセスが高
速化される確率が高くなるので、さらに、顕著な効果が
得られることになる。
に多くのメモリを用いてメモリ装置を構成した場合に
は、従来のメモリ装置に比して、バーストアクセスが高
速化される確率が高くなるので、さらに、顕著な効果が
得られることになる。
【0065】このため、FAX、複写機など頻繁に少量
のデータをバーストアクセスすることになる装置に、本
発明のメモリ装置を用いた場合には、従来のメモリ装置
を用いた装置と比して、特に高速に動作する装置を得る
ことができる。
のデータをバーストアクセスすることになる装置に、本
発明のメモリ装置を用いた場合には、従来のメモリ装置
を用いた装置と比して、特に高速に動作する装置を得る
ことができる。
【図1】 本発明の一実施例のメモリ装置の概略構成を
示すブロック図である。
示すブロック図である。
【図2】 実施例によるメモリ装置内に設けられている
メモリコントローラの状態遷移図である。
メモリコントローラの状態遷移図である。
【図3】 実施例のメモリ装置内に設けられているメモ
リコントローラおよびLOAD信号生成回路が、各状態にお
いて出力する制御信号レベルを示した説明図である。
リコントローラおよびLOAD信号生成回路が、各状態にお
いて出力する制御信号レベルを示した説明図である。
【図4】 実施例のメモリ装置に対して、偶数アドレス
で開始されるバーストアクセスを行った際のタイミング
チャートである。
で開始されるバーストアクセスを行った際のタイミング
チャートである。
【図5】 実施例のメモリ装置に対して、奇数アドレス
で開始されるバーストアクセスを行った際のタイミング
チャートである。
で開始されるバーストアクセスを行った際のタイミング
チャートである。
【図6】 本発明が適用できるメモリ装置の他の一例を
示したブロック図である。
示したブロック図である。
【図7】 本発明を適用した図6に示した構成のメモリ
装置におけるバーストアクセス手順の一例を示したタイ
ミングチャートである。
装置におけるバーストアクセス手順の一例を示したタイ
ミングチャートである。
【図8】 バーストアクセスが行えるCPUを用いたシ
ステムの概略構成図である。
ステムの概略構成図である。
【図9】 バーストアクセスを説明するためのタイミン
グチャートである。
グチャートである。
【図10】 従来のメモリ装置の概略構成を示すブロッ
ク図である。
ク図である。
【図11】 従来のメモリ装置内に設けられているメモ
リコントローラの状態遷移図である。
リコントローラの状態遷移図である。
【図12】 従来のメモリ装置内に設けられているメモ
リコントローラが、各状態において出力する制御信号レ
ベルを示した説明図である。
リコントローラが、各状態において出力する制御信号レ
ベルを示した説明図である。
【図13】 従来のメモリ装置に対して、偶数アドレス
で開始されるバーストアクセスを行った際のタイミング
チャートである。
で開始されるバーストアクセスを行った際のタイミング
チャートである。
【図14】 従来のメモリ装置に対して、奇数アドレス
で開始されるバーストアクセスを行った際のタイミング
チャートである。
で開始されるバーストアクセスを行った際のタイミング
チャートである。
11、21…メモリコントローラ、12、22…アドレ
スカウンタ、13、23…メモリバンク、14…LOAD信
号生成回路、31…CPU、32…メモリ装置
スカウンタ、13、23…メモリバンク、14…LOAD信
号生成回路、31…CPU、32…メモリ装置
Claims (2)
- 【請求項1】 アクセスタイムが1CPUサイクル程度
の偶数アドレス用メモリおよび奇数アドレス用メモリ
と、 これら偶数アドレス用メモリおよび奇数アドレス用メモ
リのそれぞれに接続された、各メモリから読み出すデー
タを指定するアドレスを出力するための偶数アドレス用
および奇数アドレス用アドレスカウンタと、 CPUから供給されたバーストアクセスを開始すべきア
ドレスを前記偶数アドレス用および奇数アドレス用アド
レスカウンタに供給するとともに、そのアドレスが、奇
数アドレス用メモリに記憶されたデータを指定するもの
であった場合には、前記偶数アドレス用アドレスカウン
タにアドレスのカウントアップを指示する第1指示手段
と、 CPUから供給されたアドレスに応じて、前記偶数アド
レス用メモリおよび奇数アドレス用メモリのいずれか一
方のメモリを最初に読み出しを行うメモリとして定める
とともに、前記CPUのCPUサイクルに同期して、前
記偶数アドレス用メモリおよび奇数アドレス用メモリを
交互にデータの読み出しを行うメモリとして特定する特
定手段と、 この特定手段によって特定されたメモリがデータを出力
できる状態になるCPUサイクルにおいて、そのメモリ
に対してデータの出力を指示するとともに、そのメモリ
に対応する前記アドレスカウンタにアドレスのカウント
アップを指示する第2指示手段とを具備することを特徴
とするメモリ装置。 - 【請求項2】 アドレスインタリーブされた、アクセス
タイムが1CPUサイクル程度の所定数のメモリと、 これら所定数のメモリのそれぞれに接続された、各メモ
リから読み出すデータを指定するアドレスを出力するた
めの所定数のアドレスカウンタと、 CPUから供給されたバーストアクセスを開始すべきア
ドレスを前記所定数のアドレスカウンタに供給する供給
手段と、 前記バーストアクセスを開始すべきアドレスを基に、前
記所定数のメモリのうち、対応するアドレスカウンタに
供給されたアドレスのデータを出力する必要がないメモ
リを判別する判別手段と、 この判別手段によって、データを出力する必要がないと
判別されたメモリのそれぞれに対応するアドレスカウン
タに対してアドレスのカウントアップを指示する第1指
示手段と、 CPUから供給されたアドレスに応じて、前記所定数の
メモリのうち1個のメモリを最初に読み出しを行うメモ
リとして定めるとともに、前記CPUのCPUサイクル
に同期して、前記所定数のメモリを巡回的に、データの
読み出しを行うメモリとして特定する特定手段と、 この特定手段によって特定されたメモリがデータを出力
できる状態になるCPUサイクルにおいて、そのメモリ
に対してデータの出力を指示するとともに、そのメモリ
に対応する前記アドレスカウンタにアドレスのカウント
アップを指示する第2指示手段とを具備することを特徴
とするメモリ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28391394A JPH08147214A (ja) | 1994-11-18 | 1994-11-18 | メモリ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28391394A JPH08147214A (ja) | 1994-11-18 | 1994-11-18 | メモリ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08147214A true JPH08147214A (ja) | 1996-06-07 |
Family
ID=17671820
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28391394A Pending JPH08147214A (ja) | 1994-11-18 | 1994-11-18 | メモリ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08147214A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007293817A (ja) * | 2006-03-27 | 2007-11-08 | Sanyo Electric Co Ltd | メモリアクセス回路 |
| JP4911027B2 (ja) * | 2005-02-09 | 2012-04-04 | 日本電気株式会社 | トグル型磁気ランダムアクセスメモリ及びトグル型磁気ランダムアクセスメモリの書き込み方法 |
| JP2013196476A (ja) * | 2012-03-21 | 2013-09-30 | Fuji Xerox Co Ltd | データ処理装置およびメモリ制御装置 |
-
1994
- 1994-11-18 JP JP28391394A patent/JPH08147214A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4911027B2 (ja) * | 2005-02-09 | 2012-04-04 | 日本電気株式会社 | トグル型磁気ランダムアクセスメモリ及びトグル型磁気ランダムアクセスメモリの書き込み方法 |
| JP2007293817A (ja) * | 2006-03-27 | 2007-11-08 | Sanyo Electric Co Ltd | メモリアクセス回路 |
| JP2013196476A (ja) * | 2012-03-21 | 2013-09-30 | Fuji Xerox Co Ltd | データ処理装置およびメモリ制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0218830B1 (en) | A memory test apparatus | |
| KR100573256B1 (ko) | 복수어드레스유지기억장치 | |
| JP3257805B2 (ja) | マイクロプロセッサのプログラムの実行を反復減速する回路配置 | |
| JP3226425B2 (ja) | 半導体記憶装置 | |
| JPH10283779A (ja) | 同期型半導体記憶装置 | |
| JP2704113B2 (ja) | データ処理装置 | |
| JPS5942397B2 (ja) | メモリ・システム | |
| JP2658958B2 (ja) | Dmaコントローラ | |
| JPH06149662A (ja) | Romバースト転送の連続読みだし拡大方式およびその方式を用いたrom内蔵型マイクロコンピュータシステム | |
| JPH08147213A (ja) | メモリ装置 | |
| JP3559299B2 (ja) | バッファメモリ装置 | |
| JP2914279B2 (ja) | 高速メモリアクセス装置 | |
| JP2616151B2 (ja) | メモリリフレッシュ回路 | |
| JP2000011645A (ja) | 半導体記憶装置 | |
| JP3147367B2 (ja) | 主記憶制御回路 | |
| JPH06124586A (ja) | 半導体記憶装置 | |
| JPH04106793A (ja) | メモリインタフェース回路 | |
| JPH10320975A (ja) | 半導体型記憶装置 | |
| KR930007016B1 (ko) | 판독수정기록(Read Modify Write, RMW)사이클 지원을 위한 잠금 처리회로 | |
| JPH0797814B2 (ja) | メモリ制御装置 | |
| JPH07319840A (ja) | マルチcpu装置 | |
| JP2625573B2 (ja) | ダイレクトメモリアクセス制御装置 | |
| JP2001282718A (ja) | システムバスサイクル制御装置 | |
| JP2000010856A (ja) | メモリ制御装置 | |
| JP2001092715A (ja) | データ記憶装置及びそれに用いるデータ転送方法 |