基本情報技術者1（学習用）

●ハードウェア・・
●五大装置・・１入力装置、２出力装置、３記憶装置、CPU（４演算装置、５制御装置）
●記憶装置・・主記憶装置（容量少ないが早い）が短期記憶を担い、補助記憶装置（容量大きいが遅い）が長期記憶を担う
●ディスプレイの種類・・①有機ELディスプレイ②液晶ディスプレイ（バックライト要）③プラズマディスプレイ（大型になる）
●ユーザーインターフェイス・・元々はCUI（すべてコマンド）だがGUI(マウスでの操作が可能）になってきた。ユーザーとコンピューターを繋ぐ種類のことをユーザーインターフェイスという。
●並列処理・・CPUに対してどのようにデータを与えて、どのような命令で処理していくかが４種類ある。
１SISD(single instruction stream single data stream)
一つのデータに対して命令が一つ
２SIMD(single ・・multi・・）
1つのデータに対して複数の命令
３MISD（multi）
複数のデータに対して一つ命令(非ノイマン型）
４MIMD（multi）
複数のデータに対して複数の命令

●周辺機器に対する規格
プラグアンドプレイ・周辺機器を接続した時に自動的にドライバがインストールされる仕組み
BLE・低電力で作動するbluetooth(IOTによく使われる規格）

●CPU（演算装置・制御装置）・・命令の実行手順
１・・命令を取り出す。フェッチという作業（記憶装置から命令を取り出す）
プログラムカウンタ（次に実行すべき命令が入っているアドレスを記憶する）に入っている命令を命令レジスタ（超高速の保存領域）に入れる
命令レジスタ（命令部とオペランド部（処理対象となるデータ）で構成、取り出した命令を一時的に記憶）
２、解読・・命令部の中身が命令デコードに送られる
３、オペランド読み出し・・命令の解読、計算をするところに渡す。オペランド部を参照し対象データを読み出し、汎用レジスタに記憶させる。
オペランド・・処理の対象となるデータのありかを示している
命令は「何を（オペランド部）どうしろ（命令部）」という記述になっている」
４、命令実行

・アドレス指定方式・・命令には命令部とオペランド部（データがどこにどのように保存されているかを表す）があり、何らかの計算によってアドレスを求める必要がありそれらをアドレス指定方式という。
（即値アドレス指定方式・変えられない、オペランド部に対象となるデータが入っている）
（直接アドレス指定方式・変数を扱える）
（間接アドレス指定方式・より自由度が高い）
（インデックスアドレス指定方式・まとまったデータを扱える）
（ベースアドレス指定方式・固定のベースレジスタがあるので同じようなプログラムを他のコンピュータに移動した時に保存領域の中で相対的の保存できる）
（相対アドレス指定方式）・ベースアドレスがなくてもプログラムカウンタにその役割を負わせる

・性能の評価・性能を客観的のに評価する際に、すべての装置を一斉に動かすところを指標にする。
　　　　　　クロック周波数・すべての装置を同時にそろえるための電気信号
　　　　　　動かす速度＝クロック周波数＝１秒間の振動数。1Ghzは１秒間に10億回振動（頭の回転速度のようなもの）
　　　　　クロックサイクル時間・・1クロックに要する時間が求められる
　　　　　　CPI・ある命令が１命令あたり何クロックサイクル必要か示したもの
　　　　　　MIPS・１秒間に実行できる命令の数

・命令ミックス・命令は色々なものがあるので頻度で重みづけをして混ぜて考える。これによりCPIが計算できる

・設計思想
CISC（conplex instructions set computer)なるべく少ない工数の命令で複雑な命令を実行すること基本とする
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　CPUに高機能な命令をもたせる
RISC(reduced instructions set computer)単純な命令を実行することを基本とする
（この二つは強みを伸ばす考え方）

・高速化技術
・パイプライン処理・・複数の命令を並列して実行させ全体の処理効率を高めること

●キャッシュメモリ・CPUの処理速度を上げていくと記憶装置の速度も上げていかないといけない。その差を埋めるのがキャッシュメモリ

●記憶階層構造・処理速度の早い順からレジスタ>キャッシュメモリ>主記憶装置

●ライトスルー方式・キャッシュメモリと主記憶に同時に書き込み（安全）
●ライトバック方式・キャッシュメモリからあぶれたタときにメモリに書き込む（＊早い）

●メモリの分類
①ROM・不揮発性（データを切ってもなくならない）、容量小、メモリへコピーが必要、工場出荷時
②RAM(random access memory)・揮発性、容量大、直接CPUアクセス

＊RAM以外をROM

ROMの分類・・ROM>PROM>EPROM・EEPROM>フラッシュメモリ（USBメモリ）

＊USBメモリがEEPROMに当てはまることが大切

RAMの分類・・>DRAM・SRAM
DRAM・メモリに使用、コンデンサで構成（大事）、安価、遅い
SRAM・キャッシュに使用、フリップフロップ（大事）、高価、早い

＊この二種類の特徴を聞かれることが多い

●ヒット率・キャッシュメモリに目的データが存在する確率（キャッシュにある方が速く処理）
＊メモリの平均アクセス時間を計算できるようになる

●メモリインタリープ・メモリをバンクに分割し高速化を図る方法

●ハードディスク
補助記憶装置の種類・１ SSD、2 HDD
HHD(hard disk drive)・アクセス時間を求める問題が出る。

フラグメンテーション・書き込みと消去を繰り返した結果、利用されない領域が発生すること
でフラグによってフラグメンテーションを取り除く
アクセス時間＝シーク時間（位置決め）＋サーチ時間（回転待ち）＋データ転送時間
サーチ時間はデータがアクセスアームのすぐ真下にあるか、過ぎたとこにあるかで時間が変わる。よって平均をとることぜ全体のサーチ時間を計算する。（半周）

・RAID・複数のHHDを連携させ制御させるることで信頼性や速度を向上させる技術
RAID0・一つのデータを複数のHDDに分散させて書き込む（ストライピング）
RAID1・複数のHHDニ同一データを複製して書き込む（ミラーリング）

その他の補助記憶装置としてCD,DVDがある

●コンピュータの信頼性向上を目的とするシステム
デュプレックスシステム・・片方寝かせた状態にしておく
デュアルシステム・・常に二台システムをスタンバイさせておく

●システムの形態
サーバー側でいろいろ処理を行う集中処理、ある程度機能を分散させた分散処理
ex)クラウドサービス・・Saas(software as a service)、Paas(Platform as a service)（開発含む）Iaas(instructure as a service)(AWSなど）

●クライアントサーバーシステム・・サービスを利用するコンピュータ(クライアント)と、 サービスやデータを提供するコンピュータ(サーバ)とが、 ネットワークを介して通信しながら動作するシステム

●RASIS・・システム設計に要求される5つの特性(reliability,availability,servisability,security,integrity)

●シスタムの評価指標
MTTR(平均復旧時間mean time to recovery）
MTBF(平均故障間隔mean time between failures）

稼働率・・MTBF/(MTTR+MTBF)・・すべて動いている時間から稼働している時間の割合（よく出る）

●システムの稼働率(1-故障率）
直列システム・・どちらか一台でも故障すれば両方も作動しなくなる（両方止まる）
並列システム・・どちらか一台でも稼働していればいい（両方壊れる確率を1から引く）

●信頼性設計
フェールセーフ・・間違えても安全な方向に作動するようにするex)ストーブ
フールプルーフ・・間違えを起こさないような仕組みすること（洗濯機）
フォールトトレランス・・冗長性をもたせ、異常が起きても安全に制御できるようにする
フェールソフト・・故障した部分を分離させ。全体としての機能を維持すること
フォールトアボイダンス・・そもそも故障しないような設計にすること

●P2P(ピアツーピア）・・サーバーを介さない分散処理の仕組み（ブロックチェーンなど）