論理回路基礎 11. 論理回路からコンピュータへ 五島 正裕 論理回路基礎 今日の内容 論理回路 と コンピュータ プロセッサの例 試験問題 論理回路基礎 論理回路 と コンピュータ 論理回路基礎 論理回路からコンピュータへ コンピュータ = 巨大な順序回路 原理的には,学習した「順序回路の構成法」に従って設計できる 実際には,不可能 コンピュータの状態数: 主記憶 1GB = 8Gb : 28,000,000,000 ≈ 210 HD 80GB = 640Gb : … 状態遷移図?,状態遷移表? 10 ≈ 1030 論理回路基礎 構造化 構造化 演算器 メモリ 制御 命令 (instruction) 演算器に対する指示 どのデータに対して,どんな演算を施すか プログラム : 命令列 論理回路基礎 構造化 構造化 演算器 メモリ 制御 機能ブロックに分けられる 機能ブロック間のインタフェースの決定 個々の機能ブロックの設計 学習した「順序回路の構成法」 論理回路基礎 von Neumann 型コンピュータ ノイマン型 (von Neumann-type) コンピュータ プログラム格納(内蔵)方式 (stored-program) 逐次実行方式(プログラム・カウンタ) 主記憶に格納されたプログラムの命令を, 遂次 取り出して実行. 「プログラム 内蔵 方式」 普通こっちだが,よい訳ではないので… フォン・ノイマン・ボトルネック(死語) 「データに加えて,命令も主記憶から取り出すので…」 論理回路基礎 プログラム格納 (stored-program) 方式 プログラムを主記憶に格納 プログラム自体が,操作(演算)の対象に プログラムを自ら書き換え可能 実行時書き換え:重要ではない 実行前書き換え:重要! ⇒ 真にプログラマブルなコンピュータ もし,プログラム内蔵方式でなかったら: プログラムを自ら操作することはできない ロード等のために別の何か(オペレータ?)が必要に… OS はあり得ない 論理回路基礎 簡単なプロセッサの例 論理回路基礎 プロセッサ 命令セット・アーキテクチャ (Instruction-Set Architecture : ISA) プログラムに対するインタフェース どんな命令があり,どういう動作をするか を定めた仕様 プロセッサは機能ブロックにわけられる 機能ブロック間のインタフェースの決定 個々の機能ブロックの設計 論理回路基礎 命令の種類 数え方にもよるが,数十種くらい. ロード/ストア 演算命令 算術論理演算 (ALU : Arithmetic Logic Unit) シフト 浮動小数点演算 制御命令 分岐 (branch) 命令 :PC 相対 ジャンプ命令 :絶対 その他 システム・コール コプロセッサ制御 論理回路基礎 命令フォーマット op 31 Rs 25 op 31 20 Rs 25 op 31 Rt Rd 15 Rt 20 func 10 0 immediate 15 0 jump_target 25 op : op code 0 Rs : source reg # Rt : target reg # Rd : destination reg # 論理回路基礎 演算命令 算術論理演算 (ALU, Arithmetic Logic Unit) 命令 r[Rd] = r[Rs] + r[Rt] r[Rt] = r[Rs] + immediate シフト命令 r[Rd] = r[Rs] << shamt op 31 Rs 25 op 31 Rt 20 Rs 25 Rd 15 Rt 20 shamt func 10 0 immediate 15 0 論理回路基礎 ロード/ストア命令 ロード命令 r[Rt] = *(r[Rs] + immediate) ストア命令 *(r[Rs] + immediate) = r[Rt] op 31 Rs 25 Rt 20 immediate 15 0 論理回路基礎 制御命令 (条件)分岐命令 if (cond) PC = PC + immediate cond: R[Rs] == 0, R[Rs] > 0, … R[Rs] == R[Rt] op 31 Rs 25 Rt 20 immediate 15 0 論理回路基礎 制御命令 ジャンプ命令 PC = PC + jump_target ジャンプ命令(レジスタ間接) PC = r[Rs] op 31 Rs 25 op 31 Rt 20 immediate 15 0 jump_target 25 0 論理回路基礎 命令の実行フェーズ 1. IF 命令フェッチ 2. ID 命令デコード/レジスタ読み出し 3. EX 実行 4. MEM メモリ・アクセス 5. WB レジスタ書き戻し (Write-Back) 名称は歴史的(esp. ID) 100 IF PC IR 0 200 ID Rs Rt Reg File EX MEM WB DR MDR MA MD 100 104 12 8 add 23 1 208 1000 ld Main Memory 論理回路基礎 実行例 100 ld r2 = *(r1 + 8) 104 add r3 = r2 + 1 100 104 IF PC IR ld 0 200 ID 12 8 Rs Rt Reg File EX MEM WB DR MDR MA MD 100 104 12 8 add 23 1 208 1000 ld Main Memory 104 IF PC IR ld 0 200 ID 12 8 Rs Rt Reg File 200 WB DR 12 8 add 23 1 208 1000 ld 8 EX MEM 100 104 MDR MA MD Main Memory 104 IF PC IR ld 0 200 ID 12 8 Rs Rt Reg File 200 100 104 12 8 add 23 1 208 1000 ld 8 EX 208 MEM WB DR MDR MA MD Main Memory 104 IF PC IR ld 0 200 ID 12 8 Rs Rt Reg File 200 100 104 12 8 add 23 1 208 1000 ld 8 EX 208 MEM DR MDR 1000 WB MA MD Main Memory 104 IF PC IR ld ID 0 200 1000 Reg File 200 12 8 Rs Rt 100 104 12 8 add 23 1 208 1000 ld 8 EX 208 MEM DR MDR 1000 WB MA MD Main Memory 104 108 IF PC IR add 23 ID 0 200 1000 Reg File 1 Rs Rt EX MEM WB DR MDR MA MD 100 104 12 8 add 23 1 208 1000 ld Main Memory 108 IF PC IR add 23 ID 0 200 1000 Reg File 1000 1 Rs Rt WB DR 12 8 add 23 1 208 1000 ld 0 EX MEM 100 104 MDR MA MD Main Memory 108 IF PC IR add 23 ID 0 200 1000 Reg File 1000 1 Rs Rt 100 104 12 8 add 23 1 208 1000 ld 1 EX 1001 MEM WB DR MDR MA MD Main Memory 108 IF PC IR add 23 ID 0 200 1000 Reg File 1000 1 Rs Rt 100 104 12 8 add 23 1 208 1000 ld 1 EX 1001 MEM DR MDR 1001 WB MA MD Main Memory 108 IF PC IR add 23 ID 0 200 1000 1001 Reg File 1000 1 Rs Rt 100 104 12 8 add 23 1 208 1000 ld 1 EX 1001 MEM DR MDR 1000 WB MA MD Main Memory 論理回路基礎 今日のまとめ 論理回路基礎 今日のまとめ 論理回路 と コンピュータ 学習した「順序回路の構成法」に従って設計できない 構造化 演算器 メモリ 制御 ノイマン型コンピュータ:プログラム内蔵方式 プロセッサの例 論理回路基礎 今後の予定 3/ 2 試験 (9:00~10:30) 来年度前期 「コンピュータ・ハードウェア」 by 坂井先生 論理回路基礎 試験問題 論理回路基礎 問題 1 用語説明(10点 × 3問) 5 (?) 問中,3問以上を選択して回答せよ 例えば: データ・セレクタ 桁上げ先見回路 SRAM と DRAM プログラム内蔵方式 etc 論理回路基礎 問題 2 順序回路の設計 (70点) 1. 順序回路の仕様を示す 2. 簡単化する(簡単化後の状態数は,3 か 4) 3. 出力関数,次状態関数を求める 4. それらを簡単化する 5. 回路図を描く 論理回路基礎 問題 3 電気回路,電子回路を用いない論理回路の,完全(完備)集合を示せ. 機械式,流体式など 実現可能性,性能,コストなどは問わない 加点 <= 30点 回答例が少ないものほど高得点
© Copyright 2024 ExpyDoc