JP4840963B2 - Bus system and control method thereof - Google Patents
Bus system and control method thereof Download PDFInfo
- Publication number
- JP4840963B2 JP4840963B2 JP2005199143A JP2005199143A JP4840963B2 JP 4840963 B2 JP4840963 B2 JP 4840963B2 JP 2005199143 A JP2005199143 A JP 2005199143A JP 2005199143 A JP2005199143 A JP 2005199143A JP 4840963 B2 JP4840963 B2 JP 4840963B2
- Authority
- JP
- Japan
- Prior art keywords
- operating frequency
- switching
- route
- request
- master device
- 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
Description
本発明は、マスタデバイスとスレーブデバイスを各々少なくとも1つ以上相互接続したバスシステムに関する。 The present invention relates to a bus system in which at least one master device and at least one slave device are interconnected.
近年、USB 1.1からUSB 2.0へ、或いはPCI からPCI-Expressへといった具合に、高スループットを必要とするIP(Intellectual Property)コアが急増している。これに伴い、高速なスループット転送を可能とする、オンチップ・バスの需要が急速に高まっている(例えば、特許文献1参照)。 In recent years, IP (Intellectual Property) cores that require high throughput, such as from USB 1.1 to USB 2.0 or from PCI to PCI-Express, have been rapidly increasing. Along with this, the demand for an on-chip bus that enables high-speed throughput transfer is rapidly increasing (see, for example, Patent Document 1).
2003年 6月にARM社が次世代オンチップ・バスの規格としてAMBA 3.0のAXI(Advanced eXtensible Interface)プロトコルを発表し、注目を集めている。AMBAは、「Advanced Microcontroller Bus Architecture」の略である。このAXIでは、従来のAHB(Advanced High-Performance Bus)にはなかったチャネルという概念を導入し、このチャネルによる転送を行うことによりデータ転送のスループットを向上させるよう考慮されている。具体的には、アドレスフェーズとデータフェーズとの独立転送方式や、後から入ったサイクルの結果が前に戻ってきても良い、というアウトオブオーダ転送方式をサポートしている。 In June 2003, ARM announced the AMBA 3.0 AXI (Advanced eXtensible Interface) protocol as a next-generation on-chip bus standard, and has attracted attention. AMBA is an abbreviation for “Advanced Microcontroller Bus Architecture”. In this AXI, the concept of a channel that was not found in the conventional AHB (Advanced High-Performance Bus) is introduced, and consideration is given to improving the data transfer throughput by performing transfer through this channel. Specifically, it supports an independent transfer method for the address phase and the data phase, and an out-of-order transfer method in which the result of the cycle entered later may be returned to the front.
ここで、チャネルとは、図1に示すように、マスタ101とスレーブ102がそれぞれvalid103とready104の各信号を用いてdata105を2線ハンドシェークで転送する一連の転送経路として定義される。data105の転送元がvalid103を出力し、転送先がready104を出力する。
Here, as shown in FIG. 1, the channel is defined as a series of transfer paths in which the
このAXIでは、図2に示すように、address203、write data205、read data204、write response206の4つのチャネルを用いてマスタ201とスレーブ202との間でデータ転送を行う。従って、アドレスチャネルとデータチャネルとを独立に転送することができるので、アドレス処理を次々と発行することが可能となり、バスを有効に活用できる。
In this AXI, as shown in FIG. 2, data transfer is performed between the
更に、アウトオブオーダをサポートすることにより、レイテンシが小さいスレーブからのデータを先に返すことが可能となる。このようなことから、AXIでは、バスの利用効率向上が期待できる。 Furthermore, by supporting out-of-order, it is possible to return data from a slave having a low latency first. For this reason, AXI can be expected to improve bus utilization efficiency.
その一方で、システムLSI内部に複数のCPU、メモリ、I/Oを有するシステムが一般的になってきており、これらのデバイスを相互に接続する必要がある。しかし、複数のバスマスタ、バススレーブがシステムLSI内部に均等に配置配線されるとも限らない。そのため、いくつかの接続網、特にアドレスやデータのような高負荷のバスについては、期待する動作周波数で動作不可能となってしまうことが、レイアウト工程の段階で判明することが考えられる。 On the other hand, a system having a plurality of CPUs, memories, and I / Os inside a system LSI has become common, and these devices need to be connected to each other. However, a plurality of bus masters and bus slaves are not necessarily arranged and wired equally in the system LSI. For this reason, it is considered that it becomes clear at the stage of the layout process that some connection networks, particularly high-load buses such as addresses and data, cannot be operated at the expected operating frequency.
このような場合、タイミングを満たさないパスに対してレイアウトを何度もやり直し、期待する動作周波数でのタイミング保証を行うことに時間と労力が費やされていた。また、最悪の結果として、動作周波数を落として動作させることになったり、チップサイズを大きくすることを余儀なくされたりすることもあった。 In such a case, time and labor have been spent re-laying the path that does not satisfy the timing many times and guaranteeing the timing at the expected operating frequency. As a worst result, the operation frequency may be lowered or the chip size may be increased.
そこで、このような問題を解決するために、クリティカルパスであるマスタとスレーブとの間の信号群にレジスタを挿入し、パスを分割することでレジスタ−レジスタ間の遅延量を減少させる方法が採用されている。上述のAXIのようなpoint-to-point接続の場合、2線ハンドシェイクでプロトコルが規定されており、そのハンドシェイクで受け渡す情報の流れが単一方向であるため、比較的レジスタの挿入が容易である。尚、AXIでは、この方式を「レジスタスライス」と呼んでいる。 Therefore, in order to solve such problems, a method is adopted in which a register is inserted into a signal group between a master and a slave, which is a critical path, and the path is divided to reduce the delay amount between the register and the register. Has been. In the case of the point-to-point connection such as AXI described above, the protocol is defined by the two-wire handshake, and the flow of information passed by the handshake is unidirectional. Easy. In AXI, this method is called “register slice”.
図3は、図2に示すpoint-to-point接続に対してレジスタスライスを挿入した接続例を示す図である。図3に示す例では、アドレスのチャネルとリードデータのチャネルにそれぞれレジスタスライス301、302を一段挿入してパスを分離している。これにより、マスタ201のアドレス発行からリードデータの取り込みまでのレイテンシが2サイクル分だけ大きくなるが、最大で2倍の動作周波数での動作が可能となる。
上述したように、point-to-point接続に対してレジスタを挿入し、パスを分割することで高い動作周波数を保証することができる。但し、動作周波数が上がるからといって一律に性能が向上するわけではなく、スループットと増加するレイテンシとの関係次第では、逆に性能を落としてしまうことも有り得る。 As described above, a high operating frequency can be guaranteed by inserting a register for a point-to-point connection and dividing the path. However, even if the operating frequency is increased, the performance is not improved uniformly, and depending on the relationship between the throughput and the increased latency, the performance may be decreased.
図4、図5を用いて、図2に示すようなpoint-to-point接続した32ビットデータバスでバースト転送を行った場合の動作周波数に対する平均転送速度について説明する。 The average transfer rate with respect to the operating frequency when burst transfer is performed using a point-to-point connected 32-bit data bus as shown in FIG. 2 will be described with reference to FIGS.
図4は、16バースト転送を行った場合の動作周波数と転送速度との関係を示す図である。また、図5は、4バースト転送を行った場合の動作周波数と転送速度との関係を示す図である。 FIG. 4 is a diagram showing the relationship between the operating frequency and the transfer rate when 16 burst transfer is performed. FIG. 5 is a diagram showing the relationship between the operating frequency and the transfer rate when 4-burst transfer is performed.
図4、図5に示すように、レジスタスライスを挿入した場合と、挿入していない場合とではレイテンシの違いが平均転送速度の違いとして現れている。例えば、図4に示す16バースト転送を行った場合、レジスタスライスなしで120MHz動作で480MByte/sの転送速度を得ている。これに対して、レジスタスライスを挿入すると、少なくとも約135MHz以上の動作周波数で動作させなければレジスタスライスなしの120MHz動作の性能を超えられないことになる。 As shown in FIGS. 4 and 5, a difference in latency appears as a difference in average transfer rate between when the register slice is inserted and when no register slice is inserted. For example, when 16 burst transfer shown in FIG. 4 is performed, a transfer rate of 480 MByte / s is obtained at 120 MHz operation without register slice. On the other hand, if a register slice is inserted, the performance of 120 MHz operation without a register slice cannot be exceeded unless it is operated at an operating frequency of at least about 135 MHz.
尚、ここでは、レジスタスライスなしの場合の16バースト転送に要するサイクル数を16サイクルとし、レジスタスライスを挿入した場合では「+2サイクル」のレイテンシ増加により18サイクルとしている。 Here, the number of cycles required for 16 burst transfers without register slices is 16 cycles, and when register slices are inserted, 18 cycles due to an increase in latency of “+2 cycles”.
また、図5に示す4バースト転送を行った場合、レジスタスライスなしで120MHz動作で480MByte/sの転送速度を得ている。これに対して、レジスタスライスを挿入すると、少なくとも約195MHz以上の動作周波数で動作させなければレジスタスライスなしの120MHz動作の性能を超えられないことになる。 Further, when the 4-burst transfer shown in FIG. 5 is performed, a transfer speed of 480 MByte / s is obtained at 120 MHz operation without register slice. On the other hand, when a register slice is inserted, the performance of 120 MHz operation without a register slice cannot be exceeded unless it is operated at an operating frequency of at least about 195 MHz.
つまり、サポートするバースト長が小さくなるほど、レジスタスライスを挿入した場合の動作周波数に対する要求は大きくなってしまう。 In other words, the smaller the burst length that is supported, the greater the demand for operating frequency when register slices are inserted.
以上の結果から、レイアウト段階で目標周波数でのタイミング収束が困難なことが発覚した場合、レジスタスライスを挿入することにより、目標周波数を満足することができたとしても、次のような問題がある。つまり、その目標周波数がレジスタスライスを入れる前の性能に対するものであって、レジスタスライスを挿入した後では、レイテンシ増加に伴って性能を満たせなくなることが有り得る。その場合、選択可能な周波数候補の中から、更に高い周波数を選択し、性能を満足させる必要がある。 From the above results, when it is found that timing convergence at the target frequency is difficult at the layout stage, there are the following problems even if the target frequency can be satisfied by inserting a register slice. . That is, the target frequency is for the performance before the register slice is inserted, and after the register slice is inserted, the performance may not be satisfied as the latency increases. In this case, it is necessary to select a higher frequency from selectable frequency candidates to satisfy the performance.
開発したシステムLSIを製品仕様に応じて、ローエンド機種からハイエンド機種までプラットフォーム展開する場合に、要求性能が低い製品では高い動作周波数で動作させるより、むしろ低い動作周波数で動作させる方が消費電力を抑えるメリットがある。但し、単純にレジスタスライスを挿入したシステムLSIに対して動作周波数を落とすだけではレイテンシ増加に伴い、性能が満たせない場合が考えられる。 When deploying a developed system LSI platform from low-end models to high-end models according to product specifications, operating at a low operating frequency rather than operating at a high operating frequency for products with low required performance reduces power consumption. There are benefits. However, simply reducing the operating frequency for a system LSI with a register slice inserted may lead to increased performance and insufficient performance.
本発明は上記課題を解決するためになされたもので、動作周波数の切り替えをマスタ、スレーブの状態にかかわらず行え、また最大の転送性能を維持しつつ、任意に行えることを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to switch the operating frequency regardless of the state of the master and the slave, and to arbitrarily perform it while maintaining the maximum transfer performance.
本発明は、マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路と、該記憶手段を経由しない経路の何れかを選択可能な経路選択手段と、バスシステムに対する動作周波数の切り替え要求に応じて、前記マスタデバイスに対して不活性化要求を出力し、前記マスタデバイスから不活性化通知を入力すると、前記動作周波数の切り替えを行うと共に、前記動作周波数に応じた経路を選択するための選択信号を前記経路選択手段に出力する制御手段とを有することを特徴とする。 The present invention includes a path through inserted storage means between the master and slave devices, and any can be selected path selection means of the path not passing through the storage means, the operating frequency to the bus system In response to a switching request, an inactivation request is output to the master device, and when an inactivation notification is input from the master device, the operating frequency is switched and a path corresponding to the operating frequency is selected. And a control means for outputting a selection signal to the path selection means .
また、本発明は、マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路と、該記憶手段を経由しない経路の何れかを選択可能な経路選択手段を有するバスシステムの制御方法であって、バスシステムに対する動作周波数の切り替え要求に応じて、前記マスタデバイスに対して不活性化要求を出力し、前記マスタデバイスから不活性化通知を入力すると、前記動作周波数の切り替えを行うと共に、前記動作周波数に応じた経路を選択するための選択信号を前記経路選択手段に出力することを特徴とする。 Further, the present invention is control of the bus system comprising a route via inserted storage means between the master and slave devices, the path selection unit can select one of the paths not passing through the storage means The method outputs an inactivation request to the master device in response to a request for switching the operating frequency to the bus system, and switches the operating frequency when an inactivation notification is input from the master device. In addition, a selection signal for selecting a route according to the operating frequency is output to the route selection means .
本発明によれば、動作周波数の切り替えをマスタ、スレーブの状態にかかわらず行え、また最大の転送性能を維持しつつ、任意に行うことができる。 According to the present invention, the operating frequency can be switched regardless of the state of the master and the slave, and can be arbitrarily performed while maintaining the maximum transfer performance.
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。 The best mode for carrying out the invention will be described below in detail with reference to the drawings.
図6は、本実施形態におけるシステムLSI内部の構成例を示す図である。この例では、システムLSI内部に3つのマスタデバイス601〜603と3つのスレーブデバイス604〜606が存在し、それぞれ相互接続されている。また、マスタデバイス601〜603とスレーブデバイス604〜606とを繋ぐプロトコルは、valid、data、readyのシンプルな共通のプロトコル(図1)である。そして、アドレス、ライトデータ、リードデータ、ライトレスポンスの4種類の情報(図2)を通信している。
FIG. 6 is a diagram illustrating a configuration example inside the system LSI in the present embodiment. In this example, three
ここで、マスタ−スレーブ間のデータ転送はバースト転送をサポートしており、最大で16バースト転送が可能である。また、バースト転送長はアドレス情報フェーズでdataの一部として通信される。最速のコンディションで動作する場合、マスタがアドレスを発行して、16バーストのリードデータを取り込むのに16サイクルかかるとする。 Here, the master-slave data transfer supports burst transfer, and a maximum of 16 burst transfers are possible. The burst transfer length is communicated as part of data in the address information phase. When operating in the fastest condition, it is assumed that it takes 16 cycles for the master to issue an address and take in 16 bursts of read data.
尚、以下のような要求性能の異なる製品を本実施形態の1つのシステムLSIでカバーするものと仮定する。 It is assumed that the following products having different required performance are covered by one system LSI of this embodiment.
製品A:要求転送速度525MByte/s
製品B:要求転送速度475MByte/s、低電力仕様
図4に示す関係から、レジスタスライスがない場合の要求転送速度525MByte/sを満たす動作周波数は130MHz以上であることがわかる。そこで、本システムではシステムLSIの設計工程において、ハードウェア記述言語を用いて設計、シミュレーション及び論理合成を行い、160MHzでマスタ、スレーブを動作させるようレイアウトするものとする。
Product A: Request transfer rate 525MByte / s
Product B: Required transfer rate 475 MByte / s, low power specification From the relationship shown in FIG. 4, it can be seen that the operating frequency that satisfies the required transfer rate 525 MByte / s when there is no register slice is 130 MHz or higher. Therefore, in this system, the design, simulation, and logic synthesis are performed using the hardware description language in the system LSI design process, and the master and slave are operated at 160 MHz.
[レイアウト結果]
各デバイスがシステムLSI内部でどのように配置されるかは、他の機能モジュールや外部ピンとの関係など様々な要因に依存し、均等に配置されることは少ない。
[Layout result]
How each device is arranged in the system LSI depends on various factors such as the relationship with other functional modules and external pins, and is rarely arranged evenly.
ここで、レイアウトした結果、マスタA601−スレーブC606のアドレスとリードデータのパス遅延が7.8nsであったとする。従って、このパスに関しては120MHzでは動作可能であるが、160MHz以上では動作不可能なパス(クリティカルパス)となる。図4からも分かるように、製品Aにおいては120MHzでは目標性能に達しない。尚、それ以外のパスについては全て160MHzでのタイミング保証はできているものとする。
Here, as a result of the layout, it is assumed that the path delay between the address of the
図7は、マスタA601−スレーブC606に着目した構成を示す図である。図7では、マスタデバイス601とスレーブデバイス606とが一対一(point-to-point)で接続されている。ここでは、タイミングを満たせなかったアドレスとリードデータのチャネルについてのみ示している。マスタA601とスレーブC606に入力するクロック702はクロック生成器701で生成されており、複数の周波数候補(120,140,160,180,200MHz)から設定レジスタ711の周波数選択信号712によって選択可能である。
FIG. 7 is a diagram showing a configuration focusing on the master A 601 -
[レイアウト結果からレジスタスライス/バイパス回路の挿入]
このようなレイアウト結果と目標性能とに鑑みて、図8に示すように、タイミング保証を行えるように回路の変更を行う。
[Insert register slice / bypass circuit from layout result]
In view of such layout results and target performance, as shown in FIG. 8, the circuit is changed so that timing can be guaranteed.
図8は、再レイアウト後の動作条件を示す図である。図8において、「○」は動作可能を示し、また「×」は動作不可を示している。 FIG. 8 is a diagram illustrating operating conditions after the re-layout. In FIG. 8, “◯” indicates that operation is possible, and “x” indicates that operation is not possible.
図9は、レイアウト工程でレジスタスライス&バイパス回路を挿入した構成を示す図である。図9に示すように、アドレス用とリードデータ用の信号に対して、レイアウト工程において、レジスタスライス回路901を挿入する。このレジスタスライス回路901の構成はレジスタスライスを挿入する段数やレジスタスライスを挿入する場所などによって異なる。例えば、パス遅延が大きい箇所にレジスタスライスを2段挿入したり、readyのパスは要求タイミングを満たしているのでvalid(data)のパスのみに1段挿入したり、その要求レベルによって構成が異なる。
FIG. 9 is a diagram showing a configuration in which a register slice & bypass circuit is inserted in the layout process. As shown in FIG. 9, a
また、レジスタスライス回路901に入力されるクロック913は、後述するクロック制御回路910から出力され、マスタデバイス601、スレーブデバイス606にも入力される。尚、このクロック制御回路910については図11を用いて更に詳述する。
A
図10は、valid(data)にのみ1段のレジスタスライスを挿入した場合の例を示す図である。一般的に、レジスタスライス回路901は単純に順序回路のみで構成されることはなく、ready信号の取り扱い上、組み合わせ回路が混在する。この図10に示す例でも同様に、valid(data)に一段のレジスタスライスを挿入した場合、レジスタ1001、1002だけでなく組み合わせ回路(例えばアンドゲート1003)を含む構成となる。また、レジスタスライス挿入後のvalid信号をインバータ1004で反転させた反転信号をレジスタスライス不活性化信号1005として出力している。
FIG. 10 is a diagram illustrating an example in which a one-stage register slice is inserted only in valid (data). In general, the
図9に戻り、レジスタスライス回路挿入と共に、レジスタスライス回路901の後段にセレクタ902、903、904、905を挿入し、レジスタスライス回路901を経由するパスとレジスタスライス回路901を経由しないパスとを選択できるようにする。
Returning to FIG. 9,
また、このバイパス選択信号915は、図11に示すクロック制御回路910において、セレクタ回路1102の出力ポートから出力される信号1103である。このセレクタ回路1102の入力候補群は各周波数候補に対するバイパス選択信号極性に対応しており、その周波数で動作可能な系に応じて値が与えられる。ここで、図8に示すタイミングを満足させるようにすると、120MHz時にはレジスタスライスをバイパスするように「1」を出力し、それ以外の周波数の場合はレジスタスライスの系を経由するように「0」を出力する値を確定させる。
The
これにより、不図示のCPUから出力される周波数選択信号1101に応じて、周波数の変化と同時に、それに応じた適切なバイパス選択信号1103を生成できる。従って、ユーザがわざわざ動作周波数とバイパス選択/非選択との関係を考慮する必要がなくなり、動作不可の誤った設定を防ぐことができる。
Thereby, according to a
このような回路構成にすることにより、160MHz動作の場合にはレジスタスライスの系、120MHz動作の場合にはレジスタスライスをバイパスする系、という使い方が可能となる。これにより、製品Aについては160MHzで動作させ、また要求性能が製品Aより低い製品Bのような場合、転送120MHzでレジスタバイパスの系を使用する。 With such a circuit configuration, it is possible to use a register slice system for 160 MHz operation and a system for bypassing the register slice for 120 MHz operation. As a result, the product A is operated at 160 MHz, and in the case of the product B whose required performance is lower than that of the product A, a register bypass system is used at a transfer of 120 MHz.
尚、製品Bに関しては、レジスタスライスを使用して140MHz或いは160MHzで動作させることでも性能を満たせるが、レジスタスライスを挿入せずに120MHzで動作させる方が消費電力を抑えるというメリットが得られる。 For product B, the performance can be satisfied by operating at 140 MHz or 160 MHz using a register slice. However, the product B can be operated at 120 MHz without inserting a register slice, which has the advantage of reducing power consumption.
また、バイパス選択信号の生成について、動作周波数により一意にレジスタスライスの系か、そのバイパスの系かを決定するように回路を構成することで、ユーザは周波数だけに着目すれば良く、ユーザの利便性を向上させることができる。 In addition, regarding the generation of the bypass selection signal, by configuring the circuit so as to uniquely determine the register slice system or the bypass system depending on the operating frequency, the user only needs to focus on the frequency, which is convenient for the user. Can be improved.
このように、クロック周波数を製品毎に切り替えて使用することを例に挙げたが、製品の動作モードによって切り替えるように構成しても良い。動作モード等により切り替えを行う場合には、バイパス選択を伴う動作周波数の切り替えを要求されるタイミングが必ずしも、point-to-point(一対一)通信が行われていない状況にあるとは限らない。当然、レジスタスライスのバイパスの系とレジスタスライスの系とを通信中に切り替えることはできない。一方、ユーザから見て一対一通信を行っている最中か否かを気にしながら動作周波数の切り替え制御を行うのは面倒である。 As described above, the clock frequency is switched and used for each product as an example. However, the clock frequency may be switched depending on the operation mode of the product. When switching according to the operation mode or the like, the timing at which switching of the operating frequency with bypass selection is requested is not necessarily in a state where point-to-point (one-to-one) communication is not performed. Of course, the register slice bypass system and the register slice system cannot be switched during communication. On the other hand, it is troublesome to perform switching control of the operating frequency while paying attention to whether or not one-to-one communication is being performed as viewed from the user.
そこで、ユーザが現在一対一通信を行っているか否かを調べる必要がなく、動作周波数の切り替えを安全に行えるように、クロック制御回路910がマスタデバイス601又はレジスタスライス回路901との間でハンドシェイクを行っている。
Therefore, the
このハンドシェイクに必要な最低限の信号として、図9では、バス不活性化要求911、マスタ不活性化通知912、及びレジスタスライス不活性化通知914を示している。このバス不活性化要求911はクロック制御回路910からマスタデバイス601へ出力される信号である。マスタ不活性化通知912はマスタデバイス601からクロック制御回路910へ出力される信号である。また、レジスタスライス不活性化通知914はレジスタスライス回路901からクロック制御回路910へ出力される信号である。
As minimum signals necessary for this handshake, FIG. 9 shows a
ここで、図12、図13を用いてクロック制御回路910がマスタデバイス601又はレジスタスライス回路901との間で上述の信号によるハンドシェイクを行い、バイパス選択信号915によりバイパス切り替えを行う動作について説明する。
Here, an operation in which the
図12は、クロック制御回路910における周波数切り替え動作を示すフローチャートである。まず、ステップS1201において、クロック制御回路910がユーザから動作周波数を切り替えるためのクロック切り替え要求916を受けるとステップS1202へ進む。ステップS1202では、その動作周波数の切り替えがレジスタスライス回路901のバイパス切り替えを伴うものか否かを判定する。この判定処理は、例えば動作周波数を140MHzから200MHz、或いは180MHzから160MHzへ切り替えるような場合、バイパス切り替えを行う必要はないと判定する処理である。ここで、バイパス切り替えを伴うものでないと判定した場合はステップS1203へ進み、即座に動作周波数の切り替えを行う。
FIG. 12 is a flowchart showing the frequency switching operation in the
一方、動作周波数の切り替えがバイパス切り替えを伴う場合、例えば120MHzから160MHz、或いは200MHzから120MHzへ切り替えるような場合にはステップS1204へ進み、上述したハンドシェイクを行う。まずステップS1204において、クロック制御回路910がマスタデバイス601へバス不活性化要求911を出力し、ステップS1205では、その結果としてマスタデバイス601から送られてくるマスタ不活性化完了通知912を検出する。更に、ステップS1206において、レジスタスライス回路901から送られるレジスタスライス不活性化完了通知914を検出する。
On the other hand, when the switching of the operating frequency involves bypass switching, for example, when switching from 120 MHz to 160 MHz, or from 200 MHz to 120 MHz, the process proceeds to step S1204 and the above-described handshake is performed. First, in step S1204, the
これらの通知912、914を検出するとステップS1207へ進み、周波数選択信号1101によってクロック周波数とバイパス選択信号1103の切り替えを行う。そして、ステップS1208において、マスタデバイス601に対して出力していたバス不活性化要求911をネゲートし、処理を完了する。
When these notifications 912 and 914 are detected, the process proceeds to step S1207, where the clock frequency and the
図13は、マスタデバイス601における周波数切り替え動作を示すフローチャートである。まずステップS1301において、マスタデバイス601がクロック制御回路910から出力されたバス不活性化要求911を検出するとステップS1302へ進み、新規のアドレス発行を中断する。そして、ステップS1303で、既に発行済みのアドレスに関して全てのデータフェーズが完了するのを待つ。
FIG. 13 is a flowchart showing the frequency switching operation in the
その後、全てのデータフェーズが完了するとステップS1304へ進み、クロック制御回路910へバスの不活性化が完了したことを示すマスタ不活性化通知912を出力する。これにより、クロック制御回路910からのバス不活性化要求911がネゲートされるのを待ち、ステップS1305でバス不活性化要求911がネゲートされたのを検出すると、通常ステートへ遷移し、新規のアドレス発行を行える状態となる。
Thereafter, when all the data phases are completed, the process advances to step S1304 to output a master inactivation notification 912 indicating that the bus inactivation has been completed to the
尚、レジスタスライス回路901が出力するレジスタスライス不活性化通知914は、レジスタスライスのvalid信号がレジスタスライスの後段でインアクティブになっているかで生成できる。もし、validに対して複数段のレジスタスライスが挿入されている場合であれば、それぞれの段でのvalid信号をNORすればよい。
Note that the register slice inactivation notification 914 output from the
また、本実施形態では、レジスタスライスの段数を1段としたが、配置配線の結果によっては2段以上のレジスタを挿入することも当然あり得る。その場合にも、同様に本発明を適応できる。また、本発明を適応するマスタ−スレーブ接続を1つのみで取り扱っているが、当然複数の接続についても適応可能である。 In the present embodiment, the number of register slices is one. However, depending on the result of placement and routing, it is naturally possible to insert two or more registers. In this case, the present invention can be similarly applied. In addition, although only one master-slave connection to which the present invention is applied is handled, naturally a plurality of connections can also be applied.
本実施形態によれば、レジスタスライスの系と、そのバイパスの系とを設けることで、レジスタスライス追加に伴うレイテンシ増加による性能低下を防ぎ、要求性能に対してオーバースペックにならない最適な動作周波数を選択できる。また、ユーザがわざわざ動作周波数とバイパス選択/非選択の関係を考慮する必要がなくなり、動作不可の誤った設定を防ぐことができる。更に、CPUからの任意のタイミングにおいて動作周波数変更要求に対応でき、性能的に最適な系への安全な切り替えを行うことができる。 According to the present embodiment, by providing a register slice system and a bypass system thereof, it is possible to prevent degradation in performance due to an increase in latency due to the addition of a register slice, and to obtain an optimum operating frequency that does not become overspec with respect to required performance. You can choose. In addition, it is not necessary for the user to bother to consider the relationship between the operating frequency and bypass selection / non-selection, and erroneous setting of operation inability can be prevented. Furthermore, it is possible to respond to an operating frequency change request at an arbitrary timing from the CPU, and it is possible to perform safe switching to a system that is optimal in terms of performance.
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。 Even if the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), it is applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device. It may be applied.
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。 In addition, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (CPU or MPU) of the system or apparatus stores the program code stored in the recording medium. Read and execute. It goes without saying that the object of the present invention can also be achieved by this.
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium storing the program code constitutes the present invention.
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。 As a recording medium for supplying the program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. be able to.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。 In addition, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the following cases are included. That is, when the OS (operating system) running on the computer performs part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments are realized by the processing.
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, the program code read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.
Claims (5)
バスシステムに対する動作周波数の切り替え要求に応じて、前記マスタデバイスに対して不活性化要求を出力し、前記マスタデバイスから不活性化通知を入力すると、前記動作周波数の切り替えを行うと共に、前記動作周波数に応じた経路を選択するための選択信号を前記経路選択手段に出力する制御手段とを有することを特徴とするバスシステム。 A route selection unit capable of selecting one of a route passing through the storage unit inserted between the master device and the slave device, and a route not passing through the storage unit;
In response to a request for switching the operating frequency to the bus system, when an inactivation request is output to the master device and an inactivation notification is input from the master device, the operating frequency is switched and the operating frequency And a control unit that outputs a selection signal for selecting a route according to the route selection unit.
バスシステムに対する動作周波数の切り替え要求に応じて、前記マスタデバイスに対して不活性化要求を出力し、前記マスタデバイスから不活性化通知を入力すると、前記動作周波数の切り替えを行うと共に、前記動作周波数に応じた経路を選択するための選択信号を前記経路選択手段に出力することを特徴とするバスシステムの制御方法。 A bus system control method comprising: a path that passes through a storage means inserted between a master device and a slave device; and a path selection means that can select either a path that does not pass through the storage means,
In response to a request for switching the operating frequency to the bus system, when an inactivation request is output to the master device and an inactivation notification is input from the master device, the operating frequency is switched and the operating frequency A bus system control method, comprising: outputting a selection signal for selecting a route according to the route selection means to the route selection means.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199143A JP4840963B2 (en) | 2005-07-07 | 2005-07-07 | Bus system and control method thereof |
US11/480,989 US7461187B2 (en) | 2005-07-07 | 2006-07-06 | Bus system and data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199143A JP4840963B2 (en) | 2005-07-07 | 2005-07-07 | Bus system and control method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007018265A JP2007018265A (en) | 2007-01-25 |
JP2007018265A5 JP2007018265A5 (en) | 2008-08-14 |
JP4840963B2 true JP4840963B2 (en) | 2011-12-21 |
Family
ID=37755388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005199143A Expired - Fee Related JP4840963B2 (en) | 2005-07-07 | 2005-07-07 | Bus system and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4840963B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4907464B2 (en) * | 2007-08-07 | 2012-03-28 | 株式会社リコー | Electronic circuit device for electronic equipment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2555471B2 (en) * | 1990-08-24 | 1996-11-20 | 富士通株式会社 | Data buffer having high-speed bus transfer circuit |
US5305277A (en) * | 1991-04-24 | 1994-04-19 | International Business Machines Corporation | Data processing apparatus having address decoder supporting wide range of operational frequencies |
JP2002041452A (en) * | 2000-07-27 | 2002-02-08 | Hitachi Ltd | Microprocessor, semiconductor module and data processing system |
GB2402761B (en) * | 2003-06-12 | 2006-02-22 | Advanced Risc Mach Ltd | Improvements in flexibility of a bus interconnect block for a data processing apparatus |
GB2402760B (en) * | 2003-06-12 | 2006-01-11 | Advanced Risc Mach Ltd | Improvements in flexibility of use of a data processing apparatus |
-
2005
- 2005-07-07 JP JP2005199143A patent/JP4840963B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007018265A (en) | 2007-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7461187B2 (en) | Bus system and data transfer method | |
US7779286B1 (en) | Design tool clock domain crossing management | |
CN104520932B (en) | flash memory controller | |
US7334073B2 (en) | Method of and apparatus for interfacing buses operating at different speeds | |
JP2002049576A (en) | Bus architecture for system mounted on chip | |
US8339869B2 (en) | Semiconductor device and data processor | |
JPH11238030A (en) | Pci-pci bridge and its fast-in fast-out memory | |
US7035958B2 (en) | Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target | |
JP5609326B2 (en) | Clock divider circuit | |
JP3954011B2 (en) | Method and computer system for communicating between subsystems | |
JP5188134B2 (en) | Memory access control device and memory access control method | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
JP3643425B2 (en) | Data processing method, data processing apparatus, and interface controller | |
US8706931B1 (en) | Tool selection and implementation of port adapters | |
JP4840963B2 (en) | Bus system and control method thereof | |
US8799699B2 (en) | Data processing system | |
KR100458024B1 (en) | Data processing system with adjustable clocks for partitioned synchronous interfaces | |
JP2002149419A (en) | Logic unit for clarifying interruption and integrated circuit | |
JP2002024156A (en) | Dma controller and transfer method therefor | |
JP2007018264A (en) | Bus system and route selection method therefor | |
KR100596980B1 (en) | Apparatus, System and Method for Generating Self-generated Strobe Signal of Peripheral Device | |
JP4799137B2 (en) | Bus system | |
US8578075B1 (en) | Performance constraints for system synthesis | |
JP2008040894A (en) | On-chip bus system | |
JP2008287557A (en) | Bus system and microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080701 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110225 |
|
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: 20110930 |
|
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: 20111003 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4840963 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141014 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |