BLADESearchLinkMacNextmedicalinfoNavi

nextpreviousa
14/Feb 2004 PowerPC 970FX
外部レベル3キャッシュの必要性

PowerPC G4 7457のL3キャッシュ容量は2メガのまま、コントロールできるアドレスが増えて、プライベートメモリとして利用できる容量が2メガ追加された。L3キャッシュ速度がそれほど速くなくても、コア内部にメモリの状態を保持するタグメモリが積まれているため、効率よくL3キャッシュを利用できるのがモトローラのやり方だ。この辺はDUAL構成のG4の場合、速度のそれほど早くないMPXバスを介して、2つのCPUのキャッシュ内部データの歩調を合わすための工夫である。キャッシュ内部のデータの状態をきめ細やかに把握することで、外部キャッシュや、MPXの遅さの影響を最低限に抑えている。このタグメモリの構成に手を加えず外部キャッシュの量は2メガのままというわけだ。それならプライベートメモリは役に立たないのかと言われると、そうでもない。MPXバスの速度的限界と比較すればまだ、L3キャッシュは高速だしシングルCPU構成なら、ソフトウェアで使い道はある。

これと比べるとIBMのCPUの作り方はスマートだ。必要な場所に必要なだけの帯域を持たせる。ボトルネックを嫌った設計で、ことにシステムコントローラが最初から2つのCPUを接続するように設計されていることなどいい例だろう。

しかし、この違いは仕方が無い。FABレス化(半導体生産施設をアウトソーシング)を進めるモトローラにとって、プロセスルールやチップ面積など、工場の性能に大きく左右される部分にCPUの性能を依存するよりも、一世代古い生産拠点でも十分な性能を発揮するために、ボトルネックを残しつつ設計で回避する。チップ内に取り込みたくてもコスト的に無理な大容量メモリなどは、速度が遅くても外付けを基本とする。

これがIBMとなると話は変わる。最先端のFABをもち、複雑なCPUと高密度なメモリを同じダイの上に集積しても、コスト的に対応可能だ。なにより生産拠点をコントロールできるということは、CPU設計が最先端の工場にあわせて最適化できるということである。G5をみると、システムコントローラーをCPUと同じ130nmのプロセスルールでアップルに提供できるコストパフォーマンスを保ったまま、込みで設計できたことなどが良い例だろう。

ただ、PowerBookに大容量L3キャッシュを搭載しないのはなぜと、首を傾げたくなる。G4の弱点がFSB=MPXバスの遅さとわかっているのなら、なぜL3キャッシュをたっぷり搭載しないのだろう。PowerBook G4 17 1.33MHzにはL3キャッシュコントローラー付きの7457が使用されている。なのに、L3キャッシュレス構成なのである。これは一つに、モトローラの逃げの姿勢に起因していると思う。モトローラはL3キャッシュクロックを200MHzまでしか想定していない。従来コアクロックの半分で動作していたのだから、DDRなら333MHzだ。但し書きには、テスト環境がソケット等を利用したものであり、基板設計をつめれば、より高い駆動周波数は可能だろうと書かれている。ようするに、アプリケーションメーカーに動作保証の責任を押し付けているわけだ。

PowerBook G5はどう?

当然、AppleもPowerBook G5を早期にリリースしたいに違いない。今のままでは、発熱、バッテリー持続時間が十分ではない。いずれも重量に直結するため消費電力あたりの性能が重要になる。高速化に手間取っているPowerPC 7457ではあるが、130nmプロセスルールで制作され、消費電力も小さい。それ以前に二つのCPUには大きな違いがある。

パイプラインの長さが全く違うのだ。パイプラインの中に抱えている命令はG4が16個であるのに対しG5は200にも及ぶ。これはPentium 4の126に大しても非常に大きい。たくさんの命令をCPUの中に抱え込むことができるということは、命令の再配列でCPUの実行ユニットに効率よく利用することができることを意味している。最適の余裕があるということだ。それ対し、分岐命令によってパイプラインバブルが発生すると、無駄にするエネルギーも処理時間もパイプラインの短いものと比較するとダメージが大きい。そこで、過去の分岐状況を記録しておき、分岐先を予測することで先に実行する「投機的実行」を行う。これは分岐予測が正確なければならない。分岐予測に関してはPentiumはG4の2倍の分岐状況の記録と、32倍もの分岐先記録を保持している。さらにPentiumはプリフェッチやデコードの後ろに命令用L1キャッシュを配置している。分岐予測の失敗による損害を最小限に抑える努力をしているわけだ。

分岐予測

それではG5はどうか。パイプラインが長く分岐予測ミスの代償は大きいので、分岐予測回路に多くの半導体が裂かれている。分岐ごとの状態保持エントリー数はペンティウムの4倍の16Kに及ぶ。しかし、「分岐したか」「分岐しないか」の保持しかしない1bitのローカル分岐履歴テーブルだ。一般的なシュミュレーションでは4Kエントリーを超える分岐履歴テーブルの効果はそれほど認められず、それよりも状態保持を2bitにした方が精度が上昇するとされている。G4も2Kエントリーで、おのおのは2bitである。3度目の正直ではないが、2bitあれば「2回連続でミスすれば、3回目からはミスをしない」という保持ができるからだ。それならなぜ1bitと首を傾げたくなるかもしれない。G5の分岐予測は二層構造になっている。1回のフェッチで8個の命令をパイプラインに流し込むが、過去11回分のフェッチが分岐せずに読み込まれたのか、それとも分岐が発生したのかを順次保存しておいて、分岐命令の場所と履歴からハッシュ値を求め、これを16Kエントリー保存しておくのだ。このグローバル分岐テーブルは短めのループを見つけ出して的確に分岐するための仕組み。そして、ローカルとグローバルの二つのうちどちらが役に立ったかを記録する16Kエントリーを用意する。この2段重ねになった複合型分岐予測は、分岐ミスを極力なくしてパイプラインバブルを防ぐ。

パイプラインバブル、投機的実行の失敗は無駄な発熱、バッテリー消費を意味する訳で、PowerBookにはつらい。そういう観点からノートPC用のPentium Mは一枚上手である。ループを事前に探しておいて、専用のループカウンターで予想するループ検出器はG5のグローバル分岐予測よりも大域のループを予想できる。効率の良い4Kの2bit(Bi-modal brach prediction)とループ検出器の組み合わせに、さらにグローバル分岐予測を組み合わせるのだ。グローバル分岐予測にはアドレスごとに使用するかしないかのテーブルと履歴テーブルを組み合わせたもので、あえて動的に配置される命令に強化しているようだ。G5のグローバル分岐予測がアドレスと履歴の合成(ハッシュ)で記録されていることとは性格が異なる。Pentium Mが最近のコンパイラーに最適化され、複雑な分岐予測をもってるといえる。また、Alpha 21264は1KエントリーのBi-modal brachと12回分の分岐履歴を使用する4Kエントリーのグローバル分岐予測を搭載し、12KエントリーあるセレクターもBi-modalタイプのカウンターで構成さている。全体の構造はG5に似ているとも言えるが、根本的なテーブルの持ち方が異なる。分岐予測の主流は、どうも2bitのサチュレーションカウンターらしいのだが、G5は1bitタイプで、エントリーを多くとっている。これが今後のクロックアップのための布石であると信じたいが、電力消費効率の点からいうと、方向性が異なる印象を受ける。少し救われるのは、G5用に最適化したコードなら、コンパイラーが前もって分岐予測情報をコードに組み込み、ハードウェアによる分岐予測をオーバーライドする機能が残されていることだろうか。

クラックとグループ化、そしてマイクロOpsフュージョン

Pentium 4はパイプライン中を126個の命令が流れてる訳だが、効率よく処理するために命令を分解し、結果が他に依存しないものは先に処理がすまされてく。最後に結果を保留し、並べ直すわけだが、膨大な結果を整合していく回路は複雑になってしまう。G5も命令を単純なものへ分解し、パイプラインには200個も命令が保持されているが、5個一組のグループに再合成し、グループ単位で例外処理を行うことで、回路を単純化している。同じ発想なのがマイクロOpsフユージョンだが、こちらは2つ程度を連結するにとどめている。もともと長く幅の狭いパイプライン構造のPentiumにとっては、2つ連結処理するのは特に大きな問題にならず、消費電力も回路が単純になったぶん有利だ。G5はグループ化はどちらかというと、パイプラインの小さなバブルの発生を気にかけるより、処理を優先する仕組みで、バッテリーに優しいとは言えないのではないか。

グループ化とハイパースレッディングが合わされば、こうしたパイプラインバブルは小さくなるだろう。G5にハイパーススレッディングが搭載されるのはまだ先の話だ。

G5でスムーズに、消費電力を気にしながら動かすには、約束事が多いのは確かだ。メインメモリとCPUの連結は太くなったが、読み出したいアドレスを指定して帰ってくるタイムラグは逆に1.5倍近くに増加している。また、大きく、あるいはおおざっぱになったともいえるキャッシュライン幅の変更は、小さなデータごとの取り扱い時に、データ列の3倍のゴミを生じる。こうした特性変更はソフトウェアにも大きな影響を及ぼし、G4の1メガや2メガのL3キャッシュを前提としたソフトウェアの作り直しや、コンパイラの変更が必要で、結果としてプログラムサイズの巨大化は避けられないだろう。

PowerPC 970FX

ここでPowerBook G4 17inch 1.33MHzにL3キャッシュが無いのは、G5搭載を前提に、512KバイトのL2キャッシュで十分であるという判断がされたのなら?と考えてみたらどうだろう。G5は確かに新しい技術を盛り込まなければ、消費電力的にはPowerBookに向いていないのは前述の通りである。でも今日、正式にPowerPC 970FXの量産化が発表された。90nmのプロセスルールでより高い動作周波数や、低い消費電力を目指す新しいG5は、最初にXserve G5に搭載される。詳細は不明だが、U3コントローラーを巻き込んだ、ダイナミックな電圧、周波数コントロールによる省電力を実現するのではないだろうか。PowerBook G5もまた一歩実現に近づいたと言えるだろう。

PowerPC 970FXがすぐにでもPowerBookにと思いたいのはやまやまだが、まだ超えなければならない問題がたくさんある。第一、XserveとPowerBookでは販売数が大きく違うし、Xserve G5の巨大なエアインテークを見ると、まだまだ先の話であると感じてしまう。

圧倒的なPowerを持った新製品に期待して・・・・・・

2/Sep 2003 symtome
電子カルテをファイルメーカーで作りましょう、という日本外来小児科学会のワークショップがあり、お手伝いしています。そういう場で、電子カルテの話を始めると、一人一人が実に多彩なとらえ方をしていて、電子カルテは医師が100人いれば100通り必要だと感じるほどです。

一方、11ヶ月前にある一つのアイデアを基本骨格にして、それを入力する装置を作ろうと計画していたものが、やっと形になってきました。表面的には電子カルテに近いのですが、内部構造は統計学的アプローチを目的に、結果的に電子カルテにも利用できるというものです。

症状、診断、治療、治療結果などを総合的に検討するもので、symptomの分解、再合成ののちに評価する「symtome(造語)」という考え方を内蔵しています。画面デザインなど、今後ぼちぼち紹介して行きたいと思います。

8/May 2003 iPod
うずいぶんと前のことなのですが、iPodが新しくなりましたね。私が、ハードディスク代わりにiPodを使っているのをみて、同僚が「いいですねぇ」と興味をしめしていたので、「ニュースを見ることも出来ますよ」と背中を押してあげました。

iPodは大容量ハードディスクとMP3プレイヤーを一体化し、高速データ転送と充電が同時に可能なFireWireインターフェースを持っています。それまでのポータブルプレイヤーが母艦から切り出した音楽データのサブセットを一部持ち運ぶのに対し、高速データ転送と大容量を武器に、母艦と同じデータをすべて転送し、データーをミラー化しておくというコンセプトのデバイスです。

一見乱暴な考え方ですが、聴く楽曲を場面ごとに選択転送するという面倒な作業をなくすことで、非常にシンプルなオペレーションが可能になっています。

で、「ニュースを見ること」なのですが、xNewsでニュースをiPodに「すべて転送」してしまっています。高速なインターネット回線があれば、その日のニュースを全部切り出しても10秒とかかりません。あとは、見たいニュースだけをiPodの優れたマンマシンインターフェースを使って、ブラウズしていくだです。xNewsの素晴らしいところは、ダブルクリック一つですべての動作が終了してしまうということです。

ニュースを全部切り出すことで、ジャンルやキーワード設定など全く必要がありません。アプリケーション自体も用が済むと自動的に終了してしまいます。まさに高速・大容量のコンセプトにぴたりとはまったアプリではないでしょうか。

のiPodは初代の5ギガバイトモデルですが、MACお宝鑑定団の大忘年会で頂戴した、バード電子フェースガード・ミラーモデルでお化粧直しをして使用しています。最新型は可動部分が無く、薄くて美しいのですが、初代でもフェースガードを装着することで、ホイールの周りのキーがガードされるため、誤動作も少なくなり、気分転換になりました。

私は朝、21分間山手線に乗りますが、この時間を利用していろいろとアイデアを練ります。慢性疾患管理システムや、症状詳記データベースの設計など、その21分間が大変貴重な時間になっています。そして頭を休めるとき、iPodでニュースをチェックすることにしています。混雑した電車の中ではiModeによるニュースチェックは出来ませんし、第一斜め読みするほどのレスポンスがありません。iPodなら、見出しと本文の冒頭部分だけを、選曲キーで眺め、みたい記事だけをホイールを使って、ざっと斜め読みするといったことが出来ます。是非、一度xNewsをお試しください。

16/Feb 2003 for safari
今日は久しぶりの休日です。久しぶりに昼近くまで寝て頭もすっきりしてきました。先週は週3回の当直があり、インフルエンザの時期ということもあわせ、疲労困憊でした。

ということで、今日はsafariで見るとメニュー画面が若干(3ドット)ずれる不具合のあるページのソースを手直し、あまり更新されていないリンク先を移動、ページが消滅しているものは削除したり、移転先を探してリンクを見直すなどのメンテナンスを行いました。メンテナンスといっても、20ページの修正です。あまり代わり映えがしませんが、それなりに時間のかかる作業でした。

というのも、safariによるアクセスが無視できないほどの数だからです。先週一週間のログをみると、1位はIE 5.22で、1万7千ページ、3位と4位のIE 5.16、5.0をあわせると3万9千ページとその大半を占めています。safariは2位で1万5千ページです。1.0βV60の6000ページビューをあわせるとIEの半分のアクセスがあることになります。これはもう、safariでちゃんと表示できないと「ダメ」ということでしょうか。私のページは大きめの画像が多く、V51だと途中で読み込みを諦めてしまうことが何枚もあったのですが、V60では諦めずに読み込んでくれるようになりました。

先日BURTON AMPの実物を見てきました。7万円という値段と、100着限定という条件は「ほとんど買うな」というメッセージのようですね。できはよいようですが、ウインタースポーツと無縁の私には猫に小判です。

右側の前胸部に、外からアクセスできるインナーポケットがあって、iPodを入れることができます。左腕にグローブをはめたまま操作できるソフトスイッチが組み込まれていました。

同じ機会にPowerMac G4 FW800の紹介もありました。AirMac ExtremeやBluetoothモジュールへの対応や、FireWire 800など、I/O周りの強化が主になっていますが、一番ありがたい変更は「静かになった」ではないでしょうか。

PCIカードスロットカバーまで放熱用にメッシュ化されています。
ヒートシンクのフィンの数が圧倒的に増えていました。PowerMac G4 Mirrored drive doorの騒音を知っているひとなら、その静かさに驚くでしょう。実に良くなっています。

ただし、MacOS 9.xでの起動ができません。一つのCarbonアプリケーションだけを動かすなら、MacOS XよりもOS 9.xのほうが早いのは仕方がないことです。ただ、これからはCocoaアプリが増えていくでしょう。Cocoaの良いところは、コードの差し替えが容易だと言うことです。フレームワークのバージョンアップが複数のアプリケーションの機能強化を実現する、今はわかりにくいですが、コンピュータの性能がハードウェアではなく、ソフトウェアで評価されるような時代になれば、必ずものを言うはずです。(これが難しいのですが)

8/Feb 2003 Intrepid
インフルエンザの話を書きましたら、予想以上の反響をいただいてしまいました。タミフルを飲んでいても二度目の熱が出ることがあることを書いたら、そのことを知って安心したというメールもいただきました。

また、シンメトレルへの心配のメールをたくさんいただいています。確かに副作用もみられますが、その副作用が持続するわけではありません。内服終了翌日の午後には全くと言っていいほど症状は消失します。前にも書きましたが、そもそもそインフルエンザの治療薬として開発されたものではありません。効果、副作用とも限界があるのは確かです。

こうしたインフルエンザ治療薬がこれほど急速に日本に広がったことには、新型インフルエンザ流行が心配される背景に押され、通常よりも早く保険使用が認められたことも関連するでしょう。

インフルエンザワクチンについての誤解をよく聞きます。「今年のワクチンはA型ですか?B型だったんですか?」

インフルエンザワクチンにはA型二種類、B型1種類の最低でも3種類が混合されています。現在流行しているのはA型香港型がすこし減ってきて、B型に流行の主体が移っています。今年のワクチンにはもちろん、香港型とソ連型、そしてB型も含まれていました。

ワクチン株の選考は、ワクチンを受ける集団の免疫獲得状況と、予想株、そしてワクチン生産性の3つを検討して、生産されます。昔ほどはずれるということはありません。

今日は参りました。ページが完成し、最後にソースの一部を一括置き換えしたところ、空のファイルで上書きされてしまったのです。じっくり本文を推敲してやっと完成したページでした。GoLiveの不具合か、あっさりデータが消えてしまい、ページ公開を中止しようかと思ったほどです。

結局、もう一度0から書き直して公開したことろ、こんどはポセイドンさんにDeveloper Noteが出てますよ、とメールをいただき、もう一度書き直しです(笑)ただ、予想通りの構成だったので正式名称だけ加えるだけにしました。

私はページを作るとき、先に図版を作成します。だから、図版は数日前に完成していますが、今回は文章データが消えたりと、なかなか完成しませんでした。図表も、データが大きいせいか1GHzのPowerBookでもillustratorで開くのに3分、何か編集したら30秒待ちみたいに、一枚作るのに物理的にやたらと時間がかかってしまいました。

結局、解像度を下げて表示させるわけですから、フォトショップでラスタライズすればよいのですが、透明感が若干違うのです。まぁ、こだわりすぎといえばそれまでですが。

インフルエンザにもこだわりすぎかもしれません。先輩には、どこかで線を引きなさい、とアドバイスを受けますが・・もう少しがんばってみるつもりです。

nextpreviousa

Top > BLADE > 2003.2

2002.12-2003.1

counter

Bar BLADE

03-5304-1832

Medical macintosh (c) 1998,1999,2000,2001,2002, 2003, 2004

Written/Edited by Y.Yamamoto M.D.

Privacy and Security Policy

ご自由にリンクして下さい。トップページへのリンクも併記して頂けるとありがたいです。