人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

情報通信で、4ビットのフルアダー回路及び演算結果の状態を表す、Z、N、V、Cフラグの回路を設計せよ。
ただし4ビットの最上位ビットはサインビットとする。
Vフラグに関しては、なぜオーバーフローが検出できるのか証明せよ。
このような問題がありまして、分からないのですが、どなたか分かる方はいらっしゃいませんでしょうか?

●質問者: linkin
●カテゴリ:学習・教育 科学・統計資料
✍キーワード:オーバーフロー サイン ビット フラグ 最上
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● yo-kun
●100ポイント

http://laputa.cs.shinshu-u.ac.jp/~yizawa/logic/chap9/chap9.html

まず↑のページの9.3.1.2の2進加算器のところにあるアプレットを見てください。

(注意:9.3.1.3の2進加減算器のところではありません)

ここのS1,S2,S3,S4が演算結果です。S5がCarryです。

さて、それぞれのフラグですが…


Z=NOT(S1 OR S2 OR S3 OR S4)

つまり演算結果のすべてのビットが0でなければZ=1になりません。


N=S4

最上位ビットがサインフラグなのでS4そのものです。


C=S5

これはCarryそのものです。


V=S5 XOR S4

演算結果はCarryであるS5を含めて5ビットと考えることもできます。

この場合-16?15が表現できる範囲となります。


-16:10000

-15:10001

-14:10010

-13:10011

-12:10100

-11:10101

-10:10110

-9:10111

-8:11000

-7:11001

-6:11010

-5:11011

-4:11100

-3:11101

-2:11110

-1:11111

0:00000

1:00001

2:00010

3:00011

4:00100

5:00101

6:00110

7:00111

8:01000

9:01001

10:01010

11:01011

12:01100

13:01101

14:01110

15:01111

さて、このうち演算結果が4ビットで表現できない-9以下および8以上の結果がオーバーフローと考えられ、それらの上位2ビットは必ず異なっています。

逆にオーバーフローとならない演算結果(-8以上7以下)のものに関しては上位2ビットが同じであることがわかります。

従ってオーバーフローは(S5 XOR S4)で検出できることになります。


P.S.

説明が下手で申し訳ありません。

回路に関してはHA,FAなどの略記が認められていないのであれば同じページの9.2 半加算器と全加算器をそれぞれHA,FAの箇所に当てはめてください。

◎質問者からの返答

説明下手なんてとんでもございません。

詳しく教えて頂き、本当にありがとうございます。

実はレポートの問題の1つでこのような問題が出たのですが、全く分からないで困っておりました。

まだ解らない問題もありますが、とりあえず一歩先に進む事ができました^^


2 ● l-lol-l
●30ポイント

1ビットのフルアダーを4個連結する。

演算結果のnandをとってZフラグとする。

アダーは減算しないのでNフラグは常に0とする

最上位ビットがサインビットというだけでは、負の数に関する仕様が不明です。

まあ、普通に考えると、

最上位のアダーのキャリー出力をそのままCフラグとする

2番目のアダーのキャリー出力をそのままVフラグとする

でどうでしょう。

なにがわからんかでお答えも変わりますが。

◎質問者からの返答

この質問に回答して頂きありがとうございます。

ごめんなさい、勉強不足で何処がどう解らないのかもよくわからないないんですよ^^;

真剣に回答して頂きありがとうございましたm(_ _)m

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