15
2005/11/17 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学 大学院理工学研究科 電子物理工学専攻 松澤

計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 1

計算機論理設計 (A) (Computer Logic Design (A))

東京工業大学大学院理工学研究科電子物理工学専攻

松澤 昭

Page 2: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 2

6.数値・論理演算器および乗算器

Page 3: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 3

数値・論理演算器

計算機では加減算のほかにビット単位でAND,ORなど実行する。

加算器に手を加えてさまざまな論理演算をできるようにしたものを数値・論理演算器Arithmetic Logical Unit: ALUと言う。

制御信号

モード切替

Page 4: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 4

ALUの論理動作

は重要な機能

Page 5: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 5

ALUユニットの基本演算

加算

減算

作) (各ビットの反転操

が減算に使われるB 1加算はCn=1することで実現 Generate 信号がG出力にQ出力にはA+Bが現れる

Page 6: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 6

ORを用いた桁上げ信号の生成

P信号はこのように取っていた

iii BAP ⊕=

の状態iC

Page 7: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 7

桁上げ保存加算器

11010101 A+B+Cの本当の答え

Sumを求めるときに桁上がりを考慮しない。

桁上げ信号は独立に出力する。( 終結果は二つを足さなければならない)

Page 8: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 8

Wallence Tree3個の入力の加算を2個の加算に変換

多入力の加算はCSAのツリー構造で実現できるこれをWallence Treeという

これらは入力データ数を表している(ビットではないことに注意)

多入力の加算(例えば乗算器)に用いる

Page 9: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 9

乗算器

Aは横方向展開 Bは縦方向展開

(ビットシフト)

乗算結果はm+n桁になる

Page 10: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 10

標準乗算器

アキュムレータ メモリレジスタ AXレジスタ カウンター

乗数

被乗数

ハードウエアを 小にして乗算を行う方法である。

MR0=1ならば被定数がそのまま出力されるMR0=1ならば全てのビットがゼロになる

Page 11: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 11

標準乗算器の乗算手順

乗数

被乗数

MRAX

前の加算結果が入っている

前の加算結果が入っている

Page 12: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 12

乗算アルゴリズム

入力符号の処理

出力符号の処理

乗算

カウンター値を1増加

Page 13: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 13

反復セル型配列乗算器

これらは部分積生成ユニットで同時に作られる。

CLAにより高速化可能

FA

ACin

Cout

B

S=A+B+Cin

Page 14: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 14

配列乗算器

4bずつに分解

4bの乗算は8bになる

複数入力の加算

ビット分割の乗算とCSAによる

複数入力による加算を用いる

Page 15: 計算機論理設計 (A) (Computer Logic Design (A))...ALUユニットの基本演算 加算 減算 (各ビットの反転操作) Bが減算に使われる 1加算はC n=1することで実現

2005/11/17 計算機論理設計 A.Matsuzawa 15

宿題

• 1)4ビットの全加算器を用いて加算・減算器を構成せよ。

• 2)図4.24を参考にして、図4.23に示した標準乗算器でA=12, B=9の乗算動作をトレースせよ。

• 3)図4.26に示した構成の反復セル型配列乗算器を4bx4bとしたときに、4b, 4bの入力が与えられてからも遅い信号が出力されるまで何段の論理ゲートを

通るか計算せよ。ただし、全加算器は図4.3に示した論理回路を用いるものとする。