next up previous
: データパス構成の準備2~レジスタファイル : マイクロプロセッサ演習 : はじめに~データパスと制御

データパス構成の準備1

まずデータパスを構成する論理要素について触れておこう。 MIPS の具体的な機能ユニットには 2 種類の論理要素がある。 一つは状態を保持できる状態論理要素、もう一つはデータの値に何らかの 操作を行う組み合わせ論理要素である。 論理回路の授業で、状態論理要素の例としてフリップフロップ、 組み合わせ論理要素の例として加算器等を学んだことを覚えているだろうか。

2 の要素を、この 2 つに分類すると以下の様になる。 なお、データパスで多く使われるマルチプレクサについても分類に加えた (マルチプレクサに関しては演習第八回参照)。

状態論理要素がその保持する値を更新するタイミングには、さまざまな方式がある (例えば、教科書下巻付録 B を参照) が、以下ではエッジ・トリガ・クロック方式 を中心に話を進める。 なお、クロックエッジには立ち上がりおよび立ち下がりがあり、それぞれに応答する 状態論理要素が考えられる。

イメージをつかむため、クロックエッジをトリガとする D フリップフロップの動作を図 3 に示した。立ち上がりエッジと立ち下がりエッジをトリガとした動作をそれぞれ示した。

図 3: クロックエッジをトリガとする D フリップフロップの動作。(a) 立ち上がりエッジをトリガとする場合 (b) 立ち下がりエッジをトリガとする場合。どちらの動作となるかは D フリップフロップの構成により異なる。
\includegraphics[scale=0.8]{eps/dff}

このようなクロック・エッジ・トリガ方式で状態の更新を行う状態論理要素と、 組合せ論理要素を組み合わせると、図 4 のようなデータ処理方式が可能になる。

図 4: 状態論理要素と組み合わせ論理回路の組合せによるデータ処理。
\includegraphics[scale=0.8]{eps/clockedge}
4(a) では、状態論理要素に保持される値の更新はクロックの立ち上がりで行ない、その間に組合せ論理回路にて演算を行なう、という方式である。 同様に、図 4(b) のようにフィードバックがある場合も正しく動作する。 図 4(a) は次回の「マルチサイクルのデータパス」で用いられる 手法であり、 図 4(b) は今回の「単一サイクルのデータパス」で用いられる 手法である。 なお、いずれの場合も、クロックサイクル時間を短縮する際に考慮すべき 主要な要素は、組合せ論理回路の部分の演算にかかる遅延時間であること に注意しよう。

平成17年1月12日