2/10夜
ファミレスにて。
ここ数日はブログ更新してなかったけど、さぼってたというわけじゃなくて、暗記メモを作成してた。
問題集がほったらかしになってたので今からやります。
18:30〜21:30
妙に頭に入ってる感じがしない問題ばかり。その割に正当率は7割くらい。でもやってて自信なくなってくるからなんか嫌だな。
近くの席に政治談義じじーちゃんが座っててうるさかった。国民みんなバカだから投票なんてバカのためのシステム、おれのためのシステムじゃないとかなんとか。どうでもいいけど声でけーですよ、耳栓装着…。
高校生くらいの家族連れで父も母も子供3人とも声でかい世帯がいてうるさかったけどほほえましかった。映像技術について話してた。地デジとかBDとか映画とか自分はどうも興味なくて知識が付かない話。
やっぱ興味ない分野は驚くほど知識がつかない。自分にはコンピュータ構成とかネットワークとか。このあたりは大学のときも単位を捨ててきたし。反面アルゴリズムとか数学的なところとかはやってて面白いから向いてるんだと思う。正直こういう自分の特性って仕事に役立ってる気がしないのが残念でならない。
今日はこのへんで終了。明日は祝日だな。まあやることないし、図書館で勉強とかできたらいいけど。このところ暇人すぎて勉強はかどっている。たぶん3月はやることなくなるな。勉強する習慣を絶やしたくないから別の勉強でもするかな。なんかアイデアが浮かんだらプログラムとか作って遊んでもいいかな。何も思いつかなかったら日本が沈没してもいいように英語でも勉強しようか。
勉強メモ:暗記ノートにかかなければ。
パイプライン処理
アウトオブオーダ実行 | 依存関係のない命令をプログラムの順序に関係なく順不同で実行 |
遅延分岐 | 分岐処理にて、どちらに分岐しても必ず実行する命令を先に実行しておく |
投機実行 | 分岐先を先読みして実行(ギャンブル実行) |
誤り訂正・検出
CRC | 巡回冗長検査。CRC生成多項式を用いて謝り検出を行う |
ECC | Error Correctiong Code=誤り訂正コード。ハミング符号など |
チェックサム | 誤り検出のためにデータの和を定数で譲与をとって付与 |
パリティ | 誤り検出のために付与する冗長ビット |
バス規格
ATA | 磁気ディスクなどのストレージ向けのIDEインタフェース |
ISA | 16ビット幅の拡張バス |
PCI | アドレス幅32ビット、データパス幅32/64ビット。標準的なパソコンのバス規格。 |
CardBus | PCカードスロットの規格。PCIに接続する32ビット幅のバス |
SCSI | 数珠つなぎに接続。イニシエータ〜機器1〜…〜ターミネータ |
GPIB | コンピュータと計測機器・周辺装置を接続。バス上の各機器にコントローラ、トーカ、リスナのいずれかの機能を持たせる |
データ転送方式
シリアル方式 | 1本の信号線を使って1ビットずつデータを転送 |
パラレル方式 | 複数の信号線を使って同時に複数ビットを転送 |
ストリーミング方式 | 確認信号を待たずに次々とデータを受信しながら同時に処理を行う |
ハンドシェーク方式 | 受信側が受信バッファがいっぱいになった、受信データの処理が間に合わない場合などに、データ送信速度を調節する(フロー制御) |
入出力制御方式
DMA制御方式 | 専用の制御回路を用いてCPUを介さずに入出力装置と主記憶間でデータ転送を行う |
チャネル制御方式 | チャネル(入出力専用のハードウェア)がデータ転送制御用のプログラムを実行して入出力装置を制御 |
プログラム制御方式 | 主記憶から取り出した命令にしたがって、主記憶と主記憶装置間のデータ転送を行う |
ディスプレイ
CRT | 電子管の中で電子ビームを照射して蛍光体を発光させる |
TFT | TFT液晶。画素ドットごとに薄膜トランジスタで制御 |
有機EL | 有機化合物の発光を利用 |
プラズマディスプレイパネル | 2枚のガラス板の間にネオンガスを封入し、電流を通してガス放電を行う際に発生する光を利用 |
ここから下は問題集ではシステム構成要素(コンピュータ構成要素と区別しないけど)
分散処理
垂直機能分散 | プロセッサ間に改装または従属関係がある |
水平負荷分散 | 同じ処理を複数のプロセッサで実行 |
水平機能分散 | アプリケーションごとに実行するプロセッサを割り当てる |
クラスタリング | 信頼性向上のために、複数のコンピュータがディスクを共有する構成 |
Web関連
SOAP | XMLにエンベロープ(封筒)と呼ばれるヘッダ情報がついたメッセージをやりとりする |
UDDI | Webサービスを検索・照会する |
WSCI | XMLをベースとしたWebサービスインタフェース用言語 |
WSDL | XMLをベースとしたWebサービス記述用言語 |
ネットワークストレージ
NAS | Network Attached Storage ネットワークに接続したディスク装置。ネットワーク上の共有ディスクとして空き容量を有効に利用。ファイル単位の共有が可能 |
SAN | Storage Area Network 専用のネットワークを用いてPCとディスク装置を直接接続する。LANより高速、バックアップも対応。ファイル単位の共有はできない |
ベンチマーク
TPC | トランザクションシステムの性能評価 |
SPEC | CPU性能評価(他に、Dhrystone、Whetstone、Linpackなど) |
ベンチマークプログラム | 1.システム設計においてアプリケーションプログラムのモデルとなるもの。2.ユーザの立場ではコンピュータ性能をはかるモデル |
ハードウェアの故障率について
ハードウェアの時間経過ごとの故障率 | 初期故障期間→偶発故障期間→磨耗故障期間でバスタブ型の曲線になる |
故障率
故障率はMTBFの逆数。
故障率が小さい場合、直列に接続した場合、全体の故障率は故障率の和に等しい。
全体のMTBFを計算する場合、全体の故障率の逆数をとる。
雑メモ
土日は図書館が休みだったので家で勉強しようと思ったんだけど無理だった…。
朝も起きれないし、ここ3日くらいさぼり気味になってきたな。いかんいかん。
今週くらいに問題集終わらせて来週くらいから延々と午後過去問とかかな。
雑メモ
土日は図書館が休みだったので家で勉強しようと思ったんだけど無理だった…。
朝も起きれないし、ここ3日くらいさぼり気味になってきたな。いかんいかん。
今週くらいに問題集終わらせて来週くらいから延々と午後過去問とかかな。
4.システム構成要素
システム構成と方式
集中処理方式と分散処理方式
- 集中処理方式
- センタのコンピュータなどにデータを1カ所に集めてすべての業務を処理
- 分散処理方式
- 複数のコンピュータで負荷を分散
- 負荷分散
- 1つのアプリケーションの負荷を複数のプロセッサで分担
- 機能分散
- アプリケーションごとに機能のプロセッサに分担する
クライアントサーバ方式
- クライアントサーバ方式
- 3層クライアントサーバシステム
- データベース層(DBサーバ)
- ファンクション層(APサーバ)
- プレゼンテーション層(クライアントのUI)
DBサーバとAPサーバは兼ねることもある。
並列コンピュータシステム
- グリッドコンピューティング
- ネットワーク上の複数のコンピュータで並列処理
- スーパーコンピュータ
- 多くのベクトルプロセッサを集めた計算機
システムの構成方式
- シンプレックスシステム
- 1系統のみのシステム。可用性低い。
- デュプレックスシステム
- 2系統のシステムで、一方のみ常に運用
- もう一方は待機系で、故障時に切り替える
- デュアルシステム
- 2系統のシステムで、両方で常に同じ処理を行う。
- 相互に処理結果を照合する
- 障害時には故障した方を切り離す
- マルチプロセッサシステム
- CPUのみ2重化 主記憶や周辺装置は共有
- ロードシェアシステム
- 負荷を複数のCPUに振り分けして負荷分散
RAID
容量は、複数のディスクの合計サイズをs、ディスク台数をnとして計算。
RAID 0 | データを複数のディスクに分散して記録(ストライピング) | 読み書き高速化 | 容量はs |
RAID 1 | 2つのディスクで全く同じデータを記録(ミラーリング) | 信頼性高める | 容量はs/2 |
RAID 0+1 | ストライピング+ミラーリング | 信頼性高め、読み書き高速化 | 容量はs/2 |
RAID 2 | 訂正符号(ハミング符号)付きデータを分散させて記録 | 耐障害性は最高だが、ハミング符号の計算コスト大 | 5台の場合、容量はs×2/5 |
RAID 3 | パリティを訂正符号として専用のディスクに割り当て。データは分散されずに各ディスクに保存 | ハミング符号より計算量小、RAID2より容量の無駄が少ない | 容量はs×(n−1)/n |
RAID 4 | パリティを専用のディスクに割り当て。データ用ディスクにデータを分散して記録する | 分散して記録するためRAID3より高速 | 容量はs×(n−1)/n |
RAID 5 | パリティもデータも各ディスクに分散 | 高信頼性(1台故障しても他ディスクから復旧可能) | 容量はs×(n−1)/n |
フォールトトレラントシステム
- フォールトトレラント(fault tolerant)
- 障害に耐える(被害を最小限に押さえる)
- 何らかの障害が発生しても、所定の処理を続行できる
- フォールトアボイダンス(fault avoidance)
- 障害を回避する
- システムを構成する機器・部品に高信頼性のものを採用する、故障しにくい設計・構造を導入
- 使用者の教育も含まれる
- フェールセーフ(fail safe)
- 安全にシステム停止させる
- フェールソフト(fail soft)
- 一部で障害が発生した場合、機能低下を許容し、障害箇所を切り離すなどして処理を続行させる
- フールプルーフ(foolproof)
- 馬鹿よけ
- 操作ミスが発生しても障害を防止する(エラー処理など)
- フォールバック(fallback)
- ある機能で不具合が発生した場合、その機能を切り離して質を落としても全体の機能を提供する仕組み
- ホットスタンバイ
- 同じシステムを待機系に並行稼働させ、障害時に即座に待機系に切り替え
- コールドスタンバイ
- 障害発生したら待機系システムを起動しそちらに切り替える
システムの信頼性評価
- 稼働率
- 障害の発生しにくさ
- 修理速度
- 直列接続のシステム
- システムを構成する装置がすべて稼働しなければシステム全体は稼働しない
- 並列接続のシステム
- 条件により稼働率がことなるので注意。
- システムを構成する装置のうち1つでも稼働していればOKとするシステム
- すべての装置が稼働していないとNG(直列と同じ)
システムの性能評価
- アムダールの法則
- システムのごくわずかな部分を大きく改善するよりも、全体に占める割合の大きい部分を少し改善する方が全体の性能は改善する
3.コンピュータ構成要素
メモリ
- RAM
- 読み書き可能
- 揮発性(電源を切るとデータは消える)
- ROM
- 読みだし専用
- 不揮発性(電源を切ってもデータは消えない)
分類 | 動作原理 | 速度 | 集積度 | ビット単価 | 用途 |
DRAM | MOS | 低速 | 大 | 安価 | 主記憶 |
SRAM | MOS | 中速 | 中 | 安価 | 主記憶 |
SRAM | バイポーラ | 高速 | 小 | 高価 | キャッシュ、レジスタ |
DRAMの種類
DRAM | Dynamic RAM | |
EDO RAM | Extended Data Out DRAM | メモリからデータを読み出すタイミングを工夫することで転送速度を高める |
SDRAM | Synchronous DRAM | 外部クロックに同期して動作、クロックの立ち上がりに同期 |
DDR-SDRAM | Double-Data-Rate | SDRAMの2倍。クロックの立ち上がりと立ち下がりに同期 |
DDR2-SDRAM | SDRAMの4倍 | |
DDR3-SDRAM | SDRAMの8倍 | |
RD-RAM | Direct Rambus DRAM |
ROMの種類
- マスクROM
- 製造工場でプログラムを書き込んだもの
- 後からデータを変更できない
- PROM(Programmable ROM)
- EPROM、フラッシュメモリ
- 紫外線や電気的に書き換えを行う
メモリアクセスの高速化
主記憶への再書き込み方式
- ライトスルー
- データをキャッシュに書き込むときに同時に主記憶にも書き込む
- ライトバック
- データを書き込むときはキャッシュのみで、データを追い出すときに主記憶に書き込む
メモリインタリーブ
- メモリをブロックに分割、隣接ブロックのアドレスを連続に割り付けることで、各ブロックへの並列アクセスを行うことにより高速化
キャッシュメモリへのメモリ割り当て
追い出しアルゴリズム
CPUの命令サイクル
CPUの高速化技法
- 逐次制御方式(ふつうの方式)
- ひとつの命令の実行が完了してから次の命令の読みだしを開始する
- 先行制御方式
- 前の命令の命令実行のサイクルと同時に次の命令の命令読みだしを実行する
- パイプライン方式
- 命令をステージに分割し、1ステージずつずらしながら次々と実行する
- 速度は向上するが、分岐命令やデータ書き換えなどで先読みしていた処理が無駄になることもある(パイプラインハザード)
- スーパースカラ
- パイプラインを複数用意して並列で同時実行
- 分岐予測や順序の関係ない命令を選択して同時に実行する
- VLIW方式
- Very Long Instruction Word
- 依存関係のない命令を組み合わせて複合命令を構成しパイプラインで命令をステージとして並列実行
アドレス指定方式
- 命令は「命令部+アドレス部」から分かれる
- アドレス部はアドレス指定方式によって複数のエリアにわかれることがある
プロセッサの構造、方式
- 密結合型
- 主記憶を複数のCPUで共有
- 1つのOS
- 1つのプログラムを複数のCPUで分散実行
- 疎結合型
- CPUごとに主記憶
- CPUごとにOS
- メモリ競合が起きない
MPU(Micro Processing Unit)
CISC | RISC | |
実装方式 | マイクロプログラム | ワイヤードロジック |
命令語長 | 命令ごとに異なる、長い | 固定、短い |
メリット | 高機能命令を実装できる | 1命令の処理が単純で高速化しやすい。パイプライン向き |
デメリット | 1命令の内部構造が複雑 | 1命令では単純な処理しかできない |
その他 | CPUが複雑化するのでレジスタ数が少ない | CPUが単純なのでキャッシュ、レジスタを内蔵可能 |
- マイクロプログラム
- マイクロ命令(CPUを基本的なレベルで制御する命令)の組み合わせで複雑な命令セットを装備
- 人間に都合のよりマイクロプログラムを定義できる
- ファームウェア
- ワイヤードロジック
- 論理回路を組み合わせことで必要な処理を実現
- 非常に高速だが、単純な命令しか実装できない
並列実行方式
SISD | 1つの命令で1つのデータを処理 |
SIMD | 1つの命令で複数のデータを同時処理 |
MISD | 1つのデータを複数の命令が同時処理 |
MIMD | 複数の独立した命令が異なるデータを処理 |
英語の意味で覚える。Single、Multiple、Instruction、Data
CPUの命令実行時間
- CPI
- Clock Per Instruction
- 1命令の実行に必要なクロック数
- 1命令の実行時間=CPI×1クロックの時間
- IPC
- Instruction Per Clock
- 1クロックあたりの命令数
- MIPS
- Million Instruction Per Second
- 1秒あたり何100万命令実行できるか
バスシステム
入出力制御方式
磁気ディスクの構造
- 構造:複数のディスクの重なりで構成される
- トラック(周)
- 各円盤におけるデータを記録する同心円状の領域
- セクタ
- トラックを分割した区画
- 物理的な区画の最小単位
- クラスタ
- 複数のセクタの固まり(物理的に連続している必要はない)
- ファイルに領域を割り当てていくときの単位
- シリンダ
- 重なっている円盤において、同筒上に重なったトラックの集まり
- トラック(周)
ディスクの容量計算
- レコード
- ブロック
- 複数のレコードをまとめたもの。
- ブロック化係数
- 1ブロックあたりのレコード数
- ブロック間隔
- ブロックとブロックの間隔(バリアブル方式の場合のみ)
- バリアブル方式
- ブロックとブロックの間にブロック間隔をとりながら割り当て
- トラックのうち、ブロックが入りきらない区間は使用できない
- 1トラックに記録できるブロック数=1トラックのバイト数÷(ブロック+ブロック間隔のバイト数)
- セクタ方式
- セクタ分割し、ブロックの割り当てを行う。
- 複数ブロックを同一セクタにまたいで配置できない
- 1トラックに記録できるブロック数=1トラックのセクタ数÷1ブロックに必要なセクタ数