ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


機械語


ヨミ: キカイゴ
掲示板をミル!
15カキコ!

機械語とはマシン語とも呼ばれ、計算機が処理を行う時に読み取る、実行内容が記述されたデータ列の事である。命セットアーキテクチャ(ISA: instruction set architecture)と呼ばれることもある。


概要


機械語は、その名の通り機械である計算機のために書かれた0と1のビットからなるデータ列である。このため、機械語を見てどのような動作をするのかを人間が理解する事は非常に難しい。また、同じ処理であってもどの機械CPU)で実行するかによって機械語の内容は変わってしまう。

文字を使って命レジスタを表現する事で、機械語をもう少し分かりやすく表記したものがアセンブリ言語である。アセンブリ言語で書かれたコードアセンブラによって機械語に変換する事ができる。機械語とアセンブリ言語は低級言、CやJava等のそれ以外のプログラミング言語は高級言と呼ばれる。

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

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


機械語の種類



代表的な設計


CISC(Complex Instruction Set Computer)

便利そうな機はどんどん載せようぜ、という方向性のCPUの総称。元々CISCという思想があったのではなく、RISCができた頃に「昔のCPUってゴチゴチャでだっせーよな」「これからはRISCだよな」と旧来設計と差別化したものなので、「Complex(複雑な)」という当て付けみたいな名前が付いている。RISCが流行らなくなってからはやや回帰傾向。というか、すでに中身はどっちも大差ない。

x86CISCの代表だが、同時にCISCの中でも特に酷い代物なのでアレが全てと思ってはいけない。

RISC(Reduced Instruction Set Computer)

は絞り込んでシンプルな方がいいんだよ!というエンジン義みたいな設計。割りと皆好き勝手に定義している感もあるが、レジスタ多数、load/storeアーキテクチャ、原則固定長命という辺りは大体共通か。

RISCの権化のようなMIPSに至っては掛け算すら定義していないような体系(シフトと足し算で実装できるから)であり、コードの密度が低くなりがちなのが難点。

90年代まではパイライン特性の良さもあって一世をしたが、色々必要な機を足していったらCISCと大差なくなったので今では割とどうでも良くなっている。

VLIW(Very Long Instruction Word)

実行時にOut-of-Order解析とかないわ〜、そんなんコンパイラ仕事だわ〜ということでややこしい機を取っ払い、代わりに並列実行の口だけ用意したアーキテクチャ。一度に色々するので「命がすっごい長いよ!」という名前がついた。ポテンシャルは悪くないが機が大変なのが難点。あとプログラムの並列性が低いと性がまるで出ない。

古めのPCヲタならTransmetaの名前を聞いたことがあるかもしれない。Intelの(流行らなかった方の)64bitアーキテクチャもVLIW系。実はGPUが内部的にVLIWだったりする事も多く、PS4なんかそれ。マイナーなようで意外とメジャーな存在。


主な機械語


な機械語の種類には以下のようなものがある。実際に使用したCPUについてはCPUの記事を参照のこと。

CISC

RISC


関連動画



■sm1048903[ニコ動]

 ■sm9317783[ニコ動]


関連商品


■az4405060525
 ■az4274072088
 ■az493079529X
 ■azB000J7JRYY


関連項目



最終更新日: 16/07/28 22:51
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