340 likes | 392 Views
ハードウェアの基礎知識. オペレーティングシステム 第2回. 前回の絵. ある程度のハード ウェアの知識が必要 別の講義で聞いて いるかも知れない ここで説明するものは簡略化したひとつの例. 簡略化した構成図. バス. 後でよく出てくる バスの下にあるが意味はない. メ モ リ(1). 主記憶装置 ある単位で区切られていて,それぞれに番地(アドレス) 番地により,特定の位置を指定 データの読み出し・書き込み. 8ビットのことが多い 過去のコンピュータの場合, 別のサイズのものがある. メ モ リ(2). HDD も記憶装置のひとつ
E N D
ハードウェアの基礎知識 オペレーティングシステム 第2回
前回の絵 • ある程度のハードウェアの知識が必要 • 別の講義で聞いているかも知れない • ここで説明するものは簡略化したひとつの例
簡略化した構成図 バス 後でよく出てくる バスの下にあるが意味はない
メ モ リ(1) • 主記憶装置 • ある単位で区切られていて,それぞれに番地(アドレス) • 番地により,特定の位置を指定 • データの読み出し・書き込み 8ビットのことが多い 過去のコンピュータの場合, 別のサイズのものがある
メ モ リ(2) • HDDも記憶装置のひとつ • メモリよりは読み書きに時間がかかる • が,容量が大きく値段が安い • 高速なものと低速なものを組み合わせる • 記憶装置の階層化
C P U (1) • Central Processing Unit中央処理装置 • 単にプロセッサ(processor) • “頭脳” • ひとつのLSIにまとめられていることが多い • MPU(Micro Processing Unit)
C P U (2) • 命令をメモリから取り出す • 命令を実行する • データをメモリから読み出す • 演算する • 結果をメモリに書き込む(格納する) • … • 1,2 を繰り返す(サイクル) いろいろたくさん ある
C P U (3) • いろいろな部品で構成される • レジスタ(register) • 演算対象のデータを保持 • プログラムカウンタ(program counter ) • 次に取り出す(実行する)命令が格納されているメモリの番地 • PCと略す • とりあえず,この2つを
C P U (4) • レジスタの使い方(使われ方)の例 8 3 8
C P U (5) • メモリのデータをレジスタにコピー • レジスタのデータとメモリのデータを演算 • 結果はレジスタのデータを上書き • レジスタのデータをメモリにコピー • メモリのデータを上書き • ちょっと注意(個人的には) • レジスタに値を設定,メモリに値を格納
C P U (6) • 実行モード • 特権モード • OSを実行するためのモード • すべての命令を実行可 • 非特権モード(一般ユーザモード) • 一般のプログラムを実行するためのモード • 特権命令(システムを管理するための命令など)は実行不可
プログラムの実行(1) • プログラム(一連の命令)もデータもメモリに格納されている
プログラムの実行(2) • PC ← 1000(PCはプログラムカウンタ) • PC番地から命令を取り出す • PCの値を1増やす • 取り出した命令を実行する • 2に戻る
命令の種類(1) • CPUにより,大きく異なる • 命令の長さ • ここではひとつのメモリ(の単位)に入るとしているが,複数のメモリ(の単位)が必要なものもある
命令の種類(2) • データ転送命令 • メモリ ⇔ レジスタ • 例3002番地のデータをレジスタに • データを,メモリからCPUに • 例 レジスタのデータを3001番地に • データ(計算結果)を,CPUからメモリに
命令の種類(3) • 演算命令 • レジスタとメモリのデータの演算 • 例 レジスタのデータと3000番地のデータを足して,結果をレジスタに • 算術演算だけでない • 例 レジスタのデータと3003番地のデータを比較 • 注意 複数のレジスタがあることも
命令の種類(4) • PCの値の変更する命令 • 次に実行する命令を変える • 分岐命令 • 例PCの値を2000にする • 例 直前の演算の結果が0ならば,PCの値を1001にする(条件付き)
命令の実行(1) 例“レジスタのデータと3000番地のデータを足して,結果をレジスタに”という1命令 ① 命令の解釈 • “足し算”である ② 必要なデータはどこにあるのか • レジスタとメモリ(3000番地) ③ 実際に演算 • 足し算を実行 ④ 結果はどうするのか • レジスタ
命令の実行(2) • 命令が実行単位 • しかし,1命令であっても,いくつかの処理ステップからなる • CPUは命令を処理単位とする • 途中で中断することはない
機械語 • コンピュータが理解できるもの • ビットの並び • 人間には分かりにくい • 分かり易くしたものがアセンブリ言語 • 情報処理技術者試験 CASLⅡ • 命令を英単語(を略したもの) • 番地を名前
アセンブリ言語(CASLⅡ)によるプログラム例アセンブリ言語(CASLⅡ)によるプログラム例 1番レジスタ(GR1)に A番地のデータを 持ってくる(load) (A番地のデータは変わらない) GR1のデータにB番地のデータを加える(add) GR1は和となる(変化する) B番地のデータは変わらない GR1のデータをC番地に格納する(store) GR1のデータは変わらない C番地のデータは上書きされる Cのプログラムだと int a=3, b=5, c; c = a + b; LD GR1, A ADD GR1, B ST GR1, C … A DC 3 B DC 5 C DS 1 メモリのあるところにAという名前を付ける 数値3を格納する メモリのAの次に,Bという名前を付ける 数値5を格納する メモリのBの次に,Cという名前を付ける (場所を確保するだけ)
マルチプロセッサシステム • 複数のプロセッサからなるシステム • 複数のプログラムを同時に実行できる • 並列処理 • 高速化 • マルチプログラミングという言葉が出てくるが異なるものである
マルチコア • ひとつのLSIの中に,複数のプロセッサ • LSI技術(集積度の向上)の発達で可能になった • 省エネという面もある
まとめ(1) • ひとつの命令が実行単位 • 命令の解釈 • 必要な準備(番地計算など) • 実行 いくつかの処理が必要になる
まとめ(2) • c = a + b; • ひとつの“計算”だと思っても,いくつかの機械語の命令で実行されるLD GR1, A ADD GR1, B ST GR1, C • 途中で中断することがある! • と,どうなるか? • 後で取り上げる予定
まとめ(3) • 実行モード • 特権モードと非特権モード • 割込みで重要
まとめ(4) • 記憶装置の階層化 • レジスタ • キャッシュメモリ • 主記憶(メモリ) • HDD • 低速なメモリとして扱うことができる • 仮想記憶 “仮想”という言葉が いろいろな場面で 出てくるので注意
まとめ(5) • “マルチ …” • 後でいろいろ出てくるので注意
まとめ(6) • ハードウェアは多種多様 • 技術の進歩で大きく変わる • 例えば,いろいろな入出力装置を容易に使えるようにすることもOSの機能
簡 単 に 歴 史 お ま け
歴 史 • コンピュータ史(IEEE Computer Society)http://www.computer.org/computer/timeline/timeline.pdf • コンピュータ博物館(情報処理学会)http://museum.ipsj.or.jp/
で は • キーボードのキーの配列 • 文献15 • 最初のコンピュータ • 文献14 • 最初のマウス • http://www.youtube.com/watch?v=1MPJZ6M52dI
で は • 最初のコンピュータウイルス • インターネットの始まり • etc.