00.「コンピュータアーキテクチャ」コースワーク1 質問リスト

「コンピュータアーキテクチャ」コースワーク1の質問リスト

1. 階層構造、システム構造、コンピュータの構成、コンピュータの実装、アムダールの法則、プログラム局所性の原則、異種マルチプロセッシング、同種マルチプロセッシングとは何ですか?

2. コンピュータを分類するためのフリン分類の基礎は何ですか?コンピュータはどの 4 つのカテゴリに分類できますか?

3. プログラムの実行とデータ処理の観点から見ると、コンピューター システムの並列処理のレベルは低から高までどれくらいですか?

4. コンピュータシステムの構造、コンピュータの構成、およびコンピュータの実装の関係を例を挙げて説明します。

5. メイン周波数 400MHz のコンピュータで標準テストプログラムを実行し、プログラム内の命令の種類、実行数、平均クロックサイクルを下表に示します。このコンピュータの実効 CPI、レート、プログラム実行時間を見つけます。

6. コンピュータシステムのある機能の処理速度が 10 倍になったとしても、その機能の処理時間がシステム全体の実行時間の 40% にすぎない場合、システム全体のパフォーマンスはどれくらい向上するでしょうか。この機能強化方式を採用して改善されましたか?

7. コンピュータ システムには改善できるコンポーネントが 3 つあります。これら 3 つのコンポーネントのコンポーネント高速化率は次のとおりです: コンポーネント 1 高速化率 = 30 コンポーネント 2 高速化率 = 20 コンポーネント 3 高速化率 = 10

アプリケーションプログラム内に3種類の演算があると仮定すると、改善により各演算は異なる性能向上を得ることができる。具体的なデータは以下の通りです。

9. 浮動小数点命令 (FP 命令) の割合が 30%、そのうち浮動小数点平方根 ​​(FPSQR) が全命令の 4% を占め、FP 演算の CPI が 5、FPSQR の CPI であると仮定します。オペレーション数は 20、その他の命令の平均 CPI は 1.25 です。改善方法は 2 つあり、1 つ目は FPSQR 演算の CPI を 3 に下げる方法と、2 つ目はすべての FP 演算の CPI を 3 に下げる方法です。計画。

1. 階層構造、システム構造、コンピュータの構成、コンピュータの実装、アムダールの法則、プログラム局所性の原則、異種マルチプロセッシング、同種マルチプロセッシングとは何ですか?

回答:マルチレベルの階層構造 - 低レベルから高レベルまでのコンピュータ言語の順序に従って、コンピュータシステムは機能に応じてマルチレベルのクラウド下部構造に分割され、各層は異なる言語によって特徴付けられます。これらのレベルは、マイクロプログラム マシン レベル、マシン言語 (従来のマシン レベル)、オペレーティング システム仮想マシン、アセンブリ言語仮想マシン、高水準言語仮想マシン、アプリケーション言語仮想マシンなどになります。
コンピュータシステムの構造とは、機械語プログラマから見たコンピュータの性質、すなわち概念構造や機能特性を指します。
コンピュータ構成とは、物理マシン レベルでのデータ フローと制御フローの構成、および論理設計を含む、コンピュータ システム構造の論理的な実装を指します。
コンピュータ実装とは、プロセッサのメインメモリやその他のコンポーネントの物理的構造、デバイスの統合と速度、モジュール、プラグイン、バックプレーンの分割と接続、信号伝送、電源、冷却、機械完成品、組立技術など
アムダールの法則 — システム内のコンポーネントが改善された場合、得られるシステム全体のパフォーマンスの向上は、総実行時間に占めるコンポーネントの実行時間の割合によって制限されます。
プログラムの局所性の原則 - プログラムの実行中にアクセスされるメモリ アドレスはランダムに分散されるのではなく、相対的にクラスター化されます。
ヘテロジニアス マルチプロセッサ システム - 異なるタイプの複数のプロセッサで構成され、少なくとも異なる機能を担当します。これらのプロセッサは、時間重複の原理を使用して、ジョブ要件の順序に従って複数のタスクを順番に処理し、それぞれが指定された機能アクションを完了します。
同型マルチプロセッサ システム - 同じタイプ、または少なくとも同じ機能を持つ複数のプロセッサで構成され、同じジョブ内で並行して実行できる複数のタスクを同時に処理します。

2. コンピュータを分類するためのフリン分類の基礎は何ですか?コンピュータはどの 4 つのカテゴリに分類できますか?

回答: フリン分類法は、命令ストリームとデータ ストリームの倍数性に従って分類されており、コンピュータ システムの構造を単一命令ストリーム、単一データ ストリーム (SISD)、単一命令ストリーム、複数データ ストリーム (SIMD)、複数命令ストリーム、単一データに分割します。ストリーム (MISD)、複数命令複数データ ストリーム (MIMD)。

3. プログラムの実行とデータ処理の観点から見ると、コンピューター システムの並列処理のレベルは低から高までどれくらいですか?

回答: 例えば、主記憶システムを設計する場合、主記憶の容量、アドレス指定方法、アドレス指定範囲などを決定することは、コンピュータシステムの構造の範疇に属し、主記憶サイクルを決定すること、主記憶を論理的に並列に使用するかどうか、ロジックを決定することなどです。設計などはコンピュータ構成のカテゴリに属し、メモリチップの種類、マイクロアセンブリ技術、回路設計などの選択はコンピュータ実装のカテゴリに属します。
コンピュータの構成は、コンピュータ システム アーキテクチャの論理的な実装です。コンピュータの実装とは、コンピュータを構成する物理的な実現です。システム構造には複数のコンポーネントを含めることができます。1 つの構成に複数の実現を含めることができます。

4. コンピュータシステムの構造、コンピュータの構成、およびコンピュータの実装の関係を例を挙げて説明します。

回答: データ処理の観点から、並列処理のレベルは次のように分類できます。
(1) 文字列ビット文字列: 一度にワードの 1 ビットのみが処理されます。これは最も基本的なシリアル処理方法であり、並列処理はありません;
(2) ワード列ビット結合: ワードの全ビットが同時に処理され、異なるワードがシリアル化されます。並列処理が現れ始めています;
(3) ワードとビット列: 多くのワードの同じビット (ビット スライスと呼ばれます) が同時に処理されます。この方法は並列性が高く、
(4) 完全な並列性: 多くのワードのすべてまたは一部のビットを同時に処理します。これは最高レベルの並列処理です。
プログラム実行の観点から、並列性レベルは低から高に分類できます。
(1) 命令内並列性: 単一命令内のマイクロ操作間の並列性: (2) 命令レベルの並列性: 2 つまたは 2 つのマイクロ操作の並列実行。 -operations (3) スレッドレベルの並列処理
: 2 つ以上のスレッドを並列実行し、通常は 1 つのプロセスから派生した複数のスレッドをスケジューリング単位として使用します (4
) タスクレベルまたはプロセスレベルの並列処理: 2 つ以上のプロセスを並列実行します。または、サブルーチンまたはプロセスをスケジューリング単位とするタスク (セグメント)
(5) ジョブまたはプログラムレベルの並列処理: 2 つ以上のジョブまたはプログラムの並列実行。

5. メイン周波数 400MHz のコンピュータで標準テストプログラムを実行し、プログラム内の命令の種類、実行数、平均クロックサイクルを下表に示します。このコンピュータの実効 CPI、レート、プログラム実行時間を見つけます。

コマンドの種類 実行された命令の数 平均クロックサイクル数
整数 40000 1
データ送信 65000 2
浮動小数点 7000 4
ブランチ 1000 2
答え:

(1)CPI =(45000X1+75000X2+8000X4+1500X2)/129500=1.776

(2) MIPS レート=f/CPI =400/1.776 =225.225MIPS

(3) プログラム実行時間 = (45000X1+75000X2+8000X4+1500X2)/400=575us

6. コンピュータシステムのある機能の処理速度が 10 倍になったとしても、その機能の処理時間がシステム全体の実行時間の 40% にすぎない場合、システム全体のパフォーマンスはどれくらい向上するでしょうか。この機能強化方式を採用して改善されましたか?

解決策: 質問の意味から、改善率 = 40% = 0.4、コンポーネント高速化率 = 10 であることがわかります。アムダールの法則によれば、次のようになります。

システム高速化率=1/((1-0.4)+0.4/10)=1.5625

この機能強化方式の採用により、システム全体の性能をオリジナルの1.5625倍に向上させることができます。

7. コンピューター システムには改善できるコンポーネントが 3 つあり、これら 3 つのコンポーネントのコンポーネント加速率は次のとおりです。

パート 1 のスピードアップ = 30 パート 2 のスピードアップ = 20 パート 3 のスピードアップ = 10

(1) コンポーネント 1 とコンポーネント 2 の改善率がそれぞれ 30% である場合、コンポーネント 3 の改善率が 10% のとき、システムの高速化率は 10 に達しますか?

(2) 3 つのコンポーネントの改善率がそれぞれ 30%、30%、20% で、3 つのコンポーネントが同時に改善される場合、加速できない部分の実行時間の割合は何になりますか?システムと合計実行時間の関係は?

ほどく:

[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-eS4I6kjG-1682399060454) (D:\Personal Files\Black Group Associated\Personal Black)グループ フラッシュ プロセス DS918+ xs_42962\docker 関連\MD イメージ リソース\3 質問 image-20230425125714335.png)]

アプリケーションプログラム内に3種類の演算があると仮定すると、改善により各演算は異なる性能向上を得ることができる。具体的なデータは以下の通りです。

操作タイプ プログラムの数 (数百万の命令) 改善前の実行時間(サイクル) 実行時間(サイクル)の改善
操作1 10 2 1
操作2 30 20 15
操作 3 35 10 3
作戦4 15 4 1

(1) 改善後の各種動作の高速化率はどのくらいですか?
(2) それぞれの動作を個別に改善した後、プログラムによって得られる高速化率はどれくらいですか?

(3) 3種類の動作を同時に改善した場合のプログラム全体の高速化率はどのくらいでしょうか?

ほどく:
[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-Prnvd94P-1682399060455) (C:\Users\WmingxiangWen\AppData\Roaming\Typora\) typora-user-images\ image-20230425125815732.png)]

9. 浮動小数点命令 (FP 命令) の割合が 30%、そのうち浮動小数点平方根 ​​(FPSQR) が全命令の 4% を占め、FP 演算の CPI が 5、FPSQR の CPI であると仮定します。オペレーション数は 20、その他の命令の平均 CPI は 1.25 です。改善方法は 2 つあり、1 つ目は FPSQR 演算の CPI を 3 に下げる方法と、2 つ目はすべての FP 演算の CPI を 3 に下げる方法です。計画。

ほどく:
[外部リンク画像の転送に失敗しました。ソース サイトには盗難防止リンク メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-0DOQKBNz-1682399060456) (C:\Users\WmingxiangWen\AppData\Roaming\Typora) \typora-user-images\ image-20230425125833069.png)]

おすすめ

転載: blog.csdn.net/qq_29711355/article/details/130362520