コンピュータ構成原理 - ノート - 第 2 章

2. 第 2 章 - データの表現と操作

1. 桁上げ方式(2進数、10進数)

 

2.BCDコード(残り3コード、2421コード)

 

エンコーディング

関数

利点

短所

BCDコード

各 10 進数を4ビットのバイナリ コードに変換します

高精度で、デジタル管やLEDなどの表示デバイスでの直接使用に適しています。

エンコード長が長く、ストレージ容量を多く消費し、動作速度が遅い

3ヤード以上

各 10 進数を3桁の 2 進数コードに変換します

BCDコードに比べてコード長が短く、記憶容量が比較的小さい

操作が複雑、実装が難しく、精度が低い

2421ヤード

各 10 進数をそれぞれ2桁、4桁、2桁、1桁のバイナリ コードに変換します。

エンコード長が短いため、占有されるストレージ容量を削減できます。

操作が複雑、実装が難しく、精度が低い


3. 元コード、逆コード、補コード

加算でも減算でも、値は2の補数に変換されて演算されます。

補数 - (符号ビット) が演算に関与します ——


3、定点小数

元のコードの範囲は1.111 1111 ~0.111 1111 、つまり-127/128から127/128
の範囲は1.000 0000~0.111 1111 、つまり-127/128から127/128の範囲は1.000
です。 0000~0.111 1111 、つまり-1から127/128


なぜ最小値が -1 なのかというと、これは 10 進数だからです。小数点は-1〜

(1.0000000) 元のコード = (1.0000000) 補数コード = (1.0000000) 補数コード = -1

-1.0の元のコードは、純粋な 10 進数の元のコードでは数式を表現できません。

-1.0 の元のコードを取得できません

ただし、純粋な 10 進数の補数表現式を通じて -1.0 の補数を取得できます。

[-1.0]補数=2+(-1.0)=1.000 0000

3. 有効性 (パリティコード - 1 を参照)

不十分:

奇数個のエラーのみを検出できます。(偶数個のエラービットがある場合、検出されません)

エラー検出のみに使用でき、エラー修正には使用できません。

利点:

この回路は実装が簡単です - XOR 回路を使用すると、1 の数を決定できます。

  1の合計は偶数です - XOR の結果は 0 です (結果は XOR テーブルから確認できます。0 XOR 1 の場合、1 になります)


4. 算術論理演算装置 (ALU)

(1) 1 つの全加算器 (FA - 全加算器)


 入力: 2 つの数値 (0 / 1)、下位ビットのキャリー

出力:キャリー信号、出力カウント(0/1)

2 AND ゲート、2 XOR ゲート、1 OR ゲート

カプセル化: n 個の 1 ビット全加算器で n ビット加算器 (シリアル加算器) を形成できます - カプセル化後、データを直接入力でき、対応する結果を得ることができます - 関数のアイデア - 車輪の再発明を回避します (思考 - 自己を理解する)最適化 - 改造!!!)

(2) 並列加算器

 

(3) まとめ

 

(4) 並列加算器(プラス)

利点: 並列実行、結果はほぼ同時に生成されます (結局のところ、ハードウェアの速度は想像を超えています)

欠点: ビット数が増えるほど、ハードウェア回路が複雑になります。-- 高コスト

最適化: 4 ビット + 4 ビット (スタックアップしない)

 

(5) 相補加減算演算子(-フラグビットを含む)

加算と減算 - 適用可能 - 符号なし + 偶然の一致 (すべて適用可能!!!)


初級 (オーバーフローします - 問題があります!!!)


 拡張バージョン - オーバーフローを解決するために 4 つのフラグ (フラグ ビット) を追加 - キャリーとボロー (符号なし排他的)


5. 固定小数点数のシフト演算(ちょっと簡単)


6. オリジナルコード - 乗算

(1) 1ビット乗算

(1) 手計算(小数と整数 - 同様)


7. 元のコード - 分割

回復剰余法


改善されました - なぜなら、あなたがネガティブなときだからです。そうすれば、左にシフトする必要があるので、分割することができます。

加算と減算の代替メソッド (剰余メソッドは復元されませんが、最後のステップは復元する必要があります)


 知らせ:

(左シフト) は (加算と減算の回数) より 1 少ないです。

(加減算回数): (n+1) || (n+2)

(除数) は (配当) より小さくなければなりません。そうでない場合は、最初のステップで終了します。

(配当減算が0未満のため)

(したがって、固定小数点 10 進除算では、除数が被除数より大きい計算を表現できません!!!)

8. 補数 - 除算

訂正: 約数は11.0101です

 

9. データの保存と配置(ビッグエンディアンとリトルエンディアン)

(1) 境界アライメント(時空間バイト変換)


10. 浮動小数点数表現(難点※※※※※※)

科学的記数法 - 表現

浮動小数点数 - 表現方法

(1) 正規化

2^5 : 304.231 —— 右ゲージ —— 2^7 : 3.042 (小数点は移動せず、仮数部は右に移動します)

2^5 : 0.00123 —— 左ゲージ —— 2^3 : 0.123 (小数点は移動せず、仮数部は左に移動します)

利点 - 集中的な読書の増加 (無効な 0 の位置を回避)

欠点—指数コードの範囲を超える場合、指数コードの番号を変更する必要がありますか? ? ? ?

賢いポイント: オーバーフローを防ぐために二重符号ビットを使用します。

テストされていない点 - 正規化 - 表現できない数値がある - 表現

 

(2) 標準化された機能

上記には間違いがあります: 3 ビット左にシフトした後、次のようになります: 1.0100 000

(3) まとめ


11、IEEE(アイトリプルイー)

(1) フレームシフト

(2) フォーカス(範囲表示、換算)

知らせ:

注文コード - すべて 0、すべて 1 には特別な目的があります

真の値 = フレームシフト – オフセット

2進数(本体表示)-10進数-相互変換!

 


 

12. 浮動小数点数の演算

(1) 10進数


 

(2) 2値計算

 

(3) [0丸め1方式]と[定数設定1方式]

 

(4) 必須の型変換

 知らせ:

いつ起こるか: コンロス、オーバーフロー

(5) まとめ

 

おすすめ

転載: blog.csdn.net/Pan_peter/article/details/132138968