6/30/2008 <計算機工学> 1
第5章 順序回路
part II
小林広明
2008年6月30日
順序回路の基本素子:
SRラッチ
• ラッチ(latch)
– 1ビット(2状態:0,1)を記憶 – 2入力S,R,2出力Q, Q (状態の出力) 回路図 動作特性(タイミングチャート)• 例 SRラッチの基本動作
– S入力に1、R入力に0 • 出力Qは1(Q=0) • フリップフロップのセット – S入力に0、R入力に1 • 出力Qは0 (Q=1) • フリップフロップのリセット – S入力,R入力ともに0 • 現在の内部状態を保持 • フリップフロップの記憶状態 – S入力、R入力ともに1 • Q,Qがともに0になり、それ以降の入力によ りQ,Q不定6/30/2008 <計算機工学> 3
非同期式と同期式回路について
• 非同期回路
– 特定の動作時刻を持たず,入力の変 化したときに動作 • 入力が即座に状態や出力に反 映 • 過渡的な信号の変化を拾う可能 性あり• 同期回路
– 外部から供給されるクロックによって生 成された周期性クロップパルスで与 えられる時刻においてのみ動作し, 他の時間では入力のいかんにかか わらずその状態を保持する • 現在の計算機のほとんどは,同期 回路で実現 同期式順序回路での クロックの表示 周期Tのクロック信号波形と 動作時刻ハザード:信号の伝搬遅延による回路の誤動作
例 図(a)の回路で(X,Y)が (1,1)→(0,0) へ変化 • 理想状態: – ラッチ入力(S,R)は(0,1)→(0,0)になる ために、出力は(0,1)のまま変化な し(図b) X Y XOR AND S R Q Q X Y S R Q Q 動作不安定 動作不安定 X Y S R Q Q • 実際には。。。 – 例えば、前段の回路の遅延により Yの信号の変化がXの変化よりわ ずかに遅れたとし、さらにXORが ANDより遅延が大きかった場合、 過渡的に(S,R)が(1,1)となり不安定 状態となる(図c) ハザードによる 禁止入力の発生 (a)6/30/2008 <計算機工学> 5
フリップフロップ:同期回路メモリ素子
• フリップフロップ
– 決まった周期の連続したパルス (クロック)を用いたタイミング 調整によりハザードを解決す るメモリ素子 – (クロック)同期型回路 X Y S R Q Q CLK X Y XOR AND S R Q Q CLK Valid Valid Invalid FF activated at Ti FF activatedat Ti+1 Data held エッジトリガ型フリッププロップ (クロックの立ち上がり、または 立ち下がりで動作) サンプリングポイントTi Ti+1
SR-フリップフロップ(SR-FF)の論理的記述
• SRフリップフロップ
– 取り得る状態 • 状態1 0を記憶(Q=0) • 状態2 1を記憶(Q=1) – 入力 • S,R、Q(現在記憶している状 態) – 出力 • Q’ 時間的なずれを考慮して, 記憶していた値Qと次の状 態Q’を区別する Q Q’ クロックt
クロックt+1
(a) ブロック図6/30/2008 <計算機工学> 7
SR-FFのの論理的記述(続き)
• (エッジトリガ型)SRフリップフロップ • クロックの立ち上がり、または立ち下がり 時に入力をチェックし、その入力が – S入力に1、R入力に0 • 出力Qは1 • フリップフロップのセット – S入力に0、R入力に1 • 出力Qは0 • フリップフロップのリセット – S入力,R入力ともに0 • 現在の内部状態を保持 • フリップフロップの記憶状態 – S入力、R入力ともに1 • 出力不安定 禁止入力SR-FFのの論理的記述(続き)
• 特性方程式
– 順序回路を表現する論理式• SR-FFの特性方程式
– SR=0 • 禁止入力 – Q’ = SR+QR =(S+Q)R = (S+Q)+R – 回路図と一致 • SR=0から • Q’ =SR+SR+QR=S(R+R)+RQ =S+RQ 記憶 リセット リセット セット セット 記憶6/30/2008 <計算機工学> 9
• SR-FFの禁止入力を解消(SR入力
が11にならないように回路を工
夫)
両方の入力が同時に1の時は, 現在記憶している値の否定(Q) を出力 – J=0,K=0 Q’=Q – J=1,K=0 Q’=1 – J=0,K=1 Q’=0 – J=1,K=1 Q’=QJK-FF
(真理値表)JK-FF(続き)
• SR-FFの禁止入力を解消 両方の入力が同時に1の時は, 現在記憶している値の否定 (Q)を出力 – J=0,K=0 Q’=Q – J=1,K=0 Q’=1 – J=0,K=1 Q’=0 – J=1,K=1 Q’=Q • JK-FFの特性方程式 – Q’=QJ+QK JK-FFはもっとも一般的なFFで、基本素子として 他の順序回路の実現によく使われる J K Q Q CK6/30/2008 <計算機工学> 11
JK-FFの実装
エッジトリガ型JK-FF
D-FF
• D‐FF(Data Flip-Flop, または Delay Flip-Flop)
– 入力を内部に記憶する
– 入力を1クロック遅延させて出力
• 特性方程式
6/30/2008 <計算機工学> 13
T-FF(Toggle Flip-Flop)
• トグル(状態の反転)動作を行うフリップフロップ
– 入力T=0 出力Q’=Q – 入力T=1 出力Q’=Q• 特性方程式 Q’=QT+QT
SR-FF, JK-FF, T-FF, D-FFの関係
• 特性方程式
– RS-FF Q’=S+RQ, SR=0 – JK-FF Q’=QJ+QK – T-FF Q’=QT+QT – D-FF Q’=D• 励起表(Excitation Table)
Q Q’
Xは任意の値を 意味する Q Q’ RS,JK,T,D??6/30/2008 <計算機工学> 15
JK-FFを用いたD-FFの実現
JK-FFを用いたD‐FFの回路 JK入力生成のためのカルノー図 励起表Q Q’
QとDから、JKへの適切な入力を 組み合わせ回路で実現する D-FFJK-FFを用いたT-FFの実現
J=T K=T 励起表Q Q’
QとTから、JKへの適切な入力を 組み合わせ回路で実現する 0 1 X X 0 1 0 1 T Q X X 0 1 0 1 0 1 T Q6/30/2008 <計算機工学> 17
D-FFを用いたJK-FFの実現
励起表Q Q’
QとJKから、Dへの適切な入力を 組み合わせ回路で実現する 回路図??順序回路の論理設計手順
I. 仕様より必要な状態集合,入出力集合を 求める II. 各状態,入力,出力に2進符号を割り当て る III. 動作を状態遷移表、または状態遷移図で 表す IV. フリップフロップの種類を決める V. 状態遷移表をからFFの入力を生成する組 合せ回路の真理値表を求める VI. 真理値表より論理関数を求めて,組合せ 回路の論理回路を得、それとFFを組み 合わせて順序回路を完成させる FF FF 組合せ回路 順序回路の一般的構成6/30/2008 <計算機工学> 19
同期回路の応用:カウンタ
(Counter)
• 入力端子に入力される1の数を数える
– 例 8進カウンタ 000, 001, 010, 011, 100, 101, 110, 111, 000, ... 内部状態は8個 3ビットを表現するために 3つのFFで実現可能 A, B, C: 3つのFFの現在の状態 A’, B’,C’: 3つのFFの次の状態 Z: 8から0になるときに1を出力 (桁上げ出力) 入力/Z8進カウンタの動作特性
• タイムチャートによる動作特性表現
– 入力,内部状態,出力の時間経過における動作 入力 (クロック信号)6/30/2008 <計算機工学> 21
8進カウンタの
D-FFによる実現
• D-FFに対する適切な入力を組合せ回路で実現
8進カウンタの
D-FFによる実現(続き)
• D-FFの特性方程式: Q’=D
D-FFの入力DはQ’の値を用意すれば良い カルノー図 Inputs Outputs6/30/2008 <計算機工学> 23
8ビットカウンタの
D-FFによる実現(続き)
3ビット (8進) カウンタ回路
• JK-FFではQ=0のときJ(=Q’)が、Q=1のときはK(=Q’)が状態変更の決
定権を持つことに注意して変換表を作成する
6/30/2008 <Computer Engineering> 25もし
D-FFs の代わりにJK-FFs をつかうなら …
QA QB QC Q’A Q’B Q’C JA JB JC KA KB KC 0 0 0 0 0 1 0 0 1 * * * 0 0 1 0 1 0 0 1 * * * 1 0 1 0 0 1 1 0 * 1 * 0 * 0 1 1 1 0 0 1 * * * 1 1 1 0 0 1 0 1 * 0 1 0 * * 1 0 1 1 1 0 * 1 * 0 * 1 1 1 0 1 1 1 * * 1 0 0 * 1 1 1 0 0 0 * * * 1 1 1 *:Don’t care• JK-FFではQ=0のときJ(=Q’)が、Q=1のときはK(=Q’)が状態変更の決
定権を持つことに注意して変換表を作成する
もし
D-FFs の代わりにJK-FFs をつかうなら …
QA QB QC Q’A Q’B Q’C JA JB JC KA KB KC 0 0 0 0 0 1 0 0 1 * * * 0 0 1 0 1 0 0 1 * * * 1 0 1 0 0 1 1 0 * 1 * 0 * 0 1 1 1 0 0 1 * * * 1 1 1 0 0 1 0 1 * 0 1 0 * * 1 0 1 1 1 0 * 1 * 0 * 1 1 1 0 1 1 1 * * 1 0 0 * 1 1 1 0 0 0 * * * 1 1 1 *:Don’t care6/30/2008 <Computer Engineering> 27 QAQB QC 00 01 11 10 QAQB QC 00 01 11 10 0 0 0 * * 0 * * 0 0 1 0 1 * * 1 * * 1 0 0 0 * * 0 0 * 0 0 * 1 1 * * 1 1 * 1 1 * 0 1 1 1 1 0 * * * * 1 * * * * 1 1 1 1 1
もし
D-FFs の代わりにJK-FFs をつかうなら …
• 現在の状態から適切なJK入力を生成する組み合わせ回路を設計する
JA JB JC KA KB KC = QB QC = QB QC = QC = QC = 1 = 1 JA KA QA QA JC KC QC QC JB KB QB QB 1 CLK Zパターン検出回路
• Ex. 1ビットずつ入力されるデータから特定のビットパターンを検出する
パターン”0110”が検出されたら1を出力する ステップ 1: 0110-パターン検出回路の状態遷移図を設計するThere are four states: *(initial): 00 State 0: 01 State 01: 10 State 011: 11
Input X
6/30/2008 <Computer Engineering> 29
D-FFを利用した0110パターン検出回路
ステップ2: 状態遷移表(真理値表)を求め、FFの入力を生成する組み合わせ回路の論理式を導出する
D-FFを使用するとし、D入力を生成する回路を現在の状態Qと入力Xから設計
State transition table (truth table)
Karnaugh Map
Logical Equations for inputs of D-FFs
6/30/2008 <計算機工学> 31
レジスタ: D-FFsによるオンチップメモリ
– レジスタとは • プロセッサ内部での一時記憶 プロセッサ外部のメモリアクセスより高速に読み書き可能 計算は常にレジスタを介して行われる レジスタの機能 • LD=1の時, デー タをレジスタに読 み込む • LD=0の時, デー タを保持 • CLR=1の時, D-FF を0にリセット 4ビットレジスタのブロック図 D-FFによる4ビットレジスタの実現コンピュータの基本構成
メモリ部 プロセッサ部6/30/2008 <計算機工学> 33