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

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
31
0
0

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

全文

(1)

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

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

2013年11月6日 金岡 晃

(2)

授業計画

1 第1週 (9/25) 授業概要・2進数表現・論理回 路の復習 第2週 (10/2) 2進演算(数の表現) 第3週 (10/9) 演算アーキテクチャ(演算アル ゴリズムと回路) 第4週 (10/16) 休講 第5週 (10/23) 休講 第6週 (10/30) ノイマン型コンピュータ・命令 とは・命令の使い方 第7週 (11/6) 命令セットアーキテクチャ(命 令の表現・命令の実行の仕組) 第8週 (11/13) 中間試験 第9週 (11/20) 休講 第10週 (11/27) ハーバードアーキテク チャ・RISCとCISC・制御アー キテクチャ 第11週 (12/4) メモリの仕組 第12週 (12/11) キャッシュメモリと仮想メ モリ 第13週 (12/18) 割込みアーキテクチャ 第14週 (1/8) パイプライン 第15週 (1/17) 入出力アーキテクチャ・ま とめ 1/22-2/8 期末試験 2013/11/6 コンピュータアーキテクチャ

(3)

第6週【復習】

ノイマン型コンピュータ

・命令とは・命令の使い方

(4)

ノイマン型コンピュータの特徴

2013/11/6 コンピュータアーキテクチャ 3 プログラム可変内蔵方式 逐次処理方式 単一メモリ方式 • プログラムを内部のメモリに記憶させることで、プログラムの入力や変更が簡単に行える • プログラム記憶方式とも • 命令は、原則として実行順にメモリに格納されており、この命令を順次取り出しながら処 理を進める。 • 取り出す命令のアドレスは、プログラムカウンタに従って指示する • プログラムとデータは、同じメモリ内に格納され、メモリにはアドレスが割り振られて いる。 • 一時的なデータ格納領域として、高速に動作する小容量メモリであるレジスタを備えて いる。 • レジスタとメモリ間のデータ転送は、プログラムで指示できるため、メモリの効果 的な利用が可能となる。

(5)

ノイマン型コンピュータの基本構成(1)

• データの算術演算や論理演算を行う装置

• すべての装置をコントロールする装置

• 一般的には、演算装置と制御装置を超大規模集積回路 (VLSI: Very Large Scale IC)として構成し、中央処理 装置(Central Processing Unit:CPU)ということが多 い。

• CPUはMPU(Micro Processor Unit)とも呼ばれる

演算装置

(Arithmetic Unit)

制御装置

(6)

ノイマン型コンピュータの基本構成(2)

2013/11/6 コンピュータアーキテクチャ

5

• データやプログラムを記憶しておく装置である。

• CPUや入出力装置とデータのやり取りを高速に行う主記 憶装置(Main Memory Unit)と、大量のデータを長期 間記憶しておく補助記憶装置(Auxiliary Memory Unit) がある。 • 主記憶装置はICメモリが主流であり、補助記憶装置には ハードディスクやDVDなどが使われている。 • プログラムやデータを主記憶装置に入力する装置である。 • キーボードやマウス、イメージスキャナなどがある • コンピュータが処理したデータを出力する装置 • ディスプレイやプリンタなどがある 記憶装置 (Memory Unit) 入力装置 (Input Unit) 出力装置 (Output Unit)

(7)

基本動作

命令 プログラム カウンタ PC 命令 レジスタ IR デコーダ DEC 制御信号 OP opr メモリアドレス レジスタMAR アドレス メモリ ALU 汎用レジスタGR フラグレジスタFR アドレスバス データバス 制御装置 主記憶装置 演算装置

(8)

PC用CPUの構成と動作

2013/11/6 コンピュータアーキテクチャ 7 汎用レジスタ プログラムカウンタ フラグレジスタ BTB, BHT 命令TLB 命令用1次 キャッシュメモリ デコーダ バスインタフェース 2次キャッシュメモリ 命令制御装置 浮動小数点演算用 スケジューラ 整数演算用 スケジューラ

AGU AGU ALU ALU FPU SIMD SIMD

データ用1次キャッシュメモリ データTLB

← 32ビット →

×8

(9)

PCの構成例

CPU チップセット (ノースブリッジ) チップセット (サウスブリッジ) USB対応機器、キーボー ド、マウス、プリンタ IEEE1394対応機器 ハードディスク CD-ROM グラフィックス カード メモリ CPUバス

(10)

第7週 命令セットアーキテクチャ

(命令の表現・命令の実行の仕組)

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

(11)

本日の到達目標と概要

• 到達目標

– コンピュータで命令がどう行われるかを理解する

• 概要

– 命令と各種オペランド

– アドレッシングとその種類

(12)

高級言語(CやFortranなど)で記述された プログラム(ソースプログラム)

機械語命令

2013/11/6 コンピュータアーキテクチャ 11 コンピュータに動作を直接的に指示するためには、 機械語命令を使用する必要がある。 機械語命令(Machine Instruction) コンパイル(翻訳) 2進数で記述→人によっては扱いにくい ニーモニックコード 2進数で表される機械語命令を記号としてあらわす

(13)

命令の形式

命令コード (OP) オペランド (opr) 基本形式 操作命令を示す命令コード(Operation Code)と 操作対象のデータを示すオペランド(Operand)からなる 分類 3オペランド命令 2オペランド命令 1オペランド命令 0オペランド命令

(14)

3オペランド命令

2013/11/6 コンピュータアーキテクチャ

13

OP opr1 opr2 opr3

アドレス メモリ XXX a YYY b ZZZ c 操作対象とするデータの格納元アドレスを示すオペランド2個と、操作後の データを保存する格納先アドレスを示すオペランド1個をそのまま記述する 命令 ソースオペランド ソースオペランド (Source Operand) デスティネーションオペランド (Destination Operand)

(15)

2オペランド命令

OP opr1 opr2 アドレス メモリ XXX a YYY b 3オペランド命令において、ソースオペランドのどちらか1個と デスティネーションオペランドを兼用する命令 ソースオペランド ソースオペランド 兼 デスティネーションオペランド

(16)

1オペランド命令

2013/11/6 コンピュータアーキテクチャ 15 OP opr1 アドレス メモリ XXX a b c アキュムレータ(Accumulator:累算器、略してAcc)と呼ばれる特別な格 納領域を使用する命令。命令は1個のソースオペランドを記述し、もう1個 のソースオペランドとデスティネーションオペランドは兼用してアキュム レータを使用 ソースオペランド 兼 デスティネーションオペランド ソースオペランド Acc

(17)

0オペランド命令

OP アドレス メモリ XXX a YYY b ZZZ c opr1 opr2 opr3 スタックを使用する命令 命令としては命令コードのみを記述しオペランドは記述しない ソースオペランド ソースオペランド デスティネーション オペランド スタック

(18)

命令セット

2013/11/6 コンピュータアーキテクチャ 17 CPUが備えているすべての命令の集まりを 命令セット(Instruction Set)という COMET IIで実行される アセンブラ言語CASL IIの命令セット ロード、ストア、 ロードアドレス命令 算術、論理演算命令 比較演算命令 シフト演算命令 分岐命令 スタック操作命令 コール、リターン命令 その他

(19)

CASL IIの命令セット一覧(命令コード)

ロード LoaD LD ストア Store ST ロードアドレス Load Address LAD

算術加算 ADD Arithmetic ADDA 論理加算 ADD Logical ADDL 算術減算 SUBtract Arithmetic SUBA 論理減算 SUBtract Logical SUBL 論理積 AND AND 論理和 OR OR 排他的論理和 eXclusive OR XOR ロード、ストア、 ロードアドレス命令 レジスタ・レジスタ間やレジスタ・メモリ間などで データの移動を行う命令である。 加減算などの算術演算や、AND、OR などの論理演算を行う命令である。 算術、論理演算命令

(20)

CASL IIの命令セット一覧(命令コード)

2013/11/6 コンピュータアーキテクチャ

19

算術左シフト Shift Left Arithmetic SLA 算術右シフト Shift Right Arithmetic SRA 論理左シフト Shift Left Logical SLL 論理右シフト Shift Right Logical SRL

算術比較 ComPare Arithmetic CPA 論理比較 ComPare Logical CPL 2個のデータの大小を比較し、その結果をフラグレ ジスタFRに反映させる命令 比較演算命令 レジスタにあるデータを、右または左方向に指定し たビット数だけシフトする命令 シフト演算命令

(21)

CASL IIの命令セット一覧(命令コード)

正分岐 Jump on Plus JPL 負分岐 Jump on Minus JMI 非零分岐 Jump on Non Zero JNZ 零分岐 Jump on Zero JZE オーバーフロー分岐

Jump on Overflow

JOV 無条件分岐 unconditional JUMP JUMP

フラグレジスタFRの状態によって指定されたアドレスに格納されている 命令を実行するかどうかを決める条件分岐命令と、FRの状態によらずに 分岐を行う無条件分岐命令がある

(22)

CASL IIの命令セット一覧(命令コード)

2013/11/6 コンピュータアーキテクチャ

21

プッシュ PUSH PUSH ポップ POP POP

コール CALL subroutine CALL リターン RETurn from subroutine RET

スーパーバイザコール SuperVisor Call SVC ノーオペレーション No Operation NOP スタック操作命令 スタック領域にデータを格納する命令と、スタック からデータを取り出す命令がある コール、リターン命令 サブルーチンの呼び出しと、サブルーチンからの復 帰を行う命令 その他 処理としては何もしていないが、 時間を費やすNOP命令などがある

(23)

命令機能の評価

平均命令実行サイクル数 CPI(Cycles per Instruction)

TPI=CPI × T (s)

命令セットの中の1命令を実行するために必要な平均のクロック数 クロック:CPUの動作基準となる時間の単位

(24)

アドレッシング

2013/11/6 コンピュータアーキテクチャ 23 OP opr アドレス メモリ XXX a 操作 メモリには格納領域ごとにアドレス(番地)と呼ばれる値が割り振られている 命令のオペランドにアドレスを記述すれば その値に対応する格納領域を特定できる コンピュータでは各種のアドレスの指定法が用いられている 有効アドレス(Effective Address): 最終的に参照されるアドレス アドレッシング: 処理対象となるデータを決める操作 アドレッシング 有効アドレス

(25)

直接アドレッシング

500 アドレス メモリ 500 99 命令のオペランドに記述した値が示すアドレスに格納されているデータを処 理対象とする方式 OP opr 有効アドレス 対象データ

(26)

間接アドレッシング

2013/11/6 コンピュータアーキテクチャ 25 アドレス メモリ 500 600 600 99 オペランドに記述した値で示されるアドレスに格納されている値を有効アド レスとする方式 500 OP opr 有効アドレス 対象データ

(27)

指標アドレッシング

アドレス メモリ 508 99 オペランドopr1で指定した指標レジスタに格納されている値とopr2に記述 した値を加算した結果を有効アドレスとする方式 3 OP opr1 500 opr2 + 8 有効アドレス 対象データ 指標レジスタ3

(28)

相対アドレッシング

2013/11/6 コンピュータアーキテクチャ 27 プログラムカウンタに格納されている値とオペランドに記述した値を加算し た結果を有効アドレスとする方式 アドレス メモリ 524 99 500 OP opr + 24 有効アドレス 対象データ プログラムカウンタ

(29)

基底アドレッシング

基底レジスタに格納されている値とオペランドに記述した値を加算した結果 を有効アドレスとする方式 アドレス メモリ 562 99 500 OP opr + 62 有効アドレス 対象データ 基底レジスタ

(30)

即値アドレッシング

2013/11/6 コンピュータアーキテクチャ 29 オペランドに記述した値をそのまま処理対象データとする方式 99 OP opr 対象データ

(31)

本日の到達目標と概要

• 到達目標

– コンピュータで命令がどう行われるかを理解する

• 概要

– 命令と各種オペランド

– アドレッシングとその種類

参照

関連したドキュメント

る、関与していることに伴う、または関与することとなる重大なリスクがある、と合理的に 判断される者を特定したリストを指します 51 。Entity

今回チオ硫酸ナトリウム。クリアランス値との  

を塗っている。大粒の顔料の成分を SEM-EDS で調 査した結果、水銀 (Hg) と硫黄 (S) を検出したこと からみて水銀朱 (HgS)

攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

機器表に以下の追加必要事項を記載している。 ・性能値(機器効率) ・試験方法等に関する規格 ・型番 ・製造者名

で実施されるプロジェクトを除き、スコープ対象外とすることを発表した。また、同様に WWF が主導し運営される Gold

ユースカフェを利用して助産師に相談をした方に、 SRHR やユースカフェ等に関するアンケ