コンピュータアーキテクチャは、ハードウェアのレベルでコンピュータがどのように機能するかを研究するものです。これには、コンピューターの内部構造の研究と、コンピューターのさまざまな部分が互いにどのように相互作用するかについての研究が含まれます。
コンピュータプログラムは、特定のタスクを実行する方法をコンピュータに指示する一連の命令で構成されています。
コンピューターは、特定のタスクを実行するさまざまなハードウェアデバイスで構成されています。これらのデバイスは、まとめてコンピュータの「ハードウェア」と呼ばれます。ハードウェアは、コンピューターが情報の保存、情報の処理、計算などの特定のタスクを実行できるようにするものです。
この記事では、非常に基本的なレベルでコンピューターをプログラムするために最も頻繁に使用される低レベルのプログラミング言語であるマシンコードの基本を学習します。
機械語は、ハードウェアによって実行および理解されるように設計された専用言語です。
通常、数年以上経過したコンピューターのプログラミングには使用されません。
しかし、テクノロジーのペースが加速し続けるにつれて、マシンコードは、より現代的なコンピューター向けの低水準プログラミング言語として復活しつつあります。
マシンコードとは何ですか?
マシンコードは、自動コンパイラを使用して高水準言語(BASIC、C、Fortranなど)を低水準形式にコンパイルした結果です。コンパイラーは、コンピューターが実行する処理を指定するコードを入力として受け取り、コンピューターが理解できる低レベルのコードを出力として生成します。
機械語は、コンピューターが実際にプログラムを実行する抽象化のレベルに近いため、高級言語とは異なります。
コンピュータアーキテクチャは、ハードウェアのレベルでコンピュータがどのように機能するかを研究するものです。これには、コンピューターの内部構造の研究と、コンピューターのさまざまな部分が互いにどのように相互作用するかについての研究が含まれます。
コンピュータプログラムは、特定のタスクを実行する方法をコンピュータに指示する一連の命令で構成されています。
この記事では、非常に基本的なレベルでコンピューターをプログラムするために最も頻繁に使用される低レベルのプログラミング言語であるマシンコードの基本を学習します。
機械語は、ハードウェアによって実行および理解されるように設計された専用言語です。
通常、数年以上経過したコンピューターのプログラミングには使用されません。
しかし、テクノロジーのペースが加速し続けるにつれて、マシンコードは、より現代的なコンピューター向けの低水準プログラミング言語として復活しつつあります。
機械語はどこから来たのですか?
機械語は、第二次世界大戦中に、コンピューターに複雑な数学的計算をより迅速に実行させる方法として最初に開発されました。コンピュータがより洗練されるにつれて、人間によって行われていた完全ではない数学的計算の多くを置き換えることができるようになりました。
たとえば、コンピュータバンキングが登場する前は、人間の銀行の出納係は、トランザクションを完了するためにいくつかの複雑な手順を実行する必要がありました。コンピューター化されたシステムは、エラーの可能性を減らして、これらの計算をはるかに迅速に実行できます。
アセンブリ言語とは何ですか?
アセンブリ言語は、コンピュータが実際にプログラムを実行する抽象化のレベルに近い「高級言語」です。
言い換えれば、アセンブリ言語はアセンブリ言語です。これは、特定の種類のコンピューターで使用するために設計された特定の言語です。
多くのコンピュータプログラミングの教科書は、ハードウェアをすばやく理解する方法として、アセンブリ言語でプログラミングする方法を示しています。
場合によっては、コンピュータプログラムはアセンブリ言語でのみ機能します。これは、そのコンピューターの特定のハードウェアで動作するように設計されているためです。
アセンブリ言語を使用する場合、プログラムの命令は、コンピューターが理解できる非常に基本的な操作(加算、ビット単位の操作、分岐操作など)に分解されます。
機械語と比較したアセンブリ言語
アセンブリ言語は、コンピューターが実際にプログラムを実行する抽象化のレベルに近いものです。
言い換えれば、アセンブリ言語は、ハードウェアのレベルに近いマシンコードではなく、プログラム自体の言語に近いということです。
アセンブリ言語は、プログラマーとして学ぶのに時間がかかることがよくありますが、より高度なコードにつながる可能性があります。
アセンブリ言語を使用する場合、プログラマーはコンピューターを完全に制御し、その命令を使用してプログラムされたタスクを実行します。
なぜアセンブリ言語を使用するのですか?
アセンブリ言語は、コンピューターで実行できることを実行したい場合に役立ちますが、必ずしもコンピューターを使用して実行する必要はありません。一例は、任意の金物店から購入できる標準的な電子部品(抵抗器、コンデンサーなど)のみを使用する回路の設計です。
このような場合、アセンブリを使用します 言語を使用すると、エンジニアが回路で使用される部品を説明するのとほぼ同じ方法で、使用する電子部品を正確に説明できます。
アセンブリ言語のもう1つの利点は、多くの場合、機械語よりも高速であるということです。これは、命令の実行とプログラムの実行にかかる時間が短縮されることを意味します。
ただし、アセンブリ言語の主な欠点は、読みにくいことです。各命令はより小さく、より基本的な操作に分割されるため、アセンブリ言語コードを読んで理解するには、より多くの労力が必要です。