パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Microsoft が Itanium 向け開発終了を宣言」記事へのコメント

  • x64版Windowsで64bitコード←→32bitコード間の呼び出しができない(thunkがない)のは、Itanium版Windowsの仕様に合わせたから。
    そのせいで64bitコードと32bitコードをシームレスに実行できるAMD64のメリットがWindowsにおいては全く生かされていない。

    言わばItaniumの負の遺産。
    後方互換性にこだわるMicrosoftのことだから、128bit版Windowsが出るまでこの仕様に悩まされそうorz

    • by Anonymous Coward

      Windows NTでセグメントが使えない(少なくともユーザーモードのCプログラムから隠蔽されている)のがRISCプロセッサの負の遺産だとは思わないけどなあ。
      それは今だから言えることかもしれないけど、128bit版Windowsが出る頃になったらWOW64の仕様についてもやっぱり同じような感想を持つんじゃないかな。

      • by Anonymous Coward
        セグメントの有用性は昔から明らかで、ItaniumにもPOWERにもあります。
        現在でもグーグルのNaClなどで活用されていますから、RISCプロセッサというよりもセグメントのないOSつまりUNIXの負の遺産ですね。
        8086で、セグメントについての無知ゆえの勘違い思い込みからトラウマになった人が影響力を持ったからかもしれない。MSは一役買ってるな。DRとインテルは無罪。
        • Re: (スコア:3, 興味深い)

          いや, UNIXはセグメントありますよ. 例えば初期の VAX-11 [roguelife.org]のころからセグメンテーション機構を利用していますし, セグメンテーションバイオレーションなんてエラーはセグメント機構を使ったメモリ保護が無ければ出ようがないでしょう.

          それに, セグメントの評判を落としたことにインテルの責が無いとは言えないでしょう. 386登場以前は1セグメントで取り扱えるアドレス空間が64k(16bit)に限られていて, ちょっとプログラムの規模が大きくなるとプロセス内でセグメントを動的に設定しなおすというアクロバティック

          • by Anonymous Coward
            i8086が作られた当時の64KBのセグメントの大きさは、いまの感覚でいえば4GBに相当します。
            i8080の全メモリ空間が64KBだったんですよ。64KBもあれば十分な余裕があると考えられていたし、128KBもメモリを積めば複数のプログラムを同時にメモリ上に置いて擬似マルチタスク可能という、そういう時代。
            • > i8086が作られた当時の64KBのセグメントの大きさは、いまの感覚でいえば4GBに相当します。

              それは無いよ!!

              親コメント
              • by Anonymous Coward
                > > i8086が作られた当時の64KBのセグメントの大きさは、いまの感覚でいえば4GBに相当します。
                > それは無いよ!!

                いや、まさにそんな感じ。
                当時は16bitCPUといえば16bitアドレスが当たり前だった時代です。ミニコン含めてね。
                今は64bitになかなか以降せず、ネットブックが出るくらいだし、言い得て妙なたとえです。
              • by Anonymous Coward

                ツッコムなら
                >マイクロコードの厚化粧の8800や68000とは対照的です。
                こっちだろう

                #その後ゴテゴテとモードや命令を上塗りせざるを得なかった86を棚に上げて元々素地の良い68kを厚化粧とは聞き捨てならん

              • by Anonymous Coward
                おいおい
                8086 → タイムリーなスペックで16bitのCPUを、8080を拡張する形で作ろう (1978年、29000トランジスタ)
                68000 → 本当は32bitのCPUを作りたいんだけど今は無理なので、16bit+マイクロコードでエミュレーションしとこう (1980年、70000トランジスタ)
                ですよ。

                マイクロコードで32bitのCPUのフリをしていたという点で「厚化粧」と言ったのでしょう。
              • by Anonymous Coward
                比較的詳細な資料で68000の内部データパスを検討したことがありますが、おっしゃる通り素直なものではなく、巨大なマイクロコードで無理矢理ISAを実装していたようです。
                68000を素地がよいと思う人はISAだけでマイクロアーキテクチャには興味がないのではないでしょうか。

                アーキテクトが素直なマシンというと6502を挙げることが多いです。
              • by Anonymous Coward
                68000は有名な二段階マイクロコードを持ちます。
                マイクロコードは17bit命令が544個、ナノコードは68bit命令が336個でトータルは32kビットになります。総トランジスタ数が70k個ですから如何ほどか想像がつくというものです。

                ナノコードの幅に注目すべきです。これは制御信号が多いことを意味し、つまるところデータパスにテンポラリレジスタが山のようにあるということにほかなりません。
                プログラマには見えないテンポラリレジスタがやたらとあるのはあまり優れた設計ではないということは言を待たないでしょう。

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...