【CISC】CPUアーキテクチャと論理合成方法【RISC】

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
関連スレ
技術屋ならCPU創るだろ?
http://science2.2ch.net/test/read.cgi/denki/1072113898/l50
【std_logic】Verilog VHDLスレ【16'hFFFF】
http://science2.2ch.net/test/read.cgi/kikai/1056186047/l50
ALTERAとXILINX
http://science2.2ch.net/test/read.cgi/kikai/1048943368/l50
135: カスタムIC設計を語るスレ
http://science2.2ch.net/test/read.cgi/kikai/1071478516/l50
2名無しさん@お腹いっぱい。:03/12/23 19:07 ID:gjnP0NFF
あややの合成方法も知りたいです
3名無しさん@お腹いっぱい。:03/12/24 18:02 ID:Ioy+UoX0
3ゲッツ
4名無しさん@お腹いっぱい。:03/12/24 22:10 ID:Iyl9Gci4
折角だから2chオリジナルのCPUでも作るか?
ゴルァ命令セットとか名前付けて遊んだら面白いかもよ。
5名無しさん@お腹いっぱい。:03/12/24 23:00 ID:yk+hQdcF
じゃあ、核心部の命令デコーダからいってみようよ。
命令セットは最小単位でよいかな。(究極のRISC)
他は、レジスタのカタマリだし、ALUは確立してるし。
6名無しさん@お腹いっぱい。:03/12/24 23:20 ID:Iyl9Gci4
命令ってどの程度に絞り込む?
ロードストア系、演算だけあれば良いのかな。
分岐は、PCに直接アドレスをロードで問題ないだろうし。
7名無しさん@お腹いっぱい。:03/12/25 01:22 ID:HcnmKJl0
うん、条件JMPはプログラムカウンタに直接アドレス流し込めばいいと思う。
ただし、フラグ、ステータスの構成は?
ペリフェラルの構成とも関わってくるでしょ。
8名無しさん@お腹いっぱい。:03/12/25 01:31 ID:51C5uejm
>>7
命令に実行ステータスを付けたらどうだろうか?
ってARMがこれだっけ?
全ての命令に同じ実行ステータスがあれば条件ロードが
分岐命令の変わりに使えるね。
9名無しさん@お腹いっぱい。:03/12/25 01:50 ID:HcnmKJl0
>>8
スマソ。この部分でチョイと>>5=>>7の俺はつまずいた。
実行ステータスは例えば、状況が違うけど、86系のMOVZX,MOVSB,MOVSWのようなイメージかな。
ARMでいうと例えば、どのような使われ方?
スマソ、ARM勉強してくる・・・。
10名無しさん@お腹いっぱい。:03/12/25 02:26 ID:51C5uejm
>>9
ARMの特徴はこの辺りを見て貰えば解るかと。

ttp://www.atmarkit.co.jp/fpc/rensai/zunouhoudan015/whats_arm_02.html

基本のARM命令セットでは、全命令に条件コード部が付けられ(条件が成立している
場合だけ命令を実行する)
11名無しさん@お腹いっぱい。:03/12/25 14:23 ID:CYT3jpqd
>>10
読んでみた。でも、まだ理解できてないから、勉強してくる。
条件コード部というのは、その文章で
>代表的なサブ命令セットは、「T」付きで呼ばれるThumb命令である。
のところでしょ?
命令デコーダ、制御回路は高速だしスキューがシビアだから、布線論理のワイヤードロジックで組もうという頭があったのだけれど、
条件JMPに使うフラグ、ステータスの問題がでてきた。
文章を読むと、条件コードをつけることで、いろいろなペリフェラル構成にフレキシブルに対応できるようだし、
フラグレジスタ、ステータスレジスタ、を作らなくて良い(のかな?)という利点もあるかもしれない。
そのかわり、命令デコーダ、制御回路がやや複雑になり、布線論理でもプログラムで組まなきゃならなくなるかもしれない。(スキューとかどうか)
この辺どうだろ?
とりあえず、またARM勉強してきます。
12名無しさん@お腹いっぱい。:03/12/25 14:32 ID:51C5uejm
>>11
高速性に関してはARMの弱みでもあったから仕方が無いと言う消極的な見方も
出来るんで、高速性を取るか、命令単体の機能を取るかのどちらかを選択する
ことになると思うんだわさ。
機能を比較的高めに設定することで、全体的に命令を絞り込んで少なくする
と言う考えはどうかなと思うのだが。

