JP2006072473A - データ転送方法および装置 - Google Patents

データ転送方法および装置 Download PDF

Info

Publication number
JP2006072473A
JP2006072473A JP2004252296A JP2004252296A JP2006072473A JP 2006072473 A JP2006072473 A JP 2006072473A JP 2004252296 A JP2004252296 A JP 2004252296A JP 2004252296 A JP2004252296 A JP 2004252296A JP 2006072473 A JP2006072473 A JP 2006072473A
Authority
JP
Japan
Prior art keywords
address
prefetch
memory
data transfer
input
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
JP2004252296A
Other languages
English (en)
Inventor
Kenji Imamura
健二 今村
Akihiro Ikeda
明博 池田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2004252296A priority Critical patent/JP2006072473A/ja
Publication of JP2006072473A publication Critical patent/JP2006072473A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】
プリフェッチ対象として指定するアドレス範囲を必要以上に広げることなく、また、実メモリの使用上のアドレス制限をなくすことのできるデータ転送方法および装置を提供する。
【解決手段】
データの読み出し元として入力された現在のバスアドレス500を、予め開始アドレスレジスタ1131に記憶している開始アドレス503と開始アドレスレジスタ1132が記憶している実メモリ上の開始アドレス504に基づいて、実メモリアドレス506に変換し、変換した実メモリアドレス506に基づいてメモリからデータの先読みを行う。
【選択図】 図2

Description

本発明は、データ転送方法および装置に関し、特に、DMA転送時のメモリからのデータの先読みを行うデータ転送方法および装置に関する。
入出力デバイスがメモリに記憶されているデータを読み出す場合に、データの転送性能を高めるため、データ転送装置にプリフェッチ(先読み)機構を設けたシステムが従来から知られている。このようなシステムでは、システムバスとメモリとの間に、プリフェッチ機構を有するデータ転送装置を設けている。そして、システムバス上の入出力デバイスからメモリに対し、あるアドレスについてのリードアクセスがあった場合、データ転送装置は、入出力デバイスの要求サイズ以上のデータをメモリから読み込む。データ転送装置は、読み込んだデータのうち要求サイズ分だけを入出力デバイスに転送し、残りの部分はプリフェッチバッファに格納する。このプリフェッチバッファへの格納処理は、バックグラウンドで行われる。そして、入出力デバイスから連続して次のアドレスへのリードアクセスがあった場合、データ転送装置は、プリフェッチバッファ内に格納済みのそのアドレスのデータを入出力デバイスに転送する。
一般的に、メモリからデータを読み出すよりも、プリフェッチバッファからデータを読み出す方が速いので、前述のシステムでは、入出力デバイスから見かけ上高速にリードアクセスを行うことができる。
また、最近では、メモリへのアクセス効率とプリフェッチバッファの有効性を向上させるために、メモリのアドレス範囲を使用してプリフェッチの可否を判断する技術や(例えば、特許文献1参照)、アドレス範囲によりプリフェッチ可否を判断し、さらにシングル、バーストサイクルの判別を行って、バーストサイクルのみをプリフェッチの対象とする技術(例えば、特許文献2参照)、複数の先読み手段の中から、現在のアクセスに適した先読み手段を選択し、識別手段によって識別されたプリフェッチバッファが個別に応答することにより、効率的な先読みを実現する技術(例えば、特許文献3参照)、プリフェッチバッファの先読みデータを置換する技術(例えば、特許文献4参照)等が提案されている。
ところで、プリフェッチバッファを用いてDMA(Direct Memory Access)転送を行う技術は、印刷出力を行う画像形成装置に適用することができる。画像形成装置は、制御や演算を行うCPU(Central Processing Unit)、印刷すべき画像データ等を記憶するハードディスク、画像データを圧縮する圧縮装置、画像データ等を一時的に記憶するシステムメモリ、画像データに基づいて画像を用紙上に印刷するプリンタエンジン等のデバイスを有しており、これらのデバイスの間で画像データの転送を行っている。
プリフェッチバッファを用いてDMA転送を行う技術を画像形成装置に適用した場合、Y(yellow)、M(magenta)、C(cyan)、K(black)の各色のデータサイズは、解像度が高くなるにつれて増加し、また、機内枚数の増加やジャムリカバリへの対応等を考慮すると、複数枚数分のプリフェッチバッファを用意する必要がある。例えば、解像度が600dpiのYMCK色空間で256階調(8bit)を表現する場合、A4サイズで64MB、A3で128MBが必要であり、A4サイズで8面分のデータを処理する場合には、各色のプリフェッチバッファは、それぞれ、512MBの容量が必要となる。
この場合、実メモリの空間を各色毎に別の空間とした場合には、図7に示すように実メモリの空間は2GB以上となってしまい、図8に示すように、各色を同一空間に定義した場合には、同空間に画像データが納まる保証がなくなってしまう。
特開2003−173291号公報 特開2001−154979号公報 特開2001−256169号公報 特開2002−183074号公報
前述のように、従来のデータ転送装置では、プリフェッチ対象となるアドレス空間を大きくした場合には、必要とする実メモリの空間も大きくなる。また、これにともなって、アドレスの割り付けも困難となり、例えば、32bitでの対応が困難となる。
これらは、従来のデータ転送装置が、プリフェッチ対象として指定するアドレス範囲や現在アクセスすべきアドレスを、システムメモリと1対1にマッピングしていることに起因するもので、これにより、アドレス等に様々な制限が生じている。
そこで、本発明は、プリフェッチ対象として指定するアドレス範囲を必要以上に広げることなく、また、実メモリの使用上のアドレス制限をなくすことのできるデータ転送方法および装置を提供することを目的とする。
前述した目的を達成するため、請求項1の発明は、メモリからデータを読み出してデバイスに転送する際に、先読み処理を行うデータ転送方法であって、データの読み出し元として入力された入力アドレスを、予め設定した設定情報に基づいてメモリのアドレスに変換し、該変換したアドレスに基づいて前記メモリからデータの先読みを行うことを特徴とする。
また、請求項2の発明は、請求項1の発明において、前記変換は、前記メモリの用途に応じて特定される大きさのブロックを単位として行われることを特徴とする。
また、請求項3の発明は、請求項2の発明において、前記設定情報は、前記入力アドレスに対応する先読み範囲の開始を示す開始入力アドレスと、前記メモリに対応する先読み範囲の開始を示す開始メモリアドレスとであり、前記変換は、前記入力アドレスと前記開始入力アドレスとからオフセットを算出し、該算出したオフセットと前記開始メモリアドレスとから前記メモリのアドレスを算出することで行われることを特徴とする。
また、請求項4の発明は、請求項1の発明において、前記変換は、前記メモリの用途に応じて特定される大きさのブロックを、任意の大きさで任意の数に分割した分割ブロックを単位として行われることを特徴とする。
また、請求項5の発明は、請求項1乃至4のいずれかの発明において、前記変換は、前記入力アドレスが先読み範囲に含まれていると識別された場合に実行されることを特徴とする。
また、請求項6の発明は、請求項5の発明において、前記先読み範囲は、該先読み範囲の開始アドレスとサイズ情報とに基づいて特定されることを特徴とする。
また、請求項7の発明は、請求項5の発明において、前記先読み範囲は、該先読み範囲の開始アドレスと終了アドレスとに基づいて特定されることを特徴とする。
また、請求項8の発明は、請求項1の発明において、前記設定情報は、先読み対象となる先読み範囲毎に設定されることを特徴とする。
また、請求項9の発明は、メモリからデータを読み出してデバイスに転送する際に、先読み処理を行うデータ転送装置において、データの読み出し元として入力された入力アドレスを、予め設定した設定情報に基づいてメモリのアドレスに変換するアドレス変換手段と、前記アドレス変換手段が変換したアドレスに基づいて前記メモリからデータの先読みを行う先読み手段とを具備することを特徴とする。
また、請求項10の発明は、請求項9の発明において、前記アドレス変換手段は、前記メモリの用途に応じて特定される大きさのブロックを単位として、前記変換を行うことを特徴とする。
また、請求項11の発明は、請求項10の発明において、前記設定情報は、前記入力アドレスに対応する先読み範囲の開始を示す開始入力アドレスと、前記メモリに対応する先読み範囲の開始を示す開始メモリアドレスとであり、前記アドレス変換手段は、前記入力アドレスと前記開始入力アドレスとからオフセットを算出し、該算出したオフセットと前記開始メモリアドレスとから前記メモリのアドレスを算出することで前記変換を行うことを特徴とする。
また、請求項12の発明は、請求項9の発明において、前記アドレス変換手段は、前記メモリの用途に応じて特定される大きさのブロックを、任意の大きさで任意の数に分割した分割ブロックを単位として前記変換を行うことを特徴とする。
また、請求項13の発明は、請求項9乃至12のいずれかの発明において、前記入力アドレスが予め指定された先読み対象である先読み範囲に含まれるか否かを識別する識別手段をさらに具備し、前記アドレス変換手段は、前記識別手段により前記入力アドレスが先読み範囲に含まれていると識別された場合に、前記変換を行うことを特徴とする。
また、請求項14の発明は、請求項13の発明において、前記識別手段は、開始アドレスとサイズ情報とに基づいて前記先読み範囲を特定することを特徴とする。
また、請求項15の発明は、請求項13の発明において、前記識別手段は、開始アドレスと終了アドレスとに基づいて前記先読み範囲を特定することを特徴とする。
また、請求項16の発明は、請求項9の発明において、前記設定情報は、先読み対象となる先読み範囲毎に設定されることを特徴とする。
本発明によれば、データの読み出し元として入力された入力アドレスを、予め設定した設定情報に基づいてメモリのアドレスに変換し、変換したアドレスに基づいてメモリからデータの先読みを行うように構成したので、システムバス上の信号以外に特別な信号を追加することなく、プリフェッチを効率良く行うことができる。特に、プリフェッチ対象として指定するアドレス範囲を必要以上に広げることがなく、実メモリの使用上のアドレス制限をなくすこともできる。
以下、本発明に係るデータ転送方法および装置の一実施の形態について、添付図面を参照して詳細に説明する。
図1は、本発明を適用したデータ転送装置の概略構成を示すブロック図である。同図に示すように、データ転送装置10は、スレーブ制御部11と、先読み機構識別部12、先読み機構13(13−1〜13−4)、先読み手法指定部14、調停部15、メモリ制御部16を具備して構成される。
スレーブ制御部11は、システムバス20を介して、複数の入出力デバイス30(30−1〜30−4)と接続されている。各入出力デバイス30は、HDDやネットワークカード等であり、自らバスマスタとなってメモリ装置40との間でDMA転送を行うバスマスタDMA機能を有する。入出力デバイス30は、バスマスタとなってバスサイクル動作を起動する場合、アクセス要求するアドレス、メモリ装置40に対するチップセレクト信号、及びサイクル開始を示す制御信号をシステムバス20上に送出する。そして、読み出しサイクルであれば、入出力デバイス30はバス20からデータを取り込み、書き込みサイクルであればバス20にデータを供給する。なお、図1においては、入出力デバイス30として符号30−1から符号30−4を付した4つを示しているが、入出力デバイス30の数は、これに限定されるものではない。
さて、スレーブ制御部11は、バスマスタである入出力デバイス30からのチップセレクト信号を認識し、それが自身に対するアクセスを示していれば、そのアクセスに対する応答のための処理を行う。また、そのアクセスがメモリ装置40に対するリードアクセスであり、先読み機構識別部12によりいずれかの先読み機構13が選択された場合は、スレーブ制御部11は、その選択された先読み機構13に対してリードサイクルを要求する。そして、その先読み機構13から応答されたデータを、バスマスタである入出力デバイス30に転送する。なお、先読み機構識別部12による先読み機構13の選択については後述する。
一方、入出力デバイス30からのアクセスがライトアクセスの場合や、リードアクセスであっても先読み機構識別部12が先読み機構13を選択しなかった場合は、スレーブ制御部11は、メモリ装置40に対するライト又はリードサイクルを調停部15に対して要求する。これらの処理は、先読み処理とは関係のない処理であり、先読み機構13は使用されない。スレーブ制御機構11は、調停部15およびメモリ制御部16を介してメモリ装置40に対してアクセスし、入出力デバイス20からの要求に応じてリード又はライト処理を行う。
先読み機構識別部12は、複数設けられた先読み機構13の中から、入出力デバイス30からのアクセス要求に応じたものを選択し、その先読み機構13に対応した選択信号を出力する。この選択信号によりスレーブ制御部11は、選択された先読み機構13を識別する。この先読み機構13の選択は、後述する各実施例において説明する。
各先読み機構13は、それぞれ、図示しないプリフェッチバッファを備えるとともに、複数の先読み手法に対応する機能が組み込まれており、それら複数の先読み手法のうち、先読み手法指定部14で指定された手法で先読み(プリフェッチ)処理を行う。先読み手法には、例えば、アドレスを順次一定値ずつインクリメントして先読みする「インクリメントシーケンシャル」、アドレスを一定値ずつデクリメントして先読みする「デクリメントシーケンシャル」等がある。また、例えば同じインクリメントシーケンシャルでも、アドレスインクリメントの刻みが異なる場合が考えられる。それら各々の場合に対して予めコードを割り当てておけば、そのコードにより先読み手法を指定することができる。
また、先読み機構13は、マスタであるスレーブ制御部11から要求されたアドレスのデータがプリフェッチバッファ内になければ、自らマスタとなって調停部15に対してリードサイクルを要求し、メモリ制御部16を介してメモリ装置40からその要求アドレスのデータを読み出し、そのデータを用いてスレーブ制御部11に対しスレーブ応答を行う。そして、要求されたアドレスのデータをメモリ装置40からリードし終えた後も、先読み機構13は、予め指定された先読み手法に従って先読みアドレスを求め、このアドレスのデータを同様にメモリ装置40から読み出して自身のプリフェッチバッファに蓄える。プリフェッチバッファがいっぱいにならない限り、この先読み・蓄積の処理が繰り返される。
一方、マスタであるスレーブ制御部11から受け付けたリード要求のアドレスのデータが、自分のプリフェッチバッファ内に既に格納されている場合は、先読み機構13は、そのデータを用いてマスタの要求に即座にスレーブ応答する。例えば、前述した先読み処理が始まった後で、マスタから前回の要求アドレスの次のアドレスが要求された場合、そのアドレスのデータは既にプリフェッチバッファ内に蓄えられているので、そのデータが出力されることとなる。
なお、図1においては、先読み機構13は、符号13−1から符号13−4を付した4個を示しているが、これはあくまで一例であり、データ転送装置10に組み込む先読み機構13の数はこれに限定されるものではない。
先読み手法指定部14は、各先読み機構13毎に、先読み手法を指定するためのレジスタを備える。これらレジスタはCPU等から設定可能なレジスタであり、各先読み機構13毎に個別に先読み手法を設定することができる。
調停機構部15は、複数の先読み機構13およびスレーブ制御部11からメモリ制御部16へのアクセスを調停するもので、順次、選択したマスタ(この場合は複数の先読み機構13、スレーブ制御部11の中のいずれか)からのサイクル要求を受け付け、その受け付けたサイクル要求の情報をもとに、メモリ制御部16に対してマスタとしてリードまたはライトサイクルを要求する。
メモリ制御部16は、調停部15から受け付けた各種サイクル要求に基づいて、実メモリであるメモリ装置40に対するアクセスの制御を行う。また、リフレッシュ等、メモリ装置40に特有の制御が必要ならば、それを実行する。
なお、この図1に示したデータ転送装置10は、先読み機構識別部12の構成と、各先読み機構13の構成以外は、基本的には前述した特許文献3に記載されているデータ転送装置と同様のものである。したがって、以下の各実施例においては、先読み機構識別部12と各先読み機構13の構成と動作を中心に説明を行う。
図2は、実施例1における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。なお、同図に示す先読み機構識別部1012および先読み機構1013は、それぞれ、図1に示した先読み機構識別部12と先読み機構13に相当するものである。
同図に示すように、先読み機構識別部1012は、開始アドレスレジスタ1121と、サイズレジスタ1122、範囲比較部1123を具備して構成される。ここに示した開始アドレスレジスタ1121、サイズレジスタ1122、範囲比較部1123は、それぞれ、1つの先読み機構1013に対応するもので、実際には、先読み機構1013の数に応じた数の開始アドレスレジスタ1121、サイズレジスタ1122、範囲比較部1123が先読み機構識別部1012に配されている。
開始アドレスレジスタ1121は、対応する先読み機構1013によるプリフェッチ対象のアドレス範囲の開始位置となる開始アドレス501を記憶している。この開始アドレス501は、バスアドレスに準じたアドレス値である。
サイズレジスタ1122は、対応する先読み機構1013によるプリフェッチ対象のアドレス範囲の大きさであるサイズ502を記憶している。
範囲比較部1123は、システムバス(システムバス20に相当するもの)から入力される現在のバスアドレス500と、開始アドレスレジスタ1121が記憶する開始アドレス501、サイズレジスタ1122が記憶するサイズ502に基づいて、現在のバスアドレス500がプリフェッチ対象のアドレス範囲内にあるか否かを判断し、プリフェッチ対象のアドレス範囲内にあると判断した場合に、識別信号を出力する。この判断は、バスアドレス500が、開始アドレス501の値以上、かつ、開始アドレス501にサイズ502を加えた値以下の場合に、プリフェッチ対象のアドレス範囲内にあるとすることで行う。
また、範囲比較部1123が出力する識別信号は、スレーブ制御部(スレーブ制御部11に相当のもの)に入力されるとともに、当該スレーブ制御部を介して先読み機構1013に通知され、先読み機構1013を動作させる。
一方、先読み機構1013は、開始アドレスレジスタ1131と、開始アドレスレジスタ1132、減算器1133、加算器1134を具備して構成される。
開始アドレスレジスタ1131は、プリフェッチ対象のアドレス範囲の開始位置となる開始アドレス503を記憶している。この開始アドレス503は、開始アドレス501と同じ値である。
開始アドレスレジスタ1132は、プリフェッチ対象のアドレス範囲の開始位置となる開始アドレス504を記憶している。この開始アドレス504は、実メモリ(メモリ装置40に相当のもの)のアドレスに準じたアドレス値である。
減算器1133は、システムバス(システムバス20に相当するもの)からスレーブ制御部(スレーブ制御部11に相当のもの)を介して入力される現在のバスアドレス500の値から、開始アドレスレジスタ1131が記憶している開始アドレス503の値を減じ、オフセットアドレス505を算出する。
加算器1134は、開始アドレスレジスタ1132が記憶している実メモリ上の開始アドレス504の値に、減算器1133が算出したオフセットアドレス505の値を加え、実メモリアドレス506を算出する。
この加算器1134が算出した実メモリアドレス506は、バスアドレス500を変換したものとなり、この構成により、プリフェッチ対象として指定するアドレス範囲や現在アクセスすべきアドレスを、システムメモリと1対1にマッピングする必要がなくなり、先読み機構1013毎に、実メモリ上の任意のアドレスをマッピングすることが可能となる。これにより、実メモリ上にプリフェッチ対象として必要以上のアドレス範囲を確保する必要がなくなり、実メモリの使用上のアドレス制限をなくすこともできる。
この構成を画像形成装置に適用した場合、Y、M、C、Kの各色で32MBのバッファが必要であれば、システムバス上の空間と実メモリ上の空間とを図3に示すようにマッピングすることができる。
図4は、実施例2における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。なお、同図に示す先読み機構識別部2012および先読み機構2013は、それぞれ、図1に示した先読み機構識別部12と先読み機構13に相当するものである。
同図に示すように、先読み機構識別部2012は、開始アドレスレジスタ2121と、終了アドレスレジスタ2122、範囲比較部2123を具備して構成される。ここに示した開始アドレスレジスタ2121、終了アドレスレジスタ2122、範囲比較部2123は、それぞれ、1つの先読み機構2013に対応するもので、実際には、先読み機構2013の数に応じた数の開始アドレスレジスタ2121、終了アドレスレジスタ2122、範囲比較部2123が先読み機構識別部2012に配されている。
開始アドレスレジスタ2121は、対応する先読み機構2013によるプリフェッチ対象のアドレス範囲の開始位置となる開始アドレス601を記憶している。この開始アドレス601は、バスアドレスに準じたアドレス値である。
終了アドレスレジスタ2122は、対応する先読み機構2013によるプリフェッチ対象のアドレス範囲の終了位置となる終了アドレス602を記憶している。この終了アドレス602は、バスアドレスに準じたアドレス値である。
範囲比較部2123は、システムバス(システムバス20に相当するもの)から入力される現在のバスアドレス600と、開始アドレスレジスタ2121が記憶する開始アドレス601、終了アドレスレジスタ2122が記憶する終了アドレス602に基づいて、現在のバスアドレス600がプリフェッチ対象のアドレス範囲内にあるか否かを判断し、プリフェッチ対象のアドレス範囲内にあると判断した場合に、識別信号を出力する。この判断は、バスアドレス600が、開始アドレス601の値以上、かつ、終了アドレス602の値以下の場合に、プリフェッチ対象のアドレス範囲内にあるとすることで行う。
また、範囲比較部2123が出力する識別信号は、スレーブ制御部(スレーブ制御部11に相当のもの)に入力されるとともに、当該スレーブ制御部を介して先読み機構2013に通知され、先読み機構2013を動作させる。
一方、先読み機構2013は、開始アドレスレジスタ2131と、開始アドレスレジスタ2132、減算器2133、加算器2134を具備して構成される。
開始アドレスレジスタ2131は、プリフェッチ対象のアドレス範囲の開始位置となる開始アドレス603を記憶している。この開始アドレス603は、開始アドレス601と同じ値である。
開始アドレスレジスタ2132は、プリフェッチ対象のアドレス範囲の開始位置となる開始アドレス604を記憶している。この開始アドレス604は、実メモリ(メモリ装置40に相当のもの)のアドレスに準じたアドレス値である。
減算器2133は、システムバス(システムバス20に相当するもの)からスレーブ制御部(スレーブ制御部11に相当のもの)を介して入力される現在のバスアドレス600の値から、開始アドレスレジスタ2131が記憶している開始アドレス603の値を減じ、オフセットアドレス605を算出する。
加算器2134は、開始アドレスレジスタ2132が記憶している実メモリ上の開始アドレス604の値に、減算器2133が算出したオフセットアドレス605の値を加え、実メモリアドレス606を算出する。
この加算器2134が算出した実メモリアドレス606は、バスアドレス600を変換したものとなり、この構成により、プリフェッチ対象として指定するアドレス範囲や現在アクセスすべきアドレスを、システムメモリと1対1にマッピングする必要がなくなり、先読み機構2013毎に、実メモリ上の任意のアドレスをマッピングすることが可能となる。これにより、実メモリ上にプリフェッチ対象として必要以上のアドレス範囲を確保する必要がなくなり、実メモリの使用上のアドレス制限をなくすこともできる。
この構成を画像形成装置に適用した場合、Y、M、C、Kの各色で32MBのバッファが必要であれば、実施例1の構成と同様に、システムバス上の空間と実メモリ上の空間とを図3に示すようにマッピングすることができる。
図5は、実施例3における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。なお、同図に示す先読み機構識別部3012および先読み機構3013は、それぞれ、図1に示した先読み機構識別部12と先読み機構13に相当するものである。
同図に示すように、先読み機構識別部3012は、開始アドレスレジスタ3121と、サイズレジスタ3122、範囲比較部3123を具備して構成される。ここに示した開始アドレスレジスタ3121、サイズレジスタ3122、範囲比較部3123は、それぞれ、1つの先読み機構3013に対応するもので、実際には、先読み機構3013の数に応じた数の開始アドレスレジスタ3121、サイズレジスタ3122、範囲比較部3123が先読み機構識別部3012に配されている。
開始アドレスレジスタ3121は、対応する先読み機構3013によるプリフェッチ対象のアドレス範囲の開始位置となる開始アドレス701を記憶している。この開始アドレス701は、バスアドレスに準じたアドレス値である。
サイズレジスタ3122は、対応する先読み機構3013によるプリフェッチ対象のアドレス範囲の大きさであるサイズ702を記憶している。
範囲比較部3123は、システムバス(システムバス20に相当するもの)から入力される現在のバスアドレス700と、開始アドレスレジスタ3121が記憶する開始アドレス701、サイズレジスタ3122が記憶するサイズ702に基づいて、現在のバスアドレス700がプリフェッチ対象のアドレス範囲内にあるか否かを判断し、プリフェッチ対象のアドレス範囲内にあると判断した場合に、識別信号を出力する。この判断は、バスアドレス700が、開始アドレス701の値以上、かつ、開始アドレス701にサイズ702を加えた値以下の場合に、プリフェッチ対象のアドレス範囲内にあるとすることで行う。
また、範囲比較部3123が出力する識別信号は、スレーブ制御部(スレーブ制御部11に相当のもの)に入力されるとともに、当該スレーブ制御部を介して先読み機構3013に通知され、先読み機構3013を動作させる。
一方、先読み機構3013は、MMU(Memory Management Unit)3131を具備して構成される。MMU3131は、メモリのマッピング等を行う汎用のハードウェアであり、システムバス(システムバス20に相当するもの)からスレーブ制御部(スレーブ制御部11に相当のもの)を介して入力される現在のバスアドレス700の値を実メモリアドレス703に変換する。
この構成により、プリフェッチ対象として指定するアドレス範囲や現在アクセスすべきアドレスを、システムメモリと1対1にマッピングする必要がなくなり、先読み機構3013毎に、実メモリ上の任意のアドレスをマッピングすることが可能となる。これにより、実メモリ上にプリフェッチ対象として必要以上のアドレス範囲を確保する必要がなくなり、実メモリの使用上のアドレス制限をなくすこともできる。
この構成を画像形成装置に適用した場合、Y、M、C、Kの各色で32MBのバッファが必要であれば、システムバス上の空間と実メモリ上の空間とを図6に示すようにマッピングすることができ、実施例1や実施例2の場合と比較し、実メモリ上に連続空間を要することがないといった利点が加わることとなる。
例えば、実施例1および実施例2の場合は、Y色として32MBのバッファが必要であれば、実メモリにおいては、その先頭アドレスを任意とすることができるが、空間としては、32MBの連続空間が必要となる。一方、実施例3の構成では、同様の条件下において、4KB毎の小空間を8000個利用して、バス上の32MBに割り当てることが可能となる。
なお、実施例3の構成においては、先読み機構識別部3012を、実施例1の先読み機構識別部1012と同様に、開始アドレス701とサイズ702によりプリフェッチ対象のアドレス範囲の判定を行っているが、実施例2の先読み機構識別部2012と同様に、開始アドレスと終了アドレスによりプリフェッチ対象のアドレス範囲の判定を行うようにすることもできる。
本発明を適用したデータ転送装置の概略構成を示すブロック図である。 実施例1における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。 実施例1の構成によるシステムバス上の空間と実メモリ上の空間とのマッピング例を示した図である。 実施例2における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。 実施例3における先読み機構識別部および先読み機構の機能的な構成を示すブロック図である。 実施例3の構成によるシステムバス上の空間と実メモリ上の空間とのマッピング例を示した図である。 従来の構成で実メモリの空間を各色毎に別の空間とした場合のシステムバス上の空間と実メモリ上の空間とのマッピング例を示した図である。 従来の構成で各色を同一空間に定義した場合のシステムバス上の空間と実メモリ上の空間とのマッピング例を示した図である。
符号の説明
10 データ転送装置
11 スレーブ制御部
12 先読み機構識別部
13、13−1〜13−4 先読み機構
14 先読み手法指定部
15 調停部
16 メモリ制御部
20 システムバス
30、30−1〜30−4 入出力デバイス
40 メモリ装置
500 バスアドレス
501 開始アドレス
502 サイズ
503 開始アドレス
504 開始アドレス
505 オフセットアドレス
506 実メモリアドレス
600 バスアドレス
601 開始アドレス
602 終了アドレス
603 開始アドレス
604 開始アドレス
605 オフセットアドレス
606 実メモリアドレス
700 バスアドレス
701 開始アドレス
702 サイズ
703 実メモリアドレス
1012 先読み機構識別部
1013 先読み機構
1121 開始アドレスレジスタ
1122 サイズレジスタ
1123 範囲比較部
1131 開始アドレスレジスタ
1132 開始アドレスレジスタ
1133 減算器
1134 加算器
2012 先読み機構識別部
2013 先読み機構
2121 開始アドレスレジスタ
2122 終了アドレスレジスタ
2123 範囲比較部
2131 開始アドレスレジスタ
2132 開始アドレスレジスタ
2133 減算器
2134 加算器
3012 先読み機構識別部
3013 先読み機構
3121 開始アドレスレジスタ
3122 サイズレジスタ
3123 範囲比較部
3131 MMU

