アプリ版:「スタンプのみでお礼する」機能のリリースについて

この(5)と(6)はどう考えたらいいか教えてほしいです。

(5)は普通に足し算して、繰り上がりの(1111 0000)がOF、計算結果の(10000 0001)がSFになるのでしょうか?

「この(5)と(6)はどう考えたらいいか教」の質問画像

質問者からの補足コメント

  • (6)は、クロック1周期が1/(2×10^9)だから、クロックが8×1000=8000個あるときは、
    8000×0.5×10^-9=4.0×10^-6で、
    4マイクロ秒でしょうか。

      補足日時:2024/02/10 20:13

A 回答 (3件)

No.2補足訂正です。


>具体的には「最上位bitが反転したらOF=1」になります。
と自分が理解してたつもりでしたが不正確だったので忘れてください。

>No.1さん>その右隣の桁の 0 が SF の値
>は間違ってると私は思います。
も訂正です。すみませんでした。
>その右隣の桁の 0 が SF の値
とは8bit目のことなのに私の誤解でした。私も同意です。

「幽霊(存在しない)9bit目に桁あふれしたらOF=1」の方が文字通りだし
理解し易いでしょう。

「2の補数表現」は加算回路だけでマイナス数も扱える仕組みです。
 (「2の補数表現」で8bitで表せる数値の範囲は        )
 (十進数で-128~+127                   )
 (二進数で10000000~01111111              )

OF(オーバーフロー、桁あふれ)は
8bitでは桁が足りなくて表現しきれなかったことを表します。
(もし9bit目があれば事足りたのですが)
表しきれないものは失われるしかありませんが、せめて
そのエラーをOFに残すからそれ見て別法で対処して、という仕組みです。

あと(6)に関してはその通りです。
CPIってクロックパーインストラクション(1命令に要するクロック数)ですよね
ならその計算通りです

さっきのもそうですが設問の説明がちょっと不親切な気がします。
部分引用みたいな形なのでしょうがないのかもですが。

No.2補足欄
>それでは、今回は
>OFは、1
>SFも、1
>ということですか?
ちと違います。
0000_1000 + 1111_1001 = 1_0000_0001
なので
幽霊9bit目に桁あふれしてるのでOF=1は合ってますが
8bit目は0なのでSF=0です。

自分でわかってるつもりでいざ復習してみるとボロが出てしまいました。
関係者の皆様、申し訳ありませんでした。
    • good
    • 1
この回答へのお礼

詳しくありがとうございます!
理解できました!

お礼日時:2024/02/11 01:34

>(5)は普通に足し算して、繰り上がりの(1111 0000)がOF、


>計算結果の(10000 0001)がSFになるのでしょうか?
んと。OFもSFも「フラグ」という1bitの値です。
OFは「オーバーフラグ」、算術演算の結果、8bit値が「表現可能範囲を超えた場合に1になるフラグ」です。
具体的には「最上位bitが反転したらOF=1」になります。
SF(サインフラグ)は「最上位bitそのもの」です。
「2の補数」表現では最上位bitが1なのはマイナス値を意味します。
No.1さん>その右隣の桁の 0 が SF の値
は間違ってると私は思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。それでは、今回は
OFは、1
SFも、1
ということですか?

お礼日時:2024/02/11 00:30

(5)


00001000B + 11111001B = 100000001B
右辺の最上位の 1 が OF の値。
その右隣の桁の 0 が SF の値。

(6)
知らんがな。
単位換算が 2 [GHz] = 2・(2^10)^3 [クロック/秒] なら、
所要時間 8 [クロック]・1000 は
(8・1000 [クロック]) / (2・(2^10)^3 [クロック/秒]) ≒ 0.0000037 [秒].
約 4 [μ秒]でいんじゃない?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A