パスワードを忘れた? アカウント作成
13512226 story
オープンソース

今こそ「オープンプロセッサ」について考えるとき 96

ストーリー by hylom
OS、プラットフォームと来たら次はプロセッサ 部門より
あるAnonymous Coward曰く、

CPUの脆弱性「Meltdown」や「Spectre」が世間を騒がせており、また少し前にはIntelのCPUが備えている管理機能の脆弱性が発覚するなど、最近CPU関連の問題が多く話題となっている。このような状況を受け、Linuxカーネル開発者の一人として知られるJonathan Corbet氏が「オープンプロセッサ」について考えてみても良いのではないかという考察記事を公開した(LWN.netSlashdot)。

記事では我々のシステムで使用されているCPUが独占的な存在であり、それ故に「不愉快な驚き」がもたらされているとし、それへのカウンターとして設計が公開されているオープンプロセッサという考え方が存在すると述べている。

オープンプロセッサはすでに複数が存在しており、たとえばPOWERアーキテクチャに基づいたOpenPOWERは(開発参加にはクラブ会員になる必要があるものの)共同開発によってプロセッサの設計を行える一例だという。

また、まだ先の見通しは不透明なものの、SPARC T1およびT2プロセッサの設計を完全にオープンにした「OpenSPARC」も存在する。さらに組み込みアプリケーション向けには「OpenRISC」が存在しており、すでに「OpenRISC 1000」などのプロセッサ製品が登場している。そのほか、「RISC-V」アーキテクチャも最近勢いがあり、これは命令セットアーキテクチャ(ISA)に重点を置いたものだがフリーハードウェア設計が存在しているという。

ただ、オープンソースのハードウェアにはいくつかの利点があるものの、万能ではないという。コンパイラは無料で利用できるが、プロセッサ自体の製造にはコストがかかるし、設計を検証する方法も必要となる。またRISC-Vが市場で成功を収めたとしても、市販のプロセッサには自由なライセンスが適用されないという可能性もある。

また、完全にオープンなプロセッサであっても、脆弱性がなくなるわけではない。しかし、以前はフリーなOSを作成することは困難だとみられていたが実現している。従来のCPUから離れる挑戦をすることは、自由を保つための最良のチャンスかもしれないとしている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by hakikuma (47737) on 2018年01月26日 23時02分 (#3351469)
    これは2つの意味でハードな問題だな。
  • by Anonymous Coward on 2018年01月26日 19時46分 (#3351344)

    …は敷居(開発環境の価格)が高いんだよなぁ。と思っていたら、Xilinxはやってく
    れましたとも!
     昔はスゲー高かったmodelSimなどの環境がXilinx専用になってこのお値段です。

    ザイリンクス ハイエンド スタートアップ キャンペーン
    Foundation キット - 定価¥706,750 をキャンペーン価格¥509,190
    1. Virtex 1000 FPGA (XCV1000-4BG560CES)
    2. Foundation 2.1i 日本語版
    3. J-TAG ケーブル
    4. Virtex-E 評価基板
    5. 2 日間の製品トレーニング受講券
    6. Virtex 1000 E FPGA 無料進呈券

    Virtex1000は、1,124,022ゲート・131,072+393,216ビットRAMという物凄い構成の
    FPGAです。
    しかも、SD-RAM&DDR-RAMインタフェース、PCIインタフェースなどはLogiCOREとして
    既存ですから、CPUコア、ROMインタフェース、デバッグ用ポートなどを装備すれば
    FreeCPUが出来ます。

    しかも!開発環境として、XilinxのWebPACKにVHDLシミュレータのスターターパック
    が付属することになりました。これでフリーの(小規模)VHDL環境が整いますので、み
    んなで少しずつ開発して(MMU担当とか、ALU担当とか、)フリーCPUを作るということ
    が出来ます。

    • by Anonymous Coward

      Foundation 2.1i って。。。。
      この情報、いつのだよ
      obsoleteだよ
      # ネタ?だよね

      • by Anonymous Coward

        > この情報、いつのだよ
         
        2000年です。早すぎた天才でした。
         
        ご連絡先

        • by Anonymous Coward on 2018年01月26日 22時09分 (#3351438)

          http://web.archive.org/web/20011205013949/http://www.st.rim.or.jp:80/~... [archive.org]

          99.09.05 オープンハードウェア
           Linuxの人気がじわじわと上がっていますよね。IBMの天下がひっくり返る、DECが凋落してパソコン屋の傘下になる、NECの98が消えうせるなど、その以前からすれば頭の硬い課長が「そんなことあるはずが無い!」とハナから相手にしなかったことが何回も起こってますから、Windowsが消えうせて今のPC98みたいに保守用として細細と残るということもあるかもしれないですよね。
           OSがフリーになっているんだから、ハードウェアもフリーになるべきだ、と思うのはおかしいでしょうか。現在のLinuxは、ハードウェアメーカーに振り回されています。仕様が公開されないもんだからドライバが作れない、MSと結託してWindowsでしか動かないハードを作る…などなど。
           オープンソースなコンピュータ、というのは製作可能だと思います。VHDLのソース、設計図、回路図、動作仕様書、交流定格などが全て公開されたコンピュータです。これは私の夢なんですが、
          386互換CPUとRAM
          FDコントローラ、RTC、8251、8259等と互換の回路
          BIOSのサブセット(Linuxで必要なものだけ)
          カーネルだけ入ったFDのイメージ
           をVHDLで記述し、VHDLシミュレータ上でLinuxが起動する日がいつか来ます。これは不可能ではありません。ということは、「いつか誰かがやる」ということです。
          でこれは、本質的にはどんな半導体プロセスでも実装出来るでしょう。つまり、Linuxがもはやハードウェアメーカーを必要とせずに生き残ることが出来る、わけです。世の中にFABがある限り。
           まずは386互換CPU。100万ゲートのFPGAが当たり前の時代です。出来るに決まっています。

          親コメント
          • by Anonymous Coward on 2018年01月26日 22時59分 (#3351467)

            ただひたすらかっけー
            自分でやらずに人にやらせてたら、今頃は和製ジョブズと言われていたかも(真顔

            親コメント
        • by Anonymous Coward

          2000年です。

          成る程、時期は合ってるな。

          http://www.ninjin.net/radica/back/991222.txt [ninjin.net]
          > ● 1999/12/21 23:16 一区切り

          > その後は例によってチムニーで打ち上げです。…みんな濃いぃっ
          > たらないですわ。「来年は絶対、68K互換300MHzのフリーCPU
          > を作るぜ!」という誓いを立てたことくらいしか覚えてないです
          > (^^;)

    • by Anonymous Coward

      別に ソフトコアCPU計画でもいいんじゃね。
      86系が使いたいとか考えている人でも求めるメモリとOSがあれば実装はできるんじゃないか。
      今のFPGAの規模ならば 386くらいなら十分入るんだから、メモリは外付けでも クロックをめいいっぱいあげるとか考えればWindows3.1とかは動くんじゃない。
      Zinqで実現できそうなARMとx86エミュレーターで、 Windowsがサクサク動くと本家の人が言っているんだし。その時、今回の脆弱性はどこを治すことになるんだろう。

      とりあえず、やっつけで修正しましたで混乱している今の状態をなんとかしてほしいね。

  • by Anonymous Coward on 2018年01月26日 21時11分 (#3351409)

    数年前OpenSSLで大穴(Heartbleed)開いていて
    オープンソースだから誰でも見られるから安全とか言っていて
    実際は酷かった例があるじゃないか
    まだソースコードなら誰でも見られて修正出来るので良いが
    ハードウェアの場合は誰でも設計図を見れたとしても、誰もが設計出来る知識や技術を持っていない
    いざ脆弱性が発見されたところで誰も責任取らないだろうし
    修正したから買い換えろよで終わるだろ
    だったらメーカー製でも良いだろ

    オープンにしたら監視機能が働くなんて夢物語を未だに語るなんて
    この数年何見てきたんだか・・・

    • by Anonymous Coward

      Intelの対応があまりにも素晴らしくないものだったのが拍車をかけていますね。
      AMDがオープンな方針に舵を切ったことも大きいのでしょう。

    • by Anonymous Coward

      デジャブじゃなよね?
      あえて言うなら逆のデジャブ

    • by Anonymous Coward

      監視じゃなくて検証可能性だと何度言ったら…

  • by Anonymous Coward on 2018年01月26日 19時36分 (#3351337)

    技術的にはできるけどだれもやってない。
    技術以外に問題があるんでしょう。
    本気ならそれを分析すればいいね。

    • by Anonymous Coward on 2018年01月26日 23時11分 (#3351477)

      技術的な問題があるからやらないのです。

      CPUを作ろうと思ったら、おおざっぱに以下の工程があります。
      1. ISAの設計
      2. RTLの設計
      3. ゲートレベルの設計
      4. MOSレベルの設計
      5. レイアウトレベルの設計

      オープンソースになってるのは、1番と2番だけ。
      3,4,5番は自力で何とかする必要があります。

      TSMC等のファウンドリのライブラリを使って、自動設計ツールにお任せすれば、3,4,5番は自動化できます。
      ただし、この方法では性能は全く出ません。
      CPUが1GHzで動作する時代に、GPUが200MHzぐらいしか出ていなかった理由はこれです。
      高性能CPUやNVIDIA、AMD等のGPUは、手作業による最適化を相当頑張ってるから今の性能が出るのであって、設計ツールにお任せだと半分の性能も出せません。

      そして設計のコストは1,2番の工程よりも、3番以降の方がかかります。
      だからRTLまでオープンになっても、だれでも簡単に設計とはいかないのです。
      それに対して、ARMだと4番とか5番まで設計済みのCPUコアをライセンス販売してます。
      それなりの性能のCPUを作ろうと思ったら、全部自力でやるだけの規模と体力がなければARMに流れるのが普通です。

      親コメント
    • by Anonymous Coward on 2018年01月26日 20時04分 (#3351354)
      • 特許問題

        CPUはコンピュータの中枢を為すものであるがゆえに、それこそ膨大な数の特許が存在しています。1990年代以降になって認められるようになったソフトウェア特許よりも、CPUまわりの特許はずっと古い歴史を持ちますので、「オープンプロセッサ」の作成は言わば地雷原を歩かされているような状態になってしまいます。お金の力があれば解決(回避)の余地がありますが、最終的に成果物を独占できるものではなく、公開することを前提にする以上、そう簡単にお金が出てくるようなこともないでしょう。

      • 量産の問題

        ソフトウェアはそれを動かす環境さえ用意できてしまえば、それをコピーするだけの話です。プロセッサの場合はハードウェアである以上、動くモノ(製品)を作るのに量産設備が必要になります。また、一般的な機械などと同じで、大量に生産すればするほど1つあたりの単価が下がるものでもありますので、「できる限り間違いのない設計書を元にして、できる限り大量に作る」ことが必要になります。これって前者はソフトウェアで一般化してしまった、「バグがあったら後からアップデートを配信すればいいや」とは思いっきり反対の話になりますし、後者は「余ったらどうするの?バグがあったら全廃棄?設計書の問題なのか量産の問題なのかは誰がどうやって判断するの?」というリスクそのものになっています。

      親コメント
      • by Anonymous Coward

        とりあえず特許は、20年まえのCPUと同じ技術を使えば大丈夫。
        (20年以上なら歴史の長さなど関係ないですよ…)
        20年たった特許広報ってのは宝の山だよ。
        とはいえ、ソフトを公開するときに、本当にソフトウェア特許を気にしてる?
        CPUの論理を公開してもそれと同じくらいのリスクしかないよ。

        量産の問題はFPGAでいいじゃん。

        だから理由は他にあるんじゃないかなあ。
        単におもしろくないとか。

        • by Anonymous Coward

          プロセッサ単体が出来上がってもしょうがないでしょうに。
          マザーボードは誰かが作ってくれるんですか?ビデオはどうするんですか?コンポジットの黄色い端子?

          20年前には戻れないよ。

        • by Anonymous Coward

          動かすことが目的の個人の趣味レベルの話なのか、何か実用的な機器のCPUをリーズナブルなコストで置き換えるのが目的なのか。

          前者だったら、古典的な設計で適当に作って論理合成してFPGAに焼いてで、あれは楽しい。
          大学時分の学生実験でやっただけだけど、日曜プログラマを楽しめる人には良い趣味に出来ると思う。
          あれこれより高度な設計を試して、先週より速いプロセッサを作ってやるぞー、とか。

          ただ、わざわざ話題にするぐらいなんだから、このストーリーは後者の方の話だと思うし、それだとそんなふんわりとした特許の扱いじゃ無理。

      • by Anonymous Coward

        バグがあったらマイクロコード配ればいいや。

    • by Anonymous Coward

      費用対効果です。

      今、CPUを新規スクラッチから開発を行っても見返りが薄い
      それよりも、別視点の量子コンピュータに手を出すほうがまだ
      いい。

      ちなみにIBM 5100は本当に良い製品だ

    • by Anonymous Coward

      ハードウェアは製造施設やロジスティックの検討が必要なので、個人が思い付きで始めるにはハードルが高いんだよなぁ

  • by Anonymous Coward on 2018年01月26日 19時44分 (#3351342)

    だから何なんだってくらいグダグダな現状分析だな
    野次馬が適当に煽るだけでムーブメントが起こるような分野かねえ

    クラウドファンディングで驚くほど簡単に出来る可能性もあるけど
    まあ皮算用がひとつ足りなくて誰も月に行けないだろうな

  • by Anonymous Coward on 2018年01月26日 19時44分 (#3351343)

    オープンファームウェア化が必要だな?!

  • by Anonymous Coward on 2018年01月26日 20時02分 (#3351352)

    記事にある「不愉快な驚き」って何だろう。

    オープンソースのOSなら、脆弱性が見つかっても、自分で修正できる。(「自分で修正する」には「自分の金で修正できる人を雇う」も含む)
    だからプロプライエタリなOSが修正パッチを出さないことにやきもきする必要はない。
    そのやきもきする感情を「不愉快な驚き」みたいに表現するのもわからなくはない。

    でも、オープンなプロセッサでそれは解決できるの?
    今回のMeltdown問題のように、根本的にはプロセッサの欠陥で、その機能を塞がない限り修正できない可能性ってあるわけだよね?
    オープンな設計のプロセッサでも同様の問題が発生する可能性は十分にあるんだけど、物理的に交換するのは流石にできない。
    「いや、自分で製造ライン作って修正された回路を焼けばいいだろう」はいくらなんでもソフトとハードの差を無視しすぎている、それができるならわざわざオープンな設計を使うメリットは薄いし。

    たとえばIntelやAMDが「契約を結んだ相手にしか特定の命令を使わせない」みたいな独占の仕方をしてるなら兎も角、そういうのでなければ現状の市場は十分にオープンだし、設計だけがオープンなプロセッサを出したところで何かしらの解決になるわけじゃないと思うんだがなぁ。

    • by Anonymous Coward on 2018年01月27日 0時34分 (#3351519)

      不愉快な驚きというのは具体的にはintel MEを挙げているのだが、オープンな命令セットというあまり関係のない話に持っていっているのでわけがわからなくなっている

      親コメント
    • by Anonymous Coward

      > たとえばIntelやAMDが「契約を結んだ相手にしか特定の命令を使わせない」みたいな独占の仕方をしてるなら兎も角

      それが今議論になっているマイクロコードですよ。「こんなクソ機能をマイクロコードで入れて何考えてんだ」と。

      • by Anonymous Coward

        裏を返せば、マイクロコードが自由だったらとりあえず問題ないって事…?

        • by Anonymous Coward

          マイクロコードは自由なんじゃ…

      • by Anonymous Coward

        つまり、どこの馬の骨ともわからない複数人による、なんら成果物に責任を負うこともないオープンな設計のプロセッサなら、クソみたいなマイクロコードを実装することはないと。

  • by Anonymous Coward on 2018年01月26日 20時04分 (#3351355)

    VM でWindowsは遅くなるし、各種プロプラソフトウェアが使えなくなる。何よりエッチなゲームもWineでできなくなる

  • オープンな仕様のハードウェアの意義は認めるけど、実装(ハード)はユーザーがいじれないからねえ
    ベンダーが責任を持たないといけないし、そうなると今よりどの程度マシになるのか

    • by Anonymous Coward

      フリーなCPUなら、アーキテクチャに脆弱性が見つかってもパフォーマンスを落とさずに塞げるんですよ(棒読み)

    • by Anonymous Coward

      DirectX や Cocoa のようなOSに依存するようなもの使わないでOpenGLみたいなフリーなもので作る運動のほうが現実的
      OpenGLさえ使えれば比較的楽に多環境で実行できるし

    • by Anonymous Coward

      オープン系はX86とかウインドウズだろ?プロプライエタリって言ったらIBMのメインフレームだろ?
      だからIntelのプロセッサはオープン系だろ?

  • by Anonymous Coward on 2018年01月26日 21時11分 (#3351408)

    まともな性能のオープンCPU、オープンチップセット、オープンファームウェアを開発維持なんて難しくないか?Z80レベルならともかく。

    • by Anonymous Coward

      > しかし、以前はフリーなOSを作成することは困難だとみられていたが実現している。

      # あくまで一つの提言です。

  • by Anonymous Coward on 2018年01月26日 23時07分 (#3351471)

    オープンソースソフトウェアが成功したのって複製の製造コストがほぼゼロだからって面が大きいと思うんだけど、
    物理機器だと絶対に越えられない条件だよね?
    3Dプリンタで半導体チップが作れるってんなら話は別だけど。

  • by Anonymous Coward on 2018年01月26日 23時37分 (#3351487)

    ついでに、IntelMEとかいう、なぞの監視マイコン(CPU内のCPU)をどうにかしてくれませんか
    気持ち悪いったらありゃしない

    • by Anonymous Coward

      アメリカ企業には何も期待するな

  • by Anonymous Coward on 2018年01月27日 0時21分 (#3351513)

    だが、不可能ではなさそうだ。

  • by Anonymous Coward on 2018年01月27日 0時42分 (#3351525)

    まぁあればCPU単体でないのだけど、その手の難しさを示した例だと思う。
    最もX68界隈はオープンなハード(周辺機)ってあったよな。

  • by Seth (1176) on 2018年01月27日 2時59分 (#3351549) 日記

     ロボットを造るロボットが解決してくれるよ、きっと。
     その時は、人類も太陽系も、もう存在してないかもしれないけど(走召糸色木亥火暴)

    --
    "castigat ridendo mores" "Saxum volutum non obducitur musco"
typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...