機械語とは? わかりやすく解説

機械語

読み方きかいご
別名:マシン語
【英】machine language

機械語とは、コンピュータ直接理解して、その命令内容実行できる言語のことである。

機械語は、0と1の2進数構成されているため、解読しづらい言語である。そのため、人間理解しやすい形式言語記述するのが一般的である。しかし、人間理解しやすい形式言語は、コンピュータでは直接理解することはできないので、機械語に変換してから使用する

過去には、直接機械語で記述することも行われていたことがあったが、時間労力がかかるため、今日ではあまり使われていない


参照リンク
Machine language For Beginners - (atariarchives.org)
プログラミングのほかの用語一覧
言語分類:  関数型言語  開発言語  会話型言語  機械語  高級言語  コンパイラ型言語  クラスライブラリ

機械語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/20 11:23 UTC 版)

機械語(きかいご、: machine language、machine code[1][2]、 binary machine language[3]あるいはbinary machine code)は、コンピュータ中央処理装置(CPU)が直接理解し実行することができる命令からなる言語[1]マシン語(マシンご)とも[2]


注釈

  1. ^ ただし組込システムのエンジニアなどハードウェア寄りのエンジニアは機械語モニタを用いて機械語を直接操作することもある。
  2. ^ CPUが入出力バスとデータ信号をやりとりするためのチャネル(通路、流路)のこと。I/Oチャネルとも[4]
  3. ^ CPU自体が実行している生(なま)の機械語は、物理的な実態としては(4個から64個ほどの)電気的スイッチ群のOn/Off、正確に言うと各電圧の高・低(High/Low)の組み合わせであり、 それを直接的に文字(数字)にするには1/0を多数連ねた2進数(8、16桁、32桁、64桁など)で表現するが、人間が読みやすいように、その2進数を16進数に変換して表示することも一般的である。集積回路では片方を 0 ボルト にしてしまうと回路の動作が不安定になってしまうので、実際には、厳密に言うとHigh/Lowの2つの電圧で実現している。デジタルコンピュータでは、2値方式であることが重要で、Hi/Lowでも2値論理の論理回路としてはOn/Offと等価な動作をするので、それを土台としてCPUは設計されている。そして16進表示でも、その文字列をただ長々と何十文字や何百文字も連ねてしまうと、人間の認識能力では誰でも誤読を連発するので、 2バイトつまり16進数の4文字ごとに、あるいは1バイトつまり16進2文字ごとに区切って間に空白を入れて可読性を高めるということが画面上や紙面上では一般的である。だから情報処理技術者試験の文面でも、受験者に分かりやすくなるように16進表示にしてあり、4文字ごとに空白をはさんでいる。
  4. ^ 全て機械任せで良い結果を得ようとするよりも、人による補助をうまく取り入れられるようにするほうが良い場合もある。
  5. ^ こうした変則的な機械語プログラミングはPolyglotの極端な1ジャンルともいえる。たとえばPC-98とX68k両対応のブートセクタ電脳インストーラ2」が書かれたことがある。第1回IOCCCの入選作のひとつでmullenderによるPDP-11とVAX両対応プログラム「Previous IOCCC Winners」は、その後コンテストのルールが変更されたことで、このようなプログラム自体が禁止されている。
  6. ^ アセンブリ言語で書かれたプログラムを機械語に変換することを「アセンブル(する)」と言う。
  7. ^ たいていはオクテット単位だが、CASLのCOMETが16ビット単位のように、そうでないものもある。
  8. ^ 「絶対にBASICプログラムという形態で載せる」という掟のあった、『マイコンBASICマガジン』(ベーマガ)を除く。このためベーマガでは、DATA文のデータから、BASICプログラムで機械語コードを書き込むようなプログラムを掲載していた。
  9. ^ たとえば1970年代~1980年代など、たとえば2Dシューティングゲームソフトの上下左右の画面スクロール処理など。

出典




機械語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/19 08:08 UTC 版)

命令セット」の記事における「機械語」の解説

