マイクロプロセッサシステム

マイクロプロセッサシステムほとんどすべての電気機器におけるマイクロプロセッサ システムの使用は、現代社会の技術インフラストラクチャの最も重要な特徴です。電力、産業、輸送、通信システムは、コンピューター制御システムに大きく依存しています。マイクロプロセッサ システムは、測定器、電気機器、照明設備などに組み込まれています。

このため、電気技術者は少なくともマイクロプロセッサ技術の基本を知っておく必要があります。

マイクロプロセッサ システムは、情報処理を自動化し、さまざまなプロセスを制御するように設計されています。

「マイクロプロセッサ システム」という用語は非常に幅広く、「電子計算機 (ECM)」、「制御コンピュータ」、「コンピュータ」などの概念が含まれます。

マイクロプロセッサ システムには、ハードウェア、英語ではハードウェアとソフトウェア (ソフトウェア)、ソフトウェアが含まれます。

デジタル情報

マイクロプロセッサ システムは、一連の数値コードであるデジタル情報を処理します。

マイクロプロセッサ システムの中核には、2 進数 (0 と 1 で構成される) のみを受け入れるマイクロプロセッサがあります。2 進数は 2 進数体系を使用して記述されます。たとえば、日常生活では、0、1、2、3、4、5、6、7、8、9 という 10 個の文字または数字を使用して数字を記述する 10 進数体系が使用されます。したがって、2 進法では、そのような記号 (または数字) は 0 と 1 の 2 つだけです。

番号体系は単に数字を書くためのルールであり、どのタイプの番号体系を選択するかは使いやすさによって決まることを理解する必要があります。バイナリ システムが選択されるのは、そのシンプルさ、つまりデジタル デバイスの信頼性と技術的実装の容易さによるものです。

デジタル情報の測定単位について考えてみましょう。

ビット (英語の «BInary digiT» — バイナリ ディジットから) は、0 または 1 の 2 つの値のみを取ります。論理値 «yes» または «no»、状態 «on» または «off»、状態 «をエンコードできます。開いている» «または» 閉じている«など。

8 ビットのグループはバイトと呼ばれます (例: 10010111)。1 バイトで 256 個の値 (00000000 — 0、11111111 — 255) をエンコードできます。

ビットとは情報の最小単位です。

バイト — 情報処理の最小単位。バイト - マシンワードの一部。通常は 8 ビットで構成され、コンピュータ上での保存、送信、処理中の情報量の単位として使用されます。 1 バイトは、文字、音節、特殊文字 (通常は 8 ビットすべてを占める) または 10 進数 (1 バイトに 2 桁ずつ) を表すのに役立ちます。

連続する 2 バイトをワード、4 バイトをダブル ワード、8 バイトをクアッド ワードと呼びます。

私たちの身の回りにある情報は、ほとんどがアナログです。したがって、情報は処理のためにプロセッサに入力される前に、ADC (アナログデジタルコンバータ) を使用して変換されます。さらに、情報は特定の形式でエンコードされており、デジタル、論理、テキスト (記号)、グラフィック、ビデオなどにすることができます。

たとえば、テキスト情報をエンコードするために、ASCII コードのテーブル (情報交換のための英国の米国標準コードから) が使用されます。 1 文字は 1 バイトに書き込まれ、256 個の値を取ることができます。グラフィック情報はドット(ピクセル)に分割され、各ドットの色と位置が水平方向と垂直方向にコード化されます。

MS では、2 進数と 10 進数に加えて、0 ~ 9 および A ~ F の記号を使用して数値を記述する 16 進数も使用されます。これは、1 バイトが 2 つのバイトで記述されるためです。 - 桁の 16 進数。これにより、数値コードの記録が大幅に削減され、読みやすくなります (11111111 — FF)。

表 1 — さまざまな記数法での数字の書き方

異なる記数法で数字を書く

数値の値を決定するには (たとえば、さまざまな数体系の数値 100 の値は 42、10010、25616 になります)、数値の末尾に数体系を示すラテン文字を追加します。2 進数の場合はその文字b、16 進数の場合 - h、10 進数の場合 - d。追加の指定のない数値は 10 進数とみなされます。

数値をある系から別の系に変換したり、数値を使った基本的な算術演算や論理演算を行うことで、工学計算機 (Windows オペレーティング システムの標準アプリケーション) を作成できます。

マイクロプロセッサシステムの構造

マイクロプロセッサ システムは、情報処理および制御機能を実行するマイクロプロセッサ (プロセッサ) に基づいています。マイクロプロセッサ システムを構成する残りのデバイスは、プロセッサの動作を支援することでプロセッサにサービスを提供します。

マイクロプロセッサ システムを作成するための必須のデバイスは、入出力ポートと部分的にメモリです... 入出力ポートは、処理のための情報を提供し、処理または制御アクションの結果を出力することにより、プロセッサを外の世界に接続します。入力ポートにはボタン(キーボード)や各種センサーが接続されており、出力ポートへ — 電気制御を可能にするデバイス: インジケーター、ディスプレイ、コンタクター、ソレノイドバルブ、電気モーターなど。

メモリは主に、プロセッサの動作に必要なプログラム (またはプログラムのセット) を保存するために必要です。プログラムは、プロセッサが理解できる一連のコマンドであり、人間 (通常はプログラマ) によって作成されます。

マイクロプロセッサ システムの構造を図 1 に示します。プロセッサは、簡略化してデジタル情報を処理する算術論理演算ユニット (ALU) と制御ユニット (CU) で構成されます。

メモリには通常、不揮発性で情報 (プログラムなど) の長期保存を目的とした読み取り専用メモリ (ROM) と、データの一時保存を目的としたランダム アクセス メモリ (RAM) が含まれます。

マイクロプロセッサシステムの構造

図1|マイクロプロセッサシステムの構造

プロセッサ、ポート、およびメモリはバスを介して相互に通信します。バスは、機能的に統合された一連のワイヤです。単一セットのシステム バスはシステム内バスと呼ばれ、次のものが含まれます。

  • DB データ バス (データ バス)。プロセッサ、メモリ、ポート間でデータが交換されます。

  • アドレスバス AB (アドレスバス)、プロセッサのメモリセルとポートをアドレス指定するために使用されます。

  • 制御バス CB (Control Bus)、プロセッサから外部デバイスへ、またはその逆にさまざまな制御信号を送信する一連のライン。

マイクロプロセッサ

マイクロプロセッサ — デジタル情報を処理し、その処理プロセスを制御するように設計されたソフトウェア制御のデバイスで、電子要素が高度に集積された 1 つ (または複数) の集積回路の形式で作られます。

マイクロプロセッサは、複雑なソフトウェア制御デバイスであると同時に電子デバイス (超小型回路) でもあるため、多数のパラメータによって特徴付けられます。したがって、マイクロプロセッサの場合、プロセッサのケースの種類と命令セットの両方… マイクロプロセッサの機能は、マイクロプロセッサ アーキテクチャの概念によって定義されます。

プロセッサ名の接頭辞「micro」は、プロセッサがミクロンテクノロジーを使用して実装されていることを意味します。

Intel Pentium 4マイクロプロセッサの外観

図2 — Intel Pentium 4マイクロプロセッサの外観

動作中、マイクロプロセッサはメモリまたは入力ポートからプログラム コマンドを読み取り、実行します。各コマンドの意味はプロセッサの命令セットによって決まります。命令セットはマイクロプロセッサのアーキテクチャに組み込まれており、コマンド コードの実行はプロセッサの内部要素による特定のマイクロオペレーションの実行で表現されます。

マイクロプロセッサ アーキテクチャ — これはその論理構成です。これは、マイクロプロセッサ システムの構築に必要な機能のハードウェアおよびソフトウェア実装の観点から、マイクロプロセッサの機能を定義します。

マイクロプロセッサの主な特徴:

1) クロック周波数 (測定単位 MHz または GHz) — 1 秒間のクロック パルスの数。クロック パルスは、通常はプロセッサ内にあるクロック ジェネレーターによって生成されます。すべての操作 (命令) はクロック サイクルで実行されるため、作業パフォーマンス (単位時間あたりに実行される操作の数) はクロック周波数に依存します。プロセッサの周波数は、特定の制限内で変化する場合があります。

2) ビット プロセッサ (8、16、32、64 ビットなど) — 1 クロック サイクルで処理されるデータのバイト数を指定します。プロセッサのビット幅は、内部レジスタのビット幅によって決まります。プロセッサは 8 ビット、16 ビット、32 ビット、64 ビットなどです。データは 1、2、4、8 バイトのチャンクで処理されます。ビット深度が大きいほど、作業の生産性が向上することは明らかです。

マイクロプロセッサの内部アーキテクチャ

典型的な 8 ビット マイクロプロセッサの簡略化された内部アーキテクチャを図 3 に示します。マイクロプロセッサの構造は、次の 3 つの主要な部分に分けることができます。

1) コマンド、データ、アドレスを一時的に保存するためのレジスタ。

2) 算術論理演算を実行する算術論理演算装置 (ALU)。

3) 制御およびタイミング回路 — コマンド選択を提供し、ALU の動作を組織し、すべてのマイクロプロセッサ レジスタへのアクセスを提供し、外部制御信号を認識して生成します。

8 ビット マイクロプロセッサの簡素化された内部アーキテクチャ

図 3 — 8 ビット マイクロプロセッサの簡略化された内部アーキテクチャ

図からわかるように、プロセッサはレジスタに基づいており、レジスタは特殊 (特定の目的を持つ) レジスタと汎用レジスタに分かれています。

プログラム カウンタ (コンピュータ) — 次のコマンド バイトのアドレスを含むレジスタ。プロセッサは、次にどのコマンドが実行されるかを知る必要があります。

バッテリー — ロジックおよび算術処理の大部分の命令で使用されるレジスタ。これは、ALU 演算に必要なデータの 1 バイトのソースであり、ALU 演算の結果が配置される場所でもあります。

関数レジスタ (またはフラグ レジスタ) には、マイクロプロセッサの内部状態、特に最後の ALU 演算の結果に関する情報が含まれています。フラグ レジスタは、通常の意味でのレジスタではなく、単なるフリップ フロップのセット (フラグ アップまたはダウン。通常は、ゼロ、オーバーフロー、負のフラグ、およびキャリー フラグがあります) です。

スタック ポインタ (SP) — スタックの位置を追跡します。つまり、最後に使用されたセルのアドレスが含まれます。スタック — データストレージを整理する方法。

コマンド レジスタには、コマンド デコーダによってデコードされている現在のコマンド バイトが含まれます。

外部バスラインはバッファによって内部バスラインから分離されており、主要な内部要素は高速内部データバスによって接続されています。

マルチプロセッサ システムのパフォーマンスを向上させるために、中央プロセッサの機能を複数のプロセッサに分散できます。中央プロセッサを支援するために、コンピュータは多くの場合、特定の機能の効率的な実行に重点を置いたコプロセッサを導入します。広く普及している数学およびグラフィック コプロセッサ。入力および出力により、外部デバイスとの単純だが多数の対話操作から中央プロセッサの負荷が軽減されます。

現段階では、生産性向上の主な方向性はマルチコアプロセッサの開発です。 2 つ以上のプロセッサを 1 つのケースに組み合わせて、複数の操作を並行して (同時に) 実行します。

Intel と AMD は、プロセッサの設計および製造の大手企業です。

マイクロプロセッサシステムのアルゴリズム

アルゴリズム — 初期情報を一連の操作に変換するプロセスを独自に設定する正確な処方箋。これにより、特定のクラスの一連のタスクを解決して望ましい結果を得ることができます。

マイクロプロセッサ システム全体の主な制御要素はプロセッサです。いくつかの特殊な場合を除いて、プロセッサは他のすべてのデバイスを制御します。 RAM、ROM、I/O ポートなどの残りのデバイスは従属します。

プロセッサの電源がオンになるとすぐに、プロセッサはプログラムを保存するために予約されているメモリ領域からデジタル コードの読み取りを開始します。読み取りは、最初のセルから順にセルごとに行われます。セルにはデータ、アドレス、コマンドが含まれています。命令は、マイクロプロセッサが実行できる基本的なアクションの 1 つです。マイクロプロセッサのすべての作業は、コマンドの順次読み取りと実行に集約されます。

プログラム コマンドの実行中のマイクロプロセッサの一連の動作を考えてみましょう。

1) 次の命令が実行される前に、マイクロプロセッサはそのアドレスをコンピュータ プログラム カウンタに保存します。

2) MP は、コンピュータに含まれるアドレスのメモリにアクセスし、コマンド レジスタ内の次のコマンドの最初のバイトをメモリから読み取ります。

3)コマンドデコーダは、コマンドコードをデコード(解読)する。

4) デコーダから受信した情報に従って、コントロール ユニットは、次のようなコマンド命令を実行するマイクロ操作の時間順シーケンスを生成します。

— レジスタおよびメモリからオペランドを取得します。

— コマンドコードの規定に従って、算術演算、論理演算、またはその他の演算を実行します。

— コマンドの長さに応じて、コンピュータの内容が変更されます。

— アドレスが再びコンピュータ プログラム カウンターにある次のコマンドに制御を移します。

マイクロプロセッサの命令セットは、次の 3 つのグループに分類できます。

1) データを移動するコマンド

転送は、メモリ、プロセッサ、I/O ポート (各ポートには独自のアドレスがあります)、プロセッサ レジスタ間で行われます。

2) データ変換コマンド

すべてのデータ (テキスト、画像、ビデオなど) は数値であり、数値を使用して実行できるのは算術演算と論理演算のみです。したがって、このグループのコマンドには、加算、減算、比較、論理演算などが含まれます。

3) 制御コマンドの転送

プログラムが単一の逐次命令で構成されることは非常にまれです。ほとんどのアルゴリズムではプログラムの分岐が必要です。プログラムが何らかの条件に応じて動作のアルゴリズムを変更するには、制御転送コマンドが使用されます。これらのコマンドは、さまざまなパスに沿ったプログラム実行の流れを保証し、ループを編成します。

外部デバイス

外部デバイスには、プロセッサの外部にあり (RAM を除く)、I/O ポートを介して接続されているすべてのデバイスが含まれます。外部デバイスは 3 つのグループに分類できます。

1) 人間とコンピューターの通信装置 (キーボード、モニター、プリンターなど)。

2) 制御オブジェクト(センサー、アクチュエーター、ADC、DAC)と通信するためのデバイス。

3)大容量の外部記憶装置(ハードディスク、フロッピーディスク)。

外部デバイスは、物理的にはコネクタを介して、論理的にはポート (コントローラ) を介してマイクロプロセッサ システムに接続されます。

割り込みシステム (メカニズム) は、プロセッサと外部デバイス間のインターフェイスに使用されます。

割り込みシステム

これは、外部信号を通じて、いつでもプロセッサにメイン プログラムの実行を強制的に停止させ、中断を引き起こしたイベントに関連する操作を実行させ、その後メイン プログラムの実行に戻ることができる特別なメカニズムです。 。

すべてのマイクロプロセッサには、少なくとも 1 つの割り込み要求入力 INT (単語 Interrupt から) があります。

パーソナル コンピュータのプロセッサとキーボードの相互作用の例を考えてみましょう (図 4)。

キーボード — 記号情報および制御コマンドを入力するためのデバイス。キーボードを接続するために、コンピュータには特別なキーボード ポート (チップ) が備わっています。

プロセッサーとキーボードの連携方法

図4 — キーボードによるCPU操作

作業のアルゴリズム:

1) キーが押されると、キーボード コントローラーが数値コードを生成します。この信号はキーボード ポート チップに送られます。

2) キーボード ポートは CPU に割り込み信号を送信します。各外部デバイスには、プロセッサがそれを認識する独自の割り込み番号があります。

3) キーボードから割り込みを受信した後、プロセッサはプログラム (Microsoft Office Word エディタなど) の実行を中断し、キーボード コードを処理するプログラムをメモリからロードします。このようなプログラムをドライバーと呼びます。

4) このプログラムはプロセッサをキーボード ポートに指示し、数値コードがプロセッサ レジスタにロードされます。

5) デジタル コードはメモリに保存され、プロセッサは別のタスクを実行し続けます。

プロセッサは動作速度が速いため、多数のプロセスを同時に実行します。

以下を読むことをお勧めします。

なぜ電流は危険なのでしょうか?