バーストモードのソースを表示
←
バーストモード
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
'''バーストモード'''({{lang-en-short|Burst mode}})とは、一般的な電子工学用語で、デバイスが、各データを個別のトランザクションで送信するために必要なすべてのステップを経ることなく、データを繰り返し送信している状況を指す。 == バーストモードの利点 == シングル・モードに対するバーストモードの主な利点は、バーストモードが一般的にデータ転送のスループットを向上させることである。どのようなバス・トランザクションも一般的にアービターによって処理され、アービターは付与されたマスターとスレーブをいつ変更すべきかを決定する。 バーストモードの場合、マスタが既知の長さの転送シーケンスを完了するようにすれば、通常より効率的である。 データ トランザクションの合計遅延は、通常、初期アクセス遅延と順次アクセス 遅延の合計として表すことができる。 : <math>\ t_\text{total} = t_\text{initial} + t_\text{sequential}</math> シングルモードでもバーストモードでもシーケンシャル遅延は同じだが、バーストモードでは初期遅延(通常はプロトコルの[[有限オートマトン|FSM]]に依存)が1回しか発生しないため、トータルの初期遅延はバーストモードの方が短くなる。したがって、バースト転送の総遅延は減少し、データ転送のスループットが向上する。 また、データ転送の回数が事前に分かっていれば、応答を最適化できるスレーブにも利用できる。典型的な例は、初期アクセス遅延は高いが、その後のシーケンシャルアクセスは少ないウェイトステートで実行できるDRAMである<ref>{{Cite web |url=https://community.arm.com/developer/ip-products/system/f/soc-design-forum/12883/what-purpose-does-burst-feature-in-ahb-serve |title=ARM forums |access-date=2023/12/12}}</ref>。 == バースト転送のビート == バースト転送におけるビートとは、1トランザクションの中で連続して行われる、マスターからスレーブへの書き込み(または読み出し)転送の回数のことである。バースト転送では、書き込みまたは読み出し転送のアドレスは、前のアドレスの増分値に過ぎない。したがって、4ビート・インクリメンタル・バースト転送(書き込みまたは読み出し)では、開始アドレスが「A'であれば、連続するアドレスは「A+m」、「A+2*m」、「A+3*m」となる。同様に、8ビートのインクリメンタルバースト転送(書き込みまたは読み出し)では、アドレス 「A」、「A+n」、「A+2*n」、「A+3*n」、「A+4*n」、「A+5*n」、「A+6*n」、「A+7*n」となる。 == バースト転送の計算例 == ; 問題 : ある [[System-on-a-chip|SoC]] マスターが、周辺スレーブとの通信(書き込みまたは読み出し)にバーストモードを使用している。トランザクションには32回の書き込み転送が含まれる。書き込み転送の初期遅延は8nsで、バースト連続遅延は0.5nsである。シングルモード(バーストなしモード)、4 ビートバーストモード、8 ビートバーストモード、16 ビートバーストモードでの合計遅延を計算する。各バーストモードでのスループット係数増加を計算する。 ; 解答 : シングルモードでの遅延合計 = 転送回数 x (t{{Sub|initial}} + t{{Sub|sequential}}) = 32 x (8 + 1x(0.5)) = 32 x 8.5 = 272 ns :; [4 ビートバーストモードの場合] :: 1回の4 ビートバーストモードでの遅延合計 = (t{{Sub|initial}} + t{{Sub|sequential}}) = 8 + 4x(0.5) = 10 ns :: 32回の書き込み転送のために必要な 4 ビート転送回数 = 32/4 = 8 回 :: したがって、32 回の書き込み転送の遅延合計 = 10 x 8 = 80 ns :: 4 ビートバースト モードを使用した合計スループット増加率 = シングルモードでの遅延合計 / 32 回の書き込み転送の遅延合計 = 272/80 = 3.4 :; [8 ビートバーストモードの場合] :: 1回の8 ビートバーストモードでの遅延合計 = (t{{Sub|initial}} + t{{Sub|sequential}}) = 8 + 8x(0.5) = 12 ns :: 32回の書き込み転送のために必要な 8 ビート転送回数 = 32/8 = 4 回 :: したがって、32 回の書き込み転送の遅延合計 = 12 x 4 = 48 ns :: 8 ビートバースト モードを使用した合計スループット増加率 = シングルモードでの遅延合計 / 32 回の書き込み転送の遅延合計 = 272/48 = 5.7 :; [16 ビートバーストモードの場合] :: 1回の16 ビートバーストモードでの遅延合計 = (t{{Sub|initial}} + t{{Sub|sequential}}) = 8 + 16x(0.5) = 16 ns :: 32回の書き込み転送のために必要な 16 ビート転送回数 = 32/16 = 2 回 :: したがって、32 回の書き込み転送の遅延合計 = 16 x 2 = 32 ns :: 16 ビートバースト モードを使用した合計スループット増加率 = シングルモードでの遅延合計 / 32 回の書き込み転送の遅延合計 = 272/32 = 8.5 上記の計算から、ビート数に応じてスループットが増加すると結論付けることができる。 == バーストモードの詳細 == バーストモード機能を持つ、あるいはバーストモードを使用する通常の理由は、データ[[スループット]]を向上させることである<ref name="PCI-Spec-2.2p82">{{Cite book |title=PCI Local Bus Specification Revision 2.2 |date=December 18, 1998 |last=<!--Staff writer(s); no by-line.--> |publisher=[[PCI-SIG|PCI Special Interest Group]] |location=[[Hillsboro, Oregon]] |page=82}}</ref>。バースト モード トランザクションの実行中に省略される手順には、次のものが含まれる場合がある: * 他のデバイスからの入力を待つ * データ転送を継続する前に、内部プロセスが終了するのを待つ * 完全なトランザクションに必要な情報を送信するが、バーストモードの使用に固有である<ref name="PCI-Spec-2.2p292">{{cite book |title=PCI Local Bus Specification Revision 2.2 |date=December 18, 1998 |author=<!--Staff writer(s); no by-line.--> |publisher=[[PCI-SIG|PCI Special Interest Group]] |location=[[Hillsboro, Oregon]] |page=29}}</ref> * Transmitting information which would be required for a complete transaction, but which is inherent in the use of burst mode<ref name="PCI-Spec-2.2p29">{{Cite book |title=PCI Local Bus Specification Revision 2.2 |date=December 18, 1998 |last=<!--Staff writer(s); no by-line.--> |publisher=[[PCI-SIG|PCI Special Interest Group]] |location=[[Hillsboro, Oregon]] |page=29}}</ref> [[Direct Memory Access]](DMA) の場合、[[チャネル・コントローラ|DMA コントローラ]]とデバイスには、中断することなくバスへの排他的アクセスが与えられる。 CPUはデバイス割り込みの処理からも解放される。 バーストモードが実際にどのように機能するかは、デバイスの種類によって異なるが、何らかの標準的なバーストモードを持つデバイスには以下のようなものがある: * [[Random Access Memory]](RAM)。RAMには[[Dynamic Random Access Memory|EDO]]、[[SDRAM]]、 [[DDR SDRAM]]、 [[RDRAM]]を含む。工業規格に従って、バースト モードでデータを送信するには最後の 3 つだけが必要である。 * [[Peripheral Component Interconnect|Conventional PCI]]、 [[Accelerated Graphics Port]]、[[PCI Express|PCI express]]のようなコンピュータ・バス * [[ハードディスクドライブ]](HDD)の[[Small Computer System Interface|SCSI]]・[[Advanced Technology Attachment|IDE]]インターフェース == 脚注・参考文献 == {{Reflist}} == 関連項目 == {{ウィキポータルリンク|エレクトロニクス}} * [[非同期IO|Asynchronous I/O]] * Command queue * [[Direct Memory Access|Direct memory access]] (DMA) * [[SDRAM|SDRAM burst ordering]] * Scatter/gather I/O == 外部リンク == * {{Kotobank}} {{デフォルトソート:はすともーど}} [[Category:主記憶装置]] [[Category:コンピュータバス]] [[Category:電子工学]]
このページで使用されているテンプレート:
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Kotobank
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:Sub
(
ソースを閲覧
)
テンプレート:ウィキポータルリンク
(
ソースを閲覧
)
バーストモード
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報