JP2005267148A - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
JP2005267148A
JP2005267148A JP2004077571A JP2004077571A JP2005267148A JP 2005267148 A JP2005267148 A JP 2005267148A JP 2004077571 A JP2004077571 A JP 2004077571A JP 2004077571 A JP2004077571 A JP 2004077571A JP 2005267148 A JP2005267148 A JP 2005267148A
Authority
JP
Japan
Prior art keywords
memory
bus
data
read
write
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
Application number
JP2004077571A
Other languages
English (en)
Inventor
Tomohiro Suzuki
友弘 鈴木
Fumikage Uchida
史景 内田
Yuji Tamura
祐二 田村
Tetsuya Ishikawa
哲也 石川
Hiroyasu Nishimura
泰保 西村
Tomoya Ogawa
智哉 小川
Takashi Moromizato
尚 諸見里
Masayuki Yasukaga
正之 安加賀
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2004077571A priority Critical patent/JP2005267148A/ja
Priority to US10/946,524 priority patent/US20050210163A1/en
Publication of JP2005267148A publication Critical patent/JP2005267148A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

【課題】低速なメモリを見かけ上高速化することのできるメモリ制御装置を提供する。
【解決手段】バス3とメモリ4との間にメモリ制御装置10を介在させる。仮想メモリ空間制御部13は、バス3側から予め定めた仮想アドレス空間に対するアクセスがあると、これに対応するアクセスをメモリ4より高速かつ小容量のFIFOメモリ11、12に対して行なう。DMAコントローラ14は、バス3側から仮想アドレス空間へのアクセスと非同期にFIFOメモリ11、12とメモリ4との間でデータ転送を実行する。なお、メモリ4内での転送先や転送元の先頭アドレスおよび転送するデータサイズはバス3側のCPU2等からDMAコントローラ14に予め設定される。
【選択図】図1

Description

本発明は、バスとメモリとの間に介在させるメモリ制御装置に関する。
情報の伝達経路としてバスを利用するシステムでは、通常、図4に示すように、メモリ101などの各種デバイスがバス102に直接接続される。ところで、高価で特殊なものを除く一般的なメモリが発揮し得る最大のデータ読み書き速度(メモリの処理能力)は、CPU103などのデバイスがバスを通じてデータをやり取りできる速度(バスのデータ転送能力)に比べて遅い。
たとえば、図5(a)に示すように、バスのデータ転送能力がXバイト/秒で、メモリの処理能力がYバイト/秒で、バスのデータ転送能力(Xバイト/秒)>メモリの処理能力(Yバイト/秒)の関係にあるものとする。
このとき、転送すべきデータ量をZバイトとすると、バス側で必要なデータ転送時間はZ/X秒になり、メモリ側で必要な処理時間はZ/Y秒になる。バスのデータ転送能力(Xバイト/秒)>メモリの処理能力(Yバイト/秒)の関係にあるので、図5(b)に示すように、メモリ側で必要な処理時間(Z/Y秒)>データ転送時間(Z/X秒)になる。すなわち、メモリの処理能力がバス上でのデータ転送速度を規制する要因になっていた。
このようにメモリへのアクセスがバス上でのデータ転送速度を制限する要因になることから、バスに接続されたメモリとI/O装置との間のデータ転送速度を改善するための技術が提案されている。この技術は、同じ値のデータを複数のI/O装置に転送する場合の処理速度を向上させるものであり、バスに接続されたメモリから読み取ったデータを内部メモリに格納し、各I/O装置への転送をこの内部メモリから繰り返し行なうようになっている(たとえば、特許文献1参照。)。
特開2000−105736号公報
バスのデータ転送能力より低い処理能力のメモリにバス側からアクセスすると、その能力差を埋めるために、図6に示すようにバスにウェイトサイクル110が挿入される。その結果、データ転送のための処理時間がメモリ側の処理能力に依存することになり、メモリにアクセスするためのバス占有時間が長くなってバスの利用効率が低下し、システム全体のスループットが低くなるという問題があった。
特殊な高速メモリを採用すれば、ウェイトサイクルの挿入を避けることはできる。しかし、画像データを蓄積するような大容量のメモリに高価な高速メモリを採用すると装置価格が大幅に上昇するので好ましくない。
本発明は、上記の問題を解決しようとするものであり、低速なメモリを見かけ上高速化することのできるメモリ制御装置を提供することを目的としている。
請求項1に係わる発明は、バスとメモリとの間に介在させるメモリ制御装置であって、
前記メモリより高速かつ小容量のバッファメモリ(11、12)と、
予め定めた仮想アドレス空間に対するバス側からのアクセスを前記バッファメモリ(11、12)に対するアクセスに変換する仮想メモリ空間制御部(13)と、
前記バス側から前記仮想アドレス空間へのアクセスと非同期に前記バッファメモリ(11、12)と前記メモリとの間でデータを転送するデータ転送手段(14)と、
を有する
ことを特徴とするメモリ制御装置である。
上記発明によれば、バス側から仮想メモリ空間にデータの書き込みまたは読み出しのアクセスがあると、対応するアクセスがバッファメモリ(11、12)に対して行なわれる。これにより、バスからはバッファメモリ(11、12)の処理能力に応じた速度で仮想メモリ空間に対するデータの読み書きが可能になる。
一方、データ転送手段(14)は、仮想アドレス空間に対するバス側からのアクセスと非同期にバッファメモリ(11、12)と外部のメモリとの間でデータを転送する。バッファメモリ(11、12)と外部のメモリとの間のデータ転送は外部のメモリの処理能力に応じた速度で行なわれる。バスとバッファメモリ(11、12)との間の処理速度とバッファメモリ(11、12)と外部メモリとの間の処理速度との差は、バッファメモリ(11、12)にデータを一時的に蓄積することで吸収される。
バッファメモリ(11、12)へのデータ格納位置や外部のメモリへのデータ格納位置をバス側の装置から管理可能に構成してもよいし、メモリ制御装置側でデータの格納位置を自動制御するように構成してもよい。バス側から管理するときは、格納場所の先頭アドレスとデータサイズとを設定し、このデータサイズ毎に1回の設定で済むように構成するとよい。自動制御する場合は、古く格納した順にデータを取り出すようにすれば制御や管理が容易になる。
メモリ制御装置は、読み出し動作と書き込み動作の双方に対応するものでも、いずれか一方の動作にだけ対応するものであってもよい。
バッファメモリ(11、12)は、外部のメモリより高速であればよく、好ましくは、バス上の他のデバイスからのアクセスに対してウェイトサイクルが発生しないような処理能力を有するとよい。バッファメモリ(11、12)の記憶容量は問わない。バス側からのアクセスが所定のデータ量を単位に連続的に行なわれるような場合には、連続転送の1単位分のデータ量以上の記憶容量にすることが望ましい。
バスの種類は限定されない。たとえば、PCIバス(Peripheral
Components Interconnect bus)などの汎用バスがある。
外部に接続するメモリの種類や記憶容量は問わない。データ転送手段(14)は、接続され得る最大容量のメモリをカバー可能な広さのアドレス空間を有することが好ましい。
請求項2に係わる発明は、前記バッファメモリ(11、12)と前記データ転送手段(14)とを書き込み用と読み出し用とにそれぞれ設け、
前記仮想メモリ空間制御部(13)は、バス側からの書き込みアクセスに応じて前記書き込み用のバッファメモリ(11)に前記バス上のデータを書き込み、バス側からの読み出しアクセスに応じて前記読み出し用のバッファメモリ(12)からデータを読み出してこれを前記バス上に送出する
ことを特徴とするメモリ制御装置である。
上記発明によれば、書き込み用のデータ転送手段(14)は書き込み用バッファメモリ(11、12)から外部のメモリへのデータ転送を専門に行ない、読み出し用のデータ転送手段(14)は外部のメモリから読み出し用バッファメモリ(11、12)へのデータ転送を専門に行なう。メモリへのアクセスが調停される範囲でこれらの転送動作の並列実行が可能になる。また、読み出し用と書き込み用とに独立のバッファメモリ(11、12)を設けたので、読み出し動作と書き込み動作の双方に対応しつつ、各バッファメモリ(11、12)に先入れ先出し式メモリを利用することができ、制御が簡易になる。
請求項3に係わる発明は、前記バッファメモリ(11、12)が、先入れ先出し式メモリである
ことを特徴とする請求項1または2に記載のメモリ制御装置である。
上記発明によれば、バッファメモリ(11、12)に対するアドレス管理が不要になり、メモリ制御装置の内部構成が簡略化される。
請求項4に係わる発明は、前記データ転送手段(14)は、転送動作における前記メモリ側の先頭アドレスと転送するデータサイズとの設定を前記バス側から受け付け、この設定に従って前記メモリとバッファメモリ(11、12)との間でデータを転送する
ことを特徴とする請求項1、2または3に記載のメモリ制御装置である。
上記発明によれば、データ転送におけるメモリ側の先頭アドレスとデータサイズとをバス側の装置から設定するので、外部のメモリにおけるデータの格納位置をバス側の装置で管理することができる。また、先頭アドレスとデータサイズとをセットすれば、1回の設定でデータサイズ分のデータ転送が行なわれるので、設定回数が少なくなり、設定に係わるバス側の装置の負担が軽減される。
本発明に係わるメモリ制御装置によれば、低速のメモリが見かけ上高速化される。これにより、メモリアクセス時にウェイトサイクルが挿入されなくなり、データの転送効率やバスの使用効率が改善され、このバスを利用するシステムの全体の高速化を図ることができる。また、低速メモリを利用してもシステムの性能が低下しないので、大容量の記憶部として安価な低速メモリを利用して装置価格を下げることができる。
バッファメモリとデータ転送手段とを書き込み用と読み出し用とにそれぞれ設けたものでは、たとえば、書き込み用バッファメモリから外部のメモリへのデータ転送と外部のメモリから読み出し用バッファメモリへのデータ転送の双方に係わる実行指示を予め設定しておけば、データ転送手段に対する指示をその都度変更することなく、バス側からの読み出し動作と書き込み動作とを適宜に切り替えて実行することができる。
バッファメモリとして先入れ先出し式メモリを使用したものでは、バッファメモリに対するアドレス管理が不要になり、メモリ制御装置の内部構成が簡略化される。
データ転送におけるメモリ側の先頭アドレスとデータサイズとをバス側の装置から設定するようにしたものでは、外部のメモリ内でのデータ格納位置をバス側の装置で管理することができる。また、先頭アドレスとデータサイズとを1回セットすれば、そのデータサイズ分のデータ転送が行なわれるので、設定回数が少なくなり、設定に係わるバス側の装置の負担が軽減される。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明に係わるメモリ制御装置10の構成と接続状態とを示している。メモリ制御装置10は、CPU2などが接続されたバス3と外部のメモリ4との間に接続され、見かけ上、メモリ4の処理速度を高速化する機能を果たす。ここでは、バス3はPCIバスであり、メモリ4は、大容量のSDRAM(Synchronous Dynamic Random Access Memory)で構成されている。バス3やメモリ4の種類はこれに限定されるものではない。
メモリ制御装置10は、書き込み用FIFOメモリ11と、読み出し用FIFOメモリ12と、仮想メモリ空間制御部13と、DMAコントローラ14とから構成される。
書き込み用FIFOメモリ11および読み出し用FIFOメモリ12は、メモリ4に比べて高速かつ小容量のメモリであり、バス3からのアクセスとメモリ4との処理速度の違いを吸収する役割を果たす。ここでは、バス3のバス幅と同じビット幅を持つ64段のシフトレジスタで構成してあり、先入れ先出し式(FIFO…First-In First-Out)メモリとして動作する。なお、先入れ先出し式(FIFO)は、古く格納した順にデータを取り出す方式であり、一番新しく格納されたデータが一番後に取り出される。
書き込み用FIFOメモリ11および読み出し用FIFOメモリ12の記憶容量は、上記のものに限定されない。ここでは、バス3側の1つのデバイスから連続アクセスされる最大のデータ量と等しい記憶容量に設定してある。PCIバスでは、1つのデバイスが連続的にバスを占有可能な時間が規定されているので、書き込み用FIFOメモリ11および読み出し用FIFOメモリ12の記憶容量をその占有可能な時間に転送できる最大データ量に設定してある。
仮想メモリ空間制御部13は、予め定めた仮想アドレス空間に対するバス3側からのアクセスを書き込み用FIFOメモリ11や読み出し用FIFOメモリ12に対するアクセスに変換する機能を果たす。仮想メモリ空間制御部13にはバス3のアドレスバスおよびデータバスが接続されている。また仮想メモリ空間制御部13は、書き込み用FIFOメモリ11と読み出し用FIFOメモリ12のそれぞれとデータ用信号線15、16で接続されている。
仮想メモリ空間制御部13は、データ用信号線15上のデータの取り込みタイミングを示す書き込みタイミング信号17を書き込み用FIFOメモリ11に向けて出力する。また、データの読み出しタイミングを表わした読み出しタイミング信号18を読み出し用FIFOメモリ12に向けて出力する。
仮想メモリ空間制御部13は、仮想アドレス空間に対するバス3側からの書き込みアクセスを検出したとき、バス3上のデータを書き込み用FIFOメモリ11に書き込む機能を果たす。バス3側から仮想アドレス空間に対して読み出しアクセスがあったときは、読み出し用FIFOメモリ12からデータを読み出し、これをバス3のデータバス上に送出するように動作する。
仮想メモリ空間制御部13は、バス3側から仮想アドレス空間に対して書き込みアクセスがあった時点で書き込み用FIFOメモリ11にデータを格納するための空き領域がないときは、空き領域が生じるまでバス3に対してウェイト信号を送出する。同様に、バス3側から仮想アドレス空間に対して読み出しアクセスがあった際に読み出し可能なデータが読み出し用FIFOメモリ12に格納されていないときは、読み出し可能なデータが準備されるまでバス3に対してウェイト信号を送出するようになっている。ウェイト信号が出力されたときは、これに応じてバスにウェイトサイクルが挿入される。
DMAコントローラ14は、書き込み用FIFOメモリ11や読み出し用FIFOメモリ12とメモリ4との間でデータを転送する機能を果たす。DMAコントローラ14は、書き込み用FIFOメモリ11からメモリ4にデータを転送する書き込み用チャンネル21と、メモリ4から読み出し用FIFOメモリ12にデータを転送する読み出し用チャンネル22との2つのデータ転送部を備えている。
書き込み用FIFOメモリ11は、格納されている読み出し可能なデータの残量を示すデータ残量情報23をDMAコントローラ14の書き込み用チャンネル21に向けて出力する。データ残量情報23は、書き込み用FIFOメモリ11に読み出し可能なデータが存在するときに出力され、読み出し可能なデータがないときは出力されない。書き込み用チャンネル21は、データの読み出しタイミングを表わしたFIFO読み出しタイミング信号24を書き込み用FIFOメモリ11に向けて出力する。
読み出し用FIFOメモリ12は、データを格納可能な空き容量を表わした空き容量情報25をDMAコントローラ14の読み出し用チャンネル22に向けて出力する。読み出し用FIFOメモリ12は、空き領域が存在する場合に空き容量情報25を出力し、空き領域がないときは空き容量情報25を出力しない。読み出し用チャンネル22は、メモリ4から読み出したデータの取り込みタイミングを表わしたFIFO書き込みタイミング信号26を読み出し用FIFOメモリ12に向けて出力する。
DMAコントローラ14は書き込み用チャンネル21および読み出し用チャンネル22のそれぞれに対して、転送するデータのメモリ4内での先頭アドレスと転送するデータサイズの設定をバス3側のデバイス(たとえばCPU2)から受ける。設定後にバス3側のデバイスから転送動作の実行指令を受けると、先の設定内容に従ってデータ転送動作を実行するようになっている。DMAコントローラ14はデータ転送動作を実行するときメモリ4に対してアドレス情報27と、データの書き込みタイミングを表した実メモリ書き込みタイミング信号28と、データの読み出し要求を表した実メモリ読み出しタイミング信号29とを出力する。
書き込み用チャンネル21や読み出し用チャンネル22によるデータ転送動作は、仮想アドレス空間へのバス3側からアクセスと非同期に実行される。また、書き込み用チャンネル21と読み出し用チャンネル22とが並行に動作するときは、互いの動作を調停するようになっている。
次に、CPU2がメモリ制御装置10を通じてメモリ4にデータを書き込む際の動作の流れを説明する。CPU2は、DMAコントローラ14の書き込み用チャンネル21に、これから転送しようとするデータのサイズとメモリ4内での先頭アドレス(実メモリアドレス空間上の先頭アドレス)を設定し、書き込み用チャンネル21に転送動作の実行指令を出す。
最初は書き込み用FIFOメモリ11にはデータが格納されていないので、データ残量情報23は出力されず、書き込み用チャンネル21はデータ残量情報23の出力を待機した状態になっている。
CPU2が仮想メモリ空間にデータを転送する(書き込む)と、仮想メモリ空間制御部13はバス3側からの仮想メモリ空間に対する書き込みアクセスがあったことを検知し、バス3上のデータを取り込み、これを書き込み用FIFOメモリ11に書き込む。詳細には、仮想メモリ空間制御部13はバス3側から取り込んだデータをデータ用信号線15に出力し、かつこの状態で書き込みタイミング信号17を出力する。書き込み用FIFOメモリ11は書き込みタイミング信号17が入力された時点でデータ用信号線15上のデータを内部に取り込み格納する。こうして読み出し可能なデータが格納された状態になると書き込み用FIFOメモリ11はデータ残量情報23を出力する。
書き込み用チャンネル21は、データ残量情報23の入力により書き込み用FIFOメモリ11に読み出すべきデータが格納されていることを認識する。これにより、メモリ4に対してアドレス情報を出力するとともにFIFO読み出しタイミング信号24を出力して書き込み用FIFOメモリ11からデータを読み出す。そして、書き込み用FIFOメモリ11からデータが読み出されている状態で実メモリ書き込みタイミング信号28を出力し、そのデータを先のアドレス情報が示すメモリ4内の領域に書き込む。
バス3側から書き込み用FIFOメモリ11へのデータの書き込みは、書き込み用FIFOメモリ11の処理能力に応じた速度で次々と行なわれる。一方、書き込み用FIFOメモリ11からメモリ4への転送は、メモリ4の処理能力に応じた速度で順次行なわれる。
CPU2がメモリ制御装置10を通じてメモリ4からデータを読み出す際の動作は次のように行なわれる。CPU2は、DMAコントローラ14の読み出し用チャンネル22に、これから読み出そうとするデータのサイズとメモリ4内での先頭アドレス(実メモリアドレス空間上の先頭アドレス)を設定し、読み出し用チャンネル22に転送動作の実行指令を出す。
読み出し用チャンネル22は、メモリ4に対してアドレス情報と実メモリ読み出しタイミング信号29とを出力し、メモリ4からデータが読み出されたタイミングを見計らって読み出し用FIFOメモリ12にFIFO書き込みタイミング信号26を出力し、メモリ4から読み出したデータを読み出し用FIFOメモリ12に順次書き込む。
CPU2は、ある程度読み出し用FIFOメモリ12にデータが格納されたであろう時期に仮想メモリ空間制御部13にアクセスしてデータを読み出すことで、読み出し用FIFOメモリ12に格納されているデータを読み出し用FIFOメモリ12が持つ処理能力(速度)で読み出すことができる。たとえば、読み出し用FIFOメモリ12がフルになった頃を見計らって読み出し用FIFOメモリ12にアクセスし、その記憶容量分のデータを連続的に読み出すようにするとよい。
PCIバスの場合、連続的にバスを占有可能な時間が規制されている。このため、CPU2が次にメモリ制御装置10にアクセスするまでの間にメモリ4から読み出し用FIFOメモリ12への読み出し動作が行なわれ、次にCPU2が仮想メモリ空間を読み出しアクセスする頃には読み出し用FIFOメモリ12に充分な量のデータが格納される。
図2は、メモリ制御装置10を利用してメモリ4へ所定量のデータを転送した場合のバス3側の処理時間とメモリ4側の処理時間との関係を示している。この図は、バス3側のデータ転送能力および書き込み用FIFOメモリ11の処理能力をXバイト/秒、メモリ4の処理能力をYバイト/秒とし、転送すべきデータ量をZバイトとした場合の例を示している。
バス3側は書き込み用FIFOメモリ11にデータを書き込むので、ウェイトサイクルが挿入されずバス側の転送処理41は(Z/X秒)で完了する。一方、実メモリ側の転送処理42は(Z/Y秒)かかるので、バス3側にとってその差の分43だけ見かけ上メモリ4の高速化が実現される。また、バス3は(Z/X秒)でこの転送処理から解放されるので、その後の時間43を別の処理に利用することができ、バス3の利用効率が向上し、システムスループットの低下が防止される。
図3は、メモリ制御装置10を利用してデータ転送を行なうシステム構成の一例を示している。このシステムでは、メモリ制御装置10aを介して第1のPCIバス61に接続されたメモリ62からメモリ制御装置10bを介して第2のPCIバス71に接続されたメモリ72にバスブリッジ60を通じてデータがDMA転送される。
第1のPCIバス61側のメモリ62から第2のPCIバス71側のメモリ72にデータ転送するものとする。このとき、第1のPCIバス61側のCPU63と第2のPCIバス71側のCPU73とが必要な情報をやり取りして以下の設定を行なう。第1のPCIバス61側のCPU63は、読み出すデータのメモリ62内での先頭アドレス(転送元アドレス)と転送するデータサイズとをメモリ制御装置10aに設定し、転送動作を起動する。第2のPCIバス71側のCPU73は、データ格納領域のメモリ72内での先頭アドレス(転送先アドレス)と転送するデータサイズとをメモリ制御装置10bに設定し、転送動作を起動する。
また、CPU63およびCPU73は、第1のPCIバス61側のメモリ制御装置10aの仮想アドレス空間から第2のPCIバス71側のメモリ制御装置10bの仮想アドレス空間に先のデータサイズ分のデータを転送するようにバスブリッジ60を設定して起動する。
これにより、第1のPCIバス61側のメモリ制御装置10aとバスブリッジ60と第2のPCIバス71側のメモリ制御装置10bとが連携動作し、メモリ62からメモリ72へのデータ転送が実行される。CPU63およびCPU73は、起動後はデータ転送動作に関与しないので、別の処理を実行することができる。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。たとえば、メモリ制御装置10内のバッファメモリを先入れ先出し式メモリで構成したが、アドレス情報を必要とするメモリなど他の方式のメモリで構成してもよい。
本発明の実施の形態に係わるメモリ制御装置の構成と接続状態を示すブロック図である。 本発明の実施の形態に係わるメモリ制御装置を利用してメモリへ所定量のデータを転送した場合のバス側の処理時間とメモリ側の処理時間との関係を示す説明図である。 本発明の実施の形態に係わるメモリ制御装置を利用してデータ転送を行なうシステム構成の一例を示すブロック図である。 バスにメモリを接続する従来の方法を示すブロック図である。 バスのデータ転送能力とメモリの処理能力との関係およびバスのデータ転送時間とメモリ側で必要な処理時間との関係を示す説明図である。 バスのデータ転送能力より低い処理能力のメモリにアクセスしたことによりバスにウェイトサイクルが挿入された状態の一例を示す説明図である。
符号の説明
2…CPU
3…バス
4…メモリ
10…メモリ制御装置
11…書き込み用FIFOメモリ
12…読み出し用FIFOメモリ
13…仮想メモリ空間制御部
14…DMAコントローラ
15、16…データ用信号線
17…書き込みタイミング信号
18…読み出しタイミング信号
21…書き込み用チャンネル
22…読み出し用チャンネル
23…データ残量情報
24…FIFO読み出しタイミング信号
25…空き容量情報
26…FIFO書き込みタイミング信号
27…アドレス情報
28…実メモリ書き込みタイミング信号
29…実メモリ読み出しタイミング信号
41…バス側の転送処理
42…実メモリ側の転送処理
43…バス側の処理時間とメモリ側の処理時間との差
60…バスブリッジ
61…第1のPCIバス
62…メモリ
63…CPU
71…第2のPCIバス
72…メモリ
73…CPU

Claims (4)

  1. バスとメモリとの間に介在させるメモリ制御装置であって、
    前記メモリより高速かつ小容量のバッファメモリと、
    予め定めた仮想アドレス空間に対するバス側からのアクセスを前記バッファメモリに対するアクセスに変換する仮想メモリ空間制御部と、
    前記バス側から前記仮想アドレス空間へのアクセスと非同期に前記バッファメモリと前記メモリとの間でデータを転送するデータ転送手段と、
    を有する
    ことを特徴とするメモリ制御装置。
  2. 前記バッファメモリと前記データ転送手段とを書き込み用と読み出し用とにそれぞれ設け、
    前記仮想メモリ空間制御部は、バス側からの書き込みアクセスに応じて前記書き込み用のバッファメモリに前記バス上のデータを書き込み、バス側からの読み出しアクセスに応じて前記読み出し用のバッファメモリからデータを読み出してこれを前記バス上に送出する
    ことを特徴とするメモリ制御装置。
  3. 前記バッファメモリが、先入れ先出し式メモリである
    ことを特徴とする請求項1または2に記載のメモリ制御装置。
  4. 前記データ転送手段は、転送動作における前記メモリ側の先頭アドレスと転送するデータサイズとの設定を前記バス側から受け付け、この設定に従って前記メモリとバッファメモリとの間でデータを転送する
    ことを特徴とする請求項1、2または3に記載のメモリ制御装置。
