JP2002132707A - Memory access arbitrating method - Google Patents
Memory access arbitrating methodInfo
- Publication number
- JP2002132707A JP2002132707A JP2000325189A JP2000325189A JP2002132707A JP 2002132707 A JP2002132707 A JP 2002132707A JP 2000325189 A JP2000325189 A JP 2000325189A JP 2000325189 A JP2000325189 A JP 2000325189A JP 2002132707 A JP2002132707 A JP 2002132707A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- client
- data
- transaction
- memory access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、デジタル複写機等に
おけるメモリアクセス調停方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory access arbitration method in a digital copying machine or the like.
【0002】[0002]
【従来の技術】複数のメモリアクセス要求元(以下、ク
ライアントという)からのメモリアクセス要求に対する
調停方法として、固定優先順位による調停方法と、
ラウンドロビン方式による調停方法とがある。2. Description of the Related Art As an arbitration method for a memory access request from a plurality of memory access request sources (hereinafter, referred to as clients), an arbitration method based on a fixed priority,
There is a round-robin arbitration method.
【0003】固定優先順位方式による調停方法およびラ
ウンドロビン方式による調停方法は、共に、メモリアク
セス要求が競合した場合に、優先順位の高いクライアン
トからのメモリアクセス要求を優先させるものである
が、固定優先順位方式による調停方法では優先順位が固
定されているのに対し、ラウンドロビン方式による調停
方法では調停によってクライアントが選択されると、そ
のクライアントの優先順位が最下位に回り、それにとも
なって、当該クライアントの調停時の優先順位より低か
った他のクライアントの優先順位が繰り上げられる点で
両者は異なっている。The arbitration method using the fixed priority method and the arbitration method using the round robin method both give priority to a memory access request from a client having a higher priority when memory access requests conflict with each other. In the arbitration method based on the ranking method, the priority is fixed, whereas in the arbitration method based on the round robin method, when a client is selected by arbitration, the priority of the client turns to the lowest, and accordingly, the client The two are different in that the priority of another client that is lower than the priority at the time of arbitration is raised.
【0004】クライアントが多数存在し、かつその中の
クライアントに対して、スキャナからの画像入力、LS
U(レーザスキャンユニット)に対する画像出力等のよ
うにデータ転送レートを保証する必要があるようなシス
テムの場合、上記固定優先順位方式やラウンドロビン方
式による調停方法では、特定のクライアントに対してデ
ータ転送レートを保証できなくなる危険性が高い。[0004] There are many clients, and image input from a scanner, LS
In a system in which a data transfer rate needs to be guaranteed, such as an image output to a U (laser scan unit), in the arbitration method using the fixed priority method or the round robin method, data transfer to a specific client There is a high risk that rates cannot be guaranteed.
【0005】つまり、固定優先順位方式による調停方法
では、データ転送レートを保証すべき複数のクライアン
トに対する優先順位を上位に設定しても、データ転送レ
ートを保証すべきクライアントの中の1つが内部にFI
FO等のバッファを有する場合には、そのバッファにデ
ータが充填されるまでの間は、データ転送レートを保証
すべき他のライアントのメモリアクセスを阻害すること
がある。That is, in the arbitration method based on the fixed priority system, even if the priorities for a plurality of clients for which the data transfer rate is to be guaranteed are set higher, one of the clients for which the data transfer rate is to be guaranteed is internally provided. FI
When a buffer such as an FO is provided, the memory access of another client whose data transfer rate should be guaranteed may be hindered until the buffer is filled with data.
【0006】また、ラウンドロビン方式による調停方法
では、データ転送レートを保証すべきクライアントが要
求するデータ転送レートの総和に対してメモリのバンド
幅(メモリが有する転送レートのキャパシティ)にあま
り余裕がないと、データ転送レートを保証する必要のな
いクライアントの優先順位が上位に繰り上げられたとき
にメモリのバンド幅を消費し、データ転送レートを保証
すべきクライアントに対して充分なメモリバンド幅を確
保できなくなることがある。Further, in the arbitration method based on the round robin method, there is not much room in the memory bandwidth (capacity of the transfer rate possessed by the memory) with respect to the total of the data transfer rates required by the clients to guarantee the data transfer rate. Otherwise, when the priority of a client that does not need to guarantee the data transfer rate is moved up, the memory bandwidth is consumed, and sufficient memory bandwidth is secured for the client that needs to guarantee the data transfer rate May not be possible.
【0007】[0007]
【発明が解決しようとする課題】この発明は、データ転
送レートを保証する必要がある特定のクライアントに対
して、データ転送レートを保証することができるメモリ
アクセス調停方法を提供することを目的とする。SUMMARY OF THE INVENTION An object of the present invention is to provide a memory access arbitration method capable of guaranteeing a data transfer rate for a specific client that needs to guarantee a data transfer rate. .
【0008】[0008]
【課題を解決するための手段】この発明による第1のメ
モリアクセス調停方法は、データ転送レートを保証する
必要がある複数のクライアントからのメモリアクセス要
求が競合した場合には、各クライアントによって生成さ
れかつ各クライアントに設けられているデータバッファ
へのデータの蓄積状況を示すバッファ残量に基づいて、
アクセス権の調停を行なうようにしたことを特徴とす
る。According to a first memory access arbitration method according to the present invention, when a memory access request from a plurality of clients for which a data transfer rate needs to be guaranteed conflicts, a memory access request is generated by each client. And based on the buffer remaining amount indicating the accumulation status of data in the data buffer provided in each client,
Arbitration of access rights is performed.
【0009】各クライアントによるメモリアクセスがバ
ーストアクセスによって行なわれる場合には、アクセス
権の調停は、各クライアントによって生成されたバッフ
ァ残量をバースト内転送量によって補正した後のバッフ
ァ残量に基づいて行なわれる。When the memory access by each client is performed by burst access, the arbitration of the access right is performed based on the buffer remaining amount after the buffer remaining amount generated by each client is corrected by the transfer amount within the burst. It is.
【0010】この発明による第2のメモリアクセス調停
方法は、データ転送レートを保証する必要がある複数の
クライアントからのメモリアクセス要求が競合した場合
には、所定期間毎に、各クライアントによって生成され
かつ各クライアントに設けられているデータバッファへ
のデータの蓄積状況を示すバッファ残量に基づいて、次
に処理すべきトランザクションを仮決定するステップ、
仮決定したトランザクションが次の所定期間において処
理可能か否かを、仮決定したトランザクション処理内容
と先行トランザクションの処理内容とに基づいてチェッ
クするステップ、ならびに仮決定したトランザクション
が次の所定期間で処理可能であると判定した場合には、
その仮決定したトランザクションの処理を次の所定期間
から開始し、仮決定したトランザクションが次の所定期
間で処理可能ではないと判定した場合には、次の所定期
間において、各クライアントによって生成されたバッフ
ァ残量に基づいて次に処理すべきトランザクションを仮
決定するステップを備えていることを特徴とする。In a second memory access arbitration method according to the present invention, when memory access requests from a plurality of clients that need to guarantee a data transfer rate compete with each other, each memory access request is generated by each client at predetermined intervals and Tentatively determining a transaction to be processed next based on a buffer remaining amount indicating a data accumulation state in a data buffer provided in each client;
A step of checking whether the provisionally determined transaction can be processed in the next predetermined period based on the provisionally determined transaction processing content and the processing content of the preceding transaction, and the provisionally determined transaction can be processed in the next predetermined period If it is determined that
The processing of the provisionally determined transaction is started from the next predetermined period, and if it is determined that the provisionally determined transaction cannot be processed in the next predetermined period, the buffer generated by each client in the next predetermined period A step of temporarily determining a transaction to be processed next based on the remaining amount.
【0011】各クライアントによるメモリアクセスがバ
ーストアクセスによって行なわれる場合には、次に処理
すべきトランザクションの仮決定は、各クライアントに
よって生成されたバッファ残量をバースト内転送量によ
って補正した後のバッファ残量に基づいて行なわれる。When the memory access by each client is performed by burst access, the tentative determination of the transaction to be processed next is based on the buffer remaining after correcting the remaining buffer generated by each client by the transfer amount within the burst. This is done on a volume basis.
【0012】[0012]
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0013】〔1〕デジタル複写機のメモリ制御回路の
周辺回路の構成の説明[1] Description of Configuration of Peripheral Circuit of Memory Control Circuit of Digital Copier
【0014】図1は、デジタル複写機のメモリ制御回路
およびその周辺回路の構成を示している。FIG. 1 shows the configuration of a memory control circuit and its peripheral circuits of a digital copying machine.
【0015】メモリ制御回路1には、画像入出力I/F
2、HDDI/F3、SDRAM4、CPU5および画
像圧縮伸長回路6が接続されている。The memory control circuit 1 has an image input / output I / F
2, HDD I / F 3, SDRAM 4, CPU 5, and image compression / decompression circuit 6 are connected.
【0016】〔2〕デジタル複写機のメモリ制御回路の
構成の説明[2] Description of the configuration of the memory control circuit of the digital copying machine
【0017】図2は、メモリ制御回路1の構成を示して
いる。FIG. 2 shows the configuration of the memory control circuit 1.
【0018】メモリ制御回路1は、複数のインターフェ
ース(I/F)11〜18、画像処理回路(RBUF)1
9、内部CODEC回路(MXX )20および複数のDM
Aコントローラ(DMAC)21〜33を備えている。The memory control circuit 1 includes a plurality of interfaces (I / F) 11 to 18, an image processing circuit (RBUF) 1
9. Internal CODEC circuit (MXX) 20 and multiple DMs
A controllers (DMAC) 21 to 33 are provided.
【0019】この実施の形態では、図示しないスキャナ
から画像入力I/F(IDIN0 )15に入力される画像デ
ータを、DMAコントローラ(DMAC10)21およびSD
RAM I/F(SDRAMIF)14によってSDRAM4に
格納するためのメモリアクセス要求と、SDRAM4に
格納された画像データをDMAコントローラ(DMAC20)
23およびSDRAM I/F(SDRAMIF)14によって
画像出力I/F(VDOUT0) 17に出力して印字処理を行
なうためのメモリアクセス要求とが競合した場合を例に
とって、メモリ制御回路1の調停動作について説明す
る。In this embodiment, image data input from a scanner (not shown) to an image input I / F (IDIN0) 15 is transferred to a DMA controller (DMAC 10) 21 and an SD card.
A memory access request for storing in the SDRAM 4 by the RAM I / F (SDRAMIF) 14 and image data stored in the SDRAM 4 are transferred to a DMA controller (DMAC 20).
The arbitration operation of the memory control circuit 1 will be described with respect to a case where a memory access request for outputting to the image output I / F (VDOUT0) 17 and performing printing processing by the SDRAMIF 23 and the SDRAM I / F (SDRAMIF) 14 competes. explain.
【0020】〔3〕画像入力I/F(IDIN0)15に内蔵
されているデータバッファおよびその周辺回路の構成の
説明[3] Description of the configuration of the data buffer built in the image input I / F (IDIN0) 15 and its peripheral circuits
【0021】図3は、画像入力I/F(IDIN0) 15に内
蔵されているデータバッファおよびその周辺回路の構成
を示している。FIG. 3 shows the configuration of the data buffer built in the image input I / F (IDIN0) 15 and its peripheral circuits.
【0022】画像入力I/F(IDIN0) 15は、データバ
ッファ40と、セレクタ56と、ストア制御信号生成部
57と、ロード制御信号および選択制御信号生成部58
と、エンコーダ59とを備えている。The image input I / F (IDIN0) 15 includes a data buffer 40, a selector 56, a store control signal generator 57, a load control signal and a selection control signal generator 58.
And an encoder 59.
【0023】データバッファ40は、画像入力I/F(I
DIN0) 15の動作クロックWCK に同期して入力画像デー
タIDIN[31:0]を取込み、システムクロックSCK に同期し
て、画像データidData[31:0]を出力する。なお、SDR
AM I/F(SDRAMIF)14もシステムクロックSCK に
同期して動作するものとする。データバッファ40は、
15段のワードバッファフラグ生成部41〜55を内蔵
しており、15段×32bitのFIFOとして動作
し、データがラッチされたワードバッファフラグ生成部
の数(データバッファ40に蓄積されているデータ量)
をバッファ残量idFlag[3:0] として出力する。The data buffer 40 has an image input I / F (I
DIN0) The input image data IDIN [31: 0] is taken in synchronization with the operation clock WCK of 15, and the image data idData [31: 0] is output in synchronization with the system clock SCK. In addition, SDR
The AM I / F (SDRAMIF) 14 also operates in synchronization with the system clock SCK. The data buffer 40
It has 15-stage word buffer flag generators 41 to 55, operates as a 15-stage × 32-bit FIFO, and has the number of word buffer flag generators whose data is latched (the amount of data stored in the data buffer 40). )
Is output as the buffer remaining amount idFlag [3: 0].
【0024】データバッファ40は、画像入力I/F(I
DIN0) 15内部で生成されるデータバッファへの画像デ
ータ書き込み制御信号IDACK がアサート("H"レベル) さ
れている期間、動作クロックWCK に同期して、画像デー
タIDINを取り込む。画像データIDINをいずれのワードバ
ッファフラグ生成部41〜55に格納するかは、ストア
制御信号生成部57によって生成されるストア制御信号
st[14:0]によって制御される。The data buffer 40 has an image input I / F (I
(DIN0) 15 While the image data write control signal IDACK to the data buffer generated inside 15 is asserted ("H" level), the image data IDIN is fetched in synchronization with the operation clock WCK. Which of the word buffer flag generators 41 to 55 stores the image data IDIN is determined by a store control signal generated by the store control signal generator 57.
Controlled by st [14: 0].
【0025】ストア制御信号生成部57は、第1カウン
タ57aと第1デコーダ57bを備えている。第1カウ
ンタ57aは、画像データ書き込み制御信号IDACK がア
サートされる毎にアップカウント動作を行なう。第1カ
ウンタ57aのカウント値は、最大14であり、14を
越えると0に戻る。The store control signal generator 57 has a first counter 57a and a first decoder 57b. The first counter 57a performs an up-count operation each time the image data write control signal IDACK is asserted. The count value of the first counter 57a is 14 at the maximum, and returns to 0 when it exceeds 14.
【0026】第1デコーダ57bは、第1カウンタ57
aのカウント値をデコードし、15本のデコード信号を
生成する。ストア制御信号生成部57は、画像データ書
き込み制御信号IDACK とこれらのテコード信号との論理
積を演算して、ストア制御信号st[14:0]を生成する。The first decoder 57b includes a first counter 57
The count value of “a” is decoded, and fifteen decoded signals are generated. The store control signal generator 57 calculates the logical product of the image data write control signal IDACK and these tecode signals to generate a store control signal st [14: 0].
【0027】各ワードバッファフラグ生成部41〜55
は、それに入力されるストア制御信号st0 〜st14が"H"
のときに、入力画像データIDINをラッチする。各ワード
バッファフラグ生成部41〜55は、データをラッチす
ると、データ格納フラグoflag0〜oflag14 をアサートす
る。そして、各ワードバッファフラグ生成部41〜55
は、ラッチされたデータを読み出すと、データ格納フラ
グoflag0〜oflag14 をネゲートする。Each of the word buffer flag generators 41 to 55
Indicates that the store control signals st0 to st14 input thereto are "H".
At this time, the input image data IDIN is latched. When the word buffer flag generators 41 to 55 latch the data, they assert the data storage flags oflag0 to oflag14. Then, each of the word buffer flag generators 41-55
When the latched data is read, the data storage flags oflag0 to oflag14 are negated.
【0028】エンコーダ59は、データ格納フラグofla
g0〜oflag14 のうち、アサート状態にあるフラグの数を
エンコードして、バッファ残量フラグidFlag[3:0] を生
成する。The encoder 59 has a data storage flag ofla
The number of asserted flags among g0 to oflag14 is encoded to generate a buffer remaining amount flag idFlag [3: 0].
【0029】データバッファ40は、SDRAM I/
F(SDRAMIF)14から送られてくるデータ転送アクノリ
ッジ信号sdAck10 がアサート("H") されている期間、シ
ステムクロックSCK に同期して、画像データを出力す
る。いずれのワードバッファフラグ生成部41〜55に
格納されている画像データを出力するかは、選択制御信
号生成部58によって生成されるロード制御信号ld[14:
0]および選択制御信号Selectによって制御される。The data buffer 40 has an SDRAM I /
While the data transfer acknowledge signal sdAck10 sent from the F (SDRAMIF) 14 is asserted ("H"), image data is output in synchronization with the system clock SCK. Which of the word buffer flag generators 41 to 55 outputs the image data is determined by the load control signal ld [14: generated by the selection control signal generator 58.
0] and the selection control signal Select.
【0030】ロード制御信号および選択制御信号生成部
58は、第2カウンタ58aと第2デコーダ58bを備
えている。第2カウンタ58aは、データ転送アクノリ
ッジ信号sdAck10 がアサートされる毎にアップカウント
動作を行なう。第2カウンタ58aのカウント値は、最
大14であり、14を越えると0に戻る。The load control signal / selection control signal generator 58 has a second counter 58a and a second decoder 58b. The second counter 58a performs an up-count operation each time the data transfer acknowledge signal sdAck10 is asserted. The count value of the second counter 58a is 14 at the maximum, and returns to 0 when it exceeds 14.
【0031】第2デコーダ58bは、第2カウンタ58
aのカウント値をデコードし、15本のデコード信号を
生成する。ロード制御信号および選択制御信号生成部5
8は、データ転送アクノリッジ信号sdAck10 とこれらの
テコード信号との論理積を演算して、ロード制御信号ld
を生成する。The second decoder 58b includes a second counter 58
The count value of “a” is decoded, and fifteen decoded signals are generated. Load control signal and selection control signal generator 5
8 calculates the logical product of the data transfer acknowledge signal sdAck10 and these tecode signals to obtain the load control signal ld.
Generate
【0032】各ワードバッファフラグ生成部41〜55
は、それに入力されるロード制御信号ld0 〜ld14が"H"
のときに、画像データを読み出すとともに、データ格納
フラグoflag0〜oflag14 をネゲートする。Each of the word buffer flag generators 41 to 55
Indicates that the load control signals ld0 to ld14 input thereto are "H".
At this time, the image data is read and the data storage flags oflag0 to oflag14 are negated.
【0033】ロード制御信号および選択制御信号生成部
58は、第2カウンタ58aのカウント値を選択制御信
号Selectとしてセレクタ56に出力する。セレクタ56
は、選択制御信号Selectに対応するワードバッファフラ
グ生成部41〜55から読み出された画像データDo0 〜
Do14を選択して、データバッファ出力信号idData[31:0]
として出力する。The load control signal and selection control signal generator 58 outputs the count value of the second counter 58a to the selector 56 as a selection control signal Select. Selector 56
Are image data Do0 to image data Do0 to read out from the word buffer flag generators 41 to 55 corresponding to the selection control signal Select.
Select Do14 and output data buffer output signal idData [31: 0]
Output as
【0034】〔4〕画像出力I/F(VDOUT0)17に内
蔵されているデータバッファおよびその周辺回路の構成
の説明[4] Description of the configuration of the data buffer incorporated in the image output I / F (VDOUT0) 17 and its peripheral circuits
【0035】図4は、画像出力I/F(VDOUT0)17に
内蔵されているデータバッファおよびその周辺回路の構
成を示している。FIG. 4 shows the configuration of the data buffer built in the image output I / F (VDOUT0) 17 and its peripheral circuits.
【0036】画像出力I/F(VDOUT0)17は、データ
バッファ60と、セレクタ76と、ストア制御信号生成
部77と、エンコーダ78と、ロード制御信号および選
択制御信号生成部79を備えている。The image output I / F (VDOUT0) 17 includes a data buffer 60, a selector 76, a store control signal generator 77, an encoder 78, and a load control signal / selection control signal generator 79.
【0037】データバッファ60は、システムクロック
SCK に同期して、SDRAM I/F(SDRAMIF)14の
出力データsdData[31:0]を取込み、画像出力I/F(VD
OUT0)17の動作クロックRCK に同期して、画像データ
ODOUT[31:0] を出力する。なお、SDRAM I/F
(SDRAMIF)14もシステムクロックSCK に同期して動作
するものとする。データバッファ60は、15段のワー
ドバッファフラグ生成部61〜75を内蔵しており、1
5段×32bitのFIFOとして動作し、データがラ
ッチされていないワードバッファフラグ生成部の数(デ
ータバッファ60の空き容量)をバッファ残量odFlag
[3:0] として出力する。The data buffer 60 has a system clock.
In synchronization with SCK, the output data sdData [31: 0] of the SDRAM I / F (SDRAMIF) 14 is taken in, and the image output I / F (VD
OUT0) The image data is synchronized with the operation clock RCK of 17.
Outputs ODOUT [31: 0]. In addition, SDRAM I / F
(SDRAMIF) 14 also operates in synchronization with the system clock SCK. The data buffer 60 has built-in 15-stage word buffer flag generators 61 to 75.
It operates as a 5-stage × 32-bit FIFO, and determines the number of word buffer flag generation units (data free space of the data buffer 60) for which data is not latched by the buffer remaining capacity odFlag.
Output as [3: 0].
【0038】データバッファ60は、SDRAM I/
F(SDRAMIF)14から送られてくるデータ転送アクノリ
ッジ信号sdAck20 がアサート("H"レベル) されている期
間、システムクロックSCK に同期して、SDRAMIF
14の出力データsdDataを取り込む。入力画像データsd
Dataをいずれのワードバッファフラグ生成部61〜75
に格納するかは、ストア制御信号生成部77によって生
成されるストア制御信号st[14:0]によって制御される。The data buffer 60 has an SDRAM I /
While the data transfer acknowledge signal sdAck20 sent from the F (SDRAMIF) 14 is asserted ("H" level), the SDRAMIF is synchronized with the system clock SCK.
14 output data sdData is taken in. Input image data sd
Data is stored in any of the word buffer flag generators 61 to 75.
Is controlled by the store control signal st [14: 0] generated by the store control signal generator 77.
【0039】ストア制御信号生成部77は、第1カウン
タ77aと第1デコーダ77bを備えている。第1カウ
ンタ77aは、データ転送アクノリッジ信号sdAck20 が
アサートされる毎にアップカウント動作を行なう。第1
カウンタ77aのカウント値は、最大14であり、14
を越えると0に戻る。The store control signal generator 77 has a first counter 77a and a first decoder 77b. The first counter 77a performs an up-count operation each time the data transfer acknowledge signal sdAck20 is asserted. First
The count value of the counter 77a is 14 at the maximum, and 14
When it exceeds, it returns to 0.
【0040】第1デコーダ77bは、第1カウンタ77
aのカウント値をデコードし、15本のデコード信号を
生成する。ストア制御信号生成部77は、データ転送ア
クノリッジ信号sdAck20 とこれらのデコード信号との論
理積を演算して、ストア制御信号st[14:0]を生成する。The first decoder 77b includes a first counter 77
The count value of “a” is decoded, and fifteen decoded signals are generated. The store control signal generator 77 calculates the logical product of the data transfer acknowledge signal sdAck20 and these decode signals to generate a store control signal st [14: 0].
【0041】各ワードバッファフラグ生成部61〜75
は、それに入力されるストア制御信号st0 〜st14が"H"
のときに、SDRAMIF14の出力データsdDataをラ
ッチする。各ワードバッファフラグ生成部61〜75
は、データをラッチすると、データ格納フラグiflag0〜
iflag14 をアサートする。そして、各ワードバッファフ
ラグ生成部61〜75は、ラッチされたデータを読み出
すと、データ格納フラグiflag0〜iflag14 をネゲートす
る。Each of the word buffer flag generators 61 to 75
Indicates that the store control signals st0 to st14 input thereto are "H".
At this time, the output data sdData of the SDRAM IF 14 is latched. Each word buffer flag generator 61-75
When the data is latched, the data storage flags iflag0 to
Assert iflag14. After reading the latched data, the word buffer flag generators 61 to 75 negate the data storage flags iflag0 to iflag14.
【0042】エンコーダ78は、データ格納フラグifla
g0〜iflag14 のうち、ネゲート状態にあるフラグの数を
エンコードして、バッファ残量フラグodFlag[3:0] を生
成する。The encoder 78 has a data storage flag ifla
The number of negated flags among g0 to iflag14 is encoded to generate a buffer remaining amount flag odFlag [3: 0].
【0043】データバッファ60は、画像出力IF17
内部で生成されるデータバッファへの画像データ読み出
し制御信号ODACK がアサート("H") されている期間、画
像出力IF17の動作クロックRCK に同期して、画像デ
ータを出力する。いずれのワードバッファフラグ生成部
61〜75に格納されている画像データを出力するか
は、ロード制御信号および選択制御信号生成部79によ
って生成されるロード制御信号ld[14:0]および選択制御
信号Selectによって制御される。The data buffer 60 includes an image output IF 17
While the image data read control signal ODACK to the data buffer generated internally is asserted ("H"), the image data is output in synchronization with the operation clock RCK of the image output IF 17. Which of the word buffer flag generators 61 to 75 outputs the image data is determined by the load control signal ld [14: 0] and the selection control signal generated by the load control signal and the selection control signal generator 79. Controlled by Select.
【0044】ロード制御信号および選択制御信号生成部
79は、第2カウンタ79aと第2デコーダ79bを備
えている。第2カウンタ79aは、画像データ読み出し
制御信号ODACK がアサートされる毎にアップカウント動
作を行なう。第2カウンタ79aのカウント値は、最大
14であり、14を越えると0に戻る。The load control signal / selection control signal generator 79 includes a second counter 79a and a second decoder 79b. The second counter 79a performs an up-count operation each time the image data read control signal ODACK is asserted. The count value of the second counter 79a is 14 at the maximum, and returns to 0 when it exceeds 14.
【0045】第2デコーダ79bは、第2カウンタ79
aのカウント値をデコードし、15本のデコード信号を
生成する。ロード制御信号および選択制御信号生成部7
9は、画像データ読み出し制御信号ODACK とこれらのテ
コード信号との論理積を演算して、ロード制御信号ldを
生成する。The second decoder 79b includes a second counter 79
The count value of “a” is decoded, and fifteen decoded signals are generated. Load control signal and selection control signal generator 7
Reference numeral 9 calculates the logical product of the image data read control signal ODACK and these tecode signals to generate the load control signal ld.
【0046】各ワードバッファフラグ生成部61〜75
は、それに入力されるロード制御信号ld0 〜ld14が"H"
のときに、画像データを読み出すとともに、データ格納
フラグiflag0〜iflag14 をネゲートする。Each word buffer flag generator 61-75
Indicates that the load control signals ld0 to ld14 input thereto are "H".
At this time, the image data is read and the data storage flags iflag0 to iflag14 are negated.
【0047】ロード制御信号および選択制御信号生成部
79は、第2カウンタ79aのカウント値を選択制御信
号Selectとしてセレクタ76に出力する。セレクタ76
は、選択制御信号Selectに対応するワードバッファフラ
グ生成部61〜75から読み出された画像データDo0 〜
Do14を選択して、データバッファ出力信号ODOUT[31:0]
として出力する。The load control signal / selection control signal generation section 79 outputs the count value of the second counter 79a to the selector 76 as a selection control signal Select. Selector 76
Are the image data Do0 to image data Do0 to read out from the word buffer flag generation units 61 to 75 corresponding to the selection control signal Select.
Select Do14 and set the data buffer output signal ODOUT [31: 0]
Output as
【0048】〔5〕SDRAM I/F(SDRAMIF) 14
の構成の説明[5] SDRAM I / F (SDRAMIF) 14
Description of configuration
【0049】図5は、SDRAM I/F(SDRAMIF) 1
4の構成を示している。FIG. 5 shows an SDRAM I / F (SDRAMIF) 1
4 shows the configuration of FIG.
【0050】SDRAM I/F(SDRAMIF) 14は、図
2の各DMAコントローラ21〜33および各I/F1
1〜13、15〜18とのI/Fを有しているが、ここ
では、代表的に、DMAコントローラ(DMAC10)21、
DMAコントローラ(DMAC20)23、画像入力I/F
(IDIN0 )15、画像出力I/F(VDOUT0)17および
CPU I/F(CPUIF)13とのI/Fのみを図示して
いる。The SDRAM I / F (SDRAMIF) 14 includes the DMA controllers 21 to 33 and the I / F 1 shown in FIG.
Although the I / F has 1/13 and 15/18, here, typically, the DMA controller (DMAC10) 21,
DMA controller (DMAC20) 23, image input I / F
Only the I / F with (IDIN0) 15, the image output I / F (VDOUT0) 17, and the CPU I / F (CPUIF) 13 are shown.
【0051】図5において、DMAC10 I/F81は、DMA
コントローラ(DMAC10) 21および画像入力I/F(ID
IN0)15とのI/Fを示し、DMAC20 I/F82は、DMA
コントローラ(DMAC20)23および画像出力I/F(VD
OUT0)17とのI/Fを示し、CPUIF I/F 83は、CP
U I/F(CPUIF) 13とのI/Fを示している。In FIG. 5, the DMAC 10 I / F 81
Controller (DMAC10) 21 and image input I / F (ID
IN0) 15 and the DMAC 20 I / F 82
Controller (DMAC20) 23 and image output I / F (VD
OUT0) 17 and the CPUIF I / F 83 is a CP
The I / F with the U I / F (CPUIF) 13 is shown.
【0052】SDRAM I/F(SDRAMIF) 14は、上
記I/F81、82、83の他に、調停回路84、トラ
ンザクションファイル85、コマンド発生回路86、ス
トローブ発生回路87等を備えている。The SDRAM I / F (SDRAMIF) 14 includes an arbitration circuit 84, a transaction file 85, a command generation circuit 86, a strobe generation circuit 87, and the like, in addition to the I / Fs 81, 82, and 83.
【0053】DMAC10 I/F81は、画像入力I/F(IDIN
0)15からのバッファ残量フラグidFlagから、バッファ
残量補正値(内部信号FlagAdj10)を減じたものを、Flag
10として調停回路84に送る。また、DMAC10 I/F81
は、ストローブ発生回路87から送られてくるデータ転
送アクノリッジ信号sdAck10 に基づいて入力データidDa
taをマスク( 各ビットごとの論理積) して、Data10を生
成する。そして、Data10と、CPUIF I/F 83の出力デー
タDataCpu のビットごとの論理和をとってSDRAM書き込
みデータWriteData を生成する。The DMAC10 I / F 81 has an image input I / F (IDIN
0) A value obtained by subtracting the buffer remaining amount correction value (internal signal FlagAdj10) from the buffer remaining amount flag idFlag from 15
It is sent to the arbitration circuit 84 as 10. Also, DMAC10 I / F81
Is based on a data transfer acknowledge signal sdAck10 sent from the strobe generating circuit 87.
Data10 is generated by masking ta (logical product of each bit). Then, the logical sum for each bit of Data10 and the output data DataCpu of the CPUIF I / F 83 is calculated to generate the SDRAM write data WriteData.
【0054】DMAC20 I/F82は、画像出力I/F(VDOU
T0)17からのバッファ残量フラグodFlagから、バッフ
ァ残量補正値(内部信号FlagAdj20)を減じたものを、Fl
ag20としてとして調停回路84に送る。The DMAC 20 I / F 82 has an image output I / F (VDOU
T0) subtracting the buffer remaining amount correction value (internal signal FlagAdj20) from the buffer remaining amount flag odFlag from 17
It is sent to the arbitration circuit 84 as ag20.
【0055】CPUIF I/F 83は、CPU5からのSDR
AMアクセスに対応する。調停回路84は、各クライア
ントからのトランザクション処理要求を調停する。トラ
ンザクションファイル85は、調停回路84によってS
DRAMアクセスを割り当てられたトランザクション処
理内容を保持し、調停後のサイクル数をカウントする。The CPUIF I / F 83 receives the SDR from the CPU 5
Corresponds to AM access. The arbitration circuit 84 arbitrates transaction processing requests from each client. The transaction file 85 is stored in the S
The transaction processing content to which the DRAM access is assigned is held, and the number of cycles after the arbitration is counted.
【0056】コマンド発生回路86は、トランザクショ
ンファイル85の内容、調停後のサイクル数に基づい
て、SDRAM4に対してコマンドを発行する。ストロ
ーブ発生回路87は、データ転送アクノリッジ信号sdAc
k10,20の生成と、SDRAM4のデータバス制御を行な
う。The command generation circuit 86 issues a command to the SDRAM 4 based on the contents of the transaction file 85 and the number of cycles after arbitration. The strobe generation circuit 87 outputs a data transfer acknowledge signal sdAc
k10 and 20 are generated and the data bus of the SDRAM 4 is controlled.
【0057】以下に、各部の主要な入出力信号について
説明しておく。The main input / output signals of each section will be described below.
【0058】(1)DMAC10 I/F81、DMAC20 I/F82、
CPUIF I/F 83の入出力信号。 ・dm10Req, dm20Req, cpuSdramReq : SDRAM4への
トランザクション処理要求。 ・idFlag:画像入力I/F(IDIN0)のバッファ残量を示
すフラグ。 ・odFlag:画像出力I/F(VDOUT0) のバッファ残量を
示すフラグ。 ・cpuDir:データ転送の方向(read/write)を指示する信
号。 ・dm10Address, dm20Address:DMAアドレス。(1) DMAC10 I / F81, DMAC20 I / F82,
CPUIF I / F 83 input / output signal. Dm10Req, dm20Req, cpuSdramReq: transaction processing request to SDRAM4. IdFlag: a flag indicating the remaining buffer capacity of the image input I / F (IDIN0). OdFlag: a flag indicating the remaining buffer capacity of the image output I / F (VDOUT0). CpuDir: a signal indicating the direction of data transfer (read / write). Dm10Address, dm20Address: DMA address.
【0059】・sdDispatch10, sdDispatch20:SDRA
M I/F(SDRAMIF)14によりトランザクション処理
が受け付けられたことを示す信号。DMAC10 I/F81、DM
AC20I/F82は、調停回路84で生成されたこれらの信
号sdDispatch10, sdDispatch20をそのままクライアント
に転送する。SdDispatch10, sdDispatch20: SDRA
A signal indicating that the transaction processing has been accepted by the M I / F (SDRAMIF) 14. DMAC10 I / F81, DM
The AC20 I / F 82 transfers these signals sdDispatch10 and sdDispatch20 generated by the arbitration circuit 84 to the client as they are.
【0060】・sdAck10, sdAck20:SDRAM I/F
(SDRAMIF)14からのデータ転送アクノリッジ信号。DM
AC10 I/F81、DMAC20 I/F82は、ストローブ信号発生
回路87から送られてくるこれらの信号sdAck10, sdAck
20を、そのまま各クライアントに転送する。SdAck10, sdAck20: SDRAM I / F
(SDRAMIF) Data transfer acknowledge signal from 14. DM
The AC10 I / F 81 and the DMAC20 I / F 82 output these signals sdAck10 and sdAck sent from the strobe signal generation circuit 87.
20 is transferred to each client as it is.
【0061】(2)調停回路84の出力信号 ・Register:調停回路84が割り当てたトランザクショ
ン処理を、トランザクションファイル85に登録させる
ための制御信号。 ・Client:調停回路84によって現時点で最も優先順位
が高いと仮決定されたクライアント( DMAコントロー
ラ(DMAC10)21、DMAコントローラ(DMAC20)2
3、…CPU IF(CPUIF) 13)を示すコード。(2) Output signal of the arbitration circuit 84 Register: A control signal for registering the transaction processing assigned by the arbitration circuit 84 in the transaction file 85. Client: The client (the DMA controller (DMAC10) 21 and the DMA controller (DMAC20) 2) provisionally determined by the arbitration circuit 84 to have the highest priority at this time.
3. Code indicating CPU IF (CPUIF) 13).
【0062】・Bank, Row , Col :上記最優先クライア
ントから送られてくるアドレスを、バンク番号、ロウア
ドレスおよびカラムアドレスに分解したアドレス。 ・TransType :上記最優先クライアントのトランザクシ
ョン処理内容を示すコード(READ,WRITE)。 ・sdDispatch10, sdDispatch20, sdDispatchCpu :調停
回路84によって対応するクライアントによるトランザ
クション処理要求が受け付けられたことを示す信号。Bank, Row, Col: addresses obtained by decomposing the address sent from the highest priority client into a bank number, a row address and a column address. TransType: Code (READ, WRITE) indicating the transaction processing content of the above-mentioned highest priority client. SdDispatch10, sdDispatch20, sdDispatchCpu: a signal indicating that the arbitration circuit 84 has accepted a transaction processing request by a corresponding client.
【0063】(3)トランザクションファイル85の出
力信号(3) Output signal of transaction file 85
【0064】・FileState :トランザクションファイル
85の内容が有効(VALID) なものか、無効(INVALID) な
ものかを示す信号。 ・CTransType:現在登録されているトランザクション処
理内容を示すコード(READ,WRITE)。 ・CClient :現在登録されているトランザクション処理
の要求元を表すコード。FileState: A signal indicating whether the contents of the transaction file 85 are valid (VALID) or invalid (INVALID). CTransType: Code (READ, WRITE) indicating the currently registered transaction processing content. CClient: A code indicating the request source of the currently registered transaction processing.
【0065】・CBank, CRow , CCol:現在登録されてい
るトランザクション処理の対象アドレスを、バンク番
号、ロウアドレスおよびカラムアドレスに分解したアド
レス。 ・CycleCount:トランザクションファイル85にトラン
ザクション処理が登録されてからのサイクル数をカウン
トするカウンタのカウンタ値を示す信号。CBank, CRow, CCol: addresses obtained by decomposing the currently registered transaction processing target addresses into bank numbers, row addresses, and column addresses. CycleCount: a signal indicating a counter value of a counter that counts the number of cycles since the transaction processing is registered in the transaction file 85.
【0066】(4)コマンド発生回路86の出力信号 ・ReadTrigger :ストローブ発生回路87に対してリー
ドデータのタイミングを指定するトリガ信号。 ・WriteTrigger:ストローブ発生回路87に対してライ
トデータのタイミングを指定するトリガ信号。 ・/CS, /RAS, /CAS, /WE, BA, MA:SDRAM制御信
号。(4) Output signal of command generating circuit 86 ReadTrigger: a trigger signal for designating the timing of read data to the strobe generating circuit 87. WriteTrigger: a trigger signal for designating write data timing to the strobe generating circuit 87. • / CS, / RAS, / CAS, / WE, BA, MA: SDRAM control signal.
【0067】(5)ストローブ発生回路87の出力信
号。 ・sdAck10,20:データ転送アクノリッジ信号。 ・sdData:SDRAM4からのリードデータ。 ・MD:SDRAMIFデータバス。(5) Output signal of strobe generating circuit 87.・ SdAck10,20: Data transfer acknowledge signal. SdData: read data from SDRAM4. MD: SDRAMIF data bus.
【0068】〔6〕アクセス調停方法の説明[6] Description of Access Arbitration Method
【0069】SDRAM4にアクセスするものとして、
次のようなものが挙げられる。 (1)各DMAコントローラ21〜33からのトランザ
クション処理要求 (2)CPU I/F(CPUIF) 13からのトランザクシ
ョン処理要求(CPUアクセス)For accessing the SDRAM 4,
Examples include the following: (1) Transaction processing request from each of the DMA controllers 21 to 33 (2) Transaction processing request (CPU access) from the CPU I / F (CPUIF) 13
【0070】SDRAM I/F(SDRAMIF)14は、こ
れらのアクセス要求を、優先順位に従って調停し、もっ
とも優先順位の高いものにアクセス権を与える。優先順
位は、各クライアント毎に固定されている。優先順位
は、次のように予め定められている。The SDRAM I / F (SDRAMIF) 14 arbitrates these access requests according to the priority order, and gives the access right to the highest priority. The priority is fixed for each client. The priority is determined in advance as follows.
【0071】DMAC10,DMAC11,DMAC20,DMAC21 >CPU アク
セス>DMAC7 >DMAC30,DMAC6>DMAC40,DMAC5>DMAC31>
DMAC41>DMAC8 >DMAC9DMAC10, DMAC11, DMAC20, DMAC21> CPU access>DMAC7> DMAC30, DMAC6> DMAC40, DMAC5>DMAC31>
DMAC41>DMAC8> DMAC9
【0072】カンマで区切ったものは同一優先順位であ
る。Those separated by commas have the same priority.
【0073】同一優先順位のアクセス要求が競合した場
合には、SDRAM I/F(SDRAMIF)14は、クライ
アントのバッファの残量フラグをもとに調停を行なう。
ただし、バッファを持たないクライアントに対しては、
バッファ残量を特定値と見做す。When access requests of the same priority conflict, the SDRAM I / F (SDRAMIF) 14 arbitrates based on the remaining buffer flag of the client buffer.
However, for clients without a buffer,
The buffer remaining amount is regarded as a specific value.
【0074】現在処理中のトランザクション処理要求元
クライアントから引き続いてトランザクション処理要求
が発生している場合には、バッファ残量からバースト長
( この例では4)を差し引いたものを基に調停する。ま
た、SDRAM I/F(SDRAMIF)14は、アクセス要
求を受けた場合でも、その要求元クライアントのバッフ
ァ残量がバースト長に達していない場合には、そのアク
セス要求を調停の対象から除外する。When a transaction processing request is continuously issued from the transaction processing request source client currently being processed, the burst length is calculated based on the remaining buffer capacity.
Reconciliation is based on the result of subtracting (4 in this example). Further, even when receiving an access request, the SDRAM I / F (SDRAMIF) 14 excludes the access request from arbitration targets if the remaining buffer capacity of the requesting client has not reached the burst length.
【0075】SDRAM I/F(SDRAMIF)14は、毎
サイクル毎に次に処理するトランザクションの候補を上
記の手順で仮決定する。さらに、仮決定したトランザク
ションが次のサイクルで処理可能かどうかをチェック
し、処理可能であれば、その仮決定したトランザクショ
ンの処理を次のサイクルから実際に開始する(SDRA
M4に対するコマンド発行)。The SDRAM I / F (SDRAMIF) 14 tentatively determines a transaction candidate to be processed next every cycle in the above procedure. Further, it is checked whether the provisionally determined transaction can be processed in the next cycle, and if it can be processed, the processing of the provisionally determined transaction is actually started from the next cycle (SDRA
Command issuance for M4).
【0076】仮決定したトランザクションが次のサイク
ルで処理可能であるかどうかは、先行するトランザクシ
ョンの処理内容、仮決定したトランザクションの処理内
容および先行するトランザクション処理開始からの経過
時間に基づいて判定する。Whether the provisionally determined transaction can be processed in the next cycle is determined based on the processing content of the preceding transaction, the processing content of the provisionally determined transaction, and the elapsed time from the start of the preceding transaction processing.
【0077】〔7〕アクセス調停方法の具体例の説明[7] Description of Specific Example of Access Arbitration Method
【0078】以下、図6に基づいて、DMAコントロー
ラ(DMAC10)21と、DMAコントローラ(DMAC20)2
3との2つのクライアントの間でアクセス要求が競合し
た場合についての調停方法について具体的に説明する。Hereinafter, based on FIG. 6, the DMA controller (DMAC 10) 21 and the DMA controller (DMAC 20) 2
An arbitration method for a case where access requests conflict between the two clients No. 3 and No. 3 will be specifically described.
【0079】〔7−1〕ブロック内部信号についての説
明[7-1] Description of Block Internal Signal
【0080】まず、図6に示されているブロック内部信
号について説明する。First, the block internal signal shown in FIG. 6 will be described.
【0081】・FlagAdj20 : バッファ残量フラグodFlag
を補正するためのバッファ残量フラグ補正値。補正値の
初期値は0 、DMAコントローラ(DMAC20)23からの
トランザクョン処理要求が受付られたことを示す信号sd
Dispatch20がアサートされる度にバースト長(この例で
は4)が加算され、データ転送アクノリッジ信号sdAck2
0 がアサートされている期間、1ずつ減算されていく。
ただし、FlagAdj20 の最小値は0である。FlagAdj20: Buffer remaining amount flag odFlag
The buffer remaining flag correction value for correcting. The initial value of the correction value is 0, a signal sd indicating that a transaction processing request from the DMA controller (DMAC 20) 23 has been accepted.
Each time Dispatch 20 is asserted, the burst length (4 in this example) is added, and the data transfer acknowledge signal sdAck2
While 0 is asserted, it is decremented by one.
However, the minimum value of FlagAdj20 is 0.
【0082】・FlagAdj10 : バッファ残量フラグidFlag
を補正するためのバッファ残量フラグ補正値。補正値の
初期値は0 、DMAコントローラ(DMAC10)21からの
トランザクョン処理要求が受付られたことを示す信号sd
Dispatch10がアサートされる度にバースト長(この例で
は”4”)が加算され、データ転送アクノリッジ信号sd
Ack10 がアサートされている期間、1ずつ減算されてい
く。ただし、FlagAdj10 の最小値は0である。FlagAdj10: Buffer remaining amount flag idFlag
The buffer remaining flag correction value for correcting. The initial value of the correction value is 0, and a signal sd indicating that a transaction processing request from the DMA controller (DMAC10) 21 has been accepted.
Each time Dispatch 10 is asserted, the burst length (“4” in this example) is added, and the data transfer acknowledge signal sd
While Ack10 is asserted, it is decremented by one. However, the minimum value of FlagAdj10 is 0.
【0083】・RClient : 現在登録されているトランザ
クション処理の要求元を示すコードCClient を、リード
データのタイミングを示す信号ReadTrigger のアサート
を条件にラッチした信号。 ・ReadTrigger _ssss : ReadTrigger をシステムクロ
ックSCK の4クロック分遅延してラッチした信号。RClient: A signal obtained by latching a currently registered code CClient indicating a transaction processing request source on the condition that a signal ReadTrigger indicating read data timing is asserted. • ReadTrigger_ssss: A signal obtained by delaying ReadTrigger by 4 clocks of the system clock SCK and latching it.
【0084】・ReadAck : ReadTrigger _ssssをトリガ
として動作する4クロックサイクル幅のワンショット信
号。 ・WriteAck : WriteTrigger をトリガとして動作する4
クロックサイクル幅のワンショット信号。ReadAck: A one-shot signal with a 4-clock cycle width that operates using ReadTrigger_ssss as a trigger.・ WriteAck: Operate using WriteTrigger as a trigger 4
One-shot signal with clock cycle width.
【0085】・RRClient : RClientをReadTrigger _ss
ssアサートを条件にラッチした信号。 ・WClient : CClient をWriteTriggerアサートを条件に
ラッチした信号。RRClient: ReadTrigger_ss for RClient
Signal latched on condition of ss assert.・ WClient: Signal that latches CClient under the condition of WriteTrigger assertion.
【0086】〔7−2〕図6の具体例の前提条件につい
ての説明[7-2] Explanation of Preconditions for Specific Example in FIG.
【0087】図6の具体例の前提条件は、以下の通りで
ある。The preconditions for the specific example of FIG. 6 are as follows.
【0088】(1)SDRAM4にアクセスするクライ
アントは、DMAコントローラ(DMAC10)21およびD
MAコントローラ(DMAC20)23のみであると仮定す
る。(1) The client accessing the SDRAM 4 is the DMA controller (DMAC 10) 21 and the D
It is assumed that there is only the MA controller (DMAC 20) 23.
【0089】(2)画像入力I/F(IDIN0 )15の動
作クロック(WCK) 、画像出力I/F(VDOUT0) 17の動
作クロックおよびシステムクロック(SCK)は、全て同一
クロック( 同一周波数) であるとする。(2) The operation clock (WCK) of the image input I / F (IDIN0) 15, the operation clock of the image output I / F (VDOUT0) 17, and the system clock (SCK) are all the same clock (same frequency). Suppose there is.
【0090】(3)画像入力I/F(IDIN0 )15は、
3クロックに1回の割合で、データバッファ40にデー
タを書き込み(IDACK アサート) 、画像出力I/F(VO
UT0)17は、2 クロックに1回の割合で、データバッフ
ァ60からデータを読み出す(ODACK アサート) ものと
する。(3) The image input I / F (IDIN0) 15
Once every three clocks, data is written to the data buffer 40 (IDACK assertion) and the image output I / F (VO
UT0) 17 reads data from the data buffer 60 once every two clocks (ODACK assertion).
【0091】(4)DMAコントローラ(DMAC10)21
に設定された転送開始アドレスをAm、DMAコントロー
ラ(DMAC20)23に設定された転送開始アドレスをAnと
する。Am、Anはともに、バースト境界かつバンク#0から
開始するように、下位4ビットは”0”とする。(4) DMA controller (DMAC10) 21
Is Am, and the transfer start address set in the DMA controller (DMAC 20) 23 is An. In both Am and An, the lower 4 bits are set to “0” so that the burst boundary starts from bank # 0.
【0092】(5)DMAアドレス(dm10Address,dm20
Address)は、ワード単位のアドレスを示している。した
がって、DMAアドレスは、調停が1回行なわれる毎
に、バースト長(4)ずつ増加するものとする。(5) DMA address (dm10Address, dm20)
Address) indicates an address in word units. Therefore, the DMA address increases by the burst length (4) each time arbitration is performed once.
【0093】〔7−3〕図6のタイミングチャートの説
明[7-3] Explanation of the timing chart of FIG.
【0094】時点T1で、DMAコントローラ(DMAC10)
21およびDMAコントローラ(DMAC20)23が起動さ
れる(dm10Req,dm20Reqアサート) 。また、時点T1で、画
像入力I/F(IDIN0 )15が起動され、時点T4で画像
出力I/F(VOUT0)17が起動される。At time T1, the DMA controller (DMAC10)
21 and the DMA controller (DMAC20) 23 are activated (dm10Req, dm20Req assertion). At time T1, the image input I / F (IDIN0) 15 is activated, and at time T4, the image output I / F (VOUT0) 17 is activated.
【0095】画像入力I/F(IDIN0)15の起動時点T1
においては、データバッファ40は空なので、バッファ
残量フラグidFlagは”0”となる。また、画像出力I/
F(VDOUT0 )17の起動時点T4においては、データバッ
ファ60は空なので、バッファ残量フラグodFlagは”1
5”となる。Starting time T1 of the image input I / F (IDIN0) 15
In, since the data buffer 40 is empty, the buffer remaining amount flag idFlag becomes “0”. Also, the image output I /
At the start time T4 of F (VDOUT0) 17, since the data buffer 60 is empty, the buffer remaining amount flag odFlag is set to "1".
5 ".
【0096】バッファ残量補正値FlagAdj10 は、画像入
力I/F(IDIN0 )15の起動時点T1で0であり、バッ
ファ残量補正値FlagAdj20 は、画像出力I/F(VDOUT
0)17の起動時点T4においては0である。したがっ
て、DMAC10 I/F81から出力されるFlag10(idFlag −Fl
agAdj10 )は、画像入力I/F(IDIN0)15の起動時点
T1で0となり、DMAC20 I/F82から出力されるFlag20(o
dFlag −FlagAdj20 )は、画像出力I/F(VDOUT0 )1
7の起動時点T4においては15となる。The buffer remaining amount correction value FlagAdj10 is 0 at the start time T1 of the image input I / F (IDIN0) 15, and the buffer remaining amount correction value FlagAdj20 is the image output I / F (VDOUT
0) It is 0 at the start time T4 of 17. Therefore, Flag10 (idFlag−Fl) output from DMAC10 I / F81
agAdj10) is the starting point of the image input I / F (IDIN0) 15.
It becomes 0 at T1, and Flag20 (o is output from DMAC20 I / F82.
dFlag-FlagAdj20) is the image output I / F (VDOUT0) 1
At the start time T4 of 7, the value is 15.
【0097】調停回路84は、リクエスト信号(dm10Re
q 、dm20Req)をアサートしているクライアントの中か
ら、データバッファの残量を示すフラグFlag10、Flag20
を参照して、最優先のクライアントを仮決定する。The arbitration circuit 84 receives the request signal (dm10Re
q, dm20Req) from among the clients asserting Flags Flag10 and Flag20 indicating the remaining amount of the data buffer.
, And temporarily determine the highest priority client.
【0098】画像入力I/F(IDIN0 )15および画像
出力I/F(VDOUT0)17の起動直後においては、Flag
10:Flag20=0:15であるので、DMAコントローラ
(DMAC20)23が最優先のクライアントとして仮決定さ
れる。つまり、時点T4において、調停回路84から出力
される信号Clientは、DMAC20を表す信号( 図6では"20"
と表記) となる。Immediately after the image input I / F (IDIN0) 15 and the image output I / F (VDOUT0) 17 are started, the Flag
Since 10: Flag20 = 0: 15, the DMA controller (DMAC20) 23 is provisionally determined as the highest priority client. That is, at time T4, the signal Client output from the arbitration circuit 84 is a signal representing the DMAC 20 ("20" in FIG. 6).
Notation).
【0099】時点T4において、トランザクションファイ
ル85から出力される信号FileState は、"INVALID" 状
態であるため、調停回路84は、SDRAM4にコマン
ド発行可能であると判定し、Registerをアサートして、
調停されたトランザクション内容をトランザクションフ
ァイル85に登録する。At time T4, the signal FileState output from the transaction file 85 is in the "INVALID" state. Therefore, the arbitration circuit 84 determines that a command can be issued to the SDRAM 4, and asserts Register.
The arbitrated transaction contents are registered in the transaction file 85.
【0100】トランザクション内容をトランザクション
ファイル85に登録するときには、DMAアドレス(こ
の場合にはdm20Address =An) は、バンクアドレス(Ban
k)、ロウアドレス(Row) およびカラムアドレス(Col) に
分解される。バンクアドレス(Bank)は、DMAアドレス
(この場合にはdm20Address)を用いてバンクインターリ
ーブをかけることによって得られる。When registering the transaction contents in the transaction file 85, the DMA address (dm20Address = An in this case) is set to the bank address (Ban
k), and is decomposed into a row address (Row) and a column address (Col). The bank address (Bank) is obtained by performing bank interleaving using a DMA address (dm20Address in this case).
【0101】以下の説明において、dm10Address および
dm20Address を総称する際には、dm#Addressと表記する
ことにする。ロウアドレス(Row) は、FC(dm#Address)=
{ dm#Address[12:6],dm#Address[3:2] }の関数によっ
て、dm#Addressから分解・生成される。カラムアドレス
(Col) は、FR(dm#Address)=dm#Address[24:13] の関数
によって、dm#Addressから分解・生成される。In the following description, dm10Address and
When collectively referring to dm20Address, it will be described as dm # Address. Row address (Row) is FC (dm # Address) =
{Dm # Address [12: 6], dm # Address [3: 2] Decomposed and generated from dm # Address by the function of {}. Column address
(Col) is decomposed and generated from dm # Address by the function of FR (dm # Address) = dm # Address [24:13].
【0102】時点T4において、調停回路84は、DMA
コントローラ(DMAC20)23からのトランザクション処
理要求を受け付けたことを示す信号sdDispatch20をアサ
ートする。この信号sdDispatch20は、信号Registerを1
クロックディレイしたものと、信号CClient の内容をデ
コードした信号との論理積により生成される。sdDispat
ch20がアサートされている期間は、調停回路84は、調
停を禁止する。At time T4, the arbitration circuit 84
Assert a signal sdDispatch20 indicating that a transaction processing request from the controller (DMAC20) 23 has been accepted. This signal sdDispatch20 sets the signal Register to 1
It is generated by the logical product of the clock-delayed signal and the signal obtained by decoding the content of the signal CClient. sdDispat
While the ch20 is asserted, the arbitration circuit 84 prohibits the arbitration.
【0103】時点T5において、調停回路84は、sdDisp
atch20のアサートに基づいて、バッファ残量補正値Flag
Adj20 に4を加算する。At time T5, the arbitration circuit 84 sets the sdDisp
Based on the assertion of atch20, the buffer remaining amount correction value Flag
Add 4 to Adj20.
【0104】sdDispatch20がネゲートされると( 時点T
6) 、調停回路84は、調停を再開する。時点T6におい
ては、Flag10:Flag20=1:11であるので、DMAコ
ントローラ(DMAC20)23が再び最優先のクライアント
として仮決定される。When sdDispatch 20 is negated (time T
6) The arbitration circuit 84 resumes the arbitration. At time T6, since Flag10: Flag20 = 1: 11, the DMA controller (DMAC20) 23 is provisionally determined as the highest priority client again.
【0105】時点T6においては、トランザクションファ
イル85から出力される信号FileState が"VALID" 状態
となっているため、調停回路84は、先行トランザクシ
ョン内容との関係で、SDRAM4へのコマンド発行が
可能か否かを判定する。先行トランザクション内容は"R
ead"なので、図7のリード動作先行動作パターンに基づ
いて、SDRAM4へのコマンド発行が可能か否かを判
定する。At time T6, since the signal FileState output from the transaction file 85 is in the "VALID" state, the arbitration circuit 84 determines whether it is possible to issue a command to the SDRAM 4 in relation to the contents of the preceding transaction. Is determined. The preceding transaction is "R
ead ", it is determined whether a command can be issued to the SDRAM 4 based on the read operation preceding operation pattern of FIG.
【0106】この例では、追従トランザクション内容
も"Read"でバンクが非競合なので、図7の(1)のパタ
ーンに該当し、新たに仮決定されたトランザクション内
容を登録するためには、先行トランザクションが登録さ
れてから、バースト長BL(この例では4クロック)分待
機する必要がある。In this example, since the contents of the follow-up transaction are also "Read" and the bank is non-conflicting, the pattern corresponds to the pattern (1) in FIG. It is necessary to wait for the burst length BL (4 clocks in this example) after the is registered.
【0107】なお、先行トランザクション内容が"Writ
e" である場合には、図8のライト動作先行動作パター
ンに基づいて、SDRAM4へのコマンド発行が可能か
否かを判定する。The contents of the preceding transaction are "Writ
If e ", it is determined whether or not a command can be issued to the SDRAM 4 based on the write operation preceding operation pattern of FIG.
【0108】図7および図8において、BLはバースト長
(この例では4)を、Tarbは調停−コマンド発行レイテ
ンシ(この例では2)を、Trcdは/RASまたは/CASディレ
イ(この例では2)を、CLは/CASレイテイシ(この例で
は2)を、Trecはバスリカバリ時間(この例では1)
を、Tdalは[WRITA] 時データ入力−[ACT] 発行間隔(こ
の例では3)を、それぞれ示している。7 and 8, BL is the burst length (4 in this example), Tarb is the arbitration-command issue latency (2 in this example), and Trcd is / RAS or / CAS delay (2 in this example). ), CL is / CAS latency (2 in this example), Trec is bus recovery time (1 in this example)
And Tdal indicates [WRITA] time data input- [ACT] issue interval (3 in this example).
【0109】時点T6において、最優先のクライアントを
仮決定しても、上述したように、先行トランザクション
が登録されてから、バースト長BL(この例では4クロッ
ク)分待機する必要があるので、CycleCountがBLとなる
時点T8まで待って、新たに仮決定されたトランザクショ
ン内容がトランザクションファイル85に登録される。At time T6, even if the highest priority client is tentatively determined, it is necessary to wait for the burst length BL (4 clocks in this example) after the preceding transaction is registered, as described above. Becomes a BL, and the newly provisionally determined transaction contents are registered in the transaction file 85.
【0110】以下、同様な動作が繰り返し行なわれる。Hereinafter, similar operations are repeatedly performed.
【0111】時点T14 〜時点T19 についての動作につい
て説明する。The operation from time T14 to time T19 will be described.
【0112】時点T14 において調停回路84は調停を再
開するが、時点T14 ではFlag10およびFlag20はともに3
であり、バースト長(4)より小さいため、調停は行な
われない。時点T15 では、Flag10:Flag20=4:3であ
るので、DMAコントローラ(DMAC10)21が最優先の
クライアントとして仮決定される。At time T14, the arbitration circuit 84 resumes arbitration, but at time T14, both Flag10 and Flag20 become 3
Since the burst length is smaller than the burst length (4), arbitration is not performed. At time T15, since Flag10: Flag20 = 4: 3, the DMA controller (DMAC10) 21 is provisionally determined as the highest priority client.
【0113】時点T15 においては、トランザクションフ
ァイル85から出力される信号FileState は、"VALID"
状態であるため、調停回路84は、先行トランザクショ
ン内容との関係で、SDRAM4へのコマンド発行が可
能か否かを判定する。先行トランザクション内容は"Rea
d"なので、図7のリード動作先行動作パターンに基づい
て、SDRAM4へのコマンド発行が可能か否かを判定
する。At time T15, the signal FileState output from the transaction file 85 is "VALID".
Since it is in the state, the arbitration circuit 84 determines whether or not a command can be issued to the SDRAM 4 in relation to the contents of the preceding transaction. The preceding transaction is "Rea
Since it is d ", it is determined whether or not a command can be issued to the SDRAM 4 based on the read operation preceding operation pattern of FIG.
【0114】この例では、追従トランザクション内容
は"Write" でバンクが非競合なので、図7の(2)のパ
ターンに該当し、新たなトランザクションを登録するた
めには、先行トランザクションが登録されてから、CL+
BL+Trec(この例では7クロック)分待機する必要があ
る。時点T12 から7 クロック先の時点は、T19 となる。
したがって、時点T15 で仮決定されたトランザクション
内容は、次の時点T16 において登録されない。In this example, since the content of the follow-up transaction is "Write" and the bank is non-conflicting, it corresponds to the pattern of (2) in FIG. , CL +
It is necessary to wait for BL + Trec (7 clocks in this example). The time point seven clocks after the time point T12 is T19.
Therefore, the transaction content provisionally determined at time T15 is not registered at the next time T16.
【0115】最優先クライアントの仮決定は、トランザ
クションファイルに登録されるまで、毎サイクル毎に行
なわれる。The provisional determination of the highest priority client is performed every cycle until it is registered in the transaction file.
【0116】時点T16 、T17 においても、Flag10:Flag
20=4:3であるので、DMAコントローラ(DMAC10)
21が最優先のクライアントとして仮決定されるが、上
記と同じ理由で、仮決定されたトランザクション内容
は、登録されない。時点T18 においては、Flag10:Flag
20=5:4であるので、DMAコントローラ(DMAC10)
21が最優先のクライアントとして仮決定される。そし
て、次の時点時点T19 において、時点T18 で仮決定され
たトランザクション内容が登録される。At the time points T16 and T17, Flag10: Flag
Since 20 = 4: 3, the DMA controller (DMAC10)
Although the client 21 is provisionally determined as the highest priority client, the provisionally determined transaction content is not registered for the same reason as described above. At time T18, Flag10: Flag
Since 20 = 5: 4, the DMA controller (DMAC10)
21 is provisionally determined as the highest priority client. Then, at the next time point T19, the transaction content provisionally determined at the time point T18 is registered.
【0117】時点T25 〜時点T29 についての動作につい
て説明する。The operation from time T25 to time T29 will be described.
【0118】時点T25 においては調停回路84は調停を
再開するが、時点T25 ではFlag10およびFlag20はともに
3であり、バースト長(4)より小さいため、調停は行
なわれない。時点T26 では、Flag10:Flag20=3:4で
あるため、DMAコントローラ(DMAC20)23が最優先
のクライアントとして仮決定される。この場合、図8の
(1)のパターンに該当し、新たなトランザクションを
登録するためには、先行トランザクションが登録されて
から、BL(この例では4クロック)待機する必要がある
ので、次の時点T27 において新たなトランザクションは
登録されない。At time T25, the arbitration circuit 84 resumes arbitration, but at time T25, Flag10 and Flag20 are both 3, which is smaller than the burst length (4), so that arbitration is not performed. At time T26, since Flag10: Flag20 = 3: 4, the DMA controller (DMAC20) 23 is provisionally determined as the highest priority client. In this case, the pattern corresponds to the pattern (1) in FIG. 8, and in order to register a new transaction, it is necessary to wait for BL (4 clocks in this example) after the preceding transaction is registered. No new transaction is registered at time T27.
【0119】時点T27 では、Flag10:Flag20=4:4で
共に等しいので、予め定められたクライアント、この例
ではDMAコントローラ(DMAC10)21が最優先のクラ
イアントとして仮決定される。この場合、図8の(2)
のパターンに該当し、新たなトランザクションを登録す
るためには、先行トランザクションが登録されてから、
BL(この例では4)クロック待つ必要があるので、次の
時点T28 においては新たなトランザクションは登録され
ない。At time T27, Flag10: Flag20 = 4: 4, which is the same, so that a predetermined client, in this example, the DMA controller (DMAC10) 21, is provisionally determined as the highest priority client. In this case, FIG.
In order to register a new transaction that corresponds to the pattern above, after the preceding transaction is registered,
Since it is necessary to wait for BL (4 in this example) clocks, no new transaction is registered at the next time point T28.
【0120】時点T28 では、Flag10:Flag20=4:5で
あるので、DMAコントローラ(DMAC20)23が最優先
のクライアントとして、仮決定される。この場合、図7
の(1)のパターンに該当し、次の時点T29 で、新たな
トランザクションが登録される。At time T28, since Flag10: Flag20 = 4: 5, the DMA controller (DMAC20) 23 is provisionally determined as the highest priority client. In this case, FIG.
(1), and a new transaction is registered at the next time point T29.
【0121】バッファ残量フラグidFlagは、sdAck10 に
よりレイテンシ1をもって1ずつ減少していき、IDACK
によりレイテンシ4をもって1ずつ増加していく。ただ
し、両信号が同時にアサートされた場合には、バッファ
残量フラグidFlagは変化しない。同様に、バッファ残量
フラグodFlagは、sdAck20 によりレイテンシ1をもって
1ずつ減少していき、ODACK によりレイテンシ4をもっ
て1ずつ増加していく。ただし、両信号が同時にアサー
トされた場合には、バッファ残量フラグodFlagは変化し
ない。The buffer remaining amount flag idFlag is decreased by 1 with a latency of 1 by sdAck10.
Increases one by one with a latency of 4. However, when both signals are asserted at the same time, the buffer remaining amount flag idFlag does not change. Similarly, the buffer remaining amount flag odFlag decreases by one with a latency of 1 by sdAck20 and increases by one with a latency of 4 by ODACK. However, when both signals are asserted at the same time, the buffer remaining amount flag odFlag does not change.
【0122】dm10Address は、sdDispath10 がアサート
される毎に4ずつ増加していく。同様に、dm20Address
は、sdDispath20 がアサートされる毎に4ずつ増加して
いく。The dm10Address increases by 4 each time sdDispath10 is asserted. Similarly, dm20Address
Increases by 4 each time sdDispath20 is asserted.
【0123】Cyclecount=3 でかつCTranceType ="REA
D"において、ReadTrigger がアサートされる。Cyclecou
nt=3 でかつCTranceType ="WRITE" において、WriteT
riggerがアサートされる。Cyclecount = 3 and CTranceType = "REA
ReadTrigger is asserted at D ". Cyclecou
When nt = 3 and CTranceType = "WRITE", WriteT
rigger is asserted.
【0124】ストローブ発生回路87は、ReadAck のア
サート時に、RRClientに保持されているクライアントに
対して、データ転送アクノリッジ信号sdAck20 をアサー
トする。また、ストローブ発生回路87は、WriteAckア
サート時に、WClient に保持されているクライアントに
対して、データ転送アクノリッジ信号sdAck10 をアサー
トする。The strobe generation circuit 87 asserts the data transfer acknowledge signal sdAck20 to the client held in the RRClient when the ReadAck is asserted. Further, the strobe generating circuit 87 asserts the data transfer acknowledge signal sdAck10 to the client held in WClient when WriteAck is asserted.
【0125】画像入力I/F(IDIN0)15のデータバッ
ファ40は、sdAck10 のアサート時に、SDRAM I
/F(SDRAMIF)14に対してデータを出力する。画像出
力I/F(VDOUT)17のデータバッファ60は、sdAck2
0 のアサート時に、SDRAM I/F(SDRAMIF)14
の出力データsdDataを取り込む。When the sdAck10 is asserted, the data buffer 40 of the image input I / F (IDIN0) 15 outputs the SDRAM I / F (IDIN0).
/ F (SDRAMIF) 14 to output data. The data buffer 60 of the image output I / F (VDOUT) 17 stores sdAck2
0 is asserted, the SDRAM I / F (SDRAMIF) 14
Captures the output data sdData of
【0126】コマンド発生回路86は、Cyclecount=1
の次のサイクルで、SDRAM4に対して、[ACT] コマ
ンドおよびロウアドレスとしてのCRowを発行する。ま
た、コマンド発生回路86は、Cyclecount=3の次のサ
イクルで、SDRAM4に対して、[READA]/[ERIRA] コ
マンド( これらのコマンドはCTransTypeによって切り替
えられる) およびカラムアドレスとしてのCColを発行す
る。The command generation circuit 86 determines that Cyclecount = 1
In the next cycle, an [ACT] command and CRow as a row address are issued to the SDRAM 4. In the next cycle of Cyclecount = 3, the command generation circuit 86 issues a [READA] / [ERIRA] command (these commands are switched by CTransType) and CCol as a column address to the SDRAM 4.
【0127】上記実施の形態によれば、データ転送レー
トを保証する必要があるクライアントからのメモリアク
セス要求が競合した場合に、データバッファ40、60
のバッファ残量に基づいて調停を行なっているため、デ
ータ転送レートを保証する必要があるクライアントに対
してもデータを途切れなく転送することが可能となる。According to the above embodiment, when a memory access request from a client for which the data transfer rate needs to be guaranteed conflicts, the data buffers 40, 60
Since the arbitration is performed based on the remaining buffer capacity, the data can be transferred without interruption even to the client that needs to guarantee the data transfer rate.
【0128】また、上記実施の形態のように、固定優先
順位方式による調停方法とバッファ残量に基づく調停と
を組み合わせることにより、クラスタに分けられたクラ
イアント群ごとに優先順位付けを行うことができるとと
もに、同一クラスタ内の複数のクライアント間では、各
クライアントの要求するデータ転送レートに応じてアク
セス権を振り分けることができる。Further, by combining the arbitration method based on the fixed priority method and the arbitration based on the remaining buffer capacity as in the above-described embodiment, it is possible to prioritize each client group divided into clusters. In addition, access rights can be allocated among a plurality of clients in the same cluster according to the data transfer rate requested by each client.
【0129】また、各クライアントによるメモリアクセ
スがバーストアクセスによって行なわれる場合には、各
クライアントによって生成されたバッファ残量をバース
ト内転送量によって補正した後のバッファ残量に基づい
て、アクセス権の調停を行なっているため、SDRAM
等のメモリに見られるメモリアクセスレイテンシを隠蔽
し、連続してデータ転送を行なうことが可能となる。When memory access by each client is performed by burst access, access right arbitration is performed based on the buffer remaining amount generated by correcting the buffer remaining amount generated by each client by the transfer amount within the burst. SDRAM
Concealing the memory access latency seen in memories such as, and enabling continuous data transfer.
【0130】さらに、次に処理すべきトランザクション
を仮決定し、仮決定したトランザクションが次のサイク
ルにおいて処理可能か否かを、調停後のサイクル数、仮
決定したトランザクション処理内容および先行トランザ
クションの処理内容とに基づいて判定しているので、メ
モリアクセスの効率化を図ることができる。Further, a transaction to be processed next is provisionally determined, and whether the provisionally determined transaction can be processed in the next cycle is determined by the number of cycles after arbitration, the provisionally determined transaction processing content, and the processing content of the preceding transaction. Therefore, the efficiency of memory access can be improved.
【0131】[0131]
【発明の効果】この発明によれば、データ転送レートを
保証する必要がある特定のクライアントに対して、デー
タ転送レートを保証することができるメモリアクセス調
停方法が実現する。According to the present invention, a memory access arbitration method capable of guaranteeing a data transfer rate for a specific client which needs to guarantee a data transfer rate is realized.
【図1】デジタル複写機のメモリ制御回路1およびその
周辺回路の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a memory control circuit 1 and its peripheral circuits of a digital copying machine.
【図2】メモリ制御回路1の構成を示すブロック図であ
る。FIG. 2 is a block diagram showing a configuration of a memory control circuit 1.
【図3】画像入力I/F(IDIN0 )15に内蔵されてい
るデータバッファおよびその周辺回路の構成を示すブロ
ック図である。FIG. 3 is a block diagram showing a configuration of a data buffer incorporated in an image input I / F (IDIN0) 15 and its peripheral circuits.
【図4】画像出力I/F(VDOUT0)17に内蔵されてい
るデータバッファおよびその周辺回路の構成を示すブロ
ック図である。FIG. 4 is a block diagram showing a configuration of a data buffer built in an image output I / F (VDOUT0) 17 and its peripheral circuits.
【図5】SDRAM I/ F(SDRAMIF) 14の構成を示
すブロック図である。FIG. 5 is a block diagram showing a configuration of an SDRAM I / F (SDRAMIF) 14.
【図6】DMAコントローラ(DMAC10)21と、DMA
コントローラ(DMAC20)23との2つのクライアントの
間でアクセス要求が競合した場合の調停方法を説明する
ためのタイムチャートである。FIG. 6 shows a DMA controller (DMAC10) 21 and a DMA controller.
6 is a time chart for explaining an arbitration method when an access request conflicts between two clients with a controller (DMAC 20) 23.
【図7】リード動作先行動作パターンを示すタイムチャ
ートである。FIG. 7 is a time chart showing a read operation preceding operation pattern;
【図8】ライト動作先行動作パターンを示すタイムチャ
ートである。FIG. 8 is a time chart showing a write operation preceding operation pattern.
1 メモリ制御回路 4 SDRAM 5 CPU 14 SDRAM I/ F(SDRAMIF) 15 画像入力I/F(IDIN0 ) 17 画像出力I/F(VDOUT0) 21 DMAコントローラ(DMAC10) 23 DMAコントローラ(DMAC20) 40、60 データバッファ 1 Memory Control Circuit 4 SDRAM 5 CPU 14 SDRAM I / F (SDRAMIF) 15 Image Input I / F (IDIN0) 17 Image Output I / F (VDOUT0) 21 DMA Controller (DMAC10) 23 DMA Controller (DMAC20) 40, 60 Data buffer
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高居 正信 大阪府大阪市中央区玉造1丁目2番28号 京セラミタ株式会社内 Fターム(参考) 5B021 AA01 AA19 CC04 DD02 EE01 5B060 CD14 KA04 5B061 BA03 BB01 BC05 DD09 5B077 AA23 BA07 DD12 ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Masanobu Takai 1-2-28 Tamazo, Chuo-ku, Osaka-shi, Osaka F-term in Kyocera Mita Corporation (reference) 5B021 AA01 AA19 CC04 DD02 EE01 5B060 CD14 KA04 5B061 BA03 BB01 BC05 DD09 5B077 AA23 BA07 DD12
Claims (4)
複数のクライアントからのメモリアクセス要求が競合し
た場合には、各クライアントによって生成されかつ各ク
ライアントに設けられているデータバッファへのデータ
の蓄積状況を示すバッファ残量に基づいて、アクセス権
の調停を行なうようにしたメモリアクセス調停方法。When a memory access request from a plurality of clients for which a data transfer rate needs to be guaranteed conflicts, a state of accumulation of data in a data buffer generated by each client and provided in each client. A memory access arbitration method for arbitrating an access right based on a remaining buffer amount indicating a buffer amount.
バーストアクセスによって行なわれる場合には、アクセ
ス権の調停は、各クライアントによって生成されたバッ
ファ残量をバースト内転送量によって補正した後のバッ
ファ残量に基づいて行なわれる請求項1に記載のメモリ
アクセス調停方法。2. When the memory access by each client is performed by burst access, the arbitration of the access right is based on the buffer remaining amount generated by correcting the buffer remaining amount generated by each client by the transfer amount within the burst. 2. The memory access arbitration method according to claim 1, wherein the arbitration method is performed.
複数のクライアントからのメモリアクセス要求が競合し
た場合には、所定期間毎に、各クライアントによって生
成されかつ各クライアントに設けられているデータバッ
ファへのデータの蓄積状況を示すバッファ残量に基づい
て、次に処理すべきトランザクションを仮決定するステ
ップ、 仮決定したトランザクションが次の所定期間において処
理可能か否かを、仮決定したトランザクション処理内容
と先行トランザクションの処理内容とに基づいてチェッ
クするステップ、ならびに仮決定したトランザクション
が次の所定期間で処理可能であると判定した場合には、
その仮決定したトランザクションの処理を次の所定期間
から開始し、仮決定したトランザクションが次の所定期
間で処理可能ではないと判定した場合には、次の所定期
間において、各クライアントによって生成されたバッフ
ァ残量に基づいて次に処理すべきトランザクションを仮
決定するステップ、 を備えているメモリアクセス調停方法。3. When memory access requests from a plurality of clients that need to guarantee a data transfer rate conflict with each other, a memory buffer generated by each client and provided to each client is provided at predetermined time intervals. Tentatively determining the next transaction to be processed based on the buffer remaining amount indicating the data accumulation status of the data, and tentatively determining whether or not the tentatively determined transaction can be processed in the next predetermined period, Step of checking based on the processing content of the preceding transaction, and if it is determined that the provisionally determined transaction can be processed in the next predetermined period,
The processing of the provisionally determined transaction is started from the next predetermined period, and if it is determined that the provisionally determined transaction cannot be processed in the next predetermined period, the buffer generated by each client in the next predetermined period Tentatively determining the next transaction to be processed based on the remaining amount.
バーストアクセスによって行なわれる場合には、次に処
理すべきトランザクションの仮決定は、各クライアント
によって生成されたバッファ残量をバースト内転送量に
よって補正した後のバッファ残量に基づいて行なわれる
請求項3に記載のメモリアクセス調停方法。4. When a memory access by each client is performed by burst access, a tentative decision of a transaction to be processed next is made after correcting a buffer remaining amount generated by each client by a transfer amount in a burst. 4. The memory access arbitration method according to claim 3, wherein the method is performed based on a remaining buffer amount.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000325189A JP3615478B2 (en) | 2000-10-25 | 2000-10-25 | Memory access arbitration method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000325189A JP3615478B2 (en) | 2000-10-25 | 2000-10-25 | Memory access arbitration method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002132707A true JP2002132707A (en) | 2002-05-10 |
| JP3615478B2 JP3615478B2 (en) | 2005-02-02 |
Family
ID=18802596
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000325189A Expired - Fee Related JP3615478B2 (en) | 2000-10-25 | 2000-10-25 | Memory access arbitration method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3615478B2 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006277620A (en) * | 2005-03-30 | 2006-10-12 | Canon Inc | Control device and method for arbitrating bus access |
| US7313031B2 (en) | 2005-02-25 | 2007-12-25 | Sony Corporation | Information processing apparatus and method, memory control device and method, recording medium, and program |
| JP2009205601A (en) * | 2008-02-29 | 2009-09-10 | Yokogawa Electric Corp | Memory access control device |
| JP2010272029A (en) * | 2009-05-22 | 2010-12-02 | Sanyo Electric Co Ltd | Access control circuit |
| JP2016085683A (en) * | 2014-10-28 | 2016-05-19 | 京セラドキュメントソリューションズ株式会社 | Memory access device, memory access control method |
-
2000
- 2000-10-25 JP JP2000325189A patent/JP3615478B2/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7313031B2 (en) | 2005-02-25 | 2007-12-25 | Sony Corporation | Information processing apparatus and method, memory control device and method, recording medium, and program |
| JP2006277620A (en) * | 2005-03-30 | 2006-10-12 | Canon Inc | Control device and method for arbitrating bus access |
| JP2009205601A (en) * | 2008-02-29 | 2009-09-10 | Yokogawa Electric Corp | Memory access control device |
| JP2010272029A (en) * | 2009-05-22 | 2010-12-02 | Sanyo Electric Co Ltd | Access control circuit |
| JP2016085683A (en) * | 2014-10-28 | 2016-05-19 | 京セラドキュメントソリューションズ株式会社 | Memory access device, memory access control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3615478B2 (en) | 2005-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4737438B2 (en) | Information processing apparatus that shares resources among multiple processing units | |
| JP4715801B2 (en) | Memory access control device | |
| JP6053384B2 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
| JP2002063131A (en) | Bus system | |
| JP2002530731A (en) | Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times | |
| CN1977336A (en) | Systems and methods for improving performance of computer memory systems supporting multiple memory access latencies | |
| JP2006146965A (en) | Arbitration method between pending requests | |
| US8171222B2 (en) | Memory access system, memory control apparatus, memory control method and program | |
| JP2002530743A (en) | Use the page tag register to track the state of a physical page in a memory device | |
| US7707328B2 (en) | Memory access control circuit | |
| JP2000315173A (en) | Memory controller | |
| JP5911548B1 (en) | Apparatus, method, and computer program for scheduling access request to shared memory | |
| US5802330A (en) | Computer system including a plurality of real time peripheral devices having arbitration control feedback mechanisms | |
| JP2002132707A (en) | Memory access arbitrating method | |
| JP3260456B2 (en) | Computer system, integrated circuit suitable for it, and requirement selection circuit | |
| JPH11345165A (en) | Traffic controller using priority and burst control for reducing access times | |
| JPH06110829A (en) | Bus usage request arbitration device | |
| US8452920B1 (en) | System and method for controlling a dynamic random access memory | |
| JP2001175530A (en) | Device and method for arbitrating memory access | |
| JP4684577B2 (en) | Bus system and method for arbitrating a high-speed bandwidth system bus | |
| JP2011034214A (en) | Memory controller | |
| JP3235578B2 (en) | Memory access control method | |
| CN113539322A (en) | Memory device, memory controller, and memory system including multiple regions | |
| JP7574728B2 (en) | Control device and control method | |
| JP2000029777A (en) | Data transfer device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040302 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040309 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040428 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041005 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041026 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041029 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071112 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |