X



CPUアーキテクチャについて語れ 53
■ このスレッドは過去ログ倉庫に格納されています
0006Socket774 (ワッチョイ d2c8-qyZG)
垢版 |
2021/11/10(水) 13:49:05.04ID:KNYtJp2J0
スレの終わりに質問しだす奴、ネタじゃなくてマジで居るんだって草生えた
0007Socket774 (ワッチョイ f26e-neGn)
垢版 |
2021/11/10(水) 17:08:13.85ID:0yita0lN0
CPUアーキテクチャについて語れ 53
http://egg.2ch.net/test/read.cgi/jisaku/1631949760←現在のスレ 実質54

CPUアーキテクチャについて語れ 51
http://egg.2ch.net/test/read.cgi/jisaku/1617622105←重複再利用で前スレ 実質53

052 http://egg.2ch.net/test/read.cgi/jisaku/1623126064
051 http://egg.2ch.net/test/read.cgi/jisaku/1617627529
050 http://egg.2ch.net/test/read.cgi/jisaku/1610684792
049 http://egg.2ch.net/test/read.cgi/jisaku/1594936892
048 http://egg.2ch.net/test/read.cgi/jisaku/1590660858
047 http://egg.2ch.net/test/read.cgi/jisaku/1577127887
046 http://egg.2ch.net/test/read.cgi/jisaku/1568344108
045 http://egg.2ch.net/test/read.cgi/jisaku/1545156597
044 http://egg.2ch.net/test/read.cgi/jisaku/1530269772
043 http://egg.2ch.net/test/read.cgi/jisaku/1525078607
042 http://egg.2ch.net/test/read.cgi/jisaku/1515469535
041 http://egg.2ch.net/test/read.cgi/jisaku/1510223006
040 http://egg.2ch.net/test/read.cgi/jisaku/1503459435
039 http://egg.2ch.net/test/read.cgi/jisaku/1501219656
038 http://egg.2ch.net/test/read.cgi/jisaku/1500374247
037 http://egg.2ch.net/test/read.cgi/jisaku/1498278212
036 http://egg.2ch.net/test/read.cgi/jisaku/1495257064
035 http://egg.2ch.net/test/read.cgi/jisaku/1491116131
034 http://potato.2ch.net/test/read.cgi/jisaku/1488968098
033 http://potato.2ch.net/test/read.cgi/jisaku/1480216577
032 http://potato.2ch.net/test/read.cgi/jisaku/1467240873
031 http://potato.2ch.net/test/read.cgi/jisaku/1447725141
0010MACオタ>9 さん (ワッチョイ c5f5-erpr)
垢版 |
2021/11/10(水) 18:29:20.10ID:euLmPLQ50
>>9
>PowerのSIMDであるVSXがAVX2/SSE2にかなりの差をつけられてる

「イントラ予測」って何。。。という話わ置いておくと、横軸わC言語版コードからの改善度なので速度比較とわ違うす
0011Socket774 (ワッチョイ d2c8-qyZG)
垢版 |
2021/11/10(水) 19:47:31.47ID:KNYtJp2J0
SRAMの3D積層、RDNA3でもやるみたいね。(仮にAMDが何も特許抑えてないとして)TSMC利用者ならどこでも出来るとすると、Appleも使うかな?
0012Socket774 (ワッチョイ 5158-bQ3l)
垢版 |
2021/11/10(水) 20:01:12.18ID:+Jr66MsC0
ところでMacオタは富士通の本車田氏が参加した勉強会には参加しなかったの?
してれば、普通に話聞けたでしょ?
0013Socket774 (ワッチョイ 5158-bQ3l)
垢版 |
2021/11/10(水) 20:05:15.18ID:+Jr66MsC0
もしかて、今のAVX系のSIMDに対抗できるRISC系SIMDってSVE系ぐらい?
0014Socket774 (アウウィフ FFcd-jUsm)
垢版 |
2021/11/10(水) 21:03:58.77ID:xe8/ZH3NF
>>13
そうかもしれんが、実装にも依るしそんなのわからんでしょう。
まあSVEはXeon phiと戦わなきゃならなかったので。
0015Socket774 (ワッチョイ 5158-bQ3l)
垢版 |
2021/11/10(水) 21:49:03.61ID:+Jr66MsC0
SVE系→レジスタ可変&本数少なめ
HPC-ACE2 →レジスタ128bit止まり&本数128
方向性が反対だな
SVE系はHPC-ACE系よりレジスタ少ないから省レジスタと称されてるけど
レジスタって本数だけでなく、ビット幅も含めて見た方が良さそう

