日々、色々と見たこと思いついたことをだらだらと書こうかと・・・ by 魯
色々だらだら
RISC vs CISC ?
PC Watchの後藤弘茂のWeekly海外ニュースに
Core Microarchitectureの解説が出ています。
曰く「『Core Microarchitecture』の速さの秘密は
“CISCの美”」。
これ、どういう意味なのでしょうね?
何回か読んでみたのですが、よくわからないのです。
典型的なスーパースカラRISCの実行段は
こうなっています。

そして後藤氏の記事のブロックダイアグラムの
実行段(一番下)を見ると上の図と基本的に
同じです。
一方、典型的なCISCではこうなります。

メモリ-レジスタ演算、もしくはメモリ-メモリ
演算があるので、まずメモリ(Data Cache)を
読んで、それから演算、そしてメモリにストアと
直列に処理することになります。
そういう視点で見ると「どこがRISCなんじゃ?」
ということになります。そして後藤氏の記事でも
「最後の最後だけRISC風」と書いてあります。
しかし、この違いこそがRISCとCISCの実装時の
違いだと思うのですが・・・・
まぁ、それは置いておくことにしましょう。ここに
こだわると全く理解できそうもありません。
ということで、別の見方をしてみましょう。
各プロセッサの比較をした図を見るのがわかり
易そうです。
これを見ると要するにCoreでは極力元のx86
命令を分解しないということのようです。
となると、この図の"Schedulers"の部分で
命令を分解しているのでしょうか?
でも、分解すると当然幾つかの命令に分かれます。
その数は一定ではない筈なので、ここにバッファが
必要になりますが、リオーダーバッファはこれより
前にありますので、役に立ちません。
ん?"Reorder Buffer"の所に"Retirement Unit"
って書いてありますね。しかも"Schedulers"から
何やらフィードバックの矢印が・・・
そうかぁ、スケジューラーで依存関係や実行段の
リソース不足で順番待ちになったマイクロ命令は
「引退」してリオーダーバッファに戻ってくるの
ですね、きっと。
しかし、そうなると"Decode"の処理ってどう
しているのでしょうか?複雑なマルチサイクル
命令だけマイクロコードに展開しているの
でしょうか?謎です。
しかも、これでどうして性能が上がって消費
電力が下がるのかもよくわかりません。
そもそも、RISC vs CISCという話自体が
虚しい感じはするのですけどね。
単純にuOPの幅(bit数)が拡がって水平型に
なったというだけだったりすると思いっきり
脱力ですが・・・
Core Microarchitectureの解説が出ています。
曰く「『Core Microarchitecture』の速さの秘密は
“CISCの美”」。
これ、どういう意味なのでしょうね?
何回か読んでみたのですが、よくわからないのです。
典型的なスーパースカラRISCの実行段は
こうなっています。

そして後藤氏の記事のブロックダイアグラムの
実行段(一番下)を見ると上の図と基本的に
同じです。
一方、典型的なCISCではこうなります。

メモリ-レジスタ演算、もしくはメモリ-メモリ
演算があるので、まずメモリ(Data Cache)を
読んで、それから演算、そしてメモリにストアと
直列に処理することになります。
そういう視点で見ると「どこがRISCなんじゃ?」
ということになります。そして後藤氏の記事でも
「最後の最後だけRISC風」と書いてあります。
しかし、この違いこそがRISCとCISCの実装時の
違いだと思うのですが・・・・
まぁ、それは置いておくことにしましょう。ここに
こだわると全く理解できそうもありません。
ということで、別の見方をしてみましょう。
各プロセッサの比較をした図を見るのがわかり
易そうです。
これを見ると要するにCoreでは極力元のx86
命令を分解しないということのようです。
となると、この図の"Schedulers"の部分で
命令を分解しているのでしょうか?
でも、分解すると当然幾つかの命令に分かれます。
その数は一定ではない筈なので、ここにバッファが
必要になりますが、リオーダーバッファはこれより
前にありますので、役に立ちません。
ん?"Reorder Buffer"の所に"Retirement Unit"
って書いてありますね。しかも"Schedulers"から
何やらフィードバックの矢印が・・・
そうかぁ、スケジューラーで依存関係や実行段の
リソース不足で順番待ちになったマイクロ命令は
「引退」してリオーダーバッファに戻ってくるの
ですね、きっと。
しかし、そうなると"Decode"の処理ってどう
しているのでしょうか?複雑なマルチサイクル
命令だけマイクロコードに展開しているの
でしょうか?謎です。
しかも、これでどうして性能が上がって消費
電力が下がるのかもよくわかりません。
そもそも、RISC vs CISCという話自体が
虚しい感じはするのですけどね。
単純にuOPの幅(bit数)が拡がって水平型に
なったというだけだったりすると思いっきり
脱力ですが・・・
コメント ( 0 ) | Trackback ( 0 )
組込みシステム開発技術展

ESECと呼ぶ方が通りが良いのですが、今年も
「組込みシステム開発技術展」に行ってきました。
去年は「有象無象」と書いたのですが、今年は
更に輪をかけておりました。何をしているのだか
わかりにくい展示が多すぎます。
それはそうと、今年はやたらとCAN,Flex Rayと言った
自動車で使うLANの開発ツールが結構目に付きました。
これからの車載装置には車内LAN対応が必須なので
しょうね。
一方、ワイヤレス関係はやや下火、というよりも普及
段階に入って落ち着いたのでしょうか。
全体的に面白いものは殆どなかったのですが、個人的に
欲しいなと思ったのは、特定小電力のモジュールです。
アンテナまで一体型になっているので、技適を取り直す
必要がありません。これが2個あればちょっとした
リモートコントロールシステムを簡単に作れます。
それから、去年はESECの一部だったRFID関連は独立の
展示になりました。

RFIDも技術基盤は出来ているのだけど応用分野が
拡がらないですね。どこのブースでの似たような
アプリケーションしか提示していません。
さて・・・・

いきなり「入場証」を出してしまいましたが、何故
だかわかります? これはESEC用の物ですが、RFID
ソリューションも同様です。よーく見てください。
一番下に何があるでしょうか? そう、バーコード。
まぁ、これがRFIDの現状を物語っているのかも
しれません。
そうそう、この展示会では色々な人に出会います。
某ブースに行ったらtsukijiotさんが・・・・
他にも5人程、懐かしい人々に会って来ました。
展示会の後は技術者交流会もあったのですが、
若い人がいないのが寂しいです。この業界を支えて
いるのは中年オヤジばかりとなりつつあります。
コメント ( 2 ) | Trackback ( 0 )
perlは危険だぁ!
お仕事でcpuのシミュレーションをしていたのですが、
以前は正常に実行できたプログラムが異常動作して
しまいます。何故だろうと調べたらプログラム自体が
おかしい。こんなものまともに動くはずがないので
あります。でも以前は動いていた筈・・・何故?
実はこのプログラムはperlのスクリプトで生成した
ものでした。で、今回は以前に生成したものでは
なく、新たに生成し直したものです。perlの
スクリプト自体は以前と同じなので、生成された
ものも当然同じだと思っていたのですが・・・
実際は違っていました。
perlってバージョンによって動きが違うという
話は聞いてはいたのですが、そんなに複雑な
スクリプトではないんですけど・・・
では、どんな記述かというと・・・
printf FILE (" cmpeq \%r%d, 0%X%X%X%X%X%X%X%X\h\n", $m, $jj, $j-$jj+3, $jj, $j-$jj+2, $jj, $j-$jj+1, $jj, $j-$jj) ;
この部分です。
今回使ったリビジョン5.8.0では$mが無視されて
%dのところに$jjがprintされてしまいます。
これはバージョン間の違いというよりバグですね。
なんでこんな基本的なところにバグがいるのか?
トホホ・・・です。
ちなみに、Webで調べてみると5.8.0は問題が
多いみたいですね。
しかし、cgiなんてperlで動いているが多いのに
こんなに信頼性の低い処理系だったとは、驚きです。
以前は正常に実行できたプログラムが異常動作して
しまいます。何故だろうと調べたらプログラム自体が
おかしい。こんなものまともに動くはずがないので
あります。でも以前は動いていた筈・・・何故?
実はこのプログラムはperlのスクリプトで生成した
ものでした。で、今回は以前に生成したものでは
なく、新たに生成し直したものです。perlの
スクリプト自体は以前と同じなので、生成された
ものも当然同じだと思っていたのですが・・・
実際は違っていました。
perlってバージョンによって動きが違うという
話は聞いてはいたのですが、そんなに複雑な
スクリプトではないんですけど・・・
では、どんな記述かというと・・・
printf FILE (" cmpeq \%r%d, 0%X%X%X%X%X%X%X%X\h\n", $m, $jj, $j-$jj+3, $jj, $j-$jj+2, $jj, $j-$jj+1, $jj, $j-$jj) ;
この部分です。
今回使ったリビジョン5.8.0では$mが無視されて
%dのところに$jjがprintされてしまいます。
これはバージョン間の違いというよりバグですね。
なんでこんな基本的なところにバグがいるのか?
トホホ・・・です。
ちなみに、Webで調べてみると5.8.0は問題が
多いみたいですね。
しかし、cgiなんてperlで動いているが多いのに
こんなに信頼性の低い処理系だったとは、驚きです。
コメント ( 0 ) | Trackback ( 0 )
EDSF2006

EDSF2006に行ってきました。
正式名称は
"Electronic Design and Solution Fair"
要するにエレクトロニクス製品の開発に
使う道具類の展示会です。従って、一般の
人には全然縁のない製品ばかり並んでいます。
今年は半導体業界は景気がいいという話
ですが、この展示会に関しては去年より
低調な感じです。
まぁ、来場者が少ないのは景気が良くて
皆さん忙しいのかもしれませんが、
ブースで配っているノベルティ類も
去年よりつまらないものになっています。
何でだろう?
展示物に関してもあまり目新しいものは
ありませんでした。一番目に付いたのは
消費電力関連のツールかなぁ。
検証関係のツールに関してはアサーションも
ある程度普及して一段落と言う感じで、
目立った出展はありません。強いて言うなら
CALYPTOのSLECは新しい発想のツールだけど
適応範囲が狭いのでどこまで売れるか??
あっ、あと検証ではエミュレータ/
アクセラレータも幾つか出てます。
一番派手だったのはEVEでコンパニオンが
沢山いたけど、技術者は2人位しかおらず
話を聞くことができませんでした。逆に
某社はひっそりと裏に隠してあって「渡辺さん
見て行ってください」と連れ込まれました。
今回欲しいなぁと思ったのは二つです。
一つは丸紅ソリューションで出していた
TimeCraftのOCVオプション。
これは従来一律で付けていたOCVを
もっときめ細かく設定することに
よってタイミング設計を楽にして
くれるそうです。OCVに苦しめられて
いる我々には嬉しいツールです。
もっともASICベンダが対応してくれ
ないとどうにもならないのだけど、
うちで使っているあの会社は唯我
独尊で、この手のツールを導入
するのを嫌うからなぁ・・・
もう一つは、SynaptiCAD Incの
WaveFormerProです。これはマウスを
使って簡単に波形を書けるツールで、
波形からVerilog等のスティミュラスを
生成することもできます。こういう
ツールをずっと探していたのですが、
なかなか無かったのですよねぇ。
残念だったのはエスシーハイテクが大幅に
ブースを縮小していたことです。
VerilogやSynopsysDCといった今では
超メジャーになったツールを日本に
持ち込んだ名門なんですが、今では
レイアウト関連の製品が僅かに残って
いるだけなんですねぇ。
さて、これ読んでくれた人、何人いるんだろう?(^^;
コメント ( 4 ) | Trackback ( 0 )
ET2005
パシフィコ横浜で開催されているET2005に
行って来ました。

中はこんな感じです。

各企業とも景気がいいのかブースは派手に
なっています。でもその分、何をしているのか
わからない展示が増えています。
展示ブース作りの基本がわかっていない会社が
多いんですよねぇ。弊社でも最初に展示会に
出した時に担当者がこの基本を知らなかった
ために初日の集客力は惨憺たるものでした。
で、初日の夜に改造大作戦をしたら二日目
からは3倍増のお客様が足を止めてください
ました。
ちなみに、このノウハウは内緒ですが、
コンサルテーションの受託はいたします。
お安くしておきますよ(^^;
さて、それはともかく、今回面白かった
ものをご紹介しましょう。
まずはこれ、

車輪二個で基板を直立させたまま前後に動く
ことができます。実際に動いている様子は
こちらの動画でご覧ください。ケータイの設定を
失敗して画像が小さいのですが、ご容赦を。
最後に倒れるのはご愛嬌ですが、これは偶然
撮れたもので、そんなに頻繁にはコケません。
つづいてこちら、

思いっきり大雑把に言ってしまうと、認証用の
暗証番号キーの数字のかわりに人やペットの
画像を使うというものです。勿論キーの上に
写真を貼るなんていう単純なものではなく、
液晶等のディスプレイに画像を表示します。
その画像の組み合わせは使用者毎に違うものに
なります。
実際に普及するかどうかはともかくアイデア
としては面白いと思います。
最後は面白いというよりもトレンドです。

ワイヤレスという展示がやはり増えています。
行って来ました。

中はこんな感じです。

各企業とも景気がいいのかブースは派手に
なっています。でもその分、何をしているのか
わからない展示が増えています。
展示ブース作りの基本がわかっていない会社が
多いんですよねぇ。弊社でも最初に展示会に
出した時に担当者がこの基本を知らなかった
ために初日の集客力は惨憺たるものでした。
で、初日の夜に改造大作戦をしたら二日目
からは3倍増のお客様が足を止めてください
ました。
ちなみに、このノウハウは内緒ですが、
コンサルテーションの受託はいたします。
お安くしておきますよ(^^;
さて、それはともかく、今回面白かった
ものをご紹介しましょう。
まずはこれ、

車輪二個で基板を直立させたまま前後に動く
ことができます。実際に動いている様子は
こちらの動画でご覧ください。ケータイの設定を
失敗して画像が小さいのですが、ご容赦を。
最後に倒れるのはご愛嬌ですが、これは偶然
撮れたもので、そんなに頻繁にはコケません。
つづいてこちら、

思いっきり大雑把に言ってしまうと、認証用の
暗証番号キーの数字のかわりに人やペットの
画像を使うというものです。勿論キーの上に
写真を貼るなんていう単純なものではなく、
液晶等のディスプレイに画像を表示します。
その画像の組み合わせは使用者毎に違うものに
なります。
実際に普及するかどうかはともかくアイデア
としては面白いと思います。
最後は面白いというよりもトレンドです。

ワイヤレスという展示がやはり増えています。
コメント ( 0 ) | Trackback ( 0 )
しまったぁ!
バグ出したぁ!
どうしよう・・・・・・
リソースが空くの待ってないよぉ・・・
チップ直すと1億円はすっ飛ぶよなぁ・・・
ソフトウェアで逃げるにはこうすれば・・・
あっ、それでも最悪の場合駄目だよなぁ・・・
とりあえず落ち着くために風呂でも入って来よう。
風呂に入りつつ、
でもさぁ、この対策で駄目な位ならもっと頻繁におかしくなる筈だよなぁ・・・
ということは何か勘違いしている?それとも今まで運がよかっただけ?
まぁ、風呂から出たら確認だな。
風呂から出てコードを眺めるつつ、
あっ、そうかぁリソースの空き待ちはここでしているのね。
だったらバグじゃないよ、何も問題ないじゃん!!
あ~ぁ、寿命が1年は縮んだよ。
教訓:
手抜きしてVT100互換のtelnetクライアントの小さな窓で
コード眺めちゃいけないっすね。何故かftpできなかったんで
ローカルに持って来なかったのが敗因でした。
どうしよう・・・・・・
リソースが空くの待ってないよぉ・・・
チップ直すと1億円はすっ飛ぶよなぁ・・・
ソフトウェアで逃げるにはこうすれば・・・
あっ、それでも最悪の場合駄目だよなぁ・・・
とりあえず落ち着くために風呂でも入って来よう。
風呂に入りつつ、
でもさぁ、この対策で駄目な位ならもっと頻繁におかしくなる筈だよなぁ・・・
ということは何か勘違いしている?それとも今まで運がよかっただけ?
まぁ、風呂から出たら確認だな。
風呂から出てコードを眺めるつつ、
あっ、そうかぁリソースの空き待ちはここでしているのね。
だったらバグじゃないよ、何も問題ないじゃん!!
あ~ぁ、寿命が1年は縮んだよ。
教訓:
手抜きしてVT100互換のtelnetクライアントの小さな窓で
コード眺めちゃいけないっすね。何故かftpできなかったんで
ローカルに持って来なかったのが敗因でした。
コメント ( 0 ) | Trackback ( 0 )
アーキテクチャのマイクロとマクロ
PC WatchにARMのFall Processor Forum 2005での
発表に関する記事が載っています。
この記事で気になったのは
「Cortex-A8」のマイクロアーキテクチャであるARMv7は
と書いてあることです。一方、ARMのスライドには
ARM7v instruction-set architecture
とあります。
何で「インストラクションセット」を使わずに
「マイクロ」と書いたのでしょうか? 普通は
インストラクションセットアーキテクチャのことを
マクロアーキテクチャと呼び、マイクロアーキテクチャ
というのはパイプラインの構造や命令の発行方法を
さす筈なんですが。
どう考えてもこの部分間違いだと思うのだけどなぁ・・・
こういう記事を見ると、書いた人のバックグラウンドを
知りたくなります。
ところで、ARMもとうとう2命令同時発行なんですねぇ。
ARMの命令セットは全命令条件実行なので先行命令との
依存関係が発生しやすく、スーパースカラには向いて
いるとは言いがたいのです。とは言え、性能を上げて
MIPSやPowerPCの市場を食わないと先細りになって
しまうから作らざるを得ないというところなので
しょう。
発表に関する記事が載っています。
この記事で気になったのは
「Cortex-A8」のマイクロアーキテクチャであるARMv7は
と書いてあることです。一方、ARMのスライドには
ARM7v instruction-set architecture
とあります。
何で「インストラクションセット」を使わずに
「マイクロ」と書いたのでしょうか? 普通は
インストラクションセットアーキテクチャのことを
マクロアーキテクチャと呼び、マイクロアーキテクチャ
というのはパイプラインの構造や命令の発行方法を
さす筈なんですが。
どう考えてもこの部分間違いだと思うのだけどなぁ・・・
こういう記事を見ると、書いた人のバックグラウンドを
知りたくなります。
ところで、ARMもとうとう2命令同時発行なんですねぇ。
ARMの命令セットは全命令条件実行なので先行命令との
依存関係が発生しやすく、スーパースカラには向いて
いるとは言いがたいのです。とは言え、性能を上げて
MIPSやPowerPCの市場を食わないと先細りになって
しまうから作らざるを得ないというところなので
しょう。
コメント ( 0 ) | Trackback ( 0 )
SYNOPSYS USER MEETING

今回は検証、低消費電力とそこそこ面白い話が
聞けました。でもLSIの論理検証ってどこも皆
苦労しているみたいですねぇ・・・
そもそも検証でバグを洗い出すことに重点を
置くのは間違っているんですよねぇ。力を入れる
べきはバグのないコードを記述すること。
でも、残念ながらこの点をサポートするツールは
まだLSI設計の世界では皆無に近いし、方法論も
ないのが実態なんですが。
コードカバレッジについての話もあったけど、
ガバレッジってまぁ一応有効ではあるのだけど、
原理的に記述していなことの検出はできないの
ですよねぇ。極端な話、モジュール1個を入れ
忘れて、しかも検証ベクタも作らなかった時には
何も検出できない。まさか、そんなことは・・・
と思うかもしれませんが、実際にそういう不具合を
出した事例を知っています。
コードカバレッジの悪いところって、結果が数値で
出てくることです。実はその数値はベクタの品質とは
関連が薄いのだけど、どうしてもその数値を上げる
ことに力を入れてしまうのが人情というものです。
そして100%になると安心してしまう。その結果は
本質的なバグから目がそれて・・・合掌。
コメント ( 0 ) | Trackback ( 0 )
CEATEC(2)
今回はお仕事がらみということで、半導体関係を
中心に書いています。
まずは東芝のcellです。SONYではcellの展示はあり
ませんでした。

開発の中心人物達も見に来ていました。
展示は評価ボードやチップがあったけど、PS3以外に
どう使うかという点に関してはまだノーアイデアという
印象を受けました。まぁPS3だけでも売れれば十分な
量になるのでしょうけど。
これも東芝で45nmのパネルです。

まだ開発段階で受注はしていないのでしょうけど
それでも展示してしまうのは元気な東芝らしい
ところです。
うって変わってこちらはHDのH.264リアルタイム
エンコーダーです。

HDのエンコードはまだ1チップでのソリューションは
ありません。従って、複数のDSP等を使うことになります。
ということで、こんな大きな箱になっていました。

今度はNHKの展示で超高速カメラです。

普通超高速カメラというとCCDからの画像を
DRAMに溜め込むのですが、これはCCDとメモリを
1チップにまとめて転送速度を稼いでいます。
そのため144フレームしか撮れないけど100万分の
1秒間隔で撮影できるという化け物です。
こんなもの民間企業には企画できませんね。
受信料で開発するNHKだからこそできることです。
中心に書いています。
まずは東芝のcellです。SONYではcellの展示はあり
ませんでした。

開発の中心人物達も見に来ていました。
展示は評価ボードやチップがあったけど、PS3以外に
どう使うかという点に関してはまだノーアイデアという
印象を受けました。まぁPS3だけでも売れれば十分な
量になるのでしょうけど。
これも東芝で45nmのパネルです。

まだ開発段階で受注はしていないのでしょうけど
それでも展示してしまうのは元気な東芝らしい
ところです。
うって変わってこちらはHDのH.264リアルタイム
エンコーダーです。

HDのエンコードはまだ1チップでのソリューションは
ありません。従って、複数のDSP等を使うことになります。
ということで、こんな大きな箱になっていました。

今度はNHKの展示で超高速カメラです。

普通超高速カメラというとCCDからの画像を
DRAMに溜め込むのですが、これはCCDとメモリを
1チップにまとめて転送速度を稼いでいます。
そのため144フレームしか撮れないけど100万分の
1秒間隔で撮影できるという化け物です。
こんなもの民間企業には企画できませんね。
受信料で開発するNHKだからこそできることです。
コメント ( 2 ) | Trackback ( 0 )
マイクロプロセッサフォーラムジャパン2005
日本でマイクロプロセッサフォーラムを開催するそうで・・・
ちょっと行って見たい気もするけど、参加費25万円じゃ
絶対に元は取れないなぁ。
しかし、「同じ講師を日本に招き」って発表者は『講師』
なんだぁ、知らなかった。
ちょっと行って見たい気もするけど、参加費25万円じゃ
絶対に元は取れないなぁ。
しかし、「同じ講師を日本に招き」って発表者は『講師』
なんだぁ、知らなかった。
コメント ( 0 ) | Trackback ( 0 )
TSMCシンポジウム

今日はパシフィコ横浜の会議センターで行われた
「TSMCシンポジウム」なるものに行ってきました。
と言っても業界の人にしかわからない話ですね。
ちなみに、この会議センターってインター
コンチネンタルホテルと同じビルの中です。
で、お昼は時間があまったので会議センターの
裏に回って海を見てました。

うーん、釣竿持ってくれば良かったなぁ(^^;
コメント ( 0 ) | Trackback ( 0 )
展示会

正式名称は「組み込みシステム開発技術展」ですが、一般には
ESECと呼ばれています。「組み込みシステム」と言うのは
大雑把に言っていまえば、コンピュータ以外の電子機器です。
具体的には家電製品から車、ロボット、医療用機器等々
幅広い製品になります。
で、そんな幅広いシステムの開発に関する展示ですから色々な
出品があるのですが、今年はあまりにも有象無象で見ていても
得るものがあまりない展示会でした。昔はもう少しまとまりが
あったのですが、毎年規模が拡大するのに伴ってあまり関係
ない展示が増えて内容が薄くなっているような気がします。
一方、出展する会社も慣れていないところが多いのでしょう。
大きな字で社名や製品名を書かれても何を訴えたいのか全く
わかりません。客の足を止めたいのなら相手がわかるキーワード
そして更には興味を持っているキーワードを大きな字で書く
必要があるという基本がわかっていない会社が大半。
まぁ、展示会というものが、インターネットがこれだけ発達した
時代にどれだけの意味があるかというのが、根本的な問題なのかも
しれません。しかし、この展示会の主催者はそこには目をつぶって
ともかく規模を大きくして
来場者を増やす→出展社が増える→来場者も増える→・・・
という好サイクルにするという戦略をとっているように感じます。
でもそんなことしているから昔から出展している大手に嫌われて
薄い展示になっちゃっているような・・・
コメント ( 6 ) | Trackback ( 0 )
次ページ » |