2006年07月の日記。

2006年07月03日

Core アーキテクチャは革新?

後藤さんの記事ですが、歯切れが悪いです。何か書けないことでも聞いてしまったのでしょうか。

まず、結論として次のように述べています。

パフォーマンス/消費電力では強力なアドバンテージがあるCore MA。しかし、その秘密の源は、あまり理解されていない。Intelが体系的な説明をあまり行なっていないためだ。そのため、Core MAは、「細かな省電力技術の集合体で、抜本的なマイクロアーキテクチャ革新とは見えない」あるいは「Banias(Pentium M)のベースとなったP6(Pentium Pro/II/III)アーキテクチャを拡張しただけ」とよく言われる。

その理由として:

しかし、おそらく、これはどちらも正しくない。Core MAは、明確にP6やNetBurst(Pentium 4)とは異なるフィロソフィ(思想)を持ち、マイクロアーキテクチャが抜本的に革新されているからだ。それを象徴するのは、内部命令(Micro Operations:uOPs)のアーキテクチャだ。Core MAとNetBurstでは、これが根本的に異なっているため、パイプラインの構造が全く異なるものとなっている。

何がおかしいのかというと、「Core MAとNetBurstでは、これが根本的に異なっているため、パイプラインの構造が全く異なるものとなっている。」という部分です。この一文だけだと何もおかしくないのです。しかし、これだけでは理由としては不足です。CoreとNetBurstは根本的に異なる、と言うのはよいのですが、P6系とNetBurstも根本的に異なるのです。むしろ、NetBurstだけが突然変異体と言えるでしょう。CoreアーキテクチャはP6アーキテクチャを拡張しただけ、という主張に反論する際にCoreアーキテクチャはNetBurstとは違う、と言っても「そんなことは解ってる」とか「それがどうした」で終わってしまいます。「そうめんは冷麦を細くしただけ」という主張に対して「そうめんは蕎麦とは違う」と言っているようなものです。

大きな違いといえば、複合命令のままリオーダバッファに投入することです。P6やNetBurstでは単純命令に分解してからリオーダバッファに投入していました。P6のころ、1995年発売ですから設計は1993年頃だと思いますが、その当時のディスパッチャ、スケジューラではアウトオブオーダするには命令を小さくする必要がありました。複合命令の依存関係を検出、調整するには回路が足りないのです。クロック周波数を上げるためには各ステージを短くする必要がありますが、当時の技術ではその制限時間内に複合命令の再スケジュールを行うのは割りに合わなかったのです。

NetBurstではさらにクロック周波数を上げるという戦略に出ました。クロック周波数さえ上がればよいのでますます細かな命令に分解して各ステージの所要時間を短くしました。ですから、所要時間が長くなる複合命令での再スケジュールという発想はありませんでした。これがCoreとの設計思想の違いになります。

P6もNetBurstも、単純命令をリオーダバッファに投入しますがその理由は異なります。

P6アウトオブオーダ実行のためには複合命令は難しかった。なので単純命令に変換した。
NetBurstクロック周波数を上げるには複合命令は所要時間が遅かった。なので単純命令に変換した。

あれから10年、今では550万トランジスタのPentium Proから4200万トランジスタのPentium 4、Dothanでは7700万と同じサイズで10倍以上のトランジスタをつぎこめます。P6の時の「アウトオブオーダのための単純命令」という条件が外せるようになりました。

複合命令のままスケジューリングするということは、P6の設計思想と異なるものではなく、推し進めたものだと考えています。

プラットフォーム

いろいろ書こうと思っているのですが、読んで解るような人ならキーワードだけで伝わるような気もしてきたのでキーワードだけ。

で、あれですが、テレビって何で売れてるんですかね。面白いですよね。

MMRがライター募集

な、なんだってー!!

2006年07月04日

モジュール化によるオーバヘッド

Intelより設計リソースが少ないAMDが、3つの異なるダイ設計を平行させることができるようになる、そのカギはモジュラー設計だ。CPUコアの各ファンクションユニット間のインターフェイスをクリーンに定義。それによって、異なるユニットのコンフィギュレーションを容易にした。PC&サーバー向けのハイエンドCPUでモジュラー設計を取らない理由は、オーバーヘッドを減らして性能を最大化するためだ。しかし、AMDは設計のモジュラー化が性能に与える影響はないとしている。オーバーヘッドがあったとしても、モジュラー化によるコンフィギュレーションの容易性の方が、市場での利点が多いと判断したのかもしれない。

設計のオーバヘッドは配線長が長くなることとそれによるレイテンシの拡大でしょう。モジュラ化により各ブロックを明確に区分けする必要が出てくるはずですが、そうなると他ブロックとの接続部分は一番長い所にあわせる必要が出てくると思います。

これによりレイテンシが延びるとクロック周波数を上げられなくなりますがモバイル用CPUは消費電力との兼ね合いで高クロックを狙わないでしょうから性能には影響しないのでしょう。

2006年07月07日

Linux 2.6.17 with suspend2

FIVA(というか、MediaGX、GeodeGX、C3のようなPSE非対応CPU)だとハイバネーションできなかったのですが、なんとか(ページング周りの修正は盛りこまれ済みでしたのでほとんど無修正)できるようになりました。シングルユーザモードでしか試してませんが大体よさそう。

次はPCMCIA周り。

2006年07月09日

Linux 2.6.17 with FIVA

CardBusカードが動作しなかったのはPCI周りの問題でした。arch/i386/pciを見ると、2.6.16と比べてコードがかなり整理されていました。

整理されて動かなくなるというのも不思議なものですが、FIVAのBIOSが壊れているということでPCI_ANYではなくてPCI_DIRECTにすることで回避。

2006年07月12日

敵国

北朝鮮の弾道弾発射を受け、「敵基地」攻撃能力について検討を進めるべきという意見があります。専守防衛として、攻撃は最大の防御。しかし、民主党の小沢さんが異義を唱えているとか。

どうも、敵基地を攻撃するかどうかという点よりも「北朝鮮を敵として認定するかどうか」という点を重視しているようです。

一発だけなら誤射かもしれませんが、7発、10発という説もあるほど発射しているわけで誤射というよりは乱射という勢いです。しかも、こっちに向けて撃っている訳ですから、これを敵と看做さなくてどうするつもりなのでしょう。アメリカに向けて撃つのでしたらちゃんと国際条約に則り宣戦布告をし、対象国を明確にしてから撃つべきです。でなければ、その進路上の国は全部襲われていると認識しても不思議ではありません。

北海道知事の高橋はるみさんも面白いことを言っていて、「北海道上空を通過するおそれがあり大変遺憾、国からの情報提供が遅すぎる」といった内容のコメントを出したそうです。北海道上空を通過どころか、北海道庁を直撃するおそれだってあるというのにやけにのんびりとしたコメントです。

北海道は民主党の勢力が強いのでこんなものなのでしょうか。

ローカルディレクトリブラウザ

テスト用にフォールバックリソースにDfx*inputMethod: ximとか入れていたのですが、消すのを忘れていました。はっはっは。

2006年07月13日

キーが押されるまで待つ

物理的なキーじゃなくて標準入力のストリームですがこんな感じ?

#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#include <sys/select.h>

int main(void)
{
  fd_set fs;
  struct termios ti;
  int r;
  char buf[1];

  FD_ZERO(&fs);
  FD_SET(0, &fs);
  tcgetattr(0, &ti);
  ti.c_lflag &= ~(ICANON | ECHO);
  ti.c_cc[VMIN] = 0;
  tcsetattr(0, TCSADRAIN, &ti);

  for(;;){
    r = select(1, &fs, NULL, NULL, NULL);
    printf("incoming.\n");
    read(0, buf, 1);
  }
  return 0;
}

2006年07月18日

パロマ

湯沸機が壊れて、修理できないなら

よいのに、どうして第三の選択肢、「そのまま使う」になってしまうのか。

修理業者もおかしくて、「だましだまし使ってください」などと言うのはおかしな話です。不完全燃焼を起こしているので危ないということを伝えておけば命よりガス湯沸機のほうが大事という人でない限りは使うのを止めるか買い替えるはずです。

パロマも不思議で、事故が起きた時にその湯沸機を確認しているのでは無いでしょうか。少なくとも安全装置が無効化されていることくらいはすぐに把握できそうなものです。こういう調査結果はどこかで消えてしまうのでしょうか。

家の湯沸機もパロマ製だったような。

胃を摘出

これで王監督は負けても負けても「胃が痛い」とは言えない体に。

2006年07月19日

ゴールデンゴールズ

欽ちゃん球団は解散しなくてよいのでは。というか、してはいけないと思います。

球団が管理義務を負っていた訳でもありませんし。

2006年07月20日

パロマ

安全装置の無効化は、製造会社直伝という話も出てきました。

バグ

年末から悩んでいたバグがとれた。

ような気がします。

Windowsのドライバは楽ですが、Linuxのドライバは難しい。ということをそのうちに書いておきたい。

2006年07月24日

AMDがATIを買収

また噂が。二度目なので今度は本当かも。

いまいちメリットが見えてこないのですがコプロセッサ戦略?

HPC分野用のベクトルプロセッサを搭載した方がお金になりそうな気もしますが、大学だとお金が無いとかで儲けにつながらないようにも思えます。ゲーマー向けに作って、HPC用途に転用というのはわりと現実的かも。

5年後に搭載するならPhysXのような物理演算アクセラレータのほうが有望な気がするので買収するならATIよりAGEIAのほうを買うのではないかと思いましたが。安いし。

AMDがATIを買収 #2

ほんとでした。

ノートPCへの注力という話も出ていますが現時点ではPentium Mが強力過ぎて手が出ないように思えます。まずはノート用のプロセッサを準備する必要があると思いますが、これは先日のモジュラ化で実現できると踏んでいるのでしょうか。

IntelシステムだとCPU、グラフィクス内蔵ノース、サウスの3チップ、AMDだとノース内蔵CPU、グラフィクス、サウスで3チップ、特に不利というものは無いはずなのですが。

グラフィクスはメモリ食いですから、メモリコントローラの近くに置きたいというのは筋が通ります。AMDの場合メモリコントローラがCPUの中にあるのでそこに置くというのは必然かも。

てしえかりっくひ、メモリコントローラ内蔵グラフィクスと言うのはどうだ。

VLIWでx86をエミュレートしたEfficeonのように、ピクセルシェーダでx86をエミュレートする、CPU内蔵グラフィクスとか。

2006年07月27日

ツンデレ

北朝鮮はツンデレ。

2006年07月30日

bit Generations

ITmediaの記事が面白かったので出勤ついでに購入。DS Liteもあれば買おうと思いましたがやっぱり無かったので終了。

ヨドバシ店頭にはdot streamが1つとBOUNDISHが8つほどあったのですが、他が見当たりません。がっかり。とりあえずdot streamは目を付けていたので確保。レジに向かったら店員の後ろに各種山積み。もうひとつ目を付けていたsound voyagerも購入。もうひとつ、ITmediaの記事を見て欲しいと思っていたのがあったのですがタイトル(orbital)を思い出せなかったので放置。

パッケージもかっこよくて素敵。

プレイヤを選ぶというか、dot streamはともかく、sound voyagerは外部スピーカ必須なのが難点。イヤホン(MDR-EX71SL)の問題か、「ここだ!」と思ったポイントだと音が左に抜けていって残念な思いを堪能できるのが素敵。地下鉄でプレイしているとノイズキャンセラが欲しくなります。牛が迫りくるやつ、音の定位が狭くてどれも正面に聞こえてしまいます。MDR-EX71SLは音が中央寄りになりがちなので不向きなのかも。


トップを狙う

Copyrigiht © 2006 びい