命令セットとは何ですか?
命令セット、または命令セットアーキテクチャは、コンピュータープロセッサが実行できるコマンドの集合セットです。ワードプロセッシングアプリケーションの実行からビデオファイルのエンコードまで、コンピューターが行うすべてのことは、これらのコマンドの組み合わせに削減できます。プログラマーは、これらの手順を通じてプログラムを直接作成するのではなく、プログラミングコードをマシンの指示に変換するコンパイラとして知られる特別なタイプのソフトウェアを使用します。ほとんどのパーソナルコンピューターは、1970年代に最初に使用された命令セットを使用しますが、スマートフォン、タブレット、およびその他のデバイスは、低電力環境向けに最適化されたよりシンプルな命令セットを使用します。
コンピューターは無限のタスクが可能に思えるかもしれませんが、その中のマイクロプロセッサは、指示として知られている限られた数の事前定義されたコマンドを実行することができます。それ自体で、各命令は比較的単純で、おそらくプロセッサに2つの数字を追加するか、1つの場所から1つの場所からデータを移動するように指示します。他の。結合すると、これらの基本的な指示は非常に強力になり、あらゆるタイプのソフトウェアの基礎として使用されます。 CPUのパフォーマンスと互換性は、CPUがサポートする命令の数と種類に直接関連しているため、命令を新しいデザインの商業的成功または失敗における重要な要素に設定します。
CPUは、命令セットの一部である関数のみを実行できますが、ソフトウェアにこれらのコマンドを埋め込むコンピュータープログラマはほとんどありません。代わりに、コンパイルとして知られる中間ステップが使用されます。このプロセスでは、コンパイラとして知られるプログラムは、プログラマーが使用する人間に優しいコードを、プロセッサが理解する「マシンコード」に変換します。さまざまなコンピュータープロセッサがさまざまな命令セットをサポートするため、コンパイラはプログラムが実行することを目的としたプロセッサの種類用に設計する必要があります。 Execが可能な最新のマイクロプロセッサと1秒で数億または数十億の指示を抑えているコンパイラは、コンピューター向けのソフトウェアを作成する唯一の実用的な手段になりました。
1980年代以降に販売されているほぼすべてのパーソナルコンピューターで使用されるマイクロプロセッサは、1970年代半ばにデビューしたIntel®プロセッサ向けに設計されたX86と呼ばれる命令セットを使用しています。後方互換性への欲求は、X86がPC市場で支配的に保つのに役立ちましたが、新しい指示は拡張機能を通じて時々追加されます。多くのスマートフォン、タブレット、およびその他の種類のコンシューマーエレクトロニクスは、ARM命令セットに基づいてマイクロプロセッサを使用しています。ハイエンドサーバー、スーパーコンピューター、およびゲームコンソールなどのその他の専門デバイスは、さまざまな命令セットを使用する場合があります。