機械語 単語

4件

キカイゴ

2.9千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

機械語(マシン語)とは、マイクロプロセッサが処理を行う時に読み取る、実行内容が記述されたデータ列の事である。

概要

機械語は、その名の通り機械である計算機のために書かれた0と1のビットからなるデータ列であり、人間が機械語だけを見て、どんな動作をするのかを理解するのは非常に難しい。

通常はC言語Javaといったプログラミング言語プログラムを記述し、コンパイラというツールによって機械語に変換する。文字を使って命レジスタを表現する事で、機械語をもう少し分かりやすく表記したアセンブリ言語もあり、アセンブリ言語で書かれたコードアセンブラによって機械語に変換する。

機械語とアセンブリ言語は低級言、CやJava等のプログラミング言語は高級言と呼ばれる。

機械語はバイナリエディタなどによって読み書きする事ができる。その際には1と0の二進数ではなく、記述を短くできる十六進数が使われることも多い。

プログラミングコンピューターの入出パンチカードで行われていた時代は、機械語を直接読み書きできる事が計算機を扱うエンジニアにとって普通であった。しかし、アセンブラコンパイラの普及によりそういったスキルは必須ではなくなり、むしろマニアックであるとみなされる領域となっている。

また、マイクロプロセッサはその種類ごとに解釈できる機械語の仕様が異なっており、これを命セットアーキテクチャ(ISA: instruction set architecture)と呼んでいる。

機械語の種類

VLIW(Very Long Instruction Word)

実行時にOut-of-Order解析とかないわ〜、そんなんコンパイラ仕事だわ〜ということでややこしい機を取っ払い、代わりに並列実行の口だけ用意したアーキテクチャ。一度に色々するので「命がすっごい長いよ!」という名前がついた。得意不得意がはっきりしていて、行列の計算などは大得意だが、プログラムの並列性が低いと性がまるで出ない。較的単純な設計で並列性を向上させられるので、Inteli960Itaniumのようなプロセッサでこの命セットを採用したが、最適化に手間がかかる割に性が出ないという理由でどれもパッとせず。CPUの並行処理の手法としては複数の命を並行して複数のプロセッサ内ユニットで実行するスーパースケーラ実装の方が成功した。

独自命アーキテクチャハナから諦め、x86をVLIW命に変換して実行するCPUも現れた。2000年代前半にTransmetaが世に送り出したCrusoeやEfficeonといった省電プロセッサがこれである。AMDGPUであるRadeon HD 2000HD 6000系もVLIWだったりした。

命令セットの例

CISC

RISC

関連動画

関連項目

この記事を編集する

掲示板

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
もっと見る

急上昇ワード改

最終更新:2024/05/01(水) 15:00

ほめられた記事

最終更新:2024/05/01(水) 15:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP