クロックとは ーーマイコンにクロックが必要な理由:Q&Aで学ぶマイコン講座(88)(3/5 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「マイコンのクロック」についてです。
FFを3段パイプラインに適用
3段パイプラインのフェッチ回路、デコード回路、演算回路の演算結果をFFでつないでみましょう。
図3は、図1(b)の「クロックで各処理が同期していない場合」で示した1番目の命令のフェッチ、デコード、演算にD-Latchを当てはめた場合です。命令フェッチ回路、命令デコード回路、演算回路がD-Latchに挟まれています。
最初に、フェッチ回路で命令をフェッチしたデータを、D-Latchが1サイクル目のクロックの立ち下がりで取り込み、次のサイクルまで保持します。送られてきたフェッチデータの最初が不安定だったり、1サイクルの期間に満たなかったりしても、D-Latchが1サイクルの期間保持するため、次段への伝搬に支障はありません。
次に、命令フェッチ回路のD-Latchから送られたデータを命令デコード回路がデコードします。デコード結果が1サイクルに満たなくても、D-Latchが1サイクルの期間保持するため、問題なく次段の演算回路に伝搬できます。
このように、D-Latchを使いクロックで同期すると、フェッチ、デコード演算の期間を1サイクルに合わせることができます。
実際のクロック同期回路
ここでは、クロックの同期動作を理解しやすいように3段パイプラインとD-Latchを例に挙げて説明しました。しかし、実際のフェッチ回路、デコード回路、演算回路などの論理組み合わせ回路では、各回路の中にFFの機能が含まれており、図3に示したように、組み合わせ回路とFFが明確に分かれていません。また、D-LatchやMS FFを使うと論理規模が大きくなるため、もっと簡単な回路で同期をとる場合もあります。
マイコンの内部回路は、マイコンメーカーによっていろいろな工夫がされており、さまざまな方式が使われています。さらに内部回路は、社外秘のため公開されていません。ここで紹介した回路は、あくまで組み合わせ回路のクロック同期の目的と動作原理を説明するために簡略化した説明図です。
Copyright © ITmedia, Inc. All Rights Reserved.