今こそ「オープンプロセッサ」について考えるとき 96
OS、プラットフォームと来たら次はプロセッサ 部門より
CPUの脆弱性「Meltdown」や「Spectre」が世間を騒がせており、また少し前にはIntelのCPUが備えている管理機能の脆弱性が発覚するなど、最近CPU関連の問題が多く話題となっている。このような状況を受け、Linuxカーネル開発者の一人として知られるJonathan Corbet氏が「オープンプロセッサ」について考えてみても良いのではないかという考察記事を公開した(LWN.net、Slashdot)。
記事では我々のシステムで使用されているCPUが独占的な存在であり、それ故に「不愉快な驚き」がもたらされているとし、それへのカウンターとして設計が公開されているオープンプロセッサという考え方が存在すると述べている。
オープンプロセッサはすでに複数が存在しており、たとえばPOWERアーキテクチャに基づいたOpenPOWERは(開発参加にはクラブ会員になる必要があるものの)共同開発によってプロセッサの設計を行える一例だという。
また、まだ先の見通しは不透明なものの、SPARC T1およびT2プロセッサの設計を完全にオープンにした「OpenSPARC」も存在する。さらに組み込みアプリケーション向けには「OpenRISC」が存在しており、すでに「OpenRISC 1000」などのプロセッサ製品が登場している。そのほか、「RISC-V」アーキテクチャも最近勢いがあり、これは命令セットアーキテクチャ(ISA)に重点を置いたものだがフリーハードウェア設計が存在しているという。
ただ、オープンソースのハードウェアにはいくつかの利点があるものの、万能ではないという。コンパイラは無料で利用できるが、プロセッサ自体の製造にはコストがかかるし、設計を検証する方法も必要となる。またRISC-Vが市場で成功を収めたとしても、市販のプロセッサには自由なライセンスが適用されないという可能性もある。
また、完全にオープンなプロセッサであっても、脆弱性がなくなるわけではない。しかし、以前はフリーなOSを作成することは困難だとみられていたが実現している。従来のCPUから離れる挑戦をすることは、自由を保つための最良のチャンスかもしれないとしている。
ハート様 (スコア:2)
フリーCPU計画 (スコア:1)
…は敷居(開発環境の価格)が高いんだよなぁ。と思っていたら、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を作るということ
が出来ます。
Re: (スコア:0)
Foundation 2.1i って。。。。
この情報、いつのだよ
obsoleteだよ
# ネタ?だよね
Re: (スコア:0)
> この情報、いつのだよ
2000年です。早すぎた天才でした。
ご連絡先
Re:フリーCPU計画 (スコア:1)
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が当たり前の時代です。出来るに決まっています。
Re:フリーCPU計画 (スコア:1)
ただひたすらかっけー
自分でやらずに人にやらせてたら、今頃は和製ジョブズと言われていたかも(真顔
Re:フリーCPU計画 (スコア:1)
> この人何者?
悲惨な記憶も風化しつつありますね。
見れなくなったページも多く、5chモバイル板のスレもいつの間にか消滅(part500ぐらいはあったよね?)
残ってるのでまとまってるのはこれかな:
MorphyOneの軌跡 [geocities.co.jp]
Re: (スコア:0)
2000年です。
成る程、時期は合ってるな。
http://www.ninjin.net/radica/back/991222.txt [ninjin.net]
> ● 1999/12/21 23:16 一区切り
> その後は例によってチムニーで打ち上げです。…みんな濃いぃっ
> たらないですわ。「来年は絶対、68K互換300MHzのフリーCPU
> を作るぜ!」という誓いを立てたことくらいしか覚えてないです
> (^^;)
Re: (スコア:0)
別に ソフトコアCPU計画でもいいんじゃね。
86系が使いたいとか考えている人でも求めるメモリとOSがあれば実装はできるんじゃないか。
今のFPGAの規模ならば 386くらいなら十分入るんだから、メモリは外付けでも クロックをめいいっぱいあげるとか考えればWindows3.1とかは動くんじゃない。
Zinqで実現できそうなARMとx86エミュレーターで、 Windowsがサクサク動くと本家の人が言っているんだし。その時、今回の脆弱性はどこを治すことになるんだろう。
とりあえず、やっつけで修正しましたで混乱している今の状態をなんとかしてほしいね。
何このデジャブ (スコア:1)
数年前OpenSSLで大穴(Heartbleed)開いていて
オープンソースだから誰でも見られるから安全とか言っていて
実際は酷かった例があるじゃないか
まだソースコードなら誰でも見られて修正出来るので良いが
ハードウェアの場合は誰でも設計図を見れたとしても、誰もが設計出来る知識や技術を持っていない
いざ脆弱性が発見されたところで誰も責任取らないだろうし
修正したから買い換えろよで終わるだろ
だったらメーカー製でも良いだろ
オープンにしたら監視機能が働くなんて夢物語を未だに語るなんて
この数年何見てきたんだか・・・
Re: (スコア:0)
Intelの対応があまりにも素晴らしくないものだったのが拍車をかけていますね。
AMDがオープンな方針に舵を切ったことも大きいのでしょう。
Re: (スコア:0)
デジャブじゃなよね?
あえて言うなら逆のデジャブ
Re: (スコア:0)
監視じゃなくて検証可能性だと何度言ったら…
技術的にはできるけどだれもやってない (スコア:0)
技術的にはできるけどだれもやってない。
技術以外に問題があるんでしょう。
本気ならそれを分析すればいいね。
Re:技術的にはできるけどだれもやってない (スコア:4, 参考になる)
技術的な問題があるからやらないのです。
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に流れるのが普通です。
Re:技術的にはできるけどだれもやってない (スコア:2)
もう原子の大きさの問題でハードは限界見えてるし
ソフトでもう一回頑張ろうよ
作りやすさ、メンテナンスのしやすさを現状優先してるけど
ガリガリに優秀なプログラマーが最適化したら4倍位速くなると思う
ゲーム業界とか今でもそうなんじゃないのかな?
バグ量産しちゃうかな?
Re:技術的にはできるけどだれもやってない (スコア:1)
CPUはコンピュータの中枢を為すものであるがゆえに、それこそ膨大な数の特許が存在しています。1990年代以降になって認められるようになったソフトウェア特許よりも、CPUまわりの特許はずっと古い歴史を持ちますので、「オープンプロセッサ」の作成は言わば地雷原を歩かされているような状態になってしまいます。お金の力があれば解決(回避)の余地がありますが、最終的に成果物を独占できるものではなく、公開することを前提にする以上、そう簡単にお金が出てくるようなこともないでしょう。
ソフトウェアはそれを動かす環境さえ用意できてしまえば、それをコピーするだけの話です。プロセッサの場合はハードウェアである以上、動くモノ(製品)を作るのに量産設備が必要になります。また、一般的な機械などと同じで、大量に生産すればするほど1つあたりの単価が下がるものでもありますので、「できる限り間違いのない設計書を元にして、できる限り大量に作る」ことが必要になります。これって前者はソフトウェアで一般化してしまった、「バグがあったら後からアップデートを配信すればいいや」とは思いっきり反対の話になりますし、後者は「余ったらどうするの?バグがあったら全廃棄?設計書の問題なのか量産の問題なのかは誰がどうやって判断するの?」というリスクそのものになっています。
Re: (スコア:0)
とりあえず特許は、20年まえのCPUと同じ技術を使えば大丈夫。
(20年以上なら歴史の長さなど関係ないですよ…)
20年たった特許広報ってのは宝の山だよ。
とはいえ、ソフトを公開するときに、本当にソフトウェア特許を気にしてる?
CPUの論理を公開してもそれと同じくらいのリスクしかないよ。
量産の問題はFPGAでいいじゃん。
だから理由は他にあるんじゃないかなあ。
単におもしろくないとか。
Re: (スコア:0)
プロセッサ単体が出来上がってもしょうがないでしょうに。
マザーボードは誰かが作ってくれるんですか?ビデオはどうするんですか?コンポジットの黄色い端子?
20年前には戻れないよ。
Re: (スコア:0)
動かすことが目的の個人の趣味レベルの話なのか、何か実用的な機器のCPUをリーズナブルなコストで置き換えるのが目的なのか。
前者だったら、古典的な設計で適当に作って論理合成してFPGAに焼いてで、あれは楽しい。
大学時分の学生実験でやっただけだけど、日曜プログラマを楽しめる人には良い趣味に出来ると思う。
あれこれより高度な設計を試して、先週より速いプロセッサを作ってやるぞー、とか。
ただ、わざわざ話題にするぐらいなんだから、このストーリーは後者の方の話だと思うし、それだとそんなふんわりとした特許の扱いじゃ無理。
Re:技術的にはできるけどだれもやってない (スコア:1)
特許というのは、「技術要件を知らなければセーフ」というものじゃない。
当然の帰結と思って実装したものでも、既存の特許でカバーされていればだめ。
だから仮にPIIから派生しても、モダンなプロセッサに仕立てればやはりだめ。
Re: (スコア:0)
バグがあったらマイクロコード配ればいいや。
Re: (スコア:0)
費用対効果です。
今、CPUを新規スクラッチから開発を行っても見返りが薄い
それよりも、別視点の量子コンピュータに手を出すほうがまだ
いい。
ちなみにIBM 5100は本当に良い製品だ
Re: (スコア:0)
ハードウェアは製造施設やロジスティックの検討が必要なので、個人が思い付きで始めるにはハードルが高いんだよなぁ
よし、じゃあ作れ (スコア:0)
だから何なんだってくらいグダグダな現状分析だな
野次馬が適当に煽るだけでムーブメントが起こるような分野かねえ
クラウドファンディングで驚くほど簡単に出来る可能性もあるけど
まあ皮算用がひとつ足りなくて誰も月に行けないだろうな
BIOS UEFIも (スコア:0)
オープンファームウェア化が必要だな?!
Re: (スコア:0)
つCoreboot https://www.coreboot.org/ [coreboot.org]
不愉快な驚き? (スコア:0)
記事にある「不愉快な驚き」って何だろう。
オープンソースのOSなら、脆弱性が見つかっても、自分で修正できる。(「自分で修正する」には「自分の金で修正できる人を雇う」も含む)
だからプロプライエタリなOSが修正パッチを出さないことにやきもきする必要はない。
そのやきもきする感情を「不愉快な驚き」みたいに表現するのもわからなくはない。
でも、オープンなプロセッサでそれは解決できるの?
今回のMeltdown問題のように、根本的にはプロセッサの欠陥で、その機能を塞がない限り修正できない可能性ってあるわけだよね?
オープンな設計のプロセッサでも同様の問題が発生する可能性は十分にあるんだけど、物理的に交換するのは流石にできない。
「いや、自分で製造ライン作って修正された回路を焼けばいいだろう」はいくらなんでもソフトとハードの差を無視しすぎている、それができるならわざわざオープンな設計を使うメリットは薄いし。
たとえばIntelやAMDが「契約を結んだ相手にしか特定の命令を使わせない」みたいな独占の仕方をしてるなら兎も角、そういうのでなければ現状の市場は十分にオープンだし、設計だけがオープンなプロセッサを出したところで何かしらの解決になるわけじゃないと思うんだがなぁ。
Re:不愉快な驚き? (スコア:1)
不愉快な驚きというのは具体的にはintel MEを挙げているのだが、オープンな命令セットというあまり関係のない話に持っていっているのでわけがわからなくなっている
Re: (スコア:0)
> たとえばIntelやAMDが「契約を結んだ相手にしか特定の命令を使わせない」みたいな独占の仕方をしてるなら兎も角
それが今議論になっているマイクロコードですよ。「こんなクソ機能をマイクロコードで入れて何考えてんだ」と。
Re: (スコア:0)
裏を返せば、マイクロコードが自由だったらとりあえず問題ないって事…?
Re: (スコア:0)
マイクロコードは自由なんじゃ…
Re: (スコア:0)
つまり、どこの馬の骨ともわからない複数人による、なんら成果物に責任を負うこともないオープンな設計のプロセッサなら、クソみたいなマイクロコードを実装することはないと。
プロプラソフトが使えなくなる (スコア:0)
VM でWindowsは遅くなるし、各種プロプラソフトウェアが使えなくなる。何よりエッチなゲームもWineでできなくなる
linuxにたとえているが、何を言っているのかよくわからん (スコア:0)
オープンな仕様のハードウェアの意義は認めるけど、実装(ハード)はユーザーがいじれないからねえ
ベンダーが責任を持たないといけないし、そうなると今よりどの程度マシになるのか
Re: (スコア:0)
フリーなCPUなら、アーキテクチャに脆弱性が見つかってもパフォーマンスを落とさずに塞げるんですよ(棒読み)
Re: (スコア:0)
完全な妄想だね
どういう修正方法で塞げると思っているんだ?
そもそも誰が塞ぐんだ?
そいつが塞いだら修正したチップがいつ手に入ると思っているんだ?
intelがちょろっとコードを修正していろいろなバグ回避をやっているけど
同じことがフリーCPUでもできるなんて思っていないよな?
Re:linuxにたとえているが、何を言っているのかよくわからん (スコア:1)
最後に(棒読み)とかまで付けてるのにジョークや皮肉と見て貰えない現代社会の乾き具合よ。
Re:linuxにたとえているが、何を言っているのかよくわからん (スコア:1)
このコメントを表示した時に下に
"「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」"
と表示されてて笑った。
-- う~ん、バッドノウハウ?
Re: (スコア:0)
DirectX や Cocoa のようなOSに依存するようなもの使わないでOpenGLみたいなフリーなもので作る運動のほうが現実的
OpenGLさえ使えれば比較的楽に多環境で実行できるし
Re: (スコア:0)
オープン系はX86とかウインドウズだろ?プロプライエタリって言ったらIBMのメインフレームだろ?
だからIntelのプロセッサはオープン系だろ?
Re: (スコア:0)
それ、オープン違い
でも (スコア:0)
まともな性能のオープンCPU、オープンチップセット、オープンファームウェアを開発維持なんて難しくないか?Z80レベルならともかく。
Re: (スコア:0)
> しかし、以前はフリーなOSを作成することは困難だとみられていたが実現している。
# あくまで一つの提言です。
生産コストの壁 (スコア:0)
オープンソースソフトウェアが成功したのって複製の製造コストがほぼゼロだからって面が大きいと思うんだけど、
物理機器だと絶対に越えられない条件だよね?
3Dプリンタで半導体チップが作れるってんなら話は別だけど。
なぞの監視マイコン。 (スコア:0)
ついでに、IntelMEとかいう、なぞの監視マイコン(CPU内のCPU)をどうにかしてくれませんか
気持ち悪いったらありゃしない
Re: (スコア:0)
アメリカ企業には何も期待するな
実際にやるのは困難だろうな (スコア:0)
だが、不可能ではなさそうだ。
もるひん・・・ (スコア:0)
まぁあればCPU単体でないのだけど、その手の難しさを示した例だと思う。
最もX68界隈はオープンなハード(周辺機)ってあったよな。
時間の問題 (スコア:0)
ロボットを造るロボットが解決してくれるよ、きっと。
その時は、人類も太陽系も、もう存在してないかもしれないけど(走召糸色木亥火暴)
"castigat ridendo mores" "Saxum volutum non obducitur musco"