命令を単純にして更に絞り込めと言う話もあるんだけどね。(w
これに関しては、偶にしか使わないブロックが勿体ないから常に使うように
したいなと言う私の趣味ですが。
13名無しさん@お腹いっぱい。:03/12/25 15:30 ID:CYT3jpqd
>>12
自分は標準的なRISC派です。(命令セットはできるだけ少なく)
とりあえず、最初は両方路線でいいのではないでしょか。
話が進んでいった方を作るという方向で。
せっかく、いろんな人が参加できるプロジェクト(whh,,,)なので
いろんな人の意見も聞いてみたいし、開発期限も無制限だし。
とりあえず、
・ARMで作りたい!へのレス
・RISCで作りたい!へのレス
を頭につけて、進めるのはどうでしょう。
14名無しさん@お腹いっぱい。:03/12/25 15:34 ID:51C5uejm
ふむ、ではこの辺りは自由な発想で進めるのが良いでしょう。(w
最初は、あれだねどんな命令が必要かって辺りからスタートかな。
15名無しさん@お腹いっぱい。:03/12/25 15:38 ID:CYT3jpqd
>>12
話を戻してっと、>>12さんの考えているARMでは条件ジャンプの場合、
命令コードの条件コード部によって、判断がゆだねられて、フラグが全く要らず、
アセンブラで人間により完全にフレキシブルにできるということになりますか?、
あるいは、フラグは弱冠噛んでくるのでしょか?、また、そうだとして、フラグの数はいかほどでしょ?
16名無しさん@お腹いっぱい。:03/12/25 15:41 ID:CYT3jpqd
>>14
はい。
ARMでは、どんな命令セットを考えてますか?
レスが遅くなっても構わないので、並べてみてください。
また、ARM勉強してきます。
17名無しさん@お腹いっぱい。:03/12/25 15:53 ID:51C5uejm
>>16
実際はなんも考えてません。(w
もう一つ言うと、ARMに関しては全ての命令に条件があると言う
アーキテクチャが面白いなーと思ってただけで特に詳しいわけでは
ありませんですスマヌ。
18名無しさん@お腹いっぱい。:03/12/25 16:20 ID:CYT3jpqd
>>17
どうもです。
自分もARMの命令セット考えてみようと思います。
命令デコードで一番複雑かつメインの条件JMPにフラグを使わなくてよいとなると、アーキテクチャもかなりやりやすくなる利点がARMにあると思います。
あと、まだ話題に出してないですが、割り込みのレベルと、どうロジック組むか、更に、システムマネージメント割り込み以外(マスク割り込み、ノンマスク割り込み)は
割り込みコントローラに任せるか(割り込み命令を受け取って振り分けてコントロール信号に載せて、処理を割り込みコントローラ任せるか。
更にペリフェラルデバイスからの割り込みも割り込みコントローラ経由でCPUに入れるか、それともCPUにそれぞれの割り込みpin作るか)も徐々に考えてゆきましょ。
割り込みに関しては、いきなりやらなくとも良いと思いますが、あまり遅れると高速ロジックのスキューがきつくなると思います。

19素朴な疑問:03/12/25 23:32 ID:87ANrBxT
オリジナルのCPUを作るのは非常に面白いと思うけど、
どうやって実装するの?
そのへんに売ってるFPGAだと、せいぜい10kゲートくらい
だろうから大した回路は入らないしピン数の制約もきついと
思うんだけど。それとも、論理合成したらそれでおしまい?

個人的には適当な理由つけて、VDECで作ってくれる神きぼんw
20名無しさん@お腹いっぱい。:03/12/25 23:34 ID:51C5uejm
>>19
DWMのおまけに実装するのが第一目標です。
ただしツール関係は全然考えてないな。
21名無しさん@お腹いっぱい。:03/12/26 00:32 ID:9U7IG84v
>>19
レイアウトして、ガーバ、GDSUにすれば後は、マスク焼けるよ。
描画装置に入れるマスクデータは主にMEBESだけど、すぐに変換できて、MEBES用のレイアウト画面がでる。(色フィルムを重ねたような。n層p層をそれぞれ表す)
MEBES以外の形式の描画装置でもすぐ変換できる。
マスクができれば、後はステッパにかけて、ダイボンダされたシリコンウェハにレジスト、露光、エッチングを何回も繰り返して焼きこむ。
その後の、ワイヤボンダ、マウンタが残っているけど、これらは一連の工場内の流れでできる。
マスク製造装置なら、大日本印刷とか、ガラスで有名なHOYAなんかでも焼いてくれる。
22名無しさん@お腹いっぱい。:03/12/26 00:46 ID:wTzjnqQ7
CQ誌のStratixボードなら30万ゲートくらいあるね
2318:03/12/26 00:55 ID:B7D6zUoX
>>20
DWMは買ってないし、FPGAの事も詳しくないからよく知らないけど、
前に付録で付いてたのってEP1C3ってやつでしょ。データシート
見たら2910LEって書いてあったけど、1LE=1NANDだとするとARM7は
とてもじゃないけど入らないよ。

バス幅削ったりしてサブセットにすれば何とかなるかもしれないけど。
それとも、単純なRISCなら32bitでも入るか?

>>21
で、テストランで1ロッドいくらかかるの?
プロセスはお好みのでいいからさ。

>>22
それくらいが現実的だろうなあ。
24名無しさん@お腹いっぱい。:03/12/26 01:00 ID:hd73r4AI
>>23
1LE=17ゲートと言われてるよ。
DWMの付録は、約3000LEなので昔風に言うと51000ゲートってことになります。

で、ARMの実装と言ってもアーキテクチャを頂くだけで極小で良いと思うから
高価なFPGAを使って実装するよりは小さいところから試して積み上げればいい。
とりあえずハードルを高く設定すると頓挫の可能性が高いからね。
25名無しさん@お腹いっぱい。:03/12/26 01:01 ID:hd73r4AI
ついでに書くと、ユニバーサル基板にQFPのFPGAを実装して手作りした場合でも
一万を切るくらいにしたいとは思ってる。
でないと気軽に試す気にはなれないし。
26名無しさん@お腹いっぱい。:03/12/26 01:45 ID:1t+64GBp
脳内妄想だが、mips2 くらいだったら、
1S10あたりに実装できるんじゃないかなー?
27名無しさん@お腹いっぱい。:03/12/26 07:41 ID:wTzjnqQ7
8080互換あたりからでもはじめてみては?
昔の8ビットパソコンのCPU引っこ抜いてFPGAで動いている
というのも面白いと思うが。
・・・・とら技で6502ではやっていたけどね・・・・
28名無しさん@お腹いっぱい。:03/12/26 07:43 ID:wTzjnqQ7
あっ、「パソコン」時代になったらZ80が主流だね。
2918:03/12/26 09:56 ID:B7D6zUoX
>>24-25
なるほど、それくらいだったら出来そうだね。
それに回路が単純な方が周波数を上げやすいから、
見かけ上のスペックも上昇するだろうなw

すると、あとはピン数の問題かな。
DWMの付録の基板って有効なピンは何本?
32bitにすると、アドレスとデータのバスだけで60本くらいは
使わないといけないだろうから、デバッグ用の信号を余計に
引き出したりするのは難しいんじゃない?
あと高周波で動かしたとき、電源回りとかは大丈夫なの?

ツールは合成とレイアウトができて、あとシミュレーションで内部の
波形が見れれば、とりあえずは何とかなるかと。
30名無しさん@お腹いっぱい。:03/12/26 13:57 ID:9U7IG84v
>高周波で動かしたとき、電源回りとかは大丈夫なの?
電源ライン、クロックライン、バスラインともPC/ATの資料ひっぱって来れば大丈夫。
コントロールラインは、激しくH/Lする訳じゃないから、遅延、反射、クロストークなどは余り考えなくとも良いと思うけど、あえて言うならスキューの違いによるセットアップ時間の方が問題じゃないかな。
まあ、この辺は実装する段階で、ある程度どうにでもなるよ。
ただ、pinアサインは気をつけないとだめだろう。clockpinの両側はもちろんGNDではさんだ方が良いし。
それ以外の場所でも頻繁にGNDpin、V+pin設けて、バスラインのZを一定に保つ効果と、ノイズによる電源ラインの電位上昇を分散させるべき。
この辺のpinアサインはPENTIUMでも参考にしてみれば良いんじゃないかな。
31名無しさん@お腹いっぱい。:03/12/26 20:55 ID:hd73r4AI
>>29
とりあえず、命令フィールドを、8or16、データフィールドを同じく、8or16として
16or32固定で行くとすれば、バスをアドレス16、データ16辺りと考えて、使える
ピンが、60ピン程度でも問題ないと思います。
ま、アドレス、データをマルチプレクスにすれば32ピン+αでも問題ないですね。

>>30
FPGAを使うことを大前提にしてるのでピン配置は望むべくもないですがその辺りは
評価基板でも比較的問題は無いと思われます。ま、極限性能は出ないけど評価する
分には問題ないでしょう。
基板に関しては比較的経験があるのである程度なら経験則で応答できますです。
32名無しさん@お腹いっぱい。:03/12/31 09:02 ID:JwIYdoNM
>>31
DWMの1月号ではをあの基板にPDP11互換CPUのせてUNIXを動作させてるから、
あの基板のFPGA自体はかなりのことができる潜在力はあるな。
33名無しちん:04/01/01 02:29 ID:TLeDKD5h
cpuアーキテクチャと論理合成の間にどんな関係があるのかねぇ
それにARMの条件実行命令があるからといってステータスレジスタ
がいらなくなるわけではないぞ。(ステータスレジスタがないのは
mipsアーキテクチャ)
34名無しさん@お腹いっぱい。:04/01/01 22:01 ID:kwOfBrxk
あの時期のRISCはステータスレジスタみたいの無いよね。SPARCも。
単純なステータスレジスタを作ると出力依存(WAWハザード)ができちゃう
からね。

ただ、そのOoOになると出力依存は消せるし、たかがステータスにレジスタ
消費する方が問題だよな。そういうわけでPowerPC(これしかしらん)では
復活してるけど。

ARMは速度性能のことはあまり考えていないと思う。(偏見か)
35名無しさん@お腹いっぱい。:04/01/03 01:27 ID:T/eZsZNm
>>33
ステータスレジスタの存在って話題に上った?
36名無しさん@お腹いっぱい。:04/01/04 02:45 ID:IpMXLIiC
>11 あたりか。
ARMも32ビット固定長で潔いとおもっていたら、Thumbモードの追加に、
16/32ビット混載モードのサポートと節操がなくなってしまったね。

37名無しさん@お腹いっぱい。:04/01/04 03:57 ID:mkzAF1/L
>>36
ゴルァアーキテクチャで採用するのは、この手のコテコテな継ぎ足しではなく
簡素で解りやすいアーキテクチャで良いと思うよ。
38名無しさん@お腹いっぱい。:04/01/04 11:55 ID:S2x/fFiN
シンプルさならmipsじゃね?
39名無しさん@お腹いっぱい。:04/01/04 15:39 ID:A9Pzgi7r
MIPSも MIPS-II, -III, -IV, ... とだんだん複雑になっている。
実は MIPS16という Thumbと同様のものも発表されていたりもする。
40 ◆mKitty.T22 :04/01/04 18:16 ID:OP3p/mVZ
いろんなラベルの香具師が居て楽しいね。
漏れも問題提起するよ。
命令セットをどうするのか?
完全オリジナルか? GCCをポーティングする手間が最低限必要になるぞ。
既存のコンピューターの命令セットを丸ごとぱくれば、手間は大分減る。
タイミングも合わせればバイナリ互換もねらえる。
既存もコンピューターの命令セットを改造したりすると、オリジナルの場合と
大差ない手間になる。
コンピュータの命令セットについては、これまで何回か新規作成がなされたが、結局趣味の問題になっちまうってことが経験則としてわかったわけで、
蓄積されたソフト資産を捨ててまで乗り換えるような命令セットは最早
出てこないだろう。
32bitのマイクロプロセッサが結局86系しか残らなかった事実。
41名無しさん@お腹いっぱい。:04/01/04 18:50 ID:mkzAF1/L
>>40
端から趣味のCPU設計って話だからごちゃごちゃした末節の話は
後からでも十分。
てかつまらん揚げ足取りで無いなら頭を使うことを楽しんでくれ。
それだけでも十分意義がある。
42名無しさん@お腹いっぱい。:04/01/04 19:11 ID:C+XwJegP
>GCCをポーティングする手間が最低限必要になるぞ。

必要最低限の命令セットで、デコードはCPUの中でも高速だし、スキューを考えてストアドロジックでなく、ワイヤードロジックで組むという話はどうなっちゃったの?
43名無しさん@お腹いっぱい。:04/01/04 19:24 ID:mkzAF1/L
つーかスレも読まずに適当にレスしてるように見受けられる
44名無しさん@お腹いっぱい。:04/01/04 19:28 ID:j0iLib1Y
>>40にうってつけのテーマがあるぞ。
「命令セットレスコンピュータ」
命令セットという概念そのものを持たないコンピュータだ。
さぁ、ガンガレ!
45名無しさん@お腹いっぱい。:04/01/04 20:01 ID:ORiQ6SDv
GCCのポーティングなんてたいしたことないだろ。
CPU作成+GCCポーティングなんて学部実験+αの時代だよ。
46名無しさん@お腹いっぱい。:04/01/04 20:18 ID:j0iLib1Y
学生みたいに時間が有り余るほどあればいいんだけどな・・シミジミ
47名無しさん@お腹いっぱい。:04/01/04 20:31 ID:mkzAF1/L
ふと思い出したので貼っておきます。
このスレには一番参考になるhpだと思うよ。

ttp://syassy.hp.infoseek.co.jp/index.html
48 ◆mKitty.T22 :04/01/04 21:54 ID:7MAtgzbp
>41
コンピュータ作ることが目的であって、完成したらそのコンピュータに用は無いって?
ま、好き好きだからね。
49名無しさん@お腹いっぱい。:04/01/04 21:59 ID:C+XwJegP
>完成したらそのコンピュータに用は無いって?
そんなことはないだろう。
どんな小さな命令セットであっても、プログラムに負荷が掛かるだろうが用が立たないってことはない。
確かにOSを載せたりするにはx86等と命令セットをそろえなければいけないけれど。
50名無しさん@お腹いっぱい。:04/01/04 22:19 ID:mkzAF1/L
>>48
>>47の実例を見たら解るでしょ
51名無しさん@お腹いっぱい。:04/01/05 12:42 ID:os/N3l4o
ところで、MMUも必要だよね?
52名無しさん@お腹いっぱい。:04/01/05 14:46 ID:JMQYg/R8
MMUは上位アドレスすなはちセグメント切り替えレジスタがあればよいでしょう。
それを基にオフセットアドレスをくっ付けて、プログラムコントローラに放り込む。
制御回路部の一環としてロジック組めば良いと思う。
53名無しさん@お腹いっぱい。:04/01/05 15:05 ID:pLW5UNJF
極小なシステムには必要あるまい。>MMU
作るとしても、余り複雑でない物がいいね。
54名無しさん@お腹いっぱい。:04/01/05 15:18 ID:JMQYg/R8
訂正
プログラムコントローラ→プログラムカウンタ
55名無しさん@お腹いっぱい。:04/01/05 16:40 ID:os/N3l4o
なんだか、8086みたいだなぁ。
56名無しさん@お腹いっぱい。:04/01/05 17:40 ID:pLW5UNJF
てか、リニアでない空間は正直使いにくいからやめたいな。
57名無しさん@お腹いっぱい。:04/01/05 18:06 ID:JMQYg/R8
リニアでないとは?
58名無しさん@お腹いっぱい。:04/01/05 20:42 ID:UQNnsFwv
パイプラインは何段? キャッシュは無いのか?
あんまり単純な構造だとDLXになっちゃうぞ。
59名無しさん@お腹いっぱい。:04/01/05 21:11 ID:JMQYg/R8
第一号はパイプラインの並行処理じゃなくて、順次処理でいいじゃん。
↓にとても良く書かれているけれど、ここでの垂直型。
http://white.csys.ce.hiroshima-cu.ac.jp/~kitamura/public/note_12.pdf
制御回路の順序制御同期信号もシフトレジスタで済むし。
60名無しさん@お腹いっぱい。:04/01/05 21:25 ID:pLW5UNJF
初手はパイプライン無しでもOKでないの?

そろそろ命令セットを考えるところに来たか。
61名無しさん@お腹いっぱい。:04/01/05 21:31 ID:JMQYg/R8
キャッシュに関しては、キャッシュというより、そう呼ばれる前のデコーダで良いんじゃないかな。
CPU側で、オペコードとオペランドをフェッチサイクルでしっかりラッチして、割り込み等に対応して保留しておく為にCPU側で、ペリフェラルを反映したメモリ空間が要る事だし。
62名無しさん@お腹いっぱい。:04/01/05 21:33 ID:JMQYg/R8
>>60
前スレにも第一番目に命令セット。最小単位で。って書いてあるし、そろそろ命令セットの一覧各自で出してみるときじゃん。
63 ◆mKitty.T22 :04/01/05 21:54 ID:KJ/a1VNJ
>>60
無理無理。
イロイロなラベルの奴が混ざっているから、話が収束する気配はない。
仮想コンピューターを実現できるようなCPUを考えている奴と
組み込みなんかで使える程度の8080時代のマイコンみたいなCPUを考えている奴

仮想コンピューターというと、その昔アスキーに長々と仮想マシンについて解説してた奴がいた。
日本語ではどっちも仮想だが、英語だとバーチャルとスドーとで別物。
バーチャルマシンはバーチャルメモリよりも上位の概念だ。

で、命令セットの最小な物は、サブジェクトジャンプ命令である。
これ一個あればよい。

命令一個だと命令デコーダーが要らないというものすごいメリットがある。
64名無しさん@お腹いっぱい。:04/01/05 22:02 ID:pLW5UNJF
上げんなよ、ウザコテハンはこれだから。
65名無しさん@お腹いっぱい。:04/01/05 22:06 ID:JMQYg/R8
>>63
話が進展しないし、具体的な方向に進むためにも、命令セットの稟議案というか、その手前のたたき台を皆それぞれだして、長所短所を洗ってみるのが進める道じゃないか?
66名無しさん@お腹いっぱい。:04/01/05 22:07 ID:pLW5UNJF
つーか、揚げ足取りに来るだけなら現れんなっての。
6759=61=66:04/01/05 22:16 ID:JMQYg/R8
おれは、x86系の命令セットで行きたいな。
理由は、DOS、LINUXが載せられる物を作りたいから。
68名無しさん@お腹いっぱい。:04/01/05 22:20 ID:pLW5UNJF
>>67
悪くはないけど、極小、最低限の命令数に反しますよ。
てか、小さいFPGA等で実現を考えると命令のチョイスが大変ではないかな。

漏れは、命令なんて32個もあれば多いくらいだと思うが。(w
6959=61=62=65=67:04/01/05 22:24 ID:JMQYg/R8
名前: 59=61=62=65
E-mail: sage
内容:
スマソ>>66。俺じゃなかた。今の名前で正。
>極小、最低限の命令数に反しますよ。
全くそうですねェ。(頭ポンポンの図)
ただ、命令セットに関しては最低限でなくとも、遅くても良いから、パイプライン、キャッシュをデコーダに、で分かりやすいアーキにしたいなと。
>小さいFPGA等で実現を考えると命令のチョイスが大変ではないかな。
そうかぁ。x86のセットだときついかな。
7069:04/01/05 22:26 ID:JMQYg/R8
訂正
パイプライン→パイプラインは用いず
キャッシュ→デコーダで・・・。
71名無しさん@お腹いっぱい。:04/01/05 22:33 ID:pLW5UNJF
>>69
>>47のURLと、DWM10月号のCPUを見て内蔵RAMと外部クロックで頑張れるなら
とことんケチるのは有りなんじゃないかとそっち方面に傾倒してるわけです。(w

H8からよさげな命令だけを抜き出してアセンブラも使い回すってのを数年前に
やりましたが、その時はたしか32程度の命令と、パイプライン無しだったと思います。
72名無しさん@お腹いっぱい。:04/01/05 22:38 ID:JMQYg/R8
>>71
なるほど。x86だと全命令何個くらいでしたっけ。
8086、386辺りとPentiumになってからではどれくらい違うのだろう。
73名無しさん@お腹いっぱい。:04/01/05 23:18 ID:5E8M2Pfz
>>72
8086と386は別物だけど、386とpentiumはほとんど同じだ。


74名無しさん@お腹いっぱい。:04/01/05 23:25 ID:pLW5UNJF
ゴラァアーキテクチャは、RISCで行きたいから命令長固定って事になると思うけど
そうなるとチョイスが面倒かも知れないな。
75名無しさん@お腹いっぱい。:04/01/05 23:26 ID:pLW5UNJF
と、>>4を見たら、ゴルァ命令セットとなってるわ。(w
76名無しさん@お腹いっぱい。:04/01/05 23:31 ID:JMQYg/R8
http://www7.plala.or.jp/keny01/masm/02-06.html
ココによると、8086命令全部で66個あります。
擬似命令も全部入ってるか分からないですけど。
FPGAじゃキッツイですか?
77名無しさん@お腹いっぱい。:04/01/05 23:36 ID:pLW5UNJF
>>76
あまりデカいと命令デコーダーがデカくなるからね。
命令のビットフィールドが変になってたり、何バイトにも渡るコードは
速度低下を招くからやだな。(w
78名無しさん@お腹いっぱい。:04/01/05 23:41 ID:JMQYg/R8
確かにx86のレジスタ構造ややこしいと思います。
自分のx86がイイ!ゴネゴネは却下してください。(w
他の人で居るかは分かりませんが。
79名無しさん@お腹いっぱい。:04/01/06 01:36 ID:c7voq+yX
命令長固定ってのはやっぱ楽だよね。
Linuxが走るとなるとSHかARMかMIPSかM32あたり?
でもMMUが必須になるね。
uClinuxならMMUいらないけど、ARMとH8くらいしかポートされてなかった気がする。
資料の豊富さだとどうなんだろ?
80名無しさん@お腹いっぱい。:04/01/06 01:52 ID:16DwGo/a
>>79
sageてくれると嬉しい。(w

OSの移植を考えるとMMUが必要と言うのは解るんだけど、
MMUってどんな仕様のが良いですか?

I/OにするかMMUのコントロールを直接命令に組み込みか
で設計が変わるからね。
あと、スタック操作は面倒だからレジスタをバンクにしたいな。(w  <これは漏れの趣味だが
81名無しさん@お腹いっぱい。:04/01/06 03:19 ID:vwiB8Imn
>>79
MMU付きのM32Rって表に出てたっけ?

uClinuxはほかにm68k/v850/NIOS/blackfin版がある。
ただ、資料は皆無ですな。開発者に質問するかソース嫁って事になるでせう。

>>80
I/Oの方が仕様変更の自由度が高いような気がしますな。
82 ◆mKitty.T22 :04/01/06 03:34 ID:aYm4OfYY
MMUの仕様つうのは、可変長セグメントをオンデマンドでページングできれば良い。
しかし、自作となるとスゲー大変だぜぃ。

漏れをアオリだ揚げ足鳥だというが、そうでもなんだぞ。
63でも命令一コからなる命令セットつうのを提案した積もりなのだが。
提案といっても出所は潰れたbitって雑誌からだけどさ。
引き算した結果の+0−で3分岐する命令だよ。
83名無しさん@お腹いっぱい。:04/01/06 03:38 ID:bZ+nC7QH
せっかく独自の命令セットなんだから既存のRISCの真似しなくてもよいのに。

命令も固定長じゃなくて任意ビット長にするのはどうだろう(9ビット命令とか22ビット命令とか。)
命令の切れ目はデコードしてみないとわからないがコード長は最小になるという変なアーキテクチャ。
84名無しさん@お腹いっぱい。:04/01/06 03:50 ID:16DwGo/a
>>82
sage一つも出来ない奴を信用できない

>>83
しかしよく考えると現状あるRISCが理にかなっている事が解る。
変に独自性を追求しても実装する段になって実際に邪魔になる
事は実際作ってみると思い知らされますよ。
85名無しさん@お腹いっぱい。:04/01/06 09:27 ID:TrqS5HIa
>>83
ジャンプ先はバイト境界でつか?ビット単位なら、オフセット部が長くなりそうだな。
どちらにしろ、アセンブラでジャンプ先のオフセットを計算するのが大変そうだな。
果たして何パスでコード生成が終了するかのぅ。

86名無しさん@お腹いっぱい。:04/01/06 11:48 ID:EfCwhoNB
>>82
なんでわざわざ可変長にするよ?

>>85
やっぱり収束するまでひたすら繰り返しですかね。
今のCPUパワーなら非常識に遅くなる事もないでせう。
87名無しさん@お腹いっぱい。:04/01/06 12:38 ID:OlPbCrrs
>やっぱり収束するまでひたすら繰り返しですかね。

ヴぁ〜、なかなか進まんなぁ。
まず、I/OにするかMMUのコントロールを直接命令に組み込みか、
で、MMU用の命令があるとすればかなり変わったCPUだけど命令セットが多くなる。
>>82の言う様に、通常の
>MMUの仕様つうのは、可変長セグメントをオンデマンドでページングできれば良い。
でよいと自分は思う。
I/Oというのはコプロセッサみたいにして使うという意味かな。(ちょっとコプロとは意味合いが違うし、MMUのI/O化だと、ペリフェラルのクッションレジスタて感じだけど)。
これも変わった案だけど、CPUの内部MMUメモリ空間が他のロジックできつくなってきたら、外部に出せばよいと自分は思う。

他の案としては、
>>8のARMを使った
>全ての命令に同じ実行ステータスがあれば条件ロードが
分岐命令の変わりに使えるね。
という、ステータスレジスタ、フラグをシンプルにして、条件分岐をプログラマがフレキシブルにできるようにしよう、という案。

>>63
>命令セットの最小な物は、サブジェクトジャンプ命令である。
これ一個あればよい。
という案。

>>71
>>47のURLと、DWM10月号のCPUを見て内蔵RAMと外部クロックで頑張れるなら
とことんケチるのは有りなんじゃないかとそっち方面に傾倒してるわけです。

という案。DWM10月号見てないから、自分分からなかった。

こんなところかな。どれが話が進んでゆくのだろう。
88名無しさん@お腹いっぱい。:04/01/06 12:55 ID:OlPbCrrs
あと>>80
>スタック操作は面倒だからレジスタをバンクにしたいな。
通常、MMUでもデコーダでもバンクでだからダイジョブじゃないかな。
ただ、多重割り込みとか掛かったときにLIFOで戻り番地を出せるようにスタックは要ると思うけれど。
言ってる意味が違うかな。
89 ◆ro/FPGA/X2 :04/01/06 14:21 ID:tktGZOSx
>>84
CPU作る側の実装効率云々つうのもあるだろうけど、プログラム実行する際の安全性の問題もある。
命令コードの可変長ってのは、汎用機の時代に否定されたような気もする。
つうか、キャラクタマシンってまさに可変長だろ?
従来の可変長ってのは、ハードウエアを少なくすることが目的だったわけで
別の存在理由があっての可変長なら試す意義はあるんだろね。

コード最小化ってアプローチは実際問題ワンチップがやってるわけで、現存の
命令セットが各社の主張だよ。

コード実行の安全性についてはPICが一番だ。データ領域をコードと解釈して実行することが出来ない構造になっている。しかも命令を取り違えることもないので、暴走しても、プログラムの中のどこかを実行していくので、ハングアップする可能性も低い。
90 ◆ro/FPGA/X2 :04/01/06 14:31 ID:tktGZOSx
あとは、用途だな。
UNIX系のOSが動いて「わぁ〜ぃ!」で終わりか?
クリプト計算とか、円周率計算とか?
まさかの漏貧?

一番カッコいいのは、2chのサーバーに採用されることだな。
91名無しさん@お腹いっぱい。:04/01/06 14:54 ID:OlPbCrrs
LINUXが載っちゃえば、いろいろアプリが載せられるじゃん。
>>79にもあるように、
LINUX載せるならSHかARMかMIPSかM32あたりから命令セット引っ張ってきてアーキ組めばいいんじゃないかな。
92名無しさん@お腹いっぱい。:04/01/06 15:04 ID:16DwGo/a
>>90
下げて欲しいだけどな。

使い方等は、>>47辺りが良い線行ってるね。
漏れ的には、自由に使えて開発環境もへぼいながらあって遊べるなら
只のCPUには非常に魅力を感じる。
93 ◆ro/FPGA/X2 :04/01/06 15:52 ID:tktGZOSx
コンピュータを目的とするなら、外部インターフェースは

            ┏━━━━━━━┓
            ┃           ┃
 シリアルポート.   ┃            ┃========== シリアルATA
 (コンソール用)  ┃           ┃
            ┃          ┃
            ┃          ┃≡≡≡≡≡≡SD-RAM
  ┌┐______________ ┃           ┃
  └┘---------.┃           ┃
  LAN          ┗━━━━━━━┛
               FPGA

な感じか?
SD-RAMのピン数が支配的だな。BGAのパーツを使うしかないか?
208ピンで収まるか?
94名無しさん@お腹いっぱい。:04/01/06 15:57 ID:16DwGo/a
DWM10月のオマケからスタートで十分
95名無しさん@お腹いっぱい。:04/01/06 16:29 ID:OlPbCrrs
BGAでgoogったら、こんなの出てきた。
http://www.shindo-jp.com/tbga.html
テープで、BGAタイプのパターン貼っつける椰子。
評価用(基準)ボード作れるかな。
ATA使うの?それこそ、バスブリッジ要るし、x86になっちゃうんじゃ・・・。
そんな図見せられると、pinアサイン、バスタイミングも決めたくなるけど、命令セット決めて、何ビット命令か決めないことには始まらない。
96名無しさん@お腹いっぱい。:04/01/06 16:39 ID:16DwGo/a
>>95
TBGAってパッケージがテープ状ってだけで実装手順は変わらんから
普通のBGAと大差なしなんだがこれで何をしようと?

どっちにしろ一般人が試作等で遊ぶこと考えたらQFPパッケージの
FPGAでしかも市販の評価ボードがあることが前提になるね。
97 ◆ro/FPGA/X2 :04/01/06 17:42 ID:l/AA2XMA
>>94
その場合は、組み込み用のマイコンがせいぜいという事になるわけだよ。
用途、スペックを考えて、中身を考えないといけない。

>>95
やったことはないが、スルーホールタイプのユニバーサル基板で
ワイヤーを繋ぐことになるだろうね。PCB起こすとなると4層以上でなければ
どうにもならないから、おいそれとは作れない。

OSを動かすとなるとOSそのもののチューニングとかを他のマシンで行わざるを得ないから、
現在ATA使うしか実際問題方法がないよ。なによりATA以外のHDDなんてSCSIでもバカ高いし、それ以外なんて電気街では買えないぞ。

ま、全体像をある程度具体化しておかないと命令セット決めるたって収束しないだろう。
98名無しさん@お腹いっぱい。:04/01/06 17:44 ID:16DwGo/a
>>97
>> その場合は、組み込み用のマイコンがせいぜいという事になるわけだよ。

十分だね。実現できない、出来ても金がかかりすぎる事が解ってる
遊びは絶対頓挫する。
99名無しさん@お腹いっぱい。:04/01/06 17:49 ID:16DwGo/a
つーかさ、得意になってageるのはなんか意味あるのか?
厨を呼び込みやすい環境を作らないで欲しいよ。
100名無しさん@お腹いっぱい。:04/01/06 18:13 ID:OlPbCrrs
>出来ても金がかかりすぎる事が解ってる
ガーバを基にマスク作ってもらってウェハに露光して、ワイヤボンド、マウントすると費用が掛かるからFPGAで実現できるものにしようってことじゃなかったっけ?
ぐるぐる回ってるけど、
そのために、LINUX等のOS載せるならSHかARMかMIPSかM32あたりから命令セット引っ張ってきてアーキテクチャは組もうという話もでたんでしょ。
101名無しさん@お腹いっぱい。:04/01/06 18:26 ID:16DwGo/a
>>100
てか、FPGAでとか極小でって話は変わってないよ。
現実的な話をするとこれはどうしようもない部分ではあるよね。
特に趣味人には大きな出費や特別な実装は大きな負担になるのだから
考慮は必要でしょう。
102 ◆ro/FPGA/X2 :04/01/06 22:32 ID:udjWbtvz
ということで、
(1)とにかく、一本化!
(2)OS稼動を目指すタスクと打倒H8マイコンボードのタスクの並立
(3)その他

この辺りで方向性をとりあえず纏め様としてみるかい?
103名無しさん@お腹いっぱい。:04/01/06 22:36 ID:16DwGo/a
>>102
sageで厨防止に協力してくれ
104名無しさん@お腹いっぱい。:04/01/06 22:48 ID:I/6azams
>>102
age荒しで通報してきますた。
105 ◆ro/FPGA/X2 :04/01/06 22:56 ID:udjWbtvz
あのな、上げアラシっていうのは、誰もカキコしないで下に落ちたスレに
空カキコして、延命を図る類の事をいうのだろうが。

2chでは、何もせずにカキコすれば上げになるという事実を考えてもらいたい。
活発なスレは常に上位にあることになり、新規参加者を誘う効果も高いだろ。
面白い話をするのに、仲間を増やせば、より面白くなるだろう?
そう思わないって奴が2chに少なくないのが漏れには理解できない。
閉鎖的にやるのなら、自分でWEB開くなり、MLでやるなりしたらいいさ。
106名無しさん@お腹いっぱい。:04/01/06 22:58 ID:16DwGo/a
>>105
別に荒らしとは言っていないぞ。
頻繁に書き込みがあるスレッドはsageでも切られない。
漏れは単に厨防止のためageはやめて欲しいと言っただけだが?
それともスネに傷でもあるか?
107名無しさん@お腹いっぱい。:04/01/06 22:59 ID:16DwGo/a
てか煽りコテですか貴方は?
108名無しさん@お腹いっぱい。:04/01/06 23:03 ID:OlPbCrrs
おいおい、痴話げんかはやめとけよ。(www
>>104
なんだよソレ。(w
>>102
メール欄に「下げ」っ・・・て、ガn・・・(ry&w
(1)(2)(3)に関しては、エイエイオー!
109108:04/01/06 23:05 ID:OlPbCrrs
スマン!アゲチャッタ。わざとじゃないです、ゴメソ。
110名無しさん@お腹いっぱい。:04/01/13 06:16 ID:/bGxHvyN
さて・・・静かになったところで。(w

昨日休みを利用して色々と資料漁りをしてみた。
で、利用できそうで且つ公開されてる命令セットを見てみたのだけど
候補は、MIPS、SPARCって所でしょうか。
とりあえずはライセンス問題があるので命令の一部流用って事で
アーキテクチャ名は付けないって事ならOKかもね。
111 ◆ro/FPGA/X2 :04/01/13 10:16 ID:Uh+C16h+
下げ進行に拘る理由は、他人の権利侵害の相談かよ
112名無しさん@お腹いっぱい。:04/01/13 10:22 ID:/bGxHvyN
>>111
そんなつまらんことばかり言ってるから、あぼーん推奨にされるんだよ。
113名無しさん@お腹いっぱい。:04/01/13 10:26 ID:Pyn0fDUP
研究目的なら、知的財産権の侵害にはあたらんのでは?
そうでなければ、特許の有効性の検証すらできなくなる。
114名無しさん@お腹いっぱい。:04/01/13 10:29 ID:/bGxHvyN
いや、そもそもバイナリコードに互換性があるだけでは権利侵害にならん。
115名無しさん@お腹いっぱい。:04/01/13 14:03 ID:j6MaT2vk
ほら〜、折角>>110が使えそうな命令セットの候補
>昨日休みを利用して色々と資料漁りをしてみた。
で、利用できそうで且つ公開されてる命令セットを見てみたのだけど
候補は、MIPS、SPARCって所でしょうか。

を調べてくれたのに、巻花がはじまる〜。
堂々巡りになるから、やめなさい!メッ!(ww
116名無しさん@お腹いっぱい。:04/01/13 14:22 ID:/bGxHvyN
良いんだよ、馬鹿一匹2chブラウザであぼーん設定するだけだから。(w
117 ◆ro/FPGA/X2 :04/01/13 17:44 ID:mACV2Qs2
あのね、命令セットって何を意味しているか不明だけど
ニモニックとオペランドの文法と、動作説明だけをパクっても
バイナリ互換にはならないからね。
118名無しさん@お腹いっぱい。:04/01/13 17:48 ID:/bGxHvyN
あぼーんだ。(w
以降無視。
119名無しさん@お腹いっぱい。:04/01/13 17:52 ID:j6MaT2vk
>>118
いや、命令セットをひっぱって来こようという時点で、俺も次の問題として>>117を考えていた。
互換にするにはレジスタ値、フラグを加味して結果として同様の動作をさせなくちゃいけないし、
バスタイミングがきっちりそろえられるかが難しいところじゃないかと思う。
120名無しさん@お腹いっぱい。:04/01/13 17:57 ID:/bGxHvyN
>>119
単純にOPコードを引っ張ってくるだけで後は独自って事であれば
(しかも命令は一部のみ流用なら)クリーンルームで設計している
のと同じ事になるとおもうが。
当然その過程で出来たものが特許技術である場合は何らかの
回避方を模索する必要はある。
この辺りは調査する必要はあるだろうが実に難しいと思う。
121名無しさん@お腹いっぱい。:04/01/13 18:00 ID:/bGxHvyN
そう言う意味では、パイプラインの深さが変わる可能性がある時点で
バイナリ互換とは言い難いな、確かに。
122名無しさん@お腹いっぱい。:04/01/13 18:06 ID:j6MaT2vk
>引っ張ってくるだけで後は独自って事

最初から互換にしようなどと考えずに命令は一緒で、バスは独自のにすべきかな。
クリーンルームで設計しているって表現があったけど、この方がはるかに自由度が効くし、設計も格段にしやすい。
特許・既得権益等にぶつかるか、の問題は難しい・・・。
販売をしなければ良いって考えじゃまずいのかな、互換じゃなければ・・・。
一部まずいのがあったりするのかな、それとも全般的にまずいのかな、作って公開や配布することが。
123名無しさん@お腹いっぱい。:04/01/13 18:15 ID:/bGxHvyN
>>122
実際OPコードのみ互換で行くか・・・と言うのは悩んでたんだけどね。
開発ツールを少々作る必要があるから余計ね。

OPコード云々は考えるのが面倒と言うのもあったけどね。(w
124名無しさん@お腹いっぱい。:04/01/13 18:21 ID:j6MaT2vk
>>122
設定用レジスタ、フラグはどうすればいいだろ。
これが互換じゃないと命令の組み合わせでの動作が一緒でなくなる。
OS載せたときとか、OPコードがそろってるだけじゃ、トータルとして同じ動作じゃなくなるなぁ。
125124:04/01/13 18:23 ID:j6MaT2vk
訂正。
>>124>>123へのレスです。
126名無しさん@お腹いっぱい。:04/01/13 18:28 ID:/bGxHvyN
>>124
OPコードを一部流用って時点で捨てる部分は多い・・・だから全く同じ動作
と言うのは難しいでしょうね。こればかりはいかんともしがたい。

実際は、>>123に書いた通りOPコードのbit配列を考えるのが単に面倒だった
だけで深く考えた訳じゃない。(w
127名無しさん@お腹いっぱい。:04/01/13 19:30 ID:DunlpVC8
>>122
「既得権益」が全て法律で保護される訳ではない。
コード(回路)をスクラッチから書けば、例え既存の製品と同一の
コードになっても、著作権や半導体回路配置利用権の侵害には
ならない。
だが既存のコードを流用したら、改変していてもダメ。

一方、特許権は、その手法を使った時点でダメ。特許の存在を
知らなくてもダメ。権利者が損をしたら侵害した事になる。
無料配布でもダメ(有料にしとけば、権利者が儲かったから)。
命令セットとかバスの仕様が独自(or改変)かどうかは全く問題では
なく、その設計に使った技術が特許に抵触するかどうかが問題。
これはハードウェアに限った話ではなく、
フリーソフト等でも全く同じ。
いじょ
128 ◆ro/FPGA/X2 :04/01/13 19:44 ID:mACV2Qs2
ソーユー訳で、昔のスーパーミニコン辺りがかなりメデタイわけだね。
パテントは切れてるから問題なし。BSD系のサポートもあるし。
とりあえず実用的に使える可能性のあるものが作れる。

129名無しさん@お腹いっぱい。:04/01/13 19:45 ID:/bGxHvyN
うざ
130名無しさん@お腹いっぱい。:04/01/13 22:35 ID:6CdcATIe
>>123
そうか?
OPコード考えるのは楽しいぞ。4bitマイコンで、BCD16桁加減算を1命令でやる
ようなふざけたOPコードなんてのもみたことあるけど、そういう尖ったのがみたいな。

つか、流用とかを考える時点で、激しくオリジナリティがないのでつまらん。
互換CPU作って何が面白いんだ?
131名無しさん@お腹いっぱい。:04/01/13 22:57 ID:/bGxHvyN
>>130
答えは、仕事で色々と似たようなことしてると色々と面倒になるんだなこれが。(w
ま、色々と意見を出してめいめい遊べばいいと思ってるのでもっと提案して欲しいな。

漏れは、有り物は使って楽をしよう派なので上の通り。強制はせんよ。
132名無しさん@お腹いっぱい。:04/01/13 22:59 ID:/bGxHvyN
オマケだけど、どっちにしろアセンブラ等開発ツールの使い回しは無理っぽいので
OPコードの流用には大きな意味は無いと言うのも事実ですね。
133 ◆ro/FPGA/X2 :04/01/14 00:16 ID:bGbGRXkI
8bitマイコン程度なら、個人の思いつきでもなんとか纏まるでしょう。
実際8ビットマイコンは沢山の製品がありました。
しかし、16ビット化への段階で大半が脱落しました。
32ビット化の段階でRISCが出て、64ビットの勝負はこれから。

ま、設計作業の常だけど、目的を明確にしなければ、迷走のハテに立ち消えとなるわけですね。
134名無しさん@お腹いっぱい。:04/01/14 00:31 ID:CYer15p/
世には色々と参考になるCPUが転がってますしOPENCORESなんて只の
例もたくさんあるんだから参考にしてみるのも手だね。
とりあえずは人様のRTLを見る機会を作って勉強から入らないとね。
135名無しさん@お腹いっぱい。:04/01/15 09:47 ID:DUbfeMMC
とりあえず、個人的には16ビット拡張されただけの6502のFPGA版作ってます。65816とはちまう。

あとはld h,(de)とか欠落部分をインプリメントしたz80を作ってみたいなと。
手持ちの開発ツールの関係上Virtex2上に焼きこんでいます(PPC載ってるのに馬鹿っぽ)
136MyDoom被害者:04/01/30 22:53 ID:zRLd7Vgo
前に中国人の学生がARM7不完全コンパチIPを無償Web公開していたって
聞いたんだが、そのハナシはどう片付いたのだろうか?
噂では、もう公開していないそうなので、その学生、「こいつは有望だ!」って事で
ARM社に入社したのかな?
137774ワット発電中さん:04/01/30 23:03 ID:aoJVrbMi
>>136
OPENCORESに公開していた互換コアのことだと思うけど
クレームがついて引っ込めて以来二度と表に出てません。
138774ワット発電中さん:04/02/28 10:43 ID:JwoEROVH
/* デンキ板ってあったんですね。しらなかった。 */

これからはマルチコア on the chipじゃないでしょうか。
なるたけシンプルなRISCコアをFGPAにどれだけ詰め込めるか、みたいなチップがいいです。
トンガってくるのではないでしょうか。
139(´∀`∩) ◆R4000nX4Mk :04/02/28 10:51 ID:nFTP+HKJ
 電気の速度の限界を並列化でクリアするのは良い考えだと。
140774ワット発電中さん:04/02/28 12:31 ID:BRuHHix3
>>12 >>13
最近のAMDの発表などを見ても、もうすでにPC用CPUでは命令セットと処理速度はあまり関係ない
時代になってきてると思うけどね
命令セット自体がそのままハードウェアロジックに対応する時代じゃないからね

まあ、PC用ほど市場規模が大きくなく、消費電力も価格も限られる組み込み型なら
まだそうなる時代にはなってないが、
将来的には、組み込みCPUも、命令セットはx86互換になっていくとおもうな
組み込み機器もどんどんソフトウェアが大きくなり、OSやTCPIP、GUIをつむ物も多くなるから、
そうなればソフトで優位に立っている、すでに市場で優位を占めている命令セットに集約され、
市場シェアを取れないメーカーは互換命令セットのプロセッサを出すしかなくなるでしょう
141774ワット発電中さん:04/02/28 14:57 ID:qYAk0gch
C/C++合成とFPGAの組み合わせっていう
のが意外と大化けするんじゃないかと思っ
てる。

命令セットに意味がなくなるどころか、
「命令セットを持たないコンピュータ」
になるけどね。
142774ワット発電中さん:04/02/29 15:41 ID:KC/Q1hTg
>>141
組み込み系では、ありそうだけど、いつごろ実現するやら。
1チップマイコン屋はあぼーんか。
143774ワット発電中さん:04/02/29 16:29 ID:ncPbpItz
>>141
それはアイディアとしてちょっと盲点でした。
ただ、そんな用途にもC,C++?
144774ワット発電中さん:04/02/29 17:05 ID:UXs9zLjr
>>141

FPGAだと中身RAMが多いけどという
野暮な突っ込みは止めるとしても。
消費電力とか、結局はゲート数&クロック勝負に
ならない?とか問題があるからなー。

それならばプロが真剣に論理圧縮や消費電力の
削減に取り組んでいる標準回路(つまりCPU)の方が、
いいんじゃないのか?と言う事になり…結局は昔からある、
ソフトか?ハードか?という命題に行き着くのね。

ちょっと昔は、ちょっとした低速ロジックをソフトウェアで
置き換えるという話で、PICやAVRなんかがある訳だけれど。
SXマイコンなんてのは特にそうだけれど。
ここら辺でまたハードウェアに戻るなんてのもありかもねー。
145774ワット発電中さん:04/02/29 17:43 ID:lqf37yBi
FPGAと聞いたら「ハード」と思ってしまうのがいけない
んじゃないかという気になってるんだけどね。
単に山ほど並列演算処理をさせることができるCPU
なのだと思えばいいだけじゃないかな?

あるいは、ストアードプログラム方式じゃなくて
ワイヤードプログラム方式の計算機だと見なせば、
これはENIACの直系の子孫かも?(笑

今のFPGAはこういう用途はあまり考えてないから無駄
も多いけど、コンパイラと一体にしたCPUと考えて
最適化していったら、結構イケるものができるんじゃ
ないかなぁ。
146(´∀`∩) ◆R4000nX4Mk :04/02/29 17:48 ID:s/36dqjU
 コストメリットがあれば意外にいけるかもしれない。
 ただし、マイコンに特有のアナログI/Oをどう扱うか等
クリアしなければならない問題は多いだろうね。

 アイデアとしては非常に興味深いが、実装面をどうするか
に尽きるかと。 ・・・アメリカならこの手のアイデアに投資する
人が居るかもしれない。
147774ワット発電中さん:04/03/03 00:23 ID:+w6BYFne
>>145
GRAPEですでにやってるべ>単に山ほど並列演算処理をさせることができるCPU
148(´∀`∩) ◆R4000nX4Mk :04/03/03 00:28 ID:T/eZsZNm
>>147
 そういや今年のフォーラムで発表があったようだけど結局TFLOPSは
達成したのでしょうかね。
149774ワット発電中さん:04/03/03 00:36 ID:TTiDhTKi
>>147
でもそんなこと言い出すとノイマン型なんて
腐るほどやってる。
150774ワット発電中さん:04/03/10 15:03 ID:BErgBawy
今月のデザインウェーブはCベース設計事例で、
ブロック崩しとワイヤーフレーム3D

FPGAはプロセッサ・・だね。
151774ワット発電中さん:04/03/19 16:30 ID:mBsulQAk
そろそろアメリカ勢がCPUにMMXやSSEのようにベクトル命令を入れてくるころかな?
そうなれば国産ベクトルマシン全滅?
152MyDoom被害者(深刻):04/03/23 23:35 ID:4hl+gKAy
2ちゃんで皆で意見を出し合って無償のアーキを創出できたら
素晴らしいな。チップの開発コードネーム「リアル厨房」とか。
コテハンや荒しの意見にも耳を傾けて、オープンな設計思想を
育むんだヨ。

まずは俺からだ。AE86アーキをベースに、FR駆動方式で
どうでしょうか?後半がちとマイナーなんて言われそうだけど、
俺的には気に入ってます。
153774ワット発電中さん:04/03/23 23:44 ID:UQThnB9q
やっぱり、マーチのスーパーターボがすごかったと思う。
154774ワット発電中さん:04/03/24 04:14 ID:c7jQOPNR
IPFlexと富士通、動的再構成が可能なプロセッサー『DAP/DNA-2』を製品化
http://ascii24.com/news/i/tech/article/2004/03/17/648759-000.html
155MyDoom被害者(深刻):04/03/24 22:26 ID:XKvu+r+w
2ちゃんねる専用ブラウザに特化した2ちゃんねる専用プロセッサーを
皆のオープンな自由な意見集めて開発しよう。
156774ワット発電中さん:04/03/24 22:40 ID:3nXj19qH
何も知らない素人の発想だが直列の演算子の並列化及び超並列化ではどうか。既存の延長上の並列の演算子の拡大ではタイミングを合わせる上で限界があるように感じる。もうあるのならすまん。
157774ワット発電中さん:04/04/03 12:21 ID:w3WPt/GE
中の人がとにかく必死に働くチップにしましょう
158774ワット発電中さん:04/04/06 22:31 ID:yBVjiAw4
CISC=>RISCときたんだから、次は
NISC(Non Instruction Set Computer)
159774ワット発電中さん:04/04/13 12:39 ID:mDIW/JJU

      | Hit!!
      |
      |
   ぱくっ|
     /V\
    /◎;;;,;,,,,ヽ
 _ ム::::(,,゚Д゚)::| おまいら釣れますか?
ヽツ.(ノ:::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'

160774ワット発電中さん:04/06/08 15:44 ID:2+x/gTXD
カレン
161774ワット発電中さん:04/10/23 08:18:13 ID:m61FuFvO
hosyu
162774ワット発電中さん:04/10/26 19:23:02 ID:LmKSWAZs
>>156
あったが滅びた。
163774ワット発電中さん:04/10/31 06:53:05 ID:jhlGkUPh
専用ちp、隅にセリフ付きAA入れたいね
解析必死だな( ´,_ゝ`)プッ …とか。
164774ワット発電中さん:04/11/25 02:43:23 ID:VqCnCLzQ
     /`i  /~ヽ
   ,,/  "''"'` "`;,        
  (ヽ;" ´ ∀ ` * ,;/)  ポィン
  `ミ         "ミ           ポィン
  ミ          ミ     ハ、_,ハ、
   彡        ミ     ;'´∀`* ';
   (⌒";',,,.,(⌒";'彡      ミc c ,;彡
    `'"'   `"''        `゛''''"
            ヽ     /     ヽ
              ヽ  /        ヽ γ⌒ヽ
               Y          Y    ヽ
165774ワット発電中さん:04/11/25 13:33:42 ID:ATMxULig
>>163
というコードの入ったROMの方がよかろう
AAそのままのパターンじゃ見たらすぐわかる
166774ワット発電中さん:04/11/25 16:09:05 ID:5UVLzEHw
age
167哀れな高卒Qですが何か?:04/12/03 17:00:05 ID:K8vKsDJ3
漏れはi4004をいじってみたい。回路とかもう公開されてもいいはず。
あとレプリカを出して欲しい。クロックがGHzだったりして
168哀れな高卒Qですが何か?:04/12/03 17:01:15 ID:K8vKsDJ3
漏れはi4004をいじってみたい。回路とかもう公開されてもいいはず。
あとレプリカを出して欲しい。クロックがGHzだったりして
169哀れな高卒Qですが何か?:04/12/03 17:03:40 ID:K8vKsDJ3
漏れはi4004をいじってみたい。回路とかもう公開されてもいいはず。
あとレプリカを出して欲しい。クロックがGHzだったりして
170774ワット発電中さん:2005/06/22(水) 16:50:04 ID:7Lqck829
 
171774ワット発電中さん:2005/06/22(水) 17:02:55 ID:VQK4lqpe
 
172774ワット発電中さん:2005/06/22(水) 17:06:49 ID:XC+tQDUj
 
173774ワット発電中さん:2005/06/22(水) 19:34:47 ID:q2OX3ESW
>>169
されてる
174ガバチョ:2005/06/23(木) 17:31:44 ID:bTPcQgtZ
ヽ( ゚д゚) ヽ< ガバチョ !
175774ワット発電中さん:2005/06/30(木) 01:58:01 ID:6mrsX3d8
ESECにいったら、H8SコアがFPGAに乗ったらしいな。
でもツールは安いE7が使えないようだ。
176774ワット発電中さん:2005/07/03(日) 00:49:39 ID:zF5UL7Yl
SH4はALTERAのStratix用ネットリストで提供されているよ
177774ワット発電中さん:2005/07/22(金) 01:36:23 ID:dAoIgZRN
1chipMSXって遊ぶには良さそうじゃない?
安いし。
でも締め切り日までに5000台予約入らないと作らないんだな。
逝きそうにないし。残念!

https://www.ascii.co.jp/1chip/
178774ワット発電中さん:2005/07/22(金) 02:40:58 ID:xF7oJS15
今更買わなくても自分でFPGAとかで作れる時代だ死ね
179774ワット発電中さん:2005/07/22(金) 09:06:32 ID:uKORpSn1
>>177
はっきり言ってつまらないと思う。
180774ワット発電中さん:2005/07/22(金) 12:18:24 ID:7gMPrP71
>>177
どこが残念なんだろ…って感じ
181774ワット発電中さん:2005/07/22(金) 16:09:53 ID:xF7oJS15
MSX-IP だけ抜き出して 5000円 くらいで売る

ハードは回路図公開しておいて、
基板のみ 5000円
部品付キットが 10000円
完成品が 15000円
(上記3つに MSX-IP を追加で購入すると完成)

みたいな構成にすればもう少し需要はあると思う

ASCII は売り方間違えてるよ
182774ワット発電中さん:2005/07/22(金) 20:27:09 ID:5jZukN6q
>>181
VDPのIPは同人で作られていて公開されてる。
他のスロット機構なんかは正直、難しい内容ではない。
後はPSGとZ80コアだが…
183774ワット発電中さん:2005/08/27(土) 00:23:34 ID:Vh12Yysi
最終的に3400台の予約にすぎず、商品化はできなかったとよ。
184774ワット発電中さん:2005/09/13(火) 19:38:47 ID:zf2PEnSy
それでも3400台は集められるんだなw
185774ワット発電中さん:2005/10/26(水) 23:42:31 ID:TnjYAQGb
186774ワット発電中さん:2005/11/13(日) 14:16:04 ID:Uvu0cy3z
液晶が付いていて乾電池駆動が可能だったなら、MorphyOneに引っかかったやつなら84000円で即買いだったのにな。
187774ワット発電中さん:2005/12/19(月) 12:41:25 ID:P8p2WRgn
  ,,,,.,.,,,,
 ミ・д・ミ <ほっしゅほっしゅ!
  """"
1881:2006/02/21(火) 07:22:13 ID:IFoSl6qo
h
189774ワット発電中さん:2006/03/26(日) 06:35:23 ID:wuBU92/u
FPGAでCPU作るならFUJIC(日本発のコンピュータ)作らんか。
RISCみたいな命令セットで1語33bitで256語のブラウン管メモリ。
ロジックが真空管18000本だから9Kゲートであとはメモリ分だから
1万行いかないかな。
190774ワット発電中さん:2006/03/26(日) 10:05:50 ID:WlBVHRW/
一番簡単なCPUならFPGAを使うまでもない、メモリとレジスタ数個で完成。
プログラムカウンタもALUもないけど立派にプロセッサとして機能する。
191774ワット発電中さん:2006/03/26(日) 13:00:07 ID:+Mg9xYAx
>>189
資料のうpよろ。
192774ワット発電中さん:2006/03/26(日) 21:56:56 ID:L4vSmRF5
>>189
いいねえ。作ってみたい。
簡単なCPUなら数百行だからな。
FUJICでLEDちかちか。
193774ワット発電中さん:2006/04/02(日) 23:51:38 ID:kONj4U0p
>>189
あれ、FUJICの記憶って水銀遅延線だったよな。
(国立科学博物館で説明文を見たキヲクが)
確か命令は17種類しかないんだよね。
194774ワット発電中さん:2006/04/19(水) 23:39:17 ID:4OuETRGH
CPUとプログラム込みで論理合成掛けたらどんな回路が出来るだろう。
195774ワット発電中さん:2006/04/20(木) 11:58:01 ID:afVUgbvX
>>194
どっかからCPUコア拾って来て実際にやってみればいいじゃないか
プログラムはRAMに放り込んでおけばいいんでないかね
196774ワット発電中さん:2006/04/20(木) 12:08:15 ID:uDF0rLnB
そういう意図じゃないと思う
たぶん例えばCPUとMPEGデコードプログラムをいっしょにして合成したら、
MPEGデコードハードができあがるとか期待してるんじゃなかろうか?
197774ワット発電中さん:2006/04/21(金) 08:48:53 ID:zf9J63hZ
>>196
そりゃすげぇw
198774ワット発電中さん:2006/04/21(金) 23:32:40 ID:yPI0bRue
SystemCも真っ青なハイクォリティだな
199774ワット発電中さん:2006/04/23(日) 02:09:34 ID:zDayy8oP
ループとかテーブルジャンプみたいなのは
ハードウェアでは具体的にどう実現するんでしょうか?
200774ワット発電中さん:2006/04/27(木) 06:54:12 ID:bQTZ9lzk
アルテラからプログラムのハード化ツールが発表された。
201774ワット発電中さん:2006/04/27(木) 10:27:44 ID:FqzWs75S
>>199
ステートマシンで出来ないか?
202774ワット発電中さん:2006/05/02(火) 09:41:50 ID:GVRaXre9
キャッシュの実際のRTL設計の参考になる
おすすめの資料はありますか?
203774ワット発電中さん:2006/05/03(水) 15:03:24 ID:JL+P3nUF
204774ワット発電中さん:2006/05/21(日) 19:08:21 ID:iCHCTGZp
メモリウェイトが掛かるとCPUは停止するのですか?
205774ワット発電中さん:2006/05/22(月) 09:35:20 ID:3H9vMlCW
止まる訳じゃないです
206774ワット発電中さん:2006/05/23(火) 17:14:19 ID:JsCBBi0l
CPUメーカは嘘ばっかり。ストールしまくりじゃないか。
207774ワット発電中さん:2006/05/23(火) 21:30:26 ID:OuF+Palx
止まる訳じゃないです
208774ワット発電中さん:2006/05/23(火) 22:31:45 ID:9h5WqYEt
CPUによってちゃうし。
素直にメモリ待っているやつもおるし、メモリ待たんでも他にやることやろうとするやつもおるし。
209774ワット発電中さん:2006/05/27(土) 15:06:59 ID:5d8KR2Wi
とりあえずパイプラインの中でできるやつはやる。
キャッシュのなかで実行できるやつは実行する。
別のバスがあってそっちでできることはやる。
ってくらい?
でも、ウェイトがかかっているメモリのアクセスが本当にいるんだったら、そこで待っちゃうね。
68000だっけ?
外部タイマで規定した時間以上アクノリッジが戻らないとバスタイムアウトエラーにできたよね?
(このごろ68000系触っていないから忘れたけど)
210774ワット発電中さん:2006/05/27(土) 15:34:09 ID:UBYLyNAH
外部バス使わなくても動ける所は動きますな。

68Kはそういう場合/BERRをアサートするんでなかったかのう。
211774ワット発電中さん:2006/05/27(土) 16:01:14 ID:PopRRc6t
>>209
割り込み処理にも行けるのかな。
212774ワット発電中さん:2006/05/27(土) 21:26:52 ID:Ofbfx0rh
一般に割り込みは命令の切れ目で判定される。
メモリアクセスが終わっていないっつーことは、命令が終わっていないことだからな。
他にできる命令があって、それの切れ目で判断されるかどうかはアーキ次第。
リセットも割り込みの一種と考えるとこれはかかっちゃうかな?
213774ワット発電中さん:2006/06/20(火) 00:18:37 ID:c6mjTTKY
昔、CPUのリセットはフリップフロップのリセットと同じだと考えていた香具師がいた。
そいつの育った時代はそうだったかもしれないが、かなり早い時期にそうじゃなくなったんだよって半日かけて説明してやった。
客だったが正直疲れた。
214774ワット発電中さん:2006/06/20(火) 09:09:31 ID:k/cNfa81
>>213
>昔、CPUのリセットはフリップフロップのリセットと同じだと考えていた香具師がいた。
>そいつの育った時代はそうだったかもしれないが、かなり早い時期にそうじゃなくなったん
>だよって半日かけて説明してやった。
>客だったが正直疲れた。

「CPUのリセット」とかって大ざっぱに説明されてもねえ。。。
リセットには種類があるんだけど。
215774ワット発電中さん:2006/06/20(火) 20:52:40 ID:79u+eM8I
>「CPUのリセット」とかって大ざっぱに説明されてもねえ。。。
>リセットには種類があるんだけど。

そのとおり。
それを理解していないやつが案外多い。
216774ワット発電中さん:2006/06/29(木) 01:40:52 ID:StFSWPY8
しょうがないなw
217774ワット発電中さん:2006/06/29(木) 13:12:40 ID:hVOK9P9t
リセットしたらロジックも全部リセットされますた
218774ワット発電中さん:2006/06/29(木) 13:56:30 ID:sInLmvmg
世間もリセットしたかった
219774ワット発電中さん:2006/07/01(土) 02:10:59 ID:3cplx42L
CPUのリセットと周辺系のリセットがちょいと違うことがある。
リセットにノイズがのったときいやなことになる。
220774ワット発電中さん:2006/07/16(日) 21:52:36 ID:hwhKGYgx
補修
221774ワット発電中さん:2006/08/06(日) 01:39:06 ID:imfdIuKS
リセットよりリセッシュが必要です
222774ワット発電中さん:2006/08/16(水) 21:56:47 ID:/dSbR/2G
いや、我が社はファブリーズが指定です。
223774ワット発電中さん:2006/08/20(日) 04:56:42 ID:Ebdoburd
>>215
リセットも例外処理だからな。
224774ワット発電中さん:2006/08/20(日) 08:12:41 ID:GPYpj7XX
リセットは掛けるより解除が難しい。
225774ワット発電中さん:2006/08/20(日) 12:43:55 ID:w1Cb5syo
ファミコンのリセットと同じだろ。
HLHで終わり
226774ワット発電中さん:2006/08/20(日) 18:11:21 ID:RcmwQHG2
おぃおぃ、このスレの書き込みとはとても思えないな
227774ワット発電中さん:2006/08/20(日) 18:40:10 ID:2/gVjEGT
今俺が作ってる回路はレジスタを強制的に全部0にするだけだぜ!
228774ワット発電中さん:2006/08/20(日) 20:57:48 ID:RcmwQHG2
そういうCPUもあるけど、世の中それだけじゃーないよ
229774ワット発電中さん:2006/08/20(日) 21:08:45 ID:2/gVjEGT
おう、だから俺が作ってる奴の話だぜ!
230774ワット発電中さん:2006/08/20(日) 21:42:32 ID:RcmwQHG2
おう、ならばノープロブレムだ。がんばってくれ!
231774ワット発電中さん:2006/08/20(日) 22:24:53 ID:GPYpj7XX
軽いリセット。強いリセット。優しいリセット。激しいリセット。など
232774ワット発電中さん:2006/08/21(月) 00:03:49 ID:w1Cb5syo
割り込み50個あるプログラム書いた
動かなかった
233774ワット発電中さん:2006/08/21(月) 00:19:48 ID:saH2WKrm
まぁ、原因はいろいろ考えられるが。
デバッグがんばってな。
234774ワット発電中さん:2006/08/25(金) 22:32:33 ID:oYFeaT5Y
レジスタ操作か…
235774ワット発電中さん:2006/08/25(金) 23:13:54 ID:3/hroO9U
ハイレベルなスレだな。
236774ワット発電中さん:2006/08/26(土) 07:13:23 ID:CpkLuIsC
ソフトとハード両方最適化すると仕事が終らない。
237774ワット発電中さん:2006/08/26(土) 10:26:58 ID:BQD6Fx2l
まずは仕事を最適化汁
238774ワット発電中さん:2006/08/26(土) 21:00:46 ID:YSes1s/+
ERRORとWARNINGがたくさん出て最適化できません
239774ワット発電中さん:2006/08/30(水) 00:25:43 ID:Z8z91hUn
その会社に最適化オプションは実装されていないか、あるいはバグだらけです。
240774ワット発電中さん:2006/09/01(金) 23:40:02 ID:5pqVGLfC
あー、ちょっとバージョンが古すぎますね。
241774ワット発電中さん:2006/09/06(水) 00:53:47 ID:YpmUpIGA
サポートとバージョンアップサービスは終了しています。
242FAQ:2006/09/12(火) 00:37:46 ID:bzUvPqTY
Q:新しいバージョンは購入できますか?
A:残念ながら、開発中止になっています。
243774ワット発電中さん:2006/09/17(日) 22:57:35 ID:dUnsmsq2
ところで、割り込み50個はその後どうなったかな?
244774ワット発電中さん:2006/09/21(木) 04:09:37 ID:+0s9rHO5
age
245774ワット発電中さん:2006/10/08(日) 23:28:16 ID:XMHo4+4n
論理記述はVelilogがよいのでしょうか?
246774ワット発電中さん:2006/10/29(日) 00:53:49 ID:VBcAQeFA
ヤリなれたのがあるならそれが一番だ
これからやるなら、回りで何使っているかも見てみて
他人の知見を使えるのは楽だからな
247774ワット発電中さん:2006/10/29(日) 22:21:00 ID:jKvnFCeh
RISCとCISCってハードウェア量どっちが多いの?
248774ワット発電中さん:2006/10/29(日) 23:02:03 ID:1btd/lSy
>>247
一概にどちらとは言えないよ。
最近のコアはRISCが多そうなんで、結果的にRISCの方が多いかね。
249774ワット発電中さん:2006/10/29(日) 23:07:22 ID:z93SN+qR
PowerPC は intel に比べて本当に優秀なんですか?
250774ワット発電中さん:2006/10/30(月) 01:34:15 ID:Aw8WSb99
>>249
何を持って優秀とするか?をまず定義してからじゃね?
251774ワット発電中さん:2006/10/30(月) 09:26:25 ID:JV3leIiy
一連の馬鹿っぽい質問は釣りですか?
252774ワット発電中さん:2006/10/30(月) 16:23:11 ID:wWFVku84
>>249
ソフトの開発環境が同じならPowerPCが速くて安い。
253774ワット発電中さん:2006/12/25(月) 23:51:22 ID:fXroTlM5
PowerPC は、プロセッサ。Intel は、会社名だ。

「PowerPC は、8086 と比べて、本当に優秀なんですか?」

と聞こう。
254774ワット発電中さん:2006/12/25(月) 23:59:24 ID:3F2arbdu
ペケ86なぁ
255774ワット発電中さん:2007/01/28(日) 23:21:03 ID:CXU3ItsI
>>253
PowerPCもいろいろあるから菜。
256774ワット発電中さん:2007/02/04(日) 17:14:52 ID:YNxxNR80
メモリバスが3系統あってもいいじゃないか
257774ワット発電中さん:2007/02/04(日) 20:36:19 ID:c2HvJbpF
都営バスと西武バスと京王バス
258774ワット発電中さん:2007/02/11(日) 17:22:01 ID:v+lOWfuj
各駅停車用と快速・急行・特急用とかで複々線化するのは良いことだね
259774ワット発電中さん:2007/03/21(水) 08:55:00 ID:vJaw4wgZ
インターロックを外したCPUはないですか?
260774ワット発電中さん:2007/03/21(水) 09:39:53 ID:AadEErDE
古来のMIPS
261774ワット発電中さん:2007/04/17(火) 21:35:17 ID:u8q22Y6A
sage
262掲示板初心者です。:2007/05/10(木) 10:26:55 ID:C3oZViuW
はじめまして。
メーカ勤務組み込み技術者です。

どなたかRISCとCISCの明確な違いってご存知ですか?
どうしても、メーカの自主宣言のような気がします。

いまのところの大まかな認識では、
パイプライン処理、そのための固定長命令、レジスタ-レジスタ間のみの演算、ワイヤードロジックでのコア内部シーケンサ構成。
などでしょうか、、、。

けど、多種の疑問点が、、

パイプライン処理を行うx86系CPUの存在。
16ビット固定命令+32ビット命令を持つSH2の存在。
水平マイクロプログラムとワイヤードロジックの差。
(最終的にはどちらも1ビットに1線のような気がします。)

一応、「Computer Architecture A Quantitative Approach」
は読んだことありません。また歴史的側面はくわしくないです。

これを踏まえてどなたか明確な差異について教えてください。
263774ワット発電中さん:2007/05/10(木) 15:06:30 ID:oyU6Va4+
CISC/RISCと分けるのって10年以上前の感覚で、
今はそんな単純に分けられるレベルじゃねーぞ!
って思うのだが。
264技術奴隷:2007/05/10(木) 15:07:54 ID:Y5JNISzD
X86はC-RISCと言われる事もあるし、「RISCとCISC」なんて今時「歴史的側面」
くらいの意味しかない事が多いので、その辺を勉強される事をお勧めする。
265774ワット発電中さん:2007/05/10(木) 16:02:01 ID:mSywTBO1
見分け方
0レジスタがあればRISC
266774ワット発電中さん:2007/05/10(木) 16:09:57 ID:hrixJRvq
明確な違いというか、線引きは宗教論争だけどなぁ。

歴史的経緯というか、コンパイラとCPUの関係とか、メモリ帯域の有効利用とか
そっちの方だけ認識してれば十分じゃないかと…。

一応、固定長命令辺りに一票。
267774ワット発電中さん:2007/05/10(木) 17:27:10 ID:NoxgVa2x
ARMみたいなのもあるし、明確にわける必要もないのではと
思ったりするわけですが。

VLIWくらい特徴があればわけてもいいかもしれんが。
268774ワット発電中さん:2007/05/10(木) 17:40:49 ID:+QSXhEde
ttp://ja.wikipedia.org/wiki/RISC
「これがアドレッシングモードの削減と命令の削減であり、
縮小命令セット (Reduced Instruction Set)という用語が生まれた。
RISCデザインのプロセッサは巨大な命令セットを持つこともあるので、これは正確な用語ではない。
本当の違いは、全ての演算をレジスタ間で行い、
メモリへの読み書きもレジスタとメモリの間でのみ行う点である。
このためRISCはload-storeとも呼ばれる。」

この説明を100%信じている自分はいったいどうすれば……
269774ワット発電中さん:2007/05/10(木) 18:00:16 ID:qbUF4LAl
クロックジェネレーターまで勉強が進んだ。めちゃめちゃむずいなCPU。
物理を履修しておいてよかった。
270774ワット発電中さん:2007/05/10(木) 18:26:44 ID:mSywTBO1
メーカーがRISCだ!といえばそれはRISCだ。
そしてRISCの定義はトートロジ的に拡大していくのだ。
271774ワット発電中さん:2007/05/10(木) 21:07:10 ID:cDXdDGjl
272774ワット発電中さん:2007/05/10(木) 21:18:29 ID:cDXdDGjl
x86という圧縮された命令 (記事後半)
http://www.ne.jp/asahi/comp/tarusan/main124.htm
x86命令セットは解凍(可変長命令デコード)の手間が増える反面、
圧縮された命令で記憶されているためキャッシュの利用効率は高い
273774ワット発電中さん:2007/05/10(木) 22:11:34 ID:J5pEHdLr
RISCはCISCの5倍の性能
274掲示板初心者です。:2007/05/10(木) 23:32:24 ID:qeGNAw7h
皆様
ご回答・ご見解ありがとうございます。

もともとは、RISCという響きがなんかかっこいいので、てごろに実装できるSHを触ってみました。
ところが自分なり深く勉強するうち明確な境界が判らなくなり、おもわず聞いてみた次第です。

世間知らずで恐縮ですが、10年前の感覚、ということは結構あたりまえに議論されていることのようですね。
その議論されている状態を認識した上で各メーカは製品郡を分けているのでしょうか?
私は言葉に弱いので、すぐ食いついちゃいますね。RISCはなんか新しくていいんだろうと。

では、失礼します。
275774ワット発電中さん:2007/05/11(金) 00:51:42 ID:C0UKY+yY
>>274
SHは…いつぞやのHotchipで発表された時、パターソンだかヘネシーだか忘れたが大御所に
「それRISCじゃないだろ?」と突っ込まれた経歴があるのだ(w
もっとも、命令密度の低さ、コードサイズの肥大化は当時は誰もが気にしていた訳で
その後、ARM ThumbやMIPS16等、組み込み向けが16bit化コードを取り込んだ訳だが。

>私は言葉に弱いので、すぐ食いついちゃいますね。

歴史的意義は大きいけれど、既にイメージ狙いのマーケティングトーク化してる。
なんとか2.0と言う奴と一緒で、言った物勝ちって事だな。
276774ワット発電中さん:2007/05/11(金) 09:39:04 ID:qrZYWMi+
国がが軍隊ではない!といえばそれは軍隊ではないのだ。
そして集団的自衛権の定義はトートロジ的に拡大していくのだ。

MIPSやPowerPCなどが出てきて広く注目されただけで、非武装憲法と
自衛隊の違憲問題と同様、RISC/CISC論争は、それ以前からあった。

> 歴史的意義は大きいけれど、既にイメージ狙いのマーケティングトーク化してる。
> なんとか2.0と言う奴と一緒で、言った物勝ちって事だな。

ファジー制御とか、遠赤外線とか、マイナスイオンとか、トルマリン
なんかと似たようなモンだな。
277774ワット発電中さん:2007/05/11(金) 10:12:21 ID:R3CrbXMB
SPARCを忘れんでください。
278774ワット発電中さん:2007/05/12(土) 06:28:13 ID:mD63B/xR
まんまな名前のPA-RISCは、忘れてください。
279774ワット発電中さん:2007/05/12(土) 16:02:14 ID:Dg6vK3Ln
Alphaも思い出してあげてください。
280774ワット発電中さん:2007/05/12(土) 20:32:04 ID:zW7lUk7O
つ FRV400
281774ワット発電中さん:2007/05/13(日) 20:57:42 ID:bNwvEOSd
>>272
それ、たるさんが考えたように書いてあるけれど、嶋正利氏によると
命令セットの設計で当然考慮することらしいよ。

ところで、なんでRISC風の命令セットを圧縮したものを直接実行する
プロセッサがないんだろう。ハフマン圧縮一族なんて所詮テーブル参照だから
x86のデコードよりもずっと展開しやすいはずだし内部コードが
既知である分コンパイラの最適化が直接効きやすいと思うんだけど。
282774ワット発電中さん:2007/05/13(日) 22:52:01 ID:xSW7FwRL
テーブル参照に時間がかかるからだろ。
283774ワット発電中さん:2007/05/14(月) 13:20:11 ID:roSyploX
>>281
RISCとCISCの本質を理解していたら、RISC風の命令セットを圧縮したもの
なんて馬鹿な発想は出てこないはずだ。

>>281 の言う「RISC風の命令セット」って具体的にどんな命令セットだ?

RISCの特徴として、パイプライン処理の効率化とバスアクセスの単純化の
ため、固定命令長を採用している場合が多く、また関数を呼び出しの際に、
コンパイラが多くの引数をレジスタを渡しにできるよう、汎用レジスタを
多くしているため、命令コード中に占めるレジスタを指定するビットフィ
ールドが多くなり、CISCに比べ命令長が長くなる傾向がある。

それに比べ、x86は頻繁に登場するMOV系の命令を中心に、多くは2バイト
命令で、1バイトや3バイトといった奇数バイトの命令もある。

レジスタの少なさと、汎用性のなさ(特定の命令は特定のレジスタを使う)
が欠点と言われてきたが、一次キャッシュの大容量化と、レジスタリマップ
など内部の改良でこれらの欠点は克服されてきた。

CISCの代表である、Z80のブロック転送命令やx86系のストリング系の命令
を採用せず、それらは複数の単純な命令として実行するという発想が本来の
RISCの考え方で、 >>272 は、RISCなら複数命令に展開されるこれらのCISC
固有の命令を「圧縮された命令」と称している。

RISCには存在しないのだから、圧縮のしようがない。

ハフマン圧縮は「圧縮された命令」の比喩であり、ハフマン圧縮それ自体
の処理速度や速度比較ではない点をまったく理解していない、 >>281
理解力のなさだけが、とても痛い。
284774ワット発電中さん:2007/05/14(月) 20:10:53 ID:i9+hUirJ
いいこと言った
285774ワット発電中さん:2007/05/14(月) 20:45:16 ID:CUA1YjoY
今日一番感動した
286774ワット発電中さん:2007/05/14(月) 22:46:03 ID:+AcSXl4N
パイプライン25段
287774ワット発電中さん:2007/05/14(月) 23:36:10 ID:RidDS4TS
それくらい深ければクロックは5GHzくらいいけるかのう。
288281:2007/05/15(火) 00:19:53 ID:Z9YeJ4I2
 x86 に限らず最近のプロセッサでは内部でより小さな(RISC風)命令に
変換されて実行されていることを>>283 は知らないようだが大丈夫
だろうか。>>272 の引用先に詳しく書いてあるので参照しておくれ。

 >>281 は、仮に x86 内部で使用されているμOPをコンパイラで直接
合成してしまい、それを例えばハフマン圧縮したものを直接プロセッサに
食わせたらどうだろうかという話なんだよね。もちろんそのまんまだと
ジャンプ命令などで問題が出て来るけれど、その辺はおいとくとして、
メモリ上のバイナリが x86 デコーダを経由してμOPに変換されるのと、
ハフマンデコーダを経由してμOPに変換されるのとではどっちが効率が
いいだろう。

 試したわけではないので単なる推定だけれど、ロジックの規模は
「所詮テーブル参照」であるハフマンデコーダの方が小さいだろう。
最適化はどうかというと、最終行に書いたようにハードで動的に最適化
するよりもソフトで最適化した方が一般的には効率がいいだろう。
メモリの使用効率はというと、「圧縮された命令セット」とはいっても
専用の圧縮アルゴリズムにはかなわないだろう。

 にもかかわらずそんなプロセッサが実験的にも存在しないということは
これらのメリットを全く帳消しにしてしまうような大きなデメリットが
あるからで、それは何だろうというお話なんだよね。分かってもらえた?
289774ワット発電中さん:2007/05/15(火) 00:41:19 ID:OYf3720i
>>288
RISC的にしろなんにしろ、高速に実行可能な命令セットを下手に人の手等でx86の様に纏めず、
何らかの数学的圧縮するというアイデア自体は悪くないと思うのだが…

一つだけ。
そこでx86を持ち出すのは意味が無い。
x86のメリットは、x86である事、その事実に尽きるから。
290774ワット発電中さん:2007/05/15(火) 01:21:50 ID:WLF5bRq8
どうでもいいが、レジスタリネーミングは
x86の恥ずかしい部分だと思ってるぞ。
論理レジスタがたくさんあれば、そもそも必要ないという意味でね。
291774ワット発電中さん:2007/05/15(火) 01:57:25 ID:pqsNKtyv
別に恥ずかしくなんかないじゃん。
過去の資産を活かす現実的な解でしょ。
もちろんRISC系の命令セットだったら
もっと有意義なことにリソース使えるのにというもったいない感はあるが。
292774ワット発電中さん:2007/05/15(火) 02:19:29 ID:WLF5bRq8
>>291
いや、それは分かっているんだが、
これのせいでトランジスタとある程度のクロック数
(レジスタリネーミングそのものを行うクロック数ね)
が犠牲になることを考えると、
なんだかなぁ、という感じ。

命令セットの関係で論理レジスタが増やせないとか、
過去の負債を引きずってるだけだろ。
もちろん、それが現実的な解決策だってことは十分分かっているんだが
「命令セットのせいで、それくらいしか解決方法が無いんだろ」
と、いつも思ってしまう。
293774ワット発電中さん:2007/05/15(火) 03:17:00 ID:sjZ/R4br
CPUとプログラムまとめて論理合成しちゃってFPGAに食わせる
294774ワット発電中さん:2007/05/15(火) 08:04:31 ID:pqsNKtyv
普通にCPUとプログラム入りメモリが合成される悪寒
295281:2007/05/15(火) 09:09:46 ID:Z9YeJ4I2
>>290-292
 確かに x86 の場合は設計の悪さをカバーするためのテクニックという印象が
強いけれど、レジスタが腐るほどたくさんある IA-64 みたいなプロセッサでも
レジスタリネーミングは有効な場合があるよ。例えばレジスタ r1 を使用する
場所に複数の所からジャンプしてくる場合において、ジャンプ元で r1 を使って
いる可能性がある、
  move r1,address1・・・*1
  jump L1
〜〜〜〜
  move r2,address2・・・*2
  jump L1
〜〜〜〜
L1: move address3,r1・・・*3
  move r1,address4
というようなコードがあった場合、*2 と *3 は並列実行が可能だが、*1 と *3 は
レジスタリネーミングがないと並列実行は出来ない。*3 の直前に実行されるのが
*1 か *2 かは実行時にならないと分からないのでコンパイラでの最適化はあまり
期待できない。(jump は遅延分機命令で *1,2 と *3 はパイプライン上で隣接して
いると思ってください)

P.S.
>>282 テーブル参照にかかる時間は一時キャッシュの読み書きにかかる時間と
同程度だからデコードと参照にそれぞれ 1〜2 クロックぐらいのレイテンシが
つくぐらいだと思うんだけどどうだろう。

>>289 確かに x86 のメリットは x86 だから、ということに尽きるんだけど、
>>272 の参照先で x86 の圧縮された云々という解説をしていたもので…。
296774ワット発電中さん:2007/05/15(火) 11:21:46 ID:WLF5bRq8
>>281
そういったコードで、本当にレジスタが腐るほどあるなら、
最近のコンパイラではほぼ間違いなく
L1: move address3,r1・・・*3
  move r3, address4
というふうにコンパイルされるから、
あまり問題にはならないはず。
(8つの論理レジスタを適切にレジスタ割付すようような
コンパイラがこんなコードを生成するはずがない)

もちろん、インラインアセンブラで書いてるとかなら別だけど、
その効果はほんとにわずかなものだと思う。
その証拠にIA-64では実際にレジスタリネーミングをしない。
297774ワット発電中さん:2007/05/15(火) 11:29:29 ID:WLF5bRq8
>>281
あと、デコードのテーブル参照にそれぞれ1〜2クロックのペナルティがつくのは
addのレイテンシが1〜2、movが1〜3だということを考えると
全然話にならないと数字だと思う。
298774ワット発電中さん:2007/05/15(火) 14:23:00 ID:OYf3720i
>>296
一度にコンパイルするならそうだろうけれど、分割コンパイルやライブラリ化されてると無理なんじゃ?
リンクする時に入れ替える手もあるけど、それじゃ静的な物に留まる訳で…
OSがロードする時にレジスタ再割付でもしてくれるなら…
299774ワット発電中さん:2007/05/15(火) 20:01:25 ID:01pmFmSu
>>295の言うテーブルって例えばコンテキストごとに異なる動的なテーブル?
だとしたらコンテキストスイッチ遅そうだね。
静的なテーブルだったらマイクロプログラムみたいなもんだし。
300774ワット発電中さん:2007/05/15(火) 23:32:31 ID:Sjc0fKyM
301774ワット発電中さん:2007/05/15(火) 23:39:18 ID:WLF5bRq8
>>298
IA-64だとレジスタスタックなるものを用意して、
関数の呼び出し元と関数本体で
レジスタ名がバッティングしないような工夫がされているらしいです。

>>300
> レジスタリネーミングを行うCPUは物理レジスタを、
> プログラミングモデルが提供する論理レジスタよりたくさん用意することによって、
> 積極的なレジスタ名の変更を可能にします。
x86の場合、この比が 8 : 128 とかだよ。
ちょっと積極的すぎやしないかい?
302774ワット発電中さん:2007/05/16(水) 00:18:41 ID:XrMEISjt
>>296-298
 自分で書いといてなんだけど、
>その効果はほんとにわずかなものだと思う。
これはそう思う。静的に解析できるものは可能な限りコンパイラで
やるべきだと思うけれど静的解析が出来ない一例ということで。
>>297
 デコードはパイプラインハザードを発生しないのでレイテンシは
キャッシュミスと分岐予測ミス時にしか見えないと思う。
>>299
 圧縮率を上げようとするとキャッシュのラインごととか、もっと
細かい単位になると思う。コンテキストスイッチに限らず遠くへ
分岐した際にテーブルのリフィルにはコストがかかる(>>288
置いといた問題)。これをどの程度まで低減できるかはよく分から
ないが、合計したコードサイズが減るのなら収支は黒字のはず?(怪)。
 もっとも期待はコードサイズ削減よりもスケジューリングを
コンパイラでやることによるパイプラインの簡素化なんだけどね。
303774ワット発電中さん:2007/05/16(水) 00:23:23 ID:XrMEISjt
>>301
 リネーミングのロジックにかかる負担をレジスタの多さでカバー
しているのかも(根拠なし)。
 RISC のレジスタ数はコストのかかるメモリアクセスを避けるために
ローカル変数をほぼ十分割り付けられる数が根拠になっているので
レジスタを無駄なく使うと余りまくると思う。
304774ワット発電中さん:2007/05/16(水) 00:32:26 ID:/peIxzf2
MIPSの32個程度じゃローカル変数全部入れるには足りないと思うが。
規約で実質半分ぐらいしか汎用に使えないし。
305774ワット発電中さん:2007/05/16(水) 12:04:51 ID:fv5I7Ou9
>>302
論旨をあまり理解していないのでこれは的外れかもしれないが、
>>288でいっているような、
> μOPをコンパイラで直接合成してしまい、
> それを例えばハフマン圧縮したものを直接プロセッサに
> 食わせたらどうだろうかという話なんだよね。
という話だったら、それは間違いなく愚か。
μOPの仕様はIntelのプロセッサによっても違うし、
当然AMDやTransmetaのCPUとは互換性はない。
すべてのCPUを識別して、適切な命令を合成するの?

>>303
演算に使えるのは実質4〜5程度なので、
それ以上の値を同時に扱おうとするとL1様に登場して頂くしか無くなる。
これはレジスタリネーミングが無力化するいい例だと思う。
レジスタは、足りないよりは余った方がいいに決まっている。
306283:2007/05/17(木) 10:32:56 ID:AxPVNF9k
ムダに論理レジスタ数が多いRISCアーキテクチャは、命令コードに占める
レジスタ指定のビットフィールドが広くなり、固定命令長にこだわるため
CISCなら1バイトや2バイトで済む命令コードが4バイトになる。

CISCもRISCも一時キャッシュや二次キャッシュの容量は、大差ないので、
命令長が短いCISCの方が、より多くの命令数(プログラムステップ数)を
キャッシュに格納でき、その分ヒット率も上がり、RISCに比べてキャッ
シュの利用効率が高い。

外部バスへのアクセスで比較しても、バスの転送レートはRISC/CISCに関係
なく、メモリアーキテクチャに依存し、同じメモリならRISCもCISCも、バス
の転送レートは同等なので、命令長が短いCISCの方が、少ないバスアクセス
で、効率よく命令を取り込むことができる。

どこまで将来のことを考えていたかは不明だが、x86はよくできたCPUだよ。

>>305
途中が欠損したLZHファイルから、欠損ブロック以降のデータを復元でき
ないのと同様、任意の場所から復元可能な効率の良い圧縮方法など存在し
ない。

それに、出現度の高い命令のコードが短くなるようにOPコードマップを設計
するのはごく当たり前。だから、最適化されたOPコードをハフマンごときで
圧縮する効果はない。

それは、複数の圧縮方法を組み合わせるLZHやZIPを使ってさえも、EXEファ
イルは圧縮後のサイズが小さくならないことからも明らか。
307774ワット発電中さん:2007/05/17(木) 12:40:32 ID:kubNFVy7
>>306
今のx86は内部でCISCなコードをRISCなコードに展開して(例外的に展開しない場合もありますが^^)
つまり固定長バイトの命令として実行&キャッシュに保存しています。
これはいいですよね?

RISCのレジスタがなぜ多いかというと、アウトオブオーダー実行や
並列実行させやすくなるためというのが主な理由だと思うのですが、
当然x86も内部ではそれと同じことをしているわけです。
つまり、「RISC=レジスタ数が多い方がいい」という説を信じるのであれば
今のx86でも論理レジスタ数は多い方が自然だと考えるのでは無いでしょうか?
命令のバイト数が少し増えてもデコーダの拡張により将来的な速度アップが期待できますが
命令フォーマットの関係でレジスタ数が制限されてしまうと、どうしようもありません。
また、物理レジスタの数がいかに多くても、
論理レジスタ:物理レジスタが8:128のようないびつな環境では
>>305のようにレジスタリネーミングだけでは対応できない場面というのが当然出てきます。

また、x86も内部では固定長バイトとして命令をキャッシュしているため
特に命令1次キャッシュの効率は他のRISCプロセッサと大して変わりません。

あと、ちょっと気になったのですが、
lzhやzipは圧縮方法としてはかなり効率が悪い方です。
実際にupxなどを使えば実行ファイルでもある程度は圧縮できますよ。
308774ワット発電中さん:2007/05/17(木) 15:07:05 ID:F8P3eH8Q
>>306
>EXEファイルは圧縮後のサイズが小さくならないことからも明らか。

UPXとか既に使われてるんじゃ?
DOS時代だとDIETとかLZEXEとかそれなりに使われていたし
x86でも一定の効果はあるよ?

それはともかく、今利用されているARMとかは、レジスタ数とか命令セットの制限をした上で圧縮してる訳だから
利用可能なレジスタ数等を制限せずに圧縮できるのなら意味はあるんじゃないかな?

>>307
>つまり固定長バイトの命令として実行&キャッシュに保存しています。

x86だと展開した命令をキャッシュに保存してるのは、トランスメタを除けば
トレースキャッシュを公言していたネットバースト系アーキテクチャだけじゃないかな。
309283:2007/05/17(木) 15:26:20 ID:AxPVNF9k
RISC優位論者が、あくまでRISC優位という方向に論点を持っていきたい
だけの気がするなぁ。

「古臭い」「時代遅れ」「いびつ」などというx86アーキテクチャを超える
RISCプロセッサが出現しないことが、RISCこそが「古臭い」「時代遅れ」
の考え方だということを証明している。

RISCのレジスタが多いのは、今ほどコンパイラの最適化が進んでいなかった
時代に、てんこもりの汎用レジスタを用意すれば、コンパイラによる最適化
なしでも高速化できるだろうという安易な発想が原点にある。

論理レジスタ数は、CPUアーキテクチャに依存する。32bitモードの導入で
レジスタ自体の汎用化は進んだが、バイナリ互換のx86は、論理レジスタ数
は今も昔も変わっていない。

x86で固定長なのは命令デコーダを通った実行ユニットのパイプラインの
中だけ。命令キャッシュや二次キャッシュは、x86のコードのままのはずだ。
そうでなければ、キャッシュのヒット率や利用効率が大幅に下がる。

FPU命令を除外しても、x86の命令は最小で1バイト、プリフィックスを含め
れば最大で10バイト以上になるんだが、命令キャッシュに固定長で記憶され
ていると言うなら、何バイトだと?

整数系の命令だと、たぶん32bitのイミディエイト値を、オフセット付きで
レジスタ間接参照されるメモリに書き込んだり、演算したりする命令あたり
が一番長くなるはず。
310283:2007/05/17(木) 15:39:36 ID:AxPVNF9k
308
> DOS時代だとDIETとかLZEXEとかそれなりに使われていたし

DIETや、LZEXEが効くのは ...

static int buf[3000];

のように、スタティックに大量のデータ領域を宣言した場合、昔のリンカ
は、0x00で埋めつくされたデータ領域を含むEXEファイルを吐いていたので、
そうした領域が多いプログラムが圧縮できただけ。

純粋な実行コードに対しては、ほとんど圧縮は効きません。

初期化してない変数にアクセスしても、初期値は0x00と保証されていると
勘違いしているプログラマもいたな。今でも居そうだが。
311774ワット発電中さん:2007/05/17(木) 20:58:55 ID:+iSrtZHz
>>309
x86アーキが生き残って、のさばっているのはx86アーキがすばらしいからじゃない。
IBM-PCからのソフト資産の問題でしょ。
312283:2007/05/17(木) 22:49:39 ID:AxPVNF9k
RISCの数を揃えた汎用レジスタって、まるで社員数ばかり多けど能無し
揃いで、上から指示された単純命令しかこなせない、日本の大企業みたい。

社員あたりの生産性の低さを数でカバー?

エミュの技術も進歩した現在、x86を超えるアーキテクチャのRISCが出現
しないのはなぜ? それに、IBM-PCのハードに依存するようなソフト
なんて、今じゃほとんど使われていないでしょ。
313281:2007/05/18(金) 00:08:54 ID:IdCkByK1
>>312
 まあ、落ち着けって。

 まず、x86 のファイルをさらに圧縮して実行なんて話はしていないぞ。
μOP を持ち出したから混乱したのかなあ。じゃあ例えば SPARC のコードを
L2 cache までは圧縮して格納し、L1 からは元の SPARC コードに展開して
実行するといったら分かるかな。NetBurst と同じ構造だ。SPARC の
コードは x86 よりも圧縮が効くということに同意していただければ
キャッシュに圧縮したまま格納することによるキャッシュやバスの有効
利用にも同意してもらえると思う。

 それから、>>306 の任意の場所から復元できる圧縮方法なら存在するぞ。
完全に任意ではないが。例えば 100 個のファイルを tar してから gzip
すると任意のファイルをそのまま復元することは出来ないが、100 個の
ファイルを圧縮してから tar でまとめると任意のファイルを復元できる。
圧縮率は悪くなるが分割単位を大きく取ればとてつもなく悪くなるわけ
ではない。簡単に実験できるので色々試してみればよい。だから >>302
キャッシュのラインごととか、と書いたわけ。

 あと、>>309
>RISCのレジスタが多いのは、今ほどコンパイラの最適化が進んでいなかった
    :
>なしでも高速化できるだろうという安易な発想が原点にある。
ちがいます。
314774ワット発電中さん:2007/05/18(金) 00:09:42 ID:3dbdPcuJ
なんかx86マンセーなのが多いな(あるいは声がでかいだけか)
先祖の遺産があったから巨額の投資ができてまだ生き残ってるってだけでしょ
たぶんまだかなり生き続けると思うけど
315307:2007/05/18(金) 00:37:13 ID:DqGnMCjI
>>309
自分には、x86優位論者がx86は他のRISCプロセッサよりもすばらしいという
結論に持って行きたいだけのように見えます。

> RISC優位論者が、あくまでRISC優位という方向に論点を持っていきたい
> だけの気がするなぁ。
そもそも、今のx86が内部で命令をμOP単位で実行していることから見ても
多くの技術者がRISCの優位性をある程度認めているということでは?
少なくともx86自体は、決してすばらしいといえるものではないと思うのですが。

> 「古臭い」「時代遅れ」「いびつ」などというx86アーキテクチャを超える
> RISCプロセッサが出現しないことが、RISCこそが「古臭い」「時代遅れ」
> の考え方だということを証明している。
二つ言いたいことがあります。
まず一つ目は、今のx86はほぼRISCみたいなものなので、
言っていることが微妙に的外れということです。
IntelやAMDがRISC的なものを取り入れたことから考えても、
RISCにはある程度の優位性があるのでは無いでしょうか?
またもう一つは、例えば最近作られたCELLはRISC型プロセッサですし
IBMが作っているPower6もクロック数4〜5GHzで動くRISC型アーキテクチャです。
これらが完全にx86系CPU(x86が動くどのCPUでも構いません)に
劣っているという根拠はいったいどこから出てくるのでしょうか?
x86の場合だって過去のソフトウェア資産があったからこそ今があるようなものですし、
一般PC市場を席捲しなければその実力が認められない、と言った見方はあまりにも狭量です。

> RISCのレジスタが多いのは、今ほどコンパイラの最適化が進んでいなかった
> 時代に、てんこもりの汎用レジスタを用意すれば、コンパイラによる最適化
> なしでも高速化できるだろうという安易な発想が原点にある。
Intel自身でさえも、これから新規アーキテクチャを作る場合は
レジスタ数を8などにはしないでしょう。
実際、IA-64のレジスタ数は128です。
CELLのレジスタ数も同じです。
それはいったい何故なのでしょうか?
コンパイラ技術のせいなのでしょうか?

> x86で固定長なのは命令デコーダを通った実行ユニットのパイプラインの
> 中だけ。命令キャッシュや二次キャッシュは、x86のコードのままのはずだ。
> そうでなければ、キャッシュのヒット率や利用効率が大幅に下がる。
ネットバースト系のアーキテクチャを調べてみてください。
「トレースキャッシュ」という単語が出てくるはずです。
キャッシュ効率が下がるのは事実ですが、
2回目以降の実行ではデコードの必要が無くなります。

> FPU命令を除外しても、x86の命令は最小で1バイト、プリフィックスを含め
> れば最大で10バイト以上になるんだが、命令キャッシュに固定長で記憶され
> ていると言うなら、何バイトだと?
それ、自分も書こうと思ったのですが10バイト以上の命令はかなり稀なものなので
例外的に扱って構わないと思います。
というか、Intelの次期CPU,Penrynでもフェッチ帯域は16バイト/クロックなので
そんな命令が頻発されたら、キャッシュ能力の如何にかかわらずほとんど性能が出ません。
(Pentium4のμOPのサイズは、調べたのですが分かりませんでした。すいません)
316774ワット発電中さん:2007/05/18(金) 21:45:21 ID:xPDjw37w
IA-64とかCELLとかのゴミを例に出さんも
317774ワット発電中さん:2007/05/22(火) 14:18:45 ID:nnjGd0MX
CELLはともかく、IA-64って駄目CPUなんですか?
なんかRadeonHD 2900もVLIW採用でイマイチらしいので、
VLIW技術自体が無謀なんでしょうか?
318774ワット発電中さん:2007/05/22(火) 14:35:03 ID:YqqED/TX
>>317
IA64自体はダメって訳じゃ無い。
最初のモデルはIA32代替としては期待外れな性能だったがFPU性能は強力。
数値演算目的だったら強力なCPUだ。

古いIA32ソフトが高速に動くCPUでは無いから、
単純なIA32の置き換え、という目的には意味無いけど…。

VLIWだからダメ、というのは意味が薄い議論だ。
319774ワット発電中さん:2007/05/22(火) 15:00:14 ID:ahLNNs0X
まだ周辺技術がこなれてないというのはあるんでないかい。

命令詰め込むための静的解析とか。
320774ワット発電中さん:2007/05/22(火) 22:42:21 ID:veeq69b4
>>317
 おそらく >>319 が正しい。ハードが楽するのならその分ソフトが
苦労しなければなりません。VLIW は RISC よりもハードの負担を
減らした方式だからコンパイラの最適化が極めて重要だが数値計算の
ようなある程度決まりきったパターンの命令列ではない一般アプリの
場合まだ十分な最適化技術が確立していないと聞いています。その点
GPU などの用途では比較的性能を出しやすいでしょう。
 またコンパイラの最適化がしやすい命令セットというのもありますから、
将来最適化の技術が進んだ場合 IA-64 の命令セットに不満が出てくる
可能性は十分あります。
321774ワット発電中さん:2007/06/02(土) 01:43:26 ID:c18zxe0J
論理合成前のシミュレーションでは正常に動作したのですが
その後のはまともに動かないんじゃあ
誰かボスケテ
322774ワット発電中さん:2007/06/02(土) 10:21:39 ID:mWo8wnm3
あるある。
323774ワット発電中さん:2007/06/03(日) 01:51:50 ID:Chch4jRG
>>321
 クロック周波数を落としても大丈夫な回路なら(DRAM などはクロックを
落とすとリフレッシュ間隔がのびて×)ぎりぎりまでクロックを落として
みたら? それで動くならタイミングシミュレーションで何か見落としが
あるか、バスが重すぎてシミュレートした仮定条件を満たしていないなどを
疑う。クロックを落としても動かないならそもそもボードにバグや配線
ミスなどがあるとか。
324774ワット発電中さん:2007/06/03(日) 10:53:33 ID:t5Sknsdk
さんくす
がんばってみます
325774ワット発電中さん:2007/06/03(日) 12:39:24 ID:u6qWAFtb
やっとMIPS I命令真似た自作CPUがFPGAで動かせたよ
このスレのレベルからしたら低レベルだけど
嬉しかったので記念カキコw
326774ワット発電中さん:2007/06/03(日) 17:07:17 ID:byo3CY96
いまならV850が200円
327774ワット発電中さん:2007/06/03(日) 17:56:33 ID:FsFXhfPb
タダでもいらね
328774ワット発電中さん:2007/06/05(火) 00:26:30 ID:rh0fsHvK
>>326
kwsk
329774ワット発電中さん:2007/06/17(日) 08:15:48 ID:IY/NSsrS
ハードウェアシミュレータをハード化すると現物より速いのか?
330774ワット発電中さん:2007/06/17(日) 15:34:06 ID:RfqkRkZS
最適化次第
331774ワット発電中さん:2007/06/18(月) 00:46:11 ID:ytLpJcpy
>>329
そいつは用途次第じゃないかな。
ソフト書き直しじゃ不味いって用途向けに実装する場合は、
速度だけじゃなくて実行タイミングなんかも現物と一緒じゃないと不味いって場合も多いだろう。
332774ワット発電中さん:2007/06/20(水) 21:59:39 ID:f/bdPXTW
名前が思い出せないのでソースが提示できませんが、算術的に圧縮された
命令ストリームを読み取って、内部的に元の命令ストリームに展開しつつ実行する
MPUは過去に存在しました。
333774ワット発電中さん:2007/12/06(木) 00:30:21 ID:mnJ1bQ/x
すごいな
334774ワット発電中さん:2008/01/02(水) 15:26:42 ID:FtIUkHRq
遅延分岐がパイプライン処理にとってどういう利益があるのかよくわからないのですが
どなたか解説お願いします。

JUMP a
LOAD b,x

こんな場合、JUMPを実行する前にLOADを実行しちゃうんでしょうか?
335774ワット発電中さん:2008/01/02(水) 16:16:48 ID:lD5rgf1/
無条件分岐なら遅延分岐はしない。
条件付JUMPなら、分岐するって解ったらLOAD命令の実行を途中で中止する。
336774ワット発電中さん:2008/01/02(水) 22:02:18 ID:iENYucSX
ともかく実行しちゃうタイプのCPUもあるよねぇ。
337774ワット発電中さん:2008/01/02(水) 22:43:59 ID:wUn1hq/e
>>334
JUMP命令のデコードをした時点で、既にLOAD命令が実行にとりかかっている
んで、待った!をかけるよりも
「やりかけた仕事は最後までやってしまえ」というほうが設計上楽ができるわけ
338774ワット発電中さん:2008/01/02(水) 23:00:12 ID:fUTL/Fei
>>334
利益???それは思考の順序が違う。

パイプライン動作を導入すると遅延分岐動作になる実装設計があり、
その場合、遅延分岐にならないようするには追加の回路が必要になるので
回路規模が大きくなって、ついでに速度が落ちるかもね、という事。

(遅延分岐にならないようにする回路を用意せず)遅延分岐をそのままにしておいても、
遅延分岐動作そのものは不都合にならないケースが多いので
追加回路を入れるか入れないかはトレードオフであり心情の問題でもある。
339774ワット発電中さん:2008/01/02(水) 23:03:48 ID:A3YfTf6+
>追加回路を入れるか入れないかはトレードオフ

つまり、何らかの不利益と引き換えに何らかの利益があるわけだな。
340334:2008/01/03(木) 01:16:35 ID:xJxcwfVZ
皆さんどうもです
ソフトから入ってきてるんで順序が逆だったみたいですね
有益<回路が楽
と考えると自ずと答えが出るわけですかw

要するに遅延分岐はパイプラインバブルの有益な解決方法じゃなく設計が楽になるだけで
エレガントに実行したい場合は分岐予測なんかと組み合わせなさい ってことなんでしょうか
341774ワット発電中さん:2008/01/03(木) 09:12:05 ID:yVUvjynW
そもそも、そのあたりはコンパイラとセットであって、アセンブラで書く
ことは二の次なんよ。
ハードウェアは単純化して性能/コスト(ロジックの量)がなるべく
大きくなるようにして、その単純なハードウェアをうまく動かすように
コード生成する(遅延分岐もそうだし、実行順序の入れ替えなんかも)
というのがコンパイラのお仕事。
342774ワット発電中さん:2008/01/03(木) 09:30:20 ID:zjXX5Jlf
そもそも分岐なんかいらんわ
343774ワット発電中さん:2008/01/03(木) 11:53:31 ID:SnHs+vOu
>>339
>つまり、何らかの不利益と引き換えに何らかの利益があるわけだな。

遅延分岐動作をさせない、最大のメリットはアセンブラソースが見やすくなる事でしょう。
大抵の人は普通の動作に慣れてる訳だから。
344774ワット発電中さん:2008/02/22(金) 00:37:15 ID:1Rmd0nBc
ソースっか
345774ワット発電中さん:2008/03/03(月) 22:42:45 ID:d4k8lxHr
346774ワット発電中さん:2008/03/08(土) 09:52:27 ID:NMeVVLjw
ソースっと?
347774ワット発電中さん:2008/03/23(日) 15:35:45 ID:SqkXOMDK
しょうゆうこと。
ttp://www.opensparc.net/
348774ワット発電中さん:2008/07/02(水) 00:19:57 ID:K59V/ILw
CPUは、分岐時、分岐先の命令がCPUに到着するまで、
パイプラインが停止(ストール)しちゃうのね。
このCPUストールの無駄時間がもったいないから、
この間、なにか命令を実行しちゃえってのが遅延分岐の考え。

でも昨今のCPUは優柔な分岐予測を備えてるから、
遅延分岐はもはやアーキテクチャ的な盲腸ともいえる。

遅延分岐なしのCPU
(1)分岐命令を実行
(2)CPUストール
(3)分岐ターゲット命令を実行

遅延分岐ありのCPU
(1)分岐命令を実行
(2)遅延分岐スロットの命令を実行
(3)分岐ターゲット命令を実行
349774ワット発電中さん:2008/11/16(日) 01:21:41 ID:VXvLORe/
ninja
350774ワット発電中さん:2008/12/03(水) 23:37:52 ID:mDp8HpOR
nanja
351774ワット発電中さん:2008/12/04(木) 03:40:01 ID:RD0mOhz4
monjya
352774ワット発電中さん:2008/12/04(木) 08:15:21 ID:OBD5hm4T
× monjya
○ monja
353774ワット発電中さん:2008/12/22(月) 00:36:08 ID:tygeOOUc
monja-yaki
354774ワット発電中さん:2009/02/08(日) 23:44:21 ID:C4j1cRZz
おまえらopensparcのソース読んだりするの??
355774ワット発電中さん:2009/02/09(月) 00:09:42 ID:RcS9ALNs
役目を終えたCPUに用は無い
356774ワット発電中さん:2009/06/22(月) 01:31:59 ID:aKHCzjsU
Oh, is the CPU it in your brain?
357774ワット発電中さん:2009/07/17(金) 11:35:54 ID:aqJzqrcL
学習の為に16bit固定長命令(OPコード5bitオペランド11bit)のCPU作ってみようと思うんだけど、
普通のCPUの命令セットってどの辺揃えておけばいいのかな?
x86みたいにごっちゃごちゃにはしたくないし。

レジスタ間コピー、加減算、AND、OR、XOR、NOT、
左右論理シフト、左右算術シフト、即値格納、メモリ読み書き、
レジスタ間比較、条件ジャンプ(A>B,A<B,ZFlag=1,ZFlag=0)、無条件ジャンプ、停止

あと何か必要?
それと、符号付演算って必要だと思う?
358774ワット発電中さん:2009/07/17(金) 11:41:30 ID:aqJzqrcL
現段階の案では正確に言うと左右算術シフトじゃなくてキャリー付き左右論理シフト
だった
359774ワット発電中さん:2009/07/17(金) 14:15:48 ID:MBwsqnAF
call return は?
360774ワット発電中さん:2009/07/17(金) 16:26:39 ID:Y2mVppeT
PCが汎用レジスタ扱いなのかどうか、
スタックポインタやリンクレジスタがあるのかどうか、など
プログラミングモデルの構想も聞きたい。
分岐命令やメモりアクセス命令は
プログラミングモデルと合わせて考える必要があると思う。
361774ワット発電中さん:2009/07/17(金) 23:31:06 ID:93UQFpT1
割り込み
362774ワット発電中さん:2009/07/18(土) 03:56:22 ID:CjKPcqG1
命令体系を単純化してオペコードを縮小するには、
PCとSPも汎用レジスタにするのが良いんじゃないの。

レジスタ間コピーとかロード命令でジャンプできる。

もっとも、条件分岐命令に関しては逆に深刻な制限になってしまうから
むしろ薦めにくいのかも。

数ビットの小さなオフセットだけ対応の近距離条件分岐しか条件分岐を装備しないなら良いが。

って、PICの条件分岐命令がこんな感じだっけ?

SPが汎用レジスタ、ってのは結構いろいろあった気はする。68kもそれに近い。
363774ワット発電中さん:2009/07/18(土) 07:43:07 ID:y+panK5c
条件成立したら次の命令をスキップする命令てのがあって
無条件分岐と組み合わせると条件分岐できます

てのがどこかにあったな。

364774ワット発電中さん:2009/07/18(土) 09:35:12 ID:0Mpt1R4o
>362
H8もそーだお
365774ワット発電中さん:2009/07/18(土) 12:12:11 ID:fi5mXdUS
いっそ、みんな条件付実行にしちゃえ、っていうARMみたいなのもある。
366774ワット発電中さん:2009/07/18(土) 13:58:02 ID:GJb8xnbZ
16ビットじゃきついだろw
367774ワット発電中さん:2009/07/18(土) 14:14:09 ID:fi5mXdUS
脱線スマソw
368774ワット発電中さん:2009/07/18(土) 16:42:21 ID:SKB/dBhA
条件付き実行するかしないか指定するだけなら
1ビットで足りるから、命令長16ビットでも実現可能。
369774ワット発電中さん:2009/07/19(日) 00:41:52 ID:ozqqB7nQ
>365-366
それ、ARMの基本命令セットが32ビット固定だったから可能になったんだよな。
16ビットに縮小したThumb命令セットでは条件分岐命令以外の命令は条件判断しないよ。

>368
どういうフラグの組み合わせで実行するかどうかを決める関係上、条件フィールドは4ビットぐらい使うのが普通だし。
370774ワット発電中さん:2009/07/19(日) 02:20:43 ID:dwgW/0BC
>>369
SHみたく比較の方にフラグ立てる条件をいれてしまえば、
判断する方は1ビットですむべ。

371774ワット発電中さん:2009/07/19(日) 10:47:31 ID:/mLe3aWQ
>>369
>>368
>どういうフラグの組み合わせで実行するかどうかを決める関係上、条件フィールドは4ビット
>ぐらい使うのが普通だし。

コンディションコードがNZCVあるARMだからそうなのであって
1ビットコンディションフラグで済ませれば条件フィールドは不要。

372774ワット発電中さん:2009/07/19(日) 18:07:24 ID:ozqqB7nQ
>370-371
俺が知ってる限られた数のCPUアーキテクチャでは、
どれも4〜5ビットぐらいのフラグがあったから、それが普通だと思ってたよ。

だが確かに、370の考え方なら1ビットのフラグでも足りそうだな。

今までは俺の世界が狭く、頭が固かったってことか、dクス
373774ワット発電中さん:2009/07/19(日) 19:15:00 ID:JJ+aiuKz
>>357はどこに行ったんだろう。
374774ワット発電中さん:2009/07/20(月) 01:54:54 ID:oQ5VRvbl
じゃあほっといて、学習用16bitアーキテクチャ作ってみないか
375774ワット発電中さん:2009/07/20(月) 02:04:55 ID:ByKPgXOG
40ピンにこだわる?
376774ワット発電中さん:2009/08/01(土) 19:47:22 ID:pQvma67S
今日日の学習用なら多少リッチなほうがいいんじゃないか
>>360みたいなのは最適化の第一歩くらい
377774ワット発電中さん:2009/08/02(日) 13:21:15 ID:i7ADDGkN
>>357から半月近くも経っているし
RTLが既に完成していてもおかしくないわけだが

378774ワット発電中さん:2009/08/14(金) 00:20:52 ID:C3ZvFA+F
このスレ、初めて来たんだが、誰か実際に作った人はいるの?
シミュレーションだけでも良いから。
379774ワット発電中さん:2009/08/14(金) 10:46:58 ID:C9/4WfEp
>>378
RTLシミュレーションとFPGAで動作検証して
チップもかれこれ5種類くらい作りましたよ
180nと90nで。

CPU作ること自体は大したことではないです。
どちらかというとソフト開発環境を整備する方が手間。

380774ワット発電中さん:2009/09/05(土) 01:39:53 ID:SSedFLo2
勉強になる。
381774ワット発電中さん:2009/09/06(日) 15:59:51 ID:oSsg07bJ
>>379
GNU のアセンブラー・デバッガー (gas, gdb) なんかは、
カスタム CPU 対応が可能です。「GNU gas custom CPU」とかで Web 検索。
そこまで進めたら gcc も、もう一息かな?
一人で全部やるのはスゲたいへんそう。何人かのグループでやれば可能だろうね。

アセンブラーだけならゼロから作ってもいいし、
awk なんかの力も借りて、それでは困難な部分は pre-process, post-process
する方法もアリかなぁ。
382774ワット発電中さん:2009/09/06(日) 20:44:51 ID:HR94i4IK
まっ,>381ががんばることに期待しておく
383379:2009/09/08(火) 10:06:24 ID:1CexsLJf
>>381
もちろんGNUの開発ツール群をカスタマイズして使っています。
eclipseにも対応させました。
384774ワット発電中さん:2009/09/08(火) 15:05:03 ID:/muNiN+/
>>383
じゃあ、さしあたって、なにが困っているの? それを聞きたい。
385774ワット発電中さん:2009/09/15(火) 16:06:19 ID:6T8L9u8d
もしか「し」 (shi) て「早く動かない」のかなー。
バカすぎて、とてもごめん。でもいちおうは、一応はレスしておく。
386774ワット発電中さん:2009/09/15(火) 16:22:42 ID:oHG/WZ3F
>>384
383=379 は困っているとは一言も書いていないのだが。
378 の呼びかけに答えただけで。
387774ワット発電中さん:2009/09/15(火) 20:19:44 ID:jc/i8Gze
CPU造ってみたい。
どうやるのかな。
リスクはレジスタたくさん作るの?
388774ワット発電中さん:2009/09/15(火) 21:11:40 ID:MyiupAqo
実用性考えないなら、レジスタ4個ぐらいでも動くんじゃない?
389774ワット発電中さん:2009/09/16(水) 00:10:53 ID:z2pPcRC9
レジスタ無しでも制御系には十分使える。
390774ワット発電中さん:2009/09/16(水) 03:50:51 ID:c6ST0QLd
金銭登録機無しでも商売はできる。ホンと、だじゃれが多いな。
391774ワット発電中さん:2009/09/16(水) 03:57:43 ID:c6ST0QLd
なぜレジスターを一本二本とか数えるのだろうか。その起源を知ってる人、ぜひ教えて下さい。
392774ワット発電中さん:2009/09/16(水) 09:21:02 ID:Dmxenum6
長いからじゃね?
393774ワット発電中さん:2009/09/16(水) 09:47:59 ID:GyPmWSpN
>>389
387はRISCって言ってるからな。レジスタ無しはちょっと
394774ワット発電中さん:2009/09/16(水) 11:45:34 ID:ds+ksuMa
>393
レジスターはメモリー割り付ける。何が困るの。

その昔、N 社の次期 CPU の概念図を見せられたことがあった。
当人はすげー革新的だと思ったんだろうが、
この板的には、異論がごうごうだろな。
395774ワット発電中さん:2009/09/16(水) 11:50:29 ID:7Ok3kkNN
>>394
なんとなくわかるような。命令デコーダーをどうするか。
多段パイプラインを使えば、どーでもよくなるような。もっとぶってね。
396774ワット発電中さん:2009/09/16(水) 13:34:14 ID:+gzV8ygA
>>レジスターはメモリー割り付ける。何が困るの。

それをRISCと呼ぶと苦情が殺到して困るんだろう。
多分だけどな。
397774ワット発電中さん:2009/09/17(木) 00:17:39 ID:alkuQMJh
>>391
そろばんのイメージかね
398774ワット発電中さん:2009/09/17(木) 22:59:12 ID:alkuQMJh
もっと単純に、マニュアルに棒で描かれてたからか
399774ワット発電中さん:2009/09/17(木) 23:16:06 ID:2Uvv7Dgt
>394
レジスタをメモリとして実装する。

古く懐かしい、「縮小命令コンピュータ」(と呼ぶのかね? 命令体系ではなく。)たる、
初期の組み込み用CPUの典型じゃないの。

たとえば、256バイトぐらいのオンチップメモリを積んで、その先頭もしくは末尾の数バイトがレジスタ。
アーキテクチャによっては、裏レジスタを実装してる例もあった。

もちろん、あくまでもローカルメモリであるから、インデックスレジスタを用いた間接アドレシングでのアクセスもできる。

今でも、小規模向けのマイコンの中には、そういうローカルメモリが付いてるヤツが残ってるかも。
400774ワット発電中さん:2009/09/18(金) 00:31:42 ID:3wTbfZ/0
 現役バリバリの AVRは 基本CPI=1 の RISCで、汎用レジスタ32本が
データメモリ先頭 0x0000-0x001F にも割り付けられてるから、
LD/ST命令で間接アクセスできるよ
401774ワット発電中さん:2009/09/18(金) 04:46:46 ID:j+7Wqv/w
>>399
それもうEDSAC/Manchester Mark Iあたりからのデザイン
402774ワット発電中さん:2009/09/18(金) 05:26:38 ID:wpTtAB1O
>>399
>今でも、小規模向けのマイコンの中には、そういうローカルメモリが付いてるヤツが残ってるかも。

8051は未だに改良品が作られ新規採用される現役です。
403774ワット発電中さん:2009/09/18(金) 12:39:53 ID:HuLFLbLd
誰かデータフローマシンについて詳しい奴はいないか?
原理的に最高の並列性が出せるらしいが、古い研究なのであまり資料がない。
特に欠点について知りたい。
404774ワット発電中さん:2009/09/18(金) 12:53:13 ID:I33QNA28
>>399
> レジスタをメモリとして実装する。

そもそも、ミニコンのPDP-11あたりとか、データゼネラルとか、そうでは
なかったかと。 マイコンの世界でもTIの初期のTMS9900だったかの16bit
なんかも。 あと、昔AMDが得意だったビットスライスとか。

>>402
> 8051は未だに改良品が作られ新規採用される現役です。

昔は12MHzそこらで、1命令実行するのに、最低でも4クロックくらい掛かっ
ていたのが、今じゃ100MHzで1クロックだもんな。 あくまでバイナリ互換
ってだけで中身はまったく別物。

所詮、最新マイクロプロセッサに実装される技術の多くは、大型やミニコン
で実用化されていた技術をシリコン上に取り込んでいるだけでそ。
405774ワット発電中さん:2009/09/18(金) 12:57:41 ID:fmI2GZd/
>>404
当たっているのは、TIだけですねw
406774ワット発電中さん:2009/09/18(金) 14:44:52 ID:u4ryLd0O
>>403
弓場敏嗣 山口喜教 「データ駆動型並列計算機」

説明すんのメンドクサイから↑でも読め。
それで足りなきゃ、巻末のリファレンスから文献拾え。
407774ワット発電中さん:2009/09/18(金) 16:54:36 ID:j+7Wqv/w
>>405
これだけ外しているのも珍しいよな

>>403
>>406の人たちの作ったものでいうと
演算ユニット→ネットワーク→演算ユニットとデータが回るわけだが、ネットワークの遅延が大きい
マッチングストアというレジスタと命令キューを兼ねたようなユニットがあるんだが、高コストにつく
基本的に副作用のない関数型言語を動かすことしか考えていなくて、
Cのように自由にメモリに書き込みを出来る言語では制御トークンを用いて逐次化しないといけない。これならPCで制御したほうがいいじゃんとなる
使用済みのリソースを解放するのにやっぱり制御トークンを用いて逐次化する。これならPCで以下略
基本的に例外処理ができない

そのままでは欠点だらけで到底実用的ではないけど、今のスーパースカラプロセッサはデータフローマシンにとても近いよ
408774ワット発電中さん:2009/09/18(金) 17:06:26 ID:j+7Wqv/w
> 所詮、最新マイクロプロセッサに実装される技術の多くは、大型やミニコン
> で実用化されていた技術をシリコン上に取り込んでいるだけでそ。

大型機由来の技術はいろいろあるが、ミニコン由来のってなんかあったかな
貧弱なバスくらいか

なんにしろ「取り込んでいるだけ」ってこたぁない
409403:2009/09/18(金) 17:46:14 ID:e2pw7NAm
>>406
サンクス。
でもちょっと古い本だな。
410774ワット発電中さん:2009/09/18(金) 18:21:36 ID:u4ryLd0O
だが、データフローマシンに関してまとまった内容の日本語の成書は多分それしかない。
基本的に著者が関わった機械についての簡単な解説なんだが、DFMとしてそんなに癖の
あるアーキテクチャじゃないから理解するのにそれほど苦労しないと思うし、(NECの画像
処理用LSIは酷かったw)、自分たちの機械に関連してDF全体についても触れてるから、
最初に読むには今のところそれが一番いいと思う。で、興味を持ったら巻末の書誌からCiNii
ででも論文をあさればいいと思う。

つか、多分この本が出て以降DFについてはあまり進展が無いと思う。まあ、アマチュアだし
サーベイをちゃんとしてるわけじゃないから確約は出来ないが。

411774ワット発電中さん:2009/09/18(金) 18:26:03 ID:j+7Wqv/w
だって(狭義の)データフローなんて80年代で滅びたんだもん
マルチスレッドに移行してこれも滅びた

>>410
馬場先生のがある
洋書はGaoとGaudiotのくらい
412774ワット発電中さん:2009/09/18(金) 19:16:09 ID:u4ryLd0O
俺にアンカーつけられても困る。
つか、>>403にその本紹介してやれよ。
413774ワット発電中さん:2009/09/18(金) 19:26:16 ID:SQvb44ye
その昔、タイトルに"データフロー"と付いた本を読んだ記憶があるが、
ざっと検索するにたぶん
曽和将容『データフローマシンと言語』
かな。 >406より古い本だ。
414774ワット発電中さん:2009/09/18(金) 19:28:28 ID:j+7Wqv/w
>>412
お、何か気に障ったか?ww
415774ワット発電中さん:2009/09/18(金) 20:00:43 ID:HuLFLbLd
>>413
東大の坂井先生に、その著者は癖があるので気をつけろと
言われたことがある。過去に何かあったんだろうか?
416774ワット発電中さん:2009/09/19(土) 01:25:26 ID:kfJkxr3h
曽和先生は変人という話だが、実物は見たことない(←小ネタ)のでわからない
417774ワット発電中さん:2009/09/19(土) 15:17:46 ID:oOkTRHIN
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
418774ワット発電中さん:2009/09/19(土) 22:38:27 ID:+3dxIZrN
なぜサポート窓口に質問しないのか不思議だ。
そのために馬鹿高い保守料払ってるのに。
419774ワット発電中さん:2009/09/19(土) 23:20:38 ID:hka0vg5/
何か不自由な人の可能性が高い
420774ワット発電中さん:2009/09/21(月) 06:24:23 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
421774ワット発電中さん:2009/09/21(月) 06:26:27 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
422774ワット発電中さん:2009/09/21(月) 06:27:52 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
423774ワット発電中さん:2009/09/21(月) 06:29:18 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
424774ワット発電中さん:2009/09/21(月) 06:32:25 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
425774ワット発電中さん:2009/09/21(月) 14:43:36 ID:ipFuEa9F
【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
426774ワット発電中さん:2009/09/21(月) 19:34:21 ID:IktI31G6
貼ると幸せになるコピペか?
おれも貼ってみよ

【質問1】

 RTL compiler で論理合成をしています。
 クロックラインへのバッファー挿入ケアが全くされず
 に困っています。クロックラインへファンアウト調整
 用のバッファーを挿入させたネットリストを生成する
 にはどのようにすればよいでしょうか?

 勝手にset_dont_touck_network clock がかかっていて
 どうしても解除できません。

 不可能であるなら、design compiler へ移行いたします。

 
【質問2】

 RTL compiler で論理合成をしています。
 データラインへのホールド調整を行うにはどのように
 すればよいでしょうか。

 set_fix_hold ができません。

 不可能であるなら、design compiler へ移行いたします。
427774ワット発電中さん:2009/09/22(火) 19:13:56 ID:mONUpANN
コピペしてたくさんレスすれば、声がデカイと思っている人がいるようだ。
同じ2chでも、ある種の板ではそんな気もする。さあね。
428774ワット発電中さん:2009/09/25(金) 20:58:14 ID:kxjWlsCD
>>417
質問1へのコメント
うろ覚えで恐縮だけど、
Cadenceはバッファー挿入は配置配線段階でケアする思想とか営業ゆーてた希ガス。
配置配線の状況次第で決まってくるし、合成段階で精度追求してもという考えからだろう。
まあ、微細化傾向では妥当性のある考えではある。

質問2へのコメント
質問1と同様だった希ガス。

(やっとアク禁解除なってコメント遅くなった)
429774ワット発電中さん:2009/09/30(水) 17:17:04 ID:t4iKF6Ya
でんす でんす けいでんす
これじゃベリ・ベリ・ドント・ケア
430774ワット発電中さん:2009/10/01(木) 10:34:05 ID:AQ/At+wK
最近はマグマばっかだな
431774ワット発電中さん:2009/10/02(金) 01:36:46 ID:e8junr5O
けいでんすマンボ、自信作だったのにしくしく
432774ワット発電中さん:2009/10/02(金) 10:19:40 ID:nLCX4PSZ
ビルドゲイツは好きだったよ、
おやじギャグっぽいネーミングにはひいたが。
433774ワット発電中さん:2010/04/26(月) 01:52:16 ID:QLKvB6o/
Jobs が 仕事 をする。
Bill gates は 金を取る。

機械翻訳するとbill gatesは請求門になるから。
434774ワット発電中さん:2010/06/11(金) 15:18:20 ID:Ac7/sAi4
>>433
遅レスだが、おもしろい!
435774ワット発電中さん
ビルドベースを思い出すやつはおっさん確定保守