JP2010205002A - Image processing apparatus - Google Patents
Image processing apparatus Download PDFInfo
- Publication number
- JP2010205002A JP2010205002A JP2009050334A JP2009050334A JP2010205002A JP 2010205002 A JP2010205002 A JP 2010205002A JP 2009050334 A JP2009050334 A JP 2009050334A JP 2009050334 A JP2009050334 A JP 2009050334A JP 2010205002 A JP2010205002 A JP 2010205002A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- access
- bit position
- image processing
- processing apparatus
- 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.)
- Withdrawn
Links
Images
Landscapes
- Memory System (AREA)
Abstract
Description
本発明は、画像処理装置に関し、特に、SDRAM等のメモリーに対するアクセス制御技術に関する。 The present invention relates to an image processing apparatus, and more particularly to an access control technique for a memory such as an SDRAM.
画像処理装置等の電子機器に搭載されるSDRAM等のメモリーには、複数のメモリーバンクを有するものがある。また、処理の高速化のため、各バンクに対しては並列的(独立的に)にアクセスすることができる(マルチバンクアクセス)構造を有するものがある。特許文献1には、効率の良いマルチバンクアクセスを実現するための技術が開示されている。
Some memories such as an SDRAM mounted on an electronic apparatus such as an image processing apparatus have a plurality of memory banks. Some banks have a (multi-bank access) structure in which each bank can be accessed in parallel (independently) in order to increase processing speed.
しかしながら、マルチバンクアクセスが可能な場合であっても、複数のマスター(メモリーにアクセスを行う所定の処理単位)からの同一バンクに対するアクセスが連続して発生する場合がある。同一バンクに対するアクセスの衝突の発生が多くなると、待ち時間の増加等により、各マスターのメモリーへのアクセス効率が低下し、処理効率が低下する。 However, even when multi-bank access is possible, access to the same bank from a plurality of masters (predetermined processing units for accessing the memory) may occur continuously. When the occurrence of access conflicts with respect to the same bank increases, the access efficiency to the memory of each master decreases due to an increase in waiting time, and the processing efficiency decreases.
そこで、本発明は、マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させるための技術を提供することを目的とする。 Therefore, an object of the present invention is to provide a technique for generating more multi-bank accesses and improving memory access efficiency.
上記の課題を解決するための本発明の一態様は、SDRAMおよび前記SDRAMを制御するメモリー制御回路を備えた画像処理装置であって、前記メモリー制御回路は、マスターからの前記SDRAMへのアクセス要求を受け付け、当該アクセス要求に含まれるアドレスを構成するビットのうち、予め設定されたビット位置のビットが示すバンクアドレスに対応するバンクにアクセスするアクセス手段と、前記ビット位置を再設定する設定手段と、前記設定手段により前記ビット位置を変更し、変更後の各変更ビット位置において、バンクごとに、前記アクセス手段によりアクセスされたアクセス頻度を記録する統計手段と、を有し、前記設定手段は、前記各バンクに対する前記アクセス頻度に基づいて1つの変更ビット位置を選択し、前記ビット位置として再設定する、ことを特徴とする。 One aspect of the present invention for solving the above-described problems is an image processing apparatus including an SDRAM and a memory control circuit that controls the SDRAM, wherein the memory control circuit requests access to the SDRAM from a master. Access means for accessing the bank corresponding to the bank address indicated by the bit at the preset bit position among the bits constituting the address included in the access request, and setting means for resetting the bit position; Statistical means for changing the bit position by the setting means, and recording the access frequency accessed by the access means for each bank at each changed bit position after the change, the setting means, Select one modified bit position based on the access frequency for each bank, Resetting the bit position, characterized in that.
ここで、上記の画像処理装置であって、前記メモリー制御回路は、前記ビット位置の設定を変更するための設定モードと、それ以外の通常モードとのいずれかを設定するモード設定手段を有し、前記統計手段は、前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度を記録し、前記設定手段は、前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度に基づいて1つの変更ビット位置を選択し、前記通常モードにおける前記ビット位置として再設定する、ことを特徴としていてもよい。 Here, in the image processing apparatus, the memory control circuit includes a mode setting unit that sets either a setting mode for changing the setting of the bit position or a normal mode other than the setting mode. The statistical means records the access frequency for each bank when the setting mode is set, and the setting means records the access to each bank when the setting mode is set. One changed bit position may be selected based on the frequency and reset as the bit position in the normal mode.
また、上記の画像処理装置であって、前記アクセス手段は、前記設定モードが設定されている場合に、前記マスターからの前記SDRAMへのアクセス要求を発生させるための所定のテストデータを用いて、前記アクセス要求を受け付ける、ことを特徴としていてもよい。 Further, in the above image processing apparatus, the access means uses predetermined test data for generating an access request to the SDRAM from the master when the setting mode is set, The access request may be accepted.
また、上記のいずれかの画像処理装置であって、前記設定手段は、前記各バンクに対する前記アクセス頻度が最も均等にばらつく変更ビット位置を選択する、ことを特徴としていてもよい。 In any of the image processing apparatuses described above, the setting unit may select a change bit position at which the access frequency with respect to each bank varies most evenly.
以下、本発明の実施形態の一例を図面を参照して説明する。 Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態が適用された画像処理装置100のハードウェア構成の一例を示す図である。画像処理装置100は、プリンター、コピー機、複合機、スキャナーなどの装置である。画像処理装置100は、情報処理装置200と接続される。
FIG. 1 is a diagram illustrating an example of a hardware configuration of an
情報処理装置200は、不図示の、CPUと、RAMと、ROMと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、などを備えた一般的なコンピューターで実現される。情報処理装置200では、アプリケーションプログラムや、ドライバープログラム(例えば、プリンタードライバープログラム)が実行される。
The
画像処置装置100は、画像処理装置100における各種処理を制御する電子機器制御装置としてのコントローラー110と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部160と、ユーザーとの入出力インターフェイスである操作パネル170とを備えている。
The
コントローラー110は、CPU120と、メモリー制御ASIC130と、SDRAM140と、I/O(Input/Output)制御ASIC150と、を備える。コントローラー110は、エンジン部160、操作パネル170等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現する。ただし、コントローラー110は、この構成に限定されず、例えば、CPU120をメモリー制御ASIC130に内蔵させてもよい。
The
CPU120は、メモリー制御ASIC130を介してSDRAM140にアクセスし、各種データの読み書きを行うことで各種処理を実行する。CPU120は、SDRAM140にアクセスするためのアクセス要求を、メモリー制御ASIC130に対して出す。
The
メモリー制御ASIC130は、CPU120、I/O制御ASIC150、エンジン部160からのSDRAM140へのアクセスを制御する。メモリー制御ASIC130は、CPU120を介さない、SDRAM140へのダイレクトメモリーアクセスを制御するようにしてもよい。
The memory control ASIC 130 controls access to the
SDRAM140は、メモリー制御ASIC130が制御を行うメモリーである。SDRAM140は、バンクを複数(N個)有し、マルチバンクアクセス可能である。各バンクには、同一ロウアドレス(Row Address)で指定されるページ(記憶領域)が複数含まれる。SDRAM140へのアクセスは、ページ単位で行われる。
The SDRAM 140 is a memory that is controlled by the memory control ASIC 130. The SDRAM 140 has a plurality (N) of banks and is capable of multi-bank access. Each bank includes a plurality of pages (storage areas) specified by the same row address (Row Address). Access to the
I/O制御ASIC150は、外部機器(操作パネル170や、情報処理装置200など)とのデータの送受信を制御する。
The I /
エンジン部160は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等である。
The
操作パネル170は、ユーザーの操作を受け付けるためのユニットである。操作パネル170は、例えば、LCDなどのディスプレイと、ディスプレイの表示面側に設けられたタッチパネルを有する。操作パネル170は、ボタンキーなどの各種ハードスイッチを有していてもよい。
The
以上、画像処置装置100のハードウェア構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像処置装置100が備える他の構成を排除するものではない。
The hardware configuration of the
図2は、メモリー制御ASIC130のハードウェア構成の一例を示す図である。図示するように、メモリー制御ASIC130は、インターフェイス部131と、調停回路132と、メモリーコントローラー133とを備えている。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
インターフェイス部131は、CPU120、I/O制御ASIC150、エンジン部160からのアクセス要求を受け付け、調停回路132に通知する。
The
調停回路132は、通知されたアクセス要求を受け付け、メモリーコントローラー133に通知する。ここで、調停回路132は、複数のアクセス要求を同タイミングで受け付けた場合には、1つのアクセス要求を選択してメモリーコントローラー133に通知する制御を行う。
The
メモリーコントローラー133は、調停回路132からアクセス要求を受け付けると、SDRAM140に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。
When the
具体的には、メモリーコントローラー133は、アクセス要求を受け付ける毎に、当該アクセス要求が同一ページ(その時点でオープンしているページ)へのアクセス要求であるか否か判定する。
Specifically, each time the
メモリーコントローラー133は、同一ページへのアクセス要求ではないと判定した場合には、アクセス要求がされたページをオープンするためのアクティブコマンドをSDRAM140に発行して、コマンド処理(リード/ライトコマンドの発行)を行う。一方、同一ページへのアクセス要求であると判定した場合には、アクティブコマンドを発行せずに、コマンド処理を行う。
If the
そして、メモリーコントローラー133は、同一ページへのアクセス要求か否かにかかわらず、アクセス要求を受け付けてから所定の期間(以下では、「オープン期間」とよぶ)が経過すると、オープンしているページをクローズするためのプリチャージコマンドをSDRAM140に発行する。
Then, regardless of whether or not the access request is for the same page, the
従って、メモリーコントローラー133は、オープン期間が経過する前に同一ページへのアクセス要求があった場合には、プリチャージコマンドと、アクティブコマンドを発行せずに、連続してSDRAM140に読み書き(リード/ライトコマンドの発行)を行うことができる。なお、オープン期間が経過した場合には、メモリーコントローラー133は、プリチャージコマンドを発行してページをクローズするため、その後に同一ページへのアクセス要求を受け付けた場合には、再度、アクティブコマンドを発行する必要がある。
Accordingly, if there is an access request to the same page before the open period elapses, the
上記のメモリーコントローラー133のアクセス制御は、バンクごとに独立して並列的に実行可能である。すなわち、別のバンクに属するページに対しては、ページのクローズを待たずに、それぞれオープンすることができる。例えば、図3のように、マスターXのバンクアドレス000に対するリードコマンドとプリチャージコマンドとの間に、マスターYのバンクアドレス001に対するアクティブコマンドを発行し、マスターYのバンクアドレス001に対するリードコマンドとプリチャージコマンドとの間に、マスターZのバンクアドレス010に対するアクティブコマンドを発行するようにできる。なお、同一バンクに属する異なるページに対しては、ページのクローズを行う必要がある。
The above access control of the
従って、異なるマスターからのアクセス要求が連続する場合、できる限り異なるバンクに対してアクセスが行われるように(同一バンクに対してアクセスが連続しないように)した方が、アクセス効率が高まる。一方、異なるマスターからの同一バンクに対するアクセス要求が連続する場合、毎回ページのクローズを待つ必要があるので、アクセス効率が低下する。 Therefore, when access requests from different masters are continuous, access efficiency is improved when access is made to different banks as much as possible (so that access to the same bank is not continuous). On the other hand, when access requests to the same bank from different masters continue, it is necessary to wait for the page to be closed every time, so that the access efficiency decreases.
ところで、通常、バンクアドレスは、マスターからのアクセス要求に含まれるメモリーアドレス(リクエストアドレス)のうちの所定の位置のビットに割り付けられている。例えば、メモリーアドレスが32ビット([31:0])、バンク数が4個の場合、バンクアドレスの割付は、[8:7]の2ビットとすることができる。 By the way, normally, the bank address is assigned to a bit at a predetermined position in a memory address (request address) included in an access request from the master. For example, when the memory address is 32 bits ([31: 0]) and the number of banks is 4, the bank address assignment can be 2 bits [8: 7].
ここで、本発明では、バンクアドレスの割付位置を、メモリーアドレスに含まれるロウアドレスやカラムアドレス等のビットと兼ねるようにする。すなわち、ロウアドレスやカラムアドレス等の一部のビットをバンクアドレスとして使用する。このようにすれば、リクエストされたメモリーアドレスの変化に応じてバンクアドレスも変化することになり、実際に使用されるバンクが極端に偏る事態を少なくとも避けることができる。 Here, in the present invention, the allocation position of the bank address is also used as a bit such as a row address or a column address included in the memory address. That is, some bits such as a row address and a column address are used as a bank address. In this way, the bank address also changes in accordance with the change in the requested memory address, and at least a situation in which the banks actually used are extremely biased can be avoided.
しかしながら、上記のバンクアドレスの割付方法では、異なるマスターからのアクセス要求が連続する場合に、異なるバンクに対してアクセスが行われる可能性を高めることができるとは限らない。却って、同一バンクに対するアクセスが連続する場合が多くなることもある。 However, in the bank address assignment method described above, when access requests from different masters continue, it is not always possible to increase the possibility of access to different banks. On the other hand, access to the same bank may continue frequently.
そこで、本発明では、メモリーコントローラー133は、異なるマスターからのアクセス要求が連続する場合であっても、マルチバンクアクセスとなる可能性を高めるための構成を有する。
Therefore, in the present invention, the
具体的には、メモリーコントローラー133は、バンクアドレスの割付位置を設定するためのレジスターを有する。メモリーコントローラー133は、リクエストアドレスの各ビットのうち、このレジスターで設定された割付位置のビットを参照することにより、コマンドの発行先のバンクを決定する。例えば、図4に示すように、メモリーアドレスが32ビット([31:0])、バンク数が8個(0〜7番)の場合、任意の3ビットをバンクアドレスの割付位置として設定することができる。なお、バンク数がN個の場合に割付が必要なビット数Lは、L≧log2Nを満たす最小のLである。
Specifically, the
また、メモリーコントローラー133は、より適切なバンクアドレスの割付位置を設定するためのモード(バンクアドレス割付設定モード)を設定するためのレジスターを有する。また、このモードにおいて記録された統計に基づいてバンクアドレスの割付位置を自動的に設定する(自動設定モード)か、手動で設定する(手動設定モード)か否かを設定するためのレジスターを有する。なお、バンクアドレス割付設定モードに対し、通常のアクセス制御を行うモードを、以下、通常モードと呼ぶ。
The
これらのレジスターの値は、例えば、CPU120が操作パネル170や情報処理装置200を介してユーザーの指示を受け付け、設定するようにすればよい。
These register values may be set by the
上記のバンクアドレス割付設定モードにおいて、メモリーコントローラー133は、以下の処理を行う。また、そのための構成を有する。なお、バンクアドレス割付設定モードでは、CPU120は、所定のプログラム(バンクアドレス割付設定モード用プログラム)をROM等のメモリー(不図示)から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー133に繰り返し通知する。この所定のプログラムは、画像処理装置100が通常実行する機能(例えば、印刷機能、スキャナー機能など)を構成する全てのマスターを実現し、コントローラー110で実行される所定の処理、例えば、印刷実行直前までの通常の画像処理を実現するプログラムである。
In the bank address assignment setting mode, the
メモリーコントローラー133は、所定数のバンクアドレスの割付位置パターンを順次レジスターに設定する。そして、パターンごとに、複数のマスターによる所定回数のアクセス要求受け付け、SDRAM140へのアクセスを行う。また、パターンごとに、次の(1)〜(5)の統計処理を行う。
(1)マスターごとに、各バンクに対するアクセス回数を記録する。
(2)マスターごとに、最もアクセス回数の多いバンク(最頻出バンク)を選択して記録する。
(3)全マスターの最頻出バンクに基づいて、バンクごとに、最頻出バンクとしてマスターにより選択された回数(選択回数)を記録する。
(4)各バンクに対する選択回数のばらつき度を算出して記録する。ばらつき度は、例えば、以下の数式1で表される標本分散値とすることができる。
The
(1) Record the number of accesses to each bank for each master.
(2) For each master, select and record the most frequently accessed bank (the most frequent bank).
(3) Based on the most frequent bank of all masters, the number of times (the number of selections) selected by the master as the most frequent bank is recorded for each bank.
(4) Calculate and record the degree of variation in the number of selections for each bank. The degree of variation can be, for example, a sample variance value represented by the following
上記のような処理を行って各種のデータの記録するため、メモリーコントローラー133は、例えば、図5に示すような統計テーブル400を有する。統計テーブル400は、バンクアドレス割付パターン410とアクセスばらつき度420とを対応付けた一覧を含む。また、バンクアドレス割付パターン410ごとに、バンク番号430とマスター数(選択回数)440とを対応付けた一覧を含む。また、バンクアドレス割付パターン410ごとに、マスター番号450と最頻出バンク番号460とを対応付けた一覧を含む。また、マスター番号450ごとに、バンク番号470とアクセス回数480とを対応付けた一覧を含む。もちろん、データを記録する方法はテーブル方式に限られない。
In order to record various data by performing the above processing, the
自動設定モードが設定されている場合、メモリーコントローラー133は、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有する(各バンクに対するアクセスが最も均等に分散した)パターンを1つ選択する。例えば、上記の標本分散値をばらつき度として用いた場合、標本分散値が最も0に近いパターンを選択する。そして、このパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。
When the automatic setting mode is set, the
手動設定モードが設定されている場合、メモリーコントローラー133は、記録した各種データ(例えば、統計テーブル400に記録されているデータ)を、CPU120により操作パネル170に表示させる。そして、CPU120により操作パネル170を介して、バンクアドレスの割付パターン選択を受け付け、ユーザーに指定されたパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。
When the manual setting mode is set, the
以上のようにして、メモリーコントローラー133は、異なるマスターからのアクセス要求が連続する場合でも、マルチバンクアクセスとなる可能性を高めることのできる、バンクアドレスの割付を設定することができる。
As described above, the
なお、バンクアドレスの割付位置の決定方法は、上記に限られない。例えば、バンクアドレスの割付位置パターンごとに、各バンクに対するアクセス回数を記録して、各バンクに対するアクセス回数のばらつき度を算出するようにする。そして、最も適切なばらつき度を有する(各バンクに対するアクセスが最も均等に分散した)パターンを1つ選択するようにする。 The method for determining the bank address allocation position is not limited to the above. For example, the number of accesses to each bank is recorded for each bank address allocation position pattern, and the degree of variation in the number of accesses to each bank is calculated. Then, one pattern having the most appropriate variation degree (accesses to each bank are most evenly distributed) is selected.
以上、コントローラー110、メモリー制御ASIC130等の構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なコントローラー110、メモリー制御ASIC130等が備える他の構成を排除するものではない。
The configuration of the
次に、上記のメモリーコントローラー133の特徴的な動作について説明する。
Next, a characteristic operation of the
図6は、バンクアドレス割付設定モードにおける処理を示すフロー図である。本フローは、例えば、画像処理装置100に電源が投入された後、コントローラー110の起動処理中(初期化処理中)に行われる。なお、バンクアドレス割付設定モードで画像処理装置100を起動させるには、例えば、通常モードで画像処理装置100が動作中に、レジスターにバンクアドレス割付設定モードを設定し、画像処理装置100を再起動すればよい。もちろん、画像処理装置100が毎回バンクアドレス割付設定モードで起動されるようにしてもよい。
FIG. 6 is a flowchart showing processing in the bank address assignment setting mode. This flow is performed, for example, during the startup processing (initialization processing) of the
S100では、CPU120は、バンクアドレス割付設定モードが設定されているか否かを判定する。具体的には、CPU120は、メモリーコントローラー133のレジスターを参照し、バンクアドレス割付設定モードが設定されているか否かを判定する。バンクアドレス割付設定モードが設定されている場合(S100:YES)、処理をS110に進める。バンクアドレス割付設定モードが設定されていない場合(S100:NO)、処理をS190へ進める。
In S100, the
S110では、メモリーアクセスが開始される。具体的には、まず、メモリーコントローラー133は、バンクアドレス割付パターンの所定の設定順序に従って、設定対象である1つのバンクアドレス割付パターンをレジスターに設定する。
In S110, memory access is started. Specifically, first, the
それから、CPU120は、所定のプログラム(上記のバンクアドレス割付設定モード用プログラム)をROM等のメモリー(不図示)から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー133に通知し始める。複数のマスターは、例えば、所定の画像データに対する各種画像処理などである。メモリーコントローラー133は、各マスターのアクセス要求受け付けた場合、SDRAM140へのアクセスを行う。
Then, the
S120では、メモリーコントローラー133は、マスターごとに、各バンクに対するアクセス回数を記録する。具体的には、メモリーコントローラー133は、アクセス要求を行ったマスターの番号と、リクエストアドレスの各ビットのうち、S110で設定したバンクアドレスの割付位置のビットが示すバンク番号を特定する。そして、統計テーブル400の、特定したマスター番号およびバンク番号に対応するアクセス回数480をカウントアップする。
In S120, the
S130では、メモリーコントローラー133は、所定数のアクセスが終了したか否かを判定する。具体的には、メモリーコントローラー133は、所定数のバンクアドレス割付パターンを設定したか否かを判定する。所定数のアクセスが終了した場合(S130:YES)、処理をS140に進める。なお、この場合、CPU120は、複数のマスターによるアクセス要求を停止する。所定数のアクセスが終了していない場合(S130:NO)、メモリーコントローラー133は、処理をS110に戻す。
In S130, the
S140では、メモリーコントローラー133は、自動設定モードが設定されているか否かを判定する。自動設定モードが設定されている場合(S140:YES)、処理をS150へ進める。手動設定モードが設定されている場合(S140:NO)、処理をS170へ進める。
In S140, the
S150では、メモリーコントローラー133は、バンクアドレスの割付パターンを選択する。具体的には、メモリーコントローラー133は、S110で順次設定したバンクアドレス割付パターンごとに、上述した(2)〜(4)の処理を行う。それから、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有するパターンを1つ選択する。そして、処理をS160へ進める。
In S150, the
S160では、メモリーコントローラー133は、S150で選択したバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をS190に進める。
In S160, the
S170では、メモリーコントローラー133は、バンクアドレスの割付パターンの選択を受け付ける。具体的には、メモリーコントローラー133は、S110で順次設定したバンクアドレス割付パターンごとに、上述した(2)〜(4)の処理を行う。それから、CPU120は、操作パネル170に、統計テーブル400に記録されているデータの一部もしくは全てを表示する。例えば、バンクアドレス割付パターン410とアクセスばらつき度420の一覧を表示する。バンクアドレス割付パターン410ごとに、マスター番号450と最頻出バンク番号460の一覧を表示するようにしてもよい。すなわち、ユーザーが、バンクアドレスの割付パターンを選択するために必要な統計情報が、メモリーコントローラー133から取得されて表示されるようにするのが好ましい。
In S170, the
また、S170において、CPU120は、操作パネル170を介して、バンクアドレス割付パターンのユーザーの選択を受け付け、当該バンクアドレス割付パターンをメモリーコントローラー133に送る。そして、処理をS180に進める。
In S <b> 170, the
S180では、メモリーコントローラー133は、S170でCPU120から送られたバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をS190に進める。
In S180, the
S190では、メモリーコントローラー133は、通常モードへ移行する。具体的には、レジスターのバンクアドレス割付設定モードの設定を解除する。そして、メモリーコントローラー133は、本フローを終了する。なお、通常モードでは、S160またはS180で設定されたバンクアドレス割付パターンのまま、SDRAM140へのアクセス要求がメモリーコントローラー133により処理される。
In S190, the
以上、本発明の一実施形態について説明した。本実施形態によれば、マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させることができる。 The embodiment of the present invention has been described above. According to the present embodiment, it is possible to generate more multi-bank accesses and improve memory access efficiency.
すなわち、本実施形態では、メモリーコントローラーにバンクアドレス割付設定モードを設定できる。そして、バンクアドレス割付設定モードが設定されている場合、起動処理や初期化処理中に、所定のプログラムにより実現された各マスターによりSDRAMへのアクセス要求が行われ、メモリーコントローラーにより、複数のバンクアドレスの割付パターンごとに、各マスターの各バンクに対するアクセス回数が記録される。それから、記録されたアクセス回数に基づいて、メモリーコントローラーにより、マルチバンクアクセスがより発生し易いバンクアドレスの割付位置が設定される。 That is, in the present embodiment, the bank address allocation setting mode can be set in the memory controller. When the bank address allocation setting mode is set, an access request to the SDRAM is made by each master realized by a predetermined program during the startup process and the initialization process, and a plurality of bank addresses are set by the memory controller. The number of accesses to each bank of each master is recorded for each allocation pattern. Then, based on the recorded number of accesses, the memory controller sets a bank address allocation position at which multi-bank access is more likely to occur.
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。 The above-described embodiments of the present invention are intended to illustrate the gist and scope of the present invention and are not intended to be limiting. Many alternatives, modifications, and variations will be apparent to those skilled in the art.
例えば、上記の実施形態では、バンクアドレス割付設定モードにおいて、CPU120が各マスターのアクセス要求を出しているが、メモリーコントローラー133が自身にアクセス要求を出すようにしてもよい。この場合、ROM等のメモリーに、予め複数のマスターからの連続するアクセス要求を含むテストデータ(例えば、コントローラー110で実行される印刷実行直前までの通常の画像処理において生じる各マスターからのアクセス要求)を格納しておき、メモリーコントローラー133は、このテストデータを読み出して自身にアクセス要求を出す。
For example, in the above embodiment, in the bank address assignment setting mode, the
また、メモリーコントローラー133は、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴を上記のテストデータとして用いてもよい。また、上記のバンクアドレス割付設定モード用プログラムは、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴に基いてアクセス要求を発生させるプログラムであってもよい。
The
100:画像処理装置、110:コントローラー、120:CPU、130:メモリー制御ASIC、131:インターフェイス部、132:調停回路、133:メモリーコントローラー、140:SDRAM、150:I/O制御ASIC、160:エンジン部、170:操作パネル、200:情報処理装置、400:統計テーブル、410:バンクアドレス割付パターン、420:アクセスばらつき度、430:マスター番号、440:最頻出バンク番号、450:バンク番号、460:アクセス回数 100: Image processing device, 110: Controller, 120: CPU, 130: Memory control ASIC, 131: Interface unit, 132: Arbitration circuit, 133: Memory controller, 140: SDRAM, 150: I / O control ASIC, 160: Engine , 170: Operation panel, 200: Information processing device, 400: Statistical table, 410: Bank address allocation pattern, 420: Access variation degree, 430: Master number, 440: Most frequent bank number, 450: Bank number, 460: number of access
Claims (4)
前記メモリー制御回路は、
マスターからの前記SDRAMへのアクセス要求を受け付け、当該アクセス要求に含まれるアドレスを構成するビットのうち、予め設定されたビット位置のビットが示すバンクアドレスに対応するバンクにアクセスするアクセス手段と、
前記ビット位置を再設定する設定手段と、
前記設定手段により前記ビット位置を変更し、変更後の各変更ビット位置において、バンクごとに、前記アクセス手段によりアクセスされたアクセス頻度を記録する統計手段と、を有し、
前記設定手段は、
前記各バンクに対する前記アクセス頻度に基づいて1つの変更ビット位置を選択し、前記ビット位置として再設定する、
ことを特徴とする画像処理装置。 An image processing apparatus comprising an SDRAM and a memory control circuit for controlling the SDRAM,
The memory control circuit
An access means for receiving an access request to the SDRAM from a master and accessing a bank corresponding to a bank address indicated by a bit at a preset bit position among bits constituting an address included in the access request;
Setting means for resetting the bit position;
Statistical means for changing the bit position by the setting means, and recording the access frequency accessed by the access means for each bank at each changed bit position after the change,
The setting means includes
Selecting one modified bit position based on the access frequency for each bank and resetting as the bit position;
An image processing apparatus.
前記メモリー制御回路は、
前記ビット位置の設定を変更するための設定モードと、それ以外の通常モードとのいずれかを設定するモード設定手段を有し、
前記統計手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度を記録し、
前記設定手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度に基づいて1つの変更ビット位置を選択し、前記通常モードにおける前記ビット位置として再設定する、
ことを特徴とする画像処理装置。 The image processing apparatus according to claim 1,
The memory control circuit
A mode setting means for setting one of a normal mode and a setting mode for changing the setting of the bit position;
The statistical means is
When the setting mode is set, the access frequency for each bank is recorded,
The setting means includes
When the setting mode is set, select one change bit position based on the access frequency for each bank, and reset as the bit position in the normal mode;
An image processing apparatus.
前記アクセス手段は、
前記設定モードが設定されている場合に、前記マスターからの前記SDRAMへのアクセス要求を発生させるための所定のテストデータを用いて、前記アクセス要求を受け付ける、
ことを特徴とする画像処理装置。 The image processing apparatus according to claim 2,
The access means is:
Accepting the access request using predetermined test data for generating an access request to the SDRAM from the master when the setting mode is set;
An image processing apparatus.
前記設定手段は、
前記各バンクに対する前記アクセス頻度が最も均等にばらつく変更ビット位置を選択する、
ことを特徴とする画像処理装置。 The image processing apparatus according to any one of claims 1 to 3,
The setting means includes
Selecting a change bit position at which the access frequency for each bank varies most evenly;
An image processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050334A JP2010205002A (en) | 2009-03-04 | 2009-03-04 | Image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009050334A JP2010205002A (en) | 2009-03-04 | 2009-03-04 | Image processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010205002A true JP2010205002A (en) | 2010-09-16 |
Family
ID=42966412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009050334A Withdrawn JP2010205002A (en) | 2009-03-04 | 2009-03-04 | Image processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010205002A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191621A (en) * | 2013-03-27 | 2014-10-06 | Canon Inc | Information processing apparatus and memory access control method |
US8970892B2 (en) | 2013-03-13 | 2015-03-03 | Konica Minolta, Inc. | Memory control device and image forming apparatus |
-
2009
- 2009-03-04 JP JP2009050334A patent/JP2010205002A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8970892B2 (en) | 2013-03-13 | 2015-03-03 | Konica Minolta, Inc. | Memory control device and image forming apparatus |
JP2014191621A (en) * | 2013-03-27 | 2014-10-06 | Canon Inc | Information processing apparatus and memory access control method |
US9946645B2 (en) | 2013-03-27 | 2018-04-17 | Canon Kabushiki Kaisha | Information processing apparatus and memory control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452329B2 (en) | Information processing apparatus that controls display of an erasure mode setting screen based on a type of storage device in the apparatus, and method of controlling the same | |
JP6271939B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2010205002A (en) | Image processing apparatus | |
JP4840484B2 (en) | Information processing apparatus, device operation setting method, and operation setting program | |
US20080184003A1 (en) | Data transmission control apparatus and data transmission control method | |
JP2007001090A (en) | Data backup system for image forming apparatus, image forming apparatus, and data backup method | |
JP5233541B2 (en) | Memory control circuit, electronic device control device, and multifunction device | |
JP2012226493A (en) | Image processor and its control program | |
JP5967945B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP2013152509A (en) | Image processing apparatus | |
JP2011197707A (en) | Device and system for controlling memory, recording device and memory control method | |
JP5594127B2 (en) | Electronic apparatus and image processing apparatus | |
JP7428583B2 (en) | printing device | |
JP2020145582A (en) | Information processor, control method thereof, and program | |
JP4804803B2 (en) | Memory access control device and computer program | |
JP2007334815A (en) | Information processor and program reading control method | |
JP2017135562A (en) | Image forming apparatus and data processing program | |
JP6365454B2 (en) | Image forming apparatus | |
JP2005071104A (en) | Data transfer control device | |
JP2024127526A (en) | Prediction system, reading system and prediction program | |
JP4945655B2 (en) | Information processing apparatus, image processing apparatus, information processing method, computer program, and recording medium | |
JP2022173843A (en) | Image forming apparatus | |
JP4651291B2 (en) | Information processing apparatus, image processing apparatus, and image forming apparatus | |
JP2007334816A (en) | Information processor and program reading control method | |
JP2019185597A (en) | Memory control device, memory device, image forming apparatus, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |