ソフトウェア試験上級システムアーキテクトコンピュータの基礎

概要

今日は9月28日、上級ソフト試験まであと37日です、さあ!

コンセプト

3 つのサイクル:

  • クロック サイクル: クロック サイクル、CPU メイン周波数、クロック周波数とも呼ばれます。クロック サイクルはクロック周波数の逆数です。
  • 命令サイクル: 命令サイクル、命令をフェッチして実行する時間
  • バス サイクル: バス サイクル。メモリまたは I/O ポートにアクセスするのにかかる時間です。

3 つの関係は、1 命令サイクルは複数のバス サイクルで構成され、1 バス サイクルは複数のクロック サイクルで構成されます。

主な周波数は 1GHz です。これは、1 秒間に 1G クロック サイクルがあり、各クロック サイクルが であることを意味します1000*1000*1000/1G=1ns

スループット レート
スループット レートは、単位時間あたりに完了するタスクの数を指します。一般的に使用される表現には、MIPS および MFLOPS があります。

  • MIPS: Million 命令/秒、1 秒あたりに処理される数百万の機械語命令の数。主にスカラー マシンのパフォーマンスを測定するために使用されます。
  • MFLOPS: Million Floating-point Operations Per Second、1 秒あたり 100 万回の浮動小数点演算。これは全体の状況を反映することはできず、浮動小数点演算の状況のみを反映します。主にベクトル マシンのパフォーマンスを測定するために使用されます。

命令を完了するには 5 マシン サイクルかかり、1 マシン サイクルは 3 マイクロ秒 (µs) ですMIPS=1/15=0.067

1秒=1000毫秒(ms)=1000000微秒(µs)=1000000000纳秒(ns)

エンコーディングと浮動小数点数

元コード、逆コード、補コード

元のコード: 2 進数です。たとえば、10 進数の 10 の元のコードは次のとおりです。0000 1010

逆コード: 正の数値は、10 進数 10 の補数コードなど、元のコードと同じです。負の0000 1010数値は、元のコードを 0 から 1、および 1 から 0 に変更し、符号ビットは変更されません。例: 10 進数-10、元のコード1000 1010、補数コード1111 0101

補数コード: 正の数の補数コードは元のコードと同じです。たとえば、10 の補数コードは次のようになります0000 1010負の数の補数は、補数から 1 を引いたものです。たとえば、-10補数: 1111 0101、補数:1111 0110

コンピュータの数値は 2 の補数コードで保存されます。元のコードと補数コードの計算は正確ではありませんが、2 の補数コードは正確であり、2 の補数コードは正と負の数の加算と減算を直接処理できます。 。

浮動小数点数

科学的表記:N=尾数*基数(的指数)

  • 浮動小数点数の各部分の意味は次のとおりです。N = 尾数*基数指数
    • 一般に、仮数は補われ、指数はフレームコード化されます。
    • 指数コードの桁数によって数値表現の範囲が決まります。桁数が多いほど範囲は広くなります。
    • 仮数部の桁数によって数値の有効精度が決まり、桁数が多いほど精度が高くなります。
      浮動小数点数が表現できる値の範囲は次のとおりです: 最大の正の数
  • 浮動小数点演算ルール:对阶 > 尾数计算 > 结果格式化
    • 順序を揃えるときは、小さい数字を大きい数字と揃える必要があります。
    • この順序は、小さい方の数値の仮数を右にシフトすることによって達成されます。

組み立てライン

パイプラインとは、プログラム実行中に複数の命令をオーバーラップさせる準並列処理の実現技術のことです。さまざまなコンポーネントの同時処理は、異なる命令に対して行われ、複数の命令の異なる部分を同時に処理して、各コンポーネントの使用率と命令の平均実行速度を向上させることができます。

パイプラインの考え方: CPU 内での 1 つの命令のシリアル実行プロセスを、CPU 内で重複して実行される複数の命令のサブプロセスに変換します。

並列性には、同時性と並行性の 2 つの意味があり、同時性とは 2 つ以上のイベントが同時に発生することを意味し、同時性は 2 つ以上のイベントが同じ時間間隔で発生することを意味します。
パイプラインのセットアップ時間: 1 命令の実行時間。
パイプラインサイクル: 実行時間が最も長い期間

命令の実行プロセスは、次の 3 つの段階に分けることができます。

  • 命令フェッチ: 命令カウンタの内容に従ってメインメモリにアクセスし、命令をフェッチして命令レジスタに送信します。
  • 分析: 命令オペコード部分をデコードし、指定されたアドレッシング モードとアドレス フィールドの内容に従ってオペランド アドレスを形成し、このアドレスを使用してオペランドを読み取ります。
  • 実行:演算結果を汎用レジスタまたはメインメモリに書き込みます。

シーケンシャル実行処理:取址 -> 分析 -> 执行
パイプライン実行処理を使用する:
ここに画像の説明を挿入します
関連テストポイント:
パイプライン実行時間(理論式):(t1+t2+..+tk)+(n-1)*∆t
パイプライン実行時間(実践式):k*∆t+(n-1)*∆t
パイプラインスループットレート: スループットレート TP = 命令数/実行時間
パイプライン最大スループットレート:
ここに画像の説明を挿入します
パイプラインアクセラレーション比率 : シーケンシャル実行時間/パイプライン実行時間

ブートプロセス

BIOS ブート プログラムは ROM チップ上に固定されており、コンピュータの電源がオンになるたびに自動的に実行されます。主に以下の業務を行います。

  • すべてのプラグ アンド プレイ デバイスを識別して構成します。システムにプラグ アンド プレイ デバイス用の BIOS がある場合、システムはインストールされているすべてのプラグ アンド プレイ デバイスを検索およびテストし、それらに DMA チャネル、IRQ、および必要なその他のデバイスを割り当てます。
  • 電源投入時自己テスト (POST) を完了します。電源投入時セルフテストは、主にメモリ、ポート、キーボード、ビデオ アダプタ、ディスク ドライブなどの基本的な機器を検出してテストします。システムの一部の新しいバージョンでは CD-ROM ドライブもサポートされています
  • ブート ドライブのブート可能パーティションを見つけます。CMOS では、ユーザーはシステムのブート順序を設定して、ブート ドライブのブート可能パーティションを再配置できます。ほとんどのシステムの起動順序は、ソフトウェア ドライバー、ハードウェア ドライバー、CD-ROM ドライブの順です。
  • マスターブートレコードとブートドライブのパーティションテーブルをロードし、マスターブートレコードMBRを実行します。マスター ブート レコードは、ハード ディスク上でブート可能なパーティションを見つけると、そのパーティション ブート レコードをメモリにロードし、制御をパーティション ブート レコードに渡します。パーティションのブート レコードからルート ディレクトリを見つけて、オペレーティング システムをロードします。

キャッシュ

キャッシュのすべての機能はハードウェアによって実装されます。CPU データの入出力速度を向上させ、CPU とストレージ システム間のデータ伝送帯域幅の制限であるノイマン ボトルネックを突破します。コンピュータのストレージ システムにおいて、キャッシュはアクセス速度が最も速い層です。キャッシュを使用してシステムのパフォーマンスを向上させるための基礎は、プログラムの局所性の原則です。

  • 時間的局所性: 情報アイテムがアクセスされている場合、近い将来に再度アクセスされる可能性があります。プログラムのループやスタックなどが時間局所性の原因となります。
  • 空間的局所性: プログラムが特定の記憶装置にアクセスすると、その近くの記憶装置もすぐにアクセスされます。つまり、一定期間内にプログラムが訪問するアドレスは特定の範囲に集中する可能性があります。典型的な状況はプログラムの順序です。 .実装します。

ワーキングセット理論:プロセス実行時に頻繁にアクセスされるページの集合であるワーキングセット 動作
原理:局所性の原理に基づき、メインメモリ内のアクセス確率の高いコンテンツをキャッシュに格納する CPU がデータを読み込む必要がある場合、まずキャッシュを検索して必要なコンテンツがあるかどうかを確認し、存在する場合はキャッシュから直接読み取り、存在しない場合はメイン メモリからデータを読み取ってメモリに送信します。 CPU とキャッシュを同時に使用します。

CPU がアクセスする必要があるコンテンツのほとんどがキャッシュ内で見つかる (アクセス ヒット) 場合、システム パフォーマンスは大幅に向上します。CPUがメモリアクセス要求を発行すると、まずメモリアドレスをキャッシュコントローラに送り、必要なデータがキャッシュに存在するかどうかを判定し、ヒットした場合には直接キャッシュにアクセスします。このプロセスをキャッシュアドレスマッピングと呼びます。 。一般的なマッピング方法には、直接マッピング、連想マッピング、およびグループ連想マッピングが含まれます。

  • 直接関連付けられたイメージング: ダイレクト マッピング、ハードウェア回路は比較的単純ですが、競合率が高くなります
  • Fully Associative Mapping: 完全連想マッピング この回路は設計と実装が難しく、小容量のキャッシュにのみ適しており、競合率が低いです。
  • セット連想マッピング: n-way セット連想マッピング、直接連想マッピングと完全連想マッピングの間の妥協点

キャッシュ内のデータがいっぱいになったら、既存のデータを削除し、新しいデータをロードする必要があります。削除アルゴリズムには、ランダム削除方法、先入れ先出し方法 FIFO、および最も最近使用された削除方法 LRU が含まれます。LRU は平均ヒット率が最も高くなります。

キャッシュにデータを書き込む一般的な方法には、次のカテゴリが含まれます。

  • ライトスルー: キャッシュに書き込むとき、データは同時にメイン メモリに書き戻されます。ライトスルーおよびペネトレーションとも呼ばれます。
  • ライトバック: CPU がキャッシュ内の特定のラインを変更した後、対応するデータはすぐにメイン メモリに書き込まれず、そのラインがキャッシュから削除されたときにデータがメイン メモリに書き戻されます。
  • 注記: キャッシュ内の各データに有効ビットを設定します。データがキャッシュに入るとき、有効ビットは 1 に設定されます。CPU がデータを変更したいときは、データをメイン メモリに書き込み、ビットを 0 にクリアするだけで済みます。キャッシュからデータを読み取りたい場合は、その有効ビットをテストする必要があります。有効ビットが 1 の場合はキャッシュから取得され、それ以外の場合はメイン メモリから取得されます。

チェックコード

チェック コードは通常、数値グループの最後の桁であり、数値グループの正確さを検証するための何らかの操作を通じて前の数値から導出されます。

一般的な検証コードには、中華人民共和国住民 ID カードの最後の 1 桁、ISBN 番号の最後の 1 桁、組織コードの最後の 1 桁、データ送信の正当性検証コードなどが含まれます。

コンピュータなどにコードをデータとして入力する際、入力ミスが起こりやすく、入力ミスを減らすためにコーディングの専門家がさまざまな検証方法や誤り検出方法を考案し、それに基づいたチェックコードを設定しています。

パリティ チェック: 奇数ビット エラーのみを検出し、修正できません。
巡回チェック コード CRC: エラー チェックは可能ですが、エラー訂正はできません。チェック コードの計算にはモジュロ 2 除算が使用されます。
ハミング チェックサム: エラー チェックとエラー修正、ハミング チェックサム チェック ディジットの計算: 2r>=r+m-1

性能評価

パフォーマンス

コンピュータ システムのパフォーマンスには、通常、次の 2 つの主要な側面が含まれます。

  • 可用性とは、コンピュータ システムが正常に動作できる時間のことであり、その指標は、コンピュータ システムが動作し続けることができる時間の長さ、または一定期間内に正常に動作できる時間の割合である場合があります。
  • 処理能力は、スループット レート、応答時間、および特定の時間間隔内の全体時間に対するさまざまなコンポーネントの使用時間の比率であるリソース使用率の 3 つのカテゴリの指標に分類できます。

一般に、コンピュータ システムの可用性は、故障率 (Failurerate)、堅牢性 (Robustness)、および回復可能性 (Recoverability) の 3 つの側面から評価できます。

  • 故障率とは、一定期間内に発生するシステム故障およびメンテナンス イベントの数を指します。
  • 堅牢性とは、システムが障害を検出して処理する能力と、さまざまな障害状況下で動作するシステムの能力を指します。
  • 回復可能性とは、システムが障害状態から正常な状態に回復する能力を指します。

コンピュータ アプリケーション システムの移植性は、アプリケーションを促進するために重要ですが、単一のシステムを使用するほとんどのユーザーにとって、可用性の指標には主に障害率、堅牢性、回復可能性が含まれます。

さらに、さまざまなコンピューター (システム、モジュール) のパフォーマンス指標も異なります。重要なのは、次のことを理解することです。

  • コンピュータ:クロック周波数(メイン周波数)、キャッシュ、動作速度、動作精度、メモリ記憶容量、メモリアクセスサイクル、データ処理速度、応答時間、RASIS特性、平均故障応答時間、互換性
  • ネットワーク: デバイスレベル、ネットワークレベル、アプリケーションレベル、ユーザーレベル、スループット
  • オペレーティング システム: システムの信頼性、システム スループット、システム応答時間、システム リソース使用率、移植性
  • データベース:データベース記述機能、管理機能、クエリおよび操作機能、メンテナンス機能、
  • Web サーバー: 最大同時接続数、応答遅延、スループット (1 秒あたりに処理されるリクエストの数)、成功したリクエストの数、失敗したリクエストの数、1 秒あたりのクリック数、1 秒あたりの成功したクリック数、失敗したクリック数を含む1 秒あたり、接続試行回数、ユーザー接続

性能評価

コンピュータの性能評価(評価)方法は大きく分けて「測定法」と「モデル法」の2つに分かれます。

  • 測定方法: 特定の測定機器または測定手順を通じて、さまざまなパフォーマンス指標または密接に関連する測定値をシステムから直接測定し、いくつかの簡単な操作を通じて、対応するパフォーマンス指標を取得できます。
  • モデル手法: 基本的な考え方は、まず評価対象のシステムに適切なモデルを確立し、次にシステムのパフォーマンスを評価するためにモデルのパフォーマンス指標を見つけることです。

測定方法の中でも古典的な性能評価方法:

  • クロック周波数法: コンピュータのクロック周波数はマシンの速度をある程度反映します。同じ種類のコンピュータの場合、クロック周波数が高いほどコンピュータは高速になります。ただし、アーキテクチャが異なるコンピュータでも同じ速度になります。パフォーマンスは大幅に異なる可能性があります。
  • 命令実行速度法:コンピュータの開発においては、一般に加算の命令速度が乗算や除算などの他の算術演算の速度を反映するため、論理演算や転送命令などの単純な命令の実行時間は、計算機の速度は加算命令の動作速度で測ることができます。MIPS はシステムのパフォーマンスを評価するためによく使用されます。
  • 等価命令速度法:ギブソン法、混合比率計算法とも呼ばれ、プログラム中の各種命令の割合を計算することで得られるコンピュータの動作速度です。プログラム内のさまざまな命令の割合を計算する必要があります。
  • データ処理速度法: Processing Data Rate (PDR) は、マシンのパフォーマンスを測定するために PDR 値を計算する方法を使用しており、PDR 値が大きいほど、マシンのパフォーマンスが優れています。PDR は、命令および各オペランドあたりの平均ビット数、および命令あたりの平均動作速度に関係します。PDRは主にCPUとメインメモリの速度を測定しますが、キャッシュや多機能コンポーネントなどのテクノロジーの影響を伴わないため、マシン全体の速度の測定には適しておらず、コンピュータの性能を完全に反映することはできません。パフォーマンスについて。
  • 包括的理論性能法: CPT. この方法では、まず処理コンポーネントの各計算ユニットの実効計算速度を計算し、次に異なる語長に応じてそれを調整して、計算ユニットの理論性能を取得します。理論性能の合計は、最終的なコンピューターのパフォーマンス。システムのパフォーマンスは、1 秒あたりの百万理論演算数 (MTOPS) を使用して評価されます。
  • ベンチマーク プログラム方式: アプリケーションで最も頻繁に使用されるコア プログラムを、コンピュータ システムのパフォーマンスを評価するための標準プログラムとして使用します。これをベンチマークと呼びます。現在、ベンチマーク手法は、システム パフォーマンスをテストするためのより優れた手法として認識されています。IVO 構造、オペレーティング システム、およびコンパイラの効率がシステム パフォーマンスに与える影響を考慮してください。

一方、コンピュータ システムのパフォーマンスを評価するには、主に次の 3 つの方法があります。

  • 測定方法: 主に、さまざまなパフォーマンス データ取得方法を使用し、さまざまな種類のベンチマーク テスト プログラムまたはツールを実行して、ターゲット システムのパフォーマンスを測定します。
  • 解析手法:コンピュータシステムの数理モデルを構築し、与えられた入力条件のもとで計算により対象システムの性能を求める
  • シミュレーション方法:システムモデルとワークロードモデルを構築し、対象システムをほぼ模倣し、システムの特性を把握します。

ベンチマーク手順の方法

ほとんどの場合、新しいシステムのパフォーマンスをテストするには、評価プログラムを利用してマシンのパフォーマンスを評価する必要があります。アプリケーションが最も頻繁に使用するコアプログラムは、ベンチマークと呼ばれるコンピュータの性能を評価するための標準プログラムとして使用されます。

実プログラム、コアプログラム、小規模ベンチマークプログラム、合成ベンチマークプログラムの順に評価精度が低くなります。

Transaction Processing Performance Council (TPC) は、ビジネス アプリケーションのベンチマーク プログラムの標準仕様、パフォーマンス、価格の測定を開発し、テスト結果のリリースを管理する非営利団体です。TPC が公開している TPC-C は、オンライン トランザクションのベンチマーク プログラムです。 TPC-D は、意思決定支援のためのベンチマーク プログラムです。

Web サーバーのパフォーマンス指標には主に、リクエストの応答時間、トランザクションの応答時間、同時ユーザー数、スループット、リソース使用率、システムが 1 秒あたりに処理できるトランザクションの数が含まれます。
ベンチマーク プログラム手法では、主に CPU (メイン メモリを含む場合もあります) のパフォーマンスに焦点を当て、通常、I/O 構造、オペレーティング システム、コンパイラの効率などがシステム パフォーマンスに与える影響も考慮します。

コンピュータシステムの性能指標は高精度のデータであり、ユーザーアンケートや専門家グループによる手法では大まかなデータしか得られません。ほとんどのユーザーは複数のコンピュータ システムを使用することはなく、比較することが難しいため、コンピュータ システムのパフォーマンス指標の評価は一般にユーザー アンケートによって決定されません。

アムダールの法則

ジーン・アムダールの法則: システムの一部のパフォーマンスの向上がシステム全体にどのような影響を与えるか。ここでのシステムとは、コンピュータシステムまたは他のシステムを指します。

システムの一部のパフォーマンスを向上させる場合、システム全体のパフォーマンスへの影響は次の要素によって決まります。

  1. この部分はどのくらい重要ですか?
  2. この部分のパフォーマンスはどれくらい向上しますか?

計算方法:
ここに画像の説明を挿入します

参考

おすすめ

転載: blog.csdn.net/lonelymanontheway/article/details/120401683