JP2004077571A 2004-03-18 2004-03-18 メモリ制御装置 Pending JP2005267148A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004077571A JP2005267148A (ja) 2004-03-18 2004-03-18 メモリ制御装置
US10/946,524 US20050210163A1 (en) 2004-03-18 2004-09-21 Memory control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004077571A JP2005267148A (ja) 2004-03-18 2004-03-18 メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2005267148A true JP2005267148A (ja) 2005-09-29

Family

ID=34987674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004077571A Pending JP2005267148A (ja) 2004-03-18 2004-03-18 メモリ制御装置

Country Status (2)

Country Link
US (1) US20050210163A1 (ja)
JP (1) JP2005267148A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008087779A1 (ja) * 2007-01-19 2008-07-24 Nec Corporation アレイ型プロセッサおよびデータ処理システム
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法
JP2012033085A (ja) * 2010-08-02 2012-02-16 Fujitsu Ltd データ処理装置
JP2021503642A (ja) * 2017-10-31 2021-02-12 クアルコム,インコーポレイテッド 不揮発性メモリの書込みクレジットの管理
WO2022144969A1 (ja) * 2020-12-28 2022-07-07 キオクシア株式会社 メモリシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305073A (ja) * 2006-05-15 2007-11-22 Toshiba Corp データ処理装置及びメモリコントローラチップ
JP2008130043A (ja) * 2006-11-24 2008-06-05 Matsushita Electric Ind Co Ltd ネットワーク制御回路
US7912997B1 (en) * 2008-03-27 2011-03-22 Xilinx, Inc. Direct memory access engine
US7814258B2 (en) * 2008-07-21 2010-10-12 Texas Instruments Incorporated PCI bus burst transfer sizing
US9116856B2 (en) 2012-11-08 2015-08-25 Qualcomm Incorporated Intelligent dual data rate (DDR) memory controller

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
US5854911A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Data buffer prefetch apparatus and method
US6163818A (en) * 1998-08-27 2000-12-19 Xerox Corporation Streaming memory controller for a PCI bus
JP3813444B2 (ja) * 1999-03-23 2006-08-23 三洋電機株式会社 ビデオデコーダ
US6839808B2 (en) * 2001-07-06 2005-01-04 Juniper Networks, Inc. Processing cluster having multiple compute engines and shared tier one caches

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008087779A1 (ja) * 2007-01-19 2008-07-24 Nec Corporation アレイ型プロセッサおよびデータ処理システム
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法
JP2012033085A (ja) * 2010-08-02 2012-02-16 Fujitsu Ltd データ処理装置
JP2021503642A (ja) * 2017-10-31 2021-02-12 クアルコム,インコーポレイテッド 不揮発性メモリの書込みクレジットの管理
WO2022144969A1 (ja) * 2020-12-28 2022-07-07 キオクシア株式会社 メモリシステム
JP7456010B2 (ja) 2020-12-28 2024-03-26 キオクシア株式会社 メモリシステム

