• 検索結果がありません。

この授業について

N/A
N/A
Protected

Academic year: 2021

シェア "この授業について"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

コンピュータアーキテクチャ

1週 授業概要・2進数表現・論理回路の復習

2013年9月25日 金岡 晃

(2)

この授業について

講義科目名称

コンピュータアーキテクチャ

英文科目名称

– Computer Architecture

開講期間

秋学期

配当年

– 1学年

単位数

– 2

科目必選区分 必修

担当教員

金岡 晃

開講日時

水曜日2

2013/9/25 コンピュータアーキテクチャ

1

(3)

授業計画

2

1 (9/25)

授業概要・2進数表現・論理回 路の復習

2 (10/2)

2進演算(数の表現)

3 (10/9)

演算アーキテクチャ(演算アル ゴリズムと回路)

4 (10/16)

ノイマン型コンピュータ・命令 とは・命令の使い方

5 (10/23)

休講 6

(10/30)

命令セットアーキテクチャ(命 令の表現・命令の実行の仕組)

7 (11/6)

ハーバードアーキテクチャ・

RISCCISC・制御アーキテク チャ

8 (11/13)

中間試験 9

(11/20)

休講 10

(11/27)

メモリの仕組 11

(12/4)

キャッシュメモリと仮想メ モリ

12 (12/11)

割込みアーキテクチャ 13

(12/18)

パイプライン 14

(1/8)

入出力アーキテクチャ・ま とめ

1/22-2/8 期末試験

2013/9/25 コンピュータアーキテクチャ

(4)

授業概要

授業の目的と学習概要 教育目標

コンピュータのハードウェアが、どのようにして命令を処理 するのか、どのように計算をするのか、また処理を高速化す るためにどのような工夫をしているのかを理解する。

今後コンピュータによる情報処理について学ぶ上で、その基 本となる「コンピュータとは何か・何ができるのか」につい て理解することが、出発点になる。

期待される学習成果

具体的には、数の表現と演算方法、コンピュータの命令セッ ト、制御方式、コンピュータの基本構成などを学ぶ。また、

処理を高速化するためのキャッシュやパイプラインについて も取り上げる。

また、基本情報技術者試験の対象内容を含む科目である。

2013/9/25 コンピュータアーキテクチャ

3

(5)

教科書と参考書

教科書

「図解コンピュータアーキテクチャ入門

[第2版]」

(堀桂太郎著、森北出版)

参考書

「基本情報技術者試験学習テキスト1 テクノロジ系」

(浅井宗海、 実教出版)

「コンピュータアーキテクチャ」

(内田啓一郎・小柳滋著、オーム社)

「アセンブラ言語CASLⅡ」

(東田幸樹・広瀬啓雄・山本 芳人著、

工学図書)

2013/9/25 コンピュータアーキテクチャ

4

(6)

評価方法とオフィスアワー

評価方法

平常点(授業参加等) 30%

中間試験 30%

期末試験 40%

オフィスアワー

オフィスアワーについてはメールで個別に時間を予約するもの とする

連絡先:[email protected]

2013/9/25 コンピュータアーキテクチャ

5

(7)

授業用

Web

サイト

http://www.klab.is.sci.toho-u.ac.jp/classes/

金岡が受け持っている講義の資料(この講 義以外も)をアップロードしています

「コンピュータアーキテクチャ」のページ も作成しました

講義資料を

PDF

化してすべて載せていきま す。

2013/9/25 コンピュータアーキテクチャ

6

(8)

1

週 2進数表現・論理回路の 復習

コンピュータアーキテクチャ

7 2013/4/10 コンパイラとプログラム言語

(9)

本日の到達目標と概要

到達目標

– 2進数の表現と論理回路を学ぶ

概要 基数

数値の表現 演算精度

論理演算とシフト演算

加算器・半加算器・全加算器 組合せ回路と順序回路

8 2013/9/25 コンピュータアーキテクチャ

(10)

基数

2013/9/25 コンピュータアーキテクチャ

9

人間が日常使っている数値 10進数

コンピュータが扱う数値 2進数

基数とは

10進数では9の次は10、99の次は100、のように 10倍ごとに桁が上がる

桁上がりの基準となる数 基数

(11)

2

進数と

10

進数の関係(1)

2013/9/25 コンピュータアーキテクチャ

10

2進数 10進数 2のべき乗

0 0

1 1 20

10 2 21

11 3

100 4 22

101 5

110 6

111 7

1000 8 23

1001 9

2進数 10進数 2のべき乗

1010 10

1011 11

1100 12

1101 13

1110 14

1111 15

10000 16 24

10001 17

10010 18

10011 19

(12)

2

進数と

10

進数の関係(2)

2013/9/25 コンピュータアーキテクチャ

11

10進数の12345 104 × 1 + 103 × 2 + 102 × 3 + 101 × 4 + 100 × 5 各桁の数字は、基数の桁数だけべき乗されている

2進数の1011 23 × 1 + 22 × 0 + 21 × 1 + 20 × 1 = 11

10進数にすると11 2進数の111

2進数の10011010

2進数を10進数に変換する

小数も同じ

2進数の110.101 22 × 1 + 21 × 1 + 20 × 0

+2−1 × 1 + 2−2 × 0 + 2−3 × 1 = 6.625

(13)

2

進数と

10

進数の関係(3)

2013/9/25 コンピュータアーキテクチャ

12

10進数を2進数に変換する

160 = 128 + 32 = 27 + 25 2のべき乗の足し算に変える

27 10000000 25 100000 27 + 25 10100000

2で割っていき、商とあまりから求める

160 80 40 20 10 5 2 1 0

… 0

… 1

… 0

… 0

… 0

… 0

… 0

… 1

10100000

(14)

16

進数

• 0-9,A-F16文字で表す

2013/9/25 コンピュータアーキテクチャ

13

2進数 10進数 16進数

0 0 0

1 1 1

10 2 2

11 3 3

100 4 4

101 5 5

110 6 6

111 7 7

1000 8 8

1001 9 9

2進数 10進数 16進数

1010 10 A

1011 11 B

1100 12 C

1101 13 D

1110 14 E

1111 15 F

10000 16 10

10001 17 11

10010 18 12

10011 19 13

2進数 10進数 16進数

10100 20 14

10101 21 15

10110 22 16

10111 23 17

11000 24 18

11001 25 19

11010 26 1A

11011 27 1B

11100 28 1C

11101 29 1D

n進数であることを明示する場合は

(0000111)n のように()と右下に基数を記載する

(15)

数値の表現:固定小数点数と

2

の補数

コンピュータの内部では整数を2進数の固定小数点数として表現して いる

固定小数点数:データの中で小数点の位置が固定されている

• 16ビット(2バイト)や32ビット(4バイト)の大きさで表現される

先頭のビットは符号を表し、符号ビット(Sign Bit)と言う

2013/9/25 コンピュータアーキテクチャ

14

0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

ビット番号:

符号ビット(正:0、負:1)

(16)

2

の補数

負の数を表現する場合は、2の補数と呼ばれる表現が使われる

• nビット表現のデータの場合、n+1ビット目が1となる値から負とし て表現したい数値を引くことで求められる

2013/9/25 コンピュータアーキテクチャ

15

16ビット表現データの場合で (-11010)2 を表す:

10000000000000000-11010=1111111111000110

簡単なやり方:値を反転(逆)にして、その値に1を加える 2の補数表現を利用する理由

演算が容易になる。

減算(引き算)が2の補数の加算(足し算)で行うことが可能。

(17)

浮動小数点数

実数を扱うときには固定小数点数ではなく浮動小数点数(小数点の位置 が動く)で表現される

• 10進表現の199610.211.9961021x10^5 左部分を仮数、右部分を基数と指数

• 32ビットの場合

先頭1ビット:仮数の符号 – 8ビット:指数部

– 23ビット:仮数部

2013/9/25 コンピュータアーキテクチャ

16

0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0

31 30 29 28 27 26

ビット番号:

0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 25 24 23 22 21 20 19 18 17 16

符号ビット(正:0、負:1)

指数部 仮数部

(18)

論理演算

論理演算

ブール演算(Boolean Operation)とも。

「真(1)」と「偽(0)」の2つの結果を出す演算 – 3つの基本的な演算

論理和(OR

論理積(AND

否定(NOT

論理和(OR

– 0 or 0のみ0。あとは1になる。

論理積(AND

– 1 and 1のみ1。あとは0になる。

否定

– not 0 1not 10

そのほかに否定論理和(NOR)、否定論理積(NAND)、排他的論理和

XOR)などがある

2013/9/25 コンピュータアーキテクチャ

17

(19)

論理和、論理積、否定

2013/9/25 コンピュータアーキテクチャ

18

論理和(OR

論理積(AND

否定(NOT

X Y X or Y

0 0 0

0 1 1

1 0 1

1 1 1

真理値表

X Y X or Y

0 0 0

0 1

1 0 0

1 1 1

真理値表

X not X

0 1

1 0

真理値表

(20)

論理和、論理積、否定

2013/9/25 コンピュータアーキテクチャ

19

否定論理和(NOR

否定論理積(NAND

排他的論理和(XOR

X Y X or Y

0 0 1

0 1 0

1 0 0

1 1 0

真理値表

X Y X or Y

0 0 1

0 1 1

1 0 1

1 1 0

真理値表

真理値表 X0 Y0 X or Y0

0 1 1

1 0 1

1 1 0

(21)

シフト演算

シフト演算の種類 論理シフト

• 2進数の桁を左または右に移動する演算 論理左シフト

論理右シフト 算術シフト

符号ビットについてはシフトの対象としない演算 算術左シフト

算術右シフト

2013/9/25 コンピュータアーキテクチャ

20

0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

ビット番号:

0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0

左に1ビットシフト

(22)

論理回路

2013/9/25 コンピュータアーキテクチャ

21

論理回路とは

演算回路の組み合わせによりさまざまな論理演算を実現する回路 演算回路

論理演算を実現する回路:AND回路、OR回路、NOR回路など

代表例:加算器(半加算器、全加算器)

複数の桁の2つのデータを入力し、その加算の結果を出力する回路

(23)

加算器

半加算器(Half Adder

1つの桁の加算を行う回路。

2つの入力の和を求める。

桁上がり(繰り上がり)が生じる 可能性があるので出力は2

全加算器(Full Adder

1つの桁の加算を行う回路。

3つの入力の和を求める。

下位からの桁上がり(繰り上がり)に 対応した加算器

加算器

半加算器と全加算器を 組み合わせることで

複数桁の加算を行う加算器を 実現することができる。

2013/9/25 コンピュータアーキテクチャ

22

半加算器

全加算器

nビット全加算器

(24)

組合せ回路と順序回路

組合せ回路

これまでやってきた回路のようなもの

• ANDORNOTNANDNORXOR 入力した値だけで出力結果が決まる回路

順序回路

出力結果が入力の値だけでは決まらず、回路の内部状態と合わ せて結果が決まる

代表例

フリップフロップ

– RSフリップフロップ

2013/9/25 コンピュータアーキテクチャ

23

(25)

RS

フリップフロップ

2013/9/25 コンピュータアーキテクチャ

24

S R Q

0 0 Q

0 1 0

1 0 1

1 1 ×(禁止)

1つ前の 入力の状態が 今回の出力に 関係してくる

(26)

本日の到達目標と概要

到達目標

– 2進数の表現と論理回路を学ぶ

概要 基数

数値の表現 演算精度

論理演算とシフト演算

加算器・半加算器・全加算器 組合せ回路と順序回路

25 2013/9/25 コンピュータアーキテクチャ

参照

関連したドキュメント

2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 軽度化 加算の対象月 請求 4月~8月分の加算を8月分の請求時 (9月)にまとめて請求する

第 2 楽章「 Die Abwesenheit 」(不在),第 3 楽章「 Das Wiedersehen 」(再会)と名付けた 珍しい例がある。また作品

創 電気回路の設計 インタホンプリント 導通テスタの設計 インタホン回路の設 導通テスタの設計 基板の設計 電気回路の設計

加算 減算 桁上 つ 加算 加算 減算 を実現す

Design Compiler初期画面 Design Compiler : Synopsys..

する二分決定グラフを求めるときには、 2 回の 否定演算と、2 回の AND 演算、 1 回の OR

第4週 加法標準形設計法 第5週 回路の簡略化法について 第6週 カルノー図の利用 第7週 カルノー図の利用 続き 第8週 中間試験.

加算回路は最も基本的な演算回路で、反転増幅回路が元になっています。a点はイマ