JP2007286765A - メモリアクセス装置 - Google Patents

メモリアクセス装置 Download PDF

Info

Publication number
JP2007286765A
JP2007286765A JP2006111318A JP2006111318A JP2007286765A JP 2007286765 A JP2007286765 A JP 2007286765A JP 2006111318 A JP2006111318 A JP 2006111318A JP 2006111318 A JP2006111318 A JP 2006111318A JP 2007286765 A JP2007286765 A JP 2007286765A
Authority
JP
Japan
Prior art keywords
data
memory
write
terminal
address information
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.)
Granted
Application number
JP2006111318A
Other languages
English (en)
Other versions
JP5132074B2 (ja
Inventor
Kazuchika Nakamuta
和周 中牟田
Iwao Honda
巌 本田
Takashi Kuroda
隆 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006111318A priority Critical patent/JP5132074B2/ja
Priority to CNB2007100917684A priority patent/CN100492331C/zh
Priority to TW096112445A priority patent/TWI335515B/zh
Priority to US11/734,749 priority patent/US7480188B2/en
Priority to KR1020070036111A priority patent/KR100882414B1/ko
Publication of JP2007286765A publication Critical patent/JP2007286765A/ja
Application granted granted Critical
Publication of JP5132074B2 publication Critical patent/JP5132074B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】メモリアクセスの高速化を可能とする。
【解決手段】アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、リードコマンドが入力される端子と、リードコマンドに応じて、クロック信号が一方のレベルから他方のレベルへ変化するタイミングで、アドレス情報により特定されるアドレスに記憶されているデータを出力する端子とを有するメモリからデータを読み出すメモリアクセス装置であって、クロック信号が一方のレベルから他方のレベルへ変化する第1のタイミングでアドレス情報及びリードコマンドを出力するアドレス情報出力部と、第1のタイミングの次の第2のタイミングでメモリから出力されるデータを、第2のタイミングの次の第3のタイミングで記憶する読み出しデータ記憶部とを備える。
【選択図】図1

Description

本発明は、メモリアクセスの高速化を可能とするメモリアクセス装置に関する。
近年、テレビやオーディオ機器などの様々な電気製品がディジタル制御化されている。そして技術の進歩と共に、これらの電気製品を構成する電子回路を制御するクロック信号の高速化が図られている。
またこのために、様々な技術が開発されている(例えば特許文献1参照)。
特開2002−64368号公報
ところで、クロック信号を高速化するためには、CPU(Central Processing Unit)やメモリ、その他の電子回路が全体としてクロック信号の高速化に適応することが必要である。
図10に示すメモリシステム1010を例に説明する。図10に示すメモリシステム1010は、メモリ110と、DSP(Digital Signal Processor)210と、リードライトコントローラ310と、アドレスラッチ部500と、アドレスデコーダ400と、クロック回路1200を備える。
クロック回路1200は、DSP210とメモリ110とに入力されるクロック信号を出力する回路である。なお、メモリ110にはDSP210に入力されるクロック信号を反転したものが入力される。
DSP210は、DVDプレーヤ等に広く用いられ、音楽データや画像データのディジタル処理を行うディジタル信号処理装置であり、メモリ110にデータを書き込んだり、メモリ110からデータを読み出したりする装置である。
DSP210は、”CLK”端子、”n_BDAA”端子、”XBDAWR”端子、”XBDARD”端子、”BDA_W”端子、”BDA_R”端子を有している。
”CLK”端子は、外部からのクロック信号を取り込む端子である。DSP210は、このクロック信号の立ち上がりに同期してメモリ110へのアクセスのための制御を行う。”n_BDAA”端子は、メモリ110に記憶されるデータのアドレスを示すアドレス情報を出力する端子である。”XBDAWR”端子は、メモリ110へのデータの書き込みを指示するコマンド(書き込みコマンド)を出力する端子である。”XBDARD”端子は、メモリ110からのデータの読み出しを指示するコマンド(読み出しコマンド)を出力する端子である。”BDA_W”端子は、メモリ110への書き込みデータを出力する端子である。”BDA_R”端子は、メモリ110からの読み出しデータを取り込む端子である。
メモリ110は、”/CLK”端子、”A”端子、”CEN”端子、”WEN”端子、”D”端子、”Q”端子を有している。
”/CLK”端子は、外部からのクロック信号を取り込む端子である。図10に示すように、メモリ110に入力されるクロック信号は、DSP210に入力されるクロック信号が反転されたものである。メモリ110は、この”/CLK”端子に入力されるクロック信号の立ち上がりに同期してデータの書き込み又は読み出しの制御を行う。”A”端子は、メモリ110に記憶されるデータのアドレス情報が入力される端子である。”CEN”端子は、チップイネーブル信号が入力される端子である。”WEN”端子は、ライトイネーブル信号が入力される端子である。”D”端子は、メモリ110への書き込みデータが入力される端子である。”Q”端子はメモリ110からの読み出しデータが出力される端子である。
メモリ110は、”CEN”端子=L、かつ、”WEN”端子=Lの場合に、”/CLK”端子に入力されるクロック信号の立ち上がりのタイミングで、”D”端子に入力されているデータを、アドレス情報により特定されるアドレスへ書き込む。またメモリ110は、”CEN”端子=L、かつ、”WEN”端子=Hの場合に、”/CLK”端子に入力されるクロック信号の立ち上がりのタイミングで、アドレス情報により特定されるアドレスに記憶されているデータを”Q”端子から出力する。
アドレスラッチ部500は、図示されていないが、DSP210に入力されるクロック信号と同一のクロック信号が入力され、DSP210から出力されたアドレス情報を取り込んで、クロック信号の1周期の間ラッチした後、メモリ110の”A”端子に出力する回路である。アドレスラッチ部500を設けることにより、DSP210によるメモリアクセスをパイプライン化することができる。メモリアクセスがパイプライン化されている様子を図11に示す。メモリアクセスがパイプライン化されることによって、DSP210は、メモリ110におけるデータの読み書き処理の完了を待たずに、クロック信号の立ち上がりのタイミング毎に次々とアドレス情報を出力することが可能となる。これにより高速なメモリアクセスを実現している。
アドレスデコーダ400は、アドレスラッチ部500に記憶されているアドレス情報をデコードしてリードライトコントローラ310に出力する回路である。
リードライトコントローラ310は、DSP210から出力される読み出しコマンドや書き込みコマンドに応じて、メモリ110へチップイネーブル信号やライトイネーブル信号を出力する回路である。
図10に示すメモリシステム1010において、DSP210がメモリ110からデータを読み出す場合のタイムチャートを図12に示す。
上述したように、メモリシステム1010は、データ読み出しの高速化を実現するためにメモリアクセスをパイプライン化しているため、図12に示すように、DSP210は、アドレスラッチ部500からアドレス情報がメモリ110に出力されるタイミングで、読み出しコマンドを出力している。つまりDSP210は、”n_BDAA”端子からアドレス情報を出力したクロック信号の立ち上がりのタイミングの次のタイミングで、”XBDARD”端子から読出しコマンドを出力する。
一方メモリ110においては、メモリ110の”/CLK”端子に入力されるクロック信号がDSP210に入力されるクロック信号と反転されているため、DSP210が読み出しコマンドを出力したタイミングからから1/2サイクル後のタイミングで、メモリ110の”Q”端子に読み出しデータが出力される。そのため、DSP210が読み出しコマンドを出力したタイミングからから1サイクル後のタイミングで、DSP210は”BDA_R”端子から読み出しデータを取り込むことが可能なのである。
次に、図10に示すメモリシステム1010において、メモリ110へデータを書き込む場合のタイムチャートを図13に示す。
図13に示すように、パイプライン制御のため、DSP210は、アドレスラッチ部500からアドレス情報がメモリ110に出力されるタイミングで、書き込みコマンドを出力する共に、”BDA_W”端子から書き込みデータを出力している。つまりDSP210は、”n_BDAA”端子からアドレス情報を出力したクロック信号の立ち上がりのタイミングの次のタイミングで、書き込みコマンド及び書き込みデータを出力する。
一方、メモリ110においては、メモリ110の”/CLK”端子に入力されるクロック信号がDSP210に入力されるクロック信号と反転されているため、DSP210が書き込みコマンド及び書き込みデータを出力してから1/2サイクル後には、メモリ110の”D”端子に書き込みデータが取り込まれることになる。
このように、メモリシステム1010は、メモリアクセスのパイプライン化と、DSP210に入力されるクロック信号を反転させたクロック信号をメモリ110に入力することにより、メモリアクセスの高速化を図っている。
しかしながら、データの読み出しの場合には、図12に示すように、メモリ110の”Q”端子に読み出しデータが出力されてから、DSP210の”BDA_R”端子にその読み出しデータが取り込まれるまでの時間はT1しかない。T1はおよそクロック信号の1/2周期程度である。また、データの書き込みの場合には、図13に示すように、DSP210の”BDA_W”端子に書き込みデータが出力されてからメモリ110の”D”端子にその書き込みデータが取り込まれるまでの時間はT3しかない。T3もおよそクロック信号の1/2周期程度である。
このことは、メモリシステム1010のクロック信号を高速化させることを妨げる要因となるのである。つまりクロック信号を高速化するにつれ、T1及びT3の値は小さくなってゆくが、クロック信号の高速化は、T1>0及びT3>0となる周波数の範囲内でしか行うことができない。そのため、T1やT3が小さいことはクロック信号の高速化を妨げ、メモリアクセスの高速化を妨げる要因となるのである。
本発明は上記課題を鑑みてなされたものであり、メモリアクセスの高速化を可能とするメモリアクセス装置を提供することを主たる目的とする。
上記課題を解決するために、本発明は、アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、リードコマンドが入力される端子と、前記リードコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルへ変化するタイミングで、前記アドレス情報により特定されるアドレスに記憶されているデータを出力する端子と、を有するメモリから、データを読み出すメモリアクセス装置であって、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第1のタイミングで、前記アドレス情報及び前記リードコマンドを出力するアドレス情報出力部と、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの次の第2のタイミングで前記メモリから出力されるデータを、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの次の第3のタイミングで記憶する読み出しデータ記憶部と、を備えることを特徴とするメモリアクセス装置に関する。
このような態様により、データがメモリから出力されてから、そのデータがメモリアクセス装置に取り込まれるまでの時間を、クロック信号1周期分程度確保することが可能となる。これによりクロック信号を高速化することが可能となる。
また本発明は、アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、ライトコマンドが入力される端子と、前記ライトコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルに変化するタイミングで前記アドレス情報により特定されるアドレスに記憶されるデータが入力される端子と、を有するメモリに、データを書き込むメモリアクセス装置であって、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第1のタイミングで、前記メモリへ書き込むデータと、前記データのアドレス情報と、前記ライトコマンドとを出力するデータ出力部を有し、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの次の第2のタイミングで前記メモリに前記データを書き込むメモリアクセス装置とすることもできる。
このような態様により、メモリアクセス装置がデータを出力してからメモリに記憶されるまでの時間をクロック信号1周期分程度確保することが可能となる。これにより、クロック信号を高速化することが可能となる。
また本発明は、アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、リードコマンド又はライトコマンドが入力される端子と、前記リードコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルへ変化する第1のタイミングで前記アドレス情報により特定されるアドレスに記憶されているデータを出力する端子と、前記ライトコマンドに応じて、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第2のタイミングで前記アドレス情報により特定されるアドレスに記憶されるデータが入力される端子と、を有するメモリにデータの読み書きを行うメモリアクセス装置であって、前記第1のタイミングで前記メモリからデータを出力させるために、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの1周期前の第3のタイミングで、前記データのアドレス情報である読み出しアドレス情報、及び前記データを読み出すための読出しコマンドを出力するデータ読み出し部と、前記第2のタイミングで前記メモリへデータを書き込むために、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの2周期前の第4のタイミングで前記データのアドレス情報である書き込みアドレス情報を出力し、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの1周期前の第5のタイミングで、前記データ及び前記データを書き込むための書き込みコマンドを出力するデータ書き込み部と、を有するメモリアクセス要求装置と、前記第4のタイミングで前記メモリアクセス要求装置から出力された前記書き込みアドレス情報を入力し、前記第5のタイミングで前記書き込みアドレス情報を出力するアドレスラッチ部と、前記メモリアクセス要求装置から前記第3のタイミングで出力された前記読出しコマンドに応じて、当該第3のタイミングで、前記メモリに、リードコマンド及び前記メモリアクセス要求装置から出力された読み出しアドレス情報を出力する読み出し制御部と、前記メモリアクセス要求装置から前記第5のタイミングで出力された前記書き込みコマンドに応じて、当該第5のタイミングで、前記メモリに、ライトコマンド、前記アドレスラッチ部から出力された書き込みアドレス情報及び前記データを出力する書き込み制御部と、を有するメモリアクセス制御装置と、を備え、前記メモリアクセス要求装置から前記読み出しコマンド及び前記書き込みコマンドの両方が出力されている場合には、前記書き込み制御部は、前記ライトコマンド、前記アドレスラッチ部から出力された前記書き込みアドレス情報及び前記データを前記メモリに出力しないことを特徴とするメモリアクセス装置とすることもできる。
このように、メモリアクセス装置によって、メモリアクセス要求装置から読み出しコマンドと書き込みコマンドとの両方が出力されていることが検知された場合には、メモリからのデータの読み出しのタイミング(第1のタイミング)とメモリへのデータの書き込みのタイミング(第2のタイミング)とが同時であることを事前に検知することができる。そしてその場合には、本発明のメモリアクセス装置は、メモリへのデータの書き込みは行わず、メモリからのデータの読み出しを行うようにする。このように、データの読み出しを優先することによって、遅延なくデータの読み出しを行うことが可能となる。そしてこれにより、メモリシステム全体のデータ処理の高速化を図ることが可能となる。
また前記メモリアクセス装置は、前記アドレスラッチ部から出力される書き込みアドレス情報を記憶するアドレス記憶部と、前記メモリアクセス要求装置から出力されるデータを記憶するデータ記憶部と、を備え、前記メモリアクセス要求装置から前記読み出しコマンド及び前記書き込みコマンドの両方が出力されている場合には、前記書き込み制御部は、前記アドレスラッチ部から出力された書き込みアドレス情報を前記アドレス記憶部に記憶し、前記メモリアクセス要求装置から出力されたデータを前記データ記憶部に記憶するようにすることもできる。
このような態様によって、メモリからのデータの読み出しのタイミングとメモリへのデータの書き込みのタイミングとの重複を回避するために、データの読み出しを優先させる処理を行うようにした場合であっても、メモリへ書き込まれるデータとそのアドレス情報を消失させることなく、それぞれデータ記憶部とアドレス記憶部に記憶しておくことができる。
また、前記メモリアクセス要求装置から読み出しコマンド及び書き込みコマンドのいずれもが出力されていない場合には、前記書き込み制御部は、前記メモリにライトコマンドを出力すると共に、前記アドレス記憶部に記憶した書き込みアドレス情報、及び前記データ記憶部に記憶したデータを、前記メモリに出力するようにすることもできる。
このような態様によって、メモリへのデータの書き込みも読出しもなされていないときに、データ記憶部に記憶しておいた書き込みデータをメモリに書き込んでしまうことが可能となる。これにより、メモリアクセス装置のハードウェア資源を有効に使用することが可能となる。また、メモリからのデータの読出しやメモリへのデータの書き込みの処理がなされている間は、データ記憶部に記憶させておいたデータはそのまま記憶させておく。これによって、後続の読出し処理や書き込み処理を止めることなく行うことができるため、データ処理の高速化を図ることが可能となる。
また前記メモリアクセス要求装置から読み出しコマンドが出力されている場合において、前記メモリアクセス要求装置から出力された読み出しアドレス情報が、前記アドレス記憶部に記憶した書き込みアドレス情報と一致する場合には、前記読み出し制御部は、前記データ記憶部に記憶したデータを、前記メモリアクセス要求装置に出力するようにすることもできる。
このような態様によって、メモリアクセス要求装置から読み出し要求のあったデータがデータ記憶部に記憶されている場合には、そのデータをメモリから読み出す処理を省略してメモリアクセス要求装置に供給することが可能となる。このため、データの読み出しを高速に行うことが可能となる。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
メモリアクセスの高速化を可能とする。
===全体の構成===
本実施の形態に係るメモリシステム1000の全体構成を図1に示す。メモリシステム1000は、広くディジタルデータを処理する情報処理装置、特にDVDプレーヤ等のディジタルオーディオ機器など、大量のディジタルデータを処理する電子機器に好適である。
メモリシステム1000は、メモリ100と、DSP200と、リードライトコントローラ300と、アドレスラッチ部500と、アドレスデコーダ400と、データ記憶部600と、アドレス記憶部700と、アドレスコンパレータ800と、アドレスセレクト部1100と、アドレス情報セレクト部1110と、書き込みデータセレクト部1120と、読み出しデータセレクト部1130と、データ記憶セレクト部1140と、アドレス記憶セレクト部1150と、クロック回路1200とを備える。
なお、DSP200と、リードライトコントローラ300と、アドレスデコーダ400と、アドレスコンパレータ800と、アドレスセレクト部1100と、アドレス情報セレクト部1110と、書き込みデータセレクト部1120と、読み出しデータセレクト部1130と、は、特許請求の範囲に記載のメモリアクセス装置を構成する。
<クロック回路>
クロック回路1200は、所定の周期で電圧が一方のレベルから他方のレベルへ変化するクロック信号を出力する回路である。クロック信号は、DSP200、メモリ100、アドレスラッチ部500,アドレス記憶部700、データ記憶部600に入力されている。
<DSP>
DSP200は、DVDプレーヤ等に広く用いられ、音楽データや画像データのディジタル処理を行うディジタル信号処理装置であり、メモリ100にデータを書き込んだり、メモリ100からデータを読み出したりする。DSP200は、特許請求の範囲のメモリアクセス要求装置に相当する。
DSP200は、”CLK”端子、”n_BDAA”端子、”XBDAWR”端子、”n_XBDARD”端子、”BDA_W”端子、”BDA_R”端子を有している。
”CLK”端子は、クロック信号を取り込む端子である。クロック信号はクロック回路1200から出力される。DSP200は、このクロック信号の立ち上がりに同期してメモリ100へのアクセスのための制御を行う。
”n_BDAA”端子は、メモリ100に記憶されるデータのアドレスを示すアドレス情報を出力する端子である。このアドレス情報はクロック信号の立ち上がりに同期して出力される。”n_BDAA”端子から出力されたアドレス情報は、アドレスラッチ部500、アドレス情報セレクト部1110、及びアドレスデコーダ400に入力される。
”XBDAWR”端子は、メモリ100へのデータの書き込みを指示するコマンド(書き込みコマンド)を出力する端子である。この書き込みコマンドはクロック信号の立ち上がりに同期して出力される。”XBDAWR”端子から出力された書き込みコマンドは、リードライトコントローラ300に入力される。
”n_XBDARD”端子は、メモリ100からのデータの読み出しを指示するコマンド(読み出しコマンド)を出力する端子である。この読み出しコマンドはクロック信号の立ち上がりに同期して出力される。”n_XBDARD”端子から出力された読出しコマンドは、リードライトコントローラ300に入力される。
”BDA_W”端子は、メモリ100への書き込みデータを出力する端子である。書き込みデータはクロック信号の立ち上がりに同期して出力される。”BDA_W”端子から出力された書き込みデータは、書き込みデータセレクト部1120か、データ記憶セレクト部1140に入力される。
”BDA_R”端子は、メモリ100からの読み出しデータを取り込む端子である。この読み出しデータの取り込みはクロック信号の立ち上がりに同期して行われる。読み出しデータは、データ記憶部600あるいはメモリ100から、読み出しデータセレクト部1130を介して取り込まれる。
<メモリ>
メモリ100は、”CLK”端子、”A”端子、”CEN”端子、”WEN”端子、”D”端子、”Q”端子を有している。
”CLK”端子は、外部からのクロック信号を取り込む端子である。メモリ100に入力されるクロック信号は、DSP200に入力されるクロック信号と同一である。そしてメモリ100は、このクロック信号の立ち上がりに同期してデータの読み込み又は書き出しの制御を行う。つまり、DSP200とメモリ100は、同位相のクロック信号の立ち上がりに同期して制御が行われる。
”A”端子はメモリ100に記憶されるデータのアドレス情報が入力される端子である。”A”端子にはアドレス情報セレクト部1110から出力されたアドレス情報が入力される。
”CEN”端子は、チップイネーブル信号が入力される端子である。チップイネーブル信号は、リードライトコントローラ300から出力される。
”WEN”端子は、ライトイネーブル信号が入力される端子である。ライトイネーブル信号も、リードライトコントローラ300から出力される。
なお、チップイネーブル信号及びライトイネーブル信号は、特許請求の範囲に記載のリードコマンド及びライトコマンドを構成する。つまり具体的には、チップイネーブル信号=L、かつ、ライトイネーブル信号=Lの組合せがライトコマンドに相当し、チップイネーブル信号=L、かつ、ライトイネーブル信号=Hの組合せがリードコマンドに相当する。
”D”端子は、メモリ100への書き込みデータが入力される端子である。”D”端子に入力された書き込みデータは、”CEN”端子=L、かつ、”WEN”端子=Lの場合に、クロック信号の立ち上がりに同期して、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶される。書き込みデータは、DSP200又はデータ記憶部600から、書き込みデータセレクト部1120を介して入力される。
”Q”端子はメモリ100からの読み出しデータが出力される端子である。メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Hの場合に、クロック信号の立ち上がりに同期して、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶されているデータを”Q”端子から出力する。読み出しデータは、読み出しデータセレクト部1130を介して、DSP200に入力される。
<アドレスラッチ部>
アドレスラッチ部500は、DSP200に入力されるクロック信号と同一のクロック信号が入力され、DSP200から出力されたアドレス情報を取り込んで、クロック信号の1周期の間ラッチした後に出力する回路である。アドレスラッチ部500からは、アドレスセレクト部1100やアドレスデコーダ400、アドレス記憶セレクト部1150、アドレスコンパレータ800にアドレス情報が出力される。アドレスラッチ部500を設けることによって、DSP200によるメモリアクセスのパイプライン化が図られている。
<アドレスデコーダ>
アドレスデコーダ400は、アドレスラッチ部500に記憶されているアドレス情報及びDSP200の”n_BDAA”端子から出力されたアドレス情報をデコードして、リードライトコントローラ300に出力する回路である。
<アドレス記憶部>
アドレス記憶部700は、アドレスラッチ部500から出力されるアドレス情報を記憶する回路である。またアドレス記憶部700に記憶されているアドレス情報は、アドレスセレクト部1100に出力される。なお、アドレスラッチ部500から出力されるアドレス情報は、アドレス記憶セレクト部1150を介してアドレス記憶部700に入力される。
<アドレス記憶セレクト部>
アドレス記憶セレクト部1150は、リードライトコントローラ300から出力されるアドレス記憶信号に応じて、アドレスラッチ部500から出力されるアドレス情報と、アドレス記憶部700から出力されるアドレス情報と、のいずれか一方を出力する回路である。
<アドレスセレクト部>
アドレスセレクト部1100は、リードライトコントローラ300から出力されるアドレスセレクト信号に応じて、アドレスラッチ部500からのアドレス情報か、アドレス記憶部700からのアドレス情報かのいずれか一方を出力する回路である。アドレスセレクト部1100から出力されたアドレス情報は、アドレス情報セレクト部1110に入力される。
<アドレス情報セレクト部>
アドレス情報セレクト部1110は、リードライトコントローラ300から出力されるリードライトセレクト信号に応じて、DSP200の”n_BDAA”端子から出力されたアドレス情報か、アドレスセレクト部1100から出力されたアドレス情報かのいずれか一方を出力する回路である。アドレス情報セレクト部1110から出力されたアドレス情報は、メモリ100の”A”端子に入力される。
<アドレスコンパレータ>
アドレスコンパレータ800は、アドレスラッチ部500から出力されたアドレス情報と、アドレス記憶部700から出力されたアドレス情報と、を比較し、それらのアドレス情報が一致するか否かを示す信号を、リードライトコントローラ300に出力する回路である。
<データ記憶部>
データ記憶部600は、DSP200から出力される書き込みデータを取り込んで記憶する回路である。またデータ記憶部600に記憶されている書き込みデータは、書き込みデータセレクト部1120及び読み出しデータセレクト部1130に入力され、リードライトコントローラ300から出力される書き込みデータセレクト信号、又は読み出しデータセレクト信号に応じて、メモリ100又はDSP200に出力される。なお、DSP200から出力される書き込みデータは、データ記憶セレクト部1140を介してデータ記憶部600に入力される。
<データ記憶セレクト部>
データ記憶セレクト部1140は、リードライトコントローラ300から出力される書き込みデータ記憶信号に応じて、DSP200から出力される書き込みデータと、データ記憶部600から出力される書き込みデータと、のいずれか一方を出力する回路である。
<リードライトコントローラ>
リードライトコントローラ300は、メモリシステム1000において行われるメモリアクセスを制御する回路である。例えば、DSP200から出力される読み出しコマンドや書き込みコマンドに応じて、メモリ100へチップイネーブル信号やライトイネーブル信号を出力する。詳細は後述する。
===読み出し制御===
次に、本実施形態にかかるメモリシステム1000において、DSP200がメモリ100からデータを読み出す場合のタイムチャートを図2に示す。
図2に示すように、本実施形態にかかるDSP200は、”n_BDAA”端子からアドレス情報を出力するタイミングで、”n_XBDARD”端子から読み出しコマンドを出力する。
一方リードライトコントローラ300は、DSP200からの読み出しコマンドに応じて、DSP200の”n_BDAA”端子から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報がメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、DSP200からの読み出しコマンドに応じて、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Hとなるため、メモリ100は、次のクロック信号の立ち上がり(つまり、DSP200が読み出しコマンドを出力してから1周期後)に同期して、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶されているデータを”Q”端子から出力する。
またリードライトコントローラ300は、DSP200からの読み出しコマンドに応じて、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力しておく。
これにより、メモリ100の”Q”端子から出力された読み出しデータは、DSP200の”BDA_R”端子に入力される。
そしてDSP200は、次のクロック信号の立ち上がり(つまり、メモリ100から読み出しデータが出力されたタイミングの1周期後)に同期して、”BDA_R”端子に入力された読み出しデータを記憶する。
このように、本実施形態に係るメモリシステム1000においては、メモリ100の”Q”端子に読み出しデータが出力されてから、DSP200の”BDA_R”端子にその読み出しデータが記憶されるまでの時間はT2となる。T2はおよそクロック信号の1周期程度である。そしてメモリ100に読み出しデータが出力されてから、DSP200にその読み出しデータが記憶されるまでの時間を長くすることができるため、クロック信号を高速化することが可能となる。
===書き込み制御===
次に、本実施形態にかかるメモリシステム1000において、DSP200がメモリ100にデータを書き込む場合のタイムチャートを図3に示す。
図3に示すように、本実施形態にかかるDSP200は、”n_BDAA”端子からアドレス情報を出力したタイミングの次のタイミングで、”XBDAWR”端子から書き込みコマンドを出力し、”BDA_W”端子から書き込みデータを出力するようにしている。
一方リードライトコントローラ300は、DSP200からの書き込みコマンドに応じて、アドレスラッチ部500から出力されたアドレス情報を選択するアドレスセレクト信号をアドレスセレクト部1100に出力すると共に、アドレスセレクト部1100から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、アドレスラッチ部500から出力されたアドレス情報が、メモリ100の”A”端子に入力される。またリードライトコントローラ300は、DSP200からの書き込みコマンドに応じて、DSP200から出力された書き込みデータを選択する書き込みデータセレクト信号を書き込みデータセレクト部1120に出力する。これにより、DSP200からの書き込みデータがメモリ100の”D”端子に入力される。
さらにリードライトコントローラ300は、DSP200からの書き込みコマンドに応じて、チップイネーブル信号=L及びライトイネーブル信号=L(ライトコマンド)をメモリ100に出力する。
そうすると、メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Lとなるため、次のクロック信号の立ち上がり(つまり、DSP200が書き込みコマンドを出力してから1周期後)に同期して、”D”端子に入力されている書き込みデータを、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶する。
このように、本実施形態に係るメモリシステム1000においては、メモリ100の”D”端子に書き込みデータが入力されてから、記憶されるまでの時間はT4となる。T4はおよそクロック信号の1周期程度である。
このように、メモリ100に入力されるクロック信号とDSP200に入力されるクロック信号とを同位相とし、書き込みデータがメモリ100に記憶されるタイミングの1周期前のタイミングでDSP200から書き込みデータを出力することにより、書き込みデータがDSP200から出力されてからメモリ100に取り込まれるまでの時間を延ばすことが可能となる。これによりクロック信号を高速化することが可能となる。
===読み出し優先制御===
次に、本実施形態にかかる読み出し優先制御について説明する。なお読み出し優先制御とは、メモリ100におけるデータの読出しのタイミングが書き込みのタイミングと重複する場合に、読出し処理を優先して実行する制御をいう。
上述したように、本メモリシステム1000においては、DSP200から読み出しデータのアドレス情報が出力されてから読み出しデータがメモリ100から出力されるまでの時間はクロック信号1周期分であり、DSP200から書き込みデータのアドレス情報が出力されてからメモリ100に書き込みデータが記憶されるまでの時間はクロック信号2周期分である。そのためDSP200は、たとえ読み出しデータのアドレス情報と書き込みデータのアドレス情報とを異なるタイミングで出力したとしても、メモリ100におけるデータの読み出しのタイミングと書き込みのタイミングとが同一となってしまう場合があるのである。
そこでリードライトコントローラ300は、DSP200から読み出しコマンドが出力されるタイミングと書き込みコマンドが出力されるタイミングとに基づいて、メモリ100からのデータの読み出しとメモリ100へのデータの書き込みとの重複を事前に検知し、重複を回避する制御を行う。
具体的には、リードライトコントローラ300は、図4に示すように、DSP200の”n_XBDARD”端子から出力される読み出しコマンドと、”XBDAWR”端子から出力される書き込みコマンドとの両方が、同時に入力されることを検知することにより、メモリ100からのデータの読み出しのタイミングとメモリ100へのデータの書き込みのタイミングとが重複することを事前に検知する。
以下に、具体的な例に基づいて、詳細に説明する。
<書き込みと読み出しが交互に起きる場合>
図5(A)に示すように、DSP200がデータの書き込み(W0)と、データの読み出し(R1)と、データの書き込み(W1)を連続して行おうとすると、メモリ100において、データの読出しと書き込みの重複が起きる。この場合に行われる読み出し優先制御を図6のタイムチャートを参照しながら説明する。
なお説明の簡単化のために、データの書き込みや読出しを、「Wi」(iは整数)や「Rj」(jは整数)で識別する。またデータの書き込み(Wi)の際に、そのデータが書き込まれるメモリ100のアドレスをWAiで表す。またメモリ100に書き込まれるデータをDiで表す。同様にデータの読み出し(Rj)の際に、データが記憶されているメモリ100のアドレスをRAjで表す。また、メモリ100から読み出されるデータをQjで表す。
まず、図6に示すタイムチャートにおいて、クロック信号の(2)のタイミングでDSP200が、”n_BDAA”端子から書き込みデータのアドレス情報(WA0)を出力する。DSP200は、その次のクロック信号の立ち上がりのタイミング(3)で読み出しデータのアドレス情報(RA1)を出力する。そしてさらにその次のクロック信号の立ち上がりのタイミング(4)で書き込みデータのアドレス情報(WA1)を出力する。
これらのアドレス情報は、それぞれ、クロック1周期後にアドレスラッチ部500から出力される。
DSP200は、アドレス情報WA0を出力した次のタイミング(3)で、”XBDAWR”端子から書き込みコマンドを出力する。一方、DSP200は、アドレス情報RA1を出力したタイミング(3)で、”n_XBDARD”端子から読み出しコマンドを出力する。
ここで、リードライトコントローラ300は、DSP200から読み出しコマンドと書き込みコマンドの両方が出力されたことを検知する(条件A)。
そうすると、リードライトコントローラ300は、DSP200の”BDA_W”端子から出力されている書き込みデータ(D0)をデータ記憶部600に記憶させるために、データ記憶セレクト部1140に書き込みデータ記憶信号を出力する。これにより書き込みデータ(D0)は、メモリ100に書き込まれるのではなく、データ記憶部600に記憶される。
またリードライトコントローラ300は、アドレスラッチ部500に記憶されているアドレス情報(WA0)をアドレス記憶部700に記憶させるために、アドレス記憶セレクト部1150に、アドレス記憶信号を出力する。これによりアドレス情報(WA0)がアドレス記憶部700に記憶される。
また、リードライトコントローラ300は、DSP200の”n_BDAA”端子から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報(RA1)は、そのままメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Hとなるため、次のクロック信号の立ち上がりのタイミング(4)で、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶されているデータ(Q1)を”Q”端子から出力する。
またリードライトコントローラ300は、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力する。
これにより、メモリ100からの読み出しデータ(Q1)は、DSP200の”BDA_R”端子に入力される。この読み出しデータ(Q1)は、次のクロック信号の立ち上がりのタイミング(5)で、DSP200に記憶される。
一方で、クロック信号の(4)のタイミングでは、DSP200からは、読み出しコマンドも書き込みコマンドも出力されない(条件B)。そのためリードライトコントローラ300は、データ記憶部600に記憶しておいた書き込みデータ(D0)をメモリ100に書き込むための処理を実行する。
すなわち、リードライトコントローラ300は、書き込みデータセレクト部1120に対して、データ記憶部600からの書き込みデータを出力させるための書き込みデータセレクト信号を出力すると共に、アドレスセレクト部1100に対して、アドレス記憶部700に記憶されているアドレス情報を選択させるためのアドレスセレクト信号を出力する。さらにリードライトコントローラ300は、アドレス情報セレクト部1110に対して、アドレスセレクト部1100から出力されるアドレス情報を選択するためのリードライトセレクト信号を出力する。
またリードライトコントローラ300は、メモリ100に対して、チップイネーブル信号=Lとライトイネーブル信号=Lと(ライトコマンド)を出力する。これによって、次のクロック信号の立ち上がりのタイミング(5)で、データ記憶部600に記憶しておいた書き込みデータ(D0)がメモリ100に記憶される。
一方DSP200は、クロック信号の(5)のタイミングで、”BDA_W”端子から書き込みデータ(D1)を出力すると共に、”XBDAWR”端子から書き込みコマンドを出力する。
リードライトコントローラ300は、DSP200から書き込みコマンドのみが出力されていることを検知する(条件D)。その場合、リードライトコントローラ300は、アドレスラッチ部500から出力されたアドレス情報を選択するアドレスセレクト信号をアドレスセレクト部1100に出力すると共に、アドレスセレクト部1100から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、アドレスラッチ部500から出力されたアドレス情報が、メモリ100の”A”端子に入力される。
またリードライトコントローラ300は、DSP200から出力された書き込みデータ(D1)を選択する書き込みデータセレクト信号を書き込みデータセレクト部1120に出力する。これにより、DSP200からの書き込みデータがメモリ100の”D”端子に入力される。
そしてリードライトコントローラ300は、チップイネーブル信号=L及びライトイネーブル信号=L(ライトコマンド)をメモリ100に出力する。
これにより、メモリ100は、次のクロック信号の立ち上がりのタイミング(6)で、”D”端子に入力されている書き込みデータ(D1)を、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶する。
このようにして、データのメモリ100からの読出しのタイミングが書き込みのタイミングと重複した場合であっても、読出し処理を継続することが可能となるため、データの読み出し処理を遅延させないようにすることが可能となる。そして、いち早く読み出しデータをDSP200に供給することによって、メモリシステム1000全体ひいてはDVDプレーヤ全体のデータ処理の一層の高速化を達成することが可能となる。
<書き込みの後読み出しが連続する場合>
次に、図5(B)に示すように、データの書き込み(W0)の後、データの読み出し(R1、R2、R3)が連続し、その後にデータの書き込み(W1)が行われる場合について説明する。この場合に行われる読み出し優先制御を図7のタイムチャートを参照しながら説明する。
まず、図7に示すクロック信号の(2)のタイミングでDSP200が、”n_BDAA”端子から書き込みデータのアドレス情報(WA0)を出力する。DSP200は、その次のクロック信号の立ち上がりのタイミング(3)で読み出しデータのアドレス情報(RA1)を出力する。その後順次、アドレス情報RA2、RA3、WA1を出力する。
これらのアドレス情報は、それぞれ、クロック1周期後にアドレスラッチ部500から出力される。
DSP200は、アドレス情報WA0を出力した次のタイミング(3)で、”XBDAWR”端子から書き込みコマンドを出力する。一方、DSP200は、アドレス情報RA1を出力したタイミング(3)で、”n_XBDARD”端子から読み出しコマンドを出力する。
ここで、リードライトコントローラ300は、DSP200から読み出しコマンドと書き込みコマンドの両方が出力されたことを検知する(条件A)。
そうすると、リードライトコントローラ300は、DSP200の”BDA_W”端子から出力されている書き込みデータ(D0)をデータ記憶部600に記憶させるために、データ記憶セレクト部1140に書き込みデータ記憶信号を出力する。これにより書き込みデータ(D0)がデータ記憶部600に記憶される。
またリードライトコントローラ300は、アドレスラッチ部500に記憶されているアドレス情報(WA0)をアドレス記憶部700に記憶させるために、アドレス記憶セレクト部1150に、アドレス記憶信号を出力する。これによりアドレス情報(WA0)がアドレス記憶部700に記憶される。
また、リードライトコントローラ300は、DSP200の”n_BDAA”端子から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報(RA1)は、そのままメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Hとなるため、メモリ100は、次のクロック信号の立ち上がりのタイミング(4)で、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶されているデータ(Q1)を”Q”端子から出力する。
またリードライトコントローラ300は、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力する。
これにより、メモリ100からの読み出しデータ(Q1)は、DSP200の”BDA_R”端子に入力される。この読み出しデータ(Q1)は、次のクロック信号の立ち上がりのタイミング(5)で、DSP200によって記憶される。
一方で、クロック信号の(4)のタイミングでは、DSP200は、”n_BDAA”端子からアドレス情報(RA2)を出力するタイミングで、”n_XBDARD”端子から読み出しコマンドを出力する。
リードライトコントローラ300は、DSP200から読み出しコマンドのみが出力されているのを検知し(条件C)、DSP200の”n_BDAA”端子から出力されたアドレス情報(RA2)を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報は、そのままメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、次のクロック信号の立ち上がりのタイミング(5)で、”A”端子に入力されているアドレス情報(RA2)により特定されるアドレスに記憶されているデータ(Q2)を”Q”端子から出力する。
またリードライトコントローラ300は、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力する。
これにより、メモリ100からの読み出しデータ(Q2)は、DSP200の”BDA_R”端子に入力される。この読み出しデータ(Q2)は、次のクロック信号の立ち上がりのタイミング(6)で、DSP200によって記憶される。
このように、データの読み出しが連続する(R1、R2…)場合にはデータの読み出しを優先させ、データ記憶部600に記憶させておいた書き込みデータ(D0)は、そのまま記憶させておくのである。
なお、図7における以降のステップは、図6において詳細に説明した場合と同様である。すなわち、図7におけるクロック信号の(6)のタイミングで、DSP200から読み出しコマンドも書き込みコマンドも出力されない状態になった際に、データ記憶部600に記憶させておいた書き込みデータ(D0)をメモリ100に書き込むのである。
このように、データのメモリ100からの読出しのタイミングが書き込みのタイミングと重複した場合には、読出し処理を優先させることによって、データの読み出し処理を遅延させないようにすることが可能となる。そして、いち早く読み出しデータをDSP200に供給することを可能とすることによって、メモリシステム1000全体、DVDプレーヤ全体のデータ処理の一層の高速化を達成することが可能となるのである。
===データ記憶部に記憶させた書き込みデータを読み出す制御===
次に、データ記憶部600に記憶させた書き込みデータを読み出す制御について説明する。図5(C)に示すように、データの書き込み(W0)の後、データの読み出し(R1、R2、R0)が連続し、その後にデータの書き込み(W1)が行われる場合について説明する。なおここで、R0は、W0によって書き込まれたデータを読み出すことを示す。この場合に行われる制御を図8のタイムチャートを参照しながら説明する。
まず、図8に示すクロック信号の(2)のタイミングでDSP200が、”n_BDAA”端子から書き込みデータのアドレス情報(WA0)を出力する。DSP200は、その次のクロック信号の立ち上がりのタイミング(3)で読み出しデータのアドレス情報(RA1)を出力する。その後順次、アドレス情報RA2、RA0、WA1を出力する。なおここで、RA0は、WA0と同一のアドレス情報である。
これらのアドレス情報は、それぞれ、クロック1周期後にアドレスラッチ部500から出力される。
DSP200は、アドレス情報WA0を出力した次のタイミング(3)で、”XBDAWR”端子から書き込みコマンドを出力する。一方、DSP200は、アドレス情報RA1を出力したタイミング(3)で、”n_XBDARD”端子から読み出しコマンドを出力する。
ここで、リードライトコントローラ300は、DSP200から読み出しコマンドと書き込みコマンドとの両方が出力されたことを検知する(条件A)。
そうすると、リードライトコントローラ300は、DSP200の”BDA_W”端子から出力されている書き込みデータ(D0)をデータ記憶部600に記憶させるために、データ記憶セレクト部1140に書き込みデータ記憶信号を出力する。これにより書き込みデータ(D0)がデータ記憶部600に記憶される。
またリードライトコントローラ300は、アドレスラッチ部500に記憶されているアドレス情報(WA0)をアドレス記憶部700に記憶させるために、アドレス記憶セレクト部1150に、アドレス記憶信号を出力する。これによりアドレス情報(WA0)がアドレス記憶部700に記憶される。
また、リードライトコントローラ300は、DSP200の”n_BDAA”端子から出力されたアドレス情報を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報(RA1)は、そのままメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、”CEN”端子=L、かつ、”WEN”端子=Hとなるため、メモリ100は、次のクロック信号の立ち上がりのタイミング(4)で、”A”端子に入力されているアドレス情報により特定されるアドレスに記憶されているデータ(Q1)を”Q”端子から出力する。
またリードライトコントローラ300は、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力する。
これにより、メモリ100からの読み出しデータ(Q1)は、DSP200の”BDA_R”端子に入力される。この読み出しデータ(Q1)は、次のクロック信号の立ち上がりのタイミング(5)で、DSP200に記憶される。
一方で、クロック信号の(4)のタイミングでは、DSP200は、”n_BDAA”端子からアドレス情報(RA2)を出力するタイミングで、”n_XBDARD”端子から読み出しコマンドを出力する。
リードライトコントローラ300は、DSP200から読み出しコマンドのみが出力されているのを検知し(条件C)、DSP200の”n_BDAA”端子から出力されたアドレス情報(RA2)を選択するリードライトセレクト信号をアドレス情報セレクト部1110に出力する。これにより、”n_BDAA”端子から出力されたアドレス情報(RA2)は、そのままメモリ100の”A”端子に入力される。
さらにリードライトコントローラ300は、チップイネーブル信号=L、ライトイネーブル信号=H(リードコマンド)をメモリ100に出力する。
そうすると、メモリ100は、次のクロック信号の立ち上がりのタイミング(5)で、”A”端子に入力されているアドレス情報(RA2)により特定されるアドレスに記憶されているデータ(Q2)を”Q”端子から出力する。
またリードライトコントローラ300は、読み出しデータセレクト部1130に対して、メモリ100から出力された方のデータを選択する読み出しデータセレクト信号を出力する。
これにより、メモリ100からの読み出しデータ(Q2)は、DSP200の”BDA_R”端子に入力される。この読み出しデータ(Q2)は、次のクロック信号の立ち上がりのタイミング(6)で、DSP200に記憶される。
次に、クロック信号の(5)のタイミングでは、DSP200は、”n_BDAA”端子からアドレス情報(RA0)を出力するタイミングで、”n_XBDARD”端子から読み出しコマンドを出力する。
ところで、”n_BDAA”端子から出力されたアドレス情報(RA0)は、クロック信号の(6)のタイミングでアドレスラッチ回路500から出力され、アドレスコンパレータ800に入力される。またアドレスコンパレータ800には、アドレス記憶部700に記憶されているアドレス情報(WA0)も入力されている。上述したようにRA0とWA0とは同一であるので、アドレスコンパレータ800は、これらのアドレス情報が一致することを示す情報を、リードライトコントローラ300に出力する。
リードライトコントローラ300は、DSP200からの読み出しコマンド及びアドレスコンパレータ800からの上記情報を検知する(条件E)。この場合DSP200は、クロック信号の(6)のタイミングで、読み出しデータセレクト部1130に対して、データ記憶部600に記憶されているデータを選択する読み出しデータセレクト信号を出力する。
そうすると、データ記憶部600に記憶されているデータ(D0)は、DSP200の”BDA_R”端子に入力される。このデータ(D0)は、次のクロック信号の立ち上がりのタイミング(7)で、DSP200に記憶される。
このようにして、DSP200から読み出し要求のあったデータがデータ記憶部600に記憶されている場合には、そのデータをメモリ100から読み出す処理を省略してDSP200に供給する事が可能となる。このため、データの読み出しを高速に行うことが可能となるのである。
ところで、クロック信号の(6)のタイミングでは、DSP200からは、読み出しコマンドも書き込みコマンドも出力されない(条件B)。そのためリードライトコントローラ300は、データ記憶部600に記憶しておいた書き込みデータ(D0)をメモリ100に書き込むための処理を実行する。
リードライトコントローラ300は、書き込みデータセレクト部1120に対して、データ記憶部600からの書き込みデータを出力させるための書き込みデータセレクト信号を出力すると共に、アドレスセレクト部1100に対して、アドレス記憶部700に記憶されているアドレス情報を選択させるためのアドレスセレクト信号を出力する。さらにリードライトコントローラ300は、アドレス情報セレクト部1110に対して、アドレスセレクト部1100から出力されるアドレス情報を選択するためのリードライトセレクト信号を出力する。
そしてリードライトコントローラ300は、メモリ100に対して、チップイネーブル信号=Lとライトイネーブル信号=Lと(ライトコマンド)を出力する。これによって、次のクロック信号の立ち上がりのタイミング(7)で、データ記憶部600に記憶しておいた書き込みデータ(D0)がメモリ100に記憶される。
なお、以降のステップは、図6において詳細に説明した場合と同様である。すなわち、図8におけるクロック信号の(7)のタイミングで、DSP200から書き込みコマンドのみが出力された状態になった事を検知し、DSP200から出力される書き込みデータ(D1)をメモリ100に書き込むのである。
このように、データのメモリ100からの読出しのタイミングが書き込みのタイミングと重複した場合には、読出し処理を優先させることによって、データの読み出し処理を遅延させないようにすることが可能となる。そして、いち早く読み出しデータをDSP200に供給することを可能とすることによって、メモリシステム1000全体のデータ処理の高速化を達成することが可能となる。さらに、読み出しデータがデータ記憶部600に記憶されている場合には、メモリ100からではなくデータ記憶部600から読み出すようにすることによって、さらに早いタイミングで読み出しデータをDSP200に供給することが可能になるのである。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば図9に示すように、メモリシステム1000において、DSP200とメモリ100との間に制御回路900を設けるようにすることもできる。この制御回路900は、図1において示したリードライトコントローラ300や、データ記憶部600、アドレス記憶部700、アドレスデコーダ400、アドレスコンパレータ800、アドレスセレクト部1100、アドレス情報セレクト部1110、書き込みデータセレクト部1120、読み出しデータセレクト部1130を含み、集積回路として構成することもできるし、ディスクリートの回路により構成することもできる。また、メモリシステム1000全体が一つの集積回路として構成されてもよい。
また、上記メモリシステム1000を構成する各回路が、クロック信号の立ち上がりに同期して動作するものとして実施の形態を説明したが、クロック信号の立ち下がりに同期して動作する場合も同様である。
本実施の形態に係るメモリシステムを示す図である。 本実施の形態に係るメモリシステムにおいてデータを読み出す際のタイムチャートを示す図である。 本実施の形態に係るメモリシステムにおいてデータを書き込む際のタイムチャートを示す図である。 データの読出しと書き込みが重複する場合を示す図である。 データの読出しと書き込みが重複する場合の具体例を示す図である。 データの書き込みと読出しとが交互に起こる場合のタイムチャートを示す図である。 データの書き込みの後、読み出しが連続して起こる場合のタイムチャートを示す図である。 データ記憶部に記憶したデータを読み出す場合のタイムチャートを示す図である。 本実施の形態にかかるメモリシステムを示す図である。 メモリシステムを示す図である。 メモリアクセスのパイプライン制御を示す図である。 メモリシステムにおいてデータを読み出す際のタイムチャートを示す図である。 メモリシステムにおいてデータを書き込む際のタイムチャートを示す図である。
符号の説明
100 メモリ
200 DSP
300 リードライトコントローラ
400 アドレスデコーダ
500 アドレスラッチ部
600 データ記憶部
700 アドレス記憶部
800 アドレスコンパレータ
900 制御回路
1000 メモリシステム
1100 アドレスセレクト部
1110 アドレス情報セレクト部
1120 書き込みデータセレクト部
1130 読み出しデータセレクト部
1200 クロック回路

Claims (6)

  1. アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、リードコマンドが入力される端子と、前記リードコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルへ変化するタイミングで、前記アドレス情報により特定されるアドレスに記憶されているデータを出力する端子と、を有するメモリから、データを読み出すメモリアクセス装置であって、
    前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第1のタイミングで、前記アドレス情報及び前記リードコマンドを出力するアドレス情報出力部と、
    前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの次の第2のタイミングで前記メモリから出力されるデータを、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの次の第3のタイミングで記憶する読み出しデータ記憶部と、
    を備えることを特徴とするメモリアクセス装置。
  2. アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、ライトコマンドが入力される端子と、前記ライトコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルに変化するタイミングで前記アドレス情報により特定されるアドレスに記憶されるデータが入力される端子と、を有するメモリに、データを書き込むメモリアクセス装置であって、
    前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第1のタイミングで、前記メモリへ書き込むデータと、前記データのアドレス情報と、前記ライトコマンドとを出力するデータ出力部を有し、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの次の第2のタイミングで前記メモリに前記データを書き込むメモリアクセス装置。
  3. アドレス情報が入力される端子と、所定の周期で変化するクロック信号が入力される端子と、リードコマンド又はライトコマンドが入力される端子と、前記リードコマンドに応じて、前記クロック信号が一方のレベルから他方のレベルへ変化する第1のタイミングで前記アドレス情報により特定されるアドレスに記憶されているデータを出力する端子と、前記ライトコマンドに応じて、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する第2のタイミングで前記アドレス情報により特定されるアドレスに記憶されるデータが入力される端子と、を有するメモリにデータの読み書きを行うメモリアクセス装置であって、
    前記第1のタイミングで前記メモリからデータを出力させるために、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第1のタイミングの1周期前の第3のタイミングで、前記データのアドレス情報である読み出しアドレス情報、及び前記データを読み出すための読出しコマンドを出力するデータ読み出し部と、前記第2のタイミングで前記メモリへデータを書き込むために、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの2周期前の第4のタイミングで前記データのアドレス情報である書き込みアドレス情報を出力し、前記クロック信号が前記一方のレベルから前記他方のレベルへ変化する前記第2のタイミングの1周期前の第5のタイミングで、前記データ及び前記データを書き込むための書き込みコマンドを出力するデータ書き込み部と、を有するメモリアクセス要求装置と、
    前記第4のタイミングで前記メモリアクセス要求装置から出力された前記書き込みアドレス情報を入力し、前記第5のタイミングで前記書き込みアドレス情報を出力するアドレスラッチ部と、
    前記メモリアクセス要求装置から前記第3のタイミングで出力された前記読出しコマンドに応じて、当該第3のタイミングで、前記メモリに、リードコマンド及び前記メモリアクセス要求装置から出力された読み出しアドレス情報を出力する読み出し制御部と、前記メモリアクセス要求装置から前記第5のタイミングで出力された前記書き込みコマンドに応じて、当該第5のタイミングで、前記メモリに、ライトコマンド、前記アドレスラッチ部から出力された書き込みアドレス情報及び前記データを出力する書き込み制御部と、を有するメモリアクセス制御装置と、
    を備え、
    前記メモリアクセス要求装置から前記読み出しコマンド及び前記書き込みコマンドの両方が出力されている場合には、前記書き込み制御部は、前記ライトコマンド、前記アドレスラッチ部から出力された前記書き込みアドレス情報及び前記データを前記メモリに出力しない
    ことを特徴とするメモリアクセス装置。
  4. 請求項3に記載のメモリアクセス装置であって、
    前記アドレスラッチ部から出力される書き込みアドレス情報を記憶するアドレス記憶部と、
    前記メモリアクセス要求装置から出力されるデータを記憶するデータ記憶部と、
    を備え、
    前記メモリアクセス要求装置から前記読み出しコマンド及び前記書き込みコマンドの両方が出力されている場合には、前記書き込み制御部は、前記アドレスラッチ部から出力された書き込みアドレス情報を前記アドレス記憶部に記憶し、前記メモリアクセス要求装置から出力されたデータを前記データ記憶部に記憶する
    ことを特徴とするメモリアクセス装置。
  5. 請求項4に記載のメモリアクセス装置であって、
    前記メモリアクセス要求装置から読み出しコマンド及び書き込みコマンドのいずれもが出力されていない場合には、前記書き込み制御部は、前記メモリにライトコマンドを出力すると共に、前記アドレス記憶部に記憶した書き込みアドレス情報、及び前記データ記憶部に記憶したデータを、前記メモリに出力する
    ことを特徴とするメモリアクセス装置。
  6. 請求項4に記載のメモリアクセス装置であって、
    前記メモリアクセス要求装置から読み出しコマンドが出力されている場合において、前記メモリアクセス要求装置から出力された読み出しアドレス情報が、前記アドレス記憶部に記憶した書き込みアドレス情報と一致する場合には、前記読み出し制御部は、前記データ記憶部に記憶したデータを、前記メモリアクセス要求装置に出力する
    ことを特徴とするメモリアクセス装置。

JP2006111318A 2006-04-13 2006-04-13 メモリアクセス装置 Active JP5132074B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006111318A JP5132074B2 (ja) 2006-04-13 2006-04-13 メモリアクセス装置
CNB2007100917684A CN100492331C (zh) 2006-04-13 2007-04-09 存储器访问装置
TW096112445A TWI335515B (en) 2006-04-13 2007-04-10 Memory access device
US11/734,749 US7480188B2 (en) 2006-04-13 2007-04-12 Memory Access apparatus
KR1020070036111A KR100882414B1 (ko) 2006-04-13 2007-04-12 메모리 액세스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006111318A JP5132074B2 (ja) 2006-04-13 2006-04-13 メモリアクセス装置

Publications (2)

Publication Number Publication Date
JP2007286765A true JP2007286765A (ja) 2007-11-01
JP5132074B2 JP5132074B2 (ja) 2013-01-30

Family

ID=38604704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006111318A Active JP5132074B2 (ja) 2006-04-13 2006-04-13 メモリアクセス装置

Country Status (5)

Country Link
US (1) US7480188B2 (ja)
JP (1) JP5132074B2 (ja)
KR (1) KR100882414B1 (ja)
CN (1) CN100492331C (ja)
TW (1) TWI335515B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11393550B2 (en) 2018-09-14 2022-07-19 Rambus Inc. Memory system with error detection
CN114489233B (zh) * 2022-01-24 2024-06-11 上海华力集成电路制造有限公司 一种相位可调任意波形发生器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076602A (ja) * 2001-09-04 2003-03-14 Sanyo Electric Co Ltd メモリ制御方法およびメモリ制御回路
JP2006072444A (ja) * 2004-08-31 2006-03-16 Sanyo Electric Co Ltd メモリ制御回路及びメモリ制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752269A (en) * 1995-05-26 1998-05-12 National Semiconductor Corporation Pipelined microprocessor that pipelines memory requests to an external memory
JP2002064368A (ja) 2000-08-22 2002-02-28 Fujitsu Ltd 電子機器、半導体装置、および、クロック発生装置
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US7321524B2 (en) * 2005-10-17 2008-01-22 Rambus Inc. Memory controller with staggered request signal output

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076602A (ja) * 2001-09-04 2003-03-14 Sanyo Electric Co Ltd メモリ制御方法およびメモリ制御回路
JP2006072444A (ja) * 2004-08-31 2006-03-16 Sanyo Electric Co Ltd メモリ制御回路及びメモリ制御方法

Also Published As

Publication number Publication date
TWI335515B (en) 2011-01-01
CN100492331C (zh) 2009-05-27
TW200745860A (en) 2007-12-16
US7480188B2 (en) 2009-01-20
JP5132074B2 (ja) 2013-01-30
CN101059782A (zh) 2007-10-24
KR100882414B1 (ko) 2009-02-05
KR20070101805A (ko) 2007-10-17
US20070242533A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
KR101471251B1 (ko) 동적 데이터 스트로브 검출
US8237486B2 (en) Clock control circuit and semiconductor memory apparatus using the same
JP5431003B2 (ja) リコンフィギュラブル回路及びリコンフィギュラブル回路システム
JP5321189B2 (ja) メモリ制御装置
JP2009015832A (ja) アクセス間調停回路、半導体装置およびアクセス間調停方法
JP2010278798A (ja) 非同期インタフェース回路及び非同期データ転送方法
JP2012230621A (ja) メモリ装置、メモリ制御装置、メモリ制御方法
US10714161B2 (en) Semiconductor device
JP5132074B2 (ja) メモリアクセス装置
JP2010146084A (ja) キャッシュメモリ制御部を備えるデータ処理装置
US5870595A (en) Clock-supply control system of digital-signal processors
JP2009064360A (ja) メモリコントローラ及びその制御方法
US20180181335A1 (en) Apparatus and method to speed up memory frequency switch flow
JP2007219942A (ja) 信号処理装置
TWI285836B (en) Method and/or architecture implemented in hardware for the adjustment of messages with indeterministic length
JP2011034214A (ja) メモリ制御装置
JP2004206850A (ja) 半導体記憶装置
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
JP4651206B2 (ja) 半導体記憶装置および情報処理装置
JP2004199608A (ja) メモリ制御回路
JP2012063874A (ja) チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
JP2005063358A (ja) 命令供給制御装置および半導体装置
JP4749689B2 (ja) メモリ制御回路及びメモリ制御方法
JP2002268876A (ja) パイプライン処理方法、及び情報処理装置
JP2007094647A (ja) メモリコントローラ及び書込み制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120801

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120808

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: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121106

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5132074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250