Presentation is loading. Please wait.

Presentation is loading. Please wait.

コンピュータアーキテクチャ 第 7 回.

Similar presentations


Presentation on theme: "コンピュータアーキテクチャ 第 7 回."— Presentation transcript:

1 コンピュータアーキテクチャ 第 7 回

2 演算回路(算術論理演算ユニットとシフタ)
算術論理演算ユニットの構成モジュール 加算器 足し算をつかさどる組み合せ回路 減算器にも拡張可 フリップフロップ を付け加えることでカウンタを構成 論理演算器(AND, OR, XOR) 論理加減算器(16 ビットの符号なし 2 進数の加減算) シフタ シフト演算を実現する組合せ回路 今回の内容 ~以下の各要素と全体構成の例~ 半加算器と全加算器: 並列加算器: 加減算器: カウンタ: 書き換え機能つきカウンタ,ダウンカウンタ シフタ: 1 ビットシフタに限定 1 ビットの加算 * N ビットの加算 * 2の補数による負数の加算 *

3 ハードウェアモデルにおける位置付け 書き換え機能付きダウンカウンタ * * 並列加減算器 書き換え機能付きカウンタ *

4 半加算器 (HA: Half Adder) 演算データ a, b (1 ビット)を入力 演算結果 f, c を出力 c : 桁上げ出力 *

5 全加算器 (FA: Full Adder) 演算データ a, b, cin (1 ビット)を入力 演算結果 f, cout を出力
cin : 桁上げ入力, cout : 桁上げ出力 * *

6 論理演算の性質

7 演習問題 7.1

8 2進数の加算はどのように実行されるか? A + B = 3 + 2 = (0011)2 + (0010)2
4 ビットの例 (1) A + B = = (0011)2 + (0010)2 * A ・・・ B ・・・ キャリー(桁上り) ・・・ 1 オーバフローなし ( -8 < 5 < 7 ) 1 1 4 ビットの例 (2) A + B = = (0111)2 + (0011)2 * A ・・・ B ・・・ キャリー(桁上り) ・・・ 1 1 1 オーバフローあり ( 7 < 10 ) 1 1

9 並列加算器(parallel adders)
* リップルキャリー方式: 下位ビットから上位ビットへ 順次桁上げを伝える方式

10 結果的にキャリー c1~c4 は, a0~a3 , b0~b3 で決定できる * *

11 ルックアヘッドキャリー (look-ahead carry)
リップルキャリー方式     より高速 * リップルキャリー方式     よりハードウェア量大 *

12 演習問題 7.2

13 減算をどうやって実現するか? A – B = 7 – 5 = (0111)2 – (0101)2
4 ビットの例 A – B = 7 – 5 = (0111)2 – (0101)2 = (0111)2 + (0101)2 の2の補数 = (0111)2 + (0101)2 の1の補数 + 1 A ・・・ Bの1の補数 ・・・ キャリー(桁上り) ・・・ * 1 1 1 1 1 +1 1

14 加減算器 (adder-subtractor)
         のとき加算器,         のとき減算器 * 制御入力 * * s0 = 0, c0 = 0 s0 = 1, c0 = 1

15 4 ビット加減算器の真理値表 *

16 演習問題 7.3 前記の 4 ビット加減算器において,A 入力または B 入力をすべて 1 としたとき,どのような演算が
おこなわれるか?それぞれ s0, c0 の組み合せごと に示せ.また,それらを確かめる具体的な数値例を 示せ.

17 カウンタ (counter) (1) * (a) 4 ビット 2 進数に 1 を加える加算器

18 カウンタ (counter) (2) * (b) 半加算器と基本ゲートによる置き換え

19 カウンタ (counter) (3) (c) フリップフロップを追加してできた 4 ビットカウンタ
* インクリメンタ (incrementer) とも呼ばれる clock 信号がハイレベルに変わるごとに2進数 f3 f2 f1 f0 の値が 1 増加

20 演習問題 7.4 前述のように, 4 ビット 2 進数に 1 を加える加算器を,半加算器と基本ゲートによって置き換えられることを示せ.

21 書き換え機能つきカウンタ s がハイレベルのときは ,ローレベルのときは プログラムカウンタに使用される カウンタ データ取り込み inc
* * カウンタ データ取り込み inc

22 書き換え機能つきダウンカウンタ s がハイレベルで ,ローレベルでは 本講義ではスタックポインタに使用 ダウンカウンタ データ取り込み
* * ダウンカウンタ データ取り込み dcr

23 4 ビット書き換え機能つきカウンタのタイムチャート例

24 演習問題 7.5 右の 4 ビット ダウンカウンタの タイムチャート例を 完成せよ.

25 算術論理演算ユニット (ALU: Arithmetic Logic Unit)
* COMET II の ALU構成例

26 算術論理演算ユニットの真理値表

27 演習問題 7.6 4 ビットの符号なし 2 進数の減算は,5 ビットの符号つき 2 進
数の減算として実行できる.これが実際には, 4 ビットの符号 つき 2 進数用加減算器で実行可能であることを示せ.

28 シフタ (Shifter) データ幅 4 ビットの 1 ビットシフタ構成例 sari がハイレベルで算術シフト sL がハイレベルで左シフト
* sL がハイレベルで左シフト *

29 データ幅 4 ビットの 1 ビットシフタの真理値表

30 シフト命令の実行概念 1ビットシフタ: 1 クロックで 1 ビットシフトする バレルシフタ(barrel shifter): 1 クロックで
* バレルシフタ(barrel shifter):  1 クロックで  ハードウェア量大 * 任意の ビット数シフトする

31 算術左シフト命令実行例

32 演算回路の構成


Download ppt "コンピュータアーキテクチャ 第 7 回."

Similar presentations


Ads by Google