No.6ベストアンサー
- 回答日時:
CPUの内部構造が違うのです。
例えば、初期の8bitCPUですが、インテルの8080は演算用のAレジスタ以外に汎用レジスタとしてB、C、D、E、H、Lの6個があります。
少し遅れて発表されたモトローラの6800は演算レジスタがAとBの2つ、そしてメモリーのアドレスを指定するXレジスタだけで8080のような汎用レジスタはありません。
演算はCPUの内部レジスタとメモリー(CPUの外部にある)を使って行うわけですが内部機能に違いがある分機械語も違いが出て来ます。
例えば8080では ADD L (AにLの値を加算せよ)という命令は存在しますが、6800ではLレジスタは存在しないのでこんな命令はありません。
いちいち説明していたらキリがないので詳しく知りたいならCPUのマニュアルを見てください。とは言っても16bitや32bitのものはややこし過ぎて分かり難いし、コンパイル系の言語が普及した現代ではCPUの内部構造は知る必要もないのでそこまで解説された資料は皆無に近いでしょうね。
でもハードウェアを知っていたらコンパイラでは不可能な裏ワザが使えたり超高速動作が出来たりします。
> 機械言語はどうやってCPUが理解してますか?
→ コンピューターは "1" "0" で動作していると言われますが、ウソです。あるのは電圧の高い状態と低い状態だけ。これらをいくつかまとめた組み合わせを数値や文字に当てはめているいるだけです。
CPUはメモリーから取り込んだ命令のH、Lの組み合わせから何をするのか判断しています。その判断回路はANDゲートやORゲートを組み合わせたロジック回路です。
ジャンプは一見複雑な動作に思えるかも知れませんがジャンプ先のアドレスをプログラムカウンタに転送しているだけです。このとき直前の演算結果である=とか>の条件を併用すれば条件ジャンプになります。
前記の8080や6800の命令は8bitで表現されています。8bitだと256種の命令を表現できますが、両者とも240個ぐらい定義されていたと思います。事実上8080の後継品だったZ80は命令数が400ぐらいあったので8bit一発では足りず16bitの命令がたくさんありました。
No.4
- 回答日時:
CPUの中に01の組合せと実行する機能の対応表が組込まれていて、読み込んだ命令に合わせてスイッチを切り替えて対応する機能を実現する回路に「値」を渡して計算結果を保存します。
例えば 命令が 0001 だったら「足し算回路」に接続、0010 だったら「引き算回路」に接続、といった具合に。
それぞれの回路は、更に必要な情報を命令の続きから読み出します。
例えば「足し算回路」なら「『A』と『B』を足して『C』に記憶する」となっていて、A,B,Cにあたる内容を命令の続きから読みだします。
命令を増やすには回路を大規模にする必要があります。
回路規模とか性能とかコストとか消費電力とか、いろいろ考えたら限界があります。
高機能になればそれだけ多くの命令が必要になります。
それぞれを区別するためには、それだけビット数が必要になります。
この手のものは、メリットもデメリットもあります。全てに優位な方法などありません。
そこで、それぞれのCPU設計者がそれぞれの取捨選択をした結果が、CPU毎に異なる機械語です。
例えば。
掛け算はあると便利ですが、足し算に比べると複雑な回路が必要になります。
速度、機械語の複雑さの軽減等のメリットがありますが、コスト面ではデメリットになります。
一方で、足し算を組合せれば「掛け算プログラム」を作ることも可能なので、掛け算は不要とも言えます。
「掛け算回路」が無いCPUを作れば「掛け算命令」は不要になり、その分別の命令を増やしたり、命令長を減らしたりできます。
お答えありがとうございます
CPUの中に01の組合せと実行する機能の対応表が組込まれていてとは、対応表もプログラミングで書いて動作させてるんですか?
No.3
- 回答日時:
人間が書いたり読んだりできるプログラミング言語は「高級言語」であって、その高級言語で書かれた「ソースコード」を、機械(コンピュータ)が実行できる「機械語で書かれたオブジェクトコード」に変換して実行します。
その「変換」を「コンパイル」と呼び、ソースコードをオブジェクトコードに変換するプログラムを「コンパイラ」と呼びます。
参考「コンパイル」
↓
https://e-words.jp/w/%E3%82%B3%E3%83%B3%E3%83%91 …
オブジェクトコードは計算機メーカ、機種によって異なりますが、「高級言語」としての「プログラム言語」は文法などが標準化されて、メーカや機種に依存せずに汎用で使えるようになっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 哲学 大規模言語理論といふもの 4 2023/04/30 09:47
- AI・ロボット 大規模言語モデル(LLM)といふもの 1 2023/05/02 07:24
- 英語 英語パラフレーズの機械? 昔ネイティブの友達が、英語の文章の単語を類義語に言い換えてくれる機械を使っ 1 2022/12/10 19:24
- 工学 研究室選びで悩んでいます 1 2023/11/14 10:21
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- クレジットカード クレジットカードは数年前までは店員が行わないといけない決まりがあったのですか? 今はキャッシュレスの 9 2023/01/20 13:41
- 仕事術・業務効率化 ひろゆぎが動画で語ってましたが、手先が不器用な人など工場がAIで機械化して、仕事がなくなるのベーシッ 4 2023/08/06 18:03
- その他(健康・美容・ファッション) もしもこの質問サイトが、実は自分以外の投稿や回答が全て機械によるプログラム動作によって生成され表示さ 4 2023/10/21 22:33
- 軍事学 中国人民解放軍は03式小銃や191式小銃が配備されても結局この95-1式小銃を主力にしてるみたいです 1 2022/10/06 21:11
- 哲学 機械になった人間と人間精神を得た機械 9 2024/02/17 06:02
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
永久磁石って永久なのですか? 永久磁石の磁場を利用して永久機関を作れませんか?
その他(自然科学)
-
√0.25=±0.5である。 これはなぜ正しく無いのですか?
数学
-
バックアップは差分バックアップなど色んな種類がありますが予算が多いなら完全バックアップをするのが良い
その他(コンピューター・テクノロジー)
-
-
4
火星で大規模な砂嵐……、なんでそんなモンが起きるんですか?
宇宙科学・天文学・天気
-
5
重さを長さに変換する方法はありますか? kgをmにしたいです。 コード類の棚卸をする時に重さを計って
数学
-
6
楽しくて最高のプログラミング言語を作りたいのですが、そもそもプログラミング言語を作る意味なんてないと
その他(プログラミング・Web制作)
-
7
繁殖用の成犬が死にました。
財務・会計・経理
-
8
f(xyz) つまり 3変数関数
計算機科学
-
9
5928.77÷((20.21×5.30+20.34×5.23)÷2)を計算し有効数字3桁で求めたい
数学
-
10
尖閣諸島
その他(教育・科学・学問)
-
11
サーバー破壊
SQL Server
-
12
1mAやそれ以下で作動していると実感できるモノは何がありますか?
工学
-
13
クフ王のピラミッド内部構造は電磁波を修正する蓄電器?遺体保存の新技術?
その他(自然科学)
-
14
むじゅん 委細な矛盾が生じるなら分数みたいな表記やめれば?って思いませんか?
数学
-
15
戦争中の歴史や科学に詳しい人お願いします。 僕はある戦争解析の本で面白い文を見つけました。 1945
歴史学
-
16
大学入試の数学で、解答を進めていった結果2次方程式を解かなければいけなくなった時に、たとえばx^+x
数学
-
17
燃料電池を三次電池と言わないのはなぜ
工学
-
18
42×34=42×34×15÷15がイコールになる理由を教えてください。
数学
-
19
(8)について。なぜ、問いは「LED2に流れる電流を求めよ」なのに、解答ではLED1の曲線と(7)で
物理学
-
20
計算に詳しい方!ガソリンの計算について。 ご回答頂けると幸いです 燃費リッター10の車とします どこ
その他(教育・科学・学問)
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
機械言語はどうやって決めてる...
-
スイッチ図記号の向き
-
スイッチの名称
-
理科の回路図でスイッチをかく...
-
遮断器について他
-
「動作する」と「作動する」
-
ホイートストンブリッジについて
-
電圧 AC300V
-
回路の仕組みがわかりません
-
1個の押しボタンで、0N・O...
-
蓋が開いたときだけ電流が流れ...
-
FETによるスイッチ回路でトラン...
-
電子工作についての質問です。 ...
-
変流器の極性(キック)試験に...
-
電流計用切替スイッチ(AS)につ...
-
電池を使ったおもちゃに不可解...
-
自動ボタン押し
-
1つの電灯を2のスイッチの片...
-
普通、活線側と帰線どちらにス...
-
トグルスイッチについて教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スイッチの名称
-
スイッチ図記号の向き
-
「動作する」と「作動する」
-
車の運転席のパワーウインドウ...
-
回路の仕組みがわかりません
-
1個の押しボタンで、0N・O...
-
遮断器について他
-
電球切れてスイッチがオンかオ...
-
理科の回路図でスイッチをかく...
-
ワイパーの回路について
-
ホイートストンブリッジについて
-
電池を使ったおもちゃに不可解...
-
変流器の極性(キック)試験に...
-
LTspiceのスイッチはどこにあり...
-
五つのスイッチ、全部で何パタ...
-
電位差計についてお聞きしたい...
-
デジタル加入者線交換機の時間...
-
電流を逆に流す「スイッチ」と...
-
スイッチ動作を変える回路を教...
-
無段変速ドリルのスイッチにつ...
おすすめ情報
機械語01で動作します。その01の機能はどうやって分かるんですか?