計算機システム 自習 CA0601:演算器arch.naist.jp/Lectures/ARCH/ca0601/ca0601j.pdfUX4 IJX5...

44
計算機システム 自習 CA0601:演算器 http ://arch.naist.jp/Lectures/ARCH/ca0601/ca0601j.pdf Copyright © 2021 奈良先端大 中島康彦 1

Transcript of 計算機システム 自習 CA0601:演算器arch.naist.jp/Lectures/ARCH/ca0601/ca0601j.pdfUX4 IJX5...

  • 計算機システム

    自習 CA0601:演算器

    http://arch.naist.jp/Lectures/ARCH/ca0601/ca0601j.pdf

    Copyright © 2021 奈良先端大 中島康彦

    1

    http://arch.naist.jp/Lectures/ARCH/ca0601/ca0601j.pdf

  • 2

  • 基本演算

    3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 実用的な演算器

    13

  • 14

  • どうすれば段数を減らせるか?

    コンピュータシステムのあらゆる階層に応用されている基本的な考え方

    まず自分で考える!

    思いついた人は素質有り

    15

  • どうすれば段数を減らせるか?

    a0 b0a1 b1a2 b2a3 b3a4 b4 0a5 b5a6 b6a7 b7理論上は、より下位ビットを全て使って計算可能だが

    16

  • どうすれば段数を減らせるか?

    キャリー伝搬信号(Propagate)とキャリー生成信号(Generate)を束ねていく

    G10=1P1=1 G0=1

    G1=1

    上位桁 下位桁

    P10=1 P1=1 P0=1

    下位桁でCが発生上位桁が伝搬状態なら全体G=1

    下位桁に関わらず上位桁でCが発生なら全体G=1

    下位桁が伝搬状態上位桁も伝搬状態なら全体P=1

    17

  • どうすれば段数を減らせるか?

    N段をLogN段に高速化する手法は様々な場所で使われる

    18

  • シフト回路

    01000000( 64)左1ビットシフト← 10000000( 128)*2と同じ右1ビットシフト→ 01000000( 64) /2と同じ符号付なら 10000000(-128)右1ビットシフト→ 11000000( -64) 符号を複写

    符号の有無

    シフト量

    19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  • 29

  • 30

  • 31

  • 32

  • 33

  • 34

  • 35

  • 36

  • 37

  • 38

  • 39

  • 40

  • 41

  • 除算

    42

    i = n までの処理が終わると商の全てのn ビットが求まり,その時の A の値が剰余となる.

    引き戻し法のアルゴリズム

    i を 1 から n まで 1 ずつ増やしながら以下の処理を繰り返す.• 現在の A の上位 i ビットの部分のみを i ビットの 2 進数と考え,それを A’とする.

    – A’≥ B ならば,商の最上位から i 桁目を 1 とし,A から B の 2^(n−i) 倍 を引く.– A’< B ならば,商の最上位から i 桁目を 0 とし,A はそのままにする.

  • 浮動小数点演算とパイプライン化

    43

  • 44

    スライド番号 1スライド番号 2スライド番号 3スライド番号 4スライド番号 5スライド番号 6スライド番号 7スライド番号 8スライド番号 9スライド番号 10スライド番号 11スライド番号 12スライド番号 13スライド番号 14スライド番号 15スライド番号 16スライド番号 17スライド番号 18スライド番号 19スライド番号 20スライド番号 21スライド番号 22スライド番号 23スライド番号 24スライド番号 25スライド番号 26スライド番号 27スライド番号 28スライド番号 29スライド番号 30スライド番号 31スライド番号 32スライド番号 33スライド番号 34スライド番号 35スライド番号 36スライド番号 37スライド番号 38スライド番号 39スライド番号 40スライド番号 41スライド番号 42スライド番号 43スライド番号 44