Jadawin 曰く、 "CNET Japanの記事によると、Stretch社がRISC CPUとプログラマブルロジックを組み合わせたプロセッサS5000を発表した。これまでも、NECのDRPや、富士通のDPGAなどのアナウンスがあったが、今回のS5000では同時に開発したC/C++コンパイラが重点的に計算すべきところを検出して、そのための命令を追加するという。また、単なる研究発表ではなく、Windows XPおよびLinux用の環境も用意されているところも魅力的だ。現在は300MHz動作だが、暗号化やビデオ処理では2GHzのCPUと同等だと言う。"
C/C++言語レベルでしか (スコア:3, 興味深い)
極端な話、デバッグ中に問題を突き止めようとソースを変える度にマシン命令が変わる可能性があり、脳内の想定とマシン挙動が何時までたっても一致しない可能性もあるなぁ(^_^;
う~む…
Re:C/C++言語レベルでしか (スコア:2, おもしろおかしい)
Re:C/C++言語レベルでしか (スコア:2, 興味深い)
Re:C/C++言語レベルでしか (スコア:3, 興味深い)
>あるサイクル数内で必ず実行されるとか、ハードウエアの特定部分で実行されるとかは期待してはいけないです。
これじゃ、ハードリアルタイムは実現不能になりますね。
>thread の実行順序に勝手な仮定を置くのと同様にそれは間抜けな考えなのです。
RTOSなら、スレッドの実行順序は、絶対的なプライオリティで決められます。
第一、メモリへの書き込み順序すら指定できないなら、セマフォの類が実装できません。
実際問題として、Athlonのデータシートを見た限りでは(思いっきり面倒そうだが)例外開始からの実行クロック数は計算可能みたいでした。(Lockプレフィックスとかが絡むと、如実に必要クロックが増えます)
// HTなP4だとどうなるかは知らない
今回のCPUは、組み込み用途を想定しているので、ハードリアルタイム性は必須。実際に、最適化が完了した時点で、静的な解析は可能みたいですね。
-- Buy It When You Found It --
Re:C/C++言語レベルでしか (スコア:0)
途中でコンピュータがこころ変わりするという…。
「電脳心と秋の空」ですな…。
Windows XPおよびLinux用の環境 (スコア:2, 参考になる)
Linuxの方は、MontaVista LinuxがこのCPU上で動作する、と。
Re:Windows XPおよびLinux用の環境 (スコア:1, 参考になる)
MontaVista [mvista.com]
組み込みLinuxとかやってる会社ですね
# ポインタのみなのでAC
Re:Windows XPおよびLinux用の環境 (スコア:1)
こういうプロセッサで動く GCC や Linux がどんなもんなのか、興味ありますな。
コアは Xtensa というプロセッサらしいですが、 これ [gnu.org]によれば、コンフィギュレーションを変えると gcc から作り直さないといけない、ということなんでしょうか? あれ、GCC 3.4 [gnu.org] だとまた違うのかな。
MontaVista Linux でもいろいろややこしいことをしてるみたい? (プレスリリース [tensilica.co.jp])
Re:Windows XPおよびLinux用の環境 (スコア:1)
あ、ななめよみしすぎて勘違いしました。すいません。
単にデフォルトのオプション指定を変えられるってだけですね、これは…。configuration file というのはどこから出てくるんだろう?
メディアプロセッサにも見える (スコア:2, 興味深い)
http://www.stretchinc.com/products_s5000.php
の構成図では
softwareconfigurable data path で
system designers extend the processor instruction set and define the new instructions using only their C/C++ code.
構成を切り替える頻度、速度は?
比較:東芝 MeP は稼動中はしないようだ。
Re:メディアプロセッサにも見える (スコア:0)
ISEFのコンフィギュレーションは静的に構成されたものを複数個持て、
ISEFに対する命令の起動ごとにコンフィギュレーションが切り替わると思われる。
つまり数クロックから数十クロックくらいの頻度、速度だろう。
コンフィギュレーションを動的に構成することは無理っぽい。
Re:メディアプロセッサにも見える (スコア:1)
モード切替えをユーザーがやるときに切替えられるし。
Xtensa: 参考リンク (スコア:2, 参考になる)
S5000 Product Brief [stretchinc.com]を見るとテンシリカ [tensilica.co.jp]のXtensa [tensilica.co.jp]-basedとありますな。 大量データ処理向けの所謂メディアプロセッサですか。
これを念頭にS5000のProduct Briefを見てわかることは、
Re:Xtensa: 参考リンク (スコア:2, 参考になる)
元 MIPS [www.mips.jp] と元 Synopsys [synopsys.co.jp] が目立ちますね。
実力者揃いなのかな、先が楽しみ?
なんか、懐かしい響き。老舗ですもんね。
=^..^=
Enjoy Computing, Skiing, as much as Horse Racing.
次世代携帯電話 (スコア:2, 興味深い)
いろいろな事をこなそうとすると自ずと限界に達するが
このようなチップを使えば他目的に使える道具となる。
表示方法と操作方法さえ改善すればパソコン並みの道具になるかもしれないよ。
#機能はネットで買うビジネスモデルになるだろうか?
ソフトウェアコンパイラとロジックシンセサイザの遭遇 (スコア:2, 興味深い)
リコンフィギュラブルプロセッサの原理は単純です。 プロセッサの処理ステージにプログラマブルロジックを置くだけですので。 現に、中~大規模FPGAでは、ロジックの構成部はSRAM相当のセルです。
# NECの発表したモノは、CPUコアそのものの構成は変更しないモノかな?
従来のFPGAでは、Verilog/VHDLなどの論理記述言語を用いなければならず、ソフトウェア側とハードウェア側で記述はともかく、設計方針すら切り替えないといけないものでした。 ソフト、ハード(この場合は論理回路)双方とも精通した技術者は、最近こそ増えてきましたが決して普遍的にいるのもではありません。
一方、合成(synthesis)技術の方は、より高い抽象化/効率的で確実な検証をめざして研究が続けられ、Handel-C, System C++をはじめとした、高級言語を用いた論理記述も最近はようやく現場で使われるようになりました。 高級言語を用いることにより、ソフトウェア屋にもある程度の論理記述ができるようになるだけでなく、検証もfunction単位でソフトウェアとして行えてしまうというメリットもあります。
# しかしどの処理系も値段が高すぎて日曜工作には適さない, sigh.
Stretchの供給するコンパイラは、ソフトウェアのコンパイラ/論理回路のシンセサイザが、とてもおもしろい(しかし技術的には難しい)ポイントで遭遇したような感じを受けます。コンパイラ技術の進歩の賜と言えましょう。
この方向性を民生用のプロセッサに持ってくるためには、より柔軟な再構成性を実現するために、プログラマブルロジックのSRAMセルを、プロセッサのメモリキャッシュのごとくバスの近くに持ってきてしまい、マルチスレッドでも論理を高速に入れ替えられるようにするといいのかなー、ってのは個人的な妄想。
# 師匠にタコ殴りにされそうな素人意見だけど日曜HDL遊びは好きなのでID
Stretchって懐しいぞ (スコア:1)
たとえば (スコア:1, おもしろおかしい)
# とか。
ネオコグニトロン (スコア:1)
Re:ネオコグニトロン (スコア:1)
このチップで作ったPCだと、 (スコア:0, オフトピック)
Re:このチップで作ったPCだと、 (スコア:1)
・・・って今は元からモザイクがかかっているのか。。。
# デバッガでトレースしてモザイク化ルーチン潰して
# D○LK を遊んでいたので non AC (自爆)
マクロの基本は検索置換(by y.mikome)
Re:このチップで作ったPCだと、 (スコア:0)
|´Д`)'`ァ'`ァ (スコア:0)
にしても今月末は大作が(ry
Re:|´Д`)'`ァ'`ァ (スコア:1)
池田?
# クラナド [clannad.ie]サイコー!なのでtuneo。
Re:|´Д`)'`ァ'`ァ (スコア:0)
動的なプロファイルはできない? (スコア:0)
複雑な計算が必要な処理でも一度しか実行しない処理とか、単純な処理でも大量のデータを流す必要のある処理とかいろいろあると思うんですけど。
(プログラマが指定すればいいのかな?)
Re:動的なプロファイルはできない? (スコア:2, 参考になる)
そのようです。
NE ONLINEの記事 [nikkeibp.co.jp]によると、高速化したい関数はユーザが名前に修飾子を付けて指示する必要があるようです。
あぁ、「ン」が消えてるんですよ。「ビーフン・カレー」ね。
Re:動的なプロファイルはできない? (スコア:1)
列をハード化して、その常連さんがきたら、デバイスドライバ
に差し替えとか。
課題は単価 (スコア:0)
現状ではPen4の2GHzを買った方がはるかに安いわけですから、よほどの物好き以外は手を出さないでしょう。
このスペックで$20程度、DualやQuod対応でM/B込み$250くらいになれば十分競争できると思います。
また別の面を見ると、この技術が評価されてIntel/AMD等に吸収されるとこれまた面白いことになりそうです。2GHzオーバーのクロックに耐えられなそうなので、いろいろと技術的課題もあるんでしょうけど…。
Re:課題は単価 (スコア:1)
従来のPLDとかFPGAとかの置き換えを狙ってるんじゃない?
普通の人には縁なさそう。
# ロボットな人にはおもしろいかも。
訂正 (スコア:0)
Re:課題は単価 (スコア:0)
OSに使うにしてもコ・プロセッサ向けじゃないかと思いますが。
あえてWindowsとかUNIXを動かす必要はないのでは。
Re:課題は単価 (スコア:1, 興味深い)
既存ソフトのリコンパイルが必要になってしまいますので、確かにOSをそのまま動かす意味は薄いですね。拡張ボードとして挿して専用コンパイルされたソフトを使わせる廉価版高密度FPGAの代替という使い道が出来れば面白いな、と思います。
GPUに取って代わる? (スコア:0)
なんか、記事とか読んでると、GPUに取って代わるかもしれないって気がするけど、それは気のせいかな?
#っていうか、今のパソコンのCPU+GPUという組合せを、複数のこのプロセッサに置き換えるなんて妄想も浮かんだり。
#処理に応じて、例えばプロセッサ3個のシステムなら、動作中にCPU担当部を2個、GPU担当部を1個での処理から、CPU担当部を1個、GPU担当部を2個での処理に置き換えたり。
Re:GPUに取って代わる? (スコア:3, 興味深い)
もちろん、命令を自由に作成できるからパフォーマンス的にはある程度のアドバンテージが有るかもしれないけど、異なる処理を同時に行う場合とかを考えるとあまり実用的ではない気がする。
PCというよりはゲーム機とかかね。メーカーは作りっぱなしでよくなるし、ソフトウェアのベンダもハードウェアの違いを気にする必要は無くなるし。
Re:GPUに取って代わる? (スコア:2, 参考になる)
そのとおりです。 たとえば昨今のFPGAで主流の最小構成単位は、4入力-ルックアップテーブル(ROMのようなもの)-F/F です。 面積は確実に食います。
配線も自由度を増すためにやや冗長な構成となっています。 面積を喰うだけではなく、遅延(いわゆるクリティカルパス)の最大の要因ともなっています。
FPGA/CPLDで単価の安い製品はありますが、量産時のコストパフォーマンス、および最大処理能力パフォーマンスではとうていASICに敵いません。ていうか棲み分けはかなりできてると思う。
参考までに、高集積・高速で定評のあるA社のSという石を内部160MHzでブンまわしてみましたが、熱くて触れません。放熱機構つけてないけど。
Re:GPUに取って代わる? (スコア:1)
たとえば、無線LANとか。11a,b,gと乱立したけどモード切替で対応できると。
この技術を使ったら、 (スコア:0)
良くわからない・・・ (スコア:0)
>>プログラム中で重点的な計算が必要な箇所を自動検出し・・・
はつまるところコンパイル時にプログラマが書いたソースから、まとめられる命令部分を自動でまとめてくれるだけ??
あまり画期的とは言いがたいような・・・?
Re:良くわからない・・・ (スコア:2, おもしろおかしい)
学研の電子ブロックをすごく小さくして、自動的に取り替えてくれるロボットアームをつけたようなものかな??
Re:良くわからない・・・ (スコア:1)
Re:良くわからない・・・ (スコア:1)
現在のプログラムロジック(略称FPGA)は構成できる回路規模がかなり上がったので、
小規模なCPUなら1チップで構築できるようになっています。
z80/arm/picとか [opencores.org]
Re:良くわからない・・・ (スコア:0)
Re:良くわからない・・・ (スコア:0)
実装はぜんぜん違うけど。
Re:良くわからない・・・ (スコア:1)
少なくとも命令をデコードする必要はなくなりますし、ランタイムでのレジスタリネーミングや見込み実行に掛かるコストが飛躍的に減少しそうな気がします。
それに、実行パイプラインの無駄を最小に抑えることも可能であるように思えます。
素人なのであくまで想像ですが…
Re:良くわからない・・・ (スコア:1, 興味深い)
ありえます.今までにもいくつか出てますし.
で,今回のもそういったものの一種なのでは?
Re:良くわからない・・・ (スコア:1)
例えばFPGA(Field Programmable Gate Array)はその名の通り,現場で再構成可能なゲートアレイです.
汎用的なプロセッサの上で走らせた場合に時間がかかるような処理をFPGAに乗っけてやれば,
じゃまなソフトウェアなしにハードウェアだけで計算が突っ走るので,高速処理が可能になります.
いわば特定用途に限った専用計算機みたいなものがFPGAを使えば作れるわけです.
今回のプロセッサはその延長線上にあるようなもので,用途(ソフトウェア)にあわせて
(ある程度)最適化できるハードウェア(プロセッサ)といったようなものだと思います.
もっと大胆に,動作中に回路を再構成してやろうとか,用途に応じて進化するハードウェアなんてのを
研究している人たちもいます.このあたりの話題は星野力先生が著書が参考になると思います.
Mainframe (スコア:0)
全く同じハードなんだけど支払う金額によって処理性能に制限をかけておく,
っていう習慣がありましたよね.
お金を払うとチョコッとスイッチを切り替えてくれる,みたいな.
とりあえず安価にセットを購入してもらって,
お金を払うと「とてつもなくビデオのエンコードが早くなる」とか,
「WebサーバでSSLの処理を気にしなくてよくなる」とか,
「主に利用するDRM毎に適当な処理が早くなる」なんてのは一つかも.
PCやWS, Server的な製品形態なら,
それほど魅力的な選択肢にならないかもしれないけど,
アプライアンス的な箱で選択ができるのだったら,
それはそれで(市場へアピールとして)良いかもしれないなあ.
Re:Mainframe (スコア:0)