電子計算機システム 第1回

電子計算機システム
第1回
2005年4月12日 湯川 高志
2005-04-12
電子計算機システム 第1回
1
注意事項
„
今年から担当教員が変更(花木→湯川)になった
„
試験において過去問題等はあてにしないこと
„
ただし
‰
‰
‰
2005-04-12
講義する内容,教科書はこれまでと変わりません
ちゃんと宿題をやって,ちゃんと勉強すれば,合格で
きるような講義をします
そのかわり,「ゲタ」などの救済措置はない
電子計算機システム 第1回
2
この講義で得られるもの
--- 受講すると何がわかるようになるか --„
電子計算機システム=コンピュータについて
‰
‰
‰
‰
„
どのような回路構成で造られているか
内部的にどのような動作をしている
周辺機器がどのような構造,動作原理,特徴を持つか
プログラムはどのように処理されるのか
これらを知ることで
‰
コンピュータシステムの設計ができるようになる
„
‰
‰
2005-04-12
新たなプロセッサの設計ができるようになる
周辺機器やインタフェースの設計ができるようになる
それらを制御するプログラム(組込みプログラム,OSのデバイ
スドライバ)の設計ができるようになる
電子計算機システム 第1回
3
ハードウェアと組込みソフトウェアの
設計能力の重要性
„
様々な電子コンポーネント
‰
‰
自動車のスピードメータ
電子炊飯器の制御基盤
はほとんどがコンピュータ制御
„ 生産ライン,検査ラインもコンピュータ制御
誰が設計するのか?
„
求められているのは,
‰
‰
‰
電気回路,電子回路が設計でき
それらとコンピュータとのインターフェースが設計でき
制御プログラムを組める
技術者
2005-04-12
電子計算機システム 第1回
4
達成目標
„
„
„
„
„
アセンブリ言語で表現されたプログラムから機械語への
変換ができること
ゲートや演算回路ほか計算機を構成する基本要素の構
造,動作,用途を理解し,主要パラメータを決定できるこ
と
基本要素間の接続と信号の流れを理解し,動作を実現
する制御信号を発生する具体的な回路やマイクロプロ
グラムを理解し,説明できること
周辺機器としての記憶装置やファイルシステムの構成,
動作,特徴を理解し説明できること
基本的な通信や信号伝送の方式,動作の概要,特徴を
理解し説明できること
2005-04-12
電子計算機システム 第1回
5
講義の予定
„
„
„
„
„
第1回~第3回 アセンブラとハードウェア
(CASL とCOMET )
第4回~第5回 演算・データ転送回路
(レジスタ、メモリ、ALU 、バス転送)
第6回 中間試験
第7回~第9回 制御回路
(命令フェッチ、解読、実効アドレス、命令の実行、
割込み)
第10回 入出力インタフェース
(直列と並列、RS-232C,SCSI )
2005-04-12
電子計算機システム 第1回
6
講義の予定 (続き)
„
„
„
„
第11回~第12回 メモリ集積回路とメモリシステム
(メモリの分類、ROM 、RAM 、階層構成)
第13回 マイクロプロセッサ(歴史、構成、具体例)
第14回 外部記憶装置(磁気ディスク、光ディスク),
組立てパソコンによる具体的な構成と実装
第15回 期末試験
2005-04-12
電子計算機システム 第1回
7
成績の評価
„
„
„
„
中間試験と期末試験の得点の平均(70%)
演習と宿題(30%)により評価
60点に満たなかった者には別途試験を行うこと
がある
テストやレポートでは,達成目標に記した各項目
について記述解答形式の問題や課題を出す.
2005-04-12
電子計算機システム 第1回
8
教科書/教員連絡先/資料の入手先
„
„
岩崎一彦ほか著「計算機構成論」昭晃堂
連絡先
‰
‰
‰
‰
„
湯川 高志
教官室: 電気1号棟 606号室
内線: 9532
Email: [email protected]
資料の入手
‰
2005-04-12
http://kslab.nagaokaut.ac.jp/Course/
から「電子計算機システム」
電子計算機システム 第1回
9
講義の進め方
„
プレゼンテーション資料を用いて進める
‰
„
資料はWebで公開
ノートの取り方
‰
‰
‰
2005-04-12
スライドを書き写す必要はない
要点,気が付いた点を記録
宿題(レポート)を出すことがある
電子計算機システム 第1回
10
受講の心構え
„
講義が聴きやすい,スクリーンが見やすい環境を確保
すること
‰
‰
„
スクリーンが見やすい位置に座る
講義の資料は前日までにWebで公開するので,プロジェクター
のスクリーンが見えにくい場合は,印刷するなりノートPCを持ち
込むなりして,手元で見て良い
私語は厳禁
‰
‰
‰
2005-04-12
私語をするくらいなら出席しなくて良い←他人に迷惑がかかる
から.
出席しないで授業内容がわからないのは自己責任
講師は必ずしも前でしゃべっているとは限りません
電子計算機システム 第1回
11
受講の心構え (続き)
„
飲食はしない方が良い
‰
‰
„
„
コンピュータ科学者(リベラルな人が多い)では,聴講
中の軽い飲食(ペットボトルを持ち込む等)は許容され
る傾向にある
が,本学は他の分野も多いので,そのような習慣は
持たない方が良い
携帯電話はマナーモードに
疑問点があったら,どんどん質問すること
2005-04-12
電子計算機システム 第1回
12
論理関数
--- 復習をかねて ---
2005-04-12
電子計算機システム 第1回
13
論理代数=ブール代数
„
「0」と「1」 → 真理値,論理値
‰
„
„
「0」を「偽」,「1」を「真」に対応させる
「0」と「1」のどちらかを取る変数 → 論理変数
論理値,論理変数についての代数学 → ブール
代数
2005-04-12
電子計算機システム 第1回
14
ブール代数 (続き)
„
基本的な関数
‰
‰
‰
2005-04-12
論理積 AND (logical product)
論理和 OR (logical sum)
否定 NOT (logical negation)
電子計算機システム 第1回
15
論理積
„
C = A・B
2005-04-12
A
B
C
0
0
0
0
1
0
1
0
0
1
1
1
電子計算機システム 第1回
16
論理和
„
C = A∨B
2005-04-12
A
B
C
0
0
0
0
1
1
1
0
1
1
1
1
電子計算機システム 第1回
17
否定
„
C=A
2005-04-12
A
C
0
1
1
0
電子計算機システム 第1回
18
ブール代数の性質
1.結合則 (associative law)
( A ⋅ B) ⋅ C = A ⋅ ( B ⋅ C )
( A ∨ B) ∨ C = A ∨ ( B ∨ C )
2. 分配則 (distributive law)
A ∨ B ⋅ C = ( A ∨ B) ⋅ ( A ∨ C )
A ⋅ (B ∨ C) = A ⋅ B ∨ A ⋅ C
2005-04-12
電子計算機システム 第1回
19
ブール代数の性質 (続き)
3. 交換則 (commutative law)
A⋅ B = B ⋅ A
A∨ B = B ∨ A
4. べき等則 (idempotent law)
A⋅ A = A
A∨ A = A
2005-04-12
電子計算機システム 第1回
20
ブール代数の性質 (続き)
5. 0,1の法則 (identity law)
A ∨1 = 1
A∨ 0 = A
A ⋅1 = A
A⋅0 = 0
2005-04-12
電子計算機システム 第1回
21
ブール代数の性質 (続き)
6. 補元の法則 (complement law)
A = ( A) = A
A∨ A =1
A⋅ A = 0
1=0
0 =1
2005-04-12
電子計算機システム 第1回
22
ブール代数の性質 (続き)
7. 吸収則 (absorption law)
A ⋅ ( A ∨ B) = A
A ∨ ( A ⋅ B) = A
2005-04-12
電子計算機システム 第1回
23
ブール代数の性質 (続き)
8. ド・モルガンの法則 (DeMorgan's law)
A∨ B = A⋅B
A⋅B = A∨ B
2005-04-12
電子計算機システム 第1回
24
ド・モルガンの法則の証明
„
補元の一意性
„
X ⋅ Y = 0, X ∨ Y = 1 ⇒ X = Y
この性質を用いて
( A ⋅ B) ⋅ ( A ∨ B) = ( A ⋅ B ⋅ A) ∨ ( A ⋅ B ⋅ B)
= 0∨0 = 0
( A ⋅ B) ∨ ( A ∨ B) = ( A ∨ ( A ∨ B)) ⋅ ( B ∨ ( A ∨ B))
= (1 ∨ B) ⋅ (1 ∨ A) = 1⋅1 = 1
2005-04-12
電子計算機システム 第1回
25
ド・モルガンの法則の証明 (続き)
„
まとめると
( A ⋅ B) ⋅ ( A ∨ B) = 0
( A ⋅ B) ∨ ( A ∨ B ) = 1 だから
X ⋅ Y = 0, X ∨ Y = 1 ⇒ X = Y より
A⋅B = A∨ B
2005-04-12
電子計算機システム 第1回
26
NAND
„
C = A⋅ B
2005-04-12
A
B
C
0
0
1
0
1
1
1
0
1
1
1
0
電子計算機システム 第1回
27
NOR
„
C = A∨ B
2005-04-12
A
B
C
0
0
1
0
1
0
1
0
0
1
1
0
電子計算機システム 第1回
28
排他的論理和 (EORまたはXOR)
„
C = A⊕ B
2005-04-12
A
B
C
0
0
0
0
1
1
1
0
1
1
1
0
電子計算機システム 第1回
29
ブール代数の性質 (続き)
3. 交換則 (commutative law)
A⋅ B = B ⋅ A
A∨ B = B ∨ A
4. べき等則 (idempotent law)
A⋅ A = A
A∨ A = A
2005-04-12
電子計算機システム 第1回
30
ブール代数の性質 (続き)
3. 交換則 (commutative law)
A⋅ B = B ⋅ A
A∨ B = B ∨ A
4. べき等則 (idempotent law)
A⋅ A = A
A∨ A = A
2005-04-12
電子計算機システム 第1回
31
排他的論理和の性質
9. 結合則 (associative law)
( A ⊕ B) ⊕ C = A ⊕ ( B ⊕ C )
10. 交換則 (commutative law)
A⊕ B = B ⊕ A
2005-04-12
電子計算機システム 第1回
32
排他的論理和の性質 (続き)
11.
( A ⊕ A) = 0
12.
A ⊕1 = A
A⊕0 = A
2005-04-12
電子計算機システム 第1回
33
ブール代数はどのように役に立つか
„
信号や電圧の「あり」「なし」を扱う電気回路は(かなり容
易に)作ることができる
計算をしたい
„
AND,OR,NOTを計算する電気回路も(比較的容易に)
作ることができる
ブール代数により
このような回路を組合せて,どのようなことができるか
„ ある事をしたいときに,どのように回路を組合せたら良
いか
がわかる
„
2005-04-12
電子計算機システム 第1回
34
ディジタル回路
2005-04-12
電子計算機システム 第1回
35
ANDゲート
„
C = A⋅ B
A
C
B
2005-04-12
電子計算機システム 第1回
36
ORゲート
„
C = A∨ B
A
C
B
2005-04-12
電子計算機システム 第1回
37
NOTゲート
„
C=A
C
A
この丸が重要(NOTの意味を表す)
2005-04-12
電子計算機システム 第1回
38
XORゲート
„
C = A⊕ B
A
C
B
2005-04-12
電子計算機システム 第1回
39
NANDゲート
„
C = A⋅ B
A
C
B
2005-04-12
電子計算機システム 第1回
40
NORゲート
„
C = A∨ B
A
C
B
2005-04-12
電子計算機システム 第1回
41
NAND,NORの別表記
„
NAND
„
NOR
2005-04-12
A⋅ B = A ∨ B
A ∨ B = A⋅ B
電子計算機システム 第1回
42
NANDを用いた他の論理の構成
„
„
NANDがあれば,その組合せで他のゲートも作
ることができる
NOT
A⋅ A = A
„
AND
2005-04-12
電子計算機システム 第1回
43
NANDを用いた他の論理の構成 (続き)
„
OR
A ⋅ B = ( A + B) = A + B
ド・モルガンの法則より
2005-04-12
電子計算機システム 第1回
44
NANDを用いた他の論理の構成 (続き)
„
NOR
2005-04-12
電子計算機システム 第1回
45
NANDを用いた他の論理の構成 (続き)
„
XOR
2005-04-12
電子計算機システム 第1回
46
組合せ論理回路
„
AND,OR,NOT (さらに,NAND,NOR)ゲートの組合
せにより与えられた論理関数を実現する回路
„
いま示した個々のゲートは1入力or2入力だったが,対
象論理回路の入力は1本や2本とは限らない
„
関数
‰
‰
2005-04-12
真理値表によって与えられる
論理式により与えられる
電子計算機システム 第1回
47
組合せ論理回路の例(1)
„
„
„
入力:A,B,C
出力:X
真になるの
は
‰
‰
2005-04-12
少なくともB
AND C
上に加え
NOT A
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
電子計算機システム 第1回
C
0
1
0
1
0
1
0
1
X
0
0
0
1
0
0
0
0
48
組合せ論理回路の例(1) (続き)
„
真になるのは
„ 少なくとも B ⋅ C
„
上に加え A
A
X
B
C
2005-04-12
電子計算機システム 第1回
49
組合せ論理回路の例(2)
„
入力:A,B,C
出力:X
„
真になるのは
„
‰
‰
少なくともB
さらに,次の
いずれか
(NOT A)
AND C
„ A AND
(NOT C)
↓
A XOR C
„
2005-04-12
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
電子計算機システム 第1回
C
0
1
0
1
0
1
0
1
X
0
0
0
1
0
0
1
0
50
組合せ論理回路の例(2) (続き)
„
真になるのは
‰
‰
少なくとも B
さらに,
A⊕C
B
A
X
C
2005-04-12
電子計算機システム 第1回
51
任意の関数を実現する
„
真理値表を書く
‰
入力のあらゆる場合を考える
„
‰
„
N入力ならば2のN乗通りある
それぞれの入力に対し出力(0か1)を決める
その真理値表の通りの出力を出せるような論理
回路を考える
どうやって?
2005-04-12
電子計算機システム 第1回
52
一番頭を使わない方法
„
準備
‰
‰
2005-04-12
n入力のAND → ANDゲートの組合せで作ることがで
きる
n入力のOR → ORゲートの組合せで作ることができ
る
電子計算機システム 第1回
53
一番頭を使わない方法 (続き)
„
„
真理値表の中で出力が「1」の行を洗い出す
それぞれに対する入力を見て,ANDとNOTの組
合せで回路を作る
‰
„
例えば,A=0,B=1,C=1に対する回路はAをNOTに通
したものとB,CをANDしてやれば良い
それぞれの回路の出力をすべてORする回路に
する
2005-04-12
電子計算機システム 第1回
54
例(2)の真理値表 (再掲)
„
„
入力:A,B,C
出力:X
2005-04-12
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
電子計算機システム 第1回
C
0
1
0
1
0
1
0
1
X
0
0
0
1
0
0
1
0
55
この方法で構成した例(2)の回路
„
出力が真になるのは
‰
‰
A=0,B=1,C=1
A=1,B=1,C=0
A
X
B
C
2005-04-12
電子計算機システム 第1回
56
これだと回路が大きくなって大変!!
„
„
1になる行が多いほど回路が大きくなる
良く考えてみると...
‰
すべての入力に対して出力が「1」になる関数
‰
今のやり方では,もっとも大きな回路になる
‰
„
しかし,この関数の実現には,単に1を出力するゲート1個だけ
あれば良い
いろいろな関数に対して回路を簡単にする方法がない
だろうか
2005-04-12
電子計算機システム 第1回
57
論理回路の簡単化
„
真理値表で関数を表現
‰
„
真理値表
別の表記でも関数を表現してみる
‰
‰
論理式
カルノー図
„
それぞれの表現を利用した簡単化
„
簡単化した結果に基づき回路を構成
2005-04-12
電子計算機システム 第1回
58
何に着目するか
„
„
„
真理値表での表現
‰ 出力が1の時に必ず1である入力はないか
‰ 出力が1の時に必ず現れる入力の組合せはないか
:
論理式での表現
‰ ブール代数のいろいろな法則を適用して,論理式を簡単にしてゆく
‰ 論理式が簡単ということは,回路も簡単なはず
カルノー図
‰ 簡単化するパターンを見つけやすいように,真理値表の書き方を変え
たもの
‰ 4入力程度までは,かなり容易に簡単化できる
‰ 詳細は次回
2005-04-12
電子計算機システム 第1回
59
論理式の上での簡単化
„
真理値表→論理式
‰
‰
真理値表の中で出力が「1」の行を洗い出す
それぞれに対応する入力から,否定と論理積からなる論理式を
構成する.
„
‰
例えばA=0,B=1,C=1に対しては,
A⋅ B ⋅C
それぞれの論理式を論理和で結合した論理式とする
加法標準系
„
さまざまな法則を適用し簡単化
2005-04-12
電子計算機システム 第1回
60
みたび例(2)
„
„
入力:A,B,C
出力:X
A⋅ B ⋅C
A⋅ B ⋅C
2005-04-12
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
電子計算機システム 第1回
C
0
1
0
1
0
1
0
1
X
0
0
0
1
0
0
1
0
61
例(2)の論理式による簡単化
„
加法標準系
A⋅ B ⋅C ∨ A⋅ B ⋅C
„
簡単化
A⋅ B ⋅C ∨ A⋅ B ⋅C
= B ⋅ ( A ⋅ C ∨ A ⋅ C)
2005-04-12
電子計算機システム 第1回
分配法則を適用
62
加法標準系に基づき構成した論理回路
(再掲)
A⋅ B ⋅C ∨ A⋅ B ⋅C
A
X
B
C
2005-04-12
電子計算機システム 第1回
63
簡単化した論理式に基づき構成した論理
回路 (再掲)
B ⋅ ( A ⋅ C ∨ A ⋅ C)
B
A
X
C
2005-04-12
電子計算機システム 第1回
64
組合せ論理回路の例(3)
„
„
„
入力:A,B,C
出力:X
これは実は,
多数決回路
2005-04-12
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
電子計算機システム 第1回
C
0
1
0
1
0
1
0
1
X
0
0
0
1
0
1
1
1
65
例(3)の論理式による簡単化
„
加法標準系
A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C
„
簡単化
= A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C
+ A⋅ B ⋅C ∨ A⋅ B ⋅C
分配法則を適用
= ( A ∨ A) ⋅ B ⋅ C ∨ A ⋅ ( B ∨ B ) ⋅ C ∨ A ⋅ B ⋅ (C ∨ C )
= A⋅ B ∨ B ⋅C ∨ C ⋅ A
2005-04-12
電子計算機システム 第1回
66
ゲートの個数
„
加法標準系
A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C ∨ A⋅ B ⋅C
‰
‰
„
3入力AND×4=2×(2入力AND)×4=2入力AND×8
4入力OR×1=2入力OR×3
簡単化した論理式
A⋅ B ∨ B ⋅C ∨ C ⋅ A
‰
‰
2005-04-12
2入力AND×3
3入力OR×1=2入力OR×2
電子計算機システム 第1回
67
今日はここまで
次回予告
„ 機械語とアセンブラ
2005-04-12
電子計算機システム 第1回
68