機械語は個々命令から構成されるアーキテクチャにもよるが、命令通常、以下のいずれか(あるいは複数)を指定する算術演算アドレス指定制御用途レジスタ指定するメモリ位置オフセット指定するオペランド解釈するためのアドレッシングモード指定するこのような単純な命令組み合わせてより複雑な操作構築し、(ノイマン型であれば)これを逐次的実行したり、制御フロー命令順序変えたりする。 多くの命セットに共通な操作として、以下のものがある。 移動コピーレジスタ固定定数値を格納する。 あるメモリ位置からレジスタデータ移動する(または逆方向)。そのデータに対して後から何らかの計算行い結果メモリ格納するハードウェア機器からデータ読み込んだり、逆にデータ書き込んだりする。 計算 加算減算乗算除算2つレジスタ内容についてそれら演算行い結果レジスタ格納するビット演算2つレジスタビット位置毎の論理和論理積計算したり、1つレジスタビット毎の否定計算する2つレジスタの値の比較等しかどうか、どちらが大きいかなど) 制御フローの変更 プログラム内の別の位置ジャンプし、そこの命令実行する。 ある条件成り立つときだけ別の位置ジャンプする別の位置ジャンプするが、その際ジャンプ元の次の命令位置記憶しておき、後でそこに戻る(サブルーチンコンピュータによっては命令セット内に複雑な命令持っている通常ならいくつも命令を使わなければならないような操作1つ命令実現している。一般にそのような命令内部複数ステップ分解され複数実行ユニット使って実現されるさもなくばプロセッサ回路規模大きくなりすぎることになる。そのような複雑な命令として以下のようなものがある。 複数レジスタ一度スタック上にセーブする。(コンテキストスイッチメモリ大きなブロック移動する複雑な浮動小数点演算三角関数平方根など) テスト・アンド・セット命令などの不可分操作実行するALUへの入力レジスタではなくメモリ位置指定する命令。つまり、メモリからの移動計算1つ命令行われる最近普通に実装されるようになった複雑な命令として、SIMD (Single-Instruction Stream Multiple-Data Stream) 命令またはベクター命令がある。これは、同じ演算操作複数データ同時に行うものであるSIMD によって大きなベクトルや行列の操作短時間で行うことが可能となる。また、音声画像動画などの並列化されたアルゴリズム高速実行できるSIMD実装には様々なマーケティング上の名称がつけられている(MMX3DNow!AltiVecなど)。 命令セットの設計複雑な問題である。マイクロプロセッサ歴史命令セットの設計2つ段階分けられる当初CISC すなわち複雑な命令セット実装されていた。1970年代IBMなどで研究が行われ、多くの命令が省略可能であることが判明したその結果 RISC すなわち縮小され命令セット登場した命令セット縮小されることで、クロック高速化でき、プロセッササイズ小さくでき、電力消費低減させることが可能となった極端なRISCでなくとも、典型的な操作最適化し、メモリキャッシュ効率を向上させ、プログラミング単純化させることができる。

※この「機械語」の解説は、「命令セット」の解説の一部です。
「機械語」を含む「命令セット」の記事については、「命令セット」の概要を参照ください。


機械語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/15 15:17 UTC 版)

NOP」の記事における「機械語」の解説

機械語において NOP多くの命セット用意されている命令である。プロセッサはこの命令読みとると文字通り「何もせず」にプログラムカウンタインクリメントのみを行う。それ自身では何の意味も持たない命令ではあるが、 外部機器や他のプログラムとの同期タイミングを取るための時間稼ぎ ジャンプ命令ジャンプ先の指標 後で命令追加する予定の場所にダミーとして置くたとえば遅延スロットとりあえず置く、あるいは置け命令がない時に置く VLIWなどのようなアーキテクチャでは、より積極的にNOPが必要である NOPスレッドによる命令ポインタ制御 ワンチップマイコンPROMでは、0x00か0xffのどちらか上書き可能なほう」で潰すと NOP になるようにしておくと、再利用便利 などの用途使用される規則的に命令決めた結果何の意味も持たない命令同一レジスタでの移動次の番地へのジャンプ)が出来たのでそれをNOPとすることもあれば、専用命令として用意されることもある。

※この「機械語」の解説は、「NOP」の解説の一部です。
「機械語」を含む「NOP」の記事については、「NOP」の概要を参照ください。

ウィキペディア小見出し辞書の「機械語」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「機械語」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



機械語と同じ種類の言葉


固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「機械語」の関連用語

機械語のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



機械語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリ機械語の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの機械語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの命令セット (改訂履歴)、NOP (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS