アセンブリ言語とは、コンピュータのCPUが直接理解できる「機械語」と1対1で対応した、人間が解読しやすい低級プログラミング言語です。AIモデルの高速化やハードウェアの限界性能を引き出すために、極めて低レイヤーの最適化処理で使用されます。
アセンブリ言語とは
アセンブリ言語は、コンピュータが実行する0と1のバイナリデータ(機械語)を、人間が理解しやすい英単語などのニーモニックに置き換えた、ハードウェアに最も近いプログラミング言語です。
詳しく解説
コンピュータのCPUは、直接的には 機械語 しか実行できません。しかし、機械語を人間が直接読み書きするのは極めて困難です。そこで、機械語の命令(例えばデータを移動する、加算するなど)と1対1で対応する英単語を割り当てたアセンブリ言語が考案されました。アセンブリ言語で書かれた プログラム は、アセンブラと呼ばれる翻訳ソフトを介して 機械語 に変換されます。AI分野においては、ディープラーニングモデルの演算を極限まで高速化するために、GPUやTPUなどの半導体、 エッジデバイス の専用 プロセッサ に最適化した超高速な 命令セット を実行する際に利用されます。
具体例・使われ方
例えば、スマートフォンのカメラによる画像認識AIのように、限られたリソースで瞬時に推論を行う エッジデバイス 向けのファームウェア開発で利用されます。また、AIのコアとなる行列演算ライブラリなどで、CPUの特殊な 命令セット を直接指定して プログラム の動作速度を究極まで高める際にも、アセンブリ言語またはそれに準ずるインラインアセンブラが使用されます。
似た用語との違い
機械語 は0と1のみで構成されコンピュータが直接実行できるデータであるのに対し、アセンブリ言語はそれを人間が読めるように記号化した言語です。一般的な プログラム 開発で使われるC++やPythonなどの高級言語とは異なり、ハードウェアを直接制御する低級言語に分類されます。
注意点
アセンブリ言語は、特定のCPUアーキテクチャに密接に依存しているため、異なる種類の プロセッサ では動作しません。コードの記述量や プログラム の複雑さが跳ね上がり、開発コストが高いため、通常のAIシステム開発ではC++やPythonなどの高級言語が優先されます。