見出し画像

応用情報処理勉強中(2023春)Day3

2023/4/16受験の皆様 一緒に頑張りましょう!
本記事時間かけたくなく雑記な点ご了承ください。
試験まであと57日!!

筆者について


・2022年11月に基本情報に合格(点数ギリギリです)
・勢いで応用情報に申し込んだはいいものの、1か月手をつけていない
・アウトプットが大切と聞いたため取り急ぎ(サボってたらご指摘ください;)

詳細


内容:キタミ式イラストIT塾応用情報技術者 chapter6-10
所要時間:4h

不明点

CPUの高速化技術
命令ミックス…よく使う命令を一つのセットにしたもの
基本的な命令…命令の取り出し(F)→命令の解読(D)→対象データ読み出し(O)→命令実行(E)

パイプライン処理
命令の引継ぎ
分岐が起こることによるパイプライン処理の乱れ…ハザード

スーパーパイプライン
パイプライン処理による高速化をさらに加速させる手法
各ステージの中身をさらに細かくして、効率化UP
F1F2F3→D1D2D3→O1O2O3→E1E2E3
    F1F2F3→D1D2D3→O1O2O3→E1E2E3
        F1F2F3→D1D2D3→O1O2O3→E1E2E3

スーパースカラ
パイプライン処理を行う回路を複数持たせることで、同時に複数命令を実行できるようにするもの
①F→D→O→E
②F→D→O→E
③     F→D→O→E
④     F→D→O→E

VLIW(Very Long Instruction Word)
ソフトウェア処理に重点を置いた高速化手法、複数の動作をまとめて1つの命令にすることで、複数の命令を同時に実行させる手法
命令①命令②命令③ → 命令①②③ 同時実行
ちなみに、命令長をそろえる必要があるため、命令をまとめた結果が既定の長さに満たない場合、何もしない(NOP)命令が入る

CISCRISC
CISC(Complex Instruction Set Computer)…CPUに高機能な命令をもたせることによって、一つの命令で複雑な処理を実現するアーキテクチャ
命令の追加や変更が容易、命令の実行速度は遅い

RISC(Reduced Instruction Set Computer)…CPU内部に単純な命令しか持たないかわりに、それらをハードウェアのみで実装して、一つ一つの命令を高速に処理するアーキテクチャ
命令の追加や変更が難しい、命令の実行速度は速い

アムダールの法則
複数のプロセッサを用いた場合に、どれだけ高速化できるかという理論上の限界値を求めるもの
E= 1/ 1-r + ( r + n )
例)並列処理によって全体の60%が高速化できるシステムにおいて、6台のプロセッサを使用したとする
E=1 / 1- 0.6 + ( 0.6 / 6 ) = 1 / 0.4 + 0.1 = 1 / 0.5 = 2

プログラムへの局所参照性
時間局所性
…最近使われたデータほど、再度アクセスされる可能性が高い
空間局所性…使われたデータの近くにあるデータは、再度アクセスされる可能性が高い
逐次的局所性…使われたデータの隣は、逐次アクセス(シーケンシャルアクセス)される可能性が高い

キャッシュメモリの割り当て方式
ダイレクトマッピング方式
…一つのメモリブロックを、キャッシュ内の単一のロケーションに割り当てる方式
フルアシソアティブ方式…メモリをキャッシュ内の任意のロケーションに割り当てる
セットアソシアティブ方式…キャッシュ内の2つ以上の配置可能なロケーションに割り当てる方式

ハードディスク…セクタ>トラック>シリンダ
ハードディスク:セクタ単位、 OS:クラスタ単位

バスアーキテクチャ
内部バス:CPU内部の機器を接続するバス
外部バス:バスアーキテクチャ
ブリッジ:速度差を吸収するコントローラ

システムバスのインターフェイス
PCI…汎用的な拡張インターフェース パラレル転送
AGP…グラフィックカード用の拡張インターフェイス パラレル転送
PCIe…PCIとAGPを置き換える、現在標準の汎用的な拡張インターフェイス シリアル転送

OS
基本ソフトウェア
 -制御プログラム:ハードウェアを管理して、応用ソフトウェアやミドルウェアから、コンピュータが効率的に利用できるようにするソフトウェア(カーネル)
 -言語処理プログラム:C言語やJavaなどのプログラミング言語で書かれたプログラムを、コンピュータが理解できるように翻訳するプログラム
 -サービスプログラム:コンピュータの機能を補う、補助的なプログラム

ジョブ管理
マスタスケジューラ:利用者からの指示を受け付けたり、ジョブの実行状態を報告したりする
ジョブスケジューラ:ジョブの実行を依頼された側
リーダ:依頼されたジョブを入力して、ジョブ待ち行列に登録
イニシエータ:優先度の高いジョブを持ってきて、ジョブステップに分解する
ターミネータ:実行を終えたジョブに割り当てられていたハードウェア資源を解放して、ジョブの結果を出力待ち行列に登録
ライタ:優先度の高いものから順に、ジョブ結果を出力

タスクスケジューリング…タスクの実行順書
到着方式(ノンプリエンプション):実行可能状態になったタスク順に、CPUの使用権を割り当てる方式
優先度順方式(プリエンプション):タスクにそれぞれ優先度を設定し、優先度が高いものから順に実行していく方式
動的優先順位方式:CPUの割り当てを受けるまでの待ち時間の長さに応じて、その優先度を徐々に上げていく
ラウンドロビン方式:一定時間(タイムクォンタム)ごとに切り替える方式
多重待ち行列方式:ラウンドロビン方式に優先順位を加味させた方式
処理時間順方式:タスクの処理時間がより短いものから順に処理をしていく方式(STP)
イベントドリブン方式:マウスによる入力など、環境の変化をタスク切替のきっかけ(トリガ)として、CPUの使用権を切り替える方式

クリティカルセッション…2つ以上のタスクが同時に資源(リソース)を奪い合うことで、処理に不整合が生じる箇所
セマフォ…排他処理のメカニズム


所感

ハードウェアの章が完了しました。割と知ってる知識があったのでテンポよくいけました。
別の試験も並行して進めているので、時間とりづらいです。。

この記事が気に入ったらサポートをしてみませんか?