next up previous contents index
Next: バス Up: データ処理部 Previous: データ処理部   Contents   Index

タイミング

データ処理部の詳細を説明する前に, データの移動や処理がどのクロックタイミングで行われるかを示しておこう。 まず大原則として,すべてのデータの移動や処理は$\phi _1$のタイミングで行う。 データ処理部内におけるデータの移動以外にも,制御データや, CPUと外部のメモリーや周辺装置とのデータも, 原則として$\phi _1$で移動するものとする。

$\phi _2$のタイミングは入出力のループが起きないよう, パナマ運河方式をとるための,いわば交通整理のためやむをえず導入する。 しかし,ループを作らないところならば, $\phi _2$のタイミングで処理をしてもよいはずである。

データ処理部を注意深く見てみると,ALUには前後にレジスタが付いており, ALUの処理を$\phi _2$のタイミングで行っても,何ら問題がないことがわかる。 したがって,最初の$\phi _1$で入力レジスタにデータを入れ, 続く$\phi _2$で算術演算や論理演算を行って出力レジスタにデータを格納し, 次の$\phi _1$で出力レジスタからデータを出せば, 1クロック周期の節約ができることになる。

こうした$\phi _1$のタイミングを待たずに処理することにより, 高速化を果たしている。 さらに,どの命令も1クロック周期で実行できることになるため, 後に述べるパイプライン処理がやりやすくなるメリットもある。

このような半サイクル後に命令を実行するには, 最初の$\phi _1$のタイミングで$\phi _2$における制御信号も用意しておき, 図 9.1に示す遅延回路の半分の回路を利用して, 半サイクルずらして制御線に載せればよい。

Figure 9.1: $\phi _1$の制御信号を$\phi _2$で送出する回路
\begin{figure}\centering
%
\unitlength 1pt
\begin{picture}(188,51)
\put(0,0){\s...
...6.3){\makebox(0,0)[lb]{{\footnotesize\mc 制御信号}}}
\end{picture}
\end{figure}


next up previous contents index
Next: バス Up: データ処理部 Previous: データ処理部   Contents   Index
Yoichi OKABE 2008-03-29