WO2010086919A1 - Memory access device and techniques related thereto - Google Patents

Memory access device and techniques related thereto Download PDF

Info

Publication number
WO2010086919A1
WO2010086919A1 PCT/JP2009/003688 JP2009003688W WO2010086919A1 WO 2010086919 A1 WO2010086919 A1 WO 2010086919A1 JP 2009003688 W JP2009003688 W JP 2009003688W WO 2010086919 A1 WO2010086919 A1 WO 2010086919A1
Authority
WO
WIPO (PCT)
Prior art keywords
bank
access
memory
rectangular
master
Prior art date
Application number
PCT/JP2009/003688
Other languages
French (fr)
Japanese (ja)
Inventor
古川量也
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2010086919A1 publication Critical patent/WO2010086919A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Definitions

  • the conflict determination unit is configured to determine a bank conflict based on the bank numbers output from all the access masters.
  • the memory mapping is selected so that the processing time of the rectangular command is minimized, the time required to complete the processing of the rectangular command in an arbitrary operation mode is reduced. It is possible to minimize the time. That is, it is possible to improve the access efficiency when accessing a memory having a plurality of banks with a rectangular command.
  • the rectangular command issuing unit 21 generates parameters of rectangular width (the information is given from the rectangular width / rectangular position holding unit 12) and parameters of rectangular commands other than the rectangular position, and these parameters are converted into the command conversion unit 22. Configured to output.
  • the rectangular command issuing unit 21 uses the above parameters as The base address of the frame area, -Offset X, which is the position of the rectangular command on the frame area ⁇ Offset Y, The rectangle height representing the rectangle command area, Is generated.
  • the first memory address conversion unit 23A is configured to perform address conversion (bank number generation and offset generation) in accordance with the first mapping m1.
  • the second memory address conversion unit 23B is configured to perform address conversion in accordance with the second mapping m2.
  • the rectangular width / rectangular position holding unit 12 generates a mode signal corresponding to the operation mode based on the held rectangular width and rectangular position information.
  • the mode signal functions as a selection signal supplied to the in-master selector 26.
  • the intra-master selector 26 is configured to select and output one each from the plurality of bank numbers and the plurality of offsets output from the plurality of memory address conversion units 23 based on the mode signal.
  • the first access master # 1 sets “1” in the first row and the first column of the first rectangular command a1 issued by the first access master # 1. Is selected and bank0 is accessed corresponding to this "1". On the other hand, at timing t1, access from the second access master # 2 is prohibited.
  • the second access master # 2 selects “9” in the third row and third column of the second rectangular command a2 issued by the second access master # 2, and then selects the “9” "Bank0 is accessed in response to”.
  • the rectangular width / rectangular position holding unit 12 in a state where the rectangular width of the rectangular commands handled by the plurality of access masters 20 is “odd multiple” of the memory access width, even the first access master # 1 has the second Even in the access master # 2, the rectangular width / rectangular position holding unit 12 generates a mode signal so that the second memory address conversion unit 23B is selected by the intra-master selector 26. Conversely, when the rectangular width of the rectangular command handled by the first and second access masters # 1 and # 2 is “even multiples” of the memory access width, even the first access master # 1 has the second This means that the rectangular width / rectangular position holding unit 12 only needs to generate the mode signal so that the in-master selector 26 selects the first memory address conversion unit 23A.
  • the first to fourth mappings m1 to m4 are the same as described above.
  • the first to fourth rectangular commands b1 to b4 are common to the first to fourth mappings m1 to m4, and the rectangular width is five times the memory access width (bank width).
  • the memory mapping is selected so that the processing time of the rectangular command is minimized. Therefore, the time required to complete the rectangular command processing in an arbitrary operation mode can be minimized. Thereby, the access efficiency can be improved in the access by the rectangular command to the memory having a plurality of banks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Dram (AREA)

Abstract

A mode fixing unit fixes at least one parameter included in a rectangular command on the basis of an operation mode.  An access master sets an offset at an address position in a memory bank on the basis of the parameter.  The access master designates an arbitrary memory bank from memory banks.  A conflict determination unit specifies a memory bank causing a bank conflict.  A priority determination unit outputs an in-bank selector selection signal for designating a top-priority access master to the memory bank causing the bank conflict and outputs a stop signal to access masters other than the top-priority access master.

Description

メモリアクセス装置およびその関連技術Memory access device and related technology
 本発明は、複数バンク構成のメモリへアクセスする際のアドレス変換を行うメモリアクセス装置およびその関連技術(メモリアクセス方法,映像音声表示装置,LSI,IPコア,記録媒体)に関する。 The present invention relates to a memory access device that performs address conversion when accessing a memory having a plurality of banks, and a related technology (memory access method, video / audio display device, LSI, IP core, recording medium).
 本出願は、2009年1月27日に出願された、明細書,図面、特許請求の範囲を含む日本特許出願2009-015483号の全てを、ここに参照として本明細書に組み入れている。 This application is incorporated herein by reference in its entirety, including Japanese Patent Application No. 2009-015433, filed on January 27, 2009, including the specification, drawings, and claims.
 従来、SRAM(Static Random Access Memory)やSDRAM(Synchronous Dynamic Random Access Memory)のようなメモリに画像データを格納するに際して、特殊な矩形データによる領域指定を行う方法が提案されている。この方法はソフトウェアで扱いやすいと言われている。 Conventionally, there has been proposed a method for specifying an area using special rectangular data when storing image data in a memory such as SRAM (Static Random Access Memory) or SDRAM (Synchronous Dynamic Random Access Memory). This method is said to be easy to handle in software.
 図9はメモリ上に存在するフレーム領域60の中での特定の矩形コマンド領域61を示す。この例ではフレーム領域60はアドレス0からアドレス79までの間に入っており、その中に矩形コマンドを指定するための矩形コマンド領域61が存在する。矩形コマンドはフレーム内のオフセットXとオフセットYで始点を示し、矩形幅と矩形高さにより矩形コマンド領域の広さを示す。矩形コマンド領域61の矩形コマンドのパラメータは、一例として、
・フレームベースアドレス:0、
・フレーム幅:8、
・フレーム高さ:10、
・オフセットX:2、
・オフセットY:2、
・矩形幅:4、
・矩形高さ:5、
から構成されている。
FIG. 9 shows a specific rectangular command area 61 in the frame area 60 existing on the memory. In this example, the frame area 60 is located between address 0 and address 79, and a rectangular command area 61 for designating a rectangular command exists therein. The rectangular command indicates the start point by the offset X and offset Y in the frame, and indicates the width of the rectangular command area by the rectangular width and the rectangular height. As an example, the rectangular command parameters in the rectangular command area 61 are:
-Frame base address: 0,
・ Frame width: 8,
・ Frame height: 10,
・ Offset X: 2,
-Offset Y: 2,
・ Rectangle width: 4,
・ Rectangle height: 5,
It is composed of
 矩形コマンドの開始アドレスは、
 〔フレームベースアドレス〕+〔オフセットX〕+〔フレーム幅〕*〔オフセットY〕で求めることができる。また、矩形コマンドのNライン目の開始アドレスは、
 〔N-1ライン目の開始アドレス〕+〔フレーム幅〕
の式によって算出することができる。この図で分かるように、矩形領域はライン毎にアドレスが不連続になっている。
The start address of the rectangle command is
[Frame base address] + [Offset X] + [Frame width] * [Offset Y]. The start address of the Nth line of the rectangular command is
[N-1st line start address] + [frame width]
It can be calculated by the following formula. As can be seen in this figure, the rectangular area has discontinuous addresses for each line.
 また、複数のメモリをバンク構成にすることで、異なるバンクに対しては同時にアクセスするようなメモリマッピング技術も存在する。 In addition, there is a memory mapping technique in which different banks are accessed simultaneously by making a plurality of memories into a bank configuration.
 画像処理の世界では、従来のアナログ表示での標準画質であるSD(Standard Definition)サイズからデジタル放送等で用いられているHD(High Definition)サイズへと扱う画像データが大きくなり、またMPEG(Moving Picture Experts Group)2からH.264等の、圧縮効率は高いが、処理が複雑で扱う矩形データがより細かく、数が多くなるような圧縮技術が使われるようになってきており、複数の矩形データをより短い時間で転送する技術が望まれている。 In the world of image processing, image data handled from SD (Standard Definition) size, which is the standard image quality in the conventional analog display, to HD (High Definition) size used in digital broadcasting and the like is increased, and MPEG (Moving Picture Experts Group) 2 to H. The compression technology such as H.264 has high compression efficiency but the processing is complicated and the rectangular data to be handled is finer and the number is increasing, and a plurality of rectangular data are transferred in a shorter time. Technology is desired.
特開2004-164641号Japanese Patent Application Laid-Open No. 2004-164641
 従来の技術においては、メモリのデータ幅を広げることでデータ転送容量を拡大することができる。しかしながら、矩形データはライン毎にアドレスが不連続になる。そこで、複数の矩形データを短い時間で転送するために、複数のメモリをバンク構成にして、異なるバンクは同時にアクセス可能とし、矩形データを同時に転送する。しかしながら、複数の矩形データ間でバンク競合が発生してしまい、効率の良い転送の実現は困難である。 In the conventional technology, the data transfer capacity can be expanded by increasing the data width of the memory. However, the rectangular data has discontinuous addresses for each line. Therefore, in order to transfer a plurality of rectangular data in a short time, a plurality of memories are configured in a bank so that different banks can be accessed simultaneously, and the rectangular data is transferred simultaneously. However, bank contention occurs between a plurality of rectangular data, and it is difficult to realize efficient transfer.
 本発明は、このような事情に鑑みて創作したものであり、メモリ上にマッピングされた複数の矩形コマンドでアクセスする際のアクセス効率を向上させるメモリアクセス装置およびその関連技術を提供することを主たる目的としている。 The present invention was created in view of such circumstances, and mainly provides a memory access device and related technology for improving access efficiency when accessing with a plurality of rectangular commands mapped on a memory. It is aimed.
 本発明によるメモリアクセス装置は、モード固定器と、複数のアクセスマスタと、競合判定器と、優先度決定器と、複数のメモリバンクとを備える。以下、これらの構成要素について説明する。 The memory access device according to the present invention includes a mode fixing device, a plurality of access masters, a contention determination device, a priority determination device, and a plurality of memory banks. Hereinafter, these components will be described.
 前記モード固定器は、動作モードに応じて矩形コマンドのパラメータを固定し、その固定のパラメータを各アクセスマスタ(具体的には後述する矩形コマンド発行器)に出力するとともに、前記動作モードに応じたモード信号を生成し、生成したモード信号を各アクセスマスタ(具体的には後述するマスタ内セレクタ)に出力するように構成されている。 The mode fixer fixes the parameters of the rectangular command according to the operation mode, outputs the fixed parameters to each access master (specifically, a rectangular command issuer described later), and also according to the operation mode. A mode signal is generated, and the generated mode signal is output to each access master (specifically, an in-master selector described later).
 前記複数のアクセスマスタのそれぞれは、前記モード固定器による固定のパラメータを入力し、それぞれ独自のバンク番号とメモリ内のオフセットを生成するように構成されている。 Each of the plurality of access masters is configured to input a fixed parameter by the mode fixer and generate a unique bank number and an offset in the memory.
 前記競合判定器は、すべての前記アクセスマスタから出力される前記バンク番号に基づいてバンク競合を判定するように構成されている。 The conflict determination unit is configured to determine a bank conflict based on the bank numbers output from all the access masters.
 前記優先度決定器は、前記競合判定器による判定結果に基づいて優先度判定を行い、最優先するバンク番号を出力したアクセスマスタに対応するメモリバンクに対してバンク内セレクタ選択信号を出力するとともに、最優先するバンク番号を出力したアクセスマスタ以外のアクセスマスタ(具体的には後述するコマンド変換器)に停止信号を出力するように構成されている。 The priority determiner performs priority determination based on a determination result by the competition determiner, and outputs an in-bank selector selection signal to the memory bank corresponding to the access master that has output the highest priority bank number. The stop signal is output to an access master (specifically, a command converter described later) other than the access master that has output the highest priority bank number.
 前記複数のメモリバンクのそれぞれは、すべての前記アクセスマスタから供給されるオフセットを前記優先度決定器から供給されるバンク内セレクタ選択信号に従って選択し、その選択されたオフセットの位置においてバンクメモリにアクセスするように構成されている。 Each of the plurality of memory banks selects an offset supplied from all the access masters according to an in-bank selector selection signal supplied from the priority determiner, and accesses the bank memory at the selected offset position. Is configured to do.
 前記各アクセスマスタは、詳しくは次のように構成されている。すなわち、前記複数のアクセスマスタのそれぞれは、その構成要素として、矩形コマンド発行器と、コマンド変換器と、複数のメモリアドレス変換器と、マスタ内セレクタとを備えている。メモリアドレス変換器が複数設けられ、その複数のメモリアドレス変換器をマスタ内セレクタで選択するように構成したことがポイントである。 Each access master is configured in detail as follows. That is, each of the plurality of access masters includes a rectangular command issuer, a command converter, a plurality of memory address converters, and an in-master selector as its constituent elements. The point is that a plurality of memory address converters are provided, and the plurality of memory address converters are selected by the in-master selector.
 さらに詳しく説明すると、前記矩形コマンド発行器は、前記モード固定器によって固定された前記パラメータを含む前記矩形コマンドを発行するものとして構成されている。固定のパラメータとその他のパラメータとは、矩形コマンドを確定するものである。 More specifically, the rectangular command issuer is configured to issue the rectangular command including the parameters fixed by the mode fixer. The fixed parameter and other parameters determine the rectangular command.
 例えば、固定のパラメータを、矩形コマンドの矩形幅や矩形の位置とすれば、
その他のパラメータは、・フレーム領域のベースアドレス、・オフセットX、・オフセットY、・矩形コマンド領域を表す矩形高さ、となる(一例)。
For example, if the fixed parameter is the rectangle width or rectangle position of the rectangle command,
The other parameters are the base address of the frame area, the offset X, the offset Y, and the rectangular height representing the rectangular command area (an example).
 前記コマンド変換器は、前記矩形コマンドに基づいてサブコマンドを生成するとともに、前記停止信号に基づいて前記サブコマンドの生成を停止するものとして構成されている。 The command converter is configured to generate a subcommand based on the rectangular command and stop generating the subcommand based on the stop signal.
 前記メモリアドレス変換器は、一つの前記動作モードに対応するメモリマッピング情報に基づいて前記サブコマンドを前記バンク番号と前記オフセットとに変換するものとして構成されている。 The memory address converter is configured to convert the subcommand into the bank number and the offset based on memory mapping information corresponding to one operation mode.
 前記マスタ内セレクタは、前記バンク番号と前記オフセットとを、前記動作モードに応じて選択するものとして構成されている。 The intra-master selector is configured to select the bank number and the offset according to the operation mode.
 この本発明のメモリアクセス装置の技術的ポイントは、各動作モードに対応する固有のメモリマッピングを有するメモリアドレス変換器が複数あり、個々のメモリアドレス変換器がその固有のメモリマッピングに従ってコマンド変換器から供給されるサブコマンドを変換して動作モード固有のバンク番号とメモリ内のオフセットを生成し、マスタ内セレクタはモード固定器から供給される動作モードに応じたモード信号によって複数のメモリアドレス変換器から供給される動作モード固有のバンク番号とオフセットとを選択するという点にある。 The technical point of the memory access device of the present invention is that there are a plurality of memory address converters having a unique memory mapping corresponding to each operation mode, and each memory address converter is separated from the command converter according to the unique memory mapping. The subcommand supplied is converted to generate a bank number and an offset in the memory that are specific to the operation mode, and the in-master selector receives a signal from a plurality of memory address converters by a mode signal corresponding to the operation mode supplied from the mode fixer. The bank number and offset specific to the operation mode to be supplied are selected.
 本発明の上記構成による作用は次のとおりである。矩形データはライン毎にアドレスが不連続になる。メモリをバンク構成にして、異なるメモリバンクは同時にアクセス可能とする。しかしながら、それでも、同一のメモリマッピングであっても対象の矩形コマンドの矩形幅がメモリアクセス幅(bank幅)の何倍であるか(偶数倍であるか奇数倍であるか)によって、また、メモリマッピングごとに相違する複数バンクのローテーションずれ(矩形コマンド領域でのラインの進行に伴う所定配列のシフト量)によって、
・複数の矩形データの間におけるバンク競合の発生の有無、
・バンク競合の発生に応じた停止信号の出力の有無、
・矩形コマンドの処理の完了までに要する時間の長短
が変動する。
The effect | action by the said structure of this invention is as follows. The rectangular data has discontinuous addresses for each line. The memory is configured as a bank so that different memory banks can be accessed simultaneously. However, even with the same memory mapping, depending on how many times the rectangular width of the target rectangular command is the memory access width (bank width) (even multiple or odd multiple), the memory Due to the rotation deviation of multiple banks that differ for each mapping (the shift amount of the predetermined array with the progress of the line in the rectangular command area),
-Whether there is a bank conflict between multiple rectangular data,
-Whether a stop signal is output in response to the occurrence of bank conflicts,
• The length of time required to complete rectangular command processing varies.
 本発明の上記構成によれば、矩形コマンドの処理時間が最短になるようにメモリマッピングを選択するように構成してあるので、任意の動作モードでの矩形コマンドの処理の完了までに要する時間を最短化することが可能となる。すなわち、複数バンク構成のメモリに対する矩形コマンドでのアクセスにおいて、そのアクセス効率を向上させることが可能となる。 According to the above configuration of the present invention, since the memory mapping is selected so that the processing time of the rectangular command is minimized, the time required to complete the processing of the rectangular command in an arbitrary operation mode is reduced. It is possible to minimize the time. That is, it is possible to improve the access efficiency when accessing a memory having a plurality of banks with a rectangular command.
 本発明のメモリアクセス装置には、
 前記モード固定器は、
 前記パラメータの一つである前記矩形コマンドの矩形幅を固定し、かつ当該固定した矩形幅に対応する前記メモリマッピング情報を有する前記メモリアドレス変換器を選択する信号を、前記モード信号として生成する、
 という態様がある。これは、矩形幅に基づいたメモリアドレス変換器の切替えを図った態様である。この態様によれば、矩形コマンドの矩形幅に着目することで、アクセス効率をさらに向上させることが可能となる。
In the memory access device of the present invention,
The mode fixer is
A signal for selecting the memory address converter having the memory mapping information corresponding to the fixed rectangular width and fixing the rectangular width of the rectangular command which is one of the parameters is generated as the mode signal.
There is a mode. This is a mode in which the memory address converter is switched based on the rectangular width. According to this aspect, it is possible to further improve the access efficiency by focusing on the rectangular width of the rectangular command.
 本発明のメモリアクセス装置には、
 前記モード固定器は、
 前記パラメータの一つである前記フレーム領域内での矩形コマンドの位置を固定し、かつ当該固定した矩形コマンドの位置に対応する前記メモリマッピング情報を有する前記メモリアドレス変換器を選択する信号を、前記モード信号として生成する、という態様がある。これは、フレーム領域内での矩形コマンドの位置に基づいたアドレス変換器の切り替えを図った態様である。この態様によれば、矩形コマンドの位置に着目することで、アクセス効率をさらに向上させることが可能となる。
In the memory access device of the present invention,
The mode fixer is
A signal for selecting the memory address converter having the memory mapping information corresponding to the position of the fixed rectangular command and fixing the position of the rectangular command in the frame area, which is one of the parameters, There is a mode of generating as a mode signal. This is an aspect in which the address converter is switched based on the position of the rectangular command in the frame area. According to this aspect, it is possible to further improve the access efficiency by focusing on the position of the rectangular command.
 また、本発明による映像音声表示装置は、
 本発明のメモリアクセス装置と、
 前記メモリアクセス装置から供給される画像データを復号化する復号化装置と、
 前記復号化装置の出力を表示する表示装置と、
 を備える。
In addition, the video / audio display device according to the present invention includes:
A memory access device of the present invention;
A decoding device for decoding image data supplied from the memory access device;
A display device for displaying the output of the decoding device;
Is provided.
 また、本発明によるメモリアクセス方法は、
 複数設けたメモリバンクの記録エリアにおける任意の矩形領域を特定する矩形コマンドに含まれる少なくとも一つのパラメータを、前記メモリバンクの記録動作に応じて設定される動作モードに基づいて固定するとともに、前記動作モードに応じてモード信号を生成するモード固定ステップと、
 前記モード固定ステップによって固定された前記パラメータに基づいて、前記メモリバンクにおけるアドレス位置上のオフセットを設定するとともに、前記メモリバンクの中から任意のメモリバンクを指定するアクセスマスタステップと、
 少なくとも2つの前記アクセスマスタによる重複指定に基づいて、バンク競合が生じる前記メモリバンクを特定する競合判定ステップと、
 前記バンク競合が生じる前記メモリバンクを指定する少なくとも2つの前記アクセスマスタにおける優先順位を決定したうえで、最優先とする前記アクセスマスタを指定するバンク内セレクタ選択信号を、前記バンク競合が生じる前記メモリバンクに出力するとともに、最優先とする前記アクセスマスタ以外の前記アクセスマスタに停止信号を出力する優先度決定ステップと、
 前記バンク競合が生じる前記メモリバンクにおいて、前記バンク内セレクタ選択信号で指定される前記アクセスマスタから供給される前記オフセットによって特定される前記矩形領域をアクセスするメモリバンクアクセスステップと、
 を含む。
The memory access method according to the present invention includes:
At least one parameter included in a rectangular command for specifying an arbitrary rectangular area in a plurality of memory bank recording areas is fixed based on an operation mode set in accordance with the recording operation of the memory bank, and the operation A mode fixing step for generating a mode signal according to the mode;
Based on the parameter fixed by the mode fixing step, an offset on the address position in the memory bank is set, and an access master step for designating an arbitrary memory bank from the memory bank;
A conflict determination step for identifying the memory bank in which bank conflict occurs based on duplication designation by at least two of the access masters;
The priority in the at least two access masters that specify the memory bank in which the bank conflict occurs is determined, and an in-bank selector selection signal that specifies the access master to be given the highest priority is used as the memory in which the bank conflict occurs. A priority determination step of outputting a stop signal to the access master other than the access master to be the highest priority, and outputting to the bank;
A memory bank access step of accessing the rectangular area specified by the offset supplied from the access master specified by the intra-bank selector selection signal in the memory bank in which the bank conflict occurs;
including.
 アクセスマスタステップは、
 前記モード固定ステップによって固定された前記パラメータを含む前記矩形コマンドを発行する矩形コマンド発行ステップと、
 前記矩形コマンドに基づいてサブコマンドを生成するとともに、前記停止信号に基づいて前記サブコマンドの生成を停止するコマンド変換ステップと、
 一つの前記動作モードに対応するメモリマッピング情報に基づいて前記サブコマンドを前記バンク番号と前記オフセットとに変換するメモリアドレス変換ステップと、
 前記バンク番号と前記オフセットとを、前記動作モードに応じて選択するマスタ内セレクトステップと、
 を含み、
 前記メモリアドレス変換ステップは、複数ある前記動作モードに対応して複数回実施される。
The access master step is
A rectangular command issuing step for issuing the rectangular command including the parameter fixed by the mode fixing step;
A command conversion step of generating a subcommand based on the rectangular command and stopping the generation of the subcommand based on the stop signal;
A memory address conversion step of converting the subcommand into the bank number and the offset based on memory mapping information corresponding to one operation mode;
In-master select step for selecting the bank number and the offset according to the operation mode;
Including
The memory address conversion step is performed a plurality of times corresponding to a plurality of the operation modes.
 なお、本発明は、メモリアクセス装置、メモリアクセス方法として実現される以外に、上記のメモリアクセス方法の機能が組み込まれたLSI(Large Scale Integration)、その機能をFPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)などのプログラマブルロジックデバイス(PLD)に構成するIP(Intellectual Property)コア,そのIPコアの機能のプログラムを記録したコンピュータ読み取り可能なメモリアクセス用の光ディスク,光磁気ディスク,半導体メモリ,磁気ディスク,磁気テープなどの記録媒体において実現されるとしてもよい。 The present invention is not only realized as a memory access device and a memory access method, but also includes an LSI (Large Scale Integration) incorporating a function of the above memory access method, an FPGA (Field Programmable Gate Array), and CPLD. (Complex Programmable Logic Device) and other programmable logic device (PLD) IP (Intellectual Property) cores, computer-readable memory access optical disks, magneto-optical disks, and semiconductor memories that record programs for the IP core functions It may be realized in a recording medium such as a magnetic disk or a magnetic tape.
 本発明によれば、複数バンク構成のメモリ上にマッピングされた複数の矩形コマンドでのアクセスにおいて、そのアクセス効率を向上させることできる。さらに、矩形コマンドの矩形幅や矩形の位置に着目することで、アクセス効率をさらに向上させることができる。 According to the present invention, it is possible to improve the access efficiency in access by a plurality of rectangular commands mapped on a memory having a plurality of banks. Further, by paying attention to the rectangular width and rectangular position of the rectangular command, the access efficiency can be further improved.
図1は、本発明の実施の形態1におけるメモリアクセス装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a memory access device according to Embodiment 1 of the present invention. 図2は、本発明の実施の形態1におけるメモリアクセス装置の動作例1を比較例とともに示す図(アクセスマスタ数2、メモリバンク数2、矩形幅:bank幅の奇数倍)である。FIG. 2 is a diagram showing an operation example 1 of the memory access device according to the first exemplary embodiment of the present invention together with a comparative example (number of access masters 2, number of memory banks 2, rectangular width: odd multiple of bank width). 図3は、本発明の実施の形態1におけるメモリアクセス装置の動作例2を比較例とともに示す図(アクセスマスタ数2,メモリバンク数2,矩形幅:bank幅の偶数倍)である。FIG. 3 is a diagram showing an operation example 2 of the memory access device according to the first embodiment of the present invention together with a comparative example (number of access masters 2, number of memory banks 2, rectangular width: even multiple of bank width). 図4は、本発明の実施の形態2におけるメモリアクセス装置の構成を示すブロック図である。FIG. 4 is a block diagram showing the configuration of the memory access device according to the second embodiment of the present invention. 図5は、本発明の実施の形態2におけるメモリアクセス装置の動作例1を比較例とともに示す図(アクセスマスタ数4,メモリバンク数4,矩形幅:bank幅の4倍)である。FIG. 5 is a diagram showing an operation example 1 of the memory access device according to the second exemplary embodiment of the present invention together with a comparative example (4 access masters, 4 memory banks, rectangular width: 4 times the bank width). 図6は、本発明の実施の形態2におけるメモリアクセス装置の動作例2を比較例とともに示す図(アクセスマスタ数4,メモリバンク数4,矩形幅:bank幅の5倍)である。FIG. 6 is a diagram (access master number 4, memory bank number 4, rectangular width: 5 times the bank width) showing an operation example 2 of the memory access device according to the second embodiment of the present invention together with a comparative example. 図7は、本発明の実施の形態2におけるメモリアクセス装置の動作例3を比較例とともに示す図(アクセスマスタ数4,メモリバンク数4,矩形幅:bank幅の6倍)である。FIG. 7 is a diagram (access master number 4, memory bank number 4, rectangular width: 6 times the bank width) showing an operation example 3 of the memory access device according to the second embodiment of the present invention together with a comparative example. 図8は、本発明の実施の形態2におけるメモリアクセス装置の動作例4を比較例とともに示す図(アクセスマスタ数4、メモリバンク数4、矩形幅:bank幅の7倍)である。FIG. 8 is a diagram (access master number 4, memory bank number 4, rectangular width: seven times the bank width) showing an operation example 4 of the memory access device according to the second embodiment of the present invention together with a comparative example. メモリ上に存在するフレーム領域の中で特定の矩形コマンド領域を示す図である。It is a figure which shows a specific rectangular command area | region in the frame area | region which exists on a memory.
 (実施の形態1)
 図1は本発明の実施の形態1におけるメモリアクセス装置の構成を示すブロック図である。本実施の形態では、2個のアクセスマスタ20,20と、2個のメモリバンク30,30を備えたシステムを例にしている。以下、2つのアクセスマスタ20,20を区別して、アクセスマスタ#1,アクセスマスタ#2と称する。図中、上側に位置するアクセスマスタ20が第1のアクセスマスタ#1であり、下側に位置するアクセスマスタ20が第2のアクセスマスタ#2である。また、2個のメモリバンク30,30を区別して、bank0,bank1と称する。図中上側に位置するメモリバンク30がbank0であり、下側に位置するメモリバンク30がbank1である。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a memory access device according to Embodiment 1 of the present invention. In the present embodiment, a system including two access masters 20 and 20 and two memory banks 30 and 30 is taken as an example. Hereinafter, the two access masters 20 and 20 are distinguished and referred to as access master # 1 and access master # 2. In the figure, the access master 20 located on the upper side is the first access master # 1, and the access master 20 located on the lower side is the second access master # 2. Further, the two memory banks 30 and 30 are distinguished and referred to as bank0 and bank1. In the figure, the memory bank 30 located on the upper side is bank0, and the memory bank 30 located on the lower side is bank1.
 実施の形態1におけるメモリアクセス装置は、構成要素として、モード固定器10と、アクセスマスタ#1,#2と、bank0,bank1と、競合判定部40と、優先度決定部50とを備える。 The memory access device according to the first embodiment includes a mode fixer 10, access masters # 1 and # 2, bank 0 and bank 1, a contention determination unit 40, and a priority determination unit 50 as components.
 モード固定器10はパラメータ固定部11と矩形幅/矩形位置保持部12とを備える。パラメータ固定部11は、動作モードに応じて矩形コマンド内の矩形幅と矩形位置のパラメータとを固定するものとして構成される。矩形幅/矩形位置保持部12は、パラメータ固定部11によって固定されたパラメータを保持し、保持した矩形幅と矩形位置との情報を矩形コマンド発行部21に出力するように構成される。 The mode fixing device 10 includes a parameter fixing unit 11 and a rectangular width / rectangular position holding unit 12. The parameter fixing unit 11 is configured to fix the rectangular width and rectangular position parameters in the rectangular command according to the operation mode. The rectangular width / rectangular position holding unit 12 is configured to hold the parameters fixed by the parameter fixing unit 11 and output information on the held rectangular width and rectangular position to the rectangular command issuing unit 21.
 アクセスマスタ#1,#2は、矩形コマンド発行部21と、コマンド変換部22と、第1,第2のメモリアドレス変換部23A,23Bと、オフセット生成部25と、マスタ内セレクタ26とを備える。矩形コマンド発行部21は矩形コマンドのパラメータを出力する。コマンド変換部22は、矩形コマンドのパラメータを受け取って矩形コマンドの開始アドレスや開始アドレス以降のアクセスアドレスの計算を行ってサブコマンドを生成する。また、コマンド変換部22は、優先度決定部50から供給される停止信号に基づいてサブコマンドの生成を停止する。第1,第2のメモリアドレス変換部23A,23Bは、バンク生成部24とオフセット生成部25とを備える。バンク生成部24は、計算されたアドレスに基づいてバンク番号を生成する。オフセット生成部25は、計算されたアドレスに基づいてそのメモリ内のオフセットを生成する。 The access masters # 1 and # 2 include a rectangular command issuing unit 21, a command conversion unit 22, first and second memory address conversion units 23A and 23B, an offset generation unit 25, and an in-master selector 26. . The rectangular command issuing unit 21 outputs a rectangular command parameter. The command conversion unit 22 receives the parameters of the rectangular command, calculates the start address of the rectangular command and the access address after the start address, and generates a subcommand. Further, the command conversion unit 22 stops the generation of the subcommand based on the stop signal supplied from the priority determination unit 50. The first and second memory address conversion units 23A and 23B include a bank generation unit 24 and an offset generation unit 25. The bank generation unit 24 generates a bank number based on the calculated address. The offset generation unit 25 generates an offset in the memory based on the calculated address.
 矩形コマンド発行部21は、矩形幅(矩形幅/矩形位置保持部12からその情報が与えられる)のパラメータと、矩形位置以外の矩形コマンドのパラメータとを生成して、それらパラメータをコマンド変換部22に出力するように構成される。矩形コマンド発行部21は、上記パラメータとして、
