こんにちは、平澤です。 あまり、H8については詳しくないのですが、わかる範囲で説明します。 推敲する時間が取れませんので間違いがありましたら、ご指摘下さい。 まず、最初に知らなくてはならないのは、バーストアクセスをする 為にはそれ専用のROM、RAMが必要になるという事です。 普通に売っているEEPROMや、フラッシュROM、SRAM等ではバースト アクセスに対応していません。対象となるブツがバーストに対応 している事を確認したら、次に通常のアクセス時間、バーストアクセス 時間を(言葉は違うかも)を確認します。 さて、バーストROMですが、H8S2368のハードウエアマニュアルの 228ページを参照してください。ここに書いてある図を見ながら 解説します。 左側にフルアクセス(T1,T2)と書いてありますよね。これが通常の アクセス方式でこの図では2サイクルで完了しています。 次に右側がバーストアクセスで(T1)とあります。1サイクルで完了 しているのが判ると思います。つまり、バーストアクセスとは 1ワード(その時のバス幅による)をCPU内部に取り込むための サイクル数を減らすことを目的としています。 たとえば、先ほど確認してもらったROMで通常アクセスが100nSec, バーストアクセス時に10nSecだとします。 ※数値は適当にしています。正確にはマニュアルのAC特性を よく検討して下さいませ。 H8S2368は最大34MHzで動作出来るようなので1サイクルは30nSec とすると、先ほどの図でフルアクセス時には 3Wait 必要になり バーストアクセス時には 0Wait ですみます。 つまり 通常アクセス ( T1 + 3Wait + T2 ) = 5 サイクル(約150nSec) が バーストアクセス( T1 ) = 1 サイクル(約 30nSec) となる訳です。 ここからキモなのですが、H8はマシン語(今でもそう言うのか不明)レベルでは 1つの命令が2,3,4バイトで構成されています。もし、3バイト構成の 命令でROMのバス幅は8ビットであるなら、 バーストなしの時 通常 + 通常 + 通常 = 15サイクル(450nSec) バーストありの時 通常 + バースト + バースト = 7サイクル(210nSec) となります。 また ROM幅が8ビットでロングワード(4byte)のデータを取り込む時には バーストなしの時 通常 + 通常 + 通常 + 通常 = 20サイクル(600nSec) バーストありの時 通常 + バースト + バースト + バースト = 8サイクル( 240nSec ) となります。 ここでまでで、ピンときたと思いますが、ソフトウエアから積極的に バーストを利用したのであれば、型(一度に扱う大きさ)を大きくする事が 必要になります。 ROM幅が8ビットで char なら 通常 ROM幅が8ビットで short なら 通常 + バースト ROM幅が8ビットで long なら 通常 + バースト + バースト + バースト となります。 また、H8には[DMA]や[ブロック転送]があったと思います。これらを積極的に 利用すれば、上記の理屈(連続アドレスのアクセス)でバースト頻度が増えます。 以上 乱文ご容赦下さい。