【コラム】

セカンド・オピニオン

188 Core MicroArchitectureをもうすこし(12)

 

188/421

今年もこれが最後になってしまいました。なんか当初の予定よりチンタラ進む事になってしまってて(責任は筆者にあります)すいません。ということで、今回はちょっとだけロングバージョン。

Intelが考えるSustained Performance(続き)

x86命令の所要クロック計測スレPart2」の#592で示されたのは、ピークIPC=5になるという検証。コードは、

align 16
lp:
add eax,[esi]
mov [esi+16],ecx
inc ecx
cmp ecx,ebx
jb lp

というもので、これをぶん回すとループが1Cycleで完了するというものである。で、簡単に検証をしてみた。ソースなどは後でまとめて示すが、10万回ループの処理Cycle数を比較すると、

Conroe(Core 2 X6800)100233 Cycle
Yonah(Core Duo T2600)200278 Cycle
Dothan(Pentium M 730)200326 Cycle
Orleans(Athlon 64 X2 3800+)200048 Cycle

といった具合。ちなみにきっちり100000Cycleとかにならないのは、Cycle数測定のrdtsc命令のオーバーヘッド(もっと正確に言えば、rdtsc命令の結果をメモリに格納するオーバーヘッド)があるからである。なのでこれは無視していただくとして、確かに大雑把にConroeがピークでIPC=5で動作していることが判る。

もっとも、その直後の#593では、内容をちょっと変えるとループが廻るのに2Cycle掛かる事も示されている。4つほど例があるが、うち一つは、

align 16
lp:
add eax,[esi]
mov [esi+16],edx
inc ecx
cmp ecx,ebx
jb lp

てなもの。先の例ではEAX / EBX / ECX / ESIという4つのレジスタだけを使って処理していたが、EDXも使うようにしたことで、ループ内でEAX / EBX / ECX / EDX / ESIが使われる様になった。この場合の処理性能は、

Conroe(Core 2 X6800)200200 Cycle
Yonah(Core Duo T2600)210873 Cycle
Dothan(Pentium M 730)214278 Cycle
Orleans(Athlon 64 X2 3800+)200050 Cycle

といったもの。Conroeが2Cycle/Loopに悪化したこともさることながら、YonahとかDothanでは2.1Cycle/Loopに悪化しているのも判る。先のスレッドでは、レジスタの同時使用数が増えるとRegister Read Stallが発生するなんて指摘もあったが、これが数字でも確認できたと言える(さもなければ、Dothan/Yonahが2.0Cycle/Loop→2.1Cycle/Loopに悪化する訳がない)

ここから、デコード段が理論上5命令(デコーダユニットそのものは4命令だが、cmp+jbをMacro-Ops fusionで処理することで、x86換算では5命令)処理でき、かつスケジューラもこれをそのままハンドリング出来る事が確認できた。なので、以前この辺などで書いた、「x86換算で3命令がピークっぽい」という話は筆者の見込み違いということがこれで判ったわけだ。

ちなみに命令ユニットが増えた事により、Core 2はDothan / Yonahよりも確実にIPCそのものは向上している。ループの中に、

align 16
lp:
add eax,[esi]
mov [esi+16],edx
inc ecx
cmp ecx,ebx
nop
jb lp

てな具合にnopを1つ入れてやると、

Conroe(Core 2 X6800)200244 Cycle
Yonah(Core Duo T2600)250185 Cycle
Dothan(Pentium M 730)250097 Cycle
Orleans(Athlon 64 X2 3800+)200233 Cycle

となり、Dothan / Yonahは2.5Cycle/Loopまで悪化する。対してCore 2やK8では全然数値が落ちない訳で、このあたりはDothan / YonahのALU×2からCore 2がALU×3になったことの効果と言えそうだ。

ただここまでのテストは、あまりにCore 2に有利、K8に不利な内容である。というのは、K8はそもそもx86換算で3命令までしか解釈できないデコーダの作りになっているからだ。では、x86換算では3命令でも、MicroOpではもっと増える場合にはどうなるか? ということをちょっと試してみた。今度は、

align 16
lp:
add eax,[esi]
add edx,[esi+4]
add eax,[esi+8] // 下記参照
add edx,[esi+12] // 下記参照
inc ecx
cmp ecx,ebx
jb lp

というループだ。テストは、

add eax,[esi]
add edx,[esi+4]

のみと

add eax,[esi]
add edx,[esi+4]
add eax,[esi+8]

及び

add eax,[esi]
add edx,[esi+4]
add eax,[esi+8]
add edx,[esi+12]

という3パターンで実施した。このケースではaddの対象がESIレジスタで示した先になるので、内部ではload命令とadd命令に分解される。なので、x86命令では5~7命令でも、MicroOp換算で言うと7~11命令換算となる。これをぶん回すとどんな結果になるか、であるが、

Conroe(Core 2 X6800)200123 / 300102 / 400114 Cycle
Yonah(Core Duo T2600)250097 / 304031 / 400596 Cycle
Dothan(Pentium M 730)250315 / 306676 / 400369 Cycle
Orleans(Athlon 64 X2 3800+)200053 / 200298 / 300302 Cycle

といった具合。大雑把に言えば、K8はほぼ3命令/Cycleの枠を守って動作するが、Intel系はどんどん性能が悪化する傾向にある。上ではAddを4連続程度で済ませたので、7命令で4Cycle/Loopだから2 x86命令/Cycle程度であるが、試しにAddを8連続で投入するとおよそ8Cycle/Loop程度まで数字は悪化した。11命令/8Cycleだから1.5 x86命令/Cycle程度でしかない計算だ。要するにアーキテクチャによる得手不得手が非常にはっきり分かれるという事が分かっただけである。ピーク性能としてのCore 2が十分高い事は確認できたが、これを持ってCore 2が3命令/Cycle「以上」を狙ってるとは筆者には考えにくい。むしろ、アベレージのCore 2のIPCはK8を下回る程度でしかなく、そこをピーク性能の高さで補ってるという気がする。なんというか、昔のカーレースゲームで言うTurboボタンの様な、うまく最適化できた時だけは猛烈に速くなるが、普段はちょっと遅めな印象である。

ちなみにこう感じる理由はこうした数字だけの話ではない。上でも触れた「汎用レジスタを5個以上使うとStallする」もそうだが、どうもCore 2は最適化に妙な制限が多い気がする。大体、汎用レジスタの制限にしても32bitモードはともかく64bitではこの制限はきつ過ぎる(汎用レジスタを増やした意味が無い)し、Macro-Fusionが64bitでは使えないとかもこの伝だ。このあたりは確認のとりようがないのだが、Core 2はPentium M以降のパイプラインに実行ユニットの追加と64bitモードのサポート(ただしEM64Tではなく、Yamhill!)を加えた形で基本設計が進められ、途中でYamhillをEM64Tに置き換えただけ、という印象を受ける。Macro-Fusionについても、アイディアを十分に煮詰める時間はなく、無難に実装できる部分だけを搭載したという感じだ。Intelは、Core Microarchitectureを「全く新しいアーキテクチャ」として大々的に宣伝しているが、個人的にはCore Microarchitecrureは「完全64bitアーキテクチャまでの中継ぎ」ではないかと思っている。中継ぎアーキテクチャであれば、コア部はIPCが3程度あれば十分K8に拮抗できる。後はキャッシュの能力でK8に勝てると見なしたのだろうし、事実勝っていると思う。

ではこの先どうするか? という話は来年からさせていただく事にしたい。結論だけ先に書いておけば、

  • 確実に3命令/Cycleを実現できるような実装をしてくる可能性はあるかもしれないが、3 x86命令/Cycleを越えるという目標は、おそらく立てていない。
  • IPCの向上は今後も続けようとする。

という、矛盾したものになると筆者は考えている。

テストプログラムの解説

さて、上のテストで使ったプログラムだが、ソースはこちらになる。先のスレッドに参加している方に説明は不要であろうが、アセンブラに慣れていない読者も多いと思うので、ちょっとだけ解説を入れておく。List 1に示すTest1()がピークIPC=5の検証コードであるが、時間測定はRDTSC命令を使っている。RDTSC(Read Time-Stamp Counter)命令とは、CPU内部で動いている64bitカウンタを読み出して、上位32bitをEAXレジスタに、下位32bitをEDXレジスタに保存する命令である。この64bitカウンタは1Cycleに1づつInclementしており、例えば1MHzでCPUが動いていれば、毎秒1,000,000づつ数字が増える事になる。そこで、テストの直前と直後でRDTSCを呼び出してその値を保存しておき、あとで引き算すれば、テストに掛かったCycle数が概ねわかる事になる。厳密に言えば、

  1. RDTSC ←ここでカウンタの値がEAX/EDXにコピー
  2. EAX/EDXの値を保存
  3. テストを実施
  4. RDTSC ←ここでカウンタの値がまたEAX/EDXにコピー
  5. EAX/EDXの値を保存して引き算

となるから、処理時間にはテストの時間そのもの+EAX/EDXの値の保存の時間や、RDTSC命令そのものの処理時間も含まれることになる。これが多少ゆらぐので、上に示したテスト結果が多少ばらつく要因になっている。

テストそのものにはあまり説明は要らないだろう。一応ダミーでバッファを確保しておき(A)、テストでESIレジスタが指す先はこのダミーバッファになるように設定してある(B)。ループ回数は上位から引数で渡すようにしてあり、最終的にはプログラムの引数で設定することになっている。エラーチェックとかは省いているので、あまり回数にでかいものを設定すると、バッファが(A)で確保できず、ESIの指す先が不定になるので、ESIを使って指定しているところ(D)で一般保護違反が出る可能性がある。なので、ループ回数は程ほどにしておいてほしい。(100万回くらいまでは、あまり問題がなかった)

ちなみにプログラムそのものはVisual Studio.net 2003でBuildした。Release Buildしたアセンブルソースも確認したが、特に問題はなさそうである。プログラムはWin32のコマンドラインプログラムとして作ってある。引数でループ回数を指定するので、"Util29 100000"といった具合に起動すると、Test 1(ピークIPC=5の検証)からTest 6(Addの4連)まで順次実行した結果を表示して終るという単純なものである。今回はPentium 4とかK7の環境をそろえ直す根性がなかったので、まだこうした環境がある方は試していただければと思う。

最後に

ということで、今年一年お付き合い有難うございます。個別にコメントはいたしませんが、上述スレッドの参加者の皆様にも感謝いたします。というか、このネタでこんなに引っ張るつもりは無かったんですが。来年はもうちょいチャッチャと進めて、次のネタに移る予定です。それでは皆様、良いお年をお迎えください。

List1

LARGE_INTEGER Test1(long count) // (C)
{
 LARGE_INTEGER Ret_Cycles;
 char *buf;
 buf=(char *)calloc(count*16,sizeof(char)); // (A)

 __asm {
  /* 初期化 */
  mov esi, buf // (B)
  mov [esi],0
  mov ecx,0
  mov ebx,count // (C)

  /* 時間測定(Start) */
  rdtsc
  mov Ret_Cycles.LowPart, eax
  mov Ret_Cycles.HighPart, edx

  /* Main Loop */
  align 16
  lp:
  add eax,[esi] // (D)
  mov [esi+16],ecx // (D)
  inc ecx
  cmp ecx,ebx
  jb lp

  /* 時間測定(Finish) */
  rdtsc
  sub eax, Ret_Cycles.LowPart
  sbb edx, Ret_Cycles.HighPart
  mov Ret_Cycles.LowPart, eax
  mov Ret_Cycles.HighPart, edx
 }
 return Ret_Cycles;
}

188/421

インデックス

連載目次
第421回 MCUで遊ぼう Part2 (12)
第420回 MCUで遊ぼう Part2 (11)
第419回 MCUで遊ぼう Part2 (10)
第418回 MCUで遊ぼう Part2 (9)
第417回 MCUで遊ぼう Part2 (8)
第416回 MCUで遊ぼう Part2 (7)
第415回 MCUで遊ぼう Part2 (6)
第414回 MCUで遊ぼう Part2 (5)
第413回 MCUで遊ぼう Part2 (4)
第412回 MCUで遊ぼう Part2 (3)
第411回 MCUで遊ぼう Part2 (2)
第410回 MCUで遊ぼう Part2 (1)
第409回 MCUで遊ぼう(57)
第408回 MCUで遊ぼう(56)
第407回 MCUで遊ぼう(55)
第406回 MCUで遊ぼう(54)
第405回 MCUで遊ぼう(53)
第404回 MCUで遊ぼう(52)
第403回 MCUで遊ぼう(51)
第402回 MCUで遊ぼう(50)
第401回 MCUで遊ぼう(49)
第400回 MCUで遊ぼう(48)
第399回 MCUで遊ぼう(47)
第398回 MCUで遊ぼう(46)
第397回 MCUで遊ぼう(45)
第396回 MCUで遊ぼう(44)
第395回 MCUで遊ぼう(43)
第394回 MCUで遊ぼう(42)
第393回 MCUで遊ぼう(41)
第392回 MCUで遊ぼう(40)
第391回 MCUで遊ぼう(39)
第390回 MCUで遊ぼう(38)
第389回 MCUで遊ぼう(37)
第388回 MCUで遊ぼう(36)
第387回 MCUで遊ぼう(35)
第386回 MCUで遊ぼう(34)
第385回 MCUで遊ぼう(33)
第384回 MCUで遊ぼう(32)
第383回 MCUで遊ぼう(31)
第382回 MCUで遊ぼう(30)
第381回 MCUで遊ぼう(29)
第380回 MCUで遊ぼう(28)
第379回 MCUで遊ぼう(27)
第378回 MCUで遊ぼう(26)
第377回 MCUで遊ぼう(25)
第376回 MCUで遊ぼう(24)
第375回 MCUで遊ぼう(23)
第374回 MCUで遊ぼう(22)
第373回 MCUで遊ぼう(21)
第372回 MCUで遊ぼう(20)
第371回 MCUで遊ぼう(19)
第370回 MCUで遊ぼう(18)
第369回 MCUで遊ぼう(17)
第368回 MCUで遊ぼう(16)
第367回 MCUで遊ぼう(15)
第366回 MCUで遊ぼう(14)
第365回 MCUで遊ぼう(13)
第364回 MCUで遊ぼう(12)
第363回 MCUで遊ぼう(11)
第362回 MCUで遊ぼう(10)
第361回 MCUで遊ぼう(9)
第360回 MCUで遊ぼう(8)
第359回 MCUで遊ぼう(7)
第358回 MCUで遊ぼう(6)
第357回 MCUで遊ぼう(5)
第356回 MCUで遊ぼう(4)
第355回 MCUで遊ぼう(3)
第354回 MCUで遊ぼう(2)
第353回 MCUで遊ぼう(1)
第352回 MCUで遊ぼう(0)
第351回 USB 3.0の研究(78)
第350回 USB 3.0の研究(77)
第349回 USB 3.0の研究(76)
第348回 USB 3.0の研究(75)
第347回 USB 3.0の研究(74)
第346回 USB 3.0の研究(73)
第345回 USB 3.0の研究(72)
第344回 USB 3.0の研究(71)
第343回 USB 3.0の研究(70)
第342回 USB 3.0の研究(69)
第341回 USB 3.0の研究(68)
第340回 USB 3.0の研究(67)
第339回 USB 3.0の研究(66)
第338回 USB 3.0の研究(65)
第337回 USB 3.0の研究(64)
第336回 USB 3.0の研究(63)
第335回 USB 3.0の研究(62)
第334回 USB 3.0の研究(61)
第333回 USB 3.0の研究(60)
第332回 USB 3.0の研究(59)
第331回 USB 3.0の研究(58)
第330回 USB 3.0の研究(57)
第329回 USB 3.0の研究(56)
第328回 USB 3.0の研究(55)
第327回 USB 3.0の研究(54)
第326回 USB 3.0の研究(53)
第325回 USB 3.0の研究(52)
第324回 USB 3.0の研究(51)
第323回 USB 3.0の研究(50)
第322回 USB 3.0の研究(49)
第321回 USB 3.0の研究(48)
第320回 USB 3.0の研究(47)
第319回 USB 3.0の研究(46)
第318回 USB 3.0の研究(45)
第317回 USB 3.0の研究(44)
第316回 USB 3.0の研究(43)
第315回 USB 3.0の研究(42)
第314回 USB 3.0の研究(41)
第313回 USB 3.0の研究(40)
第312回 USB 3.0の研究(39)
第311回 USB 3.0の研究(38)
第310回 USB 3.0の研究(37)
第309回 USB 3.0の研究(36)
第308回 USB 3.0の研究(35)
第307回 USB 3.0の研究(34)
第306回 USB 3.0の研究(33)
第305回 USB 3.0の研究(32)
第304回 USB 3.0の研究(31)
第303回 USB 3.0の研究(30)
第302回 USB 3.0の研究(29)
第301回 USB 3.0の研究(28)
第300回 USB 3.0の研究(27)
第299回 USB 3.0の研究(26)
第298回 USB 3.0の研究(25)
第297回 USB 3.0の研究(24)
第296回 USB 3.0の研究(23)
第295回 USB 3.0の研究(22)
第294回 USB 3.0の研究(21)
第293回 USB 3.0の研究(20)
第292回 USB 3.0の研究(19)
第291回 USB 3.0の研究(18)
第290回 USB 3.0の研究(17)
第289回 USB 3.0の研究(16)
第288回 USB 3.0の研究(15)
第287回 USB 3.0の研究(14)
第286回 USB 3.0の研究(13)
第285回 USB 3.0の研究(12)
第284回 USB 3.0の研究(11)
第283回 USB 3.0の研究(10)
第282回 USB 3.0の研究(9)
第281回 USB 3.0の研究(8)
第280回 USB 3.0の研究(7)
第279回 USB 3.0の研究(6)
第278回 USB 3.0の研究(5)
第277回 USB 3.0の研究(4)
第276回 USB 3.0の研究(3)
第275回 USB 3.0の研究(2)
第274回 USB 3.0の研究(1)
第273回 Xilinx Japan, Sam Rogan氏インタビュー(14)
第272回 Xilinx Japan, Sam Rogan氏インタビュー(13)
第271回 Xilinx Japan, Sam Rogan氏インタビュー(12)
第270回 Xilinx Japan, Sam Rogan氏インタビュー(11)
第269回 Xilinx Japan, Sam Rogan氏インタビュー(10)
第268回 Xilinx Japan, Sam Rogan氏インタビュー(9)
第267回 Xilinx Japan, Sam Rogan氏インタビュー(8)
第266回 Xilinx Japan, Sam Rogan氏インタビュー(7)
第265回 Xilinx Japan, Sam Rogan氏インタビュー(6)
第264回 Xilinx Japan, Sam Rogan氏インタビュー(5)
第263回 Xilinx Japan, Sam Rogan氏インタビュー(4)
第262回 Xilinx Japan, Sam Rogan氏インタビュー(3)
第261回 Xilinx Japan, Sam Rogan氏インタビュー(2)
第260回 Xilinx Japan, Sam Rogan氏インタビュー(1)
第259回 Reconfigurable Processorを開発するIPFlex(13)
第258回 Reconfigurable Processorを開発するIPFlex(12)
第257回 Reconfigurable Processorを開発するIPFlex(11)
第256回 Reconfigurable Processorを開発するIPFlex(10)
第255回 Reconfigurable Processorを開発するIPFlex(9)
第254回 Reconfigurable Processorを開発するIPFlex(8)
第253回 Reconfigurable Processorを開発するIPFlex(7)
第252回 Reconfigurable Processorを開発するIPFlex(6)
第251回 Reconfigurable Processorを開発するIPFlex(5)
第250回 Reconfigurable Processorを開発するIPFlex(4)
第249回 Reconfigurable Processorを開発するIPFlex(3)
第248回 Reconfigurable Processorを開発するIPFlex(2)
第247回 Reconfigurable Processorを開発するIPFlex(1)
第246回 RAMBUSのTBI(7)
第245回 RAMBUSのTBI(6)
第244回 RAMBUSのTBI(5)
第243回 RAMBUSのTBI(4)
第242回 RAMBUSのTBI(3)
第241回 RAMBUSのTBI(2)
第240回 RAMBUSのTBI(1)
第239回 OS小論:OSの構造をもう少し考えてみる(45)
第238回 OS小論:OSの構造をもう少し考えてみる(44)
第237回 OS小論:OSの構造をもう少し考えてみる(43)
第236回 OS小論:OSの構造をもう少し考えてみる(42)
第235回 OS小論:OSの構造をもう少し考えてみる(41)
第234回 OS小論:OSの構造をもう少し考えてみる(40)
第233回 OS小論:OSの構造をもう少し考えてみる(39)
第232回 OS小論:OSの構造をもう少し考えてみる(38)
第231回 OS小論:OSの構造をもう少し考えてみる(37)
第230回 OS小論:OSの構造をもう少し考えてみる(36)
第229回 OS小論:OSの構造をもう少し考えてみる(35)
第228回 OS小論:OSの構造をもう少し考えてみる(34)
第227回 OS小論:OSの構造をもう少し考えてみる(33)
第226回 OS小論:OSの構造をもう少し考えてみる(32)
第225回 OS小論:OSの構造をもう少し考えてみる(31)
第224回 OS小論:OSの構造をもう少し考えてみる(30)
第223回 OS小論:OSの構造をもう少し考えてみる(29)
第222回 OS小論:OSの構造をもう少し考えてみる(28)
第221回 OS小論:OSの構造をもう少し考えてみる(27)
第220回 OS小論:OSの構造をもう少し考えてみる(26)
第219回 OS小論:OSの構造をもう少し考えてみる(25)
第218回 OS小論:OSの構造をもう少し考えてみる(24)
第217回 OS小論:OSの構造をもう少し考えてみる(23)
第216回 OS小論:OSの構造をもう少し考えてみる(22)
第215回 OS小論:OSの構造をもう少し考えてみる(21)
第214回 OS小論:OSの構造をもう少し考えてみる(20)
第213回 OS小論:OSの構造をもう少し考えてみる(19)
第212回 OS小論:OSの構造をもう少し考えてみる(18)
第211回 OS小論:OSの構造をもう少し考えてみる(17)
第210回 OS小論:OSの構造をもう少し考えてみる(16)
第209回 OS小論:OSの構造をもう少し考えてみる(15)
第208回 OS小論:OSの構造をもう少し考えてみる(14)
第207回 OS小論:OSの構造をもう少し考えてみる(13)
第206回 OS小論:OSの構造をもう少し考えてみる(12)
第205回 OS小論:OSの構造をもう少し考えてみる(11)
第204回 OS小論:OSの構造をもう少し考えてみる(10)
第203回 OS小論:OSの構造をもう少し考えてみる(9)
第202回 OS小論:OSの構造をもう少し考えてみる(8)
第201回 OS小論:OSの構造をもう少し考えてみる(7)
第200回 OS小論:OSの構造をもう少し考えてみる(6)
第199回 OS小論:OSの構造をもう少し考えてみる(5)
第198回 OS小論:OSの構造をもう少し考えてみる(4)
第197回 OS小論:OSの構造をもう少し考えてみる(3)
第196回 OS小論:OSの構造をもう少し考えてみる(2)
第195回 OS小論:OSの構造をもう少し考えてみる(1)
第194回 Core MicroArchitectureをもうすこし(18)
第193回 Core MicroArchitectureをもうすこし(17)
第192回 Core MicroArchitectureをもうすこし(16)
第191回 Core MicroArchitectureをもうすこし(15)
第190回 Core MicroArchitectureをもうすこし(14)
第189回 Core MicroArchitectureをもうすこし(13)
第188回 Core MicroArchitectureをもうすこし(12)
第187回 Core MicroArchitectureをもうすこし(11)
第186回 Core MicroArchitectureをもうすこし(10)
第185回 Core MicroArchitectureをもうすこし(9)
第184回 Core MicroArchitectureをもうすこし(8)
第183回 Core MicroArchitectureをもうすこし(7)
第182回 Core MicroArchitectureをもうすこし(6)
第181回 Core MicroArchitectureをもうすこし(5)
第180回 Core MicroArchitectureをもうすこし(4)
第179回 Core MicroArchitectureをもうすこし(3)
第178回 Core MicroArchitectureをもうすこし(2)
第177回 Core MicroArchitectureをもうすこし(1)
第176回 バスのアーキテクチャ - 過去から未来へ(137)
第175回 バスのアーキテクチャ - 過去から未来へ(136)
第174回 バスのアーキテクチャ - 過去から未来へ(135)
第173回 バスのアーキテクチャ - 過去から未来へ(134)
第172回 バスのアーキテクチャ - 過去から未来へ(133)
第171回 バスのアーキテクチャ - 過去から未来へ(132)
第170回 バスのアーキテクチャ - 過去から未来へ(131)
第169回 バスのアーキテクチャ - 過去から未来へ(130)
第168回 バスのアーキテクチャ - 過去から未来へ(129)
第167回 バスのアーキテクチャ - 過去から未来へ(128)
第166回 バスのアーキテクチャ - 過去から未来へ(127)
第165回 バスのアーキテクチャ - 過去から未来へ(126)
第164回 バスのアーキテクチャ - 過去から未来へ(125)
第163回 バスのアーキテクチャ - 過去から未来へ(124)
第162回 バスのアーキテクチャ - 過去から未来へ(123)
第161回 バスのアーキテクチャ - 過去から未来へ(122)
第160回 バスのアーキテクチャ - 過去から未来へ(121)
第159回 バスのアーキテクチャ - 過去から未来へ(120)
第158回 バスのアーキテクチャ - 過去から未来へ(119)
第157回 バスのアーキテクチャ - 過去から未来へ(118)
第156回 バスのアーキテクチャ - 過去から未来へ(117)
第155回 バスのアーキテクチャ - 過去から未来へ(116)
第154回 バスのアーキテクチャ - 過去から未来へ(115)
第153回 バスのアーキテクチャ - 過去から未来へ(114)
第152回 バスのアーキテクチャ - 過去から未来へ(113)
第151回 バスのアーキテクチャ - 過去から未来へ(112)
第150回 バスのアーキテクチャ - 過去から未来へ(111)
第149回 バスのアーキテクチャ - 過去から未来へ(110)
第148回 バスのアーキテクチャ - 過去から未来へ(109)
第147回 バスのアーキテクチャ - 過去から未来へ(108)
第146回 バスのアーキテクチャ - 過去から未来へ(107)
第145回 バスのアーキテクチャ - 過去から未来へ(106)
第144回 バスのアーキテクチャ - 過去から未来へ(105)
第143回 バスのアーキテクチャ - 過去から未来へ(104)
第142回 バスのアーキテクチャ - 過去から未来へ(103)
第141回 バスのアーキテクチャ - 過去から未来へ(102)
第140回 バスのアーキテクチャ - 過去から未来へ(101)
第139回 バスのアーキテクチャ - 過去から未来へ(100)
第138回 バスのアーキテクチャ - 過去から未来へ(99)
第137回 バスのアーキテクチャ - 過去から未来へ(98)
第136回 バスのアーキテクチャ - 過去から未来へ(97)
第135回 バスのアーキテクチャ - 過去から未来へ(96)
第134回 バスのアーキテクチャ - 過去から未来へ(95)
第133回 バスのアーキテクチャ - 過去から未来へ(94)
第132回 バスのアーキテクチャ - 過去から未来へ(93)
第131回 バスのアーキテクチャ - 過去から未来へ(92)
第130回 バスのアーキテクチャ - 過去から未来へ(91)
第129回 バスのアーキテクチャ - 過去から未来へ(90)
第128回 バスのアーキテクチャ - 過去から未来へ(89)
第127回 バスのアーキテクチャ - 過去から未来へ(88)
第126回 バスのアーキテクチャ - 過去から未来へ(87)
第125回 バスのアーキテクチャ - 過去から未来へ(86)
第124回 バスのアーキテクチャ - 過去から未来へ(85)
第123回 バスのアーキテクチャ - 過去から未来へ(84)
第122回 バスのアーキテクチャ - 過去から未来へ(83)
第121回 バスのアーキテクチャ - 過去から未来へ(82)
第120回 バスのアーキテクチャ - 過去から未来へ(81)
第119回 バスのアーキテクチャ - 過去から未来へ(80)
第118回 バスのアーキテクチャ - 過去から未来へ(79)
第117回 バスのアーキテクチャ - 過去から未来へ(78)
第116回 バスのアーキテクチャ - 過去から未来へ(77)
第115回 バスのアーキテクチャ - 過去から未来へ(76)
第114回 バスのアーキテクチャ - 過去から未来へ(75)
第113回 バスのアーキテクチャ - 過去から未来へ(74)
第112回 バスのアーキテクチャ - 過去から未来へ(73)
第111回 バスのアーキテクチャ - 過去から未来へ(72)
第110回 バスのアーキテクチャ - 過去から未来へ(71)
第109回 バスのアーキテクチャ - 過去から未来へ(70)
第108回 バスのアーキテクチャ - 過去から未来へ(69)
第107回 バスのアーキテクチャ - 過去から未来へ(68)
第106回 バスのアーキテクチャ - 過去から未来へ(67)
第105回 バスのアーキテクチャ - 過去から未来へ(66)
第104回 バスのアーキテクチャ - 過去から未来へ(65)
第103回 バスのアーキテクチャ - 過去から未来へ(64)
第102回 バスのアーキテクチャ - 過去から未来へ(63)
第101回 バスのアーキテクチャ - 過去から未来へ(62)
第100回 バスのアーキテクチャ - 過去から未来へ(61)
第99回 バスのアーキテクチャ - 過去から未来へ(60)
第98回 バスのアーキテクチャ - 過去から未来へ(59)
第97回 バスのアーキテクチャ - 過去から未来へ(58)
第96回 バスのアーキテクチャ - 過去から未来へ(57)
第95回 バスのアーキテクチャ - 過去から未来へ(56)
第94回 バスのアーキテクチャ - 過去から未来へ(55)
第93回 バスのアーキテクチャ - 過去から未来へ(54)
第92回 バスのアーキテクチャ - 過去から未来へ(53)
第91回 バスのアーキテクチャ - 過去から未来へ(52)
第90回 バスのアーキテクチャ - 過去から未来へ(51)
第89回 バスのアーキテクチャ - 過去から未来へ(50)
第88回 バスのアーキテクチャ - 過去から未来へ(49)
第87回 バスのアーキテクチャ - 過去から未来へ(48)
第86回 バスのアーキテクチャ - 過去から未来へ(47)
第85回 バスのアーキテクチャ - 過去から未来へ(46)
第84回 バスのアーキテクチャ - 過去から未来へ(45)
第83回 バスのアーキテクチャ - 過去から未来へ(44)
第82回 バスのアーキテクチャ - 過去から未来へ(43)
第81回 バスのアーキテクチャ - 過去から未来へ(42)
第80回 バスのアーキテクチャ - 過去から未来へ(41)
第79回 バスのアーキテクチャ - 過去から未来へ(40)
第78回 バスのアーキテクチャ - 過去から未来へ(39)
第77回 バスのアーキテクチャ - 過去から未来へ(38)
第76回 バスのアーキテクチャ - 過去から未来へ(37)
第75回 バスのアーキテクチャ - 過去から未来へ(36)
第74回 バスのアーキテクチャ - 過去から未来へ(35)
第73回 バスのアーキテクチャ - 過去から未来へ(34)
第72回 バスのアーキテクチャ - 過去から未来へ(33)
第71回 バスのアーキテクチャ - 過去から未来へ(32)
第70回 バスのアーキテクチャ - 過去から未来へ(31)
第69回 バスのアーキテクチャ - 過去から未来へ(30)
第68回 バスのアーキテクチャ - 過去から未来へ(29)
第67回 バスのアーキテクチャ - 過去から未来へ(28)
第66回 バスのアーキテクチャ - 過去から未来へ(27)
第65回 バスのアーキテクチャ - 過去から未来へ(26)
第64回 バスのアーキテクチャ - 過去から未来へ(25)
第63回 バスのアーキテクチャ - 過去から未来へ(24)
第62回 バスのアーキテクチャ - 過去から未来へ(23)
第61回 バスのアーキテクチャ - 過去から未来へ(22)
第60回 バスのアーキテクチャ - 過去から未来へ(21)
第59回 バスのアーキテクチャ - 過去から未来へ(20)
第58回 バスのアーキテクチャ - 過去から未来へ(19)
第57回 バスのアーキテクチャ - 過去から未来へ(18)
第56回 バスのアーキテクチャ - 過去から未来へ(17)
第55回 バスのアーキテクチャ - 過去から未来へ(16)
第54回 バスのアーキテクチャ - 過去から未来へ(15)
第53回 バスのアーキテクチャ - 過去から未来へ(14)
第52回 バスのアーキテクチャ - 過去から未来へ(13)
第51回 バスのアーキテクチャ - 過去から未来へ(12)
第50回 バスのアーキテクチャ - 過去から未来へ(11)
第49回 バスのアーキテクチャ - 過去から未来へ(10)
第48回 バスのアーキテクチャ - 過去から未来へ(9)
第47回 バスのアーキテクチャ - 過去から未来へ(8)
第46回 バスのアーキテクチャ - 過去から未来へ(7)
第45回 バスのアーキテクチャ - 過去から未来へ(6)
第44回 バスのアーキテクチャ - 過去から未来へ(5)
第43回 バスのアーキテクチャ - 過去から未来へ(4)
第42回 バスのアーキテクチャ - 過去から未来へ(3)
第41回 バスのアーキテクチャ - 過去から未来へ(2)
第40回 バスのアーキテクチャ - 過去から未来へ(1)
第39回 NuCORE Image Processor - Embedded Processorの一断層(8)
第38回 NuCORE Image Processor - Embedded Processorの一断層(7)
第37回 NuCORE Image Processor - Embedded Processorの一断層(6)
第36回 NuCORE Image Processor - Embedded Processorの一断層(5)
第35回 NuCORE Image Processor - Embedded Processorの一断層(4)
第34回 NuCORE Image Processor - Embedded Processorの一断層(3)
第33回 NuCORE Image Processor - Embedded Processorの一断層(2)
第32回 NuCORE Image Processor - Embedded Processorの一断層(1)
第31回 パーソナルな64bit環境はいつ手に入る?
第30回 64bit Rhapsody 新しい地平を切り開くItanium(10)
第29回 64bit Rhapsody 新しい地平を切り開くItanium(9)
第28回 64bit Rhapsody 新しい地平を切り開くItanium(8)
第27回 64bit Rhapsody 新しい地平を切り開くItanium(7)
第26回 64bit Rhapsody 新しい地平を切り開くItanium(6)
第25回 64bit Rhapsody 新しい地平を切り開くItanium(5)
第24回 64bit Rhapsody 新しい地平を切り開くItanium(4)
第23回 64bit Rhapsody 新しい地平を切り開くItanium(3)
第22回 64bit Rhapsody 新しい地平を切り開くItanium(2)
第21回 64bit Rhapsody 新しい地平を切り開くItanium(1)
第20回 64bit Rhapsody OSを持たないハードウェアの悲劇(4)
第19回 64bit Rhapsody OSを持たないハードウェアの悲劇(3)
第18回 64bit Rhapsody OSを持たないハードウェアの悲劇(2)
第17回 64bit Rhapsody OSを持たないハードウェアの悲劇
第16回 64bit Rhapsody IA-32とYamhill(5)
第15回 64bit Rhapsody IA-32とYamhill(4)
第14回 64bit Rhapsody IA-32とYamhill(3)
第13回 64bit Rhapsody IA-32とYamhill(2)
第12回 64bit Rhapsody IA-32とYamhill(1)
第11回 64bit Rhapsody Hammerの理想と現実(7)
第10回 64bit Rhapsody Hammerの理想と現実(6)
第9回 64bit Rhapsody Hammerの理想と現実(5)
第8回 64bit Rhapsody Hammerの理想と現実(4)
第7回 64bit Rhapsody Hammerの理想と現実(3)
第6回 64bit Rhapsody Hammerの理想と現実(2)
第5回 64bit Rhapsody Hammerの理想と現実(1)
第4回 64bit Rhapsody それでもある64bitの需要(2)
第3回 64bit Rhapsody それでもある64bitの需要(1)
第2回 64bit Rhapsody 一人歩きする64bit(2)
第1回 64bit Rhapsody 一人歩きする64bit(1)

もっと見る

人気記事

一覧

新着記事

鉄道トリビア 第368回 対岸に渡りそうで渡らず、元の岸に戻ってしまう鉄橋がある
[08:00 8/27] ホビー
福士加代子「強がって表に出せなかった」リオを終えた胸の内を告白
[07:00 8/27] エンタメ
アニメ『夏目友人帳 伍』OP&EDを歌うアーティストが明らかに
[07:00 8/27] エンタメ
外国人が好きな"日本の夏の風物詩" - 「アリゾナ州では違法でした」
[07:00 8/27] ライフスタイル
かわいがりたい! と思われる後輩社員の特徴
[07:00 8/27] シゴト