・フレーム領域のベースアドレス、
・矩形コマンドのフレーム領域上での位置であるオフセットX、
・オフセットY、
・矩形コマンド領域を表す矩形高さ、
を生成する。
The rectangular command issuing unit 21 generates parameters of rectangular width (the information is given from the rectangular width / rectangular position holding unit 12) and parameters of rectangular commands other than the rectangular position, and these parameters are converted into the command conversion unit 22. Configured to output. The rectangular command issuing unit 21 uses the above parameters as
The base address of the frame area,
-Offset X, which is the position of the rectangular command on the frame area
・ Offset Y,
The rectangle height representing the rectangle command area,
Is generated.
 コマンド変換部22は、矩形コマンドのパラメータから矩形コマンドの開始アドレスと、開始アドレス以降のアクセスアドレスとを計算して、その計算結果を第1,第2のメモリアドレス変換部23A,23Bに出力する。第1,第2のメモリアドレス変換部23A,23Bにおいてバンク生成部24とオフセット生成部25とは、次の動作を行う。バンク生成部24は、コマンド変換部22で計算されたアドレスに基づいてメモリバンクを選択して選択したメモリバンクのバンク番号を生成する。オフセット生成部25は、コマンド変換部22で計算されたアドレスに基づいてメモリ部32内のオフセットを生成する。 The command conversion unit 22 calculates the start address of the rectangular command and the access address after the start address from the parameters of the rectangular command, and outputs the calculation result to the first and second memory address conversion units 23A and 23B. . In the first and second memory address conversion units 23A and 23B, the bank generation unit 24 and the offset generation unit 25 perform the following operations. The bank generation unit 24 selects a memory bank based on the address calculated by the command conversion unit 22 and generates a bank number of the selected memory bank. The offset generation unit 25 generates an offset in the memory unit 32 based on the address calculated by the command conversion unit 22.
 第1,第2のメモリアドレス変換部23A,23Bは、それぞれが独自の動作モードに適したメモリマッピングに対応している。ここで、メモリマッピングには図2や図3に示すように、2種類のマッピング(第1,第2のマッピングm1,m2)が用意されている。 The first and second memory address conversion units 23A and 23B each correspond to memory mapping suitable for a unique operation mode. Here, as shown in FIGS. 2 and 3, two types of mappings (first and second mappings m1 and m2) are prepared for the memory mapping.
 第1のマッピングm1は、フレーム領域において異なるラインに対して、bank0とbank1とで見せ方を同じにした場合のマッピングである。すなわち、奇数ラインにおいても偶数ラインにおいても、bank0もbank1も水平方向での位置関係が同じとなっている。つまり、bank0とbank1とは、ともに垂直方向に連続している。 The first mapping m1 is a mapping when different lines in the frame region are shown in the same way in bank0 and bank1. In other words, both the bank 0 and the bank 1 have the same positional relationship in the horizontal direction in both the odd and even lines. That is, both bank0 and bank1 are continuous in the vertical direction.
 第2のマッピングm2は、フレーム領域において異なるラインに、上下のバンクが異なるようにしたマッピングである。すなわち、奇数ラインにおいてbank0となっている領域の垂直方向に隣接する偶数ラインではbank1が存在し、奇数ラインにおいてbank1となっている領域の垂直方向に隣接する偶数ラインではbank0が存在している。つまり、bank0とbank1とは市松模様を呈する。 The second mapping m2 is a mapping in which the upper and lower banks are different in different lines in the frame area. That is, bank1 exists in the even line adjacent in the vertical direction of the region that is bank 0 in the odd line, and bank 0 exists in the even line that is adjacent in the vertical direction in the region that is bank 1 in the odd line. That is, bank0 and bank1 exhibit a checkered pattern.
 第1のマッピングm1が第1のメモリアドレス変換部23に適用され、第2のマッピングm2が下側のメモリアドレス変換部23に適用される(第1のアクセスマスタ#1でも第2のアクセスマスタ#2でも同じ)。 The first mapping m1 is applied to the first memory address conversion unit 23, and the second mapping m2 is applied to the lower memory address conversion unit 23 (the first access master # 1 also has the second access master). Same for # 2.)
 第1,第2のアクセスマスタ#1,#2では、ともに第1のメモリアドレス変換部23Aが第1のマッピングm1に準拠してアドレス変換(バンク番号生成とオフセット生成)を行うように構成され、第2のメモリアドレス変換部23Bが第2のマッピングm2に準拠してアドレス変換を行うように構成される。 In both the first and second access masters # 1 and # 2, the first memory address conversion unit 23A is configured to perform address conversion (bank number generation and offset generation) in accordance with the first mapping m1. The second memory address conversion unit 23B is configured to perform address conversion in accordance with the second mapping m2.
 矩形幅/矩形位置保持部12は、保持する矩形幅,矩形位置の情報に基づいて、動作モードに応じたモード信号を生成する。モード信号は、マスタ内セレクタ26に供給する選択信号として機能する。マスタ内セレクタ26は、モード信号に基づいて、複数のメモリアドレス変換部23から出力される複数のバンク番号および複数のオフセットからそれぞれ1つずつ選択して出力するように構成される。 The rectangular width / rectangular position holding unit 12 generates a mode signal corresponding to the operation mode based on the held rectangular width and rectangular position information. The mode signal functions as a selection signal supplied to the in-master selector 26. The intra-master selector 26 is configured to select and output one each from the plurality of bank numbers and the plurality of offsets output from the plurality of memory address conversion units 23 based on the mode signal.
 矩形幅/矩形位置保持部12からマスタ内セレクタ26に出力されるモード信号は、次のように設定される。すなわち、第1,第2のアクセスマスタ#1,#2で取り扱われる矩形コマンドにおいて、そのコマンドに含まれる矩形幅の情報がメモリアクセス幅の「偶数倍」を示す状態では、モード信号は、両アクセスマスタ#1,#2において、第1のメモリアドレス変換部23Aを選択するようにマスタ内セレクタ26を制御する(図3の(a)参照)。第1のメモリアドレス変換部23Aは第1のマッピングm1に対応している。逆に、第1,第2のアクセスマスタ#1,#2で取り扱う矩形コマンドにおいて、そのコマンドに含まれる矩形幅の情報がメモリアクセス幅の「奇数倍」を示す状態では、モード信号は、両アクセスマスタ#1,#2において、下側のメモリアドレス変換部23Bを選択するようにマスタ内セレクタ26を制御する(図2の(b)参照)。第2のメモリアドレス変換部23Bは第2のマッピングm2に対応している。 The mode signal output from the rectangular width / rectangular position holding unit 12 to the in-master selector 26 is set as follows. That is, in the rectangular command handled by the first and second access masters # 1 and # 2, in the state where the rectangular width information included in the command indicates “even multiple” of the memory access width, the mode signal is In the access masters # 1 and # 2, the in-master selector 26 is controlled so as to select the first memory address conversion unit 23A (see (a) of FIG. 3). The first memory address conversion unit 23A corresponds to the first mapping m1. On the other hand, in the rectangular commands handled by the first and second access masters # 1 and # 2, when the rectangular width information included in the commands indicates “odd multiple” of the memory access width, the mode signal is In the access masters # 1 and # 2, the in-master selector 26 is controlled so as to select the lower memory address conversion unit 23B (see FIG. 2B). The second memory address conversion unit 23B corresponds to the second mapping m2.
 bank0,bank1は、バンク内セレクタ31とメモリ部32とを備える。バンク内セレクタ31は、優先度決定部50から供給されるバンク内セレクタ選択信号に応じて、第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットos1と第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるオフセットos2とを選択するように構成される。メモリ部32は、バンク内セレクタ31を介して供給されるオフセットの位置に対応するアドレス位置にアクセス可能となっている。メモリ部32は、ここでは一例としてSRAMとするが、他のSDRAMや不揮発メモリであるフラッシュメモリ、ReRAM(Resistive Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)等でもよい。 Bank 0 and bank 1 include an in-bank selector 31 and a memory unit 32. The intra-bank selector 31 responds to the intra-bank selector selection signal supplied from the priority determination unit 50, and the offset os1 and the second access master supplied via the intra-master selector 26 of the first access master # 1. The offset os2 supplied via the # 2 intra-master selector 26 is selected. The memory unit 32 can access an address position corresponding to the offset position supplied via the in-bank selector 31. The memory unit 32 is an SRAM here as an example, but may be another SDRAM, a flash memory that is a nonvolatile memory, a ReRAM (ResistivesisRandom Access Memory), an MRAM (Magnetoresistive Random Access Memory), or the like.
 競合判定部40は、第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるバンク番号と第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるバンク番号との比較に基づいて、両アクセスマスタ#1,#2でバンク競合が発生しているかどうかを判定するものとして構成される。バンク競合の判定結果は優先度決定部50に出力される。 The contention determination unit 40 compares the bank number supplied via the intra-master selector 26 of the first access master # 1 and the bank number supplied via the intra-master selector 26 of the second access master # 2. Based on the above, it is configured to determine whether or not bank contention has occurred in both access masters # 1 and # 2. The bank competition determination result is output to the priority determination unit 50.
 優先度決定部50では、予めバンク番号毎に固定的に優先度が決められている。優先度決定部50は、競合判定部40によってバンク競合の発生が確認されると、バンク競争が発生した時点におけるアクセスマスタ#1,#2の優先度判定を上記優先度に基づいて行う。そのうえで優先度決定部50は、バンク競合に敗れた(優先度が低い)と判断した第1のアクセスマスタ#1または第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する。さらに優先度決定部50は、bank0のバンク内セレクタ31とbank1のバンク内セレクタ31とに、バンク内セレクタ選択信号を出力する。バンク内セレクタ選択信号は、バンク競合に勝ったと判断された第1のアクセスマスタ#1,または第2のアクセスマスタ#2から供給されるオフセットを選択するように指示する選択信号である。優先度決定部50から出力された停止信号はバンク競合に敗れたと判断された第1のアクセスマスタ#1,または第2のアクセスマスタ#2内のコマンド変換部22に入力される。コマンド変換部22は、受信した停止信号に基づいて、実施しているメモリアドレスの生成を停止する。 In the priority determination unit 50, a priority is fixed in advance for each bank number. When the conflict determination unit 40 confirms the occurrence of bank conflict, the priority determination unit 50 determines the priority of the access masters # 1 and # 2 at the time when the bank conflict occurs based on the priority. In addition, the priority determination unit 50 outputs a stop signal to the command conversion unit 22 of the first access master # 1 or the second access master # 2 that is determined to have lost bank competition (low priority). Further, the priority determination unit 50 outputs an in-bank selector selection signal to the in-bank selector 31 of bank0 and the in-bank selector 31 of bank1. The in-bank selector selection signal is a selection signal for instructing to select an offset supplied from the first access master # 1 or the second access master # 2 determined to have won the bank conflict. The stop signal output from the priority determination unit 50 is input to the command conversion unit 22 in the first access master # 1 or the second access master # 2 determined to have lost bank competition. The command conversion unit 22 stops the generation of the implemented memory address based on the received stop signal.
 次に、上記のように構成された本実施の形態のメモリアクセス装置の動作を説明する。モード固定器10におけるパラメータ固定部11によって矩形コマンド内の矩形幅と矩形位置のパラメータが固定される。固定された矩形幅と矩形位置とに関する情報は矩形幅/矩形位置保持部12によって一旦保持されたうえで、矩形コマンド発行部21に出力される。矩形幅/矩形位置保持部12は、固定された矩形幅と矩形位置とに関する情報に基づいて動作モードに応じたモード信号を生成してマスタ内セレクタ26に出力する。 Next, the operation of the memory access device of the present embodiment configured as described above will be described. The parameter fixing unit 11 in the mode fixing unit 10 fixes the rectangular width and rectangular position parameters in the rectangular command. Information regarding the fixed rectangular width and rectangular position is temporarily held by the rectangular width / rectangular position holding unit 12 and then output to the rectangular command issuing unit 21. The rectangular width / rectangular position holding unit 12 generates a mode signal corresponding to the operation mode based on information on the fixed rectangular width and rectangular position, and outputs the mode signal to the intra-master selector 26.
 矩形コマンド発行部21では、矩形幅/矩形位置保持部12から与えられる矩形幅,矩形位置以外の矩形コマンドのパラメータ、すなわち、フレーム領域のベースアドレス,矩形コマンドのフレーム領域上での位置であるオフセットX,オフセットY,矩形コマンド領域を表す矩形高さ等が生成され、コマンド変換部22に出力される。コマンド変換部22において、矩形コマンドのパラメータから矩形コマンドの開始アドレスや開始アドレス以降のアクセスアドレスの計算が行われ、サブコマンドが第1,第2のメモリアドレス変換部23A,23Bに出力される。第1,第2のメモリアドレス変換部23A,23Bでは、バンク生成部24が、指定するバンクを示すバンク番号を生成して、マスタ内セレクタ26に出力する。バンク番号は、コマンド変換部22で計算されたアドレスに基づいて選択されるバンクを指定する。また、オフセット生成部25は、コマンド変換部22で計算されたアドレスを基にメモリ部32内のオフセットを生成する。 In the rectangular command issuing unit 21, the rectangular width given from the rectangular width / rectangular position holding unit 12, the parameters of the rectangular command other than the rectangular position, that is, the base address of the frame area, and the offset that is the position of the rectangular command on the frame area X, offset Y, rectangular height representing the rectangular command area, and the like are generated and output to the command conversion unit 22. The command conversion unit 22 calculates the start address of the rectangular command and the access address after the start address from the parameters of the rectangular command, and outputs the subcommand to the first and second memory address conversion units 23A and 23B. In the first and second memory address conversion units 23A and 23B, the bank generation unit 24 generates a bank number indicating a designated bank and outputs the bank number to the intra-master selector 26. The bank number designates a bank selected based on the address calculated by the command conversion unit 22. The offset generation unit 25 generates an offset in the memory unit 32 based on the address calculated by the command conversion unit 22.
 第1,第2のアクセスマスタ#1,#2では、第1のメモリアドレス変換部23Aが第1のマッピングm1に準拠してアドレス変換(バンク番号生成とオフセット生成)を行い、第2のメモリアドレス変換部23Bが第2のマッピングm2に準拠してアドレス変換(バンク番号生成とオフセット生成)を行う。生成されたバンク番号とオフセットはマスタ内セレクタ26に出力される。 In the first and second access masters # 1 and # 2, the first memory address conversion unit 23A performs address conversion (bank number generation and offset generation) in accordance with the first mapping m1, and the second memory The address conversion unit 23B performs address conversion (bank number generation and offset generation) in accordance with the second mapping m2. The generated bank number and offset are output to the intra-master selector 26.
 マスタ内セレクタ26は、第1,第2のメモリアドレス変換部23A,23Bの出力(バンク番号とオフセット)の中から一つを、矩形幅/矩形位置保持部12から供給されるモード信号(矩形幅と矩形位置の情報)に基づいて選択して出力する。競合判定部40は、第1,第2のアクセスマスタ#1,#2から供給されるバンク番号に基づいて第1,第2のアクセスマスタ#1,#2におけるバンク競合を判定し、その判定結果を優先度決定部50に出力する。競合判定部40によってバンク競合の発生が確認されると優先度決定部50は、バンク競争が発生した時点における第1,第2のアクセスマスタ#1,#2の優先度判定を、予めバンク番号毎に固定的に決められている優先度に基づいて行う。優先度決定部50は、バンク競合に敗れた(優先度が低い)と判断された第1,第2のアクセスマスタ#1,#2のコマンド変換部22に停止信号を出力する。 The intra-master selector 26 selects one of the outputs (bank numbers and offsets) of the first and second memory address conversion units 23A and 23B from the mode signal (rectangular position / rectangular position holding unit 12). Select and output based on width and rectangle position information). The contention determination unit 40 determines bank contention in the first and second access masters # 1 and # 2 based on the bank numbers supplied from the first and second access masters # 1 and # 2, and the determination The result is output to the priority determination unit 50. When the occurrence of bank conflict is confirmed by the conflict determination unit 40, the priority determination unit 50 determines in advance the priority determination of the first and second access masters # 1 and # 2 at the time when the bank conflict occurs. This is performed based on a priority that is fixedly determined every time. The priority determination unit 50 outputs a stop signal to the command conversion units 22 of the first and second access masters # 1 and # 2 that are determined to have lost bank competition (low priority).
 停止信号を受けたコマンド変換部22は、実施中のサブコマンドの生成を停止する。優先度決定部50は、bank0,bank1のバンク内セレクタ31にバンク内セレクタ選択信号を出力する。バンク内セレクタ31は、バンク内セレクタ選択信号に基づいて、バンク競合に勝った第1のアクセスマスタ#1または第2のアクセスマスタ#2から出力されるオフセットを選択する。bank0,bank1は、バンク内セレクタ31によって選択されたオフセットに基づいてメモリ部32にアクセスする。 The command conversion unit 22 that has received the stop signal stops the generation of the subcommand being executed. The priority determination unit 50 outputs an in-bank selector selection signal to the in-bank selectors 31 of bank0 and bank1. The intra-bank selector 31 selects an offset output from the first access master # 1 or the second access master # 2 that has won the bank conflict based on the intra-bank selector selection signal. Bank 0 and bank 1 access the memory unit 32 based on the offset selected by the in-bank selector 31.
 以下、具体的な動作例を図2、図3を参照して説明する。図2は動作例1を示し、図3は動作例2を示す。図2の(a),図2の(b)は比較例の動作例であり、図2の(c),図2の(d)は本実施の形態の動作例である。また、図3の(a),図3の(b)は本実施の形態の動作例であり、図3の(c),図3の(d)は比較例の動作例である。 Hereinafter, specific operation examples will be described with reference to FIGS. 2 shows an operation example 1 and FIG. 3 shows an operation example 2. 2A and 2B are operation examples of the comparative example, and FIG. 2C and FIG. 2D are operation examples of the present embodiment. 3A and 3B are operation examples of the present embodiment, and FIG. 3C and FIG. 3D are operation examples of a comparative example.
 (1)動作例1
 図2は矩形コマンドa1,a2の矩形幅がbank幅(メモリアクセス幅)の「奇数倍」(3倍)の場合の動作例を比較例とともに示している。具体的には、これらの動作例と比較例とは、矩形コマンドa1と第2の矩形コマンドa2とにおいてその矩形幅がメモリアクセス幅(bank0やbank1の幅)の「奇数倍」(3倍)となっている状態における例である。
(1) Operation example 1
FIG. 2 shows an operation example when the rectangular widths of the rectangular commands a1 and a2 are “odd multiple” (three times) of the bank width (memory access width) together with a comparative example. Specifically, in the operation example and the comparative example, in the rectangular command a1 and the second rectangular command a2, the rectangular width is “odd multiple” (three times) of the memory access width (the width of bank0 or bank1). It is an example in the state.
 第1のマッピングm1と第2のマッピングm2とに同じ第1の矩形コマンドa1を割り当て、また第1のマッピングm1と第2のマッピングm2とに同じ第2の矩形コマンドa2を割り当てた場合を想定する。 Assume that the same first rectangular command a1 is assigned to the first mapping m1 and the second mapping m2, and the same second rectangular command a2 is assigned to the first mapping m1 and the second mapping m2. To do.
 図2の(b),図2の(d)は第1のアクセスマスタ#1が第1の矩形コマンドa1を発行し、第2のアクセスマスタ#2が第2の矩形コマンドa2を発行した場合における、矩形コマンド転送完了までの動作を示すタイミングチャートである。このうち図2の(b)は第1のマッピングm1が適用される場合のタイミングチャートであり、図2の(d)は第2のマッピングm2が適用される場合のタイミングチャートである。なお、bank0とbank1の同時使用は可能であるが、bank0とbank0との同時使用およびbank1とbank1との同時使用は不可能であり、このような同時使用を要求した第1のアクセスマスタ#1と第2のアクセスマスタ#2とにおいて、そのbankの使用には、予め優先関係が設定されている。本実施の形態では、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先的にbankを使用する権利が与えられている。 2B and 2D, the first access master # 1 issues the first rectangular command a1, and the second access master # 2 issues the second rectangular command a2. 5 is a timing chart showing an operation until completion of rectangular command transfer in FIG. Among these, FIG. 2B is a timing chart when the first mapping m1 is applied, and FIG. 2D is a timing chart when the second mapping m2 is applied. Bank0 and bank1 can be used at the same time, but bank0 and bank0 cannot be used at the same time, and bank1 and bank1 cannot be used at the same time. The first access master # 1 that requested such simultaneous use is used. In the second access master # 2, a priority relationship is set in advance for the use of the bank. In the present embodiment, the first access master # 1 is given the right to use the bank preferentially over the second access master # 2.
 (A)図2の(a),図2の(b)における動作説明
 この動作モードでは、マスタ内セレクタ26は、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に基づいて第1のメモリアドレス変換部23Aの出力を選択する。第1のアクセスマスタ#1でも第2のアクセスマスタ#2でも、マスタ内セレクタ26から出力されるバンク番号およびオフセットはいずれも第1のメモリアドレス変換部23Aから供給されるものとなる。第1のメモリアドレス変換部23Aには第1のマッピングm1が対応する。
(A) Description of Operation in FIGS. 2A and 2B In this operation mode, the master selector 26 generates a mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. Based on this, the output of the first memory address conversion unit 23A is selected. In both the first access master # 1 and the second access master # 2, the bank number and offset output from the in-master selector 26 are both supplied from the first memory address conversion unit 23A. The first mapping m1 corresponds to the first memory address conversion unit 23A.
 第1のマッピングm1にかかわる図2の(a),図2の(b)において、第1の矩形コマンドa1を発行する第1のアクセスマスタ#1では、bank0からマッピングが開始される。第2の矩形コマンドa2を発行する第2のアクセスマスタ#2でも、bank0からマッピングが開始される。 In FIG. 2 (a) and FIG. 2 (b) related to the first mapping m1, the first access master # 1 that issues the first rectangular command a1 starts mapping from bank0. Also in the second access master # 2 that issues the second rectangular command a2, mapping is started from bank0.
 (タイミングt1)
 タイミングt1において、第1のアクセスマスタ#1でも第2のアクセスマスタ#2でも、マスタ内セレクタ26は第1のメモリアドレス変換部23Aを介して供給されるバンク番号とオフセットとを選択する。第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0を示し、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号もbank0を示す。このように第1のアクセスマスタ#1に対応付けられたbank0と第2のアクセスマスタ#2に対応付けられたbank0とが同じとなる。同じbankの同時使用は不可であるため、タイミングt1において競合判定部40はバンク競合が生じると判定する。優先度決定部50では、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先度が高いと設定されている。そのため、競合判定部40から判定結果を受けた優先度決定部50は、
・優先度が低いと設定しておいた第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t1)
At timing t1, in both the first access master # 1 and the second access master # 2, the intra-master selector 26 selects the bank number and offset supplied via the first memory address conversion unit 23A. The bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 indicates bank0, and the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the second access master # 2. The supplied bank number also indicates bank0. In this way, bank0 associated with the first access master # 1 and bank0 associated with the second access master # 2 are the same. Since the same bank cannot be used at the same time, the contention determination unit 40 determines that bank contention occurs at timing t1. In the priority determination unit 50, the first access master # 1 is set to have a higher priority than the second access master # 2. Therefore, the priority determination unit 50 that receives the determination result from the competition determination unit 40
Output a stop signal to the command conversion unit 22 of the second access master # 2 that has been set to have a low priority;
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt1では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行1列目の「1」が選択されたうえで、この「1」に対応してbank0がアクセスされる。その一方、タイミングt1では、第2のアクセスマスタ#2からのアクセスが禁止される。 As a result of performing the above control operation, at the timing t1, the first access master # 1 sets “1” in the first row and the first column of the first rectangular command a1 issued by the first access master # 1. Is selected and bank0 is accessed corresponding to this "1". On the other hand, at timing t1, access from the second access master # 2 is prohibited.
 (タイミングt2)
 タイミングt2では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0となる。bank1とbank0とは同時使用可能である結果、競合判定部40はバンク競合が生じないと判定する。競合判定部40から判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第2のアクセスマスタ#2のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t2)
At timing t2, the bank number supplied to the contention determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank1, while via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is bank0. As a result of the simultaneous use of bank1 and bank0, the conflict determination unit 40 determines that bank conflict does not occur. Upon receiving the determination result from the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 bank selector 31 to select the offset supplied from the master selector 26 of the second access master # 2.
Instruct the bank 1 selector 31 in bank to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt2では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行2列目の「2」が選択されたうえで、この「2」に対応してbank1がアクセスされる。その一方、タイミングt2では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行1列目の「1」が選択されたうえで、この「1」に対応してbank0がアクセスされる。このように、第2のアクセスマスタ#2におけるbank0に対するアクセスタイミング(この場合はタイミングt2)は、第1のアクセスマスタ#1におけるbank0に対するアクセスタイミング(この場合はタイミングt1)に比して1bank分遅らされている。 As a result of performing the above control operation, at the timing t2, in the first access master # 1, “2” in the first row and second column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 1 is accessed corresponding to this “2”. On the other hand, at the timing t2, the second access master # 2 selects “1” in the first row and the first column of the second rectangular command a2 issued by the second access master # 2. Corresponding to this “1”, bank 0 is accessed. Thus, the access timing (in this case, the timing t2) for the bank 0 in the second access master # 2 is 1 bank compared to the access timing (the timing t1 in this case) for the bank 0 in the first access master # 1. Has been delayed.
 (タイミングt3)
 タイミングt3では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられる。そのため、競合判定部40はバンク競合が生じないと判定する。競合判定部40から判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第2のアクセスマスタ#2のマスタ内セレクタ26から供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t3)
At timing t3, the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank0, while via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is switched to bank1. Therefore, the conflict determination unit 40 determines that bank conflict does not occur. Upon receiving the determination result from the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied from the in-master selector 26 of the first access master # 1.
Instruct the bank 1 selector 31 in bank to select the offset supplied from the in-master selector 26 of the second access master # 2.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt3では、第1のアクセスマスタ#1において、当該第2のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行3列目の「3」が選択されたうえで、この「3」に対応してbank0がアクセスされる。その一方、タイミングt3では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行2列目の「2」が選択されたうえで、この「2」に対応してbank1がアクセスされる。 As a result of performing the above control operation, at the timing t3, the first access master # 1 sets “3” in the first row and third column of the first rectangular command a1 issued by the second access master # 1. Is selected, and bank 0 is accessed corresponding to this “3”. On the other hand, at the timing t3, the second access master # 2 selects “2” in the first row and the second column of the second rectangular command a2 issued by the second access master # 2. Corresponding to this “2”, bank 1 is accessed.
 (タイミングt4)
 タイミングt4では、タイミングt3に引き続き第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0を維持し、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられる。bank0とbank0とは同じであって同時使用は不可である。タイミングt4において第1,第2のアクセスマスタ#1,#2のbankが同じになるのは、上述したように、本具体例では、第1,第2の矩形コマンドa1,a2の矩形幅がメモリアクセス幅の「奇数倍」(3倍)になっているからである。
(Timing t4)
At the timing t4, the bank number supplied to the conflict determination unit 40 via the selector 26 in the first access master # 1 continues to the bank 0 after the timing t3, and the selector in the master of the second access master # 2 is maintained. The bank number supplied to the competition determination unit 40 via H.26 is switched to bank0. bank0 and bank0 are the same and cannot be used simultaneously. As described above, the banks of the first and second access masters # 1 and # 2 become the same at the timing t4. In this specific example, the rectangular widths of the first and second rectangular commands a1 and a2 are the same. This is because the memory access width is “odd multiple” (three times).
 第1,第2のアクセスマスタ#1,#2が指定するbankが同じになるため、タイミングt4において競合判定部40はバンク競合が生じると判定する。優先度決定部50では、前述したように、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先度が高いと設定されている。そのため、競合判定部40から判定結果を受けた優先度決定部50は、
・優先度が低いと設定しておいた第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
という制御動作を実施する。
Since the banks specified by the first and second access masters # 1 and # 2 are the same, the contention determination unit 40 determines that bank contention occurs at timing t4. In the priority determination unit 50, as described above, the first access master # 1 is set to have a higher priority than the second access master # 2. Therefore, the priority determination unit 50 that receives the determination result from the competition determination unit 40
Output a stop signal to the command conversion unit 22 of the second access master # 2 that has been set to have a low priority;
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt4では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の2行1列目の「4」が選択されたうえで、この「4」に対応してbank0がアクセスされる。その一方、タイミングt4では、第2のアクセスマスタ#2からのアクセスが禁止される。 As a result of the above control operation being performed, at timing t4, in the first access master # 1, “4” in the second row and first column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank0 is accessed corresponding to this “4”. On the other hand, at timing t4, access from the second access master # 2 is prohibited.
 (タイミングt5)
 タイミングt5では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0となる。そのため、第1のアクセスマスタ#1が指定するbank1と第2のアクセスマスタ#2が指定するbank0とは同時使用可能となる結果、競合判定部40はバンク競合が生じないと判定する。競合判定部40から判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第2のアクセスマスタ#2のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t5)
At timing t5, the bank number supplied to the contention determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank1, while via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is bank0. Therefore, the bank 1 specified by the first access master # 1 and the bank 0 specified by the second access master # 2 can be used simultaneously. As a result, the conflict determination unit 40 determines that bank conflict does not occur. Upon receiving the determination result from the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 bank selector 31 to select the offset supplied from the master selector 26 of the second access master # 2.
Instruct the bank 1 selector 31 in bank to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt5では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の2行2列目の「5」が選択されたうえで、この「5」に対応してbank1がアクセスされる。その一方、タイミングt5では、第2のアクセスマスタ#2において、当該第1のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行3列目の「3」が選択されたうえで、この「3」に対応してbank0がアクセスされる。 As a result of performing the above control operation, at timing t5, in the first access master # 1, “5” in the second row and second column of the first rectangular command a1 issued by the first access master # 1. Is selected and bank1 is accessed corresponding to this "5". On the other hand, at timing t5, in the second access master # 2, “3” in the first row and third column of the second rectangular command a2 issued by the first access master # 2 is selected. Corresponding to this “3”, bank 0 is accessed.
 (タイミングt6)
 タイミングt6では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号は、タイミングt5に引き続いてbank0を維持する。第1のアクセスマスタ#1と対応付けられたbank0と、第2のアクセスマスタ#2と対応付けられたbank0とは同じであって同時使用は不可である。タイミングt6において第1,第2のアクセスマスタ#1,#2のbankが同じになるのは、上述したように、本具体例では、第1,第2の矩形コマンドa1,a2の矩形幅がメモリアクセス幅の「奇数倍」(3倍)になっているからである。
(Timing t6)
At the timing t6, the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank0, while via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is maintained at bank0 following the timing t5. The bank 0 associated with the first access master # 1 and the bank 0 associated with the second access master # 2 are the same and cannot be used simultaneously. As described above, the banks of the first and second access masters # 1 and # 2 become the same at the timing t6. In this specific example, the rectangular widths of the first and second rectangular commands a1 and a2 are the same. This is because the memory access width is “odd multiple” (three times).
 第1,第2のアクセスマスタ#1,#2に対応付けられたbankが同じになるため、タイミングt6において競合判定部40はバンク競合が生じると判定する。優先度決定部50では、前述したように、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先度が高いと設定されている。そのため、競合判定部40から判定結果を受けた優先度決定部50は、
・優先度が低いと設定しておいた第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
という制御動作を実施する。
Since the banks associated with the first and second access masters # 1 and # 2 are the same, the contention determination unit 40 determines that bank contention occurs at timing t6. In the priority determination unit 50, as described above, the first access master # 1 is set to have a higher priority than the second access master # 2. Therefore, the priority determination unit 50 that receives the determination result from the competition determination unit 40
Output a stop signal to the command conversion unit 22 of the second access master # 2 that has been set to have a low priority;
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt6では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の2行3列目の「6」が選択されたうえで、この「6」に対応してbank0がアクセスされる。その一方、第2のアクセスマスタ#2からのアクセスが禁止される。 As a result of performing the above control operation, at timing t6, in the first access master # 1, “6” in the second row and third column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank0 is accessed corresponding to this “6”. On the other hand, access from the second access master # 2 is prohibited.
 (タイミングt7)
 タイミングt7では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はタイミングt6に引き続いてbank0を維持し、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号もbank0を維持する。
(Timing t7)
At timing t7, the bank number supplied to the contention determination unit 40 via the intra-master selector 26 of the first access master # 1 maintains bank0 following timing t6, and is within the master of the second access master # 2. The bank number supplied to the competition determination unit 40 via the selector 26 also maintains bank0.
 第1のアクセスマスタ#1に対応付けられたbankと第2のアクセスマスタ#2に対応付けられたbankとが同じになるため、タイミングt7において競合判定部40はバンク競合が生じると判定する。優先度決定部50では、前述したように、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先度が高いと設定されている。そのため、競合判定部40から判定結果を受けた優先度決定部50は、
・優先度が低いと設定しておいた第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
という制御動作を実施する。
Since the bank associated with the first access master # 1 is the same as the bank associated with the second access master # 2, the contention determination unit 40 determines that bank contention occurs at timing t7. In the priority determination unit 50, as described above, the first access master # 1 is set to have a higher priority than the second access master # 2. Therefore, the priority determination unit 50 that receives the determination result from the competition determination unit 40
Output a stop signal to the command conversion unit 22 of the second access master # 2 that has been set to have a low priority;
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt7では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の3行1列目の「7」が選択されたうえで、この「7」に対応してbank0がアクセスされる。その一方、第2のアクセスマスタ#2からのアクセスが禁止される。 As a result of performing the above control operation, at the timing t7, the first access master # 1 sets “7” in the third row and first column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 0 is accessed corresponding to this “7”. On the other hand, access from the second access master # 2 is prohibited.
 (タイミングt8)
 タイミングt8では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられるものの、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0となる。このように第1,第2のアクセスマスタ#1,#2のbankが異なるものになるため、競合判定部40ではバンク競合が生じないと判定する。競合判定部40から判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第2のアクセスマスタ#2のマスタ内セレクタ26から供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第1のアクセスマスタ#1のマスタ内セレクタ26から供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t8)
At the timing t8, the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank1, but via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is bank0. Thus, since the banks of the first and second access masters # 1 and # 2 are different, the conflict determination unit 40 determines that no bank conflict occurs. Upon receiving the determination result from the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 bank selector 31 to select the offset supplied from the master selector 26 of the second access master # 2.
Instruct the bank 1 selector 31 in bank to select the offset supplied from the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt8では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の3行2列目の「8」が選択されたうえで、この「8」に対応してbank1がアクセスされる。その一方、タイミングt8では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の2行1列目の「4」が選択されたうえで、この「4」に対応してbank0がアクセスされる。 As a result of performing the above control operation, at timing t8, in the first access master # 1, “8” in the third row and second column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 1 is accessed corresponding to this “8”. On the other hand, at timing t8, the second access master # 2 selects “4” in the second row and first column of the second rectangular command a2 issued by the second access master # 2. Corresponding to this “4”, bank 0 is accessed.
 (タイミングt9)
 タイミングt9では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられ、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられる。そのため、第1,第2のアクセスマスタ#1,#2のbankが異なるものになる。これにより、競合判定部40はバンク競合が生じないと判定する。競合判定部40から判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t9)
At timing t9, the bank number supplied to the conflict determination unit 40 via the selector 26 in the master of the first access master # 1 is switched to bank0, and via the selector 26 in the master of the second access master # 2. The bank number supplied to the competition determination unit 40 is switched to bank1. Therefore, the first and second access masters # 1 and # 2 have different banks. Thereby, the competition determination unit 40 determines that bank competition does not occur. Upon receiving the determination result from the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied via the master selector 26 in the first access master # 1.
Instruct the bank 1 selector 31 in bank to select the offset supplied via the in-master selector 26 of the second access master # 2.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt9では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の3行3列目の「9」が選択されたうえで、この「9」に対応してbank0がアクセスされる。その一方、タイミングt9では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の2行2列目の「5」が選択されたうえで、この「5」に対応してbank1がアクセスされる。このタイミングt9で、第1のアクセスマスタ#1による第1の矩形コマンドa1のアクセスが終了する。 As a result of performing the above control operation, at timing t9, in the first access master # 1, “9” in the third row and third column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank0 is accessed corresponding to this “9”. On the other hand, at timing t9, the second access master # 2 selects “5” in the second row and second column of the second rectangular command a2 issued by the second access master # 2, Corresponding to this “5”, bank 1 is accessed. At this timing t9, the access of the first rectangular command a1 by the first access master # 1 is completed.
 タイミングt10以降は第1のアクセスマスタ#1と第2のアクセスマスタ#2との間でバンク競合が生じない。タイミングt10では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の2行3列目の「6」が選択されたうえで、この「6」に対応してbank0がアクセスされる。タイミングt11では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の3行1列目の「7」が選択されたうえで、この「7」に対応してbank0がアクセスされる。タイミングt12では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の3行2列目の「8」が選択されたうえで、この「8」に対応してbank1がアクセスされる。タイミングt13では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の3行3列目の「9」が選択されたうえで、この「9」に対応してbank0がアクセスされる。 After the timing t10, bank contention does not occur between the first access master # 1 and the second access master # 2. At timing t10, the second access master # 2 selects “6” in the second row and third column of the second rectangular command a2 issued by the second access master # 2, and then selects the “6” "Bank0 is accessed in response to". At timing t11, the second access master # 2 selects “7” in the third row and first column of the second rectangular command a2 issued by the second access master # 2, and then selects “7” "Bank0 is accessed in response to". At timing t12, the second access master # 2 selects “8” in the third row and second column of the second rectangular command a2 issued by the second access master # 2, and then selects the “8”. "Bank1 is accessed." At timing t13, the second access master # 2 selects “9” in the third row and third column of the second rectangular command a2 issued by the second access master # 2, and then selects the “9” "Bank0 is accessed in response to".
 第1のアクセスマスタ#1での1つ目,4つ目,6つ目,7つ目の各bankで第2のアクセスマスタ#2は休止している。その理由は、上述したように、第1および第2の矩形コマンドa1,a2の矩形幅がメモリアクセス幅の「奇数倍」(3倍)となっていて、bank0もbank1も垂直方向に連続しているからである。合計4つ分のbankが休止するので、第2のアクセスマスタ#2における処理が終了するのは、第1のアクセスマスタ#1での終了処理のbank4つ分あと(タイミングt13)になる。 The second access master # 2 is inactive at each of the first, fourth, sixth, and seventh banks in the first access master # 1. The reason is that, as described above, the rectangular widths of the first and second rectangular commands a1 and a2 are “odd multiples” (three times) of the memory access width, and bank0 and bank1 are continuous in the vertical direction. Because. Since a total of four banks are suspended, the processing in the second access master # 2 ends after four banks (timing t13) of the end processing in the first access master # 1.
 (B)図2の(c),図2の(d)における動作説明
 この動作モードでは、マスタ内セレクタ26は、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に基づいて第2のメモリアドレス変換部23Bの出力を選択する。第1のアクセスマスタ#1でも第2のアクセスマスタ#2でもマスタ内セレクタ26から出力されるバンク番号およびオフセットはいずれも第2のメモリアドレス変換部23Bを介して供給されるものである。第2のメモリアドレス変換部23Bには第2のマッピングm2が対応する。
(B) Description of Operation in FIGS. 2C and 2D In this operation mode, the master selector 26 generates a mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. Based on this, the output of the second memory address conversion unit 23B is selected. In both the first access master # 1 and the second access master # 2, the bank number and offset output from the intra-master selector 26 are both supplied via the second memory address conversion unit 23B. The second mapping m2 corresponds to the second memory address conversion unit 23B.
 第2のマッピングm2にかかわる図2の(c),図2の(d)において、第1の矩形コマンドa1を発行する第1のアクセスマスタ#1では、bank0からマッピングが開始される。第2の矩形コマンドa2を発行する第2のアクセスマスタ#2でも、bank0からマッピングが開始される。 In (c) of FIG. 2 and (d) of FIG. 2 relating to the second mapping m2, the first access master # 1 that issues the first rectangular command a1 starts mapping from bank0. Also in the second access master # 2 that issues the second rectangular command a2, mapping is started from bank0.
 (タイミングt1)
 タイミングt1において、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0であり、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号もbank0である。このように第1のアクセスマスタ#1のbank0と第2のアクセスマスタ#2のbank0とは同じであって同時使用は不可である。そのため、競合判定部40はバンク競合が生じると判定する。優先度決定部50では、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先度が高いと設定されている。競合判定部40の判定結果を受けた優先度決定部50は、
・第2のアクセスマスタ#2のコマンド変換部22に停止信号を出力する、
・第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t1)
At the timing t1, the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 is bank0, and conflict occurs via the intra-master selector 26 of the second access master # 2. The bank number supplied to the determination unit 40 is also bank0. Thus, the bank 0 of the first access master # 1 and the bank 0 of the second access master # 2 are the same and cannot be used simultaneously. Therefore, the conflict determination unit 40 determines that bank conflict occurs. In the priority determination unit 50, the first access master # 1 is set to have a higher priority than the second access master # 2. Upon receiving the determination result of the competition determination unit 40, the priority determination unit 50
Output a stop signal to the command conversion unit 22 of the second access master # 2.
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied via the master selector 26 in the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt1では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行1列目の「1」が選択されたうえで、この「1」に対応してbank0がアクセスされる。その一方、タイミングt1では、第2のアクセスマスタ#2からのアクセスが禁止される。 As a result of performing the above control operation, at the timing t1, the first access master # 1 sets “1” in the first row and the first column of the first rectangular command a1 issued by the first access master # 1. Is selected and bank0 is accessed corresponding to this "1". On the other hand, at timing t1, access from the second access master # 2 is prohibited.
 (タイミングt2)
 タイミングt2では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるバンク番号はbank1に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0となる。そのため、競合判定部40は、バンク競合が生じないと判定する。競合判定部40の判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t2)
At timing t2, the bank number supplied via the intra-master selector 26 of the first access master # 1 is switched to bank1, while the contention determination unit 40 is switched via the intra-master selector 26 of the second access master # 2. The bank number supplied to bank 0 is bank0. Therefore, the conflict determination unit 40 determines that bank conflict does not occur. Upon receiving the determination result of the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied via the master selector 26 in the second access master # 2.
Instructs the bank 1 selector 31 in bank 1 to select the offset supplied via the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt2では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行2列目の「2」が選択されたうえで、この「2」に対応してbank1がアクセスされる。その一方、タイミングt2では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行1列目の「1」が選択されたうえで、この「1」に対応してbank0がアクセスされる。このように、第2のアクセスマスタ#2におけるbank0に対するアクセスタイミング(この場合はタイミングt2)は、第1のアクセスマスタ#1におけるbank0に対するアクセスタイミング(この場合はタイミングt1)に比して1bank分遅らされている。 As a result of performing the above control operation, at the timing t2, in the first access master # 1, “2” in the first row and second column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 1 is accessed corresponding to this “2”. On the other hand, at the timing t2, the second access master # 2 selects “1” in the first row and the first column of the second rectangular command a2 issued by the second access master # 2. Corresponding to this “1”, bank 0 is accessed. Thus, the access timing (in this case, the timing t2) for the bank 0 in the second access master # 2 is 1 bank compared to the access timing (the timing t1 in this case) for the bank 0 in the first access master # 1. Has been delayed.
 (タイミングt3)
 タイミングt3では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられる一方、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられる。そのため、競合判定部40はバンク競合が生じないと判定する。競合判定部40の判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
(Timing t3)
At timing t3, the bank number supplied to the conflict determination unit 40 via the intra-master selector 26 of the first access master # 1 is switched to bank0, while via the intra-master selector 26 of the second access master # 2. Thus, the bank number supplied to the competition determination unit 40 is switched to bank1. Therefore, the conflict determination unit 40 determines that bank conflict does not occur. Upon receiving the determination result of the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied via the master selector 26 in the first access master # 1.
Instruct the bank 1 selector 31 in bank to select the offset supplied via the in-master selector 26 of the second access master # 2.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt3では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の1行3列目の「3」が選択されたうえで、この「3」に対応してbank0がアクセスされる。その一方、タイミングt3では、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行2列目の「2」が選択されたうえで、この「2」に対応してbank1がアクセスされる。 As a result of the above control operation being performed, at timing t3, in the first access master # 1, “3” in the first row and third column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 0 is accessed corresponding to this “3”. On the other hand, at the timing t3, the second access master # 2 selects “2” in the first row and the second column of the second rectangular command a2 issued by the second access master # 2. Corresponding to this “2”, bank 1 is accessed.
 (タイミングt4)
 タイミングt4では、図2の(a),図2の(b)の場合と相違する制御が実施される。タイミングt4では、第1のアクセスマスタ#1のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank1に切り替えられ、第2のアクセスマスタ#2のマスタ内セレクタ26を介して競合判定部40に供給されるバンク番号はbank0に切り替えられる。そのため、競合判定部40はバンク競合が生じないと判定する。タイミングt4において競合が生じないのは、上述したように、第1および第2の矩形コマンドa1,a2の矩形幅がメモリアクセス幅の「奇数倍」(3倍)となっているからである。
(Timing t4)
At timing t4, control different from the case of FIGS. 2A and 2B is performed. At timing t4, the bank number supplied to the conflict determination unit 40 via the in-master selector 26 of the first access master # 1 is switched to bank1, and through the in-master selector 26 of the second access master # 2. The bank number supplied to the competition determination unit 40 is switched to bank0. Therefore, the conflict determination unit 40 determines that bank conflict does not occur. The contention does not occur at the timing t4 because, as described above, the rectangular width of the first and second rectangular commands a1 and a2 is “odd multiple” (three times) the memory access width.
 競合判定部40の判定結果を受けた優先度決定部50は、
・いずれのコマンド変換部22にも停止信号を出力しない、
・第2のアクセスマスタ#2のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank0のバンク内セレクタ31に指示する、
・第1のアクセスマスタ#1のマスタ内セレクタ26を介して供給されるオフセットを選択するようにbank1のバンク内セレクタ31に指示する、
という制御動作を実施する。
Upon receiving the determination result of the competition determination unit 40, the priority determination unit 50
-No stop signal is output to any command conversion unit 22,
Instruct the bank 0 selector 31 in bank 0 to select the offset supplied via the master selector 26 in the second access master # 2.
Instructs the bank 1 selector 31 in bank 1 to select the offset supplied via the in-master selector 26 of the first access master # 1.
The control operation is executed.
 以上の制御動作が実施される結果、タイミングt4では、第1のアクセスマスタ#1において、当該第1のアクセスマスタ#1が発行する第1の矩形コマンドa1の2行1列目の「4」が選択されたうえで、この「4」に対応してbank1がアクセスされる。その一方、第2のアクセスマスタ#2において、当該第2のアクセスマスタ#2が発行する第2の矩形コマンドa2の1行3列目の「3」が選択されたうえで、この「3」に対応してbank0がアクセスされる。 As a result of the above control operation being performed, at timing t4, in the first access master # 1, “4” in the second row and first column of the first rectangular command a1 issued by the first access master # 1. Is selected, and bank 1 is accessed corresponding to this “4”. On the other hand, in the second access master # 2, “3” in the first row and third column of the second rectangular command a2 issued by the second access master # 2 is selected, and then this “3”. Bank0 is accessed in response to.
 bank0とbank1とが市松模様を呈している第2のマッピングm2は、矩形コマンドの矩形幅がメモリアクセス幅の「奇数倍」(3倍)となっていることと相性が良く、タイミングt5以降タイミングt9までの期間を含むすべてのタイミングt1~t9においてこの相性の良さが該当する。すなわち、第1のアクセスマスタ#1と第2のアクセスマスタ#2とでbank0とbank1を交互に切り替えながら、休みなく、連続的に処理することが可能となる。 The second mapping m2 in which bank0 and bank1 have a checkerboard pattern is compatible with the fact that the rectangular width of the rectangular command is “odd multiple” (three times) the memory access width, and the timing after timing t5 This good compatibility applies at all timings t1 to t9 including the period up to t9. That is, it is possible to perform continuous processing without breaks while alternately switching between bank 0 and bank 1 between the first access master # 1 and the second access master # 2.
 図2の(a)~図2の(d)を用いたここでの動作説明での一応の結論は次のとおりである。 The temporary conclusion in the explanation of the operation here using FIGS. 2A to 2D is as follows.
 本例では、第1の矩形コマンドa1と第2の矩形コマンドa2とが同時刻に転送を開始した場合、第1のマッピングm1(タイミングt13で終了)よりも第2のマッピングm2(タイミングt10で終了)の方が3メモリアクセス時間分早く処理を終了する。したがって、第1の矩形コマンドa1や第2の矩形コマンドa2のような矩形幅がメモリアクセス幅の「奇数倍」の場合は、第2のマッピングm2を選択することで性能を改善することが可能となる。第2のマッピングm2を選択するということは、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に基づいて、第1のアクセスマスタ#1でも第2のアクセスマスタ#2でも下側のメモリアドレス変換部23Bを選択するようにマスタ内セレクタ26を制御するということである。マスタ内セレクタ26に下側の入力を選択させる要因は、第1の矩形コマンドa1および第2の矩形コマンドa2の矩形幅がメモリアクセス幅の「奇数倍」(3倍)となっていることにある。 In this example, when the transfer of the first rectangular command a1 and the second rectangular command a2 starts at the same time, the second mapping m2 (at timing t10) rather than the first mapping m1 (ending at timing t13). (End) ends processing earlier by 3 memory access times. Therefore, when the rectangular width such as the first rectangular command a1 or the second rectangular command a2 is “odd multiple” of the memory access width, the performance can be improved by selecting the second mapping m2. It becomes. The selection of the second mapping m2 means that the first access master # 1 and the second access master # 2 are based on the mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. However, this means that the master selector 26 is controlled to select the lower memory address conversion unit 23B. The factor causing the master selector 26 to select the lower input is that the rectangular widths of the first rectangular command a1 and the second rectangular command a2 are “odd multiple” (three times) the memory access width. is there.
 (2)動作例2
 図3は矩形コマンドb1,b2の矩形幅がbank幅(メモリアクセス幅)の「偶数倍」(2倍)の場合の動作例を比較例とともに示している。具体的には、これらの動作例と比較例とは、第1の矩形コマンドb1と第2の矩形コマンドb2とは、その矩形幅がメモリアクセス幅(bank0やbank1の幅)の「偶数倍」(2倍)となっている状態における例である。
(2) Operation example 2
FIG. 3 shows an operation example when the rectangular width of the rectangular commands b1 and b2 is “even multiple” (double) of the bank width (memory access width) together with a comparative example. Specifically, in these operation examples and comparative examples, the first rectangular command b1 and the second rectangular command b2 have an even width that is equal to the memory access width (the width of bank0 or bank1). This is an example in a state of (double).
 第1のマッピングm1と第2のマッピングm2とに同じ第1の矩形コマンドb1を割り当て、また第1のマッピングm1と第2のマッピングm2とに同じ第2の矩形コマンドb2を割り当てた場合を想定する。第1のマッピングm1および第2のマッピングm2は、それぞれ図2のものと同じである。 Assume that the same first rectangular command b1 is assigned to the first mapping m1 and the second mapping m2, and the same second rectangular command b2 is assigned to the first mapping m1 and the second mapping m2. To do. The first mapping m1 and the second mapping m2 are the same as those in FIG.
 図3の(b),図3の(d)は第1のアクセスマスタ#1が第1の矩形コマンドb1を発行し、第2のアクセスマスタ#2が第2の矩形コマンドb2を発行した場合における、矩形コマンド転送完了までの動作を示すタイミングチャートである。このうち図3の(b)は第1のマッピングm1が適用される場合のタイミングチャートであり、図3の(d)は第2のマッピングm2が適用される場合のタイミングチャートである。なお、第1のアクセスマスタ#1と第2のアクセスマスタ#2とにおけるbank使用の優先関係では、前述したように、第1のアクセスマスタ#1が第2のアクセスマスタ#2より優先的にbankを使用する権利が与えられている。 3B and 3D, the first access master # 1 issues the first rectangular command b1, and the second access master # 2 issues the second rectangular command b2. 5 is a timing chart showing an operation until completion of rectangular command transfer in FIG. Among these, (b) of FIG. 3 is a timing chart when the first mapping m1 is applied, and (d) of FIG. 3 is a timing chart when the second mapping m2 is applied. Note that in the bank usage priority relationship between the first access master # 1 and the second access master # 2, as described above, the first access master # 1 has priority over the second access master # 2. The right to use bank is given.
 (A)図3の(a),図3の(b)による動作説明
 この動作モードでは、マスタ内セレクタ26は、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に基づいて第1のメモリアドレス変換部23Aの出力を選択する。第1のアクセスマスタ#1でも第2のアクセスマスタ#2でも、マスタ内セレクタ26から出力されるバンク番号およびオフセットはいずれも第1のメモリアドレス変換部23Aから供給されるものとなる。第1のメモリアドレス変換部23Aには第1のマッピングm1が対応する。
(A) Explanation of operation according to (a) of FIG. 3 and (b) of FIG. 3 In this operation mode, the selector 26 in the master outputs a mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. Based on this, the output of the first memory address conversion unit 23A is selected. In both the first access master # 1 and the second access master # 2, the bank number and offset output from the in-master selector 26 are both supplied from the first memory address conversion unit 23A. The first mapping m1 corresponds to the first memory address conversion unit 23A.
 第1のマッピングm1に関連する図3の(a),図3の(b)において、bank0は同一ライン(奇数ラインまたは偶数ライン)に配列され、bank1も同一ライン(奇数ラインまたは偶数ライン)に配列される。このようなbankの整列状態は、矩形コマンドの矩形幅がメモリアクセス幅の「偶数倍」(2倍)となっていることと相性が良い。したがって、図3の(b)のタイミングチャートでは、図2の(b)のタイミングチャートとは異なり、図2の(d)のタイミングチャートと同様の展開を見せる。第2のアクセスマスタ#2での処理が終了するタイミングt9におけるbankは、第1のアクセスマスタ#1での処理が終了するタイミングt8におけるbankより1つ分あとになる。 In FIG. 3A and FIG. 3B related to the first mapping m1, bank0 is arranged on the same line (odd line or even line), and bank1 is also on the same line (odd line or even line). Arranged. Such a bank alignment state is compatible with the fact that the rectangular width of the rectangular command is “even times” (twice) the memory access width. Therefore, unlike the timing chart of FIG. 2B, the timing chart of FIG. 3B shows the same development as the timing chart of FIG. The bank at the timing t9 at which the processing at the second access master # 2 ends is one bank behind the bank at the timing t8 at which the processing at the first access master # 1 ends.
 一方、第2のマッピングm2に関連する図3の(c),図3の(d)において、タイミングt3では、第1のアクセスマスタ#1がbank1を対象とし、第2のアクセスマスタ#2もbank1を対象とすることから、バンク競合が生じる。その結果、第2のアクセスマスタ#2のコマンド変換部22が停止されてアクセスマスタ#2が休止する。このようなバンク競合が生じる理由は、上述したように、矩形コマンドb1,b2が示す矩形幅がメモリアクセス幅の「偶数倍」(2倍)となっているからである。第2のアクセスマスタ#2での処理が終了する(タイミングt10)におけるbankは、第1のアクセスマスタ#1での終了処理(タイミングt8)におけるbankより2つ分あとになる。 On the other hand, in (c) of FIG. 3 and (d) of FIG. 3 related to the second mapping m2, at timing t3, the first access master # 1 targets bank1, and the second access master # 2 is also Since bank1 is targeted, bank contention occurs. As a result, the command conversion unit 22 of the second access master # 2 is stopped and the access master # 2 is suspended. The reason why such bank conflict occurs is that, as described above, the rectangular width indicated by the rectangular commands b1 and b2 is “even times” (twice) the memory access width. The bank at the end of the processing at the second access master # 2 (timing t10) is two minutes after the bank at the end processing at the first access master # 1 (timing t8).
 図3の(a)~図3の(d)を参照した動作説明における結論は次の通りとなる。本例では、第1の矩形コマンドb1と第2の矩形コマンドb2とが同時刻にデータ転送を開始した場合、第2のマッピングm2よりも第1のマッピングm1の方が1メモリアクセス時間分早くデータ転送を終了する。これにより、第1の矩形コマンドb1や第2の矩形コマンドb2のような矩形幅がメモリアクセス幅の「偶数倍」の場合、第1のマッピングm1を選択することで性能を改善することが可能となる。 The conclusion in the operation explanation with reference to (a) to (d) of FIG. 3 is as follows. In this example, when the first rectangular command b1 and the second rectangular command b2 start data transfer at the same time, the first mapping m1 is earlier than the second mapping m2 by one memory access time. End data transfer. As a result, when the rectangular width such as the first rectangular command b1 or the second rectangular command b2 is “even multiple” of the memory access width, the performance can be improved by selecting the first mapping m1. It becomes.
 第1のマッピングm1を選択するということは、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に基づいて、第1のアクセスマスタ#1であっても第2のアクセスマスタ#2であっても、第1のメモリアドレス変換部23Aを選択するようにマスタ内セレクタ26を制御する、ということである。マスタ内セレクタ26において、第1のメモリアドレス変換器23Aを介して供給されるデータを選択させる要因は、第1の矩形コマンドa1および第2の矩形コマンドa2の矩形幅がメモリアクセス幅の「偶数倍」(2倍)となっていることにある。 The selection of the first mapping m1 means that the second access is performed even for the first access master # 1, based on the mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. That is, even in the master # 2, the in-master selector 26 is controlled so as to select the first memory address conversion unit 23A. The factor that causes the selector 26 in the master to select the data supplied via the first memory address converter 23A is that the rectangular widths of the first rectangular command a1 and the second rectangular command a2 are “even numbers” of the memory access width. Double (2 times).
 以上のことを総合的にまとめると、複数のアクセスマスタ20で取り扱う矩形コマンドの矩形幅がメモリアクセス幅の「奇数倍」となる状態では、第1のアクセスマスタ#1であっても第2のアクセスマスタ#2であっても、マスタ内セレクタ26によって第2のメモリアドレス変換部23Bを選択するように、矩形幅/矩形位置保持部12がモード信号を生成する。逆に、第1、第2のアクセスマスタ#1,#2で取り扱う矩形コマンドの矩形幅がメモリアクセス幅の「偶数倍」となる状態では、第1のアクセスマスタ#1であっても第2のアクセスマスタ#2であっても、マスタ内セレクタ26が第1のメモリアドレス変換部23Aを選択するように、矩形幅/矩形位置保持部12がモード信号を生成すればよいということである。 To summarize the above, in a state where the rectangular width of the rectangular commands handled by the plurality of access masters 20 is “odd multiple” of the memory access width, even the first access master # 1 has the second Even in the access master # 2, the rectangular width / rectangular position holding unit 12 generates a mode signal so that the second memory address conversion unit 23B is selected by the intra-master selector 26. Conversely, when the rectangular width of the rectangular command handled by the first and second access masters # 1 and # 2 is “even multiples” of the memory access width, even the first access master # 1 has the second This means that the rectangular width / rectangular position holding unit 12 only needs to generate the mode signal so that the in-master selector 26 selects the first memory address conversion unit 23A.
 以上のように本実施の形態によれば、矩形コマンドの処理時間が最短になるようにメモリマッピングを選択するように構成しているので、任意の動作モードでの矩形コマンドの処理の完了までに要する時間を最短化することができる。すなわち、複数バンク構成のメモリに対する矩形コマンドでのアクセスにおいて、そのアクセス効率を向上させることができる。 As described above, according to the present embodiment, since the memory mapping is selected so that the processing time of the rectangular command becomes the shortest, the processing of the rectangular command in the arbitrary operation mode is completed. The time required can be minimized. That is, the access efficiency can be improved in the access by the rectangular command to the memory having a plurality of banks.
 (実施の形態2)
 図4は本発明の実施の形態2におけるメモリアクセス装置の構成を示すブロック図である。本実施の形態では、アクセスマスタ20が4個設けられ、メモリバンク30が4個設けられたシステムを例に挙げる。
(Embodiment 2)
FIG. 4 is a block diagram showing the configuration of the memory access device according to the second embodiment of the present invention. In this embodiment, a system in which four access masters 20 are provided and four memory banks 30 are provided is taken as an example.
 4つのアクセスマスタ20を区別して、アクセスマスタ#1,#2,#3,#4と称する。アクセスマスタ#1,#2,#3,#4は、それぞれ4個の第1~第4のメモリアドレス変換部23A,23B,23C,23Dを備える(図4では第1,第4のメモリアドレス変換部23A,23Dだけが図示され、第2,第3のメモリアドレス変換部23B,23Cは図示が省略されている)。パラメータ固定部11と矩形幅/矩形位置保持部12からなるモード固定器10は設けられているものの、図示が省略されている。マスタ内セレクタ26は、矩形幅/矩形位置保持部12から供給される動作モードに応じたモード信号に応じて第1~第4のメモリアドレス変換部23A~23Dのうち1つを選択するようになっている。また、本実施の形態では、4個のメモリバンク30が設けられる。これら4個のメモリバンク20を、区別して、図中、上から順にbank0,bank1,bank2,bank3と称する。 The four access masters 20 are distinguished and referred to as access masters # 1, # 2, # 3, and # 4. Each of the access masters # 1, # 2, # 3, and # 4 includes four first to fourth memory address conversion units 23A, 23B, 23C, and 23D (in FIG. 4, the first and fourth memory addresses). Only the conversion units 23A and 23D are shown, and the second and third memory address conversion units 23B and 23C are not shown). Although the mode fixing device 10 including the parameter fixing unit 11 and the rectangular width / rectangular position holding unit 12 is provided, the illustration is omitted. The intra-master selector 26 selects one of the first to fourth memory address conversion units 23A to 23D according to a mode signal corresponding to the operation mode supplied from the rectangular width / rectangular position holding unit 12. It has become. In the present embodiment, four memory banks 30 are provided. These four memory banks 20 are distinguished and referred to as bank 0, bank 1, bank 2, and bank 3 in order from the top in the figure.
 バンク内セレクタ31は、優先度決定部50から供給されるバンク内セレクタ選択信号に応じて、第1~第4のアクセスマスタ#1~#4の各マスタ内セレクタ26から出力される4つのオフセットから1つを選択するように構成されている。 The in-bank selector 31 responds to the in-bank selector selection signal supplied from the priority determination unit 50, and outputs four offsets output from the in-master selectors 26 of the first to fourth access masters # 1 to # 4. 1 is selected.
 第1~第4のメモリアドレス変換部23A~23Dは、それぞれ独自の動作モードに適したメモリマッピングに対応している。ここで、メモリマッピングには図5~図8に示すように、4種類が用意されている。第1のマッピングm1は毎ラインにおいて、bank0,bank1,bank2,bank3を順番に並べ、その並びの配列を繰り返している。第2のマッピングm2は、第1のマッピングm1におけるbankの並びを、1ライン毎に1bank分だけ右ローテートしている。第3のマッピングm3は、第1のマッピングm1におけるbankの並びを、1ライン毎に2bank分だけ右ローテートしている。第4のマッピングm4は、第1のマッピングm1におけるbankの並びを、1ライン毎に3bank分だけ右ローテートしている。 The first to fourth memory address conversion units 23A to 23D each correspond to memory mapping suitable for a unique operation mode. Here, four types of memory mapping are prepared as shown in FIGS. In the first mapping m1, bank0, bank1, bank2, and bank3 are arranged in order in each line, and the arrangement of the arrangement is repeated. In the second mapping m2, the arrangement of the banks in the first mapping m1 is rotated to the right by one bank for each line. The third mapping m3 rotates the bank arrangement in the first mapping m1 rightward by 2 banks per line. In the fourth mapping m4, the banks in the first mapping m1 are rotated to the right by 3 banks per line.
 第1のマッピングm1は第1のメモリアドレス変換部23Aに適用され、第2のマッピングm2は第2のメモリアドレス変換部23に適用され、第3のマッピングm3は第3のメモリアドレス変換部23に適用され、第4のマッピングm4は、第4のメモリアドレス変換部23に適用される。第1~第4のマッピングm1~m4は、第1~第4のアクセスマスタ#1~#4で共通となっている。 The first mapping m1 is applied to the first memory address conversion unit 23A, the second mapping m2 is applied to the second memory address conversion unit 23, and the third mapping m3 is applied to the third memory address conversion unit 23. The fourth mapping m4 is applied to the fourth memory address conversion unit 23. The first to fourth mappings m1 to m4 are common to the first to fourth access masters # 1 to # 4.
 (1)動作例1(矩形幅がbank幅の4N倍の場合)
 図5は矩形幅がbank幅の4N倍(Nは任意の正の整数)の場合の動作例を比較例とともに示している。具体的には、N=1で、矩形幅がbank幅の4倍の場合の動作例である。
(1) Operation example 1 (when the rectangular width is 4N times the bank width)
FIG. 5 shows an operation example when the rectangular width is 4N times the bank width (N is an arbitrary positive integer) together with a comparative example. Specifically, this is an operation example when N = 1 and the rectangular width is four times the bank width.
 a1は第1のアクセスマスタ#1の矩形コマンドであり、a2は第2のアクセスマスタ#2の矩形コマンドであり、a3は第3のアクセスマスタ#3の矩形コマンドであり、a4は第4のアクセスマスタ#4の矩形コマンドである。これら第1~第4の矩形コマンドa1~a4は、第1~第4のマッピングm1~m4で共通であり、その矩形幅がメモリアクセス幅(bank幅)の4倍となっている。 a1 is the rectangular command of the first access master # 1, a2 is the rectangular command of the second access master # 2, a3 is the rectangular command of the third access master # 3, and a4 is the fourth command This is a rectangular command for access master # 4. These first to fourth rectangular commands a1 to a4 are common to the first to fourth mappings m1 to m4, and the rectangular width is four times the memory access width (bank width).
 図5の(b),図5の(d),図5の(f),図5の(h)に示される動作例は、
・第1のアクセスマスタ#1が第1の矩形コマンドa1を発行する、
・第2のアクセスマスタ#2が第2の矩形コマンドa2を発行する、
・第3のアクセスマスタ#3が第3の矩形コマンドa3を発行する、
・第4のアクセスマスタ#4が第4の矩形コマンドa4を発行する、
 場合における、矩形コマンド転送完了までの動作を示すタイミングチャートである。
The operation examples shown in FIG. 5B, FIG. 5D, FIG. 5F, and FIG.
The first access master # 1 issues the first rectangular command a1,
The second access master # 2 issues a second rectangular command a2,
The third access master # 3 issues a third rectangular command a3,
The fourth access master # 4 issues a fourth rectangular command a4,
6 is a timing chart showing an operation until completion of rectangular command transfer in a case.
 さらには、図5の(b)は第1のマッピングm1が適用される場合におけるタイミングチャートであり、図5の(d)は第2のマッピングm2が適用される場合におけるタイミングチャートであり、図5の(f)は第3のマッピングm3が適用される場合におけるタイミングチャートであり、図5の(h)は第4のマッピングm4が適用される場合におけるタイミングチャートである。いずれのタイミングチャートでも、第1~第4のアクセスマスタ#1~#4が同時に転送を開始している。 5B is a timing chart when the first mapping m1 is applied, and FIG. 5D is a timing chart when the second mapping m2 is applied. 5 (f) is a timing chart when the third mapping m3 is applied, and FIG. 5 (h) is a timing chart when the fourth mapping m4 is applied. In any timing chart, the first to fourth access masters # 1 to # 4 simultaneously start transferring.
 第1~第4のアクセスマスタ#1~#4では、その優先関係が、第1のアクセスマスタ#1が最も高い優先度をもち、#1>#2>#3>#4の順になっているものとする。 In the first to fourth access masters # 1 to # 4, the priority relationship is such that the first access master # 1 has the highest priority, and the order is # 1> # 2> # 3> # 4. It shall be.
 bank0,bank1,bank2,bank3において、異なるbankの同時使用は可能であるが、同一bank(bank0とbank0,bank1とbank1,bank2とbank2,bank3とbank3)の同時使用は不可能である。 In bank 0, bank 1, bank 2, and bank 3, different banks can be used simultaneously, but the same bank (bank 0 and bank 0, bank 1 and bank 1, bank 2 and bank 2, bank 3 and bank 3) cannot be used simultaneously.
 本実施の形態の動作(アクセスマスタ・メモリバンクが4つの場合)の動作は、上述した実施の形態1(アクセスマスタ・メモリバンクが2つの場合)の動作と原理的に同じである。本実施の形態では、第1のマッピングm1の矩形コマンドは、矩形内のメモリバンクがbank0,1,2,3,0,1,2,3と整然と並んでいる。つまり、白色のバンク→格子縞のバンク→灰色のバンク→黒色のバンクの繰り返しとなっている。また、矩形の開始位置が揃っている。仮に矩形コマンドの開始位置が異なっていても、bank並びは整然となる。 The operation of the present embodiment (when there are four access master memory banks) is in principle the same as the operation of the first embodiment (when there are two access master memory banks). In the present embodiment, in the rectangular command of the first mapping m1, the memory banks in the rectangle are arranged in an orderly manner with bank0,1,2,3,0,1,2,3. That is, a white bank → a checkered bank → a gray bank → a black bank is repeated. Also, the rectangular start positions are aligned. Even if the start positions of the rectangular commands are different, the bank arrangement is orderly.
 本実施の形態によれば、第1のマッピングm1の選択により、転送開始時からバンク競合が発生しているにもかかわらず、すべての矩形コマンドa1~a4が他のマッピングと同じタイミングもしくはより早いタイミングで完了する。 According to the present embodiment, the selection of the first mapping m1 causes all rectangular commands a1 to a4 to have the same timing or earlier than other mappings even though bank contention has occurred since the start of transfer. Complete with timing.
 (2)動作例2(矩形幅がbank幅の(4N+1)倍の場合)
 図6は矩形幅がbank幅の(4N+1)倍の場合の動作例を比較例とともに示している。具体的には、N=1で、矩形幅がbank幅の5倍の場合である。第1~第4のマッピングm1~m4は前述同様のものである。第1~第4の矩形コマンドb1~b4は第1~第4のマッピングm1~m4で共通であって、その矩形幅はメモリアクセス幅(bank幅)の5倍となっている。
(2) Operation example 2 (when the rectangular width is (4N + 1) times the bank width)
FIG. 6 shows an operation example when the rectangular width is (4N + 1) times the bank width together with a comparative example. Specifically, this is a case where N = 1 and the rectangular width is five times the bank width. The first to fourth mappings m1 to m4 are the same as described above. The first to fourth rectangular commands b1 to b4 are common to the first to fourth mappings m1 to m4, and the rectangular width is five times the memory access width (bank width).
 図6の(b)は第1のマッピングm1が適用される場合におけるタイミングチャートであり、図6の(d)は第2のマッピングm2が適用される場合におけるタイミングチャートであり、図6の(f)は第3のマッピングm3が適用される場合におけるタイミングチャートであり、図6(h)は第4のマッピングm4が適用される場合におけるタイミングチャートである。いずれのタイミングチャートにおいても、第1~第4のアクセスマスタ#1~#4が同時に転送を開始している。なお、図6の(b)においてアクセスマスタ#2でのバツ印(×)は、空白であること(いずれのbankでもないこと)を示している。 FIG. 6B is a timing chart when the first mapping m1 is applied, and FIG. 6D is a timing chart when the second mapping m2 is applied. f) is a timing chart when the third mapping m3 is applied, and FIG. 6H is a timing chart when the fourth mapping m4 is applied. In any timing chart, the first to fourth access masters # 1 to # 4 simultaneously start transferring. In FIG. 6B, the cross mark (x) in the access master # 2 indicates that it is blank (not a bank).
 本例では、第4のマッピングm4の矩形コマンドは、矩形内のメモリバンクがbank0,1,2,3,0,1,2,3と整然と並んでおり、矩形の開始位置が揃っている。仮に矩形コマンドの開始位置が異なっていても、bankの並びは整然となる。 In this example, the rectangular command of the fourth mapping m4 is such that the memory banks in the rectangle are neatly arranged as bank 0, 1, 2, 3, 0, 1, 2, and 3, and the rectangular start positions are aligned. Even if the start positions of the rectangular commands are different, the arrangement of the banks is orderly.
 さらに、第2のマッピングm2ではアクセスマスタ#1とアクセスマスタ#2とが同時に開始しており、このような矩形コマンドにおける開始位置の相対的な位置関係に起因して、バンク競合は少なくなっている。そのため、第2のマッピングm2では第4のマッピングm4と同じ時間ですべての転送が完了する。このように、任意のマッピングにおいて、矩形におけるbankの並びが整然と揃っていたとしても、矩形の開始位置の設定によっては、当該任意のマッピングと他のマッピングとの間で効率に相違が生じる場合がある。よって、最も効率良くすべての矩形コマンドを転送完了させることが可能となるかを考慮したうえで、矩形幅と矩形の開始位置との組み合わせそれぞれに適したマッピングを選択すればよい。本動作例では、第2のマッピングm2、または第4のマッピングm4を選べば、最も効率良くすべての矩形コマンドを転送完了させることが可能となる。 Furthermore, in the second mapping m2, the access master # 1 and the access master # 2 are started at the same time, and bank contention is reduced due to the relative positional relationship of the start positions in such a rectangular command. Yes. Therefore, in the second mapping m2, all transfers are completed in the same time as the fourth mapping m4. As described above, even if the arrangement of the banks in the rectangle is orderly arranged in an arbitrary mapping, there may be a difference in efficiency between the arbitrary mapping and another mapping depending on the setting of the start position of the rectangle. is there. Therefore, it is only necessary to select a mapping suitable for each combination of the rectangle width and the rectangle start position in consideration of whether transfer of all rectangle commands can be completed most efficiently. In this operation example, if the second mapping m2 or the fourth mapping m4 is selected, transfer of all rectangular commands can be completed most efficiently.
 (3)動作例3(矩形幅がbank幅の(4N+2)倍の場合)
 図7は矩形幅がbank幅の(4N+2)倍の場合の動作例を比較例とともに示している。具体的には、これらの動作例と比較例とは、N=1で、矩形幅がbank幅の6倍になっている状態における例である。第1~第4のマッピングm1~m4は前述したものと同様である。第1~第4の矩形コマンドc1~c4は、第1~第4のマッピングm1~m4で共通であり、その矩形幅がメモリアクセス幅(bank幅)の6倍となっている。
(3) Operation example 3 (when the rectangular width is (4N + 2) times the bank width)
FIG. 7 shows an operation example when the rectangular width is (4N + 2) times the bank width together with a comparative example. Specifically, these operation examples and comparative examples are examples in a state where N = 1 and the rectangular width is six times the bank width. The first to fourth mappings m1 to m4 are the same as described above. The first to fourth rectangular commands c1 to c4 are common to the first to fourth mappings m1 to m4, and the rectangular width is six times the memory access width (bank width).
 図7の(b)は第1のマッピングm1が適用される場合のタイミングチャートであり、図7の(d)は第2のマッピングm2が適用される場合のタイミングチャートであり、図7の(f)は第3のマッピングm3が適用される場合のタイミングチャートであり、図7の(h)は第4のマッピングm4が適用される場合のタイミングチャートである。いずれも、第1~第4のアクセスマスタ#1~#4が同時に転送を開始した場合のタイミングチャートを示す。 7B is a timing chart when the first mapping m1 is applied, and FIG. 7D is a timing chart when the second mapping m2 is applied. FIG. 7F is a timing chart when the third mapping m3 is applied, and FIG. 7H is a timing chart when the fourth mapping m4 is applied. Each of them shows a timing chart when the first to fourth access masters # 1 to # 4 simultaneously start transfer.
 本例では、第3のマッピングm3の矩形コマンドは、矩形内のメモリバンクがbank0,1,2,3,0,1,2,3と整然と並んでおり、矩形の開始位置が揃っている。仮に矩形コマンドの開始位置が異なっていても、bankの並びは整然となる。 In this example, in the rectangular command of the third mapping m3, the memory banks in the rectangle are arranged in an orderly manner with bank 0, 1, 2, 3, 0, 1, 2, and 3, and the start positions of the rectangles are aligned. Even if the start positions of the rectangular commands are different, the arrangement of the banks is orderly.
 第2,第4のマッピングm2,m4では、アクセスマスタ#1とアクセスマスタ#2とが同時に開始しており、このような矩形コマンドにおける開始位置の相対的な位置関係に起因して、バンク競合が少なくなっている。そのため、両マッピングm2,m4は、第1のマッピングm1よりも短時間ですべての転送を完了する。このように、任意のマッピングにおいて、矩形におけるbankの並びが整然と揃っていたとしても、矩形の開始位置によっては、当該任意のマッピングと他のマッピングとの間で効率に相違が生じる場合がある。よって、最も効率良くすべての矩形コマンドを転送完了させることが可能となるかを考慮したうえで、矩形幅と矩形の開始位置との組み合わせそれぞれに適したマッピングを選択すればよい。本動作例では、第2のマッピングm2と第4のマッピングm4とを選べば、最も効率良くすべての矩形コマンドを転送完了させることが可能となる。 In the second and fourth mappings m2 and m4, the access master # 1 and the access master # 2 start at the same time. Due to the relative positional relationship of the start positions in such a rectangular command, bank conflicts Is decreasing. Thus, both mappings m2 and m4 complete all transfers in a shorter time than the first mapping m1. Thus, even if the arrangement of the banks in the rectangle is arranged in an arbitrary mapping, there may be a difference in efficiency between the arbitrary mapping and another mapping depending on the start position of the rectangle. Therefore, it is only necessary to select a mapping suitable for each combination of the rectangle width and the rectangle start position in consideration of whether transfer of all the rectangle commands can be completed most efficiently. In this operation example, if the second mapping m2 and the fourth mapping m4 are selected, transfer of all rectangular commands can be completed most efficiently.
 (4)動作例4(矩形幅がbank幅の(4N+3)倍の場合)
 図8は矩形幅がbank幅の(4N+3)倍の場合の動作例を比較例とともに示している。具体的には、これらの動作例と比較例とは、N=1で、矩形幅がbank幅の7倍になっている状態における例である。第1~第4のマッピングm1~m4は前述同様のものである。第1~第4の矩形コマンドd1~d4は、第1~第4のマッピングm1~m4で共通であり、その矩形幅がメモリアクセス幅(bank幅)の7倍となっている。
(4) Operation example 4 (when the rectangular width is (4N + 3) times the bank width)
FIG. 8 shows an operation example when the rectangular width is (4N + 3) times the bank width together with a comparative example. Specifically, these operation examples and comparative examples are examples in a state where N = 1 and the rectangular width is seven times the bank width. The first to fourth mappings m1 to m4 are the same as described above. The first to fourth rectangular commands d1 to d4 are common to the first to fourth mappings m1 to m4, and the rectangular width is seven times the memory access width (bank width).
 図8の(b)は第1のマッピングm1が適用される場合のタイミングチャートであり、図8の(d)は第2のマッピングm2が適用される場合のタイミングチャートであり、図8の(f)は第3のマッピングm3が適用される場合のタイミングチャートであり、図8の(h)は第4のマッピングm4が適用される場合のタイミングチャートである。いずれも、第1~第4のアクセスマスタ#1~#4が同時に転送を開始した場合のタイミングチャートを示す。 FIG. 8B is a timing chart when the first mapping m1 is applied, and FIG. 8D is a timing chart when the second mapping m2 is applied. f) is a timing chart when the third mapping m3 is applied, and (h) of FIG. 8 is a timing chart when the fourth mapping m4 is applied. Each of them shows a timing chart when the first to fourth access masters # 1 to # 4 simultaneously start transfer.
 本例では、第2のマッピングm2の矩形コマンドは、矩形内のメモリバンクがbank0,1,2,3,0,1,2,3と整然と並んでおり、矩形の開始位置が揃っている。仮に矩形コマンドの開始位置が異なっていても、bankの並びは整然となる。 In this example, in the rectangular command of the second mapping m2, the memory banks in the rectangle are arranged in an orderly manner with bank 0, 1, 2, 3, 0, 1, 2, and 3, and the start positions of the rectangles are aligned. Even if the start positions of the rectangular commands are different, the arrangement of the banks is orderly.
 第4のマッピングm4では、アクセスマスタ#1とアクセスマスタ#2とが同時に開始しており、このような矩形コマンドにおける開始位置の相対的な位置関係に起因して、バンク競合が少なくなっている。そのため、第4のマッピングm4は、第2のマッピングm2と同じ時間ですべての転送を完了する。このように、任意のマッピングにおいて、矩形におけるbankの並びが整然と揃っていたとしても、矩形の開始位置によっては、当該任意のマッピングと他のマッピングとの間で効率に相違が生じる場合がある。よって、最も効率良くすべての矩形コマンドを転送完了させることが可能となるかを考慮したうえで、矩形幅と矩形の開始位置との組み合わせそれぞれに適したマッピングを選択すればよい。本動作例では、第2のマッピングm2と第4のマッピングm4とを選べば、最も効率良くすべての矩形コマンドを転送完了させることが可能となる。 In the fourth mapping m4, the access master # 1 and the access master # 2 are started at the same time, and bank contention is reduced due to the relative positional relationship of the start positions in such a rectangular command. . Therefore, the fourth mapping m4 completes all transfers in the same time as the second mapping m2. Thus, even if the arrangement of the banks in the rectangle is arranged in an arbitrary mapping, there may be a difference in efficiency between the arbitrary mapping and another mapping depending on the start position of the rectangle. Therefore, it is only necessary to select a mapping suitable for each combination of the rectangle width and the rectangle start position in consideration of whether transfer of all rectangle commands can be completed most efficiently. In this operation example, if the second mapping m2 and the fourth mapping m4 are selected, transfer of all rectangular commands can be completed most efficiently.
 本実施の形態ではアクセスマスタとメモリバンクの数が2と4の場合を示しているが、3もしくは5以上の場合でも同じ効果を生むことができる。 In this embodiment, the case where the number of access masters and memory banks is 2 and 4 is shown, but the same effect can be produced even when the number is 3 or 5 or more.
 以上のように本実施の形態では、矩形コマンドの処理時間が最短になるようにメモリマッピングを選択するように構成している。そのため、任意の動作モードでの矩形コマンドの処理の完了までに要する時間を最短化することができる。これにより、複数バンク構成のメモリに対する矩形コマンドでのアクセスにおいて、そのアクセス効率を向上させることができる。 As described above, in this embodiment, the memory mapping is selected so that the processing time of the rectangular command is minimized. Therefore, the time required to complete the rectangular command processing in an arbitrary operation mode can be minimized. Thereby, the access efficiency can be improved in the access by the rectangular command to the memory having a plurality of banks.
 (その他)
 なお、メモリアクセス装置は、メモリアクセス装置の各機能が組み込まれたLSIによって実現されるとしてもよい。なお、LSIは、フルカスタムLSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)などのようなセミカスタムLSI、FPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)などのようなプログラマブルロジックデバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスに構成されるとしてもよい。
(Other)
Note that the memory access device may be realized by an LSI in which each function of the memory access device is incorporated. LSIs are semi-custom LSIs such as full custom LSI (Large Scale Integration) and ASIC (Application Specific Integrated Circuit), programmable logic such as FPGA (Field Programmable Gate Array) and CPLD (Complex Programmable Logic Device). The device may be configured as a dynamic reconfigurable device whose circuit configuration can be dynamically rewritten.
 さらに、メモリアクセス装置の各機能をLSIに構成する設計データは、ハードウェア記述言語によって記述されたプログラム(HDLプログラム)としてもよい。さらに、HDLプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語としては、VHDL(Very high speed integrated circuit Hardware Description Language)、Verilog-HDL、SystemCなどがある。 Furthermore, the design data that configures each function of the memory access device in the LSI may be a program (HDL program) described in a hardware description language. Further, it may be a gate level netlist obtained by logical synthesis of an HDL program. Alternatively, macro cell information in which arrangement information, process conditions, and the like are added to a gate level netlist may be used. Further, it may be mask data in which dimensions, timing, and the like are defined. Here, examples of hardware description languages include VHDL (Very high speed integrated circuit Hardware Description Language), Verilog-HDL, and SystemC.
 さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブルロジックデバイスにダウンロードされるとしてもよい。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体(CD-ROMなど)、磁気記録媒体(ハードディスクなど)、光磁気記録媒体(MOなど)、半導体メモリ(メモリカードなど)などがある。 Furthermore, the design data may be recorded on a recording medium readable by a hardware system such as a computer system or an embedded system. Furthermore, the program may be read and executed by another hardware system via the recording medium. Then, the design data read by the other hardware system via these recording media may be downloaded to the programmable logic device via the download cable. Here, the computer system-readable recording medium includes an optical recording medium (such as a CD-ROM), a magnetic recording medium (such as a hard disk), a magneto-optical recording medium (such as an MO), and a semiconductor memory (such as a memory card).
 または、設計データは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブルロジックデバイスにダウンロードされるとしてもよい。ここで、ネットワークとして、地上放送網、衛星放送網、PLC(Power Line Communication:電力線通信)、移動電話網、有線通信網(IEEE802.3など)、無線通信網(IEEE802.11など)がある。 Alternatively, the design data may be held in a hardware system connected to a network such as the Internet or a local area network. Furthermore, it may be downloaded to another hardware system via a network and executed. And the design data acquired by other hardware systems via these networks may be downloaded to a programmable logic device via a download cable. Here, as a network, there are a terrestrial broadcast network, a satellite broadcast network, a PLC (Power Line Communication), a mobile telephone network, a wired communication network (IEEE802.3, etc.), and a wireless communication network (IEEE802.11, etc.).
 または、設計データは、通電時にFPGAに転送され得るように、シリアルROMに記録しておくとしてもよい。そして、シリアルROMに記録された設計データは、通電時に直接FPGAにダウンロードされるとしてもよい。 Alternatively, the design data may be recorded in a serial ROM so that it can be transferred to the FPGA when energized. The design data recorded in the serial ROM may be directly downloaded to the FPGA when energized.
 または、設計データは、通電時にマイクロプロセッサによって生成されてFPGAにダウンロードされるとしてもよい。 Alternatively, the design data may be generated by the microprocessor when energized and downloaded to the FPGA.
 本発明の技術は、メモリ上での複数の矩形データを制御するメモリアクセス装置などにおいて、半導体チップ内や外付けメモリとのインターフェイス等として有用である。 The technique of the present invention is useful as an interface with a semiconductor chip or an external memory in a memory access device for controlling a plurality of rectangular data on a memory.
 10 モード固定器
 11 パラメータ固定部
 12 矩形幅/矩形位置保持部
 20 アクセスマスタ
 21 矩形コマンド発行部
 22 コマンド変換部
 23 メモリアドレス変換部
 24 バンク生成部
 25 オフセット生成部
 26 マスタ内セレクタ
 30 メモリバンク
 31 バンク内セレクタ
 32 メモリ部
  40 競合判定部
 50 優先度決定部
 60 フレーム領域
 61 矩形コマンド領域
 m1 第1のマッピング
 m2 第2のマッピング
 m3 第3のマッピング
 m4 第4のマッピング
 a1~a4 矩形コマンド
 b1~b4 矩形コマンド
 c1~c4 矩形コマンド
 d1~d4 矩形コマンド
DESCRIPTION OF SYMBOLS 10 Mode fixing device 11 Parameter fixing part 12 Rectangular width / rectangular position holding part 20 Access master 21 Rectangular command issuing part 22 Command conversion part 23 Memory address conversion part 24 Bank generation part 25 Offset generation part 26 Master selector 30 Memory bank 31 Bank Inner selector 32 Memory unit 40 Contention determination unit 50 Priority determination unit 60 Frame region 61 Rectangular command region m1 First mapping m2 Second mapping m3 Third mapping m4 Fourth mapping a1 to a4 Rectangular command b1 to b4 Rectangular Command c1 to c4 Rectangular command d1 to d4 Rectangular command

Claims (10)

  1.  複数のメモリバンクと、
     前記メモリバンクの記録エリアにおける任意の矩形領域を特定する矩形コマンドに含まれる少なくとも一つのパラメータを、前記メモリバンクの記録動作に応じて設定される動作モードに基づいて固定するとともに、前記動作モードに応じてモード信号を生成するモード固定器と、
     前記モード固定器によって固定された前記パラメータに基づいて、前記メモリバンクにおけるアドレス位置上のオフセットを設定するとともに、前記メモリバンクの中から任意のメモリバンクを指定する複数のアクセスマスタと、
     少なくとも2つの前記アクセスマスタによる重複指定に基づいて、バンク競合が生じる前記メモリバンクを特定する競合判定器と、
     前記バンク競合が生じる前記メモリバンクを指定する少なくとも2つの前記アクセスマスタにおける優先順位を決定したうえで、最優先とする前記アクセスマスタを指定するバンク内セレクタ選択信号を、前記バンク競合が生じる前記メモリバンクに出力するとともに、最優先とする前記アクセスマスタ以外の前記アクセスマスタに停止信号を出力する優先度決定器と、
     を備える、
     メモリアクセス装置。
    Multiple memory banks,
    At least one parameter included in a rectangular command for specifying an arbitrary rectangular area in the recording area of the memory bank is fixed based on an operation mode set according to the recording operation of the memory bank, and is set in the operation mode. A mode fixer that generates a mode signal in response,
    Based on the parameters fixed by the mode fixer, an offset on the address position in the memory bank is set, and a plurality of access masters designating an arbitrary memory bank from the memory bank,
    A contention determination unit that identifies the memory bank in which bank contention occurs based on duplication designation by at least two of the access masters;
    The priority in the at least two access masters that specify the memory bank in which the bank conflict occurs is determined, and an in-bank selector selection signal that specifies the access master to be given the highest priority is used as the memory in which the bank conflict occurs. A priority determiner that outputs to the bank and outputs a stop signal to the access master other than the access master to be the highest priority;
    Comprising
    Memory access device.
  2.  前記メモリバンクは、前記バンク内セレクタ選択信号で指定される前記アクセスマスタから供給される前記オフセットによって前記矩形領域が特定されるものであり、
     前記アクセスマスタは、
     前記モード固定器によって固定された前記パラメータを含む前記矩形コマンドを発行する矩形コマンド発行器と、
     前記矩形コマンドに基づいてサブコマンドを生成するとともに、前記停止信号に基づいて前記サブコマンドの生成を停止するコマンド変換器と、
     一つの前記動作モードに対応するメモリマッピング情報に基づいて前記サブコマンドを前記バンク番号と前記オフセットとに変換するメモリアドレス変換器と、
     前記バンク番号と前記オフセットとを、前記動作モードに応じて選択するマスタ内セレクタと、
     を備え、
     前記メモリアドレス変換器は、複数ある前記動作モードに対応して複数設けられる、
     請求項1のメモリアクセス装置。
    In the memory bank, the rectangular area is specified by the offset supplied from the access master specified by the selector selection signal in the bank,
    The access master is
    A rectangular command issuer for issuing the rectangular command including the parameter fixed by the mode fixer;
    A command converter for generating a subcommand based on the rectangular command and stopping the generation of the subcommand based on the stop signal;
    A memory address converter for converting the subcommand into the bank number and the offset based on memory mapping information corresponding to one operation mode;
    In-master selector that selects the bank number and the offset according to the operation mode;
    With
    A plurality of the memory address converters are provided corresponding to the plurality of operation modes.
    The memory access device according to claim 1.
  3.  前記モード固定器は、
     前記パラメータの一つである前記矩形コマンドの矩形幅を固定し、かつ当該固定した矩形幅に対応する前記メモリマッピング情報を有する前記メモリアドレス変換器を選択する信号を、前記モード信号として生成する、
     請求項2のメモリアクセス装置。
    The mode fixer is
    A signal for selecting the memory address converter having the memory mapping information corresponding to the fixed rectangular width and fixing the rectangular width of the rectangular command which is one of the parameters is generated as the mode signal.
    The memory access device according to claim 2.
  4.  前記モード固定器は、
     前記パラメータの一つである前記フレーム領域内での矩形コマンドの位置を固定し、かつ当該固定した矩形コマンドの位置に対応する前記メモリマッピング情報を有する前記メモリアドレス変換器を選択する信号を、前記モード信号として生成する、
     請求項2のメモリアクセス装置。
    The mode fixer is
    A signal for selecting the memory address converter having the memory mapping information corresponding to the position of the fixed rectangular command and fixing the position of the rectangular command in the frame area, which is one of the parameters, Generate as a mode signal,
    The memory access device according to claim 2.
  5.  請求項1のメモリアクセス装置と、
     前記メモリアクセス装置から供給される画像データを復号化する復号化装置と、
     前記復号化装置の出力を表示する表示装置と、
     を備える、
     映像音声表示装置。
    A memory access device according to claim 1;
    A decoding device for decoding image data supplied from the memory access device;
    A display device for displaying the output of the decoding device;
    Comprising
    Video / audio display device.
  6.  複数設けたメモリバンクの記録エリアにおける任意の矩形領域を特定する矩形コマンドに含まれる少なくとも一つのパラメータを、前記メモリバンクの記録動作に応じて設定される動作モードに基づいて固定するとともに、前記動作モードに応じてモード信号を生成するモード固定ステップと、
     前記モード固定ステップによって固定された前記パラメータに基づいて、前記メモリバンクにおけるアドレス位置上のオフセットを設定するとともに、前記メモリバンクの中から任意のメモリバンクを指定するアクセスマスタステップと、
     少なくとも2つの前記アクセスマスタによる重複指定に基づいて、バンク競合が生じる前記メモリバンクを特定する競合判定ステップと、
     前記バンク競合が生じる前記メモリバンクを指定する少なくとも2つの前記アクセスマスタにおける優先順位を決定したうえで、最優先とする前記アクセスマスタを指定するバンク内セレクタ選択信号を、前記バンク競合が生じる前記メモリバンクに出力するとともに、最優先とする前記アクセスマスタ以外の前記アクセスマスタに停止信号を出力する優先度決定ステップと、
     前記バンク競合が生じる前記メモリバンクにおいて、前記バンク内セレクタ選択信号で指定される前記アクセスマスタから供給される前記オフセットによって特定される前記矩形領域をアクセスするメモリバンクアクセスステップと、
     を含む、
    メモリアクセス方法。
    At least one parameter included in a rectangular command for specifying an arbitrary rectangular area in a plurality of memory bank recording areas is fixed based on an operation mode set in accordance with the recording operation of the memory bank, and the operation A mode fixing step for generating a mode signal according to the mode;
    Based on the parameter fixed by the mode fixing step, an offset on the address position in the memory bank is set, and an access master step for designating an arbitrary memory bank from the memory bank;
    A conflict determination step for identifying the memory bank in which bank conflict occurs based on duplication designation by at least two of the access masters;
    The priority in the at least two access masters that specify the memory bank in which the bank conflict occurs is determined, and an in-bank selector selection signal that specifies the access master to be given the highest priority is used as the memory in which the bank conflict occurs. A priority determination step of outputting a stop signal to the access master other than the access master to be the highest priority, and outputting to the bank;
    A memory bank access step of accessing the rectangular area specified by the offset supplied from the access master specified by the intra-bank selector selection signal in the memory bank in which the bank conflict occurs;
    including,
    Memory access method.
  7.  前記アクセスマスタステップは、
     前記モード固定ステップによって固定された前記パラメータを含む前記矩形コマンドを発行する矩形コマンド発行ステップと、
     前記矩形コマンドに基づいてサブコマンドを生成するとともに、前記停止信号に基づいて前記サブコマンドの生成を停止するコマンド変換ステップと、
     一つの前記動作モードに対応するメモリマッピング情報に基づいて前記サブコマンドを前記バンク番号と前記オフセットとに変換するメモリアドレス変換ステップと、
     前記バンク番号と前記オフセットとを、前記動作モードに応じて選択するマスタ内セレクトステップと、
     を含み、
     前記メモリアドレス変換ステップは、複数ある前記動作モードに対応して複数回実施される、
     請求項6のメモリアクセス方法。
    The access master step includes
    A rectangular command issuing step for issuing the rectangular command including the parameter fixed by the mode fixing step;
    A command conversion step of generating a subcommand based on the rectangular command and stopping the generation of the subcommand based on the stop signal;
    A memory address conversion step of converting the subcommand into the bank number and the offset based on memory mapping information corresponding to one operation mode;
    In-master select step for selecting the bank number and the offset according to the operation mode;
    Including
    The memory address conversion step is performed a plurality of times corresponding to a plurality of the operation modes.
    The memory access method according to claim 6.
  8.  請求項7のメモリアクセス方法の機能が組み込まれたLSI。 An LSI incorporating the function of the memory access method according to claim 7.
  9.  請求項7のメモリアクセス方法の機能をFPGA、CPLDなどのプログラマブルロジックデバイス(PLD)に構成したIPコア。 An IP core in which the function of the memory access method according to claim 7 is configured in a programmable logic device (PLD) such as FPGA or CPLD.
  10.  請求項7のメモリアクセス方法の機能のプログラムを記録したコンピュータ読み取り可能なメモリアクセス用の記録媒体。 A computer-readable recording medium for memory access in which a program of the function of the memory access method according to claim 7 is recorded.
PCT/JP2009/003688 2009-01-27 2009-08-03 Memory access device and techniques related thereto WO2010086919A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009015483 2009-01-27
JP2009-015483 2009-01-27

Publications (1)

Publication Number Publication Date
WO2010086919A1 true WO2010086919A1 (en) 2010-08-05

Family

ID=42395189

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/003688 WO2010086919A1 (en) 2009-01-27 2009-08-03 Memory access device and techniques related thereto

Country Status (1)

Country Link
WO (1) WO2010086919A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039660A (en) * 2009-08-07 2011-02-24 Fujitsu Ltd Memory controller, image processing system and control method for memory access
WO2012124251A1 (en) * 2011-03-16 2012-09-20 パナソニック株式会社 Data processing device, data processing method, and data sharing system
JP2016536692A (en) * 2013-08-08 2016-11-24 デイヴィッド モロニー, Computer image processing pipeline
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
JP7436953B2 (en) 2018-12-31 2024-02-22 京セラドキュメントソリューションズ株式会社 Memory control device, memory control method, and image forming device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850573A (en) * 1994-08-04 1996-02-20 Hitachi Ltd Microcomputer
JPH1155484A (en) * 1997-07-31 1999-02-26 Ricoh Co Ltd Image data storage processing unit
JP2002328837A (en) * 2001-04-27 2002-11-15 Fujitsu Ltd Memory controller
JP2004518343A (en) * 2001-01-12 2004-06-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus and method for memory address translation and image processing apparatus including such an apparatus
WO2008038372A1 (en) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Shared memory circuit and access control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850573A (en) * 1994-08-04 1996-02-20 Hitachi Ltd Microcomputer
JPH1155484A (en) * 1997-07-31 1999-02-26 Ricoh Co Ltd Image data storage processing unit
JP2004518343A (en) * 2001-01-12 2004-06-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus and method for memory address translation and image processing apparatus including such an apparatus
JP2002328837A (en) * 2001-04-27 2002-11-15 Fujitsu Ltd Memory controller
WO2008038372A1 (en) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Shared memory circuit and access control method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039660A (en) * 2009-08-07 2011-02-24 Fujitsu Ltd Memory controller, image processing system and control method for memory access
WO2012124251A1 (en) * 2011-03-16 2012-09-20 パナソニック株式会社 Data processing device, data processing method, and data sharing system
US9201781B2 (en) 2011-03-16 2015-12-01 Panasonic Intellectual Property Management Co., Ltd. Data processing apparatus, data processing method and data sharing system
JP2016536692A (en) * 2013-08-08 2016-11-24 デイヴィッド モロニー, Computer image processing pipeline
US10360040B2 (en) 2013-08-08 2019-07-23 Movidius, LTD. Apparatus, systems, and methods for providing computational imaging pipeline
JP2019220201A (en) * 2013-08-08 2019-12-26 デイヴィッド モロニー, Parallel processing device for accessing memory, method performed by computer, system, and computer-readable medium
US11042382B2 (en) 2013-08-08 2021-06-22 Movidius Limited Apparatus, systems, and methods for providing computational imaging pipeline
JP7025617B2 (en) 2013-08-08 2022-02-25 デイヴィッド モロニー, Parallel processing equipment for accessing memory, methods implemented by computers, systems, computer readable media
US11567780B2 (en) 2013-08-08 2023-01-31 Movidius Limited Apparatus, systems, and methods for providing computational imaging pipeline
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
JP7384534B2 (en) 2013-08-08 2023-11-21 デイヴィッド モロニー, Parallel processing device, computer readable storage device and method
JP7436953B2 (en) 2018-12-31 2024-02-22 京セラドキュメントソリューションズ株式会社 Memory control device, memory control method, and image forming device

Similar Documents

Publication Publication Date Title
WO2010086919A1 (en) Memory access device and techniques related thereto
US8239590B1 (en) Method and apparatus for transferring data between two different interfaces
JP2009015832A (en) Inter-access arbitration circuit, semiconductor device, and inter-access arbitration method
WO2011001789A1 (en) Semiconductor device
JP2010262429A (en) Device and method for control of memory
JPWO2010143386A1 (en) Arbitration apparatus, arbitration system, arbitration method, semiconductor integrated circuit, and image processing apparatus
WO2005015504A1 (en) Image processing semiconductor processor
US10411711B2 (en) FPGA having a virtual array of logic tiles, and method of configuring and operating same
JP4789777B2 (en) Task distribution method and information processing apparatus
US20060200606A1 (en) Bus connection method and apparatus
US7861012B2 (en) Data transmitting device and data transmitting method
US7657711B2 (en) Dynamic memory bandwidth allocation
JP4042088B2 (en) Memory access method
JP5835498B2 (en) LSI and LSI manufacturing method
JP4890807B2 (en) Memory access device and memory access method
US20090287850A1 (en) Command output control apparatus
JP2008090360A (en) Integrated circuit, and input data control method for reconfigurable circuit
JP2008097430A (en) Stream data reproduction system
JP2006024134A (en) Dma transfer device and dma transfer method
KR101116613B1 (en) Apparatus and method for memory access control
US7623544B2 (en) Data processing system, access controlling method, access controlling apparatus and recording medium
CA2802666A1 (en) Image processing device
JP2008225775A (en) Memory control unit
JP5449287B2 (en) Memory access device
JP2000148660A (en) Method and device for transferring dma data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09839111

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: JP

122 Ep: pct application non-entry in european phase

Ref document number: 09839111

Country of ref document: EP

Kind code of ref document: A1