A(続き):富士通さんがメーカーとして使えると保障されるTiming Budgetの中でユーザーから見た時に、確かにそこそこの性能は出ているし、これはいいねって言う所が、やっぱり200MHz前後でした。トランジスタ(の数)を落とせば、300~400MHzも可能だったかもしれません。でもそれは大きなトランジスタを使うので、結果的にIntelさんとは違う話になってきます。トランジスタを大きくした分だけ動作周波数は上がるんですけど、熱の問題と並列度を稼ぐ為の演算機の中のHardwareのBudgetも膨らんでくることになります。結局、並列度と動作周波数とか、そのあたりのパラメーターのバランスというものがある訳です。そこで、このあたりが(どの要素も)そこそこですという話になってくるわけで。後は入口と出口とかそういうWiringの届く範囲で、では動作周波数も200MHzは難しいけれど166MHzならなんとか行くとか。Timing的にも結構ぎりぎりで、富士通さんからも結構ブーイング出てまして、技術者も「こーれ厳しいですよ」などと言いながらもう頑張って頑張ってなんとかTiming通してくれたりとか。シミュレーション上では出てるんだけれど、チップ配線したした時に実際は苦しいとか。
ただ我々はベンチャーなので、こんなものに2年も3年も延々といじっているわけには行かないですよね。もうどこかで決めなければいけなくて、しかも当時はキャリアさんとか色々待ってましたので、そういう所でずれをやはり最小にしたい訳です。結果的には若干ずれましたが、ただずれを最小に抑えて、恐ろしく短い時間で人もマシンも物凄く回してくれて、それでなんとか仕上げてます。その中で収束可能なポイントがどこだったか、と言えば動作周波数が一つありました。動作周波数を166MHzにしておけば、Samplingで収まりますし、しかもその時に並列数も期待できます。熱の問題も解決できます。で、そうなって来た時に、そこを達成できる配線をあるコストで実現しようとすると、Wiringの届く範囲は当然決まって来ます。これはTimingのVibrationが起こるか起こらないかというギリギリのところで、「じゃあこれ位で行こうよ」と。2のn乗と言う意見もありましたが、6個位だと丁度300、大体それで収まるように。8×8=64で、それの6個分の掛け算に近い数字で収めるという意味ですね。そう言った所が、中で使う部品の関係も有るんですけれど、トレードオフになってます。ただ次に出すのは、色々過去の経験が生きているので、効率上げる為に、コンパイラですとか、Fitterから抜いて通し易い仕掛けは入れてますけど。
Q:ちなみに130nmだと配線層は何層になるわけですか? 3層くらいで済ましてるんですか?
A:いやもっと。数字は公表できないのですが、結構使ってます。大体バスが32bitで、それが縦横全部走るので。そうすると、やはりチャネル数もそれなりに上げないと現実的なスループットもありますので。ASICとしてはかなり(配線層数が)上限で、これでぎりぎりですみたいな所で富士通さんもやってくれています。
Q:130nmのASICでぎりぎりと言ったら、9層か10層近くまでなりそうですね。
A:ちょっとコメントできないですけどね。
Q:また図に戻りますが、この図でRAMはどういう配置になるんですでしょう? やはりこれも六つに均等に分割されているのでしょうか? それとも、エリア全体にかぶるようにRAMのPEは配置されるんですか?
A:RAMはですが、結果的には見かけ上、あるレイアウトで縦方向が何ラインと横方向が何ラインという形で固定で配置を決めました、結果的は後でちょっと批判がでました。批判が出たというのは、その配置そのものは対称設計で、人の見た目にも理論的にも結構美しくなったのですが、先ほどの話とは逆に、物理的にそこを通す為の制約があったという事と、結果的に配線自由度を減らすことになってしまいました。というのは、実際のアプリケーションを見ると、RAMを使って(結果を)次のRAM(に書き込む)とか、RAMを複数個使って何かの処理をやり、またRAMに戻すといった処理が多いんですよね。で、集中させるとそこが結構Bottleneckになるリスクがあるので、結果的にLayoutとかFitterの方は、そこのBottleneckを避けるように、迂回しながら全部Wiringを通すような。勿論物理的に配線をするという意味ではなく、Wiringの自由度を補償するような格好になってるのですが、それがまあ今回反省点としては挙げられました。
要するに、見た目はちょっと良いのだけれど、論理的に追い込む時に、あるいは繋ぐ自由度を考えた場合に、使える所をどんどん削ってってしまう事になるわけです。例えばですね、配線を特に欲しい人が、一列になった配線取り合ってしまうと、そこの近傍の配線は枯渇する訳ですね。
Q:はいはいはい
A:そうすると迂回しなければいけない。ちょうど高速道路なんかもそうなんですが、みんなが「使える」と思うと、どんどん利用客が入ってきて使いにくくなる。同じことが起きていまして、そこのネック具合が一寸アプリケーション側で問題になっていまして。ですので、こうしたことを均等に、できるだけ分散して、いろんなものがネックにならないような方が、トレードオフとしては結果的には良かったんではないか、と。ただそうは言ってもレイアウトの制限も色々有るので、そこはちょっと、やり方の議論になりましたですね。