Claims (16)

  1. メモリからデータを読み出してデバイスに転送する際に、先読み処理を行うデータ転送方法であって、
    データの読み出し元として入力された入力アドレスを、予め設定した設定情報に基づいてメモリのアドレスに変換し、該変換したアドレスに基づいて前記メモリからデータの先読みを行うことを特徴とするデータ転送方法。
  2. 前記変換は、前記メモリの用途に応じて特定される大きさのブロックを単位として行われることを特徴とする請求項1記載のデータ転送方法。
  3. 前記設定情報は、前記入力アドレスに対応する先読み範囲の開始を示す開始入力アドレスと、前記メモリに対応する先読み範囲の開始を示す開始メモリアドレスとであり、
    前記変換は、前記入力アドレスと前記開始入力アドレスとからオフセットを算出し、該算出したオフセットと前記開始メモリアドレスとから前記メモリのアドレスを算出することで行われる
    ことを特徴とする請求項2記載のデータ転送方法。
  4. 前記変換は、前記メモリの用途に応じて特定される大きさのブロックを、任意の大きさで任意の数に分割した分割ブロックを単位として行われることを特徴とする請求項1記載のデータ転送方法。
  5. 前記変換は、前記入力アドレスが先読み範囲に含まれていると識別された場合に実行されることを特徴とする請求項1乃至4のいずれかに記載のデータ転送方法。
  6. 前記先読み範囲は、該先読み範囲の開始アドレスとサイズ情報とに基づいて特定されることを特徴とする請求項5記載のデータ転送方法。
  7. 前記先読み範囲は、該先読み範囲の開始アドレスと終了アドレスとに基づいて特定されることを特徴とする請求項5記載のデータ転送方法。
  8. 前記設定情報は、先読み対象となる先読み範囲毎に設定されることを特徴とする請求項1記載のデータ転送方法。
  9. メモリからデータを読み出してデバイスに転送する際に、先読み処理を行うデータ転送装置において、
    データの読み出し元として入力された入力アドレスを、予め設定した設定情報に基づいてメモリのアドレスに変換するアドレス変換手段と、
    前記アドレス変換手段が変換したアドレスに基づいて前記メモリからデータの先読みを行う先読み手段と
    を具備することを特徴とするデータ転送装置。
  10. 前記アドレス変換手段は、前記メモリの用途に応じて特定される大きさのブロックを単位として、前記変換を行うことを特徴とする請求項9記載のデータ転送装置。
  11. 前記設定情報は、前記入力アドレスに対応する先読み範囲の開始を示す開始入力アドレスと、前記メモリに対応する先読み範囲の開始を示す開始メモリアドレスとであり、
    前記アドレス変換手段は、前記入力アドレスと前記開始入力アドレスとからオフセットを算出し、該算出したオフセットと前記開始メモリアドレスとから前記メモリのアドレスを算出することで前記変換を行う
    ことを特徴とする請求項10記載のデータ転送装置。
  12. 前記アドレス変換手段は、前記メモリの用途に応じて特定される大きさのブロックを、任意の大きさで任意の数に分割した分割ブロックを単位として前記変換を行うことを特徴とする請求項9記載のデータ転送装置。
  13. 前記入力アドレスが予め指定された先読み対象である先読み範囲に含まれるか否かを識別する識別手段をさらに具備し、
    前記アドレス変換手段は、前記識別手段により前記入力アドレスが先読み範囲に含まれていると識別された場合に、前記変換を行う
    ことを特徴とする請求項9乃至12のいずれかに記載のデータ転送装置。
  14. 前記識別手段は、開始アドレスとサイズ情報とに基づいて前記先読み範囲を特定することを特徴とする請求項13記載のデータ転送装置。
  15. 前記識別手段は、開始アドレスと終了アドレスとに基づいて前記先読み範囲を特定することを特徴とする請求項13記載のデータ転送装置。
  16. 前記設定情報は、先読み対象となる先読み範囲毎に設定されることを特徴とする請求項9記載のデータ転送装置。
JP2004252296A 2004-08-31 2004-08-31 データ転送方法および装置 Pending JP2006072473A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004252296A JP2006072473A (ja) 2004-08-31 2004-08-31 データ転送方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004252296A JP2006072473A (ja) 2004-08-31 2004-08-31 データ転送方法および装置

Publications (1)

Publication Number Publication Date
JP2006072473A true JP2006072473A (ja) 2006-03-16

Family

ID=36153074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004252296A Pending JP2006072473A (ja) 2004-08-31 2004-08-31 データ転送方法および装置

Country Status (1)

Country Link
JP (1) JP2006072473A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017216892A1 (ja) * 2016-06-15 2017-12-21 三菱電機株式会社 データ転送装置及びデータ転送方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997230A (ja) * 1995-09-29 1997-04-08 Internatl Business Mach Corp <Ibm> データ転送方法及びシステム
JPH10177520A (ja) * 1996-10-16 1998-06-30 Hitachi Ltd データプロセッサ及びデータ処理システム
JPH1125033A (ja) * 1997-06-30 1999-01-29 Nec Corp バスブリッジ
JP2000148665A (ja) * 1998-11-17 2000-05-30 Nec Eng Ltd データ処理装置
JP2001256169A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd データ転送制御システム及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997230A (ja) * 1995-09-29 1997-04-08 Internatl Business Mach Corp <Ibm> データ転送方法及びシステム
JPH10177520A (ja) * 1996-10-16 1998-06-30 Hitachi Ltd データプロセッサ及びデータ処理システム
JPH1125033A (ja) * 1997-06-30 1999-01-29 Nec Corp バスブリッジ
JP2000148665A (ja) * 1998-11-17 2000-05-30 Nec Eng Ltd データ処理装置
JP2001256169A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd データ転送制御システム及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017216892A1 (ja) * 2016-06-15 2017-12-21 三菱電機株式会社 データ転送装置及びデータ転送方法

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
US6345350B2 (en) Information processing apparatus printer, method of controlling information processing apparatus and record medium
JP2000158724A (ja) 画像処理装置、画像処理方法および記録媒体
JP5108578B2 (ja) 画像処理コントローラ及び画像形成装置
JP5642951B2 (ja) ピクスマップの管理方法、プログラム及びプログラムを記録した記録媒体
US6856420B1 (en) System and method for transferring data within a printer
JP3532318B2 (ja) プログラム可能な裁定装置
JP2006072473A (ja) データ転送方法および装置
JPH08147115A (ja) 文書処理装置
JP2007333892A (ja) メモリ制御装置、バス制御装置及び表示デバイス制御システム
JP3994724B2 (ja) 印刷システム
JP2006127110A (ja) Dramメモリアクセス制御手法、および手段
JP4633078B2 (ja) カラー画像処理装置および画像メモリアクセス制御方法
JP2005062946A (ja) メモリ制御装置
JPH03114856A (ja) プリンタデータ管理方式
JP2002215562A (ja) Dma制御装置及び方法
CN116303158A (zh) 总线仲裁方法、电子装置及图形处理器
JP5787211B2 (ja) 画像処理装置および画像処理プログラム
JP4496923B2 (ja) 共有メモリシステム
JP2001184301A (ja) 画像データ転送方法ならびに装置
JP2003186857A (ja) ディジタル信号処理回路
JPH10293667A (ja) バンディングにおけるバンド分割方法及び両面印刷方法
JP2009241432A (ja) 印刷装置
CN103186472A (zh) 一种存储器管理的方法及装置以及一种存储器
JP2007004314A (ja) Pciコントローラ及びそれを搭載したシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110329