Also Published As

Publication number Publication date
US20050210163A1 (en) 2005-09-22

Similar Documents

Publication Publication Date Title
JP3273367B2 (ja) メモリに対し非同期でデータの読出し/書込みを行う方法及びそのためのダイレクトメモリアクセス・コントローラ
JP3534822B2 (ja) キャッシュラインリプレーシング装置及び方法
US20040107265A1 (en) Shared memory data transfer apparatus
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JP2001521246A (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
JPH05173932A (ja) データ転送装置
JP2005267148A (ja) メモリ制御装置
US7774513B2 (en) DMA circuit and computer system
CN100549928C (zh) 一种虚拟先入先出内存的实现方法和控制装置
US20080016296A1 (en) Data processing system
US8099530B2 (en) Data processing apparatus
JP4649257B2 (ja) マルチcpuシステム
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JP4888860B2 (ja) メモリ装置
JP5211537B2 (ja) インターフェース回路
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP2000029823A (ja) バスアクセス制御回路
JP3745909B2 (ja) ファイル管理方法
US6567898B1 (en) Memory controller and an information processing apparatus with improved efficiency
CN115878532A (zh) 数据传输系统及数据传输方法
JP3264316B2 (ja) ダイレクトメモリアクセス制御装置
JP3063501B2 (ja) メモリアクセス制御方式
JP2008198119A (ja) データ転送装置、データ転送システムおよびデータ転送方法
JPH04333950A (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090901