第2回

15/04/23
ハードウェア概論
第2回
コンピュータの基本構成
中央処理装置
制御装置
入力装置
データの流れ
制御の流れ
記憶装置
出力装置
演算装置
1
15/04/23
主記憶装置のアドレス
主記憶装置にはプログラムのほか,処理中の
演算結果なども保持される
取り出したい(処理したい)データを指定する
しくみが必要
主記憶装置のアドレス
コインロッカーのようにそれぞれに番号がついて
いれば,あるデータが格納されている場所を特定
できる
0000
0001
…
アドレス(番地)
FFFF
2
15/04/23
CPU
CPU (Central Processing Unit)
主記憶装置に読み込まれた(ロードされた)
プログラム
1つのプログラムの中にはたくさんの命令が
つまっている
CPU
CPUは命令を1つずつ取り出して実行していく
取り出した命令を一時的に保存しておく場所が
CPUに必要
レジスタ
3
15/04/23
レジスタの種類
プログラムカウンタ
次に実行する命令が入っているアドレス
を記憶
命令レジスタ
取り出した命令を一時的に記憶
インデックスレジスタ アドレス修飾に用いる
ベースレジスタ
アドレス修飾に用いる
アキュムレータ
演算の対象となる数や演算結果を記憶
汎用レジスタ
特に機能を限定していない
CPUの命令実行手順
命令の取り出し
命令の解読
対象データの読み出し
命令の実行
4
15/04/23
CPUと主記憶装置(メモリ)
CPU
汎用レジスタ
メモリ
命令レジスタ
プログラムカウンタ
0000
0001
…
ALU
命令デコーダ
FFFF
命令取り出し(フェッチ)
CPU
汎用レジスタ
メモリ
命令レジスタ
プログラムカウンタ
0001
0000
0001
命令
…
ALU
命令デコーダ
FFFF
5
15/04/23
命令解読(デコード)
CPU
汎用レジスタ
命令レジスタ
命令部
(命令の種類)
オペランド部
(処理対象)
プログラムカウンタ
0001
ALU
命令デコーダ
メモリ
0000
0001
命令
…
FFFF
対象データ(オペランド)読み出し
CPU
汎用レジスタ
命令レジスタ
命令部
(命令の種類)
オペランド部
(処理対象)
プログラムカウンタ
0001
ALU
命令デコーダ
メモリ
0000
0001
命令
…
FFFF
6
15/04/23
命令実行
CPU
汎用レジスタ
命令レジスタ
命令部
(命令の種類)
オペランド部
(処理対象)
プログラムカウンタ
0001
ALU
命令デコーダ
メモリ
0000
0001
命令
…
FFFF
命令語
l  すべて機械語(0と1の並び)で記述されてい
る
l  基本的には命令部とアドレス部(オペランド
部)で構成
l  命令の種類によってはアドレス部がないもの
や複数あるものもある
7
15/04/23
アドレス指定方式
l  アドレス部を指定する方法(アドレス指定方
式)はいくつかある
l  アドレス指定方式を使って実効アドレスを計
算する
実際に格納されている
主記憶装置上のアドレス
即値アドレス指定
l  命令のアドレス部にデータそのものを格納
l  主記憶装置への参照は行わない
命令部
(命令の種類)
オペランド部
(処理対象)
20
8
15/04/23
直接(絶対)アドレス指定
l  命令のアドレス部に実効アドレスを格納
主記憶
命令部
(命令の種類)
オペランド部
(処理対象)
20
…
10
…
20
…
間接アドレス指定
l  命令のアドレス部に実効アドレスを格納して
いるアドレスを格納
主記憶
命令部
(命令の種類)
オペランド部
(処理対象)
10
…
10
20
…
20
…
9
15/04/23
相対アドレス指定
l  命令のアドレス部の値に命令アドレスレジス
タ(プログラムカウンタ)の値を加算した値を
実効アドレスとする
主記憶
命令部
(命令の種類)
オペランド部
(処理対象)
100
プログラムカウンタ
…
100
…
150
…
50
インデックス(指標)アドレス指定
l  命令のアドレス部の値にインデックスレジス
タの値を加算した値を実効アドレスとする
主記憶
命令部
(命令の種類)
オペランド部
(処理対象)
100
インデックスレジスタ
50
…
100
…
150
…
10
15/04/23
ベース(基底)アドレス指定
l  命令のアドレス部の値にベースレジスタの値
を加算した値を実効アドレスとする
主記憶
命令部
(命令の種類)
オペランド部
(処理対象)
100
ベースレジスタ
50
…
100
…
150
…
例題
インデックスアドレス指定方式によってオペランドを指
定する場合,表に示す値のときの実効アドレスは何か.
インデックスレジスタの値
10
命令語のアドレス部の値
100
命令が格納されているアドレス
1000
11
15/04/23
CPUの性能指標 ー クロック周波数
クロック
コンピュータ内の動作のタイミングをとるために,一定
の周波数の信号を出力する装置
「クロック信号の速さ」 → クロック周波数
CPUを含め,各装置はクロック信号にあわせて動作する
CPUの性能指標 ー クロック周波数
クロック
コンピュータ内の動作のタイミングをとるために,一定
の周波数の信号を出力する装置
「クロック信号の速さ」 → クロック周波数
CPUを含め,各装置はクロック信号にあわせて動作する
12
15/04/23
CPUの性能指標 ー クロック周波数
「1秒間に出力されるクロック信号の数」 → クロック周波数
例えば,クロック周波数1GHz(ギガヘルツ)のCPUは,1
秒間に109個のクロックが出力される
基本的にはクロック周波数が高くなるほど,コンピュータ
の処理速度は向上する
小テスト
【1】 図の(1)〜(3)に適する装置の名称を書き
なさい.
(1)
入力装置
データの流れ
制御の流れ
(2)
出力装置
(3)
13
15/04/23
小テスト
【2】 図の(1)と(3)をあわせて何というか.
(1)
入力装置
データの流れ
制御の流れ
(2)
出力装置
(3)
【3】 10-6を表す補助単位は何か.
14