JP3568384B2 - メモリアクセス回路 - Google Patents
メモリアクセス回路 Download PDFInfo
- Publication number
- JP3568384B2 JP3568384B2 JP05813398A JP5813398A JP3568384B2 JP 3568384 B2 JP3568384 B2 JP 3568384B2 JP 05813398 A JP05813398 A JP 05813398A JP 5813398 A JP5813398 A JP 5813398A JP 3568384 B2 JP3568384 B2 JP 3568384B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- cpu
- byte
- address
- designation
- 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
Links
Images
Description
【産業上の利用分野】
この発明はメモリアクセス回路に関し、特にたとえばディジタルカメラに適用され、CPUがメモリコントローラを介してメモリにアクセスする、メモリアクセス回路に関する。
【0002】
【従来の技術】
従来のこの種のメモリアクセス方式として、同期バス方式が知られている。この同期バス方式では、CPUが図8(B)に示すハイレベルのリード/ライト信号(R/W信号)をメモリコントローラに与えると、メモリコントローラが図8(D)に示すアクティブローのリードイネーブル信号をメモリに出力する。これによって、メモリから図8(F)に示すタイミングで信号が読み出され、メモリコントローラは、このリード信号とともに図8(E)に示すREADY信号をCPUに出力する。READY信号は、信号の読み出しの終了を示すタイミング信号である。CPUは、このREADY信号がローレベルとなる期間に、クロックの立ち上がりに応答してリード信号を取り込み、その後READY信号の立ち上がりに応答してアクセスを中止する。なお、CPUはリード/ライト信号とともにチップセレクト信号およびアドレス信号を出力し、チップセレクト信号およびアドレス信号の出力を中止することによって、メモリへのアクセスを中止する。
【0003】
一方、メモリに信号を書き込むときは、CPUはローレベルのリード/ライト信号とともに図8(A)に示すライト信号をメモリコントローラに入力する。メモリコントローラは、これに応じて図8(G)に示すライトイネーブル信号を出力し、このライトイネーブル信号の立ち上がりタイミングでライト信号をメモリに書き込む。メモリコントローラは、ライトイネーブル信号の立ち上がりから所定期間経過後に図8(H)に示すREADY信号をCPUに与え、これに応じて、CPUはアクセスを中止する。
【0004】
このように、同期バス方式では、CPUはREADY信号の立ち上がりに応答してメモリへのアクセスを中止する。
【0005】
【発明が解決しようとする課題】
しかし、コンパクトフラッシュなどの外部記憶メモリで採用されているPCMCIAフォーマットでは、アクセス終了後に一定期間チップセレクト信号およびアドレス信号をホールドすることを要求している。つまり、メモリコントローラは、リードイネーブル信号あるいはライトイネーブル信号を立ち上げた後も、チップセレクト信号およびアドレス信号を一定期間メモリに出力する必要がある。
【0006】
これに対して、同期バス方式では、信号の書込時はともかく、信号の読出時にはホールド期間を確保できない。つまり、信号の書込時は、ライトイネーブル信号の立ち上がりからREADY信号の立ち上がりまでに時間的余裕があるが、信号の読み出し時は、リード信号の取り込みからREADY信号の立ち上がりまでに1/2クロック期間もないため、ホールド期間を十分に確保することはできない。このため、従来の同期バス方式では、PCMCIAフォーマットを満足することはできなかった。
【0007】
それゆえに、この発明の主たる目的は、ホールド期間を必要とする記録媒体に同期バス方式のCPUを用いて適切にアクセスすることができる、メモリアクセス回路を提供することである。
【0008】
【課題を解決するための手段】
この発明に従うメモリアクセス回路は、記録媒体の所望アドレスを形成する第1バイトおよび第2バイトを順に指定するCPU、およびCPUの指定に基づいて記録媒体からデータを読み出すメモリコントローラを備えるメモリアクセス回路であって、記録媒体はデータが読み出された後もアドレス指定およびチップセレクト指定を必要とし、CPUは終了信号に応答してアドレス指定およびチップセレクト指定を解除するものにおいて、CPUは、第1終了信号に応答してバイト指定を第1バイトから第2バイトに更新し、第2終了信号に応答してアドレス指定およびチップセレクト指定を解除し、メモリコントローラは、データ読み出しを許可するイネーブル信号をアドレス指定およびチップセレクト指定によって規定される特定期間に記録媒体に出力するイネーブル信号出力手段、特定期間の後に第2終了信号をCPUに出力する第2終了信号出力手段、および特定期間が開始された後でかつ第2終了信号が出力される前に第1終了信号をCPUに出力する第1終了信号出力手段を含む。
【0009】
【作用】
メモリに設けられたそれぞれのワードは32ビットつまり4バイトからなり、CPUは16ビットつまりハーフワード毎に所望のワードにアクセスする。メモリから信号を読み出すとき、メモリコントローラはたとえば上位16ビットに対する読み出し要求に応答して、リードイネーブル信号をメモリに出力するとともに、所定期間経過後にREADY信号をCPUに戻す。このため、CPUはREADY信号の立ち下がり期間におけるクロックの立ち上がりタイミングで、メモリから読み出された信号を取り込む。メモリコントローラは、READY信号の立ち上げと同時にリードイネーブル信号の出力を中止する。つまり、後半16ビットに対する読み出し要求に応答してリードイネーブル信号を出力することはない。ただし、メモリコントローラは、後半16ビットに対する読み出し要求の出力から所定期間経過後に、READY信号を出力する。このREADY信号に応答して、CPUは所望のワードに対するアクセスを中止する。したがって、後半16ビットに対する読み出し要求が出力される間、アドレス信号がホールドされる。
【0010】
【発明の効果】
この発明によれば、同期バス方式のCPUを用いて、ホールド期間を要求する記録媒体に適切にアクセスできる。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1を参照して、この実施例のディジタルカメラ10は、同期バス方式のCPU12を含む。このディジタルカメラ10には、コンパクトフラッシュのようなPCMCIAフォーマットを採用するメモリカード16が装着され、CPU12はメモリコントローラ14を介してこのメモリカード16にアクセスする。
【0013】
メモリカード16のメモリエリアに設けられたそれぞれのワードは、図2に示すように32ビットつまり4バイトからなる。アドレスは1ワードを構成するバイト数に関係なく、1バイト毎に割り当てられるため、最初のワードにはアドレス“0”が付され、2番目のワードにはアドレス“4”が付される。このように、各ワードに付されるアドレス値は4つずつ変化する。
【0014】
メモリカード16にアクセスするとき、CPU12は、図4(A)〜(E)または図5(A)〜(E)に示すアドレスストローブ信号,チップセレクト信号,リード/ライト信号,アドレス信号およびバイトイネーブル信号を、バス13を介してメモリコントローラ14に入力する。バイトイネーブル信号は、所望のワードにバイト単位でアクセスするときに用いられる。CPU12がハーフワード毎に所望のワードにアクセスするとき、バイトイネーブル信号は“1”および“0”のいずれかの値をとる。“1”であれば上位16ビットが指定され、“0”であれば下位16ビットが指定される。
【0015】
アドレス信号およびバイトイネーブル信号は、図3に示すデータバス13aを介してバッファ32に入力され、その後、データバス15aを介してメモリカード16に入力される。信号を書き込もうとする所望のワードはアドレス信号によって特定され、信号を書き込もうとする所望のバイトがバイトイネーブル信号によって特定される。信号の書込時、CPU12はライト信号もバッファ32に入力する。これによって、ライト信号が所望のバイトに書き込まれる。信号の読出時は、CPU12はアドレス信号およびバイトイネーブル信号だけをバッファ32に入力する。これによって所望のバイトから信号が読み出され、リード信号が、データバス15a,バッファ34およびデータバス13aを介してCPU12に入力される。
【0016】
アドレスストローブ信号およびチップセレクト信号は、OR回路28aに入力され、OR回路28aはアドレスストローブ信号およびチップセレクト信号に論理和を施す。カウンタ20はフリップフロップ回路26aが“0”の期間クロックによってインクリメントされ、カウント値はデコーダ22a〜22gに入力される。デコーダ22aはカウント値が“9”となる1クロック期間だけハイレベル信号を出力し、カウント値が“9”以外のときローレベル信号を出力する。また、デコーダ22cおよび22eは、カウント値が“7”のときだけハイレベル信号を出力し、これ以外のときローレベル信号を出力する。さらに、デコーダ22bおよび22dは、カウント値が“3”のときだけローレベル信号を出力し、“3”以外のカウント値ではハイレベル信号を出力する。さらにまた、デコーダ22gはカウント値が“8”のときローレベル信号を出力し、これ以外の期間ではハイレベル信号を出力する。
【0017】
デコーダ22b〜22fには、リード/ライト信号も入力される。リード/ライト信号がハイレベルとなると、デコーダ22b,22cおよび22gが能動化され、リード/ライト信号がローレベルとなると、デコーダ22dおよび22eが能動化される。一方、論理和信号をラッチイネーブル回路24aに入力する。ラッチイネーブル回路24aは、OR回路28aからの論理和信号から“0”のラッチパルスを生成する。そして、デコーダ22aからの出力信号を受け、カウント値が“9”のときに“1”のラッチパルスを生成する。フリップフロップ回路26aはクロックに応答してラッチイネーブル回路24aの出力をラッチし、ラッチ信号をチップセレクト信号としてメモリカード16に出力するとともに、ゲート信号としてカウンタ20に入力する。つまり、信号の書き込み時は、図4(A)に示すアドレスストローブ信号および図4(B)に示すチップセレクト信号に基づいて、図4(F)に示すチップセレクト信号がフリップフロップ回路26aから出力される。信号の読み出し時も、図5(A),(B)および(F)に示すように、アドレスストローブ信号およびチップセレクト信号から新たなチップセレクト信号が生成される。カウンタ20は、図4(F)または図5(F)に示すチップセレクト信号の立ち下がりでリセットされる。
【0018】
デコーダ22bおよび22cの出力はラッチイネーブル回路24bに入力され、デコーダ22dおよび22eの出力はラッチイネーブル回路24cに入力される。ラッチイネーブル回路24bおよび24cのいずれも、カウント値“3”で“0”のラッチパルスを、カウント値“7”で“1”のラッチパルスを生成する。そして、ラッチイネーブル回路24bおよび24cの出力が、フリップフロップ回路26bおよび26cでクロックに応答してラッチされる。デコーダ22bおよび22cは信号の読み出し時だけ能動化され、デコーダ22dおよび22eは信号の書き込み時だけ能動化される。このため、信号の読み出し時、図5(H)に示すリードイネーブル信号がフリップフロップ回路26bから出力され、信号の書き込み時、図4(H)に示すライトイネーブル信号が、フリップフロップ回路26cから出力される。ライトイネーブル信号およびリードイネーブル信号のいずれも、カウント値が“4”〜“7”をとる期間だけローレベルとなる。
【0019】
デコーダ22fおよび22gの出力はAND回路30によって論理積を施され、論理積信号がクロックに応答してフリップフロップ回路26bでラッチされる。そして、ラッチ信号がアクセスの終了タイミングを規定するREADY信号となる。デコーダ22fは信号の読み出し時だけ能動化されるため、読み出し時は図5(I)に示すようなカウント値が“7”および“9”をとるときだけローレベルとなるREADY信号が出力され、書き込み時は、図4(I)に示すようなカウント値が“9”となるときだけローレベルとなるREADY信号が出力される。このREADY信号によって、アクセスの終了タイミングをしめす。なお、アドレスストローブ信号,チップセレクト信号,ライトイネーブル信号,リードイネーブル信号およびREADY信号のいずれも、アクティブローの信号である。
【0020】
フリップフロップ回路26aから出力されたチップセレクト信号ならびにリード/ライト信号は、OR回路28bにも入力される。OR回路28bは、両信号に論理和を施し、論理和信号をバッファ32および34に入力する。バッファ32には反転端子32aが設けられているため、バッファ32および34が同時に能動化されることはない。つまり、論理和信号がローレベルであればバッファ32だけが能動化され、論理和信号がハイレベルであればバッファ34だけが能動化される。バッファ32は信号の書き込み時に能動化され、バッファ34は信号の読み出し時に能動化される。
【0021】
図4を参照して、アドレス信号およびバイトイネーブル信号は、ハーフワードアクセス期間同じ値を保持する。また、アドレス信号およびバイトイネーブル信号の出力と同時に、図4(A)に示すアドレスストローブ信号および図4(J)に示すライト信号が、CPU12からメモリコントローラ14に入力される。メモリコントローラ14は、ライトイネーブル信号がローレベルとなる期間において、クロックのいずれかの立ち上がりタイミングでライト信号を出力してメモリカード16の所望のバイトに書き込む。READY信号はカウント値が“9”となるときだけローレベルとなる。READY信号はCPU12に与えられ、CPU12は、READY信号の立ち上がりに応答して、チップセレクト信号,アドレス信号,バイトイネーブル信号およびライト信号の出力を中止する。つまり、メモリカード16へのアクセスを中止する。
【0022】
以上のように、ライトイネーブル信号が立ち上がってからアクセスが中止されるまでに2クロック期間あり、この2クロック期間チップセレクト信号およびアドレス信号がホールドされる。したがって、十分なホールド期間を確保することができ、PCMCIAフォーマットを満足できる。
図5を参照して、信号の読み出し時、CPU12は、READY信号の最初の立ち下がり期間におけるクロックの立ち上がりに応答して、図5(J)に示すリード信号を取り込む。CPU12はその後、READY信号の最初の立ち上がりに応答してバイトイネーブル信号の値を切り換える。このため、カウント値が“8”となった時点でハーフワードアクセス期間が終了する。ただし、ハーフワードアクセスのために、バイトイネーブル信号が切り換わってもアドレス信号は同じ値を維持する。READY信号は、カウント値が“9”を取るとき再度立ち下がり、“0”に切り換わるときに立ち上がる。したがって、カウント値が“8”および“9”をとる期間が、次のハーフワードアクセス期間となる。アドレス信号は、READY信号の2回目の立ち上がりに応答して切り換わる。
【0023】
最初のREADY信号の立ち上がりつまりカウント値が“7”から“8”に変化するときにリードイネーブル信号が立ち上がるため、メモリカード16からは所望のワードの上位16ビットの信号だけが読み出される。このリード信号は、そのままCPU12に入力され、カウント値が“7”をとる期間のクロックの立ち上がりに応答して取り込まれ、図1に示すレジスタ18aに書き込まれる。
【0024】
カウント値が“7”および“9”をとるときにREADY信号を出力し、カウント値が“7”から“8”に変化するタイミングでリードイネーブル信号を立ち上げることによって、信号の読み出しが終了した後2クロック期間アドレス信号をホールドすることができる。つまり、所望のワードの下位16ビットからの信号の読み出しを中止することによって、バイトイネーブル信号がこの下位16ビットを指定する期間、アドレス信号をホールドすることができる。
【0025】
メモリコントローラ14が下位16ビットから信号を読み出せなかったとしても、CPU12は2回目のREADY信号の立ち下がり期間に信号の取り込み動作を行う。つまり、CPU12は、下位16ビットの信号が入力されるべき期間に取り込んだたとえばハイインピーダンスの信号をレジスタ18bに格納する。しかし、適切な信号はレジスタ18aにのみ存在するため、CPU12はレジスタ18aからのみ信号を読み出し、所定の信号処理を施す。
【0026】
具体的には、CPU12は信号の読出時、図6および図7に示すフロー図を処理する。まずステップS1で図5(A)〜(E)に示す各種の信号を出力し、次にステップS3で、READY信号が立ち上がったかどうか判断する。ここで“YES”であれば、ステップS5でクロックが立ち上がったかどうか判断し、ここでも“YES”であれば、ステップS7で入力信号をレジスタ18aに保持する。このとき、所望のワードの上位16ビットのデータがレジスタ18aに格納される。CPU12は続いて、ステップS9でREADY信号が立ち上がったかどうか判断し、“YES”であればステップS11でバイトイネーブル信号を反転させ、ステップS13でREADY信号が立ち下がったかどうかを再度判断する。ここで“YES”であれば、ステップS15でクロックが立ち上がったと判断されるのを待って、ステップS17で入力信号をレジスタ18bに保持する。このとき、メモリカード16からは下位16ビットの信号が読み出されないため、たとえばハイインピーダンス信号がレジスタ18bに保持される。このため、CPU12は、ステップS19でレジスタ18aから信号を読み出し、ステップS21でこの信号に所定の処理を施し、そして処理を終了する。
【0027】
この実施例によれば、メモリカード16に対してハーフワード毎にアクセスを行い、読み出しについては上位16ビットへのアクセスが終了した時点でリードイネーブル信号をハイレベルとするようにしたため、下位16ビットへのアクセス期間アドレスをホールドすることができ、PCMCIAフォーマットを満足することができる。
【0028】
なお、この実施例ではハーフワードアクセスを用いて説明したが、この発明は、所望のバイトを所定バイト毎に複数回アクセスする場合にも適用できることはもちろんである。
【図面の簡単な説明】
【図1】この発明の一実施例を示すブロック図である。
【図2】図1実施例の動作の一部を示す図解図である。
【図3】メモリコントローラを示すブロック図である。
【図4】図3実施例の動作の一部を示すタイミング図である。
【図5】図3実施例の動作の他の一部を示すタイミング図である。
【図6】CPUの動作の一部を示すフロー図である。
【図7】CPUの動作の他の一部を示すフロー図である。
【図8】従来技術の動作を示すタイミング図である。
【符号の説明】
10 …ディジタルカメラ
12 …CPU
14 …メモリコントローラ
16 …メモリカード
Claims (4)
- 記録媒体の所望アドレスを形成する第1バイトおよび第2バイトを順に指定するCPU、および前記CPUの指定に基づいて前記記録媒体からデータを読み出すメモリコントローラを備えるメモリアクセス回路であって、前記記録媒体はデータが読み出された後もアドレス指定およびチップセレクト指定を必要とし、前記CPUは終了信号に応答してアドレス指定およびチップセレクト指定を解除するものにおいて、
前記CPUは、第1終了信号に応答してバイト指定を前記第1バイトから前記第2バイトに更新し、第2終了信号に応答して前記アドレス指定および前記チップセレクト指定を解除し、
前記メモリコントローラは、データ読み出しを許可するイネーブル信号を前記アドレス指定および前記チップセレクト指定によって規定される特定期間に前記記録媒体に出力するイネーブル信号出力手段、前記特定期間の後に前記第2終了信号を前記CPUに出力する第2終了信号出力手段、および前記特定期間が開始された後でかつ前記第2終了信号が出力される前に前記第1終了信号を前記CPUに出力する第1終了信号出力手段を含む、メモリアクセス回路。 - 前記CPUは前記第2バイトの指定の後に前記メモリコントローラから入力されたデータを無効とする、請求項1記載のメモリアクセス回路。
- 前記CPUは同期バス方式を採用する、請求項1または2記載のメモリアクセス回路。
- 請求項1ないし3のいずれかに記載のメモリアクセス回路を備える、ディジタルカメラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05813398A JP3568384B2 (ja) | 1998-03-10 | 1998-03-10 | メモリアクセス回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05813398A JP3568384B2 (ja) | 1998-03-10 | 1998-03-10 | メモリアクセス回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11259358A JPH11259358A (ja) | 1999-09-24 |
JP3568384B2 true JP3568384B2 (ja) | 2004-09-22 |
Family
ID=13075497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05813398A Expired - Fee Related JP3568384B2 (ja) | 1998-03-10 | 1998-03-10 | メモリアクセス回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3568384B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60117207T2 (de) | 2000-10-02 | 2006-10-05 | Tanita Corp. | Gerät zur Verwaltung des weiblichen physischen Zustands |
-
1998
- 1998-03-10 JP JP05813398A patent/JP3568384B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11259358A (ja) | 1999-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW518501B (en) | Microprocessing device having programmable wait states | |
JPS59193593A (ja) | デ−タの圧縮および緩衝用装置 | |
JPH06290115A (ja) | メモリ・エラーを検出し訂正するシステムとその方法 | |
US6742095B2 (en) | Memory access circuit and memory access control circuit | |
US6484244B1 (en) | Method and system for storing and processing multiple memory commands | |
US6545942B2 (en) | Semiconductor memory device and information processing unit | |
JP4254932B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JPS61264379A (ja) | 記憶回路 | |
US5847997A (en) | PC card | |
JP3568384B2 (ja) | メモリアクセス回路 | |
JP2591514B2 (ja) | 1チップメモリデバイス | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
JPS63303431A (ja) | 指令語中間記憶回路 | |
US7213142B2 (en) | System and method to initialize registers with an EEPROM stored boot sequence | |
JP3544678B2 (ja) | 半導体記憶装置 | |
JP2605656B2 (ja) | 1チップメモリデバイス | |
JP2004087027A (ja) | アクセス回路 | |
JPH0454653A (ja) | キャッシュメモリ | |
JP2002050172A (ja) | Fifo制御回路 | |
JPS583188A (ja) | アドレスデコ−ド方式 | |
JP3242474B2 (ja) | データ処理装置 | |
JPH07146814A (ja) | メモリ装置 | |
JPS6017131B2 (ja) | メモリ制御回路 | |
JPS61246848A (ja) | 動作履歴記憶回路 | |
JPH02136921A (ja) | レジスタアクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20031111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040106 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040507 |
|
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: 20040601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040615 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |