cyber205の日記: Dhrystone
=== PalmIII === (PalmOS 3.02 + JOS-III (FlushBuilderでROM化))
1395 LOOP/Sec
=== TRGpro === (PalmOS 3.3 + JOS-IV)
2380 LOOP/Sec
=== Visor === (PalmOS 3.1H + JOS-IIIx)
2290 LOOP/Sec
=== TRGPro === (OS PalmOS 3.3 + JOS-IIIx) [After Burnet III 強化改造]
4743 LOOP/Sec
=== Palm Pilot Professional === (OS PalmOS 2.0)
1398 LOOP/Sec
=== CLIE PEG-TG50 === (OS PalmOS 5J)
6920 LOOP/Sec (68000 Emulation)
68000機にしては、意外とパワーがあるのねぇ。
[WORK STATION]
=== Sun3 === (68020/SunOS)
3000~3500 LOOP/Sec 程度
=== SPARCstation === (SPARC/33MHz~ SunOS)
12000 LOOP ~ 20000 LOOP/Sec 程度。
=== PA-RISC === (HP-UX)
100000 LOOP/Sec 程度
=== 486DX === (OS不明)
2-30000 LOOP/Sec 程度
RISCワークステーションと全然遜色無い486ってのは凄い。
68系もキャッシュ積んだ040や060が普及していれば、面白かったろうねぇ。
まぁ、アーキテクチャを刷新して、RISCでゴリゴリに設計したモノのほうが速いと思うけど、
やはり、アプリが無いんじゃ駄目か。
配列計算の速さだけ欲しいのなら、ベクトルプロセッサ積むとか、
GRAPEやDSPみたいな専用計算機にした方が速いよなぁ…。
[Micro Computer]
AVRマイコンのDhrystone計測結果
実行形式はコードサイズで最適化
=== at90s8515 === - 8MHz with 32K external SRAM/AccessTiming 4cycle
2915.45 Dhrystone/sec (1.659 MIPS int=16Bit)
=== at90s8515 === - 8MHz with 32K external SRAM/AccessTiming 3cycle(EXT-NO WAIT)
3395.4 Dhrystone/sec (1.933 MIPS int=16Bit)
-O9オプション使用:スピード優先で最適化
=== at90s8515 === - 8MHz with 32K external SRAM/AccessTiming 3cycle(EXT-NO WAIT)
3401.2 Dhrystone/sec (1.938 MIPS int=16Bit) ちょっとだけ速い
MIPS値はDhrystoneを1757(もしくは1600)で割れば出るのだそうだ。
これは、「VAX11/780を1MIPSのマシンとする」という古来からの伝統に基づく。
# WIDE UniversityのSOI(School Of Internet)に資料があったので参考まで。
# ん…1767なのか??? なんかこのへん、めちゃめちゃいいかげんだなぁ。
このファジィな値、正確にはVAX MIPS値って言うのだって。(知らなかった…)
確か、IBMにも同様に1MIPSなマシンがあり、ベンチマークで同じ性能だったらしい。
で、1MIPS機と同じベンチマークで同じスコアなら1MIPSでいいじゃん…と、
そういうことだったと聞いたような。
このへんからおかしくなってくるのだよなぁ。
そもそも、MIPSって、「秒間100万命令を処理できる」(Million Instruction Per Second)
って意味だったはずだ。
例えば、4MHzで動作するZ80はM1(マシン・サイクル・ワン)に限って言うと、
4クロックで1プロセッサステート。
ここで1バイト命令、1ステート完結タイプの命令(NOP命令とか)を走らせると、
1秒間に100万命令を処理できる。これが本来の意味での1MIPSだよなぁ。
まぁ、実際にはインストラクションミックスして平均を出すんだろうけどね。
=== H8 === (型番不明:16bit接続、int=16Bit)
4179.2 LOOP/Sec (2.3786 MIPS)
ここにも資料が
しかし、川鉄のKL5C8400でPC-8801を33MHz動作とか、
MSXを24MHz化とか、キれた話題がなかなか凄い。
PLDでタイミング回路作ってるところが今風よねぇ。
=== PC8801-MA === (V2 mode)
4MHz:217 LOOP/Sec
8MHz:357 LOOP/Sec
=== MSX2 ===
3.58MHz:152 LOOP/Sec
アクアプラスのEPSON製RISCチップ(S1C33)を登載したP/ECEでも計測が出てる。
=== P/ECE === (EPSON S1C33/Ovc 48MHz)
EPSON純正 (GCC 2.7): 9955.2 LOOP/Sec
GNU製最新版 GCC 3.3: 12365.5 LOOP/Sec
P/ECEは12/24/48MHzのセレクトが可能らしい。
ここのリンクには他のアーキで作った測定結果もリンクされていた。
SuperHならここでいろいろ
ARM/Gameboyなんかはここ
う~む、Dhrystoneって、そこそこメモリさえ積んでれば測定できるからなぁ。
あっちこっちで測定してる人いるのだな~。
8ビット機はともかく、16Bit以上ではCISCでも1000超えるのは普通なのね。
32BitRISCだと、ほぼ間違いなくキャッシュに乗るので1桁違って一気に1万からが勝負になる。
キャッシュに乗ってしまうと、HPのPA-RISCのように特殊なチップ以外では、
1クロックでアクセスできるキャッシュを大量に積む。そうなると、クロックに比例してスコアが上がる。
100MHzクラスなら10万、1GHzクラスなら100万かな。
そういえば、うちのCeleron機、2GHzで、250万ループぐらいブン回る。
キャッシュに載せて、内部並列処理して、クロックをめいっぱい上げると、
最高でこれぐらい出せるってことなのか…。
あれ…スーパスケーラって、適用されないのかな??
Dhrystone More ログイン