CPU内部の一時的な記憶領域なわけだし
0016Socket774 (ワッチョイ 5158-bQ3l)
垢版 |
2021/11/10(水) 22:25:12.87ID:+Jr66MsC0
AVX512 512bit×32本

これと真逆に32bitレジスタ512本のx86SIMDを
出したら?
AVX512で32bit4*4の行列を1つのレジスタに格納できるところを
32bitのレジスタを16個使うことで同様のことが可能なはず

当然、AVX512と違い、行列のデータはレジスタ16個分に分割されて
処理されるがCPUの演算回路がその16個のレジスタの同時にアクセスすれば
理論上のパフォーマンスはAVX512と同じ
0017Socket774 (ワッチョイ d2c8-qyZG)
垢版 |
2021/11/10(水) 22:37:09.76ID:KNYtJp2J0
>>16
命令長がクソ長くなります。
512本なら9bitでレジスタ番地を指定できるわけだが、それを16本指定するとなると
9 * 16 = 144bit
さらに四則演算には最低2オペランド必要なので
144 * 2 = 288bit
とレジスタ指定部分だけでクソ長い命令になる。
0019Socket774 (アウウィフ FFcd-jUsm)
垢版 |
2021/11/11(木) 03:27:36.01ID:H/2GB8fgF
現実的に復活の可能性ないからな。
もちろんごく一部の市場向けには可能性あるだろうけど広がる可能性がない。
0020Socket774 (ワッチョイ 5158-bQ3l)
垢版 |
2021/11/11(木) 05:29:50.94ID:usG3uxSz0
>>17
それだと
京のSparc64-[FXは悪手ってことになるな

SIMD HPC-ACE 64bitレジスタ*256本
ループアンローリングのためにこのレジスタ
本数にしたらしいけど、後継のFX10/FX100
SIMDレジスタ構成も128bit×128本
0021Socket774 (ワッチョイ d2c8-qyZG)
垢版 |
2021/11/11(木) 07:11:09.47ID:umIdA/kT0
SPARK64VIIIfxは倍精度レジスタとは言うもののbasic側とextebded側があり、一つの指定で2つの倍精度が使えたらしい。
256本のレジスタアドレス8bitのうち3bitは前置命令でセットできるらしく、5bitで指定できたようだ。
FMAでも 5bit * 4op = 20bit なので32bit命令に収まるかな?
悪手って程ではないのでは?

突貫で調べたから間違ってたらゴメンね
0022Socket774 (ワッチョイ d976-PcMl)
垢版 |
2021/11/11(木) 08:17:00.22ID:UYZ4Y2A20
>>17
使うレジスタを新しいレジスタ群を用意して、演算して格納した順番をバッファなりメモリーなりに入れておく。
で、格納した順にAVX命令はそれをオペランドとして使用すればいいんじゃね?
割り込みには全く対応出来なくなるから、レジスタ使った順の保存先格納先は自然とスタックになるね。


どうでもいいけどプログラム空間を分割してオペランド、オペコード用とか、RISC部分、CISC部分(左が入りきらなかった分)というのもありかと思った。ダブルプログラムカウンターモデルw
名前だけは商用的に少しインパクトあるw
0025Socket774 (ワッチョイ d976-PcMl)
垢版 |
2021/11/11(木) 08:38:17.73ID:UYZ4Y2A20
>>24
たぶんすげー早いよwだってデコーダ2つ同時実行だもんw
オペコードとオペランドを別々のプログラムRAM から直接読んで、デコード同時実行だから単純性能では40%ぐらい加速するw
オペランドは2つ強制固定になるんじゃないかな。

でも割り込み時の退避レジスタ増えるし、超不安定なシステムになるし、現行のキャッシュシステムとは特に相性悪いだろうから、用途を特に限定したDSPとか動画処理とかになるのかな?

どうせ誰もこんなん作らないっしょw
0027Socket774 (ワッチョイ 3673-TwtK)
垢版 |
2021/11/11(木) 09:18:38.42ID:7zO+5LS90
>>13
厳密にはSIMDでなくベクトル命令だけどRISC-VのVector拡張があるよ

ttps://github.com/riscv/riscv-v-spec

9/20にVersion 1.0が出て規格がfrozenになり、問題なければratifiedされて2.0になるはず
0028Socket774 (ワッチョイ d976-PcMl)
垢版 |
2021/11/11(木) 09:39:49.03ID:UYZ4Y2A20
>>26
あぁ、命令確定しないと必要なオペランド数が分からないんだね。じゃあ駄目だねこれ。

っていうか従来とバイナリ互換ねぇからよく考えたら駄目だね。バスも2つなきゃ駄目っていうのは良くない。
汎用性が低い物は商用民生量産には向かないし。
0029MACオタ (ワッチョイ c5f5-erpr)
垢版 |
2021/11/11(木) 12:42:45.05ID:TBAw3s2t0
nextplatform.com のこの記事によると、AMD わ Zen 5 世代でも高電力効率版 “c” コア製品を用意しているとのコトす
https://www.nextplatform.com/2021/11/10/amd-deepens-its-already-broad-epyc-server-chip-roadmap/
ーーー
After that, comes kickers to Genoa and Bergamo, and it is looking like the Bergamo kicker is in fact the rumored 256-core “Turin” processor based on the future Zen 5c core that has been rumored recently.
ーーー
AMD も当分の間 P-core / E-core 二頭立て体制で進む模様

http://3s81si1s5ygj3mzby34dq6qf-wpengine.netdna-ssl.com/wp-content/uploads/2021/11/amd-epyc-roadmap-enhanced-2.jpg
0030Socket774 (アウウィフ FFcd-jUsm)
垢版 |
2021/11/11(木) 13:43:11.55ID:H/2GB8fgF
>>27
いつのまにかVersion 1.0か
ディッツェルのところがRISC-Vに独自SIMDとか追加してたような気がする。
決まってないから、と。
0031Socket774 (ワッチョイ d976-PcMl)
垢版 |
2021/11/11(木) 18:36:57.03ID:UYZ4Y2A20
使ってない回路を別の回路に動的に入れ換えて最適化する技術がありゃなぁ。人間の脳みそみたく、使わない機能は消えて新しいニューロンネットワークに....
PLDFPGAなんてでかすぎて入る訳ねぇし



ぐちぐち。ぐちぐち。ぐち
0032Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/12(金) 03:08:57.82ID:couiGj4I0
>>16
4オペランドでもなかなら無いのに
32〜64オペランド?
頭悪すぎる

連番指定としても依存関係が複雑すぎる
レジスタの分割書き換えも依存関係が複雑になるのでダメ
0035Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/12(金) 03:27:39.39ID:couiGj4I0
高速なCPUを作る前提なら
命令はリッチでなくてはならない

高速になればなるほどフロントエンドが肥大化するので
それに見合った命令にする必要がある

複合可能な処理は命令に追加しておくべき
小数演算なら積和に比べて指数部への小さい値の加算などゴミみたいな規模の回路で実現出来るのだから
2bit程度の即値指定で出来るようにしておけば良い
2倍4倍1/2倍などわりと使うことが多い計算が
コード的にほぼ無コストで出来るようになる
0036Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/12(金) 03:37:46.24ID:couiGj4I0
>>16
SIMDの性能を出したければ
SoA形式でデータを保持する

1個のレジスタで行列を保持しようとする考え方は
SIMDに適さない
SIMDサイズが変わると破綻するので

ただし現実問題としてSoAに出来ない事が多い
だからAVX512にはリッチなシャッフル命令がある

SoAしか効率的に処理出来ないA64FXみたいなのは
スーパーコンピューターだから成り立つのであって
コンシューマー用には向かない
0037MACオタ>36 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/12(金) 08:14:49.33ID:wc8vt/fS0
>>36
一つの解決策わ CELL BE の SPE の様にローカルメモリと SIMD プロセッサ、そしてメインメモリからローカルメモリへのコピーを司るプログラム可能な MFC (memory flow controller) という構成にして、メインメモリ上の AoS データをローカルメモリで SoA に並べ替えるコトかと
0038Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/12(金) 08:37:02.05ID:J/w+I8PD0
アセンブラ数命令〜数百命令をMD5化してハードウェアレジスターに格納し、入力とMD5値に対する結果をネットワーク上やDB上にに問い合わせて結果をもらうというのは?
ネットワークアクセスやDBアクセスが爆速である事が前提になるけど。
世界中で無駄な同じ演算やらせるぐらいなら結果をネットワーク上やDB上にキャッシュして誰かが一回だけ実行すればいいw

こんなの出来ればとっくの昔に誰か作ってるよね。
0040Socket774 (ワッチョイ 1b73-D258)
垢版 |
2021/11/12(金) 09:48:44.92ID:bUE9E7Px0
>>34-35
Vector拡張は規格がfixしたのが最近なだけでRISC-V最初期から存在する拡張

そもそも命令数の多さや複合可能な命令を1命令にすることやSIMDとCISCは関係ない

CISCvsRISCは、1980-1990年代のCPU内バスとマイクロコードによる制御を前提とする
マルチサイクルのマイクロアーキテクチャと、ワイヤードロジックによるパイプライン処理の
マイクロアーキテクチャの対立であって、すでにRISCのマイクロアーキテクチャが
勝利し、現行のCPUはすべてパイプライン化されている
0042MACオタ>40 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/12(金) 12:23:06.43ID:wc8vt/fS0
>>40
>Vector拡張は規格がfixしたのが最近なだけでRISC-V最初期から存在する拡張

x86-64 の経緯を思い出せば明らかな様に普通わ、

ISA 仕様/シミュレータ公開
→プロセッササンプル品
→ プロセッサ発売/ソフト開発

という順番なので、規格が固まる前から開発とか評価とかしろと言うのわ無理だと思うすけど。。。
0043MACオタ>41 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/12(金) 12:28:05.96ID:wc8vt/fS0
>>41
歴史的な経緯わ>>40で間違って無いと思うす

そもそも CISC って用語が RISC 側から命名した蔑称だし、可変長命令だけが定義って訳でも無いし。。。
0044Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/12(金) 12:29:39.23ID:J/w+I8PD0

ネットワークアクセス10usもかかんのかよ。
じゃ無理だな
うーむ。

配線を飛び越える技術がありゃなぁ。
AB間配線をC配線が飛び越えられればなぁ。
核磁気共鳴とかじゃなくトランジスタやゲート組み合わせれば出来るかもしんないなこれw

でみどーせ遅くて使い物になんねーだろーしなぁ。
0048Socket774 (スップ Sd03-iDG6)
垢版 |
2021/11/12(金) 12:44:22.26ID:gy+Umnnnd
まあ定義はどうでもいいとして

命令がチープだと高性能CPUにはならない
高性能CPUならそれに見合った命令が必要

逆に
PICのような超チープなCPUには
超チープな命令セットが似合う
0050MACオタ>48 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/12(金) 12:49:29.51ID:wc8vt/fS0
>>48
>PICのような超チープなCPUには
>超チープな命令セットが似合う

そのチープな 8-bit CPU の世界でも PIC vs. AVR の様な CISC vs. RISC 論争があるのわご存じ無いすか?
0051Socket774 (ワッチョイ a3c8-aH2J)
垢版 |
2021/11/12(金) 12:51:44.08ID:cb63thVN0
>>47
う〜んこの上から目線。リサ・スーをも見下す気位の高いMacオタ。一体どんな華々しい実績があるんですかねぇ
0052Socket774 (スップ Sd03-iDG6)
垢版 |
2021/11/12(金) 12:52:09.10ID:gy+Umnnnd
言葉の意味は
単純な命令セットのCPU
複雑な命令セットのCPU
これだけ

単純か複雑かは相対的なもの
0053Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/12(金) 13:36:34.95ID:J/w+I8PD0
>>46
チップ間磁石通信とはまたド派手だねー。
いやぁ、単に立体的で無くて信号線をバスと交差出来れば回路に自由度が上がるんではと思ったんだけど。

40hzとか0n05Hz とかの遅い信号線だったら無線で飛ばすのも平気だろうけど6MHz とかだと難しそうな感じだねっぽいね。
0054Socket774 (ブーイモ MM4b-fiLq)
垢版 |
2021/11/12(金) 15:16:27.16ID:pJI4v/0qM
>>53
磁界結合は昔から知られてる技術だし
原理試作まではできてもその先の製品化までは高い壁があるんだと思うよ。
大手半導体メーカーの多くは既に検討して諦めたんじゃないかな。
わりと最近だとPEZYが製品化にチャレンジして敗北してる。
0055Socket774 (ブーイモ MM4b-fiLq)
垢版 |
2021/11/12(金) 15:19:53.69ID:pJI4v/0qM
>>48
RISCの原点にたちかえってシンプルな
aarch64 の Apple M1 が
Intel越えのシングルスレッド性能を達成してるわけで
その主張は明らかな間違い。
0057MACオタ (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/12(金) 17:31:04.04ID:wc8vt/fS0
http://egg.2ch.net/test/read.cgi/jisaku/1631949760/994
前スレ994で言及した AMD の E-core, Zen 4c “BERGAMO” わ初出の噂を辿ると今年6月末のこの動画に行き着くす
https://www.youtube.com/watch?v=kiOUUY_zrIE&;t=410s
ソケットあたり 128-core の制限わ AGESA (AMD の BIOS CPU driver) によるとのコトすから、GENOA (P-core) と BERGAMO (E-core) の面積比が 4:3 という訳でわ無い模様す。

そう言う意味でも大原氏の予想 (https://news.mynavi.jp/article/20211109-2182109/) わ外れてると言うのが私の見立てす
ーーー
ラフに言ってZen 4cコアのエリアサイズはZen 4の半分にはならない様に思える。そもそも96コア vs 128コアという事だから、単純に言って3/4のサイズということになり、Alder Lake的に混ぜてもそれほどダイサイズが減らない割に、性能が今一つという事になりかねない。
ーーー
0061Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/12(金) 19:45:23.45ID:J/w+I8PD0
>>54
そりゃ磁石で飛ばしてもねぇ。

互換性を保ちつつ高速化するってのは難しいねぇ。

じゃーこーゆーのはどうだろうw
データ挿入削除が可能なインデックス型めもりぃw
従来のメモリーに加えてインデックステーブルをワイアロジック化w
文字ハッシュ値算出用の加算しつづける命令w

高速論理演算用メモリーウィンドウとかw
WinProcのメッセージ高速処理用、巨大switch文のテーブルヒット検索命令w

役に立たない事しか思い浮かばない。
0062Socket774 (ブーイモ MM43-fiLq)
垢版 |
2021/11/12(金) 20:36:44.39ID:vPely6u3M
>>59
x86の整数演算命令ぜんぜんチープじゃないぞ。
メモリオペランドについて直接演算可能なんてRISC CPUじゃ考えられない高級命令だ。
0064Socket774 (ブーイモ MM43-fiLq)
垢版 |
2021/11/12(金) 21:39:46.58ID:flgsUCxsM
>>63
その通りで高性能CPUの場合、命令セットがよほどアホでない限り性能とはほぼ無関係になる。
なので>>48は誤り。

x86の場合はあまりに命令が複雑すぎるせいで
ごく稀に性能の足を引っ張ることもあるらしいが。
0065Socket774 (ワッチョイ d558-09aj)
垢版 |
2021/11/13(土) 01:09:19.84ID:OmLfhjd20
RISCが出た背景の一つに「CISCにおいて、複雑な命令は
たいして使われてないから、それらを省いてRISCが登場したって
のがあるな」

後、複雑な命令とリッチな命令も違うかと
例えば、一昔前のマルチメディア系処理向けや、今のAI深層学習で
SIMD系命令を拡張するのは、命令をリッチにすることであって
複雑にするのとは方向が違うかと
0066Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 03:47:00.59ID:XEFxQBgf0
>>62
x86のアドレッシングは強力
でも肝心の演算の中身がチープ
いまだにLEAを多用するのもその証拠

ゼロから命令を作り直せば確実に性能は上がる
0067Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 03:53:10.34ID:XEFxQBgf0
複雑とリッチ
基本は同じ

リッチ、チープは洗練具合の比重が高くはなるが

まあ少なくともRISC/CISCの言葉の定義に
>>40のような実装方法の意味は含まれない
0068Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 03:59:44.70ID:XEFxQBgf0
x86の汎用整数の命令は
今のCPUの規模に全く合ってない
洗練もされてないし演算の種類も少ない
2オペランドが時代に合ってない

ソフト資産が重要で今さら変えられない
変えるタイミングがない

64bit化が良いチャンスだったのに
逃したのはAMDにも大きな責任がある
0069MACオタ>67 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/13(土) 04:13:47.56ID:j6IsdTC/0
>>67
>まあ少なくともRISC/CISCの言葉の定義に
>>>40のような実装方法の意味は含まれない

ソコに異常に固執する理由わ何故?あなたの英語解釈以外の学術的なソースがあるなら、ぜひ紹介していただきたいす。

ところで ISA における『リッチ』という表現を高機能という意味で皆さん使っている様すけど、普通わ命令数が多いという意味で使わないすか?
古典的にわ良い ISAわ直交性があるとされていたために、サポートするデータ型全てで同じ演算・関数用の命令を規定すると必然的に命令数が増えて『リッチ』になる。。。というコトすけど
0070Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 04:26:26.09ID:XEFxQBgf0
命令数は数え方でいくらでも変わるからあまり意味がない

内部的に変換されるから命令セットは大して重要じゃない
というような風潮があるけどそんな事はない
命令セットは非常に重要

x86が刷新してくれたら良いなあなんて思ってる
0071Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 04:30:55.18ID:XEFxQBgf0
1命令をリッチにする
これが(効率良く)性能を伸ばすのに必要だと思ってる
RISCとは対極の考え方
0072MACオタ>71 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/13(土) 04:45:11.73ID:j6IsdTC/0
>>71
>1命令をリッチにする

上でも書いたすけど、この業界で ”rich instruction set” という用語わあるすけど、”rich instruction” の方は聞かないす
ご自慢の英語力わどこへ?
0073Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 05:08:26.68ID:XEFxQBgf0
例えば2項論理演算

AND/OR/ANDN/NAND/NOR/...
演算部分の回路規模は全命令の中でも最低レベルの演算なんだから
はじめから全パターン用意するべき

全パターン前提であれば
即値4bitによる汎用2項論理演算命令が1個あれば良い

命令数的には減るが出来ることは増える
私はこちらの方がリッチな命令セットだと思う
単純に命令数を比べるのは意味がない
0074Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 05:18:47.52ID:XEFxQBgf0
当然汎用3項論理演算命令1個の方が応用範囲が広い
3オペランドでsrcとdestが一部共通な命令であったとしても
演算順やdestの選択は即値8bitに全て含まれる

一般的に
命令のスループットは上げやすいが
レイテンシを下げるのは難しい
どんなに簡単な命令でも
レイテンシ1クロック未満にはならない

2命令使うとどんなに簡単な命令でも
レイテンシは2クロックかかる

論理演算の回路規模は非常に小さいので
はじめから汎用3項論理演算を用意しておくべきと思う
0075Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 05:24:33.60ID:XEFxQBgf0
頭の悪い人は
即値の中からいくつか取り出して
AND/OR/...とする方が命令数が増えるからリッチだと言う
0076MACオタ>73 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/13(土) 05:26:10.32ID:j6IsdTC/0
>>73
プロセッサのマニュアル読んだコトあるすか?

“AND” という論理演算一つの取っても、引数が64-bit/32-bit/16-bit/8-bit で異なり、さらにそれぞれが符号付きか符号無しかで別の命令IDが割り付けられるす。
更にわ引数がレジスタであるか、直値であるか、レジスタで指定するメモリアドレスであるか、メモリアドリスの直値であるか、等で命令IDわ分ける必要があるす。そしてメモリアドレス指定にはオフセット付きやら無しやらが有り、そのオフセットもレジスタに入っていたり直値だったり。。。と、数学的表現で単一の論理演算だけで必要な命令IDビットフィールドわ際限なく増えていくす

特にメモリアドレスを引数に取る CISC ISA の命令数が増えるのわ後半の理由によるモノす
0077Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 05:28:00.68ID:XEFxQBgf0
FMA4よりFMA3の方が命令数が多いから
FMA3の方がリッチである
なんて主張する人がいるかな?
0079MACオタ>73 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/13(土) 05:31:48.18ID:j6IsdTC/0
>>77
>>72 を読めばわかるすけど、そもそも「そんな言い回しわ無い」というのが回答す
0080MACオタ>78 さん (ワッチョイ 2df5-ryRh)
垢版 |
2021/11/13(土) 05:35:31.73ID:j6IsdTC/0
>>78
命令を解釈するのわ人間で無くデコーダー回路なので、オペコードとオプションビットが異なれば違う命令す

人間側から見ても違うニーモニックだし。。。
0081Socket774 (ブーイモ MM43-fiLq)
垢版 |
2021/11/13(土) 07:08:06.10ID:zh/peCa3M
>>66
Apple M1と比較すればどう見てもリッチじゃん。
今以上にリッチにしても命令体系がさらにグシャグシャになるだけで高速化には寄与しない
0082Socket774 (ブーイモ MM43-fiLq)
垢版 |
2021/11/13(土) 07:13:10.88ID:zh/peCa3M
>>73
> はじめから全パターン用意するべき

高級言語にある演算はすべて既に存在するわけで
それ以上増やしたところで利用率ゼロの命令が増えるだけで無意味
0083Socket774 (ワッチョイ d5da-iDG6)
垢版 |
2021/11/13(土) 08:59:01.25ID:XEFxQBgf0
>>79
リッチの単語の意味を知らないなら辞書をみなさい

>>80
君にとってはXOR AX, AXとXOR AX, BXは違う命令かな?

>>81
本当にそう思う?
色々なCPUの命令を見た方良いよ

>>82
現在も少しずつ増えたりしている
論理演算は複数合わせて使われる事が多く
コンパイラは最適化によって適切な命令にすることが出来る
命令数的に増えない、回路規模も全く大した事がない、論理演算は非常に良く使われる
0085Socket774 (ワッチョイ 238e-09aj)
垢版 |
2021/11/13(土) 09:17:54.23ID:F1sGu0wH0
Intel : Sapphire Rapids + Ponte Vecchio
AMD : EPYC + Instinct MI200 (MI250X)
NVIDIA : GRACE + Hopper

どこもCPUもGPUも手出してるが
CPU:AMD×GPU:NVIDIAの組み合わせがサーバーもPCも安定感あるな
0087Socket774 (スプッッ Sd03-iDG6)
垢版 |
2021/11/13(土) 14:06:07.54ID:E/suHgxtd
命令セットの命令数は実装依存
命令セットの仕様の段階では命令数は決まらん
てことになるね
0088Socket774 (スプッッ Sd03-iDG6)
垢版 |
2021/11/13(土) 14:18:37.60ID:E/suHgxtd
VCMPEQPDとVCMPLTPDは同じ命令?違う命令?

命令数は数え方次第でいくらでも変わる
命令数でリッチさなんてわからない

たった○○命令とデータシートで自虐的に語ってる例のCPUの命令セットは間違いなくチープてはあるが
0089Socket774 (ワッチョイ a34d-fAyS)
垢版 |
2021/11/13(土) 14:39:09.59ID:L3iahA3I0
つか命令増やしまくった結果使わない命令が多数出て
設計費材料費製造費無駄だからRISCが作られたんだが
車輪の再発明すんの
0090Socket774 (ワッチョイ ed58-0RuH)
垢版 |
2021/11/13(土) 16:34:48.22ID:9KPNWkBl0
8086が設計された時代は8bit CPUの過渡期で
開発ツールもアセンブラからコンパイラへと
移りつつあった。当時のCPUエンジニアは、
コンパイラはレジスタを上手に使えないって
考えていたせいで86の設計にもそれは現れた。

ループカウンタはCX
メモリコピーのソースがSI
デスティネーションがDI
コピーがREP MOVSB
比較がREP CMPSB
などなど。

今となっては互換性を保つための足かせも
当時のエンジニアは大まじめに設計したのだ。
0091Socket774 (スプッッ Sd03-iDG6)
垢版 |
2021/11/13(土) 17:45:55.44ID:E/suHgxtd
REP MOVSは今でも良く使われる
非常に高速

現在のレジスタの縛りは
乗算除算のRAX, RDX
シフト数指定のCL
スタック操作のRSP
くらい?
0093Socket774 (ワッチョイ d558-09aj)
垢版 |
2021/11/14(日) 04:30:36.58ID:kT1D1ztW0
Power9関連でこんな記事が
https://news.ycombinator.com/item?id=18534352
訳して、一部コピペ
>Power9に装備されている4x64ビットのベクトルユニットが弱いため、
>多くの「弱点」があります

これはSIMDのVSXの演算器のことだな

後はこれ
https://en.wikichip.org/wiki/ibm/microarchitectures/power9
>4x FP + FX-MUL + Complex (64b)

Zenのブロックダイアグラム
https://pc.watch.impress.co.jp/video/pcw/docs/1192/135/p03.pdf
AVX2の128bitSIMD演算器が4つある

つまりhttps://www.phoronix.com/scan.php?page=article&;item=blackbird-power9-4c&num=3
このベンチ結果は、命令セットやレジスタの構成以前のマイクロアーキテクチャの違いが
出たわけか

というか、Power9の64bitSIMD演算器って、、x86はCoreアーキの時点でSIMD演算器は
128bit化してなかった?
殆どSIMD系の強化はしてこなかったんだな IBM-Power
PowerPC970がこけて、通常のコンシューマー市場への足掛かりを失ってから
SIMD強化しても仕方ないで放置状態だな



 
0094Socket774 (アウウィフ FFa9-D258)
垢版 |
2021/11/14(日) 05:12:39.17ID:d2K9AXmlF
>>93
IBM系も128bitのはずだ
直系子孫じゃないけどAltivecの時点で128bitでしょう

いや、今日日128bitじゃ弱いんだけどさ。
0095Socket774 (ワッチョイ d558-09aj)
垢版 |
2021/11/14(日) 05:26:43.82ID:kT1D1ztW0
PowerMac 箱360 PS3
ここら辺な、SIMD128bitだな 鯖系は128bit化してないが
Power10は128bitSIMD採用じゃなくAI用行列アクセラレーターに
トランジスタ使ってる?
0096Socket774 (アウウィフ FFa9-D258)
垢版 |
2021/11/14(日) 05:45:31.54ID:d2K9AXmlF
まあ演算粒度を上げたくないというのがあるのかもしれないが、
それでx86の方が売れるのであれば、市場の読み間違いなのか。
0097Socket774 (ワッチョイ d558-09aj)
垢版 |
2021/11/14(日) 07:06:20.16ID:kT1D1ztW0
演算粒度でしばらくぐぐったら、関連がありそうな資料が
これ https://www.ieice-hbkb.org/files/06/06gun_05hen_02.pdf

ここの (2) 細粒度マルチスレッドと粗粒度マルチスレッド という項目に

> 細粒度方式の利点として,メインとなるスレッドの性能を低下させないことがあげられる
とあるな。
ってことはスレッド性能のために演算粒度を上げないようにしてるってことか?
Power系 それだからSIMDも64-128bit止まり。
0098Socket774 (ワッチョイ d558-09aj)
垢版 |
2021/11/14(日) 07:08:15.75ID:kT1D1ztW0
x86鯖の方が売れるのは価格の問題だな多分
0099Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/14(日) 08:15:19.52ID:yLJ7E/ep0
命令が増え過ぎたら滅多に使わない命令は削って未定義命令実行例外割り込みでソフトウェアシミュレーションするしかないね。
ソフトウェアエミュレート出来る命令だけは何とか一応w

逆に言えば最新CPU向けのソフトも一応動かせるw
0100Socket774 (ワッチョイ 4576-ter9)
垢版 |
2021/11/14(日) 08:26:15.29ID:yLJ7E/ep0
命令過不足はソフト命令単位エミュ。
極端に命令系統が変わり果てたCPUはインストラクションエミュ上で実行w
これで命令過不足出ても客からクレーム起きにくくなるw(ぉぃ....
■ このスレッドは過去ログ倉庫に格納されています