コンピュータ入試の面接におけるよくある質問の構成の原則(パート2)
使用する前に知っておく必要があります(あなたと私から始めて、バイバイを拒否してください、あなたはそれを好きになる必要があります):
pdfの直接印刷バージョンが必要です。これは、再審査および着陸のためにパブリックアカウント「プログラマーズトレジャー」で返信できます(継続的に更新されます)
審査プロセスでは、大学院の面接で尋ねられる可能性のある質問のほとんどを慎重にチェックして分類し、回答をポイントで分類しました。朗読を直接理解し、独自の言語を追加することができます!印刷して確認することを強くお勧めします、効率高い!
声明:いくつかのコーナーは収集されません。結局のところ、それは大学院の面接であり、筆記試験ではないため、全員の負担を減らすことができます!
いくつかのポイントは(Quick Awakening Memory Knowledge Framework)にあるため、追加されません!
このシリーズには合計8つの記事があります:プログラミング言語|データ構造|オペレーティングシステム|構成の原則|コンピュータネットワーク|データベース|ソフトウェアエンジニアリング|コンピュータ英語(まだ完了していません。ご期待ください。私の最大のモチベーションはサポートと注目です!)
営利目的ではなく、個人で分別する場合は、転載の際に出典を明記してください。
ニード408 2021電子書籍版のパブリック番号「で利用できる、プログラマーズトレジャー返信」408電子書籍取得
2021バージョンの408トライアルビデオが必要です。これは、パブリックアカウント「Programmer Treasure」で408ビデオに返信することで取得できます。
公開番号「Programmer Treasure」でマシンテストに返信することにより取得できる、マシンテストのビデオを再テストする必要があります。
さあ、みんな上陸できます!!!一緒に働きましょう!!!
第4章、コマンドシステム
記憶知識フレームワークをすばやく呼び起こします。
15.命令パイプラインの基本概念
パイプラインの基本原則:
パイプライン技術は、命令の実行速度と効率を大幅に向上させる技術です。方法は、命令フェッチが完了した後、命令の実行を待たずに次の命令をフェッチできることです。たとえば、命令の解釈プロセスをさらに細かく分割すると、命令は5つのサブプロセス(フェッチ、デコード、フェッチ、実行、書き戻し)に分割され、これら5つのサブプロセスを5つのサブコンポーネントで処理します。最初のサブプロセスが処理された後、2番目のサブプロセスが処理されると、2番目の命令の最初のサブプロセスが最初のサブコンポーネントで処理されます。時間の経過とともに、このオーバーラップ操作は最終的に5つのサブコンポーネントに到達できます5つの命令のサブプロセスを同時に操作します。
一般的な5ステージのパイプラインデータパス:
パイプライン方式の特徴:
従来のシリアル実行方式と比較して、パイプライン方式には次の特徴があります。
タスク(命令または操作)をいくつかの関連するサブタスクに分解します。各サブタスクは専用の機能コンポーネントによって実行され、複数の機能コンポーネントに依存して並列に動作し、プログラムの実行時間を短縮します。
パイプラインの各機能セクションの後ろにはバッファレジスタまたはラッチがあり、その機能はパイプラインセクションの実行結果を保存し、次のウォーターセクションに提供することです。
パイプラインの各機能セクションの時間は可能な限り等しくする必要があります。そうしないと、閉塞とフローの中断が発生します。
同じタスクが継続的に提供される場合にのみ、パイプラインの効率を発揮させることができるため、パイプラインで継続的なタスクを処理する必要があります。パイプライン方式を採用したプロセッサでは、ソフトウェアやハードウェアの設計など多くの面で、パイプラインに継続的なタスクを提供する必要があります。
組立ラインには、ロード時間と空にする時間が必要です。ロード時間とは、最初のタスクがパイプラインに入ってから出力パイプラインに到達するまでの時間を指します。空にする時間は、パイプラインに入る最後のタスクから出力パイプラインまでの時間を指します。
パイプラインのパフォーマンスに影響を与える要因
1)構造的相関とは、複数の命令が同じリソースを同時に競合して競合を形成することです
解決策:(1)1クロックサイクルの一時停止(2)データメモリと命令メモリを別々にセットアップ
2)データの相関は、後続の命令が前の命令の実行結果を使用する必要があるときに、命令がオーバーラップしてパイプラインで実行されるときに発生します。
解決策:(2)1クロックサイクルの一時停止(2)データバイパス:前の命令のALU計算結果を次の命令に直接入力
3)パイプラインが分岐命令およびPC値を変更する他の命令に遭遇すると、制御相関が発生します。
ソリューション:(1)遅延転送技術。転送命令を、転送命令に関係のない1つ以上の命令とスワップします。これにより、後続の命令が実行された後は常に転送が成功し、プリフェッチされた命令が無効化されません。
(2)移転予測技術。
16. CISCとRISCの比較(複雑な命令セットと縮小命令セット)?
17.この章のナレッジフレームワークのアドレッシングモード
第5章、中央処理装置
記憶知識フレームワークをすばやく呼び起こします。
18. CPUの機能は何ですか?
中央処理装置(CPU)は、演算装置とコントローラで構成されています。それらの中で、コントローラの機能は、命令フェッチ、分析命令、実行命令を含むプログラムの命令シーケンスを実行するために各コンピュータコンポーネントを調整および制御する責任があります。CPUの特定の機能は次のとおりです。
- コマンド制御。命令のフェッチ、命令の分析、および命令の実行の操作、つまりプログラムの順次制御を完了します。
- 操作制御。命令の機能は、多くの場合、いくつかの操作信号の組み合わせによって実現されます。CPUは、メモリからフェッチされた各命令の操作信号を管理および生成し、さまざまな操作信号を対応するコンポーネントに送信し、それによってこれらのコンポーネントを制御して、命令の要件に従って動作する。
- 時間制御。さまざまな操作の時間制御。時間制御は、時系列順に各命令に適切な制御信号を提供する必要があります。
- データ処理。データに対して算術演算と論理演算を実行します。
- 割り込み処理。コンピュータの操作中に発生する異常な状況や特別な要求を処理します。
19.パイプラインが多いほど、並列度は高くなります。パイプラインセクションが多いほど、命令の実行は速くなりますか?
その理由は次のとおりです。
パイプラインバッファー間の余分なオーバーヘッドが増加します。各パイプラインセグメントには、バッファー間でのデータの転送、さまざまな準備の実行、送信などの機能のための追加のオーバーヘッドがあります。これらのオーバーヘッドは、命令の実行時間全体を増加させます。命令間のロジックが相互に依存している場合、オーバーヘッドは大きくなります。
パイプラインセクション間の制御ロジックは、ますます複雑になります。パイプラインの最適化とメモリ(またはレジスタ)の競合処理に使用される制御ロジックは、パイプラインステージの増加に伴って大幅に増加するため、パイプラインステージ間の制御に使用されるロジックは、ステージ自体の制御ロジックよりも複雑になる可能性があります。
20.命令とデータに関連するいくつかの概念
2つの連続する命令が同じレジスタを読み取るとき、パイプラインに影響を与えない読み取り後読み取り(RAR)相関があります。
命令が前の命令によって書き込まれたレジスタを読み取りたい場合、それは、データ相関または真の相関と呼ばれる、書き込み後の読み取り(RAW)相関を生成し、パイプラインに影響を与えます。連続して流れるパイプラインは、RAWに関連してのみ表示できます。
特定の命令の最後の命令がその命令の出力レジスタを読み書きしたい場合、書き込み後読み取り(WAR)と書き込み後書き込み(WAW)が関連付けられます。非順次パイプラインでは、RAW相関、WAR相関、WAW相関の両方が発生する可能性があります。
パイプラインに関連する最も関連する命令は、データ関連です。
第6章、バス
記憶知識フレームワークをすばやく呼び起こします。
21.バス構造を導入する利点は何ですか?
バス構造の導入には、主に次のような利点があります。1)システム構造が簡素化され、システムの設計と製造に便利です。2)配線数が大幅に削減され、配線に便利で、体積が小さくなり、システムの信頼性が向上します。3)便利なインターフェース設計、バスに接続されたすべてのデバイスは同様のインターフェースを使用します。4)システムの拡張、更新、柔軟な構成を容易にし、Yiqianはシステムのモジュール化を実現します。5)装置のソフトウェア設計に便利で、すべてのインターフェースのソフトウェアが異なるインターフェースアドレスで動作します。6)故障診断や保守に便利で、コストダウンにもつながります。
22.バス関連の概念
1.さまざまな伝送情報に従って、どのタイプのシステムバスが分割されますか?単方向ですか、それとも双方向ですか?1)データバス、アドレスバス、コントロールバスに分かれています。2)データバス:データ情報はさまざまな機能コンポーネント間で双方向に送信されます。3)アドレスバス:ソースまたは宛先データがデータバス上にあるメインメモリユニットのアドレスを示すために使用されます。単方向:CPUによって発行されます。4)制御バス:さまざまな制御信号を送信するために使用されます。制御バスの1本のラインは単方向です。つまり、コンポーネント間でのみ送信できます。制御バスのグループには入力と出力があるため、制御バスも双方向と見なすことができます。
2.バス幅、バス帯域幅、バス多重化、および信号線の数とは何ですか?1)バス幅:データバスの数、通常は8の倍数。これは、コンピュータシステムのパフォーマンスを測定するための重要な指標です; 2)バス帯域幅:つまり、バスデータ伝送速度、1秒間にバス上で伝送できる最大バイト数。3)バス多重化:2つの信号が時分割で1つの信号線で送信されます。たとえば、データバスとアドレスバスの時分割多重化4)信号線の数:アドレスバス、データバス、およびコントロールバスの線の数の合計。
第VII章、入出力システム
記憶知識フレームワークをすばやく呼び起こします。
23. CPUが割り込みに応答するために必要な条件は何ですか?
1)CPU内に設定された割り込みマスクトリガーが開いている必要があります。
2)割り込み要求が外部から提供される場合、割り込み要求信号を維持するには、割り込み要求トリガーを「1」状態にする必要があります。
3)ペリフェラル(インターフェース)割り込みイネーブルトリガーは、ペリフェラル割り込み要求をCPUに送信できるように「1」でなければなりません。
上記の3つの条件が満たされると、CPUは現在の命令の最後の最後のステートサイクルで割り込みに応答します。
24.割り込み応答優先順位と割り込み処理優先順位は何を指しますか?
割り込み応答の優先度は、ハードウェアキューイングラインまたは割り込みクエリプログラムのクエリシーケンスによって決定され、動的に変更することはできません。また、割り込み処理の優先度は、割り込みマスクワードによって変更でき、処理中の割り込みが新しく生成された割り込みよりも新しいかどうかを反映します。処理の優先度が低い(マスクビットが「0」で、新しい割り込みに開放されている)場合、処理中の割り込みは中止され、新しい割り込みが処理されます。処理後、中止されたばかりの割り込みが返され、処理が続行されます。
25.ベクトル割り込み、割り込みベクトル、ベクトルアドレスの3つの概念の関係は何ですか。
1)割り込みベクタ:各割り込み要因には対応する処理プログラムがあり、この処理プログラムを割り込みサービスプログラムと呼び、そのエントリアドレスを割り込みベクタと呼びます。すべての割り込みの割り込みサービスプログラムエントリアドレスは、割り込みベクトルテーブルと呼ばれるテーブルを形成します。一部のマシンは、割り込みサービスプログラムエントリのジャンプ命令を、割り込みベクトルジャンプテーブルと呼ばれるテーブルに形成します。
2)ベクタアドレス:割り込みベクタテーブルまたは割り込みベクタジャンプテーブルの各エントリのメモリアドレスまたはインデックス値は、ベクタアドレスまたは割り込みタイプ番号と呼ばれます。
3)ベクトル割り込み:割り込みのソースを識別するための手法または方法を指します。割り込み要因を特定する目的は、割り込み要因に対応する割り込みサービスプログラムのエントリアドレスのアドレスを見つけること、すなわち、ベクタアドレスを取得することである。
26.プログラムの中断とサブルーチンの呼び出しの違いは何ですか?
2つの間の基本的な違いは、主にサービス時間とサービス目標の違いに反映されます。
サブルーチン呼び出しプロセスが発生する時間は既知であり、固定されています。つまり、メインプログラムは、メインプログラム内の呼び出し命令(CALL)が実行され、呼び出し命令の場所が既知であり、固定されているときにサブルーチンプロセスを呼び出します。割込時間は一般にランダムであり、メインプログラム実行時にCPUが割込元から割込要求を受けると割込処理が発生し、ハードウェア回路で割込アプリケーションが生成されるのが一般的であり、アプリケーション時間はランダムである。呼び出し側のサブルーチンはプログラマがあらかじめ用意しており、割り込みサービスルーチンの実行はシステムの作業環境によってランダムに決定されるとも言えます。
サブプログラムはメインプログラムを完全に処理し、2つは主従関係に属します。メインプログラムがサブプログラムを必要とする場合、サブプログラムを呼び出し、呼び出しの結果をメインプログラムに戻し、実行を継続します。割り込みサービスプログラムとメインプログラムは一般に無関係であり、誰が誰にサービスを提供するかは問題ではなく、2つは並行関係にあります。
サブルーチンを呼び出すメインプログラムのプロセスは、特別なハードウェア回路のない完全なソフトウェアプロセスであり、割り込み処理システムは、割り込み処理プロセスを完了するために特別なハードウェア回路を必要とするソフトウェア/ハードウェアシステムの組み合わせです。
サブルーチンの入れ子は、いくつかのレベルを達成できます。入れ子レベルの最大数は、コンピューターのメモリによって開発されたスタックサイズによって制限されます。割り込みの入れ子レベルの数は、主に割り込み優先度レベルによって決まり、一般的な優先度数はそれほど大きくありません。
27. I / O制御方法はオペレーティングシステムで使用できるため、ここでは繰り返しません。