[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2010205002A - Image processing apparatus - Google Patents

Image processing apparatus Download PDF

Info

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
Application number
JP2009050334A
Other languages
Japanese (ja)
Inventor
Takahiro Wakasa
貴博 若狹
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009050334A priority Critical patent/JP2010205002A/en
Publication of JP2010205002A publication Critical patent/JP2010205002A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the memory access efficiency by making more multibank accesses generated. <P>SOLUTION: A memory controller 133 has an accessing means for receiving a request for access to an SDRAM 140 from masters (1 to M) and accessing a bank, corresponding to a bank address indicated by a bit, in a preset bit position among the bits constituting an address included in the access request. The memory controller has also a setting means for resetting the bit position. Furthermore, the memory controller has a statistical means for recording an access frequency for each bank accessed by the accessing means, in each changed bit position, after the bit position is changed by the setting means. Here, the setting means selects one changed bit position based on the access frequency for each bank and resets it as a bit position. <P>COPYRIGHT: (C)2010,JPO&INPIT

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. Patent Document 1 discloses a technique for realizing efficient multi-bank access.

特開2002−268942号公報JP 2002-268842 A

しかしながら、マルチバンクアクセスが可能な場合であっても、複数のマスター(メモリーにアクセスを行う所定の処理単位)からの同一バンクに対するアクセスが連続して発生する場合がある。同一バンクに対するアクセスの衝突の発生が多くなると、待ち時間の増加等により、各マスターのメモリーへのアクセス効率が低下し、処理効率が低下する。   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.

本発明の一実施形態が適用された画像処理装置100のハードウェア構成の一例を示すブロック図。1 is a block diagram illustrating an example of a hardware configuration of an image processing apparatus 100 to which an embodiment of the present invention is applied. メモリー制御ASIC130のハードウェア構成の一例を示す図。The figure which shows an example of the hardware constitutions of the memory control ASIC130. マルチバンクアクセスのタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of multibank access. メモリーアドレスとバンクアドレス割付位置との関係を説明する図。The figure explaining the relationship between a memory address and a bank address allocation position. 統計テーブル400の一例を示す図。The figure which shows an example of the statistics table 400. FIG. バンクアドレス割付設定モードにおける処理を示すフロー図。The flowchart which shows the process in bank address allocation setting mode.

以下、本発明の実施形態の一例を図面を参照して説明する。   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 image processing apparatus 100 to which an embodiment of the present invention is applied. The image processing apparatus 100 is an apparatus such as a printer, a copier, a multifunction peripheral, or a scanner. The image processing apparatus 100 is connected to the information processing apparatus 200.

情報処理装置200は、不図示の、CPUと、RAMと、ROMと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、などを備えた一般的なコンピューターで実現される。情報処理装置200では、アプリケーションプログラムや、ドライバープログラム(例えば、プリンタードライバープログラム)が実行される。   The information processing apparatus 200 includes a general CPU (not shown), a RAM, a ROM, an auxiliary storage device such as a hard disk, a display, an input device such as a keyboard and a mouse, a communication interface, and the like. Realized by computer. In the information processing apparatus 200, an application program and a driver program (for example, a printer driver program) are executed.

画像処置装置100は、画像処理装置100における各種処理を制御する電子機器制御装置としてのコントローラー110と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部160と、ユーザーとの入出力インターフェイスである操作パネル170とを備えている。   The image processing apparatus 100 includes a controller 110 as an electronic device control apparatus that controls various processes in the image processing apparatus 100, an engine unit 160 that executes printing on a print medium and reading of a document, and an input / output interface with a user. An operation panel 170 is provided.

コントローラー110は、CPU120と、メモリー制御ASIC130と、SDRAM140と、I/O(Input/Output)制御ASIC150と、を備える。コントローラー110は、エンジン部160、操作パネル170等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現する。ただし、コントローラー110は、この構成に限定されず、例えば、CPU120をメモリー制御ASIC130に内蔵させてもよい。   The controller 110 includes a CPU 120, a memory control ASIC 130, an SDRAM 140, and an I / O (Input / Output) control ASIC 150. The controller 110 controls various mechanisms such as the engine unit 160 and the operation panel 170, and realizes a printing function including various image processing, a facsimile function, a scanner function, a copy function, and the like. However, the controller 110 is not limited to this configuration. For example, the CPU 120 may be built in the memory control ASIC 130.

CPU120は、メモリー制御ASIC130を介してSDRAM140にアクセスし、各種データの読み書きを行うことで各種処理を実行する。CPU120は、SDRAM140にアクセスするためのアクセス要求を、メモリー制御ASIC130に対して出す。   The CPU 120 accesses the SDRAM 140 via the memory control ASIC 130, and executes various processes by reading and writing various data. The CPU 120 issues an access request for accessing the SDRAM 140 to the memory control ASIC 130.

メモリー制御ASIC130は、CPU120、I/O制御ASIC150、エンジン部160からのSDRAM140へのアクセスを制御する。メモリー制御ASIC130は、CPU120を介さない、SDRAM140へのダイレクトメモリーアクセスを制御するようにしてもよい。   The memory control ASIC 130 controls access to the SDRAM 140 from the CPU 120, I / O control ASIC 150, and engine unit 160. The memory control ASIC 130 may control direct memory access to the SDRAM 140 without using the CPU 120.

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 SDRAM 140 is performed in units of pages.

I/O制御ASIC150は、外部機器(操作パネル170や、情報処理装置200など)とのデータの送受信を制御する。   The I / O control ASIC 150 controls transmission / reception of data to / from external devices (such as the operation panel 170 and the information processing apparatus 200).

エンジン部160は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等である。   The engine unit 160 includes a paper supply / discharge mechanism, a printing mechanism, a scanning mechanism, and the like for realizing a printing function, a facsimile function, a scanner function, a copying function, and the like.

操作パネル170は、ユーザーの操作を受け付けるためのユニットである。操作パネル170は、例えば、LCDなどのディスプレイと、ディスプレイの表示面側に設けられたタッチパネルを有する。操作パネル170は、ボタンキーなどの各種ハードスイッチを有していてもよい。   The operation panel 170 is a unit for receiving user operations. The operation panel 170 includes, for example, a display such as an LCD and a touch panel provided on the display surface side of the display. The operation panel 170 may have various hard switches such as button keys.

以上、画像処置装置100のハードウェア構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像処置装置100が備える他の構成を排除するものではない。   The hardware configuration of the image processing apparatus 100 has been described above. Of course, this configuration is not limited to the above-described configuration because the main configuration has been described in describing the features of the present invention. Further, other configurations included in the general image processing apparatus 100 are not excluded.

図2は、メモリー制御ASIC130のハードウェア構成の一例を示す図である。図示するように、メモリー制御ASIC130は、インターフェイス部131と、調停回路132と、メモリーコントローラー133とを備えている。   FIG. 2 is a diagram illustrating an example of a hardware configuration of the memory control ASIC 130. As illustrated, the memory control ASIC 130 includes an interface unit 131, an arbitration circuit 132, and a memory controller 133.

インターフェイス部131は、CPU120、I/O制御ASIC150、エンジン部160からのアクセス要求を受け付け、調停回路132に通知する。   The interface unit 131 receives access requests from the CPU 120, the I / O control ASIC 150, and the engine unit 160, and notifies the arbitration circuit 132.

調停回路132は、通知されたアクセス要求を受け付け、メモリーコントローラー133に通知する。ここで、調停回路132は、複数のアクセス要求を同タイミングで受け付けた場合には、1つのアクセス要求を選択してメモリーコントローラー133に通知する制御を行う。   The arbitration circuit 132 receives the notified access request and notifies the memory controller 133 of it. Here, the arbitration circuit 132 performs control to select one access request and notify the memory controller 133 when a plurality of access requests are received at the same timing.

メモリーコントローラー133は、調停回路132からアクセス要求を受け付けると、SDRAM140に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。   When the memory controller 133 accepts an access request from the arbitration circuit 132, the memory controller 133 issues a predetermined command to the SDRAM 140 to perform access control based on the access request.

具体的には、メモリーコントローラー133は、アクセス要求を受け付ける毎に、当該アクセス要求が同一ページ(その時点でオープンしているページ)へのアクセス要求であるか否か判定する。   Specifically, each time the memory controller 133 accepts an access request, the memory controller 133 determines whether the access request is an access request to the same page (a page that is open at that time).

メモリーコントローラー133は、同一ページへのアクセス要求ではないと判定した場合には、アクセス要求がされたページをオープンするためのアクティブコマンドをSDRAM140に発行して、コマンド処理(リード/ライトコマンドの発行)を行う。一方、同一ページへのアクセス要求であると判定した場合には、アクティブコマンドを発行せずに、コマンド処理を行う。   If the memory controller 133 determines that it is not an access request to the same page, the memory controller 133 issues an active command for opening the page for which the access request has been made to the SDRAM 140 for command processing (issue of a read / write command). I do. On the other hand, if it is determined that the access request is for the same page, command processing is performed without issuing an active command.

そして、メモリーコントローラー133は、同一ページへのアクセス要求か否かにかかわらず、アクセス要求を受け付けてから所定の期間(以下では、「オープン期間」とよぶ)が経過すると、オープンしているページをクローズするためのプリチャージコマンドをSDRAM140に発行する。   Then, regardless of whether or not the access request is for the same page, the memory controller 133 selects an open page after a predetermined period (hereinafter referred to as “open period”) has elapsed since the access request was received. A precharge command for closing is issued to the SDRAM 140.

従って、メモリーコントローラー133は、オープン期間が経過する前に同一ページへのアクセス要求があった場合には、プリチャージコマンドと、アクティブコマンドを発行せずに、連続してSDRAM140に読み書き(リード/ライトコマンドの発行)を行うことができる。なお、オープン期間が経過した場合には、メモリーコントローラー133は、プリチャージコマンドを発行してページをクローズするため、その後に同一ページへのアクセス要求を受け付けた場合には、再度、アクティブコマンドを発行する必要がある。   Accordingly, if there is an access request to the same page before the open period elapses, the memory controller 133 does not issue a precharge command and an active command, and continuously reads / writes (read / write) to / from the SDRAM 140. Issue command). When the open period has elapsed, the memory controller 133 issues a precharge command to close the page. When an access request for the same page is subsequently received, an active command is issued again. There is a need to.

上記のメモリーコントローラー133のアクセス制御は、バンクごとに独立して並列的に実行可能である。すなわち、別のバンクに属するページに対しては、ページのクローズを待たずに、それぞれオープンすることができる。例えば、図3のように、マスターXのバンクアドレス000に対するリードコマンドとプリチャージコマンドとの間に、マスターYのバンクアドレス001に対するアクティブコマンドを発行し、マスターYのバンクアドレス001に対するリードコマンドとプリチャージコマンドとの間に、マスターZのバンクアドレス010に対するアクティブコマンドを発行するようにできる。なお、同一バンクに属する異なるページに対しては、ページのクローズを行う必要がある。   The above access control of the memory controller 133 can be executed in parallel independently for each bank. That is, pages belonging to different banks can be opened without waiting for the page to close. For example, as shown in FIG. 3, an active command for the bank address 001 of the master Y is issued between the read command for the bank address 000 of the master X and the precharge command, and the read command and the precharge for the bank address 001 of the master Y are issued. An active command for the bank address 010 of the master Z can be issued between the charge command. Note that it is necessary to close pages for different pages belonging to the same bank.

従って、異なるマスターからのアクセス要求が連続する場合、できる限り異なるバンクに対してアクセスが行われるように(同一バンクに対してアクセスが連続しないように)した方が、アクセス効率が高まる。一方、異なるマスターからの同一バンクに対するアクセス要求が連続する場合、毎回ページのクローズを待つ必要があるので、アクセス効率が低下する。   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 memory controller 133 has a configuration for increasing the possibility of multi-bank access even when access requests from different masters are continuous.

具体的には、メモリーコントローラー133は、バンクアドレスの割付位置を設定するためのレジスターを有する。メモリーコントローラー133は、リクエストアドレスの各ビットのうち、このレジスターで設定された割付位置のビットを参照することにより、コマンドの発行先のバンクを決定する。例えば、図4に示すように、メモリーアドレスが32ビット([31:0])、バンク数が8個(0〜7番)の場合、任意の3ビットをバンクアドレスの割付位置として設定することができる。なお、バンク数がN個の場合に割付が必要なビット数Lは、L≧log2Nを満たす最小のLである。 Specifically, the memory controller 133 has a register for setting a bank address allocation position. The memory controller 133 determines the bank to which the command is issued by referring to the bit at the allocation position set in this register among the bits of the request address. For example, as shown in FIG. 4, when the memory address is 32 bits ([31: 0]) and the number of banks is 8 (numbers 0 to 7), any 3 bits are set as the bank address allocation position. Can do. The number of bits L that need to be allocated when the number of banks is N is the minimum L that satisfies L ≧ log 2 N.

また、メモリーコントローラー133は、より適切なバンクアドレスの割付位置を設定するためのモード(バンクアドレス割付設定モード)を設定するためのレジスターを有する。また、このモードにおいて記録された統計に基づいてバンクアドレスの割付位置を自動的に設定する(自動設定モード)か、手動で設定する(手動設定モード)か否かを設定するためのレジスターを有する。なお、バンクアドレス割付設定モードに対し、通常のアクセス制御を行うモードを、以下、通常モードと呼ぶ。   The memory controller 133 also has a register for setting a mode (bank address allocation setting mode) for setting a more appropriate bank address allocation position. It also has a register for setting whether the bank address allocation position is automatically set (automatic setting mode) or manually set (manual setting mode) based on the statistics recorded in this mode. . Note that a mode in which normal access control is performed with respect to the bank address allocation setting mode is hereinafter referred to as a normal mode.

