パスワードを忘れた? アカウント作成
148494 journal

L.Entisの日記: 8080 4

日記 by L.Entis
スラド国民投票のとあるコメント

おいおい、お前らx86以前の石さわったことあるのか?
8008がx86の祖先といっていいなら、4004も祖先といってもいいくらい
かけ離れているぞ。
命令セット的にx86の祖先と言ったら、8086ぐらいが限界じゃない?

8008のことは良く知りませんが(8080も実際に触った事は無く豆知識程度ですが)、8080 は8086命令セットの「元」になっていたはずです。

Wikipedia を見ると、80088080 も命令セットが載っているので見れば分かりますが、8086 が開発される際には、8080 の命令セットを完全に包括する形で命令セットが作られていたはずです。(8080 のソフトウェア資産を活用できるようにするため)
つまり、バイナリレベルでの互換性はありませんが、8080 に存在する命令を、8086 の命令に置き換えることが出来、実行が出来るようになっているはずです。

Wikipedia の 8086 のページにもそのように書かれていますね。

8086は8080のアーキテクチャを16ビットに拡張し、乗除算などの命令を強化したCPUである。またデータバスも16ビットとなっている。ただし、8080とバイナリーレベルの互換性はない。開発にあたってIntelは、8080からの速やかな移行を最重点事項に置き、8080のアセンブラソースコードに一切の手を加えることなく再アセンブルするだけで、8086用のバイナリを生成する事が出来た[1]。

で、Wikipedia で 8008、8080 を見ると、8080 が 8008 の後継にあたるが命令の互換性はないということのようですね。
良く似てはいますが。
見た目で言えば、8086 と 8080 の違いより、8080 と 8008 の方が近いようにも感じます。
(前者は 16ビットCPUと8ビットCPUの違いもありますし)

と考えると、上のコメントを書いた人は、8086 と 80286 や 80386 をかけ離れているとは言わないのでしょうか?
系譜で言えば、8008 は先祖になるといっても良い様に見えますが。
(もっと厳密な命令セットで言えば 8080 でしょうけど、アーキテクチャは、286, 386, 486, 586, 686 で、もう別物と言っていいほど変化していますが)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by benihitode (29875) on 2009年10月01日 23時48分 (#1647330) 日記
    x86の祖先は,二進数を使うノイマン型という意味ではEDVACと言えますし,命令が可変長でバイト毎のアドレスという意味では360とも言えますので,8080をx86の祖と言うか言わないかは人によると思います。

    8080のXTHLに直截に対応する8086の命令はありません。8086の命令を組み合わせてXTHLを実現することは可能ですが,JavaVMの命令を8086の命令に変換することさえ可能であって程度の差でしかありません。

    8086のレジスターが上下8ビット2本に割れるのは8080の置き換えを考えたがためと思われます。8080としてはレジスターを2本つなげて16ビットにして使うという方が適切でしょうけど。
    • by soltiox (25610) on 2009年10月02日 8時47分 (#1647426) 日記

      横レスです。
      人、というか、その時の論点によって、
      8086以前と以後でつながるかどうかが、決まると思います。

      ただ、ふと思ったのですが、件の1647119氏 [srad.jp]が、
      cp/mアプリを、ms-dos1.x や cp/m-86に移植するべく、
      青春の日々を費やしてしまった長老であるとすれば、
      彼の発言にも、深く頷ける部分があるのではないかと。

      // 「技術史」みたいな見方をすれば、断絶は無いように見えますけどね

      親コメント
  •  x86で8086の命令セットを動かすことは出来ますが、8080の命令セットを動かすことは出来ません。だから8086と8080の間に断絶はあるけれど、8086からx86(現在開発中のものも含む)の間に断絶はない。故に8086はx86の直接の祖先ではあるが、8080はそうではない。こういうことだと思います。

     ま、件の方はトランスレータ等のことまでは考えていなかったのでしょう。

    # ま、「祖先」を家系図に載っている範囲内に留めるか、それとも原人とかのレベルにまで引っ張るかという考え方の違いってことで。

    --
    ここは自由の殿堂だ。床につばを吐こうが猫を海賊呼ばわりしようが自由だ。- A.バートラム・チャンドラー 銀河辺境シリーズより
  • 8086 が開発される際には、8080 の命令セットを完全に包括する形で命令セットが作られていたはずです。(8080 のソフトウェア資産を活用できるようにするため)

    8080のある命令と同等な8086の命令は多数ありますが(例:CALL)、複数の命令を組み合わせないと再現できない命令も多数あります(例:CZ)。

    あるプロセッサの命令が別のプロセッサの複数の命令の組み合わせで再現できることは当たり前のことなので(でないとエミュレータなど作れない)、貴方の主張は誤りかと思います。

typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...