【64】INTEL厨 vs AMD厨 Part23【(´・ω・`)ショボーン】
>>833 うちはデスクトップ2台あるから、空いてるほうで焼く。
2600+がメイン&ゲーム機で2.4Bが録画機&ファイル鯖だから、
録画してないときは必然的に2.4Bのほうで焼くことになる
841 :
Socket774:04/04/19 23:55 ID:/btuaoso
HTは1CPUが2つになる魔法の技術ではない
OSのスッドレ制御などがあって初めて効果がでてくる。
レジスタは1CPU分しかないのでまったくもってインテルは詐欺氏
簡単に言うと
HT offが一人乗りの戦闘機で
HT onは復座型(二人乗り)戦闘機
>>838 以前私が書いた文章を参考までに。
−−−−−−−−−
後藤氏の記事に
http://pc.watch.impress.co.jp/docs/article/20011214/kaigai01.htm 「 また、Hyper-Threading CPUでは、ソフトウェア側が「spin-wait loop」を使うと、最悪の場合完全にスタックして
しまうという問題がある。そのため、ソフト開発者にspin-wait loopの使用を避けさせないとならないが、その
注意を促す技術ドキュメントも、昨年の2月にすでに公開されている」
とある。
で、intelの文書を探したところ、
ftp://download.intel.com/design/Pentium4/manuals/24896610.pdf の、7-13ページから7-22の「Thread Synchronization」にいろいろ書かれています。
spin-wait loopについては、7-15に
This penalty occurs on the Pentium Pro processor, the Pentium II processor and the Pentium III processor.
However, the penalty on these processors is small compared with penalties suffered on the Pentium 4 and
Intel Xeon processors.
(Pentium4にくらべ、Pentium-Pro〜PentiumIIIではペナルティーが少ない。)
On a processor with Hyper-Threading Technology, spin-wait loops can consume a significant portion of the
execution bandwidth of the processor. One logical processor executing a spin-wait loop can severely impact
the performance of the other logical processor.
(一方の論理CPUにspin-wait loopが実行されていると、もう一方の論理CPUのパフォーマンスが低下する)
そして、Example7-1(b)に、パフォーマンス低下防止のために、Pauseを入れる必要があると書かれている。
(b) Inserting the PAUSE instruction in a fast spin-wait loop prevents performance-penalty to the spinning
thread and the worker thread
HTTのパフォーマンス低下に繋がる、Pauseなしのspin-wait loopを使ったアプリがどの程度存在するのかは不明ですが、
物理CPUによるSMPのPentium-Pro〜PentiumIIIではペナルティーが少ないため、当時のアプリケーションで
使用されているものがそれなりに存在している可能性はあります。Intelの文書にも、spin-wait loop使用時はPauseを
入れろと書かれているくらいですし。
>>841 おぃおぃ、レジスタは2セットあるだろうよ・・・
>ハイパー「スレッド」なんて言うから、スレッドレベルでの独立だと思ってた・・・ orz
>それなら「単一スレッド」の複数アプリで速いってのに納得
タスクが切り替わったらキャッシュがクリアされてパイプラインは破棄される。
だから、キャッシュを共有しているHTはスレッドでないタスクに対しては
効き目無しと見るが。
846 :
Socket774:04/04/20 00:20 ID:pWkbLVak
847 :
Socket774:04/04/20 00:28 ID:lwF7sAeD
>>828 プレスコならCPUも焼けるよ!(お得)
>>846 釣りなんだろうか?
2セット無かったらどうやって”同時”に複数スレッド実行するのさ?
>>848 うちのは大丈夫だぞ。
NextWaveのSilentKing300W。
UDで1ヶ月以上負荷100%だがまったく問題ない。
851 :
Socket774:04/04/20 00:46 ID:pWkbLVak
>>849 釣りなんだろうか?
厳密に言うとそもそもCPU命令の同時実行なんぞありえないわけだが
電球は付いたり消えたりしてるけど人間の目にはそのようには見えないよね?
>>849 >>849は
eaxレジスタなどの汎用レジスタが二つあるって言ってるのかな
それとも別の意味?
レジスタが二セットあるなら
FPUレジスタも
MMXレジスタも
SSEレジスタも2つあるのかな?
852 :
とりあえず馬鹿は氏ね:04/04/20 00:47 ID:pWkbLVak
_____ ミミ ミ ミ .| \ \
/::::::::::\ ミ ミ ミ └――― .\ \
/:::::::::::::::::::} \ \ \ ── ┌── | / /
|::::::::::::::::::::} \ \\ ヽヽヽヽ .| |
人::::::::::::::ノ/ \\\\\ヽヾ | |
,<^`‐--‐´/ >、 .ヽヽヾヽヾ\ヽ .| |
,イ .|``‐--‐´|/´/`.、 ヽ ヾヾヽ||| ...│ |
,イ ! 、ヽ| /V \ ヽ|ヽ/´ヽ, ヽ | | ||  ̄  ̄
ト- ィ | | i^i i^i | ::;| `Y/〉 ∩_ _∩
.ト-┤ | |_| |_| |_|:::;| ├‐┤_ _ , 、、-‐'´r' ヽ|、 \ \ \
ト ┤ | :::;|-‐├ ┤ |ヽ`l`l || r'〇 ヽ / / /
rrrj〉 | 〈rrrr! |-‐●_ ) | /
| 、 _ -‐ ' |U | ,ミ 〈 /
| .`r ' ´ |_ノ __/ / /
.| :::;;;| |(_____/ /
| :::;;| | | | |
.|_::::;;| ./ /\ .| | |
|三 | .( ( | | _| .._|
|三 | / ) ヽ、`ヽ、
|三 |、 (_/ (___/ ._| .._|
.{_ :::;;)
>>849
>>850 UD専用機でしたら、ビデオカードがあまり電力を消費しないため、
電源ユニットにとっては3Dゲーム・ベンチ等より楽なので、
UD専用機で大丈夫だからといってその他の用途で300Wで持ち
こたえられるとはいえないです。
>>841 単座の攻撃ヘリは実用性皆無と言う理由で、
必ず『複』座型に仕様変更されますけどねw
>>849 HTは1クロックごとにフェッチするスレッドを切り替えてごちゃ混ぜに演算機に
詰め込むだけ。
デコードされた後はどっちのスレッドの命令かなんて区別されずに実行される。
だからトランジスタ食わないで済むんだけど。
つーか、キモはPenPro以降のx86は内部的に二重化された
スーパースカラーなんで、
命 令 の 並 列 実 効 は HT に 関 係 な く や っ て い る。
ポイントは、単一スレッドだと、処理の起承転結があるため、
同時処理3命令の壁があり、だから、依存関係の無い
別スレッドを混ぜてその壁を破ろうとしたこと。
ハード的にほぼ同じなんだけど、OSをだまくらかして二個のCPUに
見せかけて、前後関係の無い命令を混ぜている。
857 :
Socket774:04/04/20 01:29 ID:+J0aBQSp
>>841 US NAVYは伝統的に複座、2発を好みます。
理由:着艦時のワークロード低減及び墜落時の生存率が高いため
USAFを始めとして空軍は単座、単発を好みます。
理由:コストが低く大量配備に向くため
目的、用途次第ですね。
>>851 ”同時”にってのは誤解を招く言い方だった、
”高速に切り替え可能”ぐらいかな。
レジスタ2セットってのは、少なくとも外部から見たIA32の汎用レジスタの事ね
HT以前からもレジスタリネーミング等で内部的には、IA32として公表された数よりは多く在ったから
間違った考えだったか・・・
高速に切り替えて実行してるのだから、論理CPU二つ分の汎用レジスタ(にあたるレジスタ)は
保持してる→2セット分と考えたのだが。
MMXとかSSEは共有資源。
849 名前: Socket774 [sage] 投稿日: 04/04/20 00:36 ID:jWJPXXze
2セット無かったらどうやって”同時”に複数スレッド実行するのさ?
すごいぞこいつは。
久しぶりに大物だ。
つーか、PenPro移行のレジスタって、内部的にはRISCだから
百個ぐらいあると思われ。P6は8086のエミュレータ−。
エミュ内部での並列処理はインテルもAMDもずーーと昔からやってる。
HTは、複数のスレッドに跨ってやるという部分が変わった。
そういうこと。
>>857 ( ・∀・)つ〃∩ ヘェーヘェーヘェー
Pentium4の物理レジスタは128本くらいあると聞いた気が…
ALUなのかSSEなのかおぼえてないし、そうとうあやふやだけど。
ソースどこだっけなぁ…
>>864 >>863の資料読んでるだけど、それっぽいの発見。
>アウトオブオーダー実行エンジンには、命令のリオーダー、追跡、シーケンスを行うための
>バッファがいくつか用意されており、アロケータ・ロジックがμop キューからμop を取り出して、
>各μop の実行に必要となる主なマシン・バッファ (126エントリのリオーダー・バッファ、各128の整数
>および浮動小数点物理レジスタ、48エントリのロード・バッファおよび24エントリのストア・バッファなど)
>の割り当ての大部分を行います。
128bitのレジスタなのか128個のレジスタなのかどっちだろう?
原文だと
>128 integer and 128 floating-point physical registers, だから、
それぞれ128本のレジスタってみたいだ。
そんなに在ったのか・・・
ようするに、レジスタリネーミングによって、動的に内部レジスタに振り分けていくので、
x86のレジスタセットを多重化する必要がないというわけなんですよ
>>849
x86レジスタ→内部レジスタのマップは2個必要です。
大目に在るとは知ってたけど、こんなに大量だとは思わなかった。
やはり、内部的にはx86のレジスタセットを各スレッド用に保持はしてるんじゃないだろうか?
2セットって言うのはそういう意味で書いたんだけど・・・ イイワケッポイヨネ orz
つーか論理レジスタ増やせよなぁ。物理レジスタが幾らあっても殆ど遊んじゃうよ。
レジスタリネーミングするって言っても限度があるしそもそもレジスタリネーミングの
機構でトランジスタ大量に食ってるのに。
(レジスタの依存関係の解析や先読み情報の検索で相当複雑なロジックになる)
286のころからさんざんレジスタ少ない少ないって言われてたのに、
Intelはなに考えて命令セット拡張したんだろ?
AMD64でやっと論理レジスタがMC68000(20年前のCPU!)なみなったよ。
論理レジスタ増やしただけじゃ、拡張された部分使ってないソフトは全く高速化されないけど
リネーミングならバイナリを変えなくても高速化されるって事かな。
アセンブラ以外なら、対応したコンパイラでコンパイルし直すだけで済む話だし、
なんで拡張しなかったのかは疑問だね。
タスク切り替え時の待避コンテキスト量が増えるのを嫌ったとか?
>871
プロセッサの設計なんてかなり時間がかかる物だろうし、昔のintelはx86は
これ以上拡張しないで、IA64に速やかに移行したかったからだと思われ。
intelの中では既に根本的にはいじる必要が無い(但し場当たり的な改良は有り)と
言う位置づけだったんじゃないの。
以前から、「所詮電卓から進化したCPU」とか言われて(一部から)バカにされて来たからね。
下からあがって来たCPUじゃなくて、最初からエンプラでも通用するようなCPU
を作りたかったんじゃないの?intel的なプライドとしては。
x86命令セットじゃ高速化するものもできないということで、
まったく別のプロセッサを開発し、x86命令を「高級言語」的に扱って
1次キャッシュに逐次コンパイルしていくのが、NetBurstアーキテクチャ。
ほんとに早くしたかったらネイティブコードを晒せば済むだけだけど、
Itaniumでコテンパンにされてるから、いまさら別アーキテクチャっていえないだろ。
>>874 マジ。
NetBurstのデコーダはμOpsに変換後1次キャッシュ(μOpsバッファ)に
ストアし、そこでのLoopは再デコードしない。x86命令におけるレジスタと
μOpsにおけるレジスタには直接的な関連は最早なくて、読み替えられた
(最適化されたはずの)命令を粛々と実行していく。
トランスメタにさ、CMSってあるだろ?あれを内蔵した感じ。
キャッシュのページサイズ毎にしか命令の依存関係解析できないから、
オプティマイズは局所的になり性能は発揮しきれないけどね。
げ、あげちまった
878 :
Socket774:04/04/20 13:46 ID:R5OKc8ez
>>876 ていうかね、μOpに変換するのはNetburstが最初じゃないんだが。
AMDだってK5の頃からやってることだよ。
変換後のμOpをキャッシュするのはNetburstからだけどね。
>>879 誰がNetBurstが最初っていった?
まぁ夏日だしなぁ…。
>>880 まぁ確かに言ってないね。
873でNetBurstを革新的アーキテクチャみたいに言ってたから突っ込んだだけだよ。
君がそれを本当に知ってたかは分からないけれどw
ああ、それと、μOps(マイクロコード)は8080ですらつかってるんで、枯れ果てた技術な。
P5〜P6までのIA-32、NexGen採用後のAMDのx86互換プロセッサに代表される
マイクロコードの使い方は、x86命令に対し1〜複数のマイクロコードを順次発行し、
プロセッサコアでシーケンシャルに実行するタイプであって、
どっちかというとインタープリタ。
トランスメタの場合はVLIWにソフトウェアで変換。
NetBurstは内蔵デコーダで二次キャッシュから変換。
トランスメタもNetBurstも論理的には性能でそうなのに
従来アーキテクチャに勝てないあたり情けなさ満載。
>873でNetBurstを革新的アーキテクチャみたいに言ってたから突っ込んだ
NetBurstの発想は(正否はともかく)革新的ですがなにか?
気が遠くなるような深いパイプ、待てど暮らせどやってこない遅いキャッシュ、
結局外部に頼らないとスーパスケーラを活用できないデコーダと、実装された
Pentium4は突っ込みどころ満載ですが。
Intel信者はNetBurst理論を
サグラダ・ファミリアだと言う事にしたいらしいが
どう見てもバベルの塔だろ。
>>883 ちとワラタ
だが873はどこからどこまでがNetBurstの特徴を言っているのかが
わかりにくいからこじれるんだよ。
それを棚上げして人を見下すようなレスは慎んだ方が良いかと。
886 :
Socket774:04/04/20 15:51 ID:ZtLEmHNg
俺には
>>879がしゃしゃり出てきただけにしか見えないが、、、
でもよ〜く見直したら
>>879が「っていうかMADの方が先・・」と脊髄反射しただけに見えてきた
なんか普通にデコーダーとか強化しちゃってるPentiumMとAthlon64おめでてーな。
よーしμOPはフュージョン、Packしちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、150Wやるからもっとクロック上げろと。
CPUアーキテクチャってのはな、もっと殺伐としてるべきなんだよ。
分岐予測ミスったら最大250000クロックのペナルティ食らってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
>>887 すごく最適化のしがいのあるCPUになりそうだなw
で、やっと3.4GHzだせたと思ったら、広報が「IA-32e追加、マルチコアつきで」とか言ってるんです。
そこでまたぶち切れですよ。お前ら本当に64bit拡張やる気があるのかと、
単にMSに押されてとってつけただけじゃねーのかと、
結局Itaniumに誘導したいだけじゃねーのかと、問いたい。
問い詰めたい。小一時間問い詰めたい。
ここだけの話今のCPU通の間のトレンドは小型低消費電力。コレ。
小型低消費電力CPUっていうのは携帯電話に採用しやすくPC市場なんかより
圧倒的に市場規模が望める成長株。しかしコレに手を出すとTRON関係で
坂上健ちゃんにマークされるという諸刃の剣。
素人はEfficionNoteでMS-Officeしてろってことですよ。