ハードウェアの基礎知識 オペレーティングシステム 第2回 前回の絵 ある程度のハード ウェアの知識が必要 別の講義で聞いて いるかも知れない ここで説明するものは 簡略化したひとつの 例 簡略化した構成図 バス 後でよく出てくる バスの下にあるが意 味はない メ モ リ(1) 主記憶装置 ある単位で区切られていて,それぞれに番地(ア ドレス) 番地により,特定の位置を指定 8ビットのことが多い データの読み出し・書き込み 過去のコンピュータの場合, 別のサイズのものがある メ モ リ(2) HDDも記憶装置のひとつ メモリよりは読み書きに時間がかかる が,容量が大きく値段が安い 高速なものと低速なものを組み合わせる 記憶装置の階層化 C P U (1) Central Processing Unit 中央処理装置 単にプロセッサ(processor) “頭脳” ひとつのLSIにまとめられていることが多い MPU(Micro Processing Unit) C P U (2) 1. 命令をメモリから取り出す 2. 命令を実行する データをメモリから読み出す 演算する 結果をメモリに書き込む(格納する) … 1,2 を繰り返す(サイクル) いろいろ たくさん ある C P U (3) いろいろな部品で構成される レジスタ(register) 演算対象のデータを保持 プログラムカウンタ(program counter ) 次に取り出す(実行する)命令が格納されてい るメモリの番地 PCと略す とりあえず,この2つを C P U (4) レジスタの使い方(使われ方)の例 83 8 C P U (5) メモリのデータをレジスタにコピー レジスタのデータとメモリのデータを演算 結果はレジスタのデータを上書き レジスタのデータをメモリにコピー メモリのデータを上書き ちょっと注意(個人的には) レジスタに値を設定,メモリに値を格納 C P U (6) 実行モード 特権モード OSを実行するためのモード すべての命令を実行可 非特権モード(一般ユーザモード) 一般のプログラムを実行するためのモード 特権命令(システムを管理するための命令 など)は実行不可 プログラムの実行(1) プログラム(一連の命令)もデータもメモリに格納 されている プログラムの実行(2) 1. PC ← 1000 (PCはプログラムカ ウンタ) 2. PC番地から命令を 取り出す 3. PCの値を1増やす 4. 取り出した命令を実 行する 5. 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Ⅱ)による 1番レジスタ(GR1)に A番地のデータを プログラム例 持ってくる(load) A B C LD GR1, A ADD ST … DC DC DS GR1, B GR1, C GR1のデータにB番地のデータ (A番地のデータは変わらない) を加える(add) Cのプログラムだと GR1のデータをC番地に格納 GR1は和となる(変化する) する(store) B番地のデータは変わらない int a=3, b=5, c; GR1のデータは変わらない C番地のデータは上書きされる c = a + b; メモリのあるところにAという名前を付ける 3 5 1 メモリのAの次に,Bという名前を付ける 数値3を格納する 数値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の機能 まとめ(7) ハードウェアには寿命がある 意外な落とし穴 安易なSSD導入がもたらす「猛毒」の正体 http://pc.watch.impress.co.jp/docs/news/eve nt/20120906_557787.html 簡単に歴史 おまけ 歴 史 コンピュータ史(IEEE Computer Society) http://www.computer.org/computer/timeline/ti meline.pdf コンピュータ博物館(情報処理学会) http://museum.ipsj.or.jp/ で は キーボードのキーの配列 文献15 最初のコンピュータ 文献14 最初のマウス http://www.youtube.com/watch?v=1MPJZ6M 52dI で は 最初のコンピュータウイルス インターネットの始まり etc.
© Copyright 2024 ExpyDoc