これらのレジスターの値は、例えば、CPU120が操作パネル170や情報処理装置200を介してユーザーの指示を受け付け、設定するようにすればよい。   These register values may be set by the CPU 120 receiving a user instruction via the operation panel 170 or the information processing apparatus 200, for example.

上記のバンクアドレス割付設定モードにおいて、メモリーコントローラー133は、以下の処理を行う。また、そのための構成を有する。なお、バンクアドレス割付設定モードでは、CPU120は、所定のプログラム(バンクアドレス割付設定モード用プログラム)をROM等のメモリー(不図示)から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー133に繰り返し通知する。この所定のプログラムは、画像処理装置100が通常実行する機能(例えば、印刷機能、スキャナー機能など)を構成する全てのマスターを実現し、コントローラー110で実行される所定の処理、例えば、印刷実行直前までの通常の画像処理を実現するプログラムである。   In the bank address assignment setting mode, the memory controller 133 performs the following processing. Moreover, it has the structure for it. In the bank address assignment setting mode, the CPU 120 reads a predetermined program (bank address assignment setting mode program) from a memory (not shown) such as a ROM and executes it, and requests access from a plurality of masters to the memory controller 133. Notify repeatedly. This predetermined program realizes all the masters constituting the functions (for example, printing function, scanner function, etc.) normally executed by the image processing apparatus 100, and performs predetermined processing executed by the controller 110, for example, immediately before execution of printing. This is a program for realizing the normal image processing up to.

メモリーコントローラー133は、所定数のバンクアドレスの割付位置パターンを順次レジスターに設定する。そして、パターンごとに、複数のマスターによる所定回数のアクセス要求受け付け、SDRAM140へのアクセスを行う。また、パターンごとに、次の(1)〜(5)の統計処理を行う。
(1)マスターごとに、各バンクに対するアクセス回数を記録する。
(2)マスターごとに、最もアクセス回数の多いバンク(最頻出バンク)を選択して記録する。
(3)全マスターの最頻出バンクに基づいて、バンクごとに、最頻出バンクとしてマスターにより選択された回数(選択回数)を記録する。
(4)各バンクに対する選択回数のばらつき度を算出して記録する。ばらつき度は、例えば、以下の数式1で表される標本分散値とすることができる。
The memory controller 133 sequentially sets an allocation position pattern of a predetermined number of bank addresses in the register. Then, for each pattern, a predetermined number of access requests are received by a plurality of masters, and the SDRAM 140 is accessed. Further, the following statistical processing (1) to (5) is performed for each pattern.
(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 formula 1.

Figure 2010205002
Figure 2010205002

上記のような処理を行って各種のデータの記録するため、メモリーコントローラー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 memory controller 133 has a statistical table 400 as shown in FIG. 5, for example. The statistical table 400 includes a list in which the bank address assignment pattern 410 and the access variation degree 420 are associated with each other. Each bank address assignment pattern 410 includes a list in which the bank number 430 and the master number (number of selections) 440 are associated with each other. Each bank address allocation pattern 410 includes a list in which the master number 450 and the most frequent bank number 460 are associated with each other. In addition, for each master number 450, a list in which the bank number 470 and the access count 480 are associated is included. Of course, the method of recording data is not limited to the table method.

自動設定モードが設定されている場合、メモリーコントローラー133は、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有する(各バンクに対するアクセスが最も均等に分散した)パターンを1つ選択する。例えば、上記の標本分散値をばらつき度として用いた場合、標本分散値が最も0に近いパターンを選択する。そして、このパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。   When the automatic setting mode is set, the memory controller 133 selects one pattern having the most appropriate variation degree (accesses to each bank are most evenly distributed) among the bank address assignment patterns. For example, when the above sample variance value is used as the degree of variation, a pattern with the sample variance value closest to 0 is selected. This pattern is set in a register for setting the bank address allocation position.

手動設定モードが設定されている場合、メモリーコントローラー133は、記録した各種データ(例えば、統計テーブル400に記録されているデータ)を、CPU120により操作パネル170に表示させる。そして、CPU120により操作パネル170を介して、バンクアドレスの割付パターン選択を受け付け、ユーザーに指定されたパターンを、上記のバンクアドレスの割付位置を設定するためのレジスターに設定する。   When the manual setting mode is set, the memory controller 133 causes the CPU 120 to display various recorded data (for example, data recorded in the statistical table 400) on the operation panel 170. Then, the CPU 120 accepts the bank address assignment pattern selection via the operation panel 170, and sets the pattern designated by the user in the register for setting the bank address assignment position.

以上のようにして、メモリーコントローラー133は、異なるマスターからのアクセス要求が連続する場合でも、マルチバンクアクセスとなる可能性を高めることのできる、バンクアドレスの割付を設定することができる。   As described above, the memory controller 133 can set bank address assignment that can increase the possibility of multi-bank access even when access requests from different masters are continuous.

なお、バンクアドレスの割付位置の決定方法は、上記に限られない。例えば、バンクアドレスの割付位置パターンごとに、各バンクに対するアクセス回数を記録して、各バンクに対するアクセス回数のばらつき度を算出するようにする。そして、最も適切なばらつき度を有する(各バンクに対するアクセスが最も均等に分散した)パターンを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 controller 110, the memory control ASIC 130, and the like has been described above. Of course, this configuration is not limited to the above-described configuration because the main configuration has been described in describing the features of the present invention. In addition, other configurations included in the general controller 110, the memory control ASIC 130, and the like are not excluded.

次に、上記のメモリーコントローラー133の特徴的な動作について説明する。   Next, a characteristic operation of the memory controller 133 will be described.

図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 controller 110 after the image processing apparatus 100 is powered on. In order to start the image processing apparatus 100 in the bank address assignment setting mode, for example, while the image processing apparatus 100 is operating in the normal mode, the bank address assignment setting mode is set in the register and the image processing apparatus 100 is restarted. do it. Of course, the image processing apparatus 100 may be activated in the bank address assignment setting mode every time.

S100では、CPU120は、バンクアドレス割付設定モードが設定されているか否かを判定する。具体的には、CPU120は、メモリーコントローラー133のレジスターを参照し、バンクアドレス割付設定モードが設定されているか否かを判定する。バンクアドレス割付設定モードが設定されている場合(S100:YES)、処理をS110に進める。バンクアドレス割付設定モードが設定されていない場合(S100:NO)、処理をS190へ進める。   In S100, the CPU 120 determines whether or not the bank address allocation setting mode is set. Specifically, the CPU 120 refers to the register of the memory controller 133 and determines whether or not the bank address allocation setting mode is set. If the bank address assignment setting mode is set (S100: YES), the process proceeds to S110. If the bank address assignment setting mode is not set (S100: NO), the process proceeds to S190.

S110では、メモリーアクセスが開始される。具体的には、まず、メモリーコントローラー133は、バンクアドレス割付パターンの所定の設定順序に従って、設定対象である1つのバンクアドレス割付パターンをレジスターに設定する。   In S110, memory access is started. Specifically, first, the memory controller 133 sets one bank address allocation pattern to be set in the register according to a predetermined setting order of bank address allocation patterns.

それから、CPU120は、所定のプログラム(上記のバンクアドレス割付設定モード用プログラム)をROM等のメモリー(不図示)から読み出して実行し、複数のマスターによるアクセス要求をメモリーコントローラー133に通知し始める。複数のマスターは、例えば、所定の画像データに対する各種画像処理などである。メモリーコントローラー133は、各マスターのアクセス要求受け付けた場合、SDRAM140へのアクセスを行う。   Then, the CPU 120 reads out and executes a predetermined program (the bank address allocation setting mode program) from a memory (not shown) such as a ROM, and starts notifying the memory controller 133 of access requests from a plurality of masters. The plurality of masters are, for example, various image processes for predetermined image data. The memory controller 133 accesses the SDRAM 140 when receiving an access request from each master.

S120では、メモリーコントローラー133は、マスターごとに、各バンクに対するアクセス回数を記録する。具体的には、メモリーコントローラー133は、アクセス要求を行ったマスターの番号と、リクエストアドレスの各ビットのうち、S110で設定したバンクアドレスの割付位置のビットが示すバンク番号を特定する。そして、統計テーブル400の、特定したマスター番号およびバンク番号に対応するアクセス回数480をカウントアップする。   In S120, the memory controller 133 records the number of accesses to each bank for each master. Specifically, the memory controller 133 specifies the bank number indicated by the bit of the allocation position of the bank address set in S110 among the number of the master that made the access request and each bit of the request address. Then, the access count 480 corresponding to the specified master number and bank number in the statistical table 400 is counted up.

S130では、メモリーコントローラー133は、所定数のアクセスが終了したか否かを判定する。具体的には、メモリーコントローラー133は、所定数のバンクアドレス割付パターンを設定したか否かを判定する。所定数のアクセスが終了した場合(S130:YES)、処理をS140に進める。なお、この場合、CPU120は、複数のマスターによるアクセス要求を停止する。所定数のアクセスが終了していない場合(S130:NO)、メモリーコントローラー133は、処理をS110に戻す。   In S130, the memory controller 133 determines whether a predetermined number of accesses have been completed. Specifically, the memory controller 133 determines whether or not a predetermined number of bank address allocation patterns have been set. When the predetermined number of accesses are completed (S130: YES), the process proceeds to S140. In this case, the CPU 120 stops access requests from a plurality of masters. When the predetermined number of accesses are not completed (S130: NO), the memory controller 133 returns the process to S110.

S140では、メモリーコントローラー133は、自動設定モードが設定されているか否かを判定する。自動設定モードが設定されている場合(S140:YES)、処理をS150へ進める。手動設定モードが設定されている場合(S140:NO)、処理をS170へ進める。   In S140, the memory controller 133 determines whether or not the automatic setting mode is set. If the automatic setting mode is set (S140: YES), the process proceeds to S150. If the manual setting mode is set (S140: NO), the process proceeds to S170.

S150では、メモリーコントローラー133は、バンクアドレスの割付パターンを選択する。具体的には、メモリーコントローラー133は、S110で順次設定したバンクアドレス割付パターンごとに、上述した(2)〜(4)の処理を行う。それから、バンクアドレスの割付パターンのうち、最も適切なばらつき度を有するパターンを1つ選択する。そして、処理をS160へ進める。   In S150, the memory controller 133 selects a bank address allocation pattern. Specifically, the memory controller 133 performs the processes (2) to (4) described above for each bank address assignment pattern set in S110. Then, one of the bank address allocation patterns having the most appropriate variation degree is selected. Then, the process proceeds to S160.

S160では、メモリーコントローラー133は、S150で選択したバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をS190に進める。   In S160, the memory controller 133 sets the bank address allocation pattern selected in S150 in a register for setting the bank address allocation position. Then, the process proceeds to S190.

S170では、メモリーコントローラー133は、バンクアドレスの割付パターンの選択を受け付ける。具体的には、メモリーコントローラー133は、S110で順次設定したバンクアドレス割付パターンごとに、上述した(2)〜(4)の処理を行う。それから、CPU120は、操作パネル170に、統計テーブル400に記録されているデータの一部もしくは全てを表示する。例えば、バンクアドレス割付パターン410とアクセスばらつき度420の一覧を表示する。バンクアドレス割付パターン410ごとに、マスター番号450と最頻出バンク番号460の一覧を表示するようにしてもよい。すなわち、ユーザーが、バンクアドレスの割付パターンを選択するために必要な統計情報が、メモリーコントローラー133から取得されて表示されるようにするのが好ましい。   In S170, the memory controller 133 accepts selection of a bank address assignment pattern. Specifically, the memory controller 133 performs the processes (2) to (4) described above for each bank address assignment pattern set in S110. Then, the CPU 120 displays part or all of the data recorded in the statistical table 400 on the operation panel 170. For example, a list of the bank address assignment pattern 410 and the access variation degree 420 is displayed. A list of master numbers 450 and most frequent bank numbers 460 may be displayed for each bank address assignment pattern 410. That is, it is preferable that statistical information necessary for the user to select a bank address allocation pattern is acquired from the memory controller 133 and displayed.

また、S170において、CPU120は、操作パネル170を介して、バンクアドレス割付パターンのユーザーの選択を受け付け、当該バンクアドレス割付パターンをメモリーコントローラー133に送る。そして、処理をS180に進める。   In S <b> 170, the CPU 120 accepts the user's selection of the bank address assignment pattern via the operation panel 170 and sends the bank address assignment pattern to the memory controller 133. Then, the process proceeds to S180.

S180では、メモリーコントローラー133は、S170でCPU120から送られたバンクアドレス割付パターンを、バンクアドレスの割付位置を設定するためのレジスターに設定する。そして、処理をS190に進める。   In S180, the memory controller 133 sets the bank address allocation pattern sent from the CPU 120 in S170 to a register for setting the allocation position of the bank address. Then, the process proceeds to S190.

S190では、メモリーコントローラー133は、通常モードへ移行する。具体的には、レジスターのバンクアドレス割付設定モードの設定を解除する。そして、メモリーコントローラー133は、本フローを終了する。なお、通常モードでは、S160またはS180で設定されたバンクアドレス割付パターンのまま、SDRAM140へのアクセス要求がメモリーコントローラー133により処理される。   In S190, the memory controller 133 shifts to the normal mode. Specifically, the setting of the register bank address allocation setting mode is canceled. Then, the memory controller 133 ends this flow. In the normal mode, an access request to the SDRAM 140 is processed by the memory controller 133 while maintaining the bank address assignment pattern set in S160 or S180.

以上、本発明の一実施形態について説明した。本実施形態によれば、マルチバンクアクセスをより多く発生させて、メモリーアクセス効率を向上させることができる。   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 CPU 120 issues an access request for each master, but the memory controller 133 may issue an access request to itself. In this case, test data including continuous access requests from a plurality of masters in advance in a memory such as a ROM (for example, access requests from each master generated in normal image processing performed immediately before execution of printing executed by the controller 110). The memory controller 133 reads this test data and issues an access request to itself.

また、メモリーコントローラー133は、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴を上記のテストデータとして用いてもよい。また、上記のバンクアドレス割付設定モード用プログラムは、通常モード中の各マスターのアクセス要求の履歴を記憶しておき、バンクアドレス割付設定モードにおいて、アクセス要求の履歴に基いてアクセス要求を発生させるプログラムであってもよい。   The memory controller 133 may store a history of access requests of each master during the normal mode, and use the access request history as the test data in the bank address assignment setting mode. The bank address assignment setting mode program stores a history of access requests of each master during the normal mode, and generates an access request based on the access request history in the bank address assignment setting mode. It may be.

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および前記SDRAMを制御するメモリー制御回路を備えた画像処理装置であって、
前記メモリー制御回路は、
マスターからの前記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に記載の画像処理装置であって、
前記メモリー制御回路は、
前記ビット位置の設定を変更するための設定モードと、それ以外の通常モードとのいずれかを設定するモード設定手段を有し、
前記統計手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度を記録し、
前記設定手段は、
前記設定モードが設定されている場合に、前記各バンクに対する前記アクセス頻度に基づいて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.
請求項2に記載の画像処理装置であって、
前記アクセス手段は、
前記設定モードが設定されている場合に、前記マスターからの前記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.
請求項1〜3いずれか一項に記載の画像処理装置であって、
前記設定手段は、
前記各バンクに対する前記アクセス頻度が最も均等にばらつく変更ビット位置を選択する、
ことを特徴とする画像処理装置。
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.
JP2009050334A 2009-03-04 2009-03-04 Image processing apparatus Withdrawn JP2010205002A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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