第1章 コンピュータシステムアーキテクチャの基本概念
1.1 はじめに
-
最初の汎用電子コンピューターは 1946 年に誕生 - ENIAC
-
コンピュータ技術の急速な発展は 2 つの側面から恩恵を受けています
- コンピューター製造技術の発展
- コンピュータシステムアーキテクチャの革新
-
コンピュータ技術は4つの発展過程を経てきました
時間 | 理由 | 年間パフォーマンスの成長 |
---|---|---|
1946年から25年 | 両方の要素が重要な役割を果たします | 25% |
1970 年代後半から 1980 年代前半 | 大規模集積回路やマイクロプロセッサの登場、集積回路に代表される製造技術の発展 | 約35% |
1980年代半ばから | RISC構造の出現により、システム構造は常に更新および変更され、製造技術は常に発展しています。 | 約16年間50%以上を維持 |
2002年以来 | 1. 消費電力の問題(すでに大きい) 2. さらに効果的に開発できる命令レベルの並列処理はすでに非常に少ない 3. メモリアクセス速度の向上が遅い。 |
約20% |
システム構造における大きな転換点:
- 命令レベルの並列処理に純粋に依存することから、スレッドレベルの並列処理とデータレベルの並列処理の開発へ
- コンピュータシステムのアーキテクチャはコンピュータの開発において非常に重要な役割を果たします
1.2 コンピュータシステムの構造の概念
1.2.1 コンピュータシステムの階層
-
コンピュータシステム = ハードウェア/ファームウェア + ソフトウェア
-
コンピュータ言語は低レベルから高レベルへ発展します
- マイクロプログラム→機械語→アセンブリ言語→高級言語→アプリケーション言語
- 高レベル言語のステートメントは低レベル言語よりも強力で適用が簡単ですが、それらはすべて低レベル言語に基づいています。
-
コンピュータ言語の観点から見ると、コンピュータシステムは機能に応じて複数の階層構造に分かれています。
- 各層は言語によって特徴付けられます
- 各層は言語によって特徴付けられます
-
仮想マシン: ソフトウェアによって実装されたマシン
-
言語実装の 2 つの基本テクニック
-
翻訳: まず、すべての N+1 レベル プログラムを N レベル プログラムに変換し、次に新しく生成された N レベル プログラムを実行します。実行プロセス中、N+1 レベル プログラムにはアクセスできなくなります。
-
説明: N+1 レベル命令がデコードされるたびに、一連の同等の N レベル命令が直接実行され、次の N+1 レベル命令がフェッチされ、それに応じて繰り返されます。
-
解釈と実行には、コンパイルしてから実行するよりも時間がかかりますが、必要なストレージ容量は少なくなります。
1.2.2 コンピュータシステム構造の定義
-
コンピュータ システム アーキテクチャの古典的な定義
-
プログラマから見たコンピュータの特性 (つまり、概念的な構造と機能的特性)。
-
プログラマ:システムプログラマ(アセンブリ言語、機械語、コンパイラ、オペレーティングシステムを含む)
-
表示される内容: マシン上で正しく動作するプログラムを作成するために知っておくべきこと
-
コンピュータのプロパティ: 命令システム、データ表現、アドレス指定モード
-
-
-
コンピュータ システムのマルチレベルの階層構造によれば、プログラマのレベルが異なれば、コンピュータは異なる特性を持つようになります。
-
透明性:もともと存在する物や属性が、ある角度から見ると存在しないように見えること
-
アムダールが提案したシステムアーキテクチャ
- 従来の機械語レベルのプログラマから見たコンピュータの特性
-
広範なシステム構造の定義: 命令セットの構造、構成、ハードウェア (コンピューター設計の 3 つの側面)
-
汎用レジスタ マシンの場合、これらのプロパティは主に次のことを指します。
- 指揮系統
- データ表現
- アドレス指定ルール
- レジスタ定義
- 割り込みシステム
- 機械の稼働状態の定義と切り替え
- ストレージシステム
- 情報保護
- I/O構造
-
コンピュータシステム構造の概念の本質:
- コンピュータシステムにおけるソフトウェアとハードウェアのインターフェースを決定し、インターフェースの上にはソフトウェアによって実現される機能が、インターフェースの下にはハードウェアおよびファームウェアによって実現される機能が示されます。
-
コンピュータ システムは、機能的に同等のソフトウェア、ハードウェア、およびファームウェアで構成されます。
- 同じ機能は、ハードウェア、またはソフトウェアまたはファームウェアによって実装できます。
- 実装が異なっても性能と価格が異なるだけで、システム構造は同じです。
1.2.3 コンピュータの構成とコンピュータの実装
-
コンピュータ システムの構造: コンピュータ システムのソフトウェアとハードウェア間のインターフェイス
- つまり、機械語プログラマーから見た従来の機械レベルの特性です。
-
コンピュータの構成: コンピュータシステムアーキテクチャの論理的な実装
-
コンピューター システムを内部から研究します。物理マシンレベルでのデータフローや制御フローの構成、論理設計などが含まれます。
-
コンピュータの構成とは、コンピュータの主要なコンポーネントとそれらの相互接続によって形成されるシステムの種類、数量、構成方法、制御方法、情報の流れの方法を指します。
-
イベントが物理マシン レベルでどのように順序付けおよび制御されるか、各コンポーネントの機能、およびコンポーネント間の接続に焦点を当てます。
-
コンピュータの構成では、主にデータと命令の構成、基本演算のアルゴリズム、データアクセス、送信と処理、データフローと命令フローの制御モードなどを研究します。
-
-
計算的実現: コンピュータで構成される物理的実現
- プロセッサ、メインメモリ、その他のコンポーネントの物理構造、デバイスの統合と速度、特殊デバイスの設計、モジュール、プラグイン、バックプレーンの分割と接続、信号伝送技術、電源、冷却、および機械組立技術、製造工程・技術等
- 重点:デバイス技術(主役)、マイクロアセンブリ技術。
-
アーキテクチャには複数のコンポーネントを含めることができます
-
1 つの構成に複数の物理的実現を含めることができます
-
シリーズ機
- 同じメーカーが製造し、同じシステム アーキテクチャを備えているが、コンポーネントと実装が異なる一連の異なるモデルのコンピューター
1.2.4 コンピュータシステムアーキテクチャの分類
-
ファンの分類法
-
コンピュータを最大並列度に基づいて分類します。
-
最大並列処理: コンピュータ システムが単位時間あたりに処理できる 2 進数の最大数。
-
コンピュータ システムは平面デカルト座標系内の点で表され、横軸はワード幅 ( nビット)、縦軸は一度に処理できるワード数 ( mワード) を示します。m × n は、その最大並列度を表します。
- ワードシリアルとビットシリアルWSBS(ワードシリアルとビットシリアル)
- シリアル コンピュータ; m=1、n=1
- ワードパラレルおよびビットシリアル WPBS (ワードパラレルおよびビットシリアル):
- ビットスライス処理並列計算機、MPP、連想計算機; m=1、n>1;
- WSBP (ワード シリアルおよびビット パラレル): ワード プロセッシング
- 従来のユニプロセッサ; m > 1、n=1
- ワードパラレルとビットパラレル WPBP (ワードパラレルとビットパラレル)
- 完全並列コンピュータ; m > 1、n > 1
- ワードシリアルとビットシリアルWSBS(ワードシリアルとビットシリアル)
-
主な欠点: データの並列処理のみが考慮され、命令、タスク、ジョブの並列処理は考慮されません。
-
-
フリン分類法
-
命令ストリームとデータストリームの倍数性による分類。
-
命令ストリーム: コンピュータが実行する命令のシーケンス。
-
データ ストリーム: 命令ストリームによって呼び出される一連のデータ。
-
倍数性: システムの制約されたコンポーネント上の同じ実行ステージに同時に存在する命令またはデータの最大数。
-
フリン分類法では、コンピューター システムの構造を次の 4 つのカテゴリに分類します。
-
単一命令単一データ (SISD)
-
単一命令複数データ (SIMD)
-
複数の命令ストリーム、単一のデータ ストリーム (MISD)
-
複数命令複数データ (MIMD)
-
-
1.3 定量分析手法
1.3.1 コンピュータシステム設計の定量的原則
4 つの定量的原則:
-
定期的なイベントに焦点を当てる
-
全体的な改善をさらに高めるために、頻繁に発生する状況に対する最適化方法に基づいて選択が行われます。
-
最適化とは、より多くのリソースを割り当てること、より高いパフォーマンスを達成すること、より多くの電力を割り当てることなどを指します。
-
-
アムダールの法則
- コンポーネントの実行を高速化することによって得られるシステム パフォーマンスの高速化は、システムの合計実行時間に対するそのコンポーネントの実行時間の割合によって制限されます。
- システムパフォーマンスの高速化:
-
速度向上は次の 2 つの要因によって決まります。
- 改善できる割合:改善前のシステムにおいて、全体の実行時間のうち改善できる部分の実行時間の割合。
- これは常に 1 以下です。
-
コンポーネントの高速化: 部分的な改善後のパフォーマンス向上の倍数を向上させることができます。
-
改善前に要した実行時間と改善後の実行時間の比率です。
-
一般に、コンポーネントの高速化は 1 より大きくなります。
-
-
改良したプログラムの総実行時間
- システムの高速化は、改善前後の合計実行時間の比率です。
-
パフォーマンスが向上した降順ルール
-
一部のコンピューティング タスクでのみパフォーマンスが向上する場合、改善が増えれば増えるほど、全体的なパフォーマンスの向上は限定的になります。
-
タスク全体の一部のみが改善および最適化された場合、得られる高速化はわずかです。
1/(1-改善できる割合)
-
-
CPUの性能計算式
-
プログラムの実行に必要なCPU時間
-
CPU 時間 = プログラムの実行に必要なクロック サイクル数 x クロック サイクル タイム
- このうち、クロックサイクルタイムはシステムクロック周波数の逆数です。
-
実行される命令あたりの平均クロック サイクル数 CPI
- CPI = プログラム/IC の実行に必要なクロック サイクル数
- IC: 実行された命令の数
-
プログラム実行の CPU 時間は次のように記述できます。
- CPU 時間 = IC × CPI × クロック サイクル タイム
-
CPUのパフォーマンスは3つのパラメータによって決まります
-
クロック サイクル タイム: ハードウェア実装テクノロジとコンピュータの構成によって異なります。
-
CPI: コンピュータの構成と命令セットの構造によって異なります。
-
IC: 命令セットの構造とコンパイル テクノロジに依存します。
-
-
CPUの性能計算式をさらに改良
- 仮定: コンピュータ システムには n 種類の命令があります。
- CPI i : i 番目の命令の処理時間。
- IC i : プログラム内の i 番目の命令の出現数。
- CPU クロック サイクル数 = ∑(CPI i * IC i )
- CPU 時間 = プログラムの実行に必要なクロック サイクル数 x クロック サイクル タイム
= ∑(CPI i * IC i ) × クロック サイクル タイム
-
-
プログラムの局所性の原則
-
プログラムの実行中にアクセスされるメモリ アドレスの分布はランダムではなく、比較的クラスター化されています。
-
よく使われる経験則
- プログラム実行時間の 90% は、プログラム内のコードの 10% の実行に費やされます。
-
プログラムの時間的局所性
- プログラムが使用しようとしている情報は、現在使用されている情報である可能性があります。
-
プログラムの空間的局所性
- プログラムが使用しようとしている情報は、現在使用されている情報に空間的に隣接しているか、または近い可能性があります。
-
1.3.2 コンピュータシステムの性能評価
-
実行時間とスループット
- コンピューターのパフォーマンスを評価する方法は、テスターが問題を見る角度に関係します。
- ユーザーが気にするのは、単一プログラムの実行時間です (単一プログラムの実行に費やされる時間は非常に短いです)。
- データ処理センターの管理者が気にするのは、スループット率(単位時間内に完了できるタスクの量)です。
- 2 台のコンピューターが X と Y であるとします。X は Y よりも高速です。これは次のことを意味します。
- 特定のタスクについて、X の実行時間は Y の実行時間よりも短いです。
- X は Y のn倍のパフォーマンスを持ち、実行時間はパフォーマンスに反比例します。
- 実行時間はさまざまな方法で定義できます。
- コンピュータがタスクを完了するのにかかる合計時間。ディスク アクセス、メモリ アクセス、入出力、オペレーティング システムのオーバーヘッドなどが含まれます。
- CPU 時間: CPU が特定のプログラムを実行するのに費やした時間。ただし、I/O 待機時間と他のプログラムの実行に費やされた時間は含まれません。
- ユーザー CPU 時間: ユーザー プログラムによって消費される CPU 時間。
- システム CPU 時間: ユーザー プログラムの実行中にオペレーティング システムによって消費される CPU 時間。
-
ベンチマークプログラム
-
パフォーマンスをテストおよび比較するためのベンチマーク プログラムとして最適なのは、実際のアプリケーションです。(コンパイラなど)
-
以前は、次のような簡略化された手順がよく使用されていました。
- コアテストプログラム: 実際のプログラムから選択されたキーコードセグメントで構成される小さなプログラム。
- 小さなテスト プログラム: わずか数十行の単純な小さなプログラム。
- 合成テストプログラム:人工的に合成されたプログラム。
-
砥石と乾石は、最も一般的な合成試験手順です。
-
Whetstone は、FORTRAN 言語で書かれた包括的なテスト プログラムで、主に浮動小数点演算、整数算術演算、関数呼び出し、配列インデックス付け、条件付き転送、および超越関数を実行するプログラムで構成されています。
-
Dhrystone は、プロセッサの整数パフォーマンスをテストするための最も一般的なベンチマークの 1 つです
-
テストのパフォーマンスの観点から、上記のテスト手順は信頼できません。
-
理由:
-
これらのプログラムは比較的小規模で一方的です。
-
システム アーキテクトとコンパイラ設計者は、「共謀」してコンピュータをこれらのテスト プログラム用に最適化し、コンピュータのパフォーマンスが向上しているように見せることができます。ピークパフォーマンス
-
-
性能テストの結果は、使用されたテスト手順だけでなく、テストが実行される条件にも関係します。
-
ベンチマーク設計者がメーカーに求めること
- 同じコンパイラを使用してください。
- 同じ言語のすべてのプログラムは、同じコンパイル フラグのセットを使用します。
-
1 つの質問: テスト プログラムのソース プログラムの変更が許可されるかどうか 3 つの異なるアプローチ:
-
変更は許可されません。
-
変更は許可されていますが、テスト プログラムの複雑さやサイズにより変更はほとんど不可能です。
-
最終出力が同じである限り、変更は許可されます。
-
-
Benchmark suite (ベンチマーク): さまざまな実際のアプリケーションで構成されます。
-
(コンピュータの処理性能をあらゆる面でより包括的に反映できます)
-
SPEC ファミリ: 最も成功した一般的なテスト手順スイート
-
(米国Standard Performance Evaluation Corporationが開発)
-
トランザクション処理 (TP) パフォーマンス テスト ベンチマーク プログラム:
- これは、データベースへのアクセスや更新などのトランザクション処理におけるコンピュータの能力をテストするために使用されます。
-
-
性能比較
- 合計実行時間: コンピューターがすべてのテスト プログラムを実行するのにかかる合計時間
- 平均実行時間:各テストプログラムの実行時間の算術平均
- 加重実行時間:各テストプログラムの実行時間の加重平均
1.4 コンピュータシステム構造の開発
1.4.1 フォン・ノイマン構造
-
ストアドプログラム原理の基本点:命令駆動
- コンピュータのメモリにはプログラムやデータがあらかじめ格納されており、コンピュータを起動すると、プログラムが指定した論理順序に従ってこれらのプログラムが実行され、プログラムで記述された処理作業が自動的に完了します。
-
フォン・ノイマン構造の主な特徴
- 電卓を中心に。
- メモリ内では、命令とデータは同じように扱われます。
- 命令もデータと同様に操作することができ、命令で構成されるプログラムを変更することができます。
- メモリはアドレスによってアクセスされ、順番に線形にアドレス指定される 1 次元構造であり、各ユニットのビット数は固定されています。
- 命令は順番に実行されます
- 一般に、命令はメモリに格納された順序で実行されます。
- プログラムの分岐は転送命令により実現されます。
- 命令カウンタ PC は、現在実行されている命令のメモリ内のアドレスを示します。
- 命令はオペコードとアドレスコードで構成されます
- 命令とデータは二項演算を使用してバイナリ コードで表現されます。
-
システム構造の改善
- 入出力方法の改善
- 並列処理技術の使用
- 記憶組織の進化
- 命令セットの開発
- 複合命令セットコンピュータ (CISC)
- 縮小命令セットコンピュータ (RISC)
1.4.2 システム構造に対するソフトウェアの影響
-
ソフトウェアの移植性: ソフトウェアは、変更を加えずに、またはわずかな変更を加えるだけで、あるコンピュータから別のコンピュータに移植できます。違いは実行時間の違いのみです。2 台のコンピュータにはソフトウェア互換性があると言えます。
-
ソフトウェアの移植性を実現する一般的な方法:
- シリーズマシン
- シミュレーションとエミュレーション
- 統一された高級言語
-
シリーズ機
-
同じメーカーによって製造され、システム構造は同じですが、コンポーネントと実装が異なる一連の異なるモデルのマシン。ソフトウェア開発に必要な比較的安定したシステム構造と、デバイスおよびハードウェア技術の急速な発展との間の矛盾をよりよく解決できます。
-
ソフトウェア互換性
- 上位(下位)互換性: 特定のギアに基づいてコンパイルされたプログラムは、変更を加えることなく、それより上位(下位)のギアでも実行できます。
- 上位(下位)互換性: ある時期に発売された、ある種類のマシン用にコンパイルされたプログラムは、その前(後)に発売されたマシンでもそのまま実行できます。
- 下位互換性はシリーズ マシンの基本的な機能であり、達成する必要があります。
- 上位互換性を保つために最善を尽くしてください。
- 上位互換性と下位互換性は無視できます。
- 対応機種:他社製の同一システム構成のコンピュータ
-
シミュレーションとエミュレーション
-
システム構造が異なるマシン間でソフトウェアを移植できるようにします。
- 別のシステム構造の上に別のシステム構造を実装します。
- 命令セットの観点から見ると、別のマシンの命令セットを 1 台のマシンに実装することになります。
-
シミュレーション: ソフトウェアを使用して、既存のマシン (ホスト マシンと呼ばれる) 上に別のマシン (仮想マシンと呼ばれる) の命令セットを実装します。
- これは通常、解釈によって実現されます。
- 動作が遅くなり、パフォーマンスも低下します。
-
シミュレーション: 既存のマシン (ホスト マシン) 上のマイクロプログラムを使用して、別のマシン (ターゲット マシン) の命令セットを解釈します。
- アナログ方式よりも高速に実行
- エミュレーションはシステム構成の小さな違いがあるマシン間でのみ使用可能
-
-
統一された高級言語
- ソフトウェア移行を実現する理想的な方法
- 達成が難しい
-
1.4.3 デバイス開発がシステム構造に与える影響
- ムーアの法則
- 集積回路チップ上に集積されるトランジスタの数は 18 か月ごとに 2 倍になります。
- コンピュータの世代は主にデバイスを部門基準にしています。
- デバイス、システム アーキテクチャ、ソフトウェア テクノロジの点で独自の特徴があります。
1.4.4 アプリケーションがシステム構造に与える影響
- アプリケーションが異なれば、コンピューター システム構造の設計に対して異なる要件が提示されます。
- アプリケーション要件は、コンピュータ システム構造の開発における最も基本的な原動力です
- 一部の特殊な領域: 高性能のシステム構造が必要
- コンピュータのパフォーマンスは時間の経過とともに低下します
1.4.5 システム構造のライフサイクル
- システム構造のライフサイクル: 誕生、発展、成熟から消滅まで
- ハードウェアの成熟からシステム ソフトウェアの成熟まで約 5 ~ 7 年かかります
- システムソフトウェアが完成してからアプリケーションソフトウェアが完成するまでには、5~7年程度かかります。
- あと5~7年もすれば、このシステム構成は主流のシステム構成ではなくなるでしょう。
1.5 コンピュータシステムアーキテクチャにおける並列処理の発展
1.5.1 並列処理の概念
-
並列処理: コンピューター システムは、複数の計算または操作を同時に、または同じ時間間隔内で実行します。
- 並列性は、時間的に互いに重なり合う限り存在します。
-
同時性: 2 つ以上のイベントが同時に発生します。
-
同時実行性: 2 つ以上のイベントが同じ時間間隔内に発生します。
-
並列処理: コンピューティング プロセスで並列イベントをマイニングし、高レベルの並列処理を可能にします。
-
データ処理の観点から見ると、並列処理のレベルは、低から高まで次のように分類できます。
- 文字列ビット文字列: ワードの 1 ビットのみが一度に処理されます。
- 最も基本的な逐次処理方式であり、並列処理はありません。
- 文字列ビットユニオン: ワードのすべてのビットを同時に処理し、異なるワードがシリアル化されます。
- 並列性が現れ始めます。
- ワード並列ビット列: 多数のワードの同じビット (ビット スライスと呼ばれます) が同時に処理されます。
- 高い並列性を持っています。
- 完全並列: 多くのワードのビットのすべてまたは一部を同時に処理します。
- 最高レベルの並列処理。
- 文字列ビット文字列: ワードの 1 ビットのみが一度に処理されます。
-
実行プログラムの観点から見ると、並列処理のレベルは低から高まで次のようになります。
-
命令内並列処理: 単一命令内のマイクロオペレーション間の並列処理。
-
命令レベルの並列処理: 2 つ以上の命令を並行して実行します。
-
スレッドレベルの並列処理: 2 つ以上のスレッドを並行して実行します。
- 通常、1 つのプロセスから派生した複数のスレッドがスケジューリング単位として使用されます。
-
タスクレベルまたはプロセスレベルの並列処理: 2 つ以上のプロセスまたはタスク (プログラムセグメント) を並行して実行します。
- スケジューリング単位はサブルーチンまたはプロセスです。
-
ジョブまたはプログラムレベルの並列処理: 2 つ以上のジョブまたはプログラムを並行して実行すること。
-
1.5.2 並列性を改善するための技術的アプローチ
- 3 つの方法:
- 時間の重複: 時間要素の導入
- 複数の処理プロセスを時間内にずらし、同じハードウェア機器セットのさまざまな部分を順番にオーバーラップさせて使用することで、ハードウェアの回転率と勝利速度を高めます。
- リソースの重複: 量で勝つためのスペース要素の導入
- ハードウェアリソースの設定を繰り返し行うことで、コンピュータシステムのパフォーマンスを大幅に向上させることができます。
- リソース共有: これは、複数のタスクが同じハードウェア デバイスのセットを特定の時系列順に順番に使用できるようにするソフトウェア方法です。
- 時間の重複: 時間要素の導入
1.5.3 単一マシン システムにおける並列処理の開発
-
高性能ユニプロセッサの開発プロセスでは、時間オーバーラップの原理が主導的な役割を果たします。
- 時間的重複を実現するための基礎: コンポーネント機能の特化
- ジョブを機能に応じて、相互に関連するいくつかの部分に分割します。
- 各パーツを専用コンポーネントに割り当てます。
- 時間重複の原理に従って、各部分の実行プロセスが時間的に重複するため、すべての部分が順番に分割されて同じ作業のグループが完成します。
- 時間的重複を実現するための基礎: コンポーネント機能の特化
-
ユニプロセッサでは、リソース複製の原則の適用も非常に一般的です。
-
多体記憶
-
多操作部品
- 共通部分は加算部分、乗算部分、除算部分、論理演算部分などのいくつかの専用部分に分解されており、同じ部分を繰り返し設定することもできます。
- 命令の実行 (オペランドの準備ができている場合) は、命令に必要なオペランドが空になるとすぐに開始できます。
- これにより、命令レベルの並列処理が実現します。
-
アレイプロセッサ(並列プロセッサ)
- さらに、多数の同一の処理ユニットがセットアップされ、同じコントローラのコマンドの下、同じ命令の要件に従ってベクトルまたは配列の各要素に対して同じ演算を同時に実行し、配列を形成します。プロセッサー。
-
-
ユニプロセッサでは、リソース共有の概念は基本的にユニプロセッサを使用してマルチプロセッサの機能をシミュレートし、いわゆる仮想マシンの概念を形成します。
- タイムシェアリングシステム
1.5.4 マルチマシン システムにおける並列処理の発展
-
マルチマシン システムは、時間の重複、リソースの重複、およびリソースの共有の原則に従い、次の 3 つの異なるマルチプロセッサに発展します。
- 異種マルチプロセッサ、同種マルチプロセッサ、分散システム
-
カップリング
- これは、物理的な接続の緊密さと、マルチマシン システム内のマシン間の相互作用の強さを反映します。
- 密結合システム (直接結合システム): このシステムでは、コンピュータ間の物理接続は高周波数帯域を持ち、通常はバスまたは高速スイッチによって相互接続され、メイン メモリを共有できます。
- 疎結合方式(間接結合方式):通常、コンピュータ間の相互接続はチャネルや通信回線を介して実現され、外部記憶装置(ディスク、テープなど)を共有できます。マシン間の対話はファイルまたはデータセットのレベルで行われます。
-
機能の特化(時間の重複を実現するため)
- 専用周辺プロセッサ
- 専用プロセッサ
- 異種マルチプロセッサ システム
-
マシン間の相互接続
-
フォールトトレラント システム: システムの信頼性を確保します。
-
再構成可能なシステム
- コンピュータ間の相互接続ネットワークのパフォーマンスには、より高い要件が課されます。高帯域幅、低遅延、低オーバーヘッドのマシン間相互接続ネットワークは、効率的なプログラムまたはタスク レベルの並列処理の前提条件です。
-
同種マルチプロセッサ システム: 各プロセッサが同じ機能を持つ
システム内の並列性の開発
-
-
マルチマシン システムは、時間の重複、リソースの重複、およびリソースの共有の原則に従い、次の 3 つの異なるマルチプロセッサに発展します。
- 異種マルチプロセッサ、同種マルチプロセッサ、分散システム
-
カップリング
- これは、物理的な接続の緊密さと、マルチマシン システム内のマシン間の相互作用の強さを反映します。
- 密結合システム (直接結合システム): このシステムでは、コンピュータ間の物理接続は高周波数帯域を持ち、通常はバスまたは高速スイッチによって相互接続され、メイン メモリを共有できます。
- 疎結合方式(間接結合方式):通常、コンピュータ間の相互接続はチャネルや通信回線を介して実現され、外部記憶装置(ディスク、テープなど)を共有できます。マシン間の対話はファイルまたはデータセットのレベルで行われます。
-
機能の特化(時間の重複を実現するため)
- 専用周辺プロセッサ
- 専用プロセッサ
- 異種マルチプロセッサ システム
-
マシン間の相互接続
-
フォールトトレラント システム: システムの信頼性を確保します。
-
再構成可能なシステム
- コンピュータ間の相互接続ネットワークのパフォーマンスには、より高い要件が課されます。高帯域幅、低遅延、低オーバーヘッドのマシン間相互接続ネットワークは、効率的なプログラムまたはタスク レベルの並列処理の前提条件です。
-
同種マルチプロセッサ システム: 各プロセッサが同じ機能を持つ
- 同じタイプ、または少なくとも同等の機能を備えた複数のプロセッサで構成され、同じジョブ内で並行して実行できる複数のタスクを同時に処理します。
-