ColdFireにも多少の機能追加

さて、一方のColdFire V1だが、こちらにも多少の機能追加がなされている(図15)。ただ図8と見比べると分かるとおり、デバッグ関係とI/O関係、それと低消費電力モードといったあたりで、大きな変更というわけではない。まずRapidIOであるが、ペリフェラルブリッジを介さずに直接入出力できる16ビットのポートを2つ装備したという話である(図16)。このポートが高速なのは、プロセッサバスと直結なのでZero-waitでアクセスできるから(図17)ということだ。その反面、例えばポート割り込みを待つといった動作はサポートしていないようで、結果としてループを回して内容を監視するといった使い方になりそうであり、実際に使える場面は限られてきそうだ。実際のテスト結果では、BCHGを使った場合で1.4倍程度まで高速化されており、高速なI/O入出力が必要な箇所限定という形で使われていくのだろう(図18)。

図15 BDMインタフェースはS08のDebug Featureにあわせた部分。SET/CLEAR/TOGGLEやUltra-low-powerはS08と同様の拡張。気になるのはRapidIOで、これはColdFire V1のみの拡張である

図16 32ビットのプロセッサバスを16ビットずつ2つのI/Oポートに割り当てたということだろう。したがって、2つのI/Oポートの動作は同期することになると思われる

図17 alternate addresses経由もやはりメモリと同じ扱いになるから、通常のI/Oポートのような使い方はできないということになる

図18 コア50MHz動作時に2.410MHz@16ビット≒4.8Mバイト/sといったところで、DMAなどを使わないケースとしてはかなり高速ではある。ただGPIPを使っても3.4Mバイト/s程度の数字が出ている(これも汎用I/Oポートとしてはかなり高速だ)ことを考えると、わざわざRapidIOを使うニーズがどの程度あるのかはちょっと疑問だが

次に(これはS08も同様だが)Ultra-Low-power featureについてちょっと触れておく。もともとColdFireにしろ、S08にしろ、それほど消費電力は大きくない。例えばS08系コアの代表例としてMC9S08RG60の数値を見てみると、Vddは-0.3~+3.8V、Idd maxは120mA程度。待機時消費電力(typ.)はRun状態で500μA(2MHz)~3.8mA(16MHz)、Stop modeに入ると100nA~600nA(いずれもVdd=3Vの場合)である。これは(PC向けのCPUと比べると)十分低いとも言えるが、実際の用途を考えるとまだ十分ではない場合もある。例えば火災報知器内部のコントローラなどという場合、一度設置すると数年間は無交換で動作することになるから、消費電力をもっと下げてほしいというニーズは常に存在する。このため、低電力動作モードやクロックゲーティング、周辺回路の統合などをより高度に図ったというのがこのfeatureの中核となる(図19)。

図19 待機時消費電力を1μA未満に落すとなると、動作クロックの生成電力すらも問題になってくる。クロックソースと発振器を内蔵したというのはこれに向けた話である。また長期間待機という状態でも、カウンタ類が動作していないと「どの位待機したか」とか「何回待機したか」などが分からなくなる。そこでこうした用途に向けた専用カウンタまで用意したという話

ただCPUコアそのものの消費電力はそれなりに低いので、クロックゲーティングやクロックツリー関係の見直し、動作状態でコアのどの部分を活性化するかといった取捨選択、デバイス単位の電力管理などが中心となる(図20)。加えて電圧レギュレータにいくつかの動作モードを追加する形で、さらなる省電力を目指す(図21)ほか、クロックソースの見直しも図った(図22)としている。

図20 CPUのクロックゲーティングというよりは、周辺回路を含めたMCU全体でのクロックゲーティングがむしろ重要になってくるのだろう。特にI/O関係はドライバに電力を供給するか否かでだいぶ待機時消費電力が変わってくる。幸いなことに、こうした用途では性能(デバイスの立ち上がり時間)などの条件はかなり緩やかだから、思い切ったPower Down Modeの設定が可能になるだろうと思われる

図21 内部のVREG出力を一定値(2.42V)とせず、柔軟に電圧を変更できるようにしたという話。待機時はもっと電圧を落としても大丈夫であり、VREG出力を落すとIDDも結果的に減るという仕組み。もっと大規模なMCU/MPUでは、ブロックごとに最適な電圧を供給するように複数の電圧を生成したりするが、この規模のMCUではむしろVREGの回路規模が大きくなってしまい逆効果であろう

図22 1μAで動作する、従来よりも正確な32KHzの発振器を内蔵したという話