TOP MAP UP

AMD64 経緯編

 デュアルマシンに対するあこがれ
 以前よりBP6(celeron 450MHzデュアル)、TigerMP(Athlon1700+デュアル)、TigerMPX(Athlon2400+デュアル)とデュアルマシンを使っていて、デュアルマシンのパワーにほれ込んでいたので、いつかはOpteronデュアルに移行したいと考えていた(具体的にはnForce4でのデュアルが目標)

 AMD64アーキテクチャに対する興味
 そんな時TigerMPXの調子が非常に悪くなってしまい「これはそろそろOpteronデュアルを組めという神の指令か!」と思っていたが、前述のようにnForce4のシステム等をいろいろ調べているうちに、そもそもそのOpteronのアーキテクチャであるAMD64はどういう物なのか?という部分に非常に興味が湧いてきた(以前よりAMD64自体は知っており、ロングホーン等も興味があったが、いわゆるプロセッサ、アセンブラレベルで興味を抱いたのはこの時が初めて)
 調べてみると今までのx86(IA-32)と比べて非常にパワフルなプロセッサになっているではないか!特に汎用レジスタが増えたのが驚きだ!もともとx86アーキテクチャはレジスタ使用の直交性が低い上にレジスタ数が少ない物だから、最適化には非常に高度な技術を必要とし、事実上コンパイラによる最適化(しかもプロセッサ毎に区別された)に依存するしかなかった。無論これからも最適化はコンパイラ主体になるのだろうが(特にレジスタスケジューリングに関して)今までSIMD命令を使うまでもなかったような部分の演算まで多くの汎用レジスタがある事で最適化が可能になるだろう。
 というような妄想を始めてしまった時点でアセンブラ使いとしてはもう止まらなくなった(汗

 AMD64デベロッパ・ポータル開発者支援プログラム
 しかしワクワクしてもお金がないのでそう簡単には新しいマザーやCPUを買うことは出来ない。とりあえず1年程度はnForce4は様子見する必要があるなと感じていた(廉価版のデュアルマザーがまだ出ていないのと、マザーのリビジョンがある程度上がってから買うつもりだったので)
 しかしAMD64アーキテクチャについていろいろ調べていた所、たまたま「AMD64 DEVELOPER PORTAL」このサイトで「AMD64デベロッパ・ポータル開発者支援プログラム」を発見した。このプログラムはソフト開発者にAMD64のシステムを貸与してAMD64環境の拡大を促すというような主旨であり、まさに自分にはジャストタイミングのプログラムであった(nForce4よりもむしろ神はこれを見つけるためにTigerMPXを壊したに違いない。と思いたい:汗)

 開発者支援プログラムでAZUCOがやろうと思っている事
 個人的にはテクニカルな部分に非常に興味があるが、それがみんなに対して価値がある事とはあまり思えない(もともと狭い分野の話だし)そしてせっかくこういった機会を得たのだから、みんなに価値あるような事をしたいと考えた。それは実際にプログラムを書き始めるまでの詳細なレポートを残す事だ。
 特に最近プログラムを始めるのに適切に学べるような環境がない(学校で教えているらしいが実態は良く知らない)ように思う。しかしこのAMD64アーキテクチャは本当にいいアーキテクチャだ。特にDOSでレジスタのお手玉をやってた世代ならばわかると思うが、アーキテクチャ的にはRISCの流れに大きく(それでいて互換性もある)切り替わったのだ。この機会にプログラム、もっと突っ込んでAMD64アーキテクチャでのアセンブラまで使えるようになって欲しいと思う。
 その導入の敷居を下げる役目が出来れば・・・・というのが、まずひとつの大きな狙いだ。