JP2007058424A - Memory access controller - Google Patents

Memory access controller Download PDF

Info

Publication number
JP2007058424A
JP2007058424A JP2005241280A JP2005241280A JP2007058424A JP 2007058424 A JP2007058424 A JP 2007058424A JP 2005241280 A JP2005241280 A JP 2005241280A JP 2005241280 A JP2005241280 A JP 2005241280A JP 2007058424 A JP2007058424 A JP 2007058424A
Authority
JP
Japan
Prior art keywords
access
master
order
control unit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005241280A
Other languages
Japanese (ja)
Inventor
Tomokuni Yamaguchi
友邦 山口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005241280A priority Critical patent/JP2007058424A/en
Publication of JP2007058424A publication Critical patent/JP2007058424A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To flexibly ensure latency even when access requests from a plurality of access masters continuously compete with each other by a memory access controller. <P>SOLUTION: A command fetch sequence control part 101 determines the sequence of an access master 200 which permits access based on the combination of signals showing whether or not a command is stored in a command queue 107a. Furthermore, the interval and continuity of command fetch are arbitrarily adjusted by the setting of a value according to this system by a fetch interval set value holding part 105 and a continuous fetch upper limit frequency holding part 106. Also, the command fetch sequence control part 101 to be used is selected from among the plurality of command fetch sequence control parts 101 based on the set value of a sequence control part selection value holding part 104. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ひとつのメモリに対して複数のアクセスマスタが競合してアクセスする場合のシステムの性能を保証するために、上記アクセスマスタからのアクセス要求を調停するメモリアクセス制御装置に関するものである。   The present invention relates to a memory access control device that arbitrates access requests from an access master in order to guarantee the performance of a system when a plurality of access masters access to one memory in competition.

近年、システムLSIにおけるメモリのユニファイド化等に伴い、数多くのアクセスマスタがひとつのメモリにアクセスするシステムが多くなっている。このようなシステムでは、アクセスマスタからメモリへのアクセス要求に対するアクセス制御が、システムの性能に大きな影響を与える。そこで、各アクセスマスタからのアクセス要求に対する遅延時間、すなわちレイテンシ(実行処理時間)を保証するために、複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御装置が設けられる。すなわち、複数のアクセスマスタからのアクセス要求が競合した場合に、ラウンドロビン方式で順次アクセスを許可したり、各アクセスマスタの優先順位に基づいてアクセスを許可したりするようになっている(例えば、特許文献1、2参照。)。
特開平11−316738号公報 特開平10ー247138号公報
In recent years, with the integration of memories in system LSIs, there are an increasing number of systems in which many access masters access one memory. In such a system, access control with respect to an access request from the access master to the memory greatly affects the performance of the system. Therefore, a memory access control device that arbitrates access requests from a plurality of access masters is provided in order to guarantee a delay time with respect to an access request from each access master, that is, latency (execution processing time). In other words, when access requests from a plurality of access masters compete, sequential access is permitted in a round-robin manner, or access is permitted based on the priority order of each access master (for example, (See Patent Documents 1 and 2.)
Japanese Patent Laid-Open No. 11-316738 JP-A-10-247138

しかしながら、上記従来のメモリアクセス制御装置では、柔軟、かつ確実にレイテンシを保証することは困難であるという問題点を有していた。すなわち、ラウンドロビン方式が用いられる場合には、各アクセスマスタに対して公平な仲裁は可能となるが、アクセスマスタによってそれぞれ異なるレイテンシを保証することはできない。また、固定された優先度でアクセスが許可される場合には、優先順位の高いアクセス要求と優先順位が低いアクセス要求とが連続して発生するような場合に、優先度の低いアクセス要求に対するレイテンシを保証することが困難になる。   However, the conventional memory access control device has a problem that it is difficult to guarantee the latency in a flexible and reliable manner. That is, when the round robin method is used, fair arbitration is possible for each access master, but different latencies cannot be guaranteed for each access master. In addition, when access is permitted with a fixed priority, in the case where an access request with a high priority and an access request with a low priority are consecutively generated, the latency for an access request with a low priority is set. It becomes difficult to guarantee.

本発明は、上記の点に鑑み、メモリアクセス制御装置による柔軟なアクセス要求の調停によって、複数のアクセスマスタからのアクセス要求が連続して競合する場合にもレイテンシを保証でき、しかもメモリアクセス制御装置の構成の簡素化も容易にできるようにすることを目的とする。   In view of the above points, the present invention can guarantee latency even when access requests from a plurality of access masters continuously compete with each other by flexible arbitration of access requests by the memory access control device. It is an object to facilitate the simplification of the configuration.

上記の課題を解決するため、請求項1の発明は、
1つのメモリに対する複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御装置であって、
所定のタイミング毎に、前記各アクセスマスタからの未処理のアクセス要求の有無に基づいて、2回以上のアクセス許可について、アクセスが許可されるアクセス許可対象アクセスマスタの順序を決定するアクセス許可順序決定部と、前記順序に従って順次示されるアクセス許可対象アクセスマスタにアクセスを許可するアクセス許可制御部と、
を備えていることを特徴とする。
In order to solve the above problems, the invention of claim 1
A memory access control device that arbitrates access requests from a plurality of access masters for one memory,
Access permission order determination that determines the order of access-permitted access masters to which access is permitted for two or more access permissions based on the presence or absence of an unprocessed access request from each access master at a predetermined timing An access permission control unit that permits access to an access permission target access master that is sequentially shown according to the order,
It is characterized by having.

また、請求項2の発明は、
請求項1のメモリアクセス制御装置であって、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタからのアクセス要求が無い場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とする。
The invention of claim 2
The memory access control device according to claim 1,
When there is no access request from the access permission target access master indicated according to the order, the access permission control unit is configured to permit access to the access permission target access master indicated next in the order. It is characterized by.

また、請求項3の発明は、
請求項1のメモリアクセス制御装置であって、
さらに、各アクセスマスタがアクセスしてから次にアクセスするまでに最低限必要な経過時間を示す値を保持するアクセス間隔設定値保持部を備え、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタの直前のアクセスから前記アクセス間隔設定値保持部に保持される値によって示される経過時間を経過していない場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とする。
The invention of claim 3
The memory access control device according to claim 1,
Furthermore, an access interval setting value holding unit for holding a value indicating a minimum required elapsed time from each access master to the next access is provided,
When the access permission control unit has not passed the elapsed time indicated by the value held in the access interval setting value holding unit from the previous access of the access permission target access master indicated according to the order, in the order It is configured to permit access to the access permission target access master shown below.

また、請求項4の発明は、
請求項1のメモリアクセス制御装置であって、
さらに、各アクセスマスタによる連続アクセスの上限回数を示す値を保持する連続アクセス上限回数保持部を備え、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタが前記連続アクセス上限回数保持部に保持される値によって示される上限回数の連続アクセスをしている場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とする。
The invention of claim 4
The memory access control device according to claim 1,
Furthermore, a continuous access upper limit number holding unit that holds a value indicating the upper limit number of continuous accesses by each access master,
In the case where the access permission control unit has made an access permission target access master indicated according to the order continuously access the upper limit number of times indicated by the value held in the continuous access upper limit number holding part, The access permission target access master shown is configured to permit access.

これらにより、各アクセスマスタからの未処理のアクセス要求の有無に基づいて2回以上のアクセス許可について、アクセス許可対象アクセスマスタの順序が容易に決定される。さらに前記順序に加え、前記順序に示されるアクセス許可対象アクセスマスタからのアクセス要求の有無、アクセス間隔設定値保持部の保持する値、または連続アクセス上限回数保持部の保持される値に基づいて実際にアクセス許可されるかどうかが制御されることによって、レイテンシが容易に保証される。   As a result, the order of access permission target access masters is easily determined for two or more access permissions based on the presence or absence of an unprocessed access request from each access master. Further, in addition to the above-mentioned order, it is actually based on the presence / absence of an access request from the access-permitted access master indicated in the order, the value held by the access interval setting value holding unit, or the value held by the continuous access upper limit number holding unit By controlling whether or not access is permitted, latency is easily guaranteed.

また、請求項5の発明は、
請求項1のメモリアクセス制御装置であって、
前記アクセス許可順序決定部およびアクセス許可制御部の組からなるアクセス許可部を複数備えるとともに、
さらに、何れかのアクセス許可部を示す順序制御部選択情報を保持する順序制御部選択情報保持部を備え、
前記順序制御部選択情報により示されるアクセス許可部が選択的に用いられるように構成されたことを特徴とする。
The invention of claim 5
The memory access control device according to claim 1,
A plurality of access permission units comprising a set of the access permission order determination unit and the access permission control unit,
Furthermore, an order control unit selection information holding unit for holding order control unit selection information indicating any access permission unit is provided,
The access permission unit indicated by the order control unit selection information is selectively used.

これにより、異なった調停性能を要求する種々のシステム(複数のアクセスマスタが1つのメモリにアクセスするシステム)に対して1種類のアクセス制御装置を設計変更することなく使用できる。   Accordingly, one type of access control device can be used without changing the design for various systems (systems in which a plurality of access masters access one memory) that require different arbitration performance.

また、請求項6の発明は、
請求項5のメモリアクセス制御装置であって、
前記順序制御部選択情報に応じて選択されないアクセス許可部を動作させるために入力されるクロック信号が停止されるように構成されていることを特徴とする。
The invention of claim 6
The memory access control device according to claim 5, comprising:
A clock signal input to operate an access permission unit that is not selected according to the sequence control unit selection information is stopped.

これにより、使用されないアクセス許可順序制御部の動作を停止させ、消費電力が低減される。   Thereby, the operation of the access permission order control unit that is not used is stopped, and the power consumption is reduced.

メモリアクセス制御装置による柔軟なアクセス要求の調停によって、複数のアクセスマスタからのアクセス要求が連続して競合する場合にもレイテンシを保証でき、しかもメモリアクセス制御装置の構成の簡素化も容易にできるようになる。   Flexible arbitration of access requests by the memory access control device can guarantee latency even when access requests from multiple access masters continuously compete with each other, and can easily simplify the configuration of the memory access control device. become.

以下、本発明の実施形態について、図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

−構成−
メモリアクセス制御装置100は、図1に示すように、複数のアクセスマスタ200とメモリ300との間に設けられている。このメモリアクセス制御装置100は、複数のコマンドフェッチ順序制御部101(アクセス許可部)、マスタ側順序制御回路選択制御部102、メモリ側順序制御回路選択制御部103、順序制御部選択値保持部104、フェッチ間隔設定値保持部105(アクセス間隔設定値保持部)、連続フェッチ上限回数保持部106(連続アクセス上限回数保持部)、各アクセスマスタに対応して設けられるマスタ側インタフェース制御部107、プロトコル制御部108、マスタID管理部109、データFIFO部110、およびセレクタ部111を備えている。また、コマンドインタフェース112とデータインタフェース113によって、メモリ300に対する信号の入出力を行い、コマンドインタフェース114とデータインタフェース115によって、各アクセスマスタ200に対する信号の入出力を行うようになっている。
−Configuration−
As shown in FIG. 1, the memory access control device 100 is provided between a plurality of access masters 200 and a memory 300. The memory access control apparatus 100 includes a plurality of command fetch order control units 101 (access permission units), a master side sequence control circuit selection control unit 102, a memory side sequence control circuit selection control unit 103, and a sequence control unit selection value holding unit 104. , Fetch interval setting value holding unit 105 (access interval setting value holding unit), continuous fetch upper limit number holding unit 106 (continuous access upper limit number holding unit), master side interface control unit 107 provided corresponding to each access master, protocol A control unit 108, a master ID management unit 109, a data FIFO unit 110, and a selector unit 111 are provided. The command interface 112 and the data interface 113 input / output signals to / from the memory 300, and the command interface 114 and data interface 115 input / output signals to / from each access master 200.

コマンドフェッチ順序制御部101は、図2に示すように、順序決定部101a(アクセス許可順序決定部)と許可制御部101b(アクセス許可制御部)とを備えている。順序決定部101aは、すべてのマスタ側インタフェース制御部107から入力されるアクセス要求の有無を示す信号をデコードし、例えば図3に示すようなアクセスマスタの順序を決定するようになっている。図3は、例として、アクセスマスタA〜Cについて、アクセス要求の有無の組合せと順序との対応を示す説明図である。順序の決定は、図3の例に示すように、アクセス要求の有無の組合せに基づいて複数種類の順序から1つを選択することによって行われる。許可制御部101bは、決定された順序に示されるアクセスマスタ200に対して、コマンドフェッチを行うか否かを判定するようになっている。より詳しくは、コマンドフェッチの対象となるアクセスマスタ200からのアクセス要求の有無、直前のコマンドフェッチからフェッチ間隔設定値保持部105の値が示す時間が経過しているか否か、連続フェッチ回数が連続フェッチ上限回数保持部106の値が示す回数に達しているか否かにより、コマンドフェッチを行うか否かを判定するようになっている。直前のコマンドフェッチからフェッチ間隔設定値保持部105の値が示す時間が経過しているか否か、連続フェッチ回数が連続フェッチ上限回数保持部106の値が示す回数に達しているか否かの判断は、例えば、カウンタ回路によって時間の経過や、連続フェッチ回数を計ることによって行われる。そして、許可制御部101bは、前記判定によりコマンドフェッチを行ったり行わなかったりするようになっている。ここで、コマンドフェッチとは、例えば、命令の内容(例えば「メモリへの書き込み」または「メモリからの読み出し」)、メモリのアドレス(例えば、メモリのどこにデータを書き込むか)、その命令を出力するアクセスマスタ200を示すマスタID、および読み書きするデータのサイズ等を示すコマンドを読み出すことを意味する。   As shown in FIG. 2, the command fetch order control unit 101 includes an order determination unit 101a (access permission order determination unit) and a permission control unit 101b (access permission control unit). The order determining unit 101a decodes a signal indicating the presence or absence of an access request input from all the master side interface control units 107, and determines the order of access masters as shown in FIG. 3, for example. FIG. 3 is an explanatory diagram showing the correspondence between the combinations of the presence / absence of access requests and the order of the access masters A to C as an example. As shown in the example of FIG. 3, the order is determined by selecting one from a plurality of kinds of orders based on a combination of presence / absence of an access request. The permission control unit 101b determines whether to perform command fetch with respect to the access master 200 shown in the determined order. More specifically, whether or not there is an access request from the access master 200 to be command fetched, whether or not the time indicated by the value of the fetch interval setting value holding unit 105 has elapsed since the previous command fetch, and the continuous fetch count is continuous Whether or not to perform command fetching is determined depending on whether or not the number indicated by the value of the fetch upper limit number holding unit 106 has been reached. It is determined whether or not the time indicated by the value of the fetch interval setting value holding unit 105 has elapsed since the previous command fetch and whether or not the number of consecutive fetches has reached the number indicated by the value of the continuous fetch upper limit number holding unit 106. For example, it is performed by measuring the passage of time or the number of continuous fetches by a counter circuit. The permission control unit 101b is configured to perform command fetch or not based on the determination. Here, command fetch is, for example, outputting the contents of an instruction (for example, “write to memory” or “read from memory”), a memory address (for example, where data is written in the memory), and the instruction. This means that a command indicating the master ID indicating the access master 200 and the size of data to be read and written is read.

マスタ側順序制御回路選択制御部102は、マスタ側インタフェース制御部107と指定されたコマンドフェッチ順序制御部101との間の信号転送を可能とするようになっている。前記コマンドフェッチ順序制御部101は、順序制御部選択値保持部104が保持する値によりいずれか1つが指定される。マスタ側順序制御回路選択制御部102は、具体的には例えば、順序制御部選択値保持部104が保持する値をセレクト信号とするセレクタ回路により構成される。   The master side sequence control circuit selection control unit 102 enables signal transfer between the master side interface control unit 107 and the designated command fetch order control unit 101. One of the command fetch order control units 101 is designated by the value held by the order control unit selection value holding unit 104. Specifically, the master-side sequence control circuit selection control unit 102 includes, for example, a selector circuit that uses a value held by the sequence control unit selection value holding unit 104 as a select signal.

メモリ側順序制御回路選択制御部103は、プロトコル制御部108と指定されたコマンドフェッチ順序制御部101と間の信号転送を可能とするようになっている。マスタ側順序制御回路選択制御部102と同様に、前記いずれかのコマンドフェッチ順序制御部101は、順序制御部選択値保持部104が保持する値によりいずれか1つが指定される。メモリ側順序制御回路選択制御部103は、具体的には例えば、セレクタ回路により構成される。   The memory-side order control circuit selection control unit 103 is configured to enable signal transfer between the protocol control unit 108 and the designated command fetch order control unit 101. As with the master-side sequence control circuit selection control unit 102, one of the command fetch sequence control units 101 is designated by the value held by the sequence control unit selection value holding unit 104. Specifically, the memory-side sequence control circuit selection control unit 103 is configured by, for example, a selector circuit.

順序制御部選択値保持部104は、コマンドフェッチの対象となるアクセスマスタを決定するのにいずれのコマンドフェッチ順序制御部101を用いるかを指定する値を保持するようになっている。順序制御部選択値保持部104は、レジスタ等により構成され、保持する値は、例えば外部のプロセッサがソフトウェアを実行することによって設定されるようにしてもよい。   The order control unit selection value holding unit 104 holds a value that specifies which command fetch order control unit 101 is used to determine an access master to be command fetched. The order control unit selection value holding unit 104 may be configured by a register or the like, and the value to be held may be set by, for example, an external processor executing software.

フェッチ間隔設定値保持部105は、各アクセスマスタがフェッチされてから次にフェッチされるまでに最低限必要な経過時間を示す値を、アクセスマスタ毎に保持するようになっている。フェッチ間隔設定値保持部105は、レジスタ等により構成され、保持する値は、例えば外部のプロセッサがソフトウェアを実行することによって設定されるようにしてもよい。   The fetch interval setting value holding unit 105 holds, for each access master, a value indicating a minimum elapsed time from when each access master is fetched until the next fetch. The fetch interval setting value holding unit 105 is configured by a register or the like, and the value to be held may be set, for example, by executing software by an external processor.

連続フェッチ上限回数保持部106は、連続フェッチ回数の上限を示す値を、アクセスマスタ毎に保持するようになっている。連続フェッチ上限回数保持部106は、レジスタ等により構成され、保持する値は、例えば外部のプロセッサがソフトウェアを実行することによって設定されるようにしてもよい。   The continuous fetch upper limit number holding unit 106 holds a value indicating the upper limit of the continuous fetch number for each access master. The continuous fetch upper limit number holding unit 106 is configured by a register or the like, and the value to be held may be set by, for example, an external processor executing software.

マスタ側インタフェース制御部107は、コマンドインタフェース114とデータインタフェース115によって、各アクセスマスタによるメモリへのアクセス要求の受付とデータ転送を制御するようになっている。また、コマンドキュー107aとデータFIFO107bを内部に備えている。コマンドキュー107aは、各アクセスマスタ200からアクセス要求があると、そのコマンドを保持するようになっている。なお、コマンドキュー107aにコマンドが格納されているかいないかを示す信号が、マスタ側順序制御回路選択制御部102に出力されるようになっている。データFIFO107bとして、メモリに書き込むデータを保持するFIFOとメモリから読み出されたデータを保持するFIFOが備えられる。   The master-side interface control unit 107 controls the access request reception and data transfer to the memory by each access master by the command interface 114 and the data interface 115. A command queue 107a and a data FIFO 107b are provided inside. When there is an access request from each access master 200, the command queue 107a holds the command. Note that a signal indicating whether or not a command is stored in the command queue 107 a is output to the master-side sequence control circuit selection control unit 102. As the data FIFO 107b, a FIFO for holding data to be written to the memory and a FIFO for holding data read from the memory are provided.

プロトコル制御部108は、コマンドフェッチ順序制御部101がコマンドフェッチにより読み出したコマンドを読み込み、メモリへのアクセスに係るプロトコルを制御するようになっている。   The protocol control unit 108 reads a command read by the command fetch order control unit 101 by command fetch, and controls a protocol related to access to the memory.

マスタID管理部109は、いずれのマスタからのコマンドを処理しているかを示す情報、すなわちマスタIDをプロトコル制御部108から受け取り、データFIFO部110、およびセレクタ部111に命令の内容やマスタIDを示すデータを出力するようになっている。   The master ID management unit 109 receives information indicating which master command is being processed, that is, the master ID from the protocol control unit 108, and sends the contents of the command and the master ID to the data FIFO unit 110 and the selector unit 111. The data shown is output.

データFIFO部110は、データインタフェース113によってメモリ300から読み出したデータやメモリ300に書き込むデータを一時的に保持するようになっている。   The data FIFO unit 110 temporarily holds data read from the memory 300 by the data interface 113 and data to be written to the memory 300.

セレクタ部111は、複数のマスタ側インタフェース制御部107のデータFIFO107bとの間で転送されるデータを選択するようになっている。その選択は、マスタID管理部109から入力されるマスタIDを示すデータに基づいて行われる。   The selector unit 111 selects data transferred to and from the data FIFO 107b of the plurality of master side interface control units 107. The selection is performed based on data indicating the master ID input from the master ID management unit 109.

−動作−
上記のように構成されたメモリアクセス制御装置100の動作について、コマンドフェッチ順序制御部101においてコマンドフェッチの対象として決定されたアクセスマスタ200がメモリ300にアクセスする場合の例を説明する。
-Operation-
With respect to the operation of the memory access control device 100 configured as described above, an example in which the access master 200 determined as the command fetch target in the command fetch order control unit 101 accesses the memory 300 will be described.

まず、そのアクセスマスタ200に対応するマスタ側インタフェース制御部107のコマンドキュー107aに、アクセスマスタ200からコマンドが格納(キューイング)される。なお、コマンドキュー107aは、フルの状態の場合、フルの状態であることを示すWAIT信号がマスタ側インタフェース制御部107からアクセスマスタ200に出力されることによって、アクセスマスタ200からのコマンド転送が行われないよう制御される。   First, a command is stored (queued) from the access master 200 in the command queue 107 a of the master-side interface control unit 107 corresponding to the access master 200. When the command queue 107a is full, a WAIT signal indicating that the command queue 107a is full is output from the master-side interface control unit 107 to the access master 200, whereby command transfer from the access master 200 is performed. It is controlled not to be broken.

そして、コマンドキュー107aに格納されたコマンドは、コマンドフェッチ順序制御部101によってコマンドフェッチされる。なお、コマンドフェッチ順序制御部101のアクセス制御の動作については後述する。   Then, the command stored in the command queue 107 a is fetched by the command fetch order control unit 101. The access control operation of the command fetch order control unit 101 will be described later.

コマンドフェッチ順序制御部101によってコマンドフェッチされたコマンドは、メモリ側順序制御回路選択制御部103を介してプロトコル制御部108に入力される。プロトコル制御部108は、このコマンドの内容に基づいて、コマンドインタフェース112によってメモリ300へのアクセス制御を行う。また、マスタIDを示すデータがプロトコル制御部108からマスタID管理部109に入力され、さらにマスタID管理部109からセレクタ部111に入力される。   The command fetched by the command fetch order control unit 101 is input to the protocol control unit 108 via the memory side order control circuit selection control unit 103. The protocol control unit 108 controls access to the memory 300 by the command interface 112 based on the contents of this command. Data indicating the master ID is input from the protocol control unit 108 to the master ID management unit 109, and further input from the master ID management unit 109 to the selector unit 111.

コマンドフェッチ対象として決定されたアクセスマスタ200とメモリ300との間でデータ転送が行われる。より詳しくは、データインタフェース113によりメモリ300とデータFIFO部110とのデータ転送が行われる。また、マスタID管理部109とセレクタ部111により、マスタ側インタフェース制御部107のデータFIFO107bとデータFIFO部110とのデータ転送制御が行われる。さらに、データインタフェース115によりマスタ側インタフェース制御部107のデータFIFO107bとアクセスマスタ200とのデータ転送が行われる。   Data transfer is performed between the access master 200 determined as the command fetch target and the memory 300. More specifically, data transfer between the memory 300 and the data FIFO unit 110 is performed by the data interface 113. The master ID management unit 109 and the selector unit 111 perform data transfer control between the data FIFO 107b and the data FIFO unit 110 of the master side interface control unit 107. Furthermore, data transfer between the data FIFO 107 b of the master side interface control unit 107 and the access master 200 is performed by the data interface 115.

次に、メモリアクセス制御装置100の動作について、メモリアクセス制御装置100においてコマンドフェッチ順序制御部101がコマンドフェッチの対象となるアクセスマスタ200を決定し、コマンドフェッチを行う動作について説明する。   Next, with regard to the operation of the memory access control device 100, an operation in which the command fetch order control unit 101 determines an access master 200 to be command fetched and performs command fetch in the memory access control device 100 will be described.

まず、コマンドがコマンドキュー107aに格納されている場合、コマンドキュー107aにコマンドが格納されていることを示すNE信号(Notempty信号)がマスタ側インタフェース制御部107から出力される。また、コマンドキュー107aにコマンドが格納されていない場合はそのことを示すE信号(Empty信号)が出力される。   First, when a command is stored in the command queue 107 a, an NE signal (Notempty signal) indicating that the command is stored in the command queue 107 a is output from the master-side interface control unit 107. If no command is stored in the command queue 107a, an E signal (Empty signal) indicating that is output.

上記NE信号およびN信号は、マスタ側順序制御回路選択制御部102を介して、順序制御部選択値保持部104が保持する値により特定されるいずれかのコマンドフェッチ順序制御部101に入力される。   The NE signal and the N signal are input to one of the command fetch order control units 101 specified by the value held by the order control unit selection value holding unit 104 via the master side sequence control circuit selection control unit 102. .

順序決定部101aは、すべてのマスタ側順序制御回路選択制御部102から入力されるNE信号およびE信号の組合せに基づいて、アクセスマスタ200の許可順序を決定する。より詳しくは、NE信号およびE信号の組合せに基づいて、複数種類の順序から1つのアクセスマスタ200の順序を選択する。例えば、図3の例を用いて説明すると、アクセスマスタA、B、Cに対応するマスタ側順序制御回路選択制御部102の出力する信号の組合せが、NE信号、E信号、E信号であった場合、アクセスマスタの順序として順序2(A→C→C→C→B)が選択される。   The order determination unit 101a determines the permission order of the access master 200 based on the combination of the NE signal and the E signal input from all the master side sequence control circuit selection control units 102. More specifically, the order of one access master 200 is selected from a plurality of kinds of orders based on the combination of the NE signal and the E signal. For example, referring to the example of FIG. 3, the combination of signals output from the master-side sequence control circuit selection control unit 102 corresponding to the access masters A, B, and C is an NE signal, an E signal, and an E signal. In this case, the order 2 (A → C → C → C → B) is selected as the order of the access masters.

次に、許可制御部101bがその選択された順序に従って、コマンドフェッチを行う。ただし、コマンドフェッチを行う前に、コマンドフェッチするか否かの判定を行う。指定されたアクセスマスタ200に対応するマスタ側インタフェース制御部107がNE信号を出力しており(E信号を出力しておらず)、直前のコマンドフェッチからフェッチ間隔設定値保持部105の値が示す時間が経過しており、かつ連続フェッチ回数が連続フェッチ上限回数保持部106の値が示す回数に達していない場合は、コマンドフェッチを行うと判定し、コマンドフェッチを行う。それ以外の場合は、コマンドフェッチを行わないと判定し、コマンドフェッチを行わない。   Next, the permission control unit 101b performs command fetch according to the selected order. However, it is determined whether or not command fetch is performed before command fetch. The master-side interface control unit 107 corresponding to the designated access master 200 is outputting the NE signal (not outputting the E signal), and the value of the fetch interval setting value holding unit 105 from the previous command fetch indicates If the time has passed and the number of continuous fetches has not reached the number indicated by the value of the continuous fetch upper limit number holding unit 106, it is determined that the command fetch is performed, and the command fetch is performed. In other cases, it is determined that the command fetch is not performed, and the command fetch is not performed.

図3において順序2(A→C→C→C→B)が選択された場合を例として説明すると、まず、最初に指定されたアクセスマスタAに対してコマンドフェッチ順序制御部101によりコマンドフェッチを行うか否かの判定が行われる。この場合、アクセスマスタAに対応するマスタ側インタフェース制御部107がNE信号を出力し、アクセスマスタAに対する直前のコマンドフェッチからフェッチ間隔設定値保持部105の値が示す時間が経過しており、かつアクセスマスタAに対する連続フェッチの回数が連続フェッチ上限回数保持部106の値が示す回数に達していない場合は、コマンドフェッチを行うと判定され、コマンドフェッチが行われる。それ以外の場合は、コマンドフェッチを行わないと判定され、アクセスマスタAに対するコマンドフェッチは行われない。次に、順序2において次に指定されているアクセスマスタCに対する判定が行われる。アクセスマスタCに対応するマスタ側インタフェース制御部107がNE信号を出力し、アクセスマスタCに対する直前のコマンドフェッチからフェッチ間隔設定値保持部105の値が示す時間が経過しており、かつアクセスマスタCに対する連続フェッチの回数が連続フェッチ上限回数保持部106の値が示す回数に達していない場合は、コマンドフェッチを行うと判定され、コマンドフェッチが行われる。それ以外の場合は、コマンドフェッチを行わないと判定され、アクセスマスタCに対するコマンドフェッチは行われない。このような動作が引き続きクセスマスタC、アクセスマスタC、アクセスマスタBについて繰り返される。順序2において最後に指定されたアクセスマスタBについて、コマンドフェッチを行うと判定され、コマンドフェッチが終了した場合、またはコマンドフェッチを行わないと判定された場合は、再度アクセスマスタの順序の選択が行われる。   In FIG. 3, a case where the order 2 (A → C → C → C → B) is selected will be described as an example. First, the command fetch order control unit 101 performs a command fetch on the first designated access master A. A determination is made whether to do so. In this case, the master side interface control unit 107 corresponding to the access master A outputs an NE signal, and the time indicated by the value of the fetch interval setting value holding unit 105 has elapsed since the previous command fetch for the access master A, and When the number of continuous fetches for the access master A has not reached the number indicated by the value of the continuous fetch upper limit number holding unit 106, it is determined that the command fetch is performed, and the command fetch is performed. In other cases, it is determined that the command fetch is not performed, and the command fetch for the access master A is not performed. Next, a determination is made for the next designated access master C in order 2. The master-side interface control unit 107 corresponding to the access master C outputs an NE signal, the time indicated by the value of the fetch interval setting value holding unit 105 has elapsed since the previous command fetch for the access master C, and the access master C When the number of consecutive fetches for the number does not reach the number indicated by the value of the continuous fetch upper limit number holding unit 106, it is determined that the command fetch is performed, and the command fetch is performed. In other cases, it is determined that the command fetch is not performed, and the command fetch for the access master C is not performed. Such an operation is continuously repeated for the access master C, the access master C, and the access master B. For the access master B designated last in the order 2, it is determined that the command fetch is performed, and when the command fetch is completed or it is determined that the command fetch is not performed, the access master order is selected again. Is called.

なお、本実施形態においては図3に示すように、アクセス要求の有無を示す信号の組合せによって異なる回数分のコマンドフェッチについてアクセスマスタの順序が決定されるように構成される例を示したが、どの組合せでも同じ回数分のアクセス許可について順序が決定されるようにしてもよい。例えば、すべての組合せで1回分のコマンドフェッチについてのアクセスマスタが決定されるように構成してもよい。   In the present embodiment, as shown in FIG. 3, an example is shown in which the access master order is determined for command fetches for different number of times depending on the combination of signals indicating the presence or absence of an access request. In any combination, the order may be determined for the same number of access permissions. For example, an access master for one command fetch may be determined for all combinations.

また、本実施形態において順序決定部101aは、アクセス要求の有無を示す信号の組合せだけに基づいてアクセスマスタの順序を決定するように構成されていたが、さらに、フェッチ間隔設定値保持部105や連続フェッチ上限回数保持部106の保持する値がアクセスマスタの順序の決定に反映されるように構成してもよい。また、コマンドキュー107aに格納されているアクセス要求の数を示す信号がマスタ側インタフェース制御部107から出力され、アクセス要求の数が順序決定部101aにおけるアクセスマスタの順序の決定に反映されるように構成してもよい。   In this embodiment, the order determination unit 101a is configured to determine the order of access masters based only on a combination of signals indicating the presence / absence of an access request. The value held by the continuous fetch upper limit number holding unit 106 may be reflected in determining the order of access masters. Further, a signal indicating the number of access requests stored in the command queue 107a is output from the master-side interface control unit 107 so that the number of access requests is reflected in the determination of the order of access masters in the order determination unit 101a. It may be configured.

−効果−
上記のように、メモリアクセス制御装置が、フェッチ間隔設定値保持部105と連続フェッチ上限回数保持部106を備え、これらが保持する値に基づいてコマンドフェッチを行うか否かを制御するように構成されることにより、システムに合わせてコマンドフェッチの間隔と連続性を値の設定によって任意に調整することが可能となる。例えば、頻繁にフェッチされるアクセスマスタにフェッチされない時間を持たせたり、優先順位の高いアクセス要求と優先順位の低いアクセス要求が連続して続いた場合に優先順位の高いアクセス要求を行うアクセスマスタに対するコマンドフェッチが過剰に連続して行われることを防ぐことができる。従って、優先度の低いアクセス要求に対してもレイテンシが保証されやすくなる。
-Effect-
As described above, the memory access control device includes the fetch interval setting value holding unit 105 and the continuous fetch upper limit number holding unit 106, and is configured to control whether to perform command fetching based on the values held by these units. By doing so, it becomes possible to arbitrarily adjust the interval and continuity of command fetches by setting values in accordance with the system. For example, when an access master that is frequently fetched has a time that is not fetched, or when an access request with a high priority and an access request with a low priority continue in succession, an access master that makes an access request with a high priority It is possible to prevent the command fetch from being performed excessively continuously. Therefore, it is easy to guarantee the latency even for an access request with a low priority.

また、E信号がマスタ側インタフェース制御部107から出力されている場合は、コマンドフェッチを行わないで、次の順序のアクセスマスタに対するコマンドフェッチを行うよう構成することにより、効率よくコマンドフェッチを行える。   Further, when the E signal is output from the master-side interface control unit 107, command fetch can be efficiently performed by performing command fetch for the next-order access master without performing command fetch.

さらに、順序制御部選択値保持部104の設定値によって、複数のコマンドフェッチ順序制御部101から使用するコマンドフェッチ順序制御部101を選択できるように構成することにより、異なった性能を要求する複数種類のシステム(複数のアクセスマスタが1つのメモリにアクセスするシステム)において1種類のアクセス制御装置を設計変更することなく使用できる。例えば、デジタルテレビのシステムLSIにおいては、ハイビジョン放送用であるか否かや販売地域によって、システムに求められる性能が異なっているが、各性能に応じたコマンドフェッチ順序制御部101を設け、順序制御部選択値保持部104の設定値を変えることにより、求められる各性能を満足できる。また、選択されなかったコマンドフェッチ順序制御部101へのクロック信号の入力を停止する手段を備えることにより、使用されないコマンドフェッチ順序制御部101の動作を停止させ、消費電力を低減できる。   Furthermore, by configuring so that the command fetch order control unit 101 to be used can be selected from the plurality of command fetch order control units 101 according to the setting value of the order control unit selection value holding unit 104, a plurality of types requiring different performances In this system (a system in which a plurality of access masters access one memory), one type of access control device can be used without changing the design. For example, in a system LSI of a digital television, the performance required for the system differs depending on whether it is for high-definition broadcasting or in the sales area, but a command fetch order control unit 101 corresponding to each performance is provided to control the order. Each required performance can be satisfied by changing the set value of the copy selection value holding unit 104. Further, by providing means for stopping the input of the clock signal to the command fetch order control unit 101 that has not been selected, the operation of the command fetch order control unit 101 that is not used can be stopped, and the power consumption can be reduced.

また、コマンドフェッチ順序制御部のマスタ側順序制御回路選択制御部とのインタフェース及びメモリ側順序制御回路選択制御部とのインタフェース(データのやりとりを仲介する回路や装置)を、複数のコマンドフェッチ順序制御部同士で互いに共通したものにすることにより、コマンドフェッチ順序制御部の入れ替えが容易になる。これにより、異なる性能を要求する種々のシステムに対応した回路への設計変更も容易になる。   In addition, the command fetch sequence control unit has an interface with the master side sequence control circuit selection control unit and an interface with the memory side sequence control circuit selection control unit (a circuit or device that mediates data exchange). By making the units common to each other, the command fetch order control unit can be easily replaced. This facilitates design changes to circuits corresponding to various systems that require different performance.

本発明に係るメモリアクセス制御装置は、メモリアクセス制御装置による柔軟なアクセス要求の調停によって、複数のアクセスマスタからのアクセス要求が連続して競合する場合にもレイテンシを保証でき、しかもメモリアクセス制御装置の構成の簡素化も容易にできるようになるという効果を有し、例えば、ひとつのメモリに対して複数のアクセスマスタが競合してアクセスする場合のアクセス性能を保証するために、上記アクセスマスタからのアクセス要求を調停するメモリアクセス制御装置等として有用である。   The memory access control device according to the present invention can guarantee the latency even when access requests from a plurality of access masters continuously compete by flexible arbitration of access requests by the memory access control device. For example, in order to guarantee access performance when a plurality of access masters compete and access one memory, for example, the above-mentioned access master can be simplified. This is useful as a memory access control device or the like that arbitrates access requests.

実施形態のメモリアクセス制御装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the memory access control apparatus 100 of embodiment. 同、コマンドフェッチ順序制御部101の構成を示すブロック図である。2 is a block diagram showing the configuration of a command fetch order control unit 101. FIG. 同、アクセスマスタA〜Cについて、アクセス要求の有無の組合せと順序との対応の例を示す説明図である。It is explanatory drawing which shows the example of a response | compatibility with the combination of the presence or absence of an access request | requirement, and order about access master AC.

符号の説明Explanation of symbols

100 メモリアクセス制御装置
101 コマンドフェッチ順序制御部
101a 順序決定部
101b 許可制御部
102 マスタ側順序制御回路選択制御部
103 メモリ側順序制御回路選択制御部
104 順序制御部選択値保持部
105 フェッチ間隔設定値保持部
106 連続フェッチ上限回数保持部
107 マスタ側インタフェース制御部
107a コマンドキュー
107b データFIFO
108 プロトコル制御部
109 マスタID管理部
110 データFIFO部
111 セレクタ部
112 コマンドインタフェース
113 データインタフェース
114 コマンドインタフェース
115 データインタフェース
200 アクセスマスタ
300 メモリ
DESCRIPTION OF SYMBOLS 100 Memory access control apparatus 101 Command fetch order control part 101a Order determination part 101b Authorization control part 102 Master side order control circuit selection control part 103 Memory side order control circuit selection control part 104 Order control part selection value holding part 105 Fetch interval setting value Holding unit 106 Continuous fetch upper limit number holding unit 107 Master side interface control unit 107a Command queue 107b Data FIFO
108 protocol control unit 109 master ID management unit 110 data FIFO unit 111 selector unit 112 command interface 113 data interface 114 command interface 115 data interface 200 access master 300 memory

Claims (6)

1つのメモリに対する複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御装置であって、
所定のタイミング毎に、前記各アクセスマスタからの未処理のアクセス要求の有無に基づいて、2回以上のアクセス許可について、アクセスが許可されるアクセス許可対象アクセスマスタの順序を決定するアクセス許可順序決定部と、前記順序に従って順次示されるアクセス許可対象アクセスマスタにアクセスを許可するアクセス許可制御部と、
を備えていることを特徴とするメモリアクセス制御装置。
A memory access control device that arbitrates access requests from a plurality of access masters for one memory,
Access permission order determination that determines the order of access-permitted access masters to which access is permitted for two or more access permissions based on the presence or absence of an unprocessed access request from each access master at a predetermined timing An access permission control unit that permits access to an access permission target access master that is sequentially shown according to the order,
A memory access control device comprising:
請求項1のメモリアクセス制御装置であって、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタからのアクセス要求が無い場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とするメモリアクセス制御装置。
The memory access control device according to claim 1,
When there is no access request from the access permission target access master indicated according to the order, the access permission control unit is configured to permit access to the access permission target access master indicated next in the order. A memory access control device.
請求項1のメモリアクセス制御装置であって、
さらに、各アクセスマスタがアクセスしてから次にアクセスするまでに最低限必要な経過時間を示す値を保持するアクセス間隔設定値保持部を備え、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタの直前のアクセスから前記アクセス間隔設定値保持部に保持される値によって示される経過時間を経過していない場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とするメモリアクセス制御装置。
The memory access control device according to claim 1,
Furthermore, an access interval setting value holding unit for holding a value indicating a minimum required elapsed time from each access master to the next access is provided,
When the access permission control unit has not passed the elapsed time indicated by the value held in the access interval setting value holding unit from the previous access of the access permission target access master indicated according to the order, in the order A memory access control device configured to permit access to an access permission target access master described below.
請求項1のメモリアクセス制御装置であって、
さらに、各アクセスマスタによる連続アクセスの上限回数を示す値を保持する連続アクセス上限回数保持部を備え、
前記アクセス許可制御部が、前記順序に従って示されるアクセス許可対象アクセスマスタが前記連続アクセス上限回数保持部に保持される値によって示される上限回数の連続アクセスをしている場合は、前記順序において次に示されるアクセス許可対象アクセスマスタにアクセスを許可するように構成されていることを特徴とするメモリアクセス制御装置。
The memory access control device according to claim 1,
Furthermore, a continuous access upper limit number holding unit that holds a value indicating the upper limit number of continuous accesses by each access master,
In the case where the access permission control unit has made an access permission target access master indicated according to the order continuously access the upper limit number of times indicated by the value held in the continuous access upper limit number holding part, A memory access control device configured to permit access to an access permission target access master indicated.
請求項1のメモリアクセス制御装置であって、
前記アクセス許可順序決定部およびアクセス許可制御部の組からなるアクセス許可部を複数備えるとともに、
さらに、何れかのアクセス許可部を示す順序制御部選択情報を保持する順序制御部選択情報保持部を備え、
前記順序制御部選択情報により示されるアクセス許可部が選択的に用いられるように構成されたことを特徴とするメモリアクセス制御装置。
The memory access control device according to claim 1,
A plurality of access permission units comprising a set of the access permission order determination unit and the access permission control unit,
Furthermore, an order control unit selection information holding unit for holding order control unit selection information indicating any access permission unit is provided,
A memory access control device, wherein the access permission unit indicated by the order control unit selection information is selectively used.
請求項5のメモリアクセス制御装置であって、
前記順序制御部選択情報に応じて選択されないアクセス許可部を動作させるために入力されるクロック信号が停止されるように構成されていることを特徴とするメモリアクセス制御装置。
The memory access control device according to claim 5, comprising:
A memory access control device configured to stop a clock signal input to operate an access permission unit that is not selected in accordance with the order control unit selection information.
JP2005241280A 2005-08-23 2005-08-23 Memory access controller Withdrawn JP2007058424A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005241280A JP2007058424A (en) 2005-08-23 2005-08-23 Memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005241280A JP2007058424A (en) 2005-08-23 2005-08-23 Memory access controller

Publications (1)

Publication Number Publication Date
JP2007058424A true JP2007058424A (en) 2007-03-08

Family

ID=37921895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005241280A Withdrawn JP2007058424A (en) 2005-08-23 2005-08-23 Memory access controller

Country Status (1)

Country Link
JP (1) JP2007058424A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087050B2 (en) 2012-11-26 2015-07-21 Samsung Electronics Co., Ltd. Memory controller and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087050B2 (en) 2012-11-26 2015-07-21 Samsung Electronics Co., Ltd. Memory controller and operating method thereof

Similar Documents

Publication Publication Date Title
US20060259662A1 (en) Data trnasfer apparatus, data transfer method, and program
US7724984B2 (en) Image processing apparatus
EP1171842A1 (en) Distributed extensible processing architecture for digital signal processing applications
JP2008276638A (en) Semiconductor storage device, memory access control system and method for reading data
JP2006227836A (en) Data transfer system and data transfer method
US7822952B2 (en) Context switching device
US20160275028A1 (en) Semiconductor device
JP2008040650A (en) Bus arbitration device
JP2008040905A (en) Semiconductor device and access method to storage device
JP2005293596A (en) Arbitration of data request
JP4446968B2 (en) Data processing device
JP3505728B2 (en) Storage controller
JP2007058424A (en) Memory access controller
JP2010061220A (en) Data transfer apparatus, data transfer method and processor
JP2009037639A (en) Dmac issue mechanism via streaming identification method
JP2010124439A (en) Bus relay device
JP2004220309A (en) Multiprocessor system
JP2005316621A (en) Bus arbitration device and image processor
JPH1185673A (en) Method and device for controlling shared bus
JP7003752B2 (en) Data transfer device, data transfer method, program
JP2007109199A (en) Buffer device, control method for buffer device, and information processor
JP2005063358A (en) Instruction supply controller and semiconductor device
JP2007305073A (en) Data processor and memory controller chip
JP2000330866A (en) Method and system for controlling memory
JP2005063351A (en) Device and method for transferring data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090310