JP2007280253A - Information processor and information processing method - Google Patents

Information processor and information processing method Download PDF

Info

Publication number
JP2007280253A
JP2007280253A JP2006108506A JP2006108506A JP2007280253A JP 2007280253 A JP2007280253 A JP 2007280253A JP 2006108506 A JP2006108506 A JP 2006108506A JP 2006108506 A JP2006108506 A JP 2006108506A JP 2007280253 A JP2007280253 A JP 2007280253A
Authority
JP
Japan
Prior art keywords
memory access
access request
time
data amount
urgency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006108506A
Other languages
Japanese (ja)
Inventor
Daisuke Shiraishi
大介 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006108506A priority Critical patent/JP2007280253A/en
Publication of JP2007280253A publication Critical patent/JP2007280253A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To guarantee the real time property of a master and to improve memory bus transfer efficiency. <P>SOLUTION: This information processing method or the like is provided, which comprises: a comparison result receiving step for performing an operation in which a remaining time until a determined time and the amount of data until a determined data amount are used to perform the operation and receiving a comparison result of each operation result; a memory access request receiving step for receiving a memory access request; and a processing urgency determining step for determining the processing urgency of the memory access request on the basis of information including the operation result, and processes the memory access request preferentially when urgency is determined to be high in the processing urgency determining step. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は情報処理装置、情報処理方法及びそのプログラムに関し、例えばメモリコントローラに用いて好適な技術に関する。   The present invention relates to an information processing apparatus, an information processing method, and a program thereof, and relates to a technique suitable for use in, for example, a memory controller.

マスタは要求された時間内に要求されたデータ量の転送を完了する必要がある。要求された時間に対して転送すべきデータ量が多い場合に、そのマスタのリアルタイム性は厳しくなり、逆に時間に対して転送すべきデータ量が少ない場合に、リアルタイム性には余裕ができる。   The master needs to complete the transfer of the requested amount of data within the requested time. When the amount of data to be transferred with respect to the requested time is large, the real-time property of the master becomes severe. Conversely, when the amount of data to be transferred with respect to time is small, the real-time property can be afforded.

従来、リアルタイム性を保証するために、[SOCアイデア番号]P204024のようなリアルタイム保証アービタが提案されている。リアルタイム保証アービタは図5のように、マスタ毎に転送すべきデータ量と、データ転送を完了するまでの時間が設定される。リアルタイム保証アービタはマスタ毎に要求転送速度(=残りデータ量÷残り時間)を計算し、リアルタイム性を保証するために最もバス権を必要としているマスタに優先してバス権を与える。   Conventionally, a real-time guarantee arbiter such as [SOC idea number] P204024 has been proposed to guarantee real-time performance. As shown in FIG. 5, the real-time guarantee arbiter sets the amount of data to be transferred for each master and the time until data transfer is completed. The real-time guarantee arbiter calculates the requested transfer rate (= remaining data amount ÷ remaining time) for each master, and gives the bus right in preference to the master that needs the bus right most in order to guarantee real-time performance.

図5の例では、時刻t1における要求転送速度A1、B1、C1はA1>C1>B1となり、時刻t1の時点では、マスタa>マスタc>マスタbの優先度でバス権が与えられることになる。時刻t2までにマスタAが他マスタより優先されバス権を獲得した結果、時刻t2における要求転送速度A2、B2、C2はB2>A2>C2となり、時刻t2の時点でマスタb>マスタa>マスタcの優先度でバス権が振り分けられる。   In the example of FIG. 5, the requested transfer rates A1, B1, and C1 at time t1 are A1> C1> B1, and at time t1, the bus right is given with the priority of master a> master c> master b. Become. As a result of master A having priority over other masters and acquiring the bus right by time t2, the requested transfer rates A2, B2, and C2 at time t2 are B2> A2> C2, and at time t2, master b> master a> master The bus right is assigned with the priority of c.

このように、リアルタイム保証アービタはある時点で最もリアルタイム性の厳しいマスタに優先的にバスを使用させることで、バス権獲得までの時間を短縮し、マスタのリアルタイム性を保証している。   As described above, the real-time guarantee arbiter shortens the time to acquire the bus right and guarantees the real-time property of the master by causing the master having the strictest real-time property to use the bus preferentially at a certain time.

また、メモリコントローラにおいてもマスタのリアルタイム性を保証する試みがなされているものがある。メモリコントローラは図6のようにリオーダリングキューを保持し、格納されたメモリアクセス要求をバンクコンフリクトの発生有無とページヒットミス、リアルタイム性を考慮して優先度付けを行う。   Some memory controllers have attempted to guarantee the real-time property of the master. The memory controller holds a reordering queue as shown in FIG. 6, and prioritizes stored memory access requests in consideration of the occurrence of bank conflicts, page hit misses, and real-time characteristics.

リアルタイム性が厳しいかどうかの判定はマスタ毎に割り付けられた固定優先度をもとに行われる。図5を例にとると平均転送速度(=データ量÷時間)が最も大きいマスタbには高い優先度が割り付けられる。そして、優先度の高いメモリアクセス要求からメモリへ発行している。   Whether the real-time property is severe is determined based on a fixed priority assigned to each master. Taking FIG. 5 as an example, a high priority is assigned to the master b having the largest average transfer rate (= data amount / time). A memory access request with a high priority is issued to the memory.

図6では、リオーダリングキューに格納されたメモリアクセス要求を(1)バンクコンフリクトの発生有無とページヒットミス、(2)リアルタイム性、(3)到着順というアルゴリズムにより優先度付けを行う。そして、優先度の最も高いメモリアクセス要求request3の処理を行っている。以上のように、メモリコントローラはリオーダリングキューを用いてリアルタイム性の保証、メモリバス利用効率の向上を実現している。   In FIG. 6, the memory access requests stored in the reordering queue are prioritized by algorithms of (1) presence / absence of bank conflict and page hit miss, (2) real-time property, and (3) arrival order. Then, the memory access request request3 having the highest priority is processed. As described above, the memory controller uses the reordering queue to guarantee real-time performance and improve memory bus utilization efficiency.

前述したように、従来はマスタのリアルタイム性を保証するために、リアルタイム保証アービタとリオーダリングを行うメモリコントローラのどちらか、または両方が組み合わされて使用されている。リアルタイム保証アービタはマスタがメモリアクセス要求を発行してからバス権を獲得するまで、リオーダリングを行うメモリコントローラはメモリアクセス要求がリオーダリングキューに格納されてからメモリで処理されるまでの時間を短縮することができる。   As described above, conventionally, in order to guarantee the real-time property of the master, either or both of the real-time guarantee arbiter and the memory controller performing reordering are used in combination. The real-time guarantee arbiter reduces the time from when the master issues the memory access request until the bus is acquired until the memory controller that performs reordering stores the memory access request in the reordering queue until it is processed in memory. can do.

しかし、マスタのリアルタイム性を保証するためには、マスタがメモリアクセス要求を発行してからメモリで処理されるまでを考慮する必要があるため、どちらか一方のみで構成されたシステムではマスタのリアルタイム性を十分に保証することはできない。よって、リアルタイム保証アービタ、リオーダリング可能なメモリコントローラを組合せてマスタのリアルタイム性を保証する手段が必要とされている。   However, in order to guarantee the real-time property of the master, it is necessary to consider the time from when the master issues a memory access request until it is processed by the memory. Sex cannot be fully guaranteed. Therefore, there is a need for a means for guaranteeing the real-time property of the master by combining a real-time guarantee arbiter and a reorderable memory controller.

しかし、リアルタイム保証アービタとメモリコントローラのリオーダリング間に依存関係はなく、各々独立してマスタのリアルタイム性を保証している。リアルタイム保証アービタはある時刻において最もリアルタイム性の高いマスタにバス権を与えるのに対し、メモリコントローラはリオーダリングを行うための優先度付けの一判断材料としてマスタのリアルタイム性を使用している。   However, there is no dependency between the reordering of the real-time guarantee arbiter and the memory controller, and each guarantees the real-time property of the master independently. The real-time guarantee arbiter gives the bus right to the master having the highest real-time property at a certain time, whereas the memory controller uses the real-time property of the master as a judgment material for prioritization for reordering.

よって、リアルタイム保証アービタがリアルタイム性の本当に厳しいメモリアクセス要求にバス権を与え、メモリコントローラ内のリオーダリングキューに格納された場合でも、バンクコンフリクトの発生有無などを重視する優先度付けアルゴリズムでは、バンクコンフリクトの発生有無やページヒットという他の要因の影響で処理優先度が低くなる可能性がある。そのため、図6のrequest1のように後から到着したメモリアクセス要求が先に処理され、結果request1はリアルタイム性を満たせない状況が発生する恐れがある。   Therefore, even when the real-time guarantee arbiter gives the bus right to the memory access request that is really strict in real-time and is stored in the reordering queue in the memory controller, the prioritization algorithm that emphasizes the occurrence of bank conflicts, etc. There is a possibility that the processing priority may be lowered due to the influence of other factors such as occurrence of conflict and page hit. Therefore, a memory access request that arrives later is processed first like request 1 in FIG. 6, and there is a possibility that the result request 1 may not satisfy the real-time property.

また、リオーダリングの優先度付けアルゴリズムにおいてリアルタイム性の重要性を上げた場合を考えてみる。この場合、図5(b)のマスタbのように、固定的に設定されるリアルタイム性は厳しいが、バス権を十分に獲得したためリアルタイム性に余裕があるマスタからのメモリアクセス要求であっても、メモリコントローラにおいて優先して処理されてしまう。この結果、バンクコンフリクトやページミスの発生により、メモリバス転送効率が低下し、システムの性能を低下させてしまう恐れがある。   Also consider the case where the importance of real-time performance is increased in the reordering prioritization algorithm. In this case, the real-time property that is fixedly set is strict as in the master b in FIG. 5B, but even if the memory access request is from a master that has sufficient real-time property because the bus right is sufficiently acquired. The memory controller is preferentially processed. As a result, the occurrence of bank conflicts and page misses may reduce the memory bus transfer efficiency and reduce the system performance.

以上のように、実際にマスタのリアルタイム性を保証し、かつメモリバス転送効率を向上させるためには、リアルタイム保証アービタとメモリコントローラが連携して動作する情報処理装置が必要である。つまり、マスタのリアルタイム性の動的な変化に応じて、メモリコントローラはリアルタイム性を優先するかメモリバス転送効率を優先するかを選択してリオーダリングを行う手法が必要とされている。   As described above, in order to actually guarantee the real-time property of the master and improve the memory bus transfer efficiency, an information processing apparatus in which the real-time guarantee arbiter and the memory controller operate in cooperation is necessary. That is, there is a need for a method in which the memory controller performs reordering by selecting whether to prioritize real-time performance or memory bus transfer efficiency in accordance with dynamic changes in the real-time performance of the master.

本発明は前述の問題点に鑑み、マスタのリアルタイム性を保証し、かつメモリバス転送効率を向上させることができるようにすることを目的としている。   The present invention has been made in view of the above-mentioned problems, and has as its object to ensure the real-time property of the master and improve the memory bus transfer efficiency.

本発明は前記課題を解決するために、決められた時間に達するまでの残り時間と決められたデータ量に達するまでの残りデータ量とを用いて演算する演算し、各演算結果の比較結果を受信する比較結果受信工程と、メモリアクセス要求を受信するメモリアクセス要求受信工程と、前記演算結果を含む情報に基づいて前記メモリアクセス要求の処理緊急度を判定する処理緊急度判定工程と、前記処理緊急度判定工程において緊急度が高いと判定された場合に、前記メモリアクセス要求を優先して処理させることを特徴とする情報処理方法等、を提供する。   In order to solve the above-mentioned problem, the present invention performs an operation using the remaining time until the determined time is reached and the remaining data amount until the determined amount of data is reached, and compares the results of the calculation results. A comparison result receiving step for receiving, a memory access request receiving step for receiving a memory access request, a processing urgency level determining step for determining a processing urgency level of the memory access request based on information including the calculation result, and the processing There is provided an information processing method or the like characterized by preferentially processing the memory access request when the urgency level is determined to be high in the urgency level determination step.

本発明によれば、メモリコントローラはリアルタイム保証アービタからメモリアクセス要求とともに、マスタが要求している転送速度と設定されたデータ量と時間を受け取り、メモリアクセス要求の緊急度を判定し、リアルタイム性を優先してリオーダリングするか、メモリバス利用効率を優先してリオーダリングするかを切り換える。これにより、マスタのリアルタイム性を保証した上で、メモリバス転送効率を向上させることができる。   According to the present invention, the memory controller receives the memory access request from the real-time guarantee arbiter, the transfer rate requested by the master, the set data amount and time, determines the urgency of the memory access request, and improves the real-time property. Switching between priority reordering and memory bus utilization efficiency priority. Thereby, the memory bus transfer efficiency can be improved while guaranteeing the real-time property of the master.

(第1の実施形態)
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
図1は、本実施形態におけるシステム構成の一例を示すブロック図である。
本システムは、マスタ10、11、12、13と、リアルタイム保証アービタ15と、メモリコントローラ16とメモリ(SDRAM)17とで構成される。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram illustrating an example of a system configuration in the present embodiment.
This system includes masters 10, 11, 12 and 13, a real-time guarantee arbiter 15, a memory controller 16 and a memory (SDRAM) 17.

マスタ10〜13は各々リアルタイム性を有する。リアルタイム保証アービタ15は、マスタ10〜13毎にデータ転送量を設定するデータ量設定レジスタ158、162、166、170と、データ転送を行う時間を設定する時間設定レジスタ159、163、167、171とを有する。   Each of the masters 10 to 13 has real-time characteristics. The real-time guarantee arbiter 15 includes data amount setting registers 158, 162, 166, and 170 for setting the data transfer amount for each of the masters 10 to 13, and time setting registers 159, 163, 167, and 171 for setting the data transfer time. Have

また、リアルタイム保証アービタ15は、各マスタが転送を完了したデータ量をデータ量設定レジスタの値からデクリメントして残りデータ量を出力するデータ転送量カウンタ156、160、164、168も有する。さらにリアルタイム保証アービタ15は、マスタ10〜13の最初のメモリアクセス要求が到着した後に時間設定レジスタ時間の値からカウントダウンを開始して残り時間を出力するタイマ157、161、165、169も有する。   The real-time guarantee arbiter 15 also includes data transfer amount counters 156, 160, 164, and 168 that decrement the data amount transferred by each master from the value of the data amount setting register and output the remaining data amount. The real-time guarantee arbiter 15 also has timers 157, 161, 165, and 169 that start counting down from the value of the time setting register time after the first memory access request of the masters 10 to 13 arrives and output the remaining time.

また、データ転送量カウンタ156、160、164、168が出力する残りデータ量をタイマ157、161、165、169が出力する残り時間で割ることで要求転送速度を算出する要求転送速度算出手段152〜155を有する。さらにリアルタイム保証アービタ15は、要求転送速度算出手段152〜155で算出された要求転送速度を比較して最も要求転送速度が大きいマスタを優先する調停手段151を有する。   The requested transfer rate calculation means 152 to calculate the requested transfer rate by dividing the remaining data amount output from the data transfer amount counters 156, 160, 164, 168 by the remaining time output from the timers 157, 161, 165, 169. 155. Further, the real-time guarantee arbiter 15 has arbitration means 151 that gives priority to the master having the highest required transfer speed by comparing the required transfer speeds calculated by the required transfer speed calculating means 152 to 155.

メモリコントローラ16は、調停手段151により送られるバス権を獲得したメモリアクセス要求と処理緊急度判定信号203で通知される緊急フラグを格納するメモリアクセス要求格納手段180を有する。   The memory controller 16 includes a memory access request storage unit 180 that stores the memory access request acquired by the arbitration unit 151 and the emergency flag notified by the processing urgency determination signal 203.

また、メモリコントローラ16は、要求転送速度信号201、データ量信号202及び時間信号203によってメモリコントローラ16に到着したメモリアクセス要求を発行したマスタの要求転送速度と設定されたデータ量と時間とについての情報を調停手段151から受け取り、平均転送速度(=データ量÷時間)を算出し、要求転送速度が平均転送速度より大きいかを判定し、大きかった場合にそのメモリアクセス要求が緊急であることを示すフラグをメモリアクセス要求格納手段180に格納する処理緊急度判定手段181を有する。   Further, the memory controller 16 determines the requested transfer rate of the master that has issued the memory access request that has arrived at the memory controller 16 by the request transfer rate signal 201, the data amount signal 202, and the time signal 203, and the set data amount and time. The information is received from the arbitration unit 151, the average transfer rate (= data amount / time) is calculated, it is determined whether the requested transfer rate is greater than the average transfer rate, and if it is greater, the memory access request is urgent. It has processing urgency determining means 181 for storing the indicated flag in the memory access request storing means 180.

さらに、メモリコントローラ16は、メモリアクセス要求格納手段180に格納されているメモリアクセス要求の緊急フラグを緊急フラグ信号204で監視し、少なくとも1つの緊急フラグがたっている場合に優先度決定手段182へアルゴリズム変更信号205をアサートし、アルゴリズム変更を通知するアルゴリズム変更手段182を有する。   Further, the memory controller 16 monitors the emergency flag of the memory access request stored in the memory access request storage unit 180 by the emergency flag signal 204, and if at least one emergency flag is set, the algorithm is sent to the priority determination unit 182. Algorithm change means 182 for asserting the change signal 205 and notifying the algorithm change is provided.

また、メモリコントローラ16は、アルゴリズム変更信号205により、メモリアクセス要求格納手段180に格納されたメモリアクセス要求を優先度付けするアルゴリズムを切り換え、アルゴリズムにより選択されたメモリアクセス要求をメモリ17に送出する優先度決定手段183を有する。   Further, the memory controller 16 switches the algorithm for prioritizing the memory access request stored in the memory access request storage unit 180 by the algorithm change signal 205 and sends the memory access request selected by the algorithm to the memory 17 Degree determining means 183.

14はバスである。201は、バス権を獲得しているメモリアクセス要求を発行したマスタの要求転送速度を調停手段151が処理緊急度判定手段181へ通知するための要求転送速度信号である。202は、バス権を獲得しているメモリアクセス要求を発行したマスタに設定された転送すべきデータ量を調停手段151が処理緊急度判定手段181へ通知するためのデータ量信号である。   14 is a bus. 201 is a request transfer rate signal for the arbitration unit 151 to notify the processing urgency determination unit 181 of the request transfer rate of the master that has issued the memory access request that has acquired the bus right. Reference numeral 202 denotes a data amount signal for the arbitrating unit 151 to notify the processing urgency determining unit 181 of the data amount to be transferred set in the master that has issued the memory access request that has acquired the bus right.

203は、バス権を獲得しているメモリアクセス要求を発行したマスタに設定された転送時間を調停手段151が処理緊急度判定手段181へ通知するための時間信号である。204は、バス権を獲得しているメモリアクセス要求が緊急である場合に、処理緊急度判定手段181によりアサートされる処理緊急度判定信号である。   203 is a time signal for the arbitration unit 151 to notify the processing urgency level determination unit 181 of the transfer time set for the master that has issued the memory access request that has acquired the bus right. Reference numeral 204 denotes a processing urgency determination signal that is asserted by the processing urgency determination means 181 when the memory access request that has acquired the bus right is urgent.

205は、メモリアクセス要求格納手段180に格納されているすべての緊急フラグをアルゴリズム変更手段182が監視するための緊急フラグ信号である。206は、アルゴリズム変更手段182が優先度決定手段183へアルゴリズム変更を通知する際にアサートされるアルゴリズム変更信号である。18はメモリバス信号である。   205 is an emergency flag signal for the algorithm changing unit 182 to monitor all emergency flags stored in the memory access request storage unit 180. An algorithm change signal 206 is asserted when the algorithm change unit 182 notifies the priority determination unit 183 of the algorithm change. Reference numeral 18 denotes a memory bus signal.

次に、図2を用いて、本実施形態の動作を説明する。各マスタ10〜13のデータ量、時間が図2(a)のように設定されている場合を例に説明する。
時刻t1において、マスタ10がメモリアクセス要求request10を発行したとする。t1において、要求転送速度が最も大きいマスタはマスタ10であるため、リアルタイム保証アービタ15はマスタ10が発行したメモリアクセス要求request10にバス権を与える。
Next, the operation of this embodiment will be described with reference to FIG. The case where the data amount and time of each master 10-13 are set as shown in FIG. 2A will be described as an example.
Assume that the master 10 issues a memory access request request10 at time t1. At t1, since the master having the highest request transfer rate is the master 10, the real-time guarantee arbiter 15 gives the bus right to the memory access request request 10 issued by the master 10.

バス権を与えると同時に、リアルタイム保証アービタ15はマスタ10の要求転送速度、マスタ10に設定されたデータ量、時間を要求転送速度信号201、データ量信号202、時間信号203を用いてメモリコントローラ16の処理緊急度判定手段181に通知する。処理緊急度判定手段181は、リアルタイム保証アービタ15から受け取ったデータ量を時間で割り平均転送速度を算出し、同じくリアルタイム保証アービタ15から受け取った要求転送速度が算出した平均転送速度より大きいか否かを判定する。   At the same time as giving the bus right, the real-time guarantee arbiter 15 uses the requested transfer rate of the master 10, the amount of data set in the master 10, and the time using the requested transfer rate signal 201, the data amount signal 202, and the time signal 203. Is notified to the processing urgency determination means 181. The processing urgency determining unit 181 calculates the average transfer rate by dividing the amount of data received from the real-time guarantee arbiter 15 by time, and determines whether the request transfer rate received from the real-time guarantee arbiter 15 is larger than the calculated average transfer rate. Determine.

判定結果より、要求転送速度が平均転送速度より大きかった場合に、処理緊急度判定手段181は処理緊急度判定信号204をアサートする。メモリアクセス要求格納手段180は、図2(b)のようにマスタ10からのメモリアクセス要求であるrequest10と処理緊急度判定手段181から出力される処理緊急度判定信号204を格納する。この時点でのメモリアクセス要求格納手段180の状態は図2(c)のようになる。   If the requested transfer rate is greater than the average transfer rate based on the determination result, the processing urgency level determination unit 181 asserts the processing urgency level determination signal 204. The memory access request storage unit 180 stores request10 which is a memory access request from the master 10 and a processing urgency determination signal 204 output from the processing urgency determination unit 181 as shown in FIG. The state of the memory access request storage means 180 at this time is as shown in FIG.

図3は、従来の優先度付けアルゴリズムの処理を示すフローチャートである。
図3のステップS301において、バンクコンフリクトとページヒットの情報を基に最も効率の良いメモリアクセス要求を選択する。
FIG. 3 is a flowchart showing the processing of a conventional prioritization algorithm.
In step S301 in FIG. 3, the most efficient memory access request is selected based on the bank conflict and page hit information.

次に、ステップS302において、選択されたメモリアクセス要求数が1であるか否かを判定する。この判定の結果、選択されたメモリアクセス要求数が1でない場合は、ステップS303において、リアルタイム性の高いメモリアクセスを選択する。   Next, in step S302, it is determined whether or not the number of selected memory access requests is one. If the result of this determination is that the selected memory access request number is not 1, memory access with high real-time characteristics is selected in step S303.

次に、ステップS304において、選択されたメモリアクセス要求数が1であるか否かを判定する。この判定の結果、選択されたメモリアクセス要求数が1でない場合は、ステップS305において、メモリアクセス要求格納手段に最初に格納されたメモリアクセス要求を選択する。次に、ステップS306において、選択されたメモリアクセス要求をメモリへ発行し、ステップS301に戻る。   Next, in step S304, it is determined whether or not the number of selected memory access requests is one. If the result of this determination is that the number of selected memory access requests is not 1, the memory access request stored first in the memory access request storage means is selected in step S305. Next, in step S306, the selected memory access request is issued to the memory, and the process returns to step S301.

一方、ステップS302またはステップS304の判定の結果、選択されたメモリアクセス要求数が1である場合は、ステップS306にジャンプする。   On the other hand, if the number of selected memory access requests is 1 as a result of the determination in step S302 or step S304, the process jumps to step S306.

図3のような優先度付けアルゴリズムを採用している従来のメモリコントローラにおいては、メモリアクセス要求格納手段が図2(c)のような場合に、request12>request11>request13>request10の順で優先度付けされる。このように、最も緊急度の高いrequest10の処理が後回しにされることがある。また、メモリコントローラがrequest12、request11、request13を順に処理している間に、他のマスタにより新たなメモリアクセス要求が到着し、メモリアクセス要求格納手段が、時刻t2で図2(d)のような状態になるとする。   In the conventional memory controller adopting the prioritization algorithm as shown in FIG. 3, when the memory access request storage means is as shown in FIG. 2C, the priority is given in the order of request12> request11> request13> request10. Attached. As described above, processing of request 10 having the highest degree of urgency may be postponed. In addition, while the memory controller is processing request12, request11, and request13 in order, a new memory access request arrives by another master, and the memory access request storage means at time t2 as shown in FIG. Suppose that it becomes a state.

この状態における各メモリアクセス要求の優先度はrequest11>request12>request13>request10となり、リアルタイム性の厳しいマスタが発行したメモリアクセス要求request10の処理は更に後回しになる。結果、マスタのリアルタイム性が満たされない可能性がある。   The priority of each memory access request in this state is request11> request12> request13> request10, and the processing of the memory access request request10 issued by the master with strict real-time property is further postponed. As a result, the real-time property of the master may not be satisfied.

図4は、本実施形態における優先度付けアルゴリズムの処理を示すフローチャートである。
図4のステップS401において、アルゴリズム変更信号206が1であるか否かを判定する。この判定の結果、アルゴリズム変更信号206が1でない場合は、ステップS402において、バンクコンフリクトとページヒットの情報を基に最も効率の良いメモリアクセス要求を選択する。
FIG. 4 is a flowchart showing processing of the prioritization algorithm in the present embodiment.
In step S401 in FIG. 4, it is determined whether or not the algorithm change signal 206 is “1”. If the result of this determination is that the algorithm change signal 206 is not 1, in step S402, the most efficient memory access request is selected based on the bank conflict and page hit information.

次に、ステップS403において、選択されたメモリアクセス要求数が1であるか否かを判定する。この判定の結果、選択されたメモリアクセス要求数が1でない場合は、メモリアクセス要求格納手段180に最初に格納されたメモリアクセス要求を選択する。一方、ステップS403の判定の結果、選択されたメモリアクセス要求数が1である場合はステップS405にジャンプする。次に、ステップS405において、選択されたメモリアクセス要求をメモリ17へ発行し、ステップS401に戻る。   Next, in step S403, it is determined whether or not the number of selected memory access requests is one. If the result of this determination is that the number of selected memory access requests is not 1, the memory access request stored first in the memory access request storage means 180 is selected. On the other hand, if the number of selected memory access requests is 1 as a result of the determination in step S403, the process jumps to step S405. Next, in step S405, the selected memory access request is issued to the memory 17, and the process returns to step S401.

一方、ステップS401の判定の結果、アルゴリズム変更信号206が1である場合は、ステップS406において、緊急度フラグ=1のメモリアクセス要求を選択する。次に、ステップS407において、選択されたメモリアクセス要求数が1であるか否かを判定する。   On the other hand, if the algorithm change signal 206 is 1 as a result of the determination in step S401, a memory access request with the urgency flag = 1 is selected in step S406. Next, in step S407, it is determined whether or not the number of selected memory access requests is one.

この判定の結果、選択されたメモリアクセス要求数が1でない場合は、ステップS408において、メモリアクセス要求格納手段180に最初に格納されたメモリアクセス要求を選択し、ステップS405に進む。一方、ステップS407の判定の結果、選択されたメモリアクセス要求数が1である場合は、そのままステップS405に進む。   If the result of this determination is that the number of selected memory access requests is not 1, the memory access request first stored in the memory access request storage means 180 is selected in step S408, and the process proceeds to step S405. On the other hand, if the result of determination in step S407 is that the number of selected memory access requests is 1, processing proceeds directly to step S405.

本実施形態では、アルゴリズム変更手段182がメモリアクセス要求格納手段180に格納されているメモリアクセス要求の緊急フラグ信号205を監視し、1つ以上の緊急フラグ信号が1である場合にアルゴリズム変更信号206をアサートする。   In the present embodiment, the algorithm change unit 182 monitors the emergency flag signal 205 of the memory access request stored in the memory access request storage unit 180, and when one or more emergency flag signals are 1, the algorithm change signal 206 Is asserted.

優先度決定手段183は図4のアルゴリズムに従って、メモリアクセス要求格納手段180に格納されているメモリアクセス要求を優先度付けし、最も優先度の高いメモリアクセス要求をメモリ17に対して発行する。   The priority determination means 183 prioritizes the memory access requests stored in the memory access request storage means 180 according to the algorithm of FIG. 4 and issues the memory access request with the highest priority to the memory 17.

緊急度の高いマスタからメモリアクセス要求が存在せず、アルゴリズム変更信号206がネゲートされている場合、優先度決定手段183は従来と同様に、メモリバスの転送効率が向上するようにメモリアクセス要求を優先度付けし、システムの性能を向上させる。しかし、緊急度の高いマスタからのメモリアクセス要求がメモリアクセス要求格納手段180に格納され、アルゴリズム変更信号206がアサートされている場合、優先度決定手段183は緊急度の高いメモリアクセス要求を優先して処理する。   When there is no memory access request from a master with a high degree of urgency and the algorithm change signal 206 is negated, the priority determination means 183 issues a memory access request so that the transfer efficiency of the memory bus is improved as before. Prioritize and improve system performance. However, when a memory access request from a master with high urgency is stored in the memory access request storage unit 180 and the algorithm change signal 206 is asserted, the priority determination unit 183 gives priority to the memory access request with high urgency. To process.

以上、実施形態を用いて本発明を説明したが、本発明は前述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。   Although the present invention has been described above using the embodiments, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention.

(本発明に係る他の実施形態)
前述した本発明の実施形態における情報処理装置を構成する各手段、並びに情報処理方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each unit constituting the information processing apparatus and each step of the information processing method in the embodiment of the present invention described above can be realized by operating a program stored in a RAM or a ROM of a computer. This program and a computer-readable recording medium recording the program are included in the present invention.

また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。   Further, the present invention can be implemented as, for example, a system, apparatus, method, program, or recording medium. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3、4に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowcharts shown in FIGS. 3 and 4) for realizing the functions of the above-described embodiments is directly or remotely supplied to the system or apparatus. This includes the case where the system or the computer of the apparatus is also achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。   Examples of the recording medium for supplying the program include a floppy (registered trademark) disk, a hard disk, an optical disk, and a magneto-optical disk. Further, there are MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, there is a method of connecting to a homepage on the Internet using a browser of a client computer. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   As another method, the program of the present invention is encrypted, stored in a recording medium such as a CD-ROM, distributed to users, and encrypted from a homepage via the Internet to users who have cleared predetermined conditions. Download the key information to be solved. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can be realized by the processing.

さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   As another method, the program read from the recording medium is first written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Then, based on the instructions of the program, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.

本発明の実施形態におけるシステム構成の一例を示すブロック図である。It is a block diagram which shows an example of the system configuration | structure in embodiment of this invention. 本発明の実施形態におけるメモリコントローラの動作を示す図である。It is a figure which shows operation | movement of the memory controller in embodiment of this invention. 従来における優先度付けアルゴリズムの処理を示すフローチャートである。It is a flowchart which shows the process of the prioritization algorithm in the past. 本発明の実施形態における優先度付けアルゴリズムの処理を示すフローチャートである。It is a flowchart which shows the process of the prioritization algorithm in embodiment of this invention. リアルタイム保証アービタにおける動作の一例を示す図である。It is a figure which shows an example of operation | movement in a real-time guarantee arbiter. 従来のメモリコントローラにおける動作の一例を示す図である。It is a figure which shows an example of operation | movement in the conventional memory controller.

符号の説明Explanation of symbols

10〜13 マスタ
14 バス
15 リアルタイム保証アービタ
16 メモリコントローラ
17 メモリ
18 メモリバス
151 調停手段
152〜155 要求転送速度算出手段
156、160、164、168 データ転送量カウンタ
157、161、165、169 タイマ
158、162、166、170 データ量設定レジスタ
159、163、167、171 時間設定レジスタ
168〜171 タイマ
180 メモリアクセス格納手段
181 処理緊急度判定手段
182 アルゴリズム変更手段
183 優先度決定手段
201 要求転送速度信号
202 データ量信号
203 時間信号
204 処理緊急度判定信号
205 緊急フラグ信号
206 アルゴリズム変更信号
10-13 Master 14 Bus 15 Real-time guarantee arbiter 16 Memory controller 17 Memory 18 Memory bus 151 Arbitration means 152-155 Request transfer rate calculation means 156, 160 164 168 Data transfer amount counters 157, 161, 165, 169 Timer 158, 162, 166, 170 Data amount setting registers 159, 163, 167, 171 Time setting registers 168-171 Timer 180 Memory access storage means 181 Processing urgency judgment means 182 Algorithm change means 183 Priority determination means 201 Requested transfer rate signal 202 Data Quantity signal 203 Time signal 204 Processing urgency determination signal 205 Emergency flag signal 206 Algorithm change signal

Claims (5)

バス調停装置とメモリコントローラとを備える情報処理装置であって、
前記バス調停装置は、個々のマスタがそれぞれに決められた時間内に決められたデータ量のデータ転送を完了できるようにバス使用権の調停を行うものであり、 前記バス調停装置はさらに、前記時間を設定する時間設定手段と、前記データ量を設定するデータ量設定手段と、前記時間に達するまでの残り時間を計測する残り時間計測手段と、前記データ量に達するまでの残りデータ量を計測するデータ量計測手段と、前記残り時間と前記残りデータ量とを用いて演算する演算回路とを有し、マスタ毎の前記演算回路で演算された演算結果を比較し、その比較結果によってバス使用権の割り当てを行うものであり、
前記メモリコントローラは、個々のマスタが発行するメモリアクセス要求を一時的に格納するメモリアクセス要求格納手段と、前記メモリアクセス要求格納手段に格納されているメモリアクセス要求を第一のアルゴリズムに従い優先度付けをする優先度決定手段とを有し、優先度の高いメモリアクセス要求から処理するものであり、
前記メモリコントローラはさらに、前記バス調停装置からメモリアクセス要求とともに少なくとも前記演算結果を含む情報を受け取り、前記メモリアクセス要求の処理緊急度を判定する処理緊急度判定手段と、前記処理緊急度判定手段により緊急度が高いと判定された場合に、前記第一のアルゴリズムに関わらず、前記優先度決定手段に緊急度の高いメモリアクセス要求を優先して処理させるアルゴリズム変更手段とを有することを特徴とする情報処理装置。
An information processing device comprising a bus arbitration device and a memory controller,
The bus arbitration device arbitrates a bus usage right so that each master can complete data transfer of a determined amount of data within a determined time, and the bus arbitration device further includes the bus arbitration device, Time setting means for setting the time, data amount setting means for setting the data amount, remaining time measuring means for measuring the remaining time until the time is reached, and measuring the remaining data amount until the data amount is reached A data amount measuring means for performing the calculation using the remaining time and the remaining data amount, comparing the calculation results calculated by the calculation circuit for each master, and using the bus according to the comparison result Right assignment,
The memory controller temporarily stores memory access requests issued by individual masters, and prioritizes memory access requests stored in the memory access request storage means according to a first algorithm. A priority determination means for processing, and processes from a memory access request having a high priority,
The memory controller further receives information including at least the calculation result together with a memory access request from the bus arbitration device, and includes a processing urgency determination unit that determines a processing urgency level of the memory access request, and a processing urgency determination unit. When it is determined that the urgency level is high, regardless of the first algorithm, the priority determination unit includes an algorithm change unit that preferentially processes a memory access request with a high urgency level. Information processing device.
決められた時間に達するまでの残り時間と決められたデータ量に達するまでの残りデータ量とを用いて演算する演算手段と、
マスタ毎の演算結果の比較結果によってバス使用権の割り当てを行う割当手段とを有することを特徴とする情報処理装置。
A computing means for computing using the remaining time until reaching the determined time and the remaining data amount until reaching the determined data amount;
An information processing apparatus comprising: assignment means for assigning a bus use right according to a comparison result of calculation results for each master.
決められた時間に達するまでの残り時間と決められたデータ量に達するまでの残りデータ量とを用いて演算する演算し、各演算結果の比較結果を受信する比較結果受信手段と、
メモリアクセス要求を受信するメモリアクセス要求受信手段と、
前記演算結果を含む情報に基づいて前記メモリアクセス要求の処理緊急度を判定する処理緊急度判定手段と、
前記処理緊急度判定手段により緊急度が高いと判定された場合に、前記メモリアクセス要求を優先して処理させるアルゴリズム変更手段とを有することを特徴とする情報処理装置。
Comparison result receiving means for calculating using the remaining time until reaching the determined time and the remaining data amount until reaching the determined data amount, and receiving a comparison result of each calculation result;
Memory access request receiving means for receiving a memory access request;
A process urgency determining means for determining a process urgency of the memory access request based on information including the calculation result;
An information processing apparatus comprising: an algorithm changing unit that preferentially processes the memory access request when the processing urgency level determination unit determines that the urgency level is high.
決められた時間に達するまでの残り時間と決められたデータ量に達するまでの残りデータ量とを用いて演算する演算し、各演算結果の比較結果を受信する比較結果受信工程と、
メモリアクセス要求を受信するメモリアクセス要求受信工程と、
前記演算結果を含む情報に基づいて前記メモリアクセス要求の処理緊急度を判定する処理緊急度判定工程と、
前記処理緊急度判定工程において緊急度が高いと判定された場合に、前記メモリアクセス要求を優先して処理させることを特徴とする情報処理方法。
A comparison result receiving step for calculating using the remaining time until reaching the determined time and the remaining data amount until reaching the determined data amount, and receiving a comparison result of each calculation result;
A memory access request receiving step for receiving a memory access request;
A process urgency determining step of determining a process urgency of the memory access request based on information including the calculation result;
An information processing method comprising: preferentially processing the memory access request when it is determined that the urgency level is high in the processing urgency level determination step.
前記請求項4に記載の方法の各工程をコンピュータにて実施させることを特徴とするプログラム。   A program for causing each step of the method according to claim 4 to be executed by a computer.
JP2006108506A 2006-04-11 2006-04-11 Information processor and information processing method Pending JP2007280253A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006108506A JP2007280253A (en) 2006-04-11 2006-04-11 Information processor and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006108506A JP2007280253A (en) 2006-04-11 2006-04-11 Information processor and information processing method

Publications (1)

Publication Number Publication Date
JP2007280253A true JP2007280253A (en) 2007-10-25

Family

ID=38681612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006108506A Pending JP2007280253A (en) 2006-04-11 2006-04-11 Information processor and information processing method

Country Status (1)

Country Link
JP (1) JP2007280253A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287528A (en) * 2007-05-18 2008-11-27 Renesas Technology Corp Request arbitration device and memory controller
JP2012199788A (en) * 2011-03-22 2012-10-18 Renesas Electronics Corp Information processing system and arbitration method
JP5857273B2 (en) * 2011-05-17 2016-02-10 パナソニックIpマネジメント株式会社 Stream processing device
WO2019043823A1 (en) * 2017-08-30 2019-03-07 オリンパス株式会社 Memory access device, image processing device and imaging device
JP2021060726A (en) * 2019-10-04 2021-04-15 キヤノン株式会社 Data processing system and control method for data processing system
JPWO2021111583A1 (en) * 2019-12-05 2021-06-10

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287528A (en) * 2007-05-18 2008-11-27 Renesas Technology Corp Request arbitration device and memory controller
JP2012199788A (en) * 2011-03-22 2012-10-18 Renesas Electronics Corp Information processing system and arbitration method
JP5857273B2 (en) * 2011-05-17 2016-02-10 パナソニックIpマネジメント株式会社 Stream processing device
WO2019043823A1 (en) * 2017-08-30 2019-03-07 オリンパス株式会社 Memory access device, image processing device and imaging device
CN111033476A (en) * 2017-08-30 2020-04-17 奥林巴斯株式会社 Memory access device, image processing device, and image pickup device
US11314664B2 (en) 2017-08-30 2022-04-26 Olympus Corporation Memory access device, image processing device and imaging device
CN111033476B (en) * 2017-08-30 2023-08-01 奥林巴斯株式会社 Memory access device, image processing device, and image pickup device
JP2021060726A (en) * 2019-10-04 2021-04-15 キヤノン株式会社 Data processing system and control method for data processing system
JP7419010B2 (en) 2019-10-04 2024-01-22 キヤノン株式会社 Data processing systems and methods of controlling data processing systems
JPWO2021111583A1 (en) * 2019-12-05 2021-06-10
JP7381603B2 (en) 2019-12-05 2023-11-15 オリンパス株式会社 Data transfer device and data transfer method
US11842071B2 (en) 2019-12-05 2023-12-12 Olympus Corporation Data transfer device and data transfer method

Similar Documents

Publication Publication Date Title
CN110226157B (en) Dynamic memory remapping for reducing line buffer conflicts
US8397236B2 (en) Credit based performance managment of computer systems
JP4034969B2 (en) Memory management system for common memory
JP4694595B2 (en) Sleep queue management
JP5498505B2 (en) Resolving contention between data bursts
JP2005258867A (en) Resource managing apparatus
US6473780B1 (en) Scheduling of direct memory access
KR20120014914A (en) Hierarchical memory arbitration technique for disparate sources
JP2007280253A (en) Information processor and information processing method
JP5347451B2 (en) Multiprocessor system, conflict avoidance program, and conflict avoidance method
US20050010707A1 (en) Data processing apparatus and method for handling interrupts
EP1323045A2 (en) Dynamic priority external transaction system
US20040019749A1 (en) Apparatus, method, and computer program for resource request arbitration
US7606957B2 (en) Bus system including a bus arbiter for arbitrating access requests
CN109491785B (en) Memory access scheduling method, device and equipment
JP2005092780A (en) Real time processor system and control method
CN112767978B (en) DDR command scheduling method, device, equipment and medium
JP2007241577A (en) Input/output request control method, computer system and computer program
JP4953794B2 (en) Bus arbitration method for bus system and bus system
JP7263746B2 (en) Information processing equipment
TWI639955B (en) Multi-processor system and processor managing method thereof
Lee et al. Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks
JP2010039632A (en) Bus arbitration system
JP2010113414A (en) Multicore system, thread scheduling method, program, and storage medium
JP2009015569A (en) Method of controlling access to device, and processor