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

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

N/A
N/A
Protected

Academic year: 2021

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

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

制御装置

Control 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 週 命令セットアーキテクチャ

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

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

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

(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の動作基準となる時間の単位

T(s):クロック信号の周期

(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)

本日の到達目標と概要

到達目標

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

概要

命令と各種オペランド

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

参照

関連したドキュメント

Heme oxygenase (HO) plays a central role in heme metabolism. At the same time, it protects cells from injury evoked by various oxidative stresses. A detailed analysis of the ˆrst

計算で求めた理論値と比較検討した。その結果をFig・3‑12に示す。図中の実線は

phase shift α. This algorithm is described by eq.. To check the performance of computer simulation the phase errors of the Carre algorithm are estimated. They are shown in Fig.

Haible: Wavelength-shift Speckle Interferometry for Absolute Profilometry using a Mode-hop Free External Cavity Diode Laser, J.. Takeda and H.Yamamoto: Fourier-transform

The Family Van は、The Mobile Healthcare Association(移動クリニック協会)と組んで WEB サイ ト「Mobile

一階算術(自然数論)に議論を限定する。ひとたび一階算術に身を置くと、そこに算術的 階層の存在とその厳密性

The predictions of maximum displacement and effective stress of brain under a pressure boundary condition similar to frontal craniotomy but without skull were compared for

We will for shift spaces having a certain property (∗), show that the first cohomology group is a factor group of Matsumoto’s K 0 -group, and we will also for shift spaces having