JP4190969B2 - Bus arbitration system in bus system and AMBA - Google Patents
Bus arbitration system in bus system and AMBA Download PDFInfo
- Publication number
- JP4190969B2 JP4190969B2 JP2003271194A JP2003271194A JP4190969B2 JP 4190969 B2 JP4190969 B2 JP 4190969B2 JP 2003271194 A JP2003271194 A JP 2003271194A JP 2003271194 A JP2003271194 A JP 2003271194A JP 4190969 B2 JP4190969 B2 JP 4190969B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- transfer
- master
- dma
- bus master
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
この発明は、バスシステム、及びAMBAを用いたマイクロコンピュータシステムにおけるバス調停システムに係り、詳しくは、固定プライオリティ方式のバス調停方式において、CPUバーストサイクルよりも優先順位の低いDMA転送の処理手順を改良した、バスシステム、及びAMBAにおけるバス調停システムに関する。 This invention relates to a bus arbitration system in a microcomputer system using a bus system, and AMBA, particularly, in the bus arbitration scheme of the fixed priority method, improve the processing procedure of low DMA transfer priority than CPU burst cycles The present invention relates to a bus system and a bus arbitration system in AMBA.
マイクロコンピュータシステムにおけるバス調停方式としては、従来、図4において(a)に示す固定プライオリティ方式と、(b)に示すラウンドロビン方式とが一般的に知られている。 Conventionally, as a bus arbitration method in a microcomputer system, a fixed priority method shown in FIG. 4A and a round robin method shown in FIG. 4B are generally known.
図4(a)に示す固定プライオリティ方式においては、予め固定的にバス使用優先順位が定められており、複数のバスマスタA,B,C,Dからのバス使用要求が同時に発生した場合には、例えば図示のように、常にA>B>C>Dの順からなる、固定の優先順位に従ってバスの調停が行われる。 In the fixed priority method shown in FIG. 4A, the bus use priority is fixedly fixed in advance, and when bus use requests from a plurality of bus masters A, B, C, and D are generated simultaneously, For example, as shown in the figure, bus arbitration is always performed according to a fixed priority order in the order of A> B> C> D.
また、図4(b)に示すラウンドロビン方式では、例えば現時点でバスを使用していたバスマスタAに対するバスの優先使用許可が終了すると、バスマスタAの優先順位を最下位に下げて、前回、第2位の優先順位を持っていたバスマスタBが、次のバス調停時には、最高位の優先順位を持つというように、優先順位を時系列的に変化させながら、順次、交代させる。従って、この方式では、各バスマスタは、固定した優先順位を持っていない。 Further, in the round robin method shown in FIG. 4B, for example, when the preferential use of the bus to the bus master A currently using the bus is completed, the priority of the bus master A is lowered to the lowest order, The bus master B having the second highest priority is sequentially changed while changing the priority in time series so that it has the highest priority in the next bus arbitration. Therefore, in this method, each bus master does not have a fixed priority.
以下、具体的に従来例に基づいて説明する。まず、従来例1として、特許文献1においては、上述の固定プライオリティ方式とラウンドロビン方式とを組み合わせたようなバス調停方式が開示されている。図4において(c)は、この従来の組み合わせ方式のバス調停方式を、イメージ的に示したものであって、図示のように、各バスマスタの使用頻度を監視して、優先判定変換テーブル100に基づいてバス調停を行うことによって、通常の固定プライオリティ方式の優先順位の与え方を可変にしたことが示されている。特許文献1によれば、このバス調停方式の場合、図4(a)に示す固定プライオリティ方式と、図4(b)に示すラウンドロビン方式のそれぞれの短所を補いあうので、バスの使用効率が向上すると説明されいてる。 Hereinafter, specific description will be given based on a conventional example. First, as Conventional Example 1, Patent Document 1 discloses a bus arbitration method in which the above-described fixed priority method and round robin method are combined. In FIG. 4, (c) conceptually shows the conventional bus arbitration method of the combination method. As shown in the figure, the usage frequency of each bus master is monitored and the priority determination conversion table 100 is displayed. Based on the bus arbitration based on this, it has been shown that the method of assigning priorities in the normal fixed priority method is variable. According to Patent Document 1, in the case of this bus arbitration method, the shortcomings of the fixed priority method shown in FIG. 4A and the round robin method shown in FIG. It is described as improving.
また、従来例2として、特許文献2においては、バーストモードのDMA(Direct Memory Access)転送中に他の転送要求があった場合には、まず、現状のDMA処理状態を保持した上で、バスをCPU(Central Processing Unit )に開放し、さらにCPUの割り込み調停後、要求された転送サイクルを処理したのち、残りのDMA転送を再開するというフローが開示されている。 Also, as conventional example 2, in Patent Document 2, when there is another transfer request during a burst mode DMA (Direct Memory Access) transfer, first, the current DMA processing state is held, and then the bus Is opened to a CPU (Central Processing Unit), and after the interrupt arbitration of the CPU, the requested transfer cycle is processed, and then the remaining DMA transfer is resumed.
また、従来例3として、特許文献3においては、マイクロコンピュータシステムにおいて、命令キャッシュに優先処理領域のアドレスタグ情報を持たせ、予め内部レジスタ等に設定された優先領域のアドレスが命令キャッシュ内に取り込まれたアドレスと一致した場合には、DMAバースト転送中でも、CPUが割り込み処理を行えるようにすることが開示されている。
Also, as Conventional Example 3, in
さらに、従来例4として、特許文献4においては、ARM(Advanced RISC Machines)社のAMBA(Advanced Micro-controller Bus Architecture system )仕様を拡張した構成でのバス調停手段が開示されている。このバス調停手段においては、AMBA仕様の通常の高機能バスであるAHBバスと、AHBバスとは別個のバス(HTBバス)を設け、それぞれのバスに対して独立したバス調停回路を備えることによって、AMBA標準仕様よりもAHBバスの使用効率が向上すると説明されている。 Furthermore, as Conventional Example 4, Patent Document 4 discloses a bus arbitration means in a configuration in which an AMBA (Advanced Micro-controller Bus Architecture system) specification of ARM (Advanced RISC Machines) is expanded. In this bus arbitration means, an AHB bus, which is a normal high function bus of AMBA specifications, and a bus (HTB bus) that is separate from the AHB bus are provided, and an independent bus arbitration circuit is provided for each bus. It is described that the usage efficiency of the AHB bus is improved as compared with the AMBA standard specification.
最後に、従来例5として、本発明の基となった従来技術における、バスシステムの構成を説明する。このバスシステムにおいては、AHBバスの他に、メモリバスと称する固有の低速バスを有し、バス調停手法としては、優先順位が「CPU>DMAC(DMA Controller )>その他のバスマスタ」の関係を有する、固有プライオリティ方式を仕様として採用していた。また、データ転送の核となるブロックとして、AHBバスとメモリバスとを接続するブリッジ回路を設けて、これから単一の転送完了信号(HREADY)を、CPUと、他のバスマスタに供給するという構成をとっていた。 Finally, as conventional example 5, the configuration of the bus system in the prior art on which the present invention is based will be described. In this bus system, in addition to the AHB bus, there is an inherent low-speed bus called a memory bus. As a bus arbitration method, the priority order is “CPU> DMAC (DMA Controller)> other bus master”. The unique priority method was adopted as a specification. In addition, a bridge circuit that connects the AHB bus and the memory bus is provided as a core of data transfer, and a single transfer completion signal (HREADY) is supplied to the CPU and other bus masters. I was taking it.
近年における携帯電話装置向けのSOC(System On a Chip:複合機能チップ)製品においては、アプリケーションプログラムのリアルタイム処理能力の向上が必須要件となっている。具体的には、音声やパケットデータの通信処理をDMA転送で行うため、不定期に到来するデータを効率よく処理できるか否かが、データ品質の保持と、さらには製品スペックにも影響する。 In recent years, SOC (System On a Chip: compound function chip) products for mobile phone devices are required to improve real-time processing capability of application programs. Specifically, since communication processing of voice and packet data is performed by DMA transfer, whether data that arrives irregularly can be processed efficiently affects the maintenance of data quality and further the product specifications.
ところが、上述の従来例5に示されたバス調停方式は、優先順位が「CPU>DMAC>その他バスマスタ」の関係で、完全な固定プライオリティ方式となっていたため、CPUバースト転送中にDMA要求があっても受け付けられず、CPUのバースト転送が完了するまで、DMA処理が待たされることとなって、その結果、有効なDMAデータ処理が間に合わないために、破棄されてしまう可能性があり、従って、製品スペック上に制限を設けなければならないという問題点があった。 However, since the bus arbitration method shown in the above-described conventional example 5 is a complete fixed priority method because the priority is “CPU> DMAC> other bus master”, there is a DMA request during CPU burst transfer. However, the DMA processing is waited until the burst transfer of the CPU is completed. As a result, the effective DMA data processing may not be in time and may be discarded. There was a problem that restrictions had to be set on the product specifications.
また、一般的に外部メモリバスは、内部CPUバスよりもバスサイズが小さいため、例えばCPUバスが32ビット幅のとき、外部メモリバスが16ビット幅または8ビット幅とすると、外部メモリバスのアクセスサイクルは、CPUバスの2倍または4倍となり、さらにDMA処理が遅れる原因となるが、この点は、上述の従来技術でも同様であった。 In general, the external memory bus has a smaller bus size than the internal CPU bus. For example, when the CPU bus is 32 bits wide and the external memory bus is 16 bits wide or 8 bits wide, the external memory bus is accessed. The cycle is twice or four times that of the CPU bus, and further causes a delay in DMA processing. This point is the same as in the above-described conventional technology.
このような問題点の回避のために、製品の仕様として、単純に優先順位を「DMAC>CPU」となるように変えたり、外部メモリ仕様を変えたりすることは、システム全体にも、製品開発TAT(Turn Around Time:持ち時間)にも多大な影響を及ぼすことなるため、効率的な解決策とはならない。また、従来例3〜4のような事例には、根本的に仕様を変えなければ対応できないため、短開発TATを要求される製品には不向きである。 In order to avoid such problems, simply changing the priority order to “DMAC> CPU” or changing the external memory specifications as product specifications can be applied to the entire system as well as to product development. Since TAT (Turn Around Time) has a great influence, it is not an efficient solution. In addition, cases such as the conventional examples 3 to 4 cannot be dealt with unless the specifications are fundamentally changed, and are not suitable for products requiring a short development TAT.
また、従来例1の事例では、アルゴリズム的に複雑になることが予想されるので、これも不適当であると考えられる。また、従来例2の事例では、いちいち割り込みサイクルを起動する必要があるため、近年の携帯電話向けSOC製品開発のためには、バス効率の上から、もはや有用な技術とはなり得ない。 Further, in the case of the conventional example 1, since it is expected that the algorithm is complicated, this is also considered inappropriate. Further, in the case of Conventional Example 2, it is necessary to start the interrupt cycle one by one. Therefore, for the recent SOC product development for mobile phones, it can no longer be a useful technique in terms of bus efficiency.
この発明は上述の事情に鑑みてなされたものであって、単一のバス調停システムを用いて、CPUを最上位とする固定プライオリティ方式の場合でも、バス効率を低下させることなく、DMA転送効率を向上させることが可能なバスシステム、及びAMBAにおけるバス調停システム及びバスシステムを提供することを目的としている。 The present invention has been made in view of the above-described circumstances, and even in the case of a fixed priority scheme in which a CPU is the highest level using a single bus arbitration system , the DMA transfer efficiency is not reduced without reducing the bus efficiency. and its object is to provide a bus arbitration system and bus system in the bus system, and AMBA capable of improving the.
上記の課題を解決するために、請求項1記載の発明は、AMBAにおけるバス調停システムに係り、ARM系CPUからなる第1のバスマスタとこれより優先順位が低い第2のバスマスタとを接続したAMBA仕様の第1のバスと、メモリ手段を接続した第2のバスとの間に、前記第1のバスと第2のバス間を接続するバス接続手段を備えたバスシステムにおいて、前記第1のバスに、バスの優先順位を制御するバス調停手段と、前記メモリ手段に対するデータのDMA転送を制御するDMA制御手段とを備えると共に、前記バス接続手段に、前記第1のバスマスタにおけるデータの転送中か否かを示す第1の転送完了信号と、前記第1のバスマスタと第2のバスマスタにおけるデータの転送中か否かを示す第2の転送完了信号とを出力する機能を設け、前記第1のバスマスタがバースト転送中に前記第2のバスマスタからDMA転送要求があったとき、前記バス調停手段からの制御信号に応じて前記バス接続手段が、前記第1の転送完了信号を「転送中を示す状態」に固定することによって、前記第1のバスマスタがバースト転送中の状態を保持すると共に、前記バス調停手段からのバス許可信号によって、前記DMA制御手段が前記第2の転送完了信号ごとにDMA転送を繰り返し、DMA転送要求の終了によって、前記バス調停手段からの前記バス許可信号が終了したとき、前記DMA制御手段がDMA転送を終了して、前記第1のバスマスタが前記バースト転送を再開することを特徴としている。 In order to solve the above-mentioned problem, an invention according to claim 1 relates to a bus arbitration system in AMBA, wherein an AMBA in which a first bus master composed of an ARM CPU and a second bus master having a lower priority than the first bus master are connected. In a bus system comprising bus connecting means for connecting between the first bus and the second bus between a first bus of the specification and a second bus connected to the memory means, the first bus The bus includes bus arbitration means for controlling the priority of the bus and DMA control means for controlling DMA transfer of data to the memory means, and the bus connection means is transferring data in the first bus master. A first transfer completion signal indicating whether the data is being transferred, and a second transfer completion signal indicating whether data is being transferred between the first bus master and the second bus master. And when the first bus master makes a DMA transfer request from the second bus master during burst transfer, the bus connection means responds to a control signal from the bus arbitration means. By fixing the completion signal to “ a state indicating that transfer is in progress ” , the first bus master holds the state during the burst transfer, and the DMA control means causes the first bus master to receive the bus permission signal from the bus arbitration means. DMA transfer is repeated for each transfer completion signal of 2, and when the bus permission signal from the bus arbitration means is completed due to the completion of the DMA transfer request, the DMA control means terminates the DMA transfer, and the first The bus master restarts the burst transfer.
また、請求項2記載の発明は、請求項1記載のAMBAにおけるバス調停システムに係り、前記第2のバスが、前記第1のバスより低速であることを特徴としている。 The invention according to claim 2 relates to the bus arbitration system in AMBA according to claim 1, wherein the second bus is slower than the first bus.
また、請求項3記載の発明は、請求項1又は2記載のAMBAにおけるバス調停システムに係り、前記バス接続手段が、前記メモリに対するデータ読み書きの制御を行う機能を有することを特徴としている。 According to a third aspect of the present invention, there is provided the AMBA bus arbitration system according to the first or second aspect, wherein the bus connection means has a function of controlling data read / write with respect to the memory.
また、請求項4記載の発明は、請求項1乃至3のいずれか一記載のAMBAにおけるバス調停システムに係り、前記バス調停手段が、前記第1のバスマスタのバースト転送中に、DMA制御手段がDMA転送を挿入するか否かを制御する機能を有することを特徴としている。 According to a fourth aspect of the present invention, there is provided the bus arbitration system in the AMBA according to any one of the first to third aspects, wherein the bus arbitration unit is configured so that the DMA control unit performs the burst transfer of the first bus master. It has a function of controlling whether or not to insert a DMA transfer.
また、請求項5記載の発明は、請求項1乃至4のいずれか一記載のAMBAにおけるバス調停システムに係り、前記DMA制御手段が、前記第1のバスマスタのバースト転送の特定の位置または時間を管理する機能を備え、前記第1のバスマスタのバースト転送の特定の位置または時間のみに、前記DMA転送を挿入可能にしたことを特徴としている。
また、請求項6記載の発明は、請求項1乃至5のいずれか一記載のAMBAにおけるバス調停システムに係り、前記DMA制御手段に、前記第1のバスマスタのバースト転送中に、挿入するDMA転送回数または転送データ量を制御する機能を付加したことを特徴としている。
Further, the invention according to
The invention according to
また、請求項7記載の発明は、バスシステムに係り、第1のバスと、前記第1のバスを介してデータ転送を行う第1のバスマスタと、前記第1のバスを介してデータ転送を行う第2のバスマスタと、前記第1のバスマスタが前記第1のバスを介してデータ転送を行っている際に前記第2のバスマスタからデータ転送の要求が発生した場合、前記第1のバスマスタがデータを転送している状態を保持し続けるよう指示する第1の制御信号を出力すると共に、前記第1のバスの使用権を前記第2のバスマスタに付与するバス調停部と、前記第1の制御信号を受信したら、当該第1の制御信号が解除されるまで、「前記第1のバスマスタがデータを転送中の状態である」ことを示す第2の制御信号を前記第1のバスマスタに供給し続けるコントローラとを有することを特徴としている。The invention according to
また、請求項8記載の発明は、請求項7記載のバスシステムに係り、前記第2のバスマスタが行うデータ転送の終了後、前記コントローラは、前記第2の制御信号に変えて、前記第1のバスマスタがデータを転送しているか否かを示す第3の制御信号を前記第1のバスマスタに出力し、前記バス調停部は前記第1のバスの使用権を前記第1のバスマスタに付与することを特徴としている。The invention according to claim 8 relates to the bus system according to
また、請求項9記載の発明は、請求項7又は8記載のバスシステムに係り、第2のバスと、前記第1のバスと前記第2のバスとを接続する前記コントローラと、前記第2のバスに接続され、前記第1のバスと前記コントローラと前記第2のバスとを介して、前記第2のバスマスタから転送されるデータを記憶するメモリとが付加されていることを特徴としている。A ninth aspect of the present invention relates to the bus system according to the seventh or eighth aspect, wherein the second bus, the controller for connecting the first bus and the second bus, and the second bus And a memory for storing data transferred from the second bus master via the first bus, the controller, and the second bus. .
また、請求項10記載の発明は、請求項7乃至9のいずれか一に記載のバスシステムに係り、前記第2のバスマスタが行うデータ転送はDMA転送であることを特徴としている。According to a tenth aspect of the present invention, in the bus system according to any one of the seventh to ninth aspects, the data transfer performed by the second bus master is a DMA transfer.
本発明のバスシステム、及びAMBAにおけるバス調停システムによれば、通常のCPUバースト転送中においても、DMA転送を処理するというバースト調停の基本構成に基づいて、必要最小限のクロックサイクル数でバス調停を行うことによって、迅速なDMA処理を実現したバス調停システムを提供することができると共に、マイクロコンピュータのバス使用効率を向上させることが可能となる。 According to the bus system of the present invention and the bus arbitration system in AMBA, the bus arbitration is performed with the minimum number of clock cycles based on the basic configuration of burst arbitration in which DMA transfer is processed even during normal CPU burst transfer. By performing the above, it is possible to provide a bus arbitration system that realizes rapid DMA processing and to improve the bus use efficiency of the microcomputer.
この発明の最良の実施の形態は、必要最小限のクロックサイクル数でバス調停を行って、CPUバースト転送中のDMA転送を可能にすることである。以下、図面を参照して、この発明の実施の形態について説明する。説明は、実施例を用いて具体的に行う。 The best mode of the present invention is to perform a bus arbitration with a minimum number of clock cycles to enable a DMA transfer during a CPU burst transfer. Embodiments of the present invention will be described below with reference to the drawings. The description will be made specifically using examples.
図1は、本発明のAMBAにおけるバス調停システムの一実施例の構成を示すブロック図、図2は、本実施例におけるAHBバス調停部の動作を説明するためのステートマシンイメージ図、図3は、本実施例のバス調停システムの基本動作を示すタイミングチャートである。 FIG. 1 is a block diagram showing a configuration of an embodiment of a bus arbitration system in AMBA of the present invention, FIG. 2 is a state machine image diagram for explaining the operation of an AHB bus arbitration unit in the present embodiment, and FIG. It is a timing chart which shows the basic operation of the bus arbitration system of a present Example.
この例のバスシステムは、図1に示すように、AHBバス1と、メモリバス2とを備えている。AHBバス1には、AHBバス調停部3と、ARM系CPU4と、DMAコントローラ(DMAC)5と、他バスマスタ6と、メモリコントローラ(MEMC)兼バスブリッジ7とが接続されている。またメモリバス2には、メモリ8と、低速バススレーブ9が接続されている。
The bus system in this example includes an AHB bus 1 and a memory bus 2 as shown in FIG. An AHB
AHBバス1は、AMBA仕様の高機能バスであって、図1に示されたバスシステムの基幹バスとなるものである。メモリバス2は、主としてメモリ8に対するデータの入出力を行うための、当該バスシステム固有の低速バスからなっている。AHBバス調停部3は、AHBバス1上のARM系CPU4,DMAC5,他バスマスタ6間のバス調停を行うものであって、CPUバースト転送中におけるDMA転送を指示する制御信号13をMEMC兼バスブリッジ7に供給する。
The AHB bus 1 is an AMBA-spec high-function bus and serves as a backbone bus of the bus system shown in FIG. The memory bus 2 is mainly composed of a low-speed bus unique to the bus system for inputting / outputting data to / from the memory 8. The AHB
ARM系CPU4は、AHBバス1を介して,図1に示されたバスシステムの全体の動作を主導するバスマスタであって、ARM社の提唱に係るCPUからなっている。DMAC5は、他バスマスタ6とメモリ8間における、データのDMA転送を制御する。他バスマスタ6は、AHBバス1に接続された、ARM系CPU4を除く他のすべてのバスマスタを指すものである。
The ARM CPU 4 is a bus master that leads the entire operation of the bus system shown in FIG. 1 via the AHB bus 1 and is composed of a CPU proposed by ARM. The
MEMC兼バスブリッジ7は、AHBバス1上における唯一のバススレーブであって、メモリ8に対するデータの読み書きを制御するメモリコントローラの機能を有すると共に、バスサイズの異なるAHBバス1とメモリバス2とを接続するためのバスブリッジの機能を有し、AHBバス1に接続されている各バスマスタとメモリバス2上のメモリ8,低速バススレーブ9との間のデータ転送を行うと共に、HREADY CPU信号11とHREADY信号12とを発生して、それぞれ、ARM系CPU4と、それ以外のバスマスタである、AHBバス調停部3,DMAC5,他バスマスタ6に供給する。
The MEMC /
ここで、HREADY CPU信号11とHREADY信号12とは、ともにデータの転送中か否かを示す信号(転送完了信号)であって、例えばハイレベル( "H”)のとき転送完了を示し、ロウレベル( "L”)のとき転送中を示す。ARM系CPU4および、AHBバス調停部3,DMAC5,他バスマスタ6は、それぞれHREADY CPU信号11およびHREADY信号12の "H”/ "L”の状態に追従して動作する。
Where HREADY The
メモリ8は、メモリバス2に接続されて、図1に示されたバスシステムにおける、主記憶装置となるものである。低速バススレーブ9は、メモリバス2に接続されて、AHBバス1に接続されたバスマスタの制御に応じて動作する装置である。
The memory 8 is connected to the memory bus 2 and serves as a main storage device in the bus system shown in FIG. The low-
以下、この例のバス調停システムの動作について説明する。まず、図1に示すAHBバス調停部3の動作について、図2に示すステートマシンイメージ図を用いて説明する。この例のバスシステムにおける、バスのステートと各ステート間の優先順位は、次のように定められている。「CPU burst>DMA in burst >CPU default>DMA>OTHER」
Hereinafter, the operation of the bus arbitration system of this example will be described. First, the operation of the AHB
この例において、他にバス使用要求がない場合のバスマスタは、ARM系CPU4であり、この際のステートは、図2に示すように、CPU defaultステートとなる。ARM系CPU4のバースト転送命令が実行される場合には、図2のCPU burstステートに遷移し、ARM系CPU4にバス使用権が与えられる。 In this example, the bus master when there is no other bus use request is the ARM CPU 4, and the state at this time is a CPU d efault state as shown in FIG. If the burst transfer instruction ARM system CPU4 is performed, a transition to the CPU b URST state of FIG. 2, the bus use right is given to the ARM system CPU4.
CPU burstステートに遷移している状態で、DMAC5からのDMA要求が発生すると、バースト転送中の任意の適当なタイミングから、DMA in burst ステートに遷移して、DMA転送が実行される。DMA転送が終了すると、再びCPU burstステートに遷移して、残りのバースト転送を再開する。
While the transition of the CPU b URST state, when the DMA request is generated from the
次に、この場合の動作を、図3に示すタイミングチャートを用いてさらに詳細に説明する。図3においては、1転送周期を5クロックとした場合を例示している。DMA in burst ステートに遷移しない限り、HREADY CPU信号11とHREADY信号12とは、全く同じ動作となる。
Next, the operation in this case will be described in more detail using the timing chart shown in FIG. FIG. 3 illustrates a case where one transfer cycle is 5 clocks. HREADY unless transitioning to DMA in burst state The
図3においては、最初、CPU burstステートであって、ARM系CPU4のバースト転送が行われていたが、DMA要求が発生したことによって、AHBバス調停部3は、HREADY CPU信号11のみを、転送中を示す状態(例えば "L”)に強制的に固定するための制御信号13をMEMC兼バスブリッジ7に出力すると同時に、バス使用権をDMAC5側にスイッチする。図3においてAは、DMA転送期間に、HREADY CPU信号11が "L”固定になった状態を示している。
In FIG. 3, first, a CPU b URST state, but the burst transfer of ARM-based CPU4 has been performed, by a DMA request is generated, AHB
これによってDMAC5によって設定されたDMA転送を、MEMC兼バスブリッジ7を介して実行する。この間、HREADY信号12は、転送状態に追従して、DMA転送中は "L”となり、DMA転送完了時は "H”となる変化を繰り返す。
As a result, the DMA transfer set by the
DMA転送が終了すると、再びCPU burstステートに遷移し、AHBバス調停部3は、HREADY CPU信号11を "L”固定にする制御信号13を解除するとともに、バス使用権をARM系CPU4側にスイッチする。これによって、ARM系CPU4は、再びバースト転送を継続して終了する。
When the DMA transfer is completed, a transition back to CPU b URST state, AHB
図3においては、Aに示す期間において、HREADY CPU信号11が "L”固定になったことによって、DMA転送が繰り返して行われたが、DMA要求の終了によって、3回目のDMA転送の完了時に、AHBバス調停部3からのDMA許可信号が終了したため、以後、DMA転送は行われなくなり、次の転送周期から、再びCPU burstステートに遷移して、以後、ARM系CPU4のCPUバースト転送が継続して行われたことが示されている。
In FIG. 3, in the period shown in A, HREADY Since the
このように、この例のバスシステムでは、CPUのバースト転送を、ソフトウエアに基づく割り込み処理によって中断することなく、物理的にCPU側に対してウェイト状態を作り出しているので、前述の従来例5に示された従来技術の場合でも、CPU上位優先にもかかわらず、最小限のクロックサイクル数で、不定期なDMA転送要求に対応することができるようになる。 In this way, in the bus system of this example, since the CPU burst transfer is physically created with respect to the CPU side without being interrupted by interrupt processing based on software, the conventional example 5 described above is used. Even in the case of the prior art shown in (1), it is possible to respond to irregular DMA transfer requests with a minimum number of clock cycles despite the high priority of the CPU.
以上、この発明の実施例を図面により詳述してきたが、具体的な構成はこの実施例に限られたものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、上述の実施例においては、DMA転送の挿入位置が任意であるとして説明したが、DMAC5にCPUバースト転送の特定の位置または時間を管理する機能を付加することによって、CPUバースト転送における特定の位置または時間のみに、DMA転送を挿入可能にすることもできる。
The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and even if there is a design change or the like without departing from the gist of the present invention. Included in the invention. For example, in the above-described embodiment, the DMA transfer insertion position is described as being arbitrary. However, by adding a function for managing a specific position or time of the CPU burst transfer to the
また、上述の実施例では、CPUバースト転送中にDMA転送を挿入することを可能にすると説明したが、AHBバス調停部3に、DMAC5にDMA転送を行わせるか否かを制御する機能を付加することによって、前述の従来例4に相当する動作を切り替えて行わせることも可能である。
In the above embodiment, it has been explained that it is possible to insert a DMA transfer during a CPU burst transfer. However, the AHB
さらに、上述の実施例においては、挿入するDMA転送の回数は任意であるとして説明したが、DMAC5に、挿入するDMA転送回数またはデータ量を制御する機能を付加することによって、必要以上にCPUバースト転送を中断したためにバス効率が悪化するのを防止することも可能である。
Furthermore, in the above-described embodiment, the number of DMA transfers to be inserted is described as arbitrary. However, by adding a function for controlling the number of DMA transfers to be inserted or the amount of data to the
1 AHBバス(第1のバス)
2 メモリバス(第2のバス)
3 AHBバス調停部(バス調停手段、バス調停部)
4 ARM系CPU(第1のバスマスタ)
5 DMAC(DMA制御手段)
6 他バスマスタ(第2のバスマスタ)
7 MEMC兼バスブリッジ(バス接続手段、コントローラ)
8 メモリ(メモリ手段)
9 低速バススレーブ
11 HREADY CPU信号
12 HREADY信号
13 制御信号
1 AHB bus (first bus)
2 Memory bus (second bus)
3 AHB bus arbitration unit (bus arbitration means , bus arbitration unit )
4 ARM CPU (first bus master)
5 DMAC (DMA control means)
6 Other bus master (second bus master)
7 MEMC and bus bridge (bus connection means , controller )
8 Memory (memory means)
9 Low
Claims (10)
前記第1のバスに、バスの優先順位を制御するバス調停手段と、前記メモリ手段に対するデータのDMA転送を制御するDMA制御手段とを備えると共に、前記バス接続手段に、前記第1のバスマスタにおけるデータの転送中か否かを示す第1の転送完了信号と、前記第1のバスマスタと第2のバスマスタにおけるデータの転送中か否かを示す第2の転送完了信号とを出力する機能を設け、
前記第1のバスマスタがバースト転送中に前記第2のバスマスタからDMA転送要求があったとき、前記バス調停手段からの制御信号に応じて前記バス接続手段が、前記第1の転送完了信号を「転送中を示す状態」に固定することによって、前記第1のバスマスタがバースト転送中の状態を保持すると共に、前記バス調停手段からのバス許可信号によって、前記DMA制御手段が前記第2の転送完了信号ごとにDMA転送を繰り返し、DMA転送要求の終了によって、前記バス調停手段からの前記バス許可信号が終了したとき、前記DMA制御手段がDMA転送を終了して、前記第1のバスマスタが前記バースト転送を再開することを特徴とするAMBAにおけるバス調停システム。 Between the first bus master composed of an ARM CPU and a second bus master having a lower priority than the first bus of the AMBA specification and the second bus connected to the memory means, the first bus master is connected. In a bus system provided with a bus connection means for connecting between the second bus and the second bus,
The first bus comprises bus arbitration means for controlling the priority of the bus, and DMA control means for controlling DMA transfer of data to the memory means, and the bus connection means includes the first bus master in the first bus master. A function of outputting a first transfer completion signal indicating whether or not data is being transferred and a second transfer completion signal indicating whether or not data is being transferred between the first bus master and the second bus master is provided. ,
When there is a DMA transfer request from the second bus master during the burst transfer of the first bus master, the bus connection means sends the first transfer completion signal to the control signal from the bus arbitration means. By fixing the status to “indicating that transfer is in progress”, the first bus master holds the status of burst transfer, and the DMA control means completes the second transfer in response to a bus permission signal from the bus arbitration means. The DMA transfer is repeated for each signal, and when the bus grant signal from the bus arbitration means ends due to the end of the DMA transfer request, the DMA control means ends the DMA transfer, and the first bus master A bus arbitration system in AMBA, wherein transfer is resumed.
前記第1のバスを介してデータ転送を行う第1のバスマスタと、
前記第1のバスを介してデータ転送を行う第2のバスマスタと、
前記第1のバスマスタが前記第1のバスを介してデータ転送を行っている際に前記第2のバスマスタからデータ転送の要求が発生した場合、前記第1のバスマスタがデータを転送している状態を保持し続けるよう指示する第1の制御信号を出力すると共に、前記第1のバスの使用権を前記第2のバスマスタに付与するバス調停部と、
前記第1の制御信号を受信したら、当該第1の制御信号が解除されるまで、「前記第1のバスマスタがデータを転送中の状態である」ことを示す第2の制御信号を前記第1のバスマスタに供給し続けると共に、前記第2のバスマスタからのデータ転送の前記要求に基づくデータ転送を行うコントローラとを有することを特徴とするバスシステム。 The first bus,
A first bus master for transferring data via the first bus;
A second bus master for transferring data via the first bus;
A state in which the first bus master is transferring data when a request for data transfer is generated from the second bus master while the first bus master is transferring data via the first bus. A bus arbitration unit that outputs a first control signal instructing to continue to hold and grants the right to use the first bus to the second bus master;
When the first control signal is received, the second control signal indicating that the first bus master is transferring data is output until the first control signal is released. And a controller for performing data transfer based on the request for data transfer from the second bus master .
10. The bus system according to claim 7, wherein the data transfer performed by the second bus master is a DMA transfer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003271194A JP4190969B2 (en) | 2003-07-04 | 2003-07-04 | Bus arbitration system in bus system and AMBA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003271194A JP4190969B2 (en) | 2003-07-04 | 2003-07-04 | Bus arbitration system in bus system and AMBA |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005032019A JP2005032019A (en) | 2005-02-03 |
JP4190969B2 true JP4190969B2 (en) | 2008-12-03 |
Family
ID=34209146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003271194A Expired - Fee Related JP4190969B2 (en) | 2003-07-04 | 2003-07-04 | Bus arbitration system in bus system and AMBA |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4190969B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813878B1 (en) | 2006-05-16 | 2008-03-18 | 전자부품연구원 | Device and method of controlling amba bus without arbitration and amba bus interface system using the same |
CN108984442B (en) * | 2018-08-14 | 2023-08-18 | 珠海一微半导体股份有限公司 | Acceleration control system, chip and robot based on binarization algorithm |
-
2003
- 2003-07-04 JP JP2003271194A patent/JP4190969B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005032019A (en) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3573614B2 (en) | Image processing apparatus and image processing system | |
JP2004171209A (en) | Shared memory data transfer device | |
JP2006318139A (en) | Data transfer device, data transfer method and program | |
JP2003006143A (en) | System, device and method of sharing bus | |
JP2008009817A (en) | Semiconductor device and data transfer method | |
JP4233373B2 (en) | Data transfer control device | |
JP5304815B2 (en) | Microcomputer | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
JP2005057374A (en) | Analog/digital converter and micro controller | |
JP4190969B2 (en) | Bus arbitration system in bus system and AMBA | |
US8799699B2 (en) | Data processing system | |
TW201437814A (en) | Memory access method, memory access control method, SPI flash memory device and SPI controller | |
JP2008140065A (en) | Access arbitration device, access arbitration method and information processor | |
JP7468112B2 (en) | INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application | |
JP4838458B2 (en) | Semiconductor device | |
JP2008165463A (en) | Bus controller | |
JP2003091501A (en) | Information processing device | |
JP3959407B2 (en) | Image processing apparatus and image processing system | |
JP4292218B2 (en) | Image processing apparatus and image processing system | |
JP2000250850A (en) | Bus control device, master device, slave device and bus control method | |
JP2003308289A (en) | Data processor | |
JP2007108858A (en) | Pin sharing device and pin sharing method | |
JP4194438B2 (en) | Signal line control device | |
JP4150953B2 (en) | Information processing device | |
JP2004213142A (en) | Semiconductor integrated circuit device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070423 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070621 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070621 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070621 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070726 |
|
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: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080917 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
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: 20110926 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130926 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |