Last update2004/10/02

Ando's

Processor Information Page

  Web内で公開されているマイクロプロセサ関係のデータシートやマニュアル,論文等の若干の解説とリンク集です。解説は日本語ですが,リンクは大半が米国のものなのでリンク先のドキュメントは殆ど英語です。

  感想や質問,これを取り上げてなどの要望は, ando_san@yahoo.com に送るかfj.comp.archニュースグループに書き込んで下さい。但し,趣味でやっている個人サイトですから,対応できないケースもままあるかと思いますが,ご容赦ください。

  皆様のご愛顧で2004年1月10日の今年最初の更新時点で65900を越えました。 そして6月26日版のアップデート時点で10万参照の大台に乗りました。これからも宜しくお願い申し上げます。

今回のアップデート

  今週はBlue Gene/Lが2年ぶりに地球シミュレータを抜いてスーパーコンピュータの世界一になるという話題, そしてそれに対抗して富士通がスパコン開発に乗り出すという話題です。また,ステルスモードであったAzul社のJAVAサーバの話題を紹介します。

最近の話題

最近の話題アーカイブ

データリンク目次


Intelプロセサ

Intel Microprocessor Quick Reference Guide

4004に始まるIntelのマイクロプロセサを全部集め,導入年月日とテクノロジ,クロックやキャッシュサイズ等の主要な仕様の一覧です。古いプロセサはトランジスタ数やダイの写真もあり,昔のチップを調べるには非常に便利です。19711115日導入の400410umテクノロジで2300トランジスタとなっており,写真を見ると個々のトランジスタが数えられそうです。

ということで素晴らしいページだったのですが,最近,見に行ったら,昔あったチップサイズや写真などの詳細情報へのリンクが無くなっていました。Intelにブーイングです。何れも何処かには公開された情報なので隠す必要は無いと思うのですが…

Intel Pentium III

Pentium III-M Data Sheet

2001627日の発表されたIntel初のCu配線,0.13umプロセス採用のTualatinプロセサのデータシート。0.13umプロセスを生かして内蔵L2キャッシュを512KBに拡張すると同じに低電力をメリットにノートブックへの展開を先行。

Software Developer's Manual Volume 1

Volume 1 Addendum

各種実行モード,データタイプ,レジスタ,命令セットなど基本アーキテクチャと命令についてのマニュアル。MMXSSESSE2などの命令についても記述してある。

Software Developers Manual Volume 2

Volume 2 Addendum

前記Volume 1の補足で,命令のエンコーディングや一覧などが纏めてあるマニュアル。

Software Developer's Manual Volume 3

Volume 3 Addendum

OS(スーパバイザ)レベルのソフトウェアの開発マニュアルで,システムアーキ,保護モード,割り込み,SSE等のシステム機能,8086互換のやり方などが記述してあるマニュアル。

Pentium III Optimization Guide

文書のタイトルは,Intel Architecture Optimization Reference Manualで,第1章がアーキテクチャの概要,第2章が一般的な命令の最適化,第34章がSIMD Extentionのプログラミングと最適化,第5章がフローティングアプリの最適化,第6章がプリフェッチを中心とするキャッシュ使用の最適化,第7章は性能チューニングの為のツールについて記述しています。Appendixにはx86命令が何uOPに展開されるか,SIMD命令の実行レーテンシ,性能モニタがカウントする事象や主要アルゴリズムの最適化の例などが載っています。

マイクロアーキの詳しいパイプラインダイアグラムの図もなく,説明もそれほど精密ではなく,他のプロセサと比較するとあまり良い出来とは言えないが,無いよりはずっとマシで,命令がどのように処理されていくかの概要は理解できる。

Intel Celeron

Pentium III系と同一コアながら2次キャッシュ量やフロントサイドバスの速度などで差を付けて廉価版としたお買い得プロセサ。

Intel Celeron Data Sheet

130nmプロセスを採用し,1.2GHzと低電力を達成したCeleronプロセサのデータシート。内蔵2次キャッシュも256KBと強化されお買い得。また,フロントサイドバスも133MHzをサポートし,仕様的には180nm時代のPentium III並になった。

Intel Pentium 4

Pentium 4は,20段という長いパイプラインを採用し,Pentium 3に比べてクロックを1.5倍(同一テクノロジでの比較)に向上。しかし,整数性能はSPECint1.2倍程度,オフィスベンチマーク等では性能は向上していない。浮動小数点性能はクロック比に近い性能向上があり,また,新規に追加されたSSE2を活用するアプリケーションが出てくれば,3Dゲーム等の性能は更に向上が期待できる。

Overview

Pentium 4のマイクロアーキテクチャの概要

Data sheet

電気的使用条件,冷却,取り付け寸法等の物理的使用条件の規定

2.2GHz & 2.0GHz 130nm Northwood Data Sheet

200217日発表の130nmプロセスでシュリンクし,L2$512MBに増強したNorthwoodコアのPentium 4のデータシート。その後,データシートは改版され続け,クロックは3.4GHzまで向上し,2MBのL3$を内蔵したExtrem Editionなるチップ(中身はサーバ用のXeon)も含まれるようになった。

Intel Pentium 4 Processor on 90nm Process(Presctoot)

2004年2月2日発表の90nmプロセスを採用したPrescottコアのプロセサのデータシート。内蔵L1$が16KB,L2$が1MBとNorthwoodコアに較べて倍増している。パイプライン段数はNorthwoodが20段に対して31段に増加しているが,最初のプロセサはNorthwoodと同じクロックで,消費電力は増加,性能はトントンであまり魅力が無い。

Sub 45W TDP 2.0GHz1.8GHz and 1.6GHz 130nm Northwood Data Sheet

前記と同時の200217日に発表された多少 省電力で小型デスクトップ用のNorthwoodコアのPentium 4のデータシート。

Mobile Intel Pentium 4 Processor-M Data Sheet

200234日に発表されたTDP 30WでノートPC搭載を可能にしたPentium 4-Mプロセサのデータシート。

Software Developer's Manual

ソフトウェア(機械語レベルのOSやコンパイラ)から見えるレジスタ,命令等の規定

Pentium 4 Processor Optimization Reference Manual

Pentim 4向けのコード最適化について述べている。

Prescott New Instructions Software Developer's Guide

90nm世代のPentium 4であるPrescottで追加された13種の命令の規定です。

Extended Memory 64 Technology

Intel 64-bit Extension Technology

IA-32プロセサの64bit拡張アーキテクチャのSoftware Developer's GuideのVol.1 Vol.2 へのリンクページである。64bit拡張は64bit整数データ,ポインタをサポートし,64bitのフラットな仮想空間を提供する。また,8個の汎用レジスタ,8個のSSEレジスタを追加している。従来と完全互換の32bit動作のLegacy Mode,OSは64bitで従来の32bitアプリを動かすComaptibility Modeと完全64bitの64bit Modeを持つ。これらの拡張はAMD64と互換である。

Intel Technology Journal

Intel Technology Journal20011Q号は,Pentium 4の特集号

The Microarchitecture of the Pentium 4 Processor

Pentium 4プロセサのマイクロアーキテクチャの論文

Efficient Exploitation of Parallelism on Pentium III and Pentium 4 Processor-Based Systems

Intel Technology Journal Vol.6 Issue 1, Feb 2002 Hyper-Threading Technology

Intel Technology Journal20022月号はHyper-Threading特集号で,アーキテクチャやマイクロアーキの論文,マルチスレッドを有効利用するコンパイラの論文など6件の論文が収録されています。

Intel Pentium M (aka. Banias)

Intel Pentium M Microprocessor Data Sheet

  開発コード名 Baniasで知られる新しいモバイル用の低電力プロセサのPentium Mのデータシートです。各32KBの1次キャッシュと1MBの2次キャッシュを持ち,噂ではPentium IIIベースということですが,MicroOP Fusionとか分岐予測の改良などを行っており,同一クロックのP-3より20%程度性能が向上しています。動作電力はP-3と較べてあまり減っていない感じですが,待機時の電力は削減されており,Intelの目指す電線で繋がっていないコンピュータに一歩近づいています。

Intel Xeon

Intel Xeon Processor MP at 1.40 GHz, 1.50 GHz and 1.60 GHz Datasheet

Pentium 4ベースのNetBurstアーキのサーバ用マルチプロセサをサポートしたCPU256KB2次キャッシュに加えて,512KB/1MB3次キャッシュを内蔵するのが特徴。また,2個のスレッドを同時走行するHyper Threadingをサポートする。

Intel Itanium

Itanium Architecture - Manuals

Volume 1から4まであり,Volume 4を除いていずれも相当なページ数です。Volume 1はユーザレベルのアーキテクチャの記述です。Volume 2はシステムレベルのアーキテクチャの記述で,割り込みとかエラー処理とかOSなどで使うアーキテクチャです。Volume 3は命令の詳細な記述で,各々の命令の作用が詳細に書いてあり,900ページを越えるボリュームです。Volume 4Software Developer's Manualという名称で,ソフトを書く上で理解した方が良いと思われるハードの動きについて書いてあります。これは110ページと他のマニュアルより薄いドキュメントです。この他にソフトウェアの最適化に関するマニュアルがあります。

20027月にItanium 2が出荷開始されたので,Itanium 2用の最適化マニュアルのリンクが追加されました。基本のアーキテクチャマニュアルは最初のItaniumと共通です。

Intel(R) Itanium(TM) Processor at 800 MHz and 733 MHz Datasheet

800MHz733MHzItaniumプロセサの電気的,熱的条件や端子配列と信号名などを規定しているドキュメント。Thermal Design Power4MBキャッシュのモジュールは130W

Intel® Itanium® 2 Processor Hardware Developer's Manual

Itanium 2のマイクロアーキ,バス,データのエラー検出関係など,アーキテクチャレベルでのハードに関してはこのドキュメントが一番詳しいと思います。

Intel® Itanium® 2 Processor at 1.0 GHz and 900 MHz Datasheet

900MHz1GHzItanium 2プロセサの電気的,熱的条件や端子配列と信号名などを規定しているドキュメント。Thermal Design Powerは先代のItaniumと同じ130W

Inside the Intel Itanium 2 Processor

HPが書いたItanium 2White PaperItanium 2のアーキテクチャ,RASなどが良く書いてある。設計をするなら上記のマニュアル類を参照する必要がありますが,アーキテクチャを中心として全容を理解するにはベストのドキュメントです。表紙も含めて43ページで,十分詳しく書いてあるし,マニュアル類のように読む気が起こらないほど分厚くもありません。

Intel® Itanium® 2 Processor - Technical Publications

IDF2001 Augustで発表したItanium 2の概要,200110月のInternational Test Conferenceで発表したテスト関係の論文2件,ISSCC2002で発表したLSI関係の論文6件へのリンクがあります。ISSCCの論文の最初の1件はチップ全体の写真や仕様などが載っています。

AMDプロセサ

2001年のマイクロプロセサフォーラムで64bit拡張を含むHammerシリーズのプロセサが発表されたので,タイトルをAthlonから替えました。また,AthlonDuronの延長のプロセサを含めて2002年末までのロードマップが公表されたのでリンクしました。

AMDプロセサのロードマップ

これによると,Athlonラインは2002年前半にはThoroughbredコアに,DuronラインはAppaloosaコアとなりどちらも0.13umテクノロジになる予定です。64bitの新コアは2002年後半に上位のSledgeHammerと下位のClawHammerとしてデビューの予定です。SledgeHammer4-8MPClawHammer1-2MPと書かれています。また,BartonというAthlonラインの後継が出るようです。2002年後半の製品は0.13um SOIと書かれており,全てSOI化という方針が計画通り進んでいるようです。

この予定は遅れており,2002912日の更新では,ClawHammer20031QSledgeHammer20031Hになっています。また,BartonSOIという文字が無くなっており,バルクに変わったようです。このロードマップのリンクは912日の最新版になっています。

AMD Athon (32bit)

IntelPentium 34に対抗するAMDAthon10段パイプラインで,Pentium 34の中間のクロック周波数を実現し,整数性能では同時期のIntelプロセサを凌ぐ性能を実現している。

Overview

Athonのマイクロアーキテクチャの概要

Data Sheet

電気的使用条件,冷却,取り付け寸法等の物理的使用条件の規定

AMD Extensions to the 3DNow! and MMX Instruction Sets Manual

AMDが独自に追加した3D拡張命令3DNow!と,Intelに追従するために追加したMMX命令セットを規定

AMD Duron

IntelCeleronと同様,ハイエンドのAthlonと同一コアで2次キャッシュなどで差を付けたAMDの廉価版プロセサ。

AMD Duron Processor Model 7 Data Sheet

1.3GHz版を発表したのに伴いデータシートへのリンクを収録した。Sharky'sのベンチマークでは1.2GHzAthlon と性能は良い勝負。但し,まだ180nmテクノロジで消費電力が大きいので,130nmテクノロジのAppaloosaコア版を待つべきか?

AMD Opteron/Athlon 64

Intelはソフトウェア互換のない新たな64bitアーキテクチャ(IA64)を開発したが,AMDは従来の32bitx86と命令互換のある拡張を決定。従来の32bit OS,アプリが動くモード,64bit OSの下で従来の32bitアプリと新たな64bit空間を使うアプリが動くLongモードがある。従来のアプリを生かしながら徐々に64bit移行が出来る点が魅力。IntelItanium32bit x86バイナリを実行するモードがあるが,性能が低いのが難点。

64bit拡張はHammerシリーズのプロセサからで,当初,2002年の前半と発表されたが,今は,2002年後半に出荷予定となっている。

AMD 64bit Architecture Programmer's Overview

64bit化のために作られたLong Modeの説明とそれを実現する追加レジスタ,命令等の説明

AMD X86-64 Architecture Programmer's Manual

このページから以下の5冊のマニュアルにリンクがあります。X86-64シリーズに共通の命令レベルのアーキテクチャの仕様書です。各種モードがあり複雑になっているので,各ボリューム400500ページの大冊で合計2000ページを越えます。

AMD Opteron Processor datasheet

  AMDの64bitサポートのOpteronプロセサのデータシートです。ピンアウト,電源,冷却等について書いてあります。

Athlon64 Thermal Datasheet

  Athlon64 プロセサの実クロック,電源電圧,電源電流,TDP(Thermal Design Power)の一覧が載っています。

AMD Athlon 64 Tech Docs

  AMDのAthlon 64のデータシートを始めとする技術的ドキュメントの置いてあるページです。データシートはピンアウトや,各ピンの電気的インタフェースの条件等,基板設計に必要な情報はあるのですが,最近のプロセサはVIDで電源電圧を決めるので,電源電圧や消費電力などがさっぱり分かりません。これらは別のデータシートがあるようですが,公開されていません。ケチなことをしないで情報公開して貰いたいものです。

Errata (Revision Guide for AMD Athlon and AMD Opteron Processor)

  バグリストです。

AMD Hammer Processor (Microporcessor Forum2001発表)

Hammerシリーズの最初の製品であるSledgeHammerClawHammerの紹介。プロセサの実行コアはAthlonと似ているが,メモリコントローラを内蔵し,DRAM DIMMを直結できる点,マルチプロセサ結合やI/Oチップを接続するHyperTransport3ポート集積したチップになっているのが新しい点である。TLBRASを強化しているようであり,本格的なサーバへの適用を意識した設計である。

HyperTransport I/O Link Specification

AMDHammerシリーズで採用している新しいシリアルリンクI/OバスであるHyperTransportの仕様書。差動の信号線ペアあたり1.6Gbit/sの単方向伝送能力を持つ。接続は11で,インタフェースLSIをシリーズに接続する構成をとる。信号線ペアの数は,x2x4x8x16x32本の構成が定義されている。出と入りのバス幅は同じでなくてもよい。クロックは別途送る方式で,x8ごとに1ペアの差動クロックがある。

Transmeta Crusoe

トランスメタ社は1995年にD.Ditzel等が創立した会社で,永らく秘密裏に開発を進めていましたが,20001月になってクルーソーという名前のプロセサを発表(出荷は秋)しました。このプロセサは64bit128bit2つの長さの命令形式を持つVLIW Very Long Instruction Word)アーキテクチャのプロセサで,ハードとしては独自アーキのプロセサですが,Intelx86命令をエミュレーションすることを大きな目的としており,それを容易にするためのソフト,ハード機構が設けられていることが特徴です。また,負荷に合わせてクロック周波数と電源電圧をダイナミックに制御することにより大幅な低電力化を実現しています。

なお,同社はLinuxを作ったL.Torvaldsを雇っていることでも(一部の人には)有名で,Midori Linuxという名前でクルーソー用のLinuxを出しています。インタネット端末などでは,これを使って軽いソフトで動かすことを狙っています。

クルーソープロセサの解説

日本語のクルーソープロセサのアーキ,コードモルフィング,LongRunの解説

SharkeyExtremeTM5400の解説

SharkeyCrusoeの解説。図がある分,上記日本語解説より分かりやすい点がある。

The Technology Behind Crusoe Processors

トランスメタ社のテクノロジ解説

TM5600 Product Brief

トランスメタ社のTM5600の製品仕様の概説

TM5800 Product Brief

トランスメタ社のTM5800の製品仕様の概説
TSMC社の0.13um半導体プロセスを使用して,TM5600チップの小型,高速化。最大クロック周波数はTM5600700MHzから800MHz15%程度しか向上していないが,同社の発表ではCode Morphing Software4.2版と合わせて50%の性能アップと言っており,ソフトの寄与分が大きいのかも知れない。

TM8800 Product Sheet

        トランスメタ社の90nmプロセスで製造されたEfficeonプロセサの概略製品仕様。単体プロセサを一般向けには販売していないので,詳細なデータシートは公表していない。富士通の90nmプロセスで製造することにより,TSMCの130nmプロセス時代の1GHzから60%のクロックアップを達成。また,業界初のNXbitをサポートするモバイルプロセサとなった。

 

PowerPC

PowerPCは,もともとIBMが開発したアーキテクチャであるが,その後,IBMMotorolaApple3社でSomersetSomersetは伝説のアーサー王の宮殿のあったところで,円卓の騎士が集った。)という共同開発組織を作って開発を推進したが,3社の思惑の違い,一時,Appleが大幅な赤字を出した時期とも重なり,Somersetそのものは解散されたが,メンバは元の各社に戻りIBMMotorolaはその後もPowerPCの開発を続けている。

IBMPowerPCのロードマップ

次世代製品はLow-K絶縁体を使った0.13-0.10umプロセスで1GHz+と書かれている。プロセスで言うとCMOS9SCMOS10Sと考えられ,9Sの早い時期ならば今年のうちに出てくる可能性もある。新しい特徴としては,一チップに複数のCPUコアを搭載するMultiCore,そうなると当然も言えるが,SMP(Smmetoric Multi Processor)をサポートする。また,SIMDエンジンを集積するとあるので,Motorolaが先行したAltiVecを取り入れるものと思われる。I/O関係ではRapid I/Oのサポートとn Way CrossConnectと書かれており,SoCでのIP間接続のパスが強化されるようである。その先は,更に次世代の半導体プロセスを用いて2GHz+で機能を強化すると書かれているがぼんやりとした説明である。

PowerPC 970のProgramming Manual

Apple社のPowerMac G5に使用されたBaby Power4+AltiVec仕様のチップのProgramming Manualです。IBM流の命令仕様書で,ハードの実装については書かれていませんが,命令仕様の記述としてはかっちりとした良いドキュメントです。

PowerPC970のMPF2002発表スライド

2002年10月のMicroprocessor ForumでPowrPC 970を発表したときのスライドで,ハードウェアの情報としては一番纏まっています。

IBM 750CX/CXeのユーザーズガイド

IBM 750CXeのデータシート

PowerPC64bitアーキを定義しているが,750CXe32bitサブセットアーキであり,整数レジスタやアドレス計算は32bitである。0.18um Cu配線CMOSプロセスで700MHzのクロックを実現している。これはIntelなどのプロセサと比較すると遅いが,Pentium-3Athlon10段パイプライン(x86命令からMicroOPへの変換を除くとの実質は7段程度)であるのに対してこちらは4段パイプラインであり,命令の実行効率(IPC)は高いと思われる。一次キャッシュの命令データ各々32KBと,256KB2次キャッシュを内蔵している。命令の同時発行も2命令とし,実行関係のキューの個数も少なく,4段パイプラインという構成とあいまって,物量の少ない軽い実装(Pentium-3110mm2であるのに対して,750CXe42.7mm2)である。これがコストの低減は勿論,低電力(600MHzクロックで6W)にも大きく貢献している。

ユーザーズガイドはプログラミングモデルや命令,例外等について詳述してある文書で,データシートは電気や熱的な使用条件が書いてある。

性能は,SPEC95などという古いベンチマークしか出ておらず,他のプロセサと直接の比較ができない。

MotorolaPowerPCのロードマップ

現在販売している74XXのいわゆるG4に続いて,G5G6という世代が書かれている。G585XXG686XXと書かれているのが面白い。最初のG5製品は0.10umSOIテクノロジと書かれており,このテクノロジの実用化時期から考えると2003年以降になりそうである。周波数は800MHzから2GHz+となっているが,現在の7450でも733MHzに達しており,このテクノロジと時期を考えると800MHzは控えめ過ぎる値であり,多分,もっと高いクロックで出てくると思われる。Symmetric Processingをサポートするとあるので,IBMと同様SMP対応をやるようである。また,Rapid I/Oもサポートすると言っている。G6は名前だけで,中身は書いてない。

MPC7450のデータシート

PowerPCアーキの32bit版の実装であり,7段パイプラインのRISCエンジンで,AltiVecというちょっとベクタユニット風なマルチメディアパイプライン(IntelMMXSSEのような機能)を持っているのが特徴。また,32KBx2L1$256KBL2$の内蔵に加えて,1または2MBL3$をサポートする機能があり,キャッシュのデータRAMは外付けだが,ディレクトリは内蔵している。ハードウェアアーキテクチャの説明と,電気,熱の実装条件,端子の説明が書いてある。667MHzのプロセサで平均14.5W,最大で19Wと消費電力が少ないのも大きな特徴である。

アーキテクチャの説明が結構詳しくて,良いデータシートである。

MPC7450のユーザーズガイド

レジスタを中心とするいわゆるプログラミングモデルと命令,データタイプの全体を説明し,命令がどのような動作を引き起こすかを記述している。また,命令の実行タイミング,割り込みなども記述してあり,ソフトウェアを書く観点からハードがどう動くかを記述したドキュメント。

MPC7455のドキュメント群

上記のデータシート,ユーザーズガイドを含めて,7455関係のドキュメントのリンクです。

Power 4 (Microprocessor Report Oct.6, 1999)

199910月のMicroprocessor ForumでのPower4システムの発表に基づくMicroprocessor Reportの記事のコピー。この時点では詳細なマイクロアーキの発表はなく,4チップをMCMMulti Chip Module)に搭載して…という概要レベルの内容。

POWER4 System Microarchitecture

p690サーバの発表に伴い公開された一連のWhite Paper1つで,過去にMicroprocessor Forumで発表されたが公開されてはいなかった図が殆ど全て含まれ,かつ,CPU内のキューサイズなどのリソース量や拡張されたキャッシュコヒーレンシ状態など過去には発表されていなかった新しい情報が多く含まれている。

IBM Journal of Research and Development Vol.46 No.1

Power4システムの特集号。Power4関係の論文が5編載っており,マイクロアーキテクチャ,回路と物理設計,マルチプロセサの論理検証,フォールトトレラント設計の論文と,大規模なプロセサ開発を複数の場所で分散開発するためのインフラストレクチャという論文があります。

SPARC

SPARC80年代半ばにSunが開発したRISCアーキテクチャで,バークレイRISCの流れを汲みレジスタウインドウを持ち,高速に関数コール/リターンが出来るのが特徴である。その後,Sun独自のアーキではなくオープンアーキとしてSPARCの普及を図る目的でSPARC Internationalを設立し,Sun,富士通,TILSI LogicRossなどの各社がメンバとなり,SPARCチップを開発した。当初は32bitアーキであったが,90年代に入りSPARC Internationalのアーキテクチャ委員会で64bit化が検討されSPARC V9アーキが制定された。

20017月現在,Sunの最新のチップはUltraSPARC IIIであるが,マイクロアーキはMicroProcessor Reportでは取り上げられたが,Webで無料でアクセスできるものは(私の知る限りでは)存在しない。Technical Highlights と称する概要を記述したのもがあるだけである。富士通の最新のチップはSPARC64 IVである。マイクロアーキについては下記のWhite Paperがあるが,富士通は自社のサーバに使用するだけでチップは販売していないのでチップの正式なUser's GuideData Sheetなどは公開されていない。

V9 (64-Bit SPARC) Architecture Book

V9 Errata

SPARC V932bitアーキとの互換性を保って64bit拡張を行うと同時に,多重割込み機構,割込み時のレジスタ切替などを加え,ハイエンドサーバ用プロセサとして重要なシステムコール性能の改善,エラーハンドリングの安全性などを強化した。V9 Archtecture Bookは全てのV9 SPARCプロセサが準拠すべき規格である。

UltraSPRAC II User's Guide

Sunが開発した最初のV9プロセサがUltraSPARCであるが,これを若干強化したUltraSPARC IIUser's Guideである。US IIのマイクロアーキ,パイプラインを記述している。V9命令はV9 Arch Bookを参照することを意図しており,US IIでの実装依存(VIS命令,初期化,エラー処理など)を詳述してある。

UltraSPARC II Data Sheet

US IIの電気,熱条件などを規定しているドキュメント。システムバスであるUPAのプロトコルの説明にかなりのページを割いている。UPAは対照型マルチプロセサ(SMP)バスであり,キャッシュコヒーレントなバスのプロトコルを勉強するにも役に立つドキュメントである。

UltraSPARC IIi User's Guide

UltraSPARC IIi Data Sheet

USIIiは,US II CPUをコアとしてメモリやPCIバスインタフェースなどを同一チップに集積し,小規模のシステムを効率よく作ることを目的としたチップ。Webサーバなどに使われるThin Servermなどに使われている。User's GuideUS IIのものに加えてメモリコントローラやI/O関係のリソースの使い方が書かれている。

UltraSPARC III Cu User's Manual

Sunの第三世代のSPARC V9プロセサであるUltraSPARC IIIのユーザーズマニュアルで,基本的にはソフト(どちらかと言えば,OSやコンパイラなど)を作る人向けであるが,プロセサの基本的ブロックダイヤやパイプライン構造などは説明があり,命令発行のグルーピングなどはきちんと書かれている。V9命令の動作はV9 Architecture Bookを参照することを前提としており,詳細は記述されていない。それでも全体は577ページのボリュームがある。

UltraSPARC IIIi User's Manual

1MBのL2$を内蔵し,4チップまではJBus経由でほとんど外付けの部品なしに接続できる小規模サーバに最適化されたUS-3iのマニュアルである。526ページの大冊である。

UltraSPARC IIIi White Paper

US-3ベースのローエンドプロセサチップのUS-3iのWhite Paperです。全体で20ページで,技術的な概要としては良く纏まった情報です。

JBus White Paper

US-3iのマルチプロセサインタフェースであるJBusのWhite Paperです。MOESIプロトコルのSMPバスであるという以外には殆ど情報がありません。

Fujitsu/HAL SPARC64-III User's Guide

Fujitsu/HAL SPARC64-III User's Guide ERRATA

Fujitsu/HALが開発した3世代目のSPARC V9プロセサ。User's Guideはマイクロアーキ,コンパイラなどを作成するための最適化のやり方,V9を含む命令仕様を記述している。

SPARC64 IV White Paper

SPARC64の4世代目のプロセサのホワイトペーパで,マイクロアーキテクチャを中心に説明している。日本の富士通のドキュメントなので,これは日本語で書いてある。

SPARC Joint Programming Specification(JPS1)- Commonality

  富士通とSunが共同で開発したSPARCプロセサの命令仕様書。SPARC V9はMMUなどは実装依存として規定していないが,それらも書いてあり,規定範囲が広がっている。pdfで表紙等も含めて634ページ。

SPARC JPS1 Implementation Suplement- Fujitsu SPARC64™ V

  前記のCommonalityの中で実装依存となっている部分がSPARC64 Vでどうなっているかを記述したドキュメント。エラーハンドリングなどは記述量が多いが,一般的な部分は章の表紙があり,Commonを参照と書いてあるだけの所もある。pdfで表紙等も含めて255ページ。

Fujitsu's SPARC64 V Is Real Deal

  2002年10月のMicroprocessor ForumでのSPARC64 Vの発表をフォローしたMicroprocessor Reportの記事。Microprocessor Reportのサイトは有料で見られませんが,富士通が許可を得て公開したもの。

UNIXサーバ用プロセッサ:SPARC64 V

  富士通の技術論文誌の2002年11月号はサーバ特集号で,その中のSPARC64 Vプロセサの論文です。これは日本語です。

PA RISC

HPIntelと共同でIA-64を開発し,独自のPA RISCを止めるという方針を打ち出したのは,もう,5年くらい前のことであったと思いますが,Itaniumの遅れもあり,今もPA RISCHPUnixサーバを支えています。2001918日に新CPUであるPA-8700のハイエンドサーバへの搭載がアナウンスされました。(IA-64x86命令を実行するとIA-32のプロセサより遅いので,HP-PA命令でも事情は同じとすると,そう簡単には置き換えられません。ロードマップにはPA-8900まで書いてあります。)

PA-8700は学会発表では900MHzとか1GHzとか景気が良かったのですが,製品として最初の発表されたのは750MHzです。このCPU0.18um Cu配線,SOIテクノロジを使っており,HPは正式にはどこで製造しているかを言いませんが,IBM製であることはミエミエです。

PA-8700のチップ写真

2001922日現在はここにPA-8700のチップ写真があるのですが,http://www.cpus.hp.com というHPCPU関係のトップページですから,いつまであるかは分かりません。必要ならページを保存しておいた方が安全です。PA-8700はチップの3/4(以上?)を占める1.5MBの一次データキャッシュ,0.75MBの一次命令キャッシュを持ち,システム的にも2次キャッシュ等は無くこれらが唯一のキャッシュという特徴ある構造になっています。チップの大部分がRAMなので,これはCPUチップではなくてSRAMチップだという悪口も出るくらいです。Webページの下にColoradoの美しい風景写真が出てきますが,これはHPCPU部隊がColoradoに居るからです。

PA-RSC関係のドキュメントのインデックス

PA-RISC 2.0のアーキテクチャと命令セットのレファレンスマニュアルなどへのリンクもあるのですが,残念ながら切れていて見つかりません。PA-8700関係は3件のpdfペーパがありますが,2件はISSCCでの発表のものなので回路よりでマイクロアーキは書いてないが,回路や物理設計に興味があればお奨め。マイクロアーキは次のペーパを参照してください。

PA-8700白書

PA-RISCのロードマップから,PA-8700のマイクロアーキまで書いてあり,全貌を掴むには良いペーパ。

PA-RISCマニュアルページ

PA-RISC1.1PA-RISC2.0の命令セットなどのマニュアルがあります。

PA-8800Microporcesor Forum 2001の発表)

IBM0.13um SOIプロセスを使ってPA-8700をシュリンクして2CPUコアを搭載。また,DRAMテクノロジを使った32MB2次キャッシュを外付けした。PA-8xxxとしての2次キャッシュの採用は初めてである。

ARM

ARMはイギリスのARM社が開発した32bit RISCアーキテクチャで,ディスクドライブの制御プロセサでは標準の地位を確立し,その他の各種の組み込み用プロセサとして広く使われておりますが,最近ではPalm社も採用を決めるなどPDAや携帯電話のプロセサとしても用いられるようになってきており,このプロセサ上でアプリケーションを動かすという点で汎用プロセサに近い位置付けになってきたという(独善的?)判断で,取り上げることにしました。しかし,System on Chipに組み込まれることを意図しており単体のチップではなくIPコアとしての提供という点が他のプロセサと違い,ARM社はチップは作らず半導体各社からのライセンス料,ローヤリティーで収入を得ています。

元々,ARMAdvanced Risc Machinesの略であった筈ですが,最近は単にARM社となり,Arm(腕)の連想から旧DECが始めてIntelが受け継いだStrongArmや,16bit命令語に縮小したThumb(親指)アーキテクチャなど,”手”に関連した名前がつけられています。

本来のARMアーキテクチャは32bit RISCですが,他の大部分のRISC32個の汎用レジスタを持つのに対して16個の汎用レジスタに制限して,その分の命令ビットを条件実行制御(Predicated Execution)に使っているのが特徴です。また,汎用レジスタを8個にして,条件実行制御ビットを落とし,その他のフィールドも切り詰めるという形で16bit命令語としたThumbという命令アーキテクチャがあり,命令数が増えて性能は低下するが命令コードサイズが3040%縮小するのでメモリの少ない組み込み用には便利です。

ARMの命令仕様は,筆者はARM社から貰ったCDROMに入った物を持っていますが,どういう訳か同社のサイトでは見つかりません。お仕事で必要な方はARM社の営業さんに言えば貰えると思います。

ARM & Thumb Instruction Set Quick Reference Card

本来,命令アーキを記述したArchitectural Reference Manualというドキュメントがある筈なのですが,同社のWebサイトを探しても見つかりません。代りにはなりませんが,一応命令セット全体を記述したものということで参照しておきます。

ARM7TDMI Reference Guide

ARMの基本とも言えるARM7のレファレンスです。プログラマーズモデル(レジスタ等の説明)と命令のビット割当の表が載っているのでアーキテクチャの理解を助けになります。それから,メモリやコプロセサとのインタフェースや電気的なインタフェースの波形などが規定されています。

更に興味がある人は,同社の ドキュメントのトップページから,ARM9などのドキュメントがダウンロードできます。最新のプロセサは浮動小数点のサポートなどを追加したARM10ですが,まだ,ドキュメントは見当たりません。

Jazelle Whitepaper

最近,Jazelleという第三の命令セットアーキを作りました。Javaのバイトコードを直接実行する命令アーキで,バイトコードの内でARM命令に11で対応するものはThumbと同様に命令デコーダの前でARM命令に変換して実行部に送り,複雑な命令はトラップしてエミュレートとするという方式でJava Bytecodeを実行します。ARM9の場合で,純ソフトでエミュレートするに比べて3倍強の性能が出ると書かれています。携帯電話などはJavaでアプリを動かすので,Javaの高速化は大きなメリットです。

ARM/Thumb/JazelleのモードはPSRのビットで切り替えられ,モード切り替えを伴うブランチ命令で切り替えます。従って,サブルーチン単位で異なる命令セットを使うというのが一般的な使い方のようです。

JazelleJavaと足の速い動物であるGazelleを合わせた造語で,これは”手”とは関係が無いようです。

 

IBMメインフレーム

本物を見た事がなくてもコンピュータに興味のある人なら知らぬものはないIBMメインフレームですが,実際のアーキテクチャを知っている人はあまりいないと思います。DrAmdahl360アーキから延々と上位互換の拡張を続けてきた集大成が,このESA/390 POOです。ESA/390 POOはシステムの仕様なので,このサイトの他のCPUチップの仕様とは多少趣が違う点があります。

IBM ESA/390 Principles of Operation

z/Architecture Principles of Operation

IBMIAサーバからメインフレームまで全てeServerに名称統一し,メインフレームはその中のzシリーズと名前が変わりました。また,zシリーズになってアーキテクチャが拡張され64bitアーキとなりました。

第三者のアーキテクチャ解説

64-Bit CPUs: What You Need to Know

64-Bit CPUs: AMD Hammer vs. Intel IA-64

ExtremeTeckHammerIA-64のアーキテクチャ解説と相互の優劣の比較。
 

第三者の性能比較

SPEC

SPECStandard Performance Evaluation Corporationの略で,プロセサの標準的な性能評価を客観的に行うことを目的に設立された業界団体です。色々なベンチマークを作っていますが,代表的なCPU2000Web99を紹介します。

SPEC CPU2000

CPUベンチマークはSPEC92SPEC95に続いて作られた最新版がCPU2000です。CPU200012本の整数演算中心のベンチマークからなるCINT200014本の浮動小数.演算中心のCFP2000からなり,それぞれの全部のプログラムの実行時間を標準マシンの実行時間との比率で表し,全体の幾何平均で表します。整数系のプログラムにはgzipとかgccが含まれており,浮動小数点系は流体のシミュレーションとか地震シミュレーションとかの科学技術計算で,全てソースが公開されておりリコンパイルできる実用的プログラムです。

これらをコンパイルするに当たって全部のプログラムを同一の3つ以下のコンパイラフラグでコンパイルすることを義務付けられているBaseと,各プログラム毎にフラグを替えたり,コンパイラ自体を替えてもよく,とにかく最大性能を出すようにチューニングして良いPeakがあります。また,マルチプロセサマシンで整数系や浮動小数点系のプログラムを多重に流してどれだけのスループットが出るかを測定するCINTrateCFPrateというベンチマークもあります。プログラムをコンパイルする際にどのフラグを使うと最適になるかを調査するのも大変なので,一般ユーザが恩恵を受けられるのはBaseという考え方だと思いますが,-k fastというような複合フラグを作ってSPEC対応を行っているケースが多く,これで実用的なプログラムを安全にコンパイルできるという保証もないので難しいところで,peakの方がハードの実力という考えもあります。

コンパイルするプログラムの名前を識別して最適化のやり方を変えるのは違反ですが,トレーススケジュール用の小さなデータは用意されており,これを実行した結果を利用して最適化を行うのはOKで,境界はあいまいです。

当然ですが,ユーザが同じ値を実測できることが要件で,登録したシステム,コンパイラ等が3ヶ月以内に一般ユーザにも入手できる(当然お金を払って)ことが条件で,発売が遅れて取り消しになるケースもあります。しかし,メモリを一杯積んで,ファイルを全てメモリマップにしてディスクにはアクセスが行かないというような設定は茶飯事で,ベンチマークの構成に書かれているのと全く同じハード構成にして,同じコンパイラに同じフラグを食わせて測定する必要があります。また,複数回測定して最高と最低の測定値を切り捨て(体操の得点と同じ方式)平均するので,あらかじめ複数回流してキャッシュをウオームアップするのは標準手法で,登録と全く同じ値を再現するのは簡単ではありません。

というように色々とありますが,実用的なプログラムでCPUとキャッシュ,メインメモリ+コンパイラの性能を評価するベンチマークとしてはCPU2000が一番高い評価を得ていると思います。

SPECWeb99

SPECWeb99Webサーバとしての性能を測定するもので,一般的なホームページを参照するケースで最大何ユーザを同時にサポートできるかを測定するベンチマークです。擬似クライアントを測定するサーバに接続し,色々なページを要求して負荷を掛け,一定のレスポンスを満足できる最大同時ユーザ数を求めます。従って,使用するハード,OSだけでなく,Webサーバソフトの性能にも依存する測定となります。

アクセスするページは実際のサーバ環境から測定されたサイズの分布を持つ固定内容のページと,内容の一部変わるページやCGIスクリプトが動くページなどがあります。

TPC

TPCTransaction Processing Performance Councilの略で,その名の通りビジネスの中心をなすトランザクション処理性能のベンチマークを行っている業界団体です。実用的な環境に近い性能評価を重視しており,一定時間に何回処理ができるかという絶対性能と同時に,処理当たりのシステム価格も重要な評価指標となっています。後述のように測定システムが10億円を越すような大変な測定ですが,その分,信頼されているベンチマークです。

TPC-C

TPC-Cは大規模卸業者をモデルにしており,顧客からの注文に対して在庫量を調べ,在庫があれば注文を受け付け,もよりの倉庫からの発送を手配し,代金の請求を行うというようなビジネス処理をモデルとしています。サーバと端末は基本的なテキストのやり取りだけで通信量は多くありませんが,データベースの在庫の表や顧客の注文状態の表を頻繁にアクセスして更新を行うという処理になります。ベンチマークは,これらのトランザクションを毎分何回できるかを測定します。

全体が1つのOSで動くSMP構成と,各ノードごとにOSがあり,パラレルデータベースで動くクラスタシステムのベンチマーク結果があります。結果を見ると分かるように,最大性能はクラスタの方が高い値を実現しているのですが,現実の大規模システムではSMPによるシングルデータベースの方が主流です。パラレルデータベースでは複数のノードから同一の表をアクセスする場合の排他制御のオーバヘッドが大きく,表のアクセスをうまく分離できる設計が可能な場合は性能が出るのですが,実用システムでは,必ずしも,このような設計が上手く行かないという面があると思います。

Non ClusterSMPシステムでは20014月にはIBM220,807でトップだったのですが,2001630日に富士通が222,772 を登録しトップに立ち,7月30Compaq1GHzαを使ったGS320230,533 を出してトップを奪回するという熾烈な競争が繰り広げられています。システムの内容をクリックするとシステム構成の詳細,各コンポーネントの定価が見られます。Compaqのシステムも富士通のシステムも$10Mを越える巨大システムで,個人で買うことはないでしょうが,値段を見るのは面白いと思います。しかし,自社システムとは言え定価10億円を超えるシステムを設置し,チューニングから監査まで何ヶ月も占有するのは大変な負担で,もう少し安くできないのかという話もあったのですが,実環境に近い性能ということで測定方法は変わりませんでした。

TPC-H

TPC-Cはオンライントランザクション処理ですが,データベースのもう1つの代表的使い方であるDecision SupportをシミュレートするベンチマークがTPC-Hです。一定の条件にあった売上の合計を出すとかの22種の問い合わせを毎時何回できるかを測定します。データベースの規模が100GBから300GB1TB3TBの4クラスがあります。大規模のデータの集積を舐めて,特定の条件に合うレコードを抽出して売れ行きの傾向を分析したりという処理で,TPC-Cが小さなアクセスを多数繰り返すのに対して,こちらはディスクを連続して読み出すので,アクセス速度よりデータ転送性能が問題となるという違いがあります。また,それぞれの処理をどのように分解して処理すると性能が出るかという点で,データベースソフトのコマンドをコンパイルする知能の差がでます。

大規模では相変わらずTereDataWorldmarkが強く,20018月現在,1TBクラスでは2位のHPSupe Dome13160に対して185423TBクラスでは2位のSunE10K10764に対して18803と大差を付けています。しかし,この3TBのシステムは約$19Mで,20億円超のシステムですからTPC-C以上に大変な測定です。

TPCW

TPC-WSPECWebと同じくWebサーバとしての性能を測定するベンチマークですが,SPECWebが主に固定的(一部ダイナミックなページもあるが)なホームページのページを参照するというモデルであるのに対して,TPC-WAmazon.comのようなオンラインの本屋をモデルとしており,書名や著者からのサーチ,本を選んで概要のページを見る,ショッピングカートに入れるというWeb上でのやりとりから,暗号化したクレジット番号の受信,在庫,顧客,注文などのデータベースの更新という一連の処理をモデル化している。ユーザが検索をクリックして結果ページを表示というような処理が毎秒何回できるかを測定します。

在庫品目10万件のクラスではUnisysES7000が現在トップ(2001710日登録)で,10439を達成している。これも$11Mのシステムである。

Sharkyextreme Pentium 4 20.A & 2.2GHz &  CPU Review

Pentium 4 2.2 GHzプロセサの性能評価レポート。AMD Athlon XP2000+などとの各種ベンチマークでの性能比較
今回からSiSoftSANDRAベンチマークの結果が入りました。FPUテストではP-4 2.2GHzXP2000+15%程度上回っていますが,ALUテストでは逆に20%弱負けています。MultiMedia FPUテストでは写真判定程度の価値,MultiMedia ALUでは鼻の差で負け。メモリバンド幅は845Dチップセットの場合はAMDとほぼ同じですが,850RAMBUSを使ったマザーボードでは50%程度高い性能を示しています。実アプリでのベンチマークは大差ありません。但し,P-4Northwoodコアは130nmテクノロジであるのに,XP2000+180nmテクノロジで,消費電力,発熱の点では明らかにP-4有利です。

Sharkyextreme Pentium 4 2.0GHz CPU Review

Sharkeyextreme Athlon XP2000+

1.67GHz Athlonプロセサの性能評価レポート

Sharkeyextreme Athlon 1.4GHz CPU Review

Sharkeyextreme 1.3GHz Duron CPU Review

InQuest The War Escalates Athlon4 takes on Pentium4

Athron 4Pentium 4の比較レポート。Pentium 4はチップが高温になると実質クロック周波数を半分に落として(命令スロットル)冷えるのを待つ機能があるが,これによる性能低下について詳細に記述してある。AMDのチップのデータシートの消費電力は最大で書いてあるが,Pentium 4は,大部分のアプリでは最大電力の70%程度しか消費しないことから,最大消費電力の2/3で規定してある。このため,アプリによっては命令スロットルが掛かり性能が低下する。
書き方のトーンは強いアンチIntel

Technology

マイクロプロセサチップ設計に関する半導体,回路等の設計に関する論文を収録

International Technology Roadmap for Semiconductor 2001 Edition

半導体技術の先行きを世界の専門家を集めて予測した,業界でもっとも信頼されている半導体ロードマップ

Managing the Impact of Increasing Microprocessor Power Consumption

ハイエンドプロセサの消費電力は増加しており,低電力設計と電力制御が重要となっている。Pentium 4での電力管理について述べた論文。

Interconnect and Noise Immunity Design for the Pentium 4 Processor

チップ内の配線間の寄生容量,結合インダクタンスなどで生じる雑音の解析とそれをチップ全体で総合して許容範囲内であるかどうかを判定するCADに関する論文。