【アップル】Apple Silicon 5chip【シリコン】
■ このスレッドは過去ログ倉庫に格納されています
次スレは>>970が宣言して立てて下さい。
無理な場合は>>980。
それも無理な場合は>>980がスレ立てレス番を指定して下さい。
さあ、みんなでApple Silicon(シリコン)について語りましょう。
前スレ
【アップル】Apple Silicon 4chip【シリコン】
https://egg.5ch.net/test/read.cgi/mac/1606390027/l50 ワッチョイも付いてないしダメだろ、このスレ
前スレみたいにしたくないのであれば最低でもワッチョイ付で立て直せ お前らみたいなクズが集まって悪口言い合ってんのマジでうぜえ
俺中1だけどナメんなよ?
小5からチーマーやってるしメタル聞いてるからお前ら見てて超イライラすんだよ
文句があるならかかってこいよ。ケンカ なら負けねえよ?
やりてえ奴はここに住所と名前書け モデムをSoCに統合できないディスアドバンテージを抱えて
更に2年型落ちの低性能/高消費電力の劣等X55を
SoCの2倍の価格てボッタクリ値で嫌がらせのごとく押し付けられて
それを黙って買うしか無い敗戦国
https://iphone-mania.jp/news-331059/
技術力が無い企業は辛いな
WW2後の戦勝国のアメリカと敗戦国の日本と同じ関係性/図式
身の程を弁えずに調子こいて喧嘩を吹っかけておいて
5000億もの多額の和解金を支払って無様に敗北した結果
という点も非常に近似している ていうか、もうひとつのスレと統合で良いじゃん。ネタ枯れだよ。
https://egg.5ch.net/test/read.cgi/mac/1607598493
MacのCPUがARMに! Part 25 >>13
そっちは廃止して、こちら(Apple Silicon)に一本化する・・
が、多分、多数意見でこちら側だけスレ続けたけれど
ArmMacスレをご丁寧に2日遅れで立て直した方が居ただけ。
AppleSilicon スレはもう一つ、Lifukaスレ(GPU専用)もある。
・チップの窮極性能(どこまでXeonやThreadRipperに性能差を付けるのか[迫れるのかじゃない]、GPUも同じ)の議論と
・次ぎ発売予定のiMac ARM等のお話 (たぶん数週間ぐらい先)
・ARM Macにどのソフトが対応するか
・WindowsをARMで走らせられる?そんなの意味ないじゃん
の4つぐらいの話題が混線している。
ARM SoC+GPUの話題、ARM新機種の話題、ARM BigSurの話題ぐらいにはスレが分割されるべきでしょうね。 とくに現時点で語るべきことは無いからな
M1はタブレット用のA14XにTB3コントローラ追加しただけの
手抜き品のゴミだし AI性能はSDM888比で4割のゴミ
GPU性能は所詮GTX1050相当でTigeilakeと大差ないゴミ
スマホ/タブレットの仕様を手抜き流用したせいでPCには不必要な
メモリをインパッケージにしたせいで16GBしか積めないゴミ >>20
なんで8GBでDTMやろうとしたのかが謎w
ocean eyes project fileはLogic Pro持ってれば
入手可能なんで16GBモデルで誰か検証すれば良いのに。 >>20
後半読むと、サードパーティーの同機能プラグイン使うとM1 Mac大勝利じゃん (前半はApple純正のリバーブプラグインで比較)
たぶん純正リバーブプラグインのコンパイルが良くない(失敗している)だけだろうね。 M1の優位性って
・5nm
・DRAMとパッケージ一体化で効率化
・高効率コアで低燃費稼動が可能
他になにかありますか? ・5nm
→TSMCのおかげでAppleは別に何もすごくない
→サムスンの5nmも商用化されたからTSMC固有のメリットですらない
・DRAMとパッケージ一体化で効率化
→実装面積/コストに制約があるスマホ向けに仕方なくそうしていた物を
手抜き流用したからそうなってるだけでPC用としては別に高効率では無い
・高効率コアで低燃費稼動が可能
→CortexベースのARM系CPUはどれも同じ、
→Intelも2021末発売のTigerLake改良版のAlderLakeで高効率コアを採用 ワッチョイが気に食わない奴と透明くんはここ使うと良い。 >>24
誰も建てないから、もういいやってみんな思ってるんじゃね。 >・DRAMとパッケージ一体化で効率化
DDR4だから規格もんじゃねーのソケット化しても同じでしょ
チップセットMEMCPUGPUPCIeを外部化しないとPCとしては片手落ち LPDDR4とDDR4は別物だぞ
LPDDR4は基板直付前提の信号規格でソケット化は不可能 iphone-mania.jp/news-338014/
https://iphone-mania.jp/news-338164/
興味深いものがあるから読んでみるのもいいかも >>31
ARM 64は実質Appleが設計したってことか
10年前からだと、その時期からMac搭載も
視野に入れて計画してたのかな 大量出荷された形跡はないけどX-Geneの方がARMv8の実装としては早いかな
Appleの独自プロセッサ設計がP.A. Semi買収 (2008) から始まってるのは散々言われてる通り >>33
頭悪過ぎだろコイツ
まあこういう理解できない低脳マカーに
そう勘違いさせるための糞みたいな内容だから仕方ないか ちょうどPowerPCからIntelへの移行が決まった時期にP.A. SemiはPowerPC互換プロセッサの開発を発表していて
この板でもP.A. Semiのプロセッサを使えばいいのにと言ってる人もいた
それが後にAppleに買収されてIntelからARMへの移行の流れを決めるプロセッサを作ることになるんだから面白い
https://japan.zdnet.com/article/20089473/ >>33
いやそもそもARM6からしてAppleがテコ入れしたんだが。 >>38
David Kanter氏の元のツィートから読んだんだが、
みごとな「Apple理論」で苦笑したよ。
元々のDavid Kanter氏の「M1の設計はARM ISAではなくてキャッシュが優れている」に対して
「AArch64はワシが育てた」ってまず最初に何の反論にもなっていない。
でもって最後には自分から「ARM ISAでは無くてAppleの設計が優れているから」とか言いおるw Androidスマホが32ビットマルチコア進めてたとき
iPhoneだけコア数抑えて64ビット化って年はあったね
その頃からMacのARM化計画が始まったのだろうって観測は珍しい意見じゃなかったんじゃない? >>39
首傾いてんじゃないの?
P.A. Semi CEO、Dan Dobberpuhlの講演(2007.02.22)
https://xtech.nikkei.com/it/article/COLUMN/20070223/263186/
製造手法による試算
StrongARM 27.5W
PWRficient 0.5W >>36
直接のリンクより記事中の「インテルが株主に「即時行動」を求めるほど追い込まれる事態」
に驚いたww
やっぱそうなんだ。
近い将来CPUシェアの逆転現象起きるかな?
個人的にはARMアーキのPC互換機の様なデスクトップが出て欲しい。
ハードRAID組めるならオンプレで使う。 2010年のRISC CPUにアウトオブオーダや投機実行を実装するって、遅すぎるくらいだけどなあ。
ARMの32bit以前の命令体系は出自から来るカオスな代物で、それを固定長命令だのレジスタを素直に増やすだのすれば性能はそれだけで爆上がりするわ。
なんでそんなにドヤれるのかがApple関係者。 AppleはARM自体より先んじてPC用を想定した開発を進めてたよって話でしょ
まさにその通りじゃん >>44
それってDavid Kanter氏のアカデミックなコンピュータアーキテクチャ論への適切な反論になっていないと言うこと。
関係ない裏事情の開陳とか、学会発表とかでもいるんだよね。
反論とか質問の形で自己顕示欲を満足させようってタイプの人間。
IQ高くてもこういうコミュ障のGeekは多いが、Appleは特に多い印象。 優れていたのは単にOoOや投機実行を実装したって話じゃなくて
低クロックで非常にワイドなスーパースカラ、高度なOoO、高度な投機実行
>super-wide with low clocks, highly OoO, highly speculative
を志向したって点だよ
実際に現時点ではA14/M1よりワイドで積極的なOoOをやる実装は存在せず
結果としてPC用の最新CPU含めても最もIPCの高いCPUになっている 命令デコーダの数がi9の倍あるって聞いたぞ
x86は構造上あんまりデコーダ増やせないんだと A14/M1のデコーダは8個、現行のIntel CPUのデコーダは5個だよ
ただP6マイクロアーキの伝統で非対称だから4+1みたいな構成だけど
あと命令フェッチが相変わらず16B/cycleだから16B内に5命令入ってないとピーク性能は達成できないなんて制約もあるね
無論デコーダはあんまり動かさずdecoded uOp cacheに頼る設計なんだけど デコーダ増やせないんじゃなくて増やしても能力が余るんだよ
x64は命令順の縛りが強くてOoOの並列度の限界がとっくに来てる ARMのIPCは増やせばまだ伸びますかね大量に置いてたまに仕事が降ってくるの待つみたいな メモリコンシステンシの話をしてるんだろうけど
そもそもストアはレジスタに対する出力依存はないから並び替えることによるゲインは小さいし
Core2以降ロードはストアを追い越せるようになってる (memory disambiguation) からOoOの制約については実質的な問題はない
x86の並列度が限界に来てるならJim Kellerがあんなことは言わない
https://www.youtube.com/watch?v=oIG9ztQw2Gc#t=33m23s
最近のプロセッサでOoOの並列度を改善しているのは分岐予測やプリフェッチ機構などのあまり見えない (他社に真似されないように見せたくない) 部分の努力であって
デコーダの数だとか演算器の数だとか見える部分の数字だけ比べても本質は見えない
例えば少し前の実装だがA12の分岐予測精度はSkylakeと比べるとこれだけ優れている
これはISA上の制約とは全く関係なくIPCを上げることに貢献している
https://pbs.twimg.com/media/EiWvQmKXkAEK0Vz.png >>52
> Core2以降ロードはストアを追い越せるようになってる (memory disambiguation) からOoOの制約については実質的な問題はない
x86のTotal Store Orderingは、(ア)ロード同士は順序を守る、(イ)ストア同士は順序を守る、
(ウ)ストアはロードを追い越さない、(エ)ロードはストアを追い越してもよい、だよね?
ARMのWeak Memory Orderingはすべての順番が入れ替わってもOKで、代わりにメモリバリア命令がある
CPUは実効途中に割り込みがかかる場合があるので、実行は順番通りでないアウトオブオーダー実行をしても
いいが、結果を適切に確定する必要があり、結果を順番通りに書き込むリオーダーバッファが使われる
レジスタへの書き込み、メモリへの書き込み、プログラムカウンタへの書き込みがリオーダーバッファの管理対象
そうすると例えば、
1. STORE 4番地へ書き込み
2. LOAD 4番地から読み込み
3. LOAD 8番地から読み込み
この場合、1→2は順番通りに実行されないと結果が変わるから1→2の順でないといけないが、ストアバッファ等で
1に書く内容を2にフォワードできるからCPUのアウトオブオーダー処理に制約はかからない
でも、ARMのWeak Memory Orderingなら3は1や2を追い越してもいいから、3のLOADを早めに実行してコアの外
から3→1→2の順番に見えるように実行してもよいが、x86のTotal Store Orderingでは(ア)により2→3の制約が
あるから1→2→3の順でないといけない
つまり、Total Store Orderingでは3のLOADは1のSTORE確定後でないとダメだから、メモリ読み込みの
レイテンシーがARMより増えることになると思うんだけど違う? >>53
あーそれはよくある誤解だね
あくまで規定は「プログラムからはロードが順番に実行されているように見えていなければならない」であって
実際のOoOEにおいてloadがloadを追い越すことを制限するものではないよ
実際にIntelのマニュアルには最初にそのことが注意してある
http://www.cs.cmu.edu/~410-f10/doc/Intel_Reordering_318147.pdf
>This document discusses only software-visible behavior. Hardware is allowed to perform any
>optimizations as long as it does not violate any of the visibility principles. (It may even execute
>a single memory access more than once; if it does, only the final execution is visible to software.)
>For example “loads are not reordered” means that “loads do not appear to be reordered,”
>not that the hardware is restricted in how loads are internally implemented.
実際にloadがloadを追い越すというのはマルチプロセッサ環境では問題になる可能性があるので
OoOEをやる上で追い越す場合はあくまで分岐予測なんかと同じく投機実行になる
これは他のプロセッサにおける同一アドレスへのstoreの挙動次第であるから
規定を満たさないようなメモリアクセスが発見されれば投機失敗扱いで巻き戻して再実行される
load/loadの追い越しは記憶が正しければPentium Proの段階でやってるはず なんにせよ。x86-64は一回リセットしないと落ち目になるよな。
AMD64を受け入れた苦渋の選択の様に、IntelとAMDが協力していかないとワッパが重視される分野では同士討ちしそう。 Itanium復活ですね。
hpから権利買い戻して。
MIPSってもあるか。
しれってロゼッタみたいなの開発して、石はItaniumかMIPSとか。 >>54
> 実際にloadがloadを追い越すというのはマルチプロセッサ環境では問題になる可能性があるので
>OoOEをやる上で追い越す場合はあくまで分岐予測なんかと同じく投機実行になる
LOADを投機実行するなら、>>53の例だと投機的に3のメモリ読み込みを行った後1でのメモリ書き込みが
実行される前に3のメモリアドレスに別のコアからの書き込みがあった場合、3のメモリ読み込みは投機実行
失敗になり、1のメモリ書き込みの後3のメモリ読み込みをもう一度実行することになるよね?
ARMなら常に3のメモリ読み込みは1のメモリ書き込みより先行して実行可能で投機的実行にはならない
から、>>53でいったようにx86はメモリ読み込みのレイテンシーがARMより増えるのであってるのでは? >>54
もう一点
> 規定を満たさないようなメモリアクセスが発見されれば投機失敗扱いで巻き戻して再実行される
どうやって規定を満たさないメモリアクセスを検出するの?
仕組みがわからない >>57
投機ロードが失敗すれば遅くなるってのはその通りだよ
しかしそんな単純な例では投機実行は失敗にならない
あるコアと他のコアのメモリアクセスの順番が変わる事自体は別に規定違反ではない
実際に投機実行が失敗するのは次のようなケースだ
初期値 addrA = addrB = 0
コア1:
1) load rA, addrA
2) load rB, addrB
コア2:
3) store addrB, 1
4) store addrA, 2
このとき、x86のメモリオーダリング規定を守ると1) 2)を終えた後のレジスタの値は
(rA, rB) = (0, 0)、(0, 1)、(2, 1) のいずれかになるはずである
しかしload/loadの並び替えにより2)のloadを1)より前に実行すると
2)-3)-4)-1)の順序でメモリアクセスが発生する可能性があり
この時 (rA, rB) = (2, 0) となってしまう
3) 4)のストアは他のプロセッサから見て順番通りに実行されているように見えなければならないから
addrAへのストアが完了しているときにはaddrBへのストアも完了しているように見えないと規定違反である
つまりこの段階で投機ロードの失敗が確定して巻き戻しになる 違反検出についてはキャッシュコヒーレンシプロトコルの範疇だな >>59>>60
ややこしいから間違っていたらごめんね
メモリの初期値(4番地:0, 8番地:0)
コア1
1. STORE 4番地へ1を書き込み
2. LOAD 4番地からreg1へ読み込み
3. LOAD 8番地からreg2読み込み
コア2
I. STORE 8番地へ2を書き込み
II. STORE 4番地へ3を書き込み
WMOの場合1→2のみ保証されるから、reg2が0の場合、メモリは1→2→3→I→IIで(3,2)の場合と3→I→II→1→2の(1,2)の両方がありえる
(reg1の中身を考えるともっとパターンがありえるが)
TSOの場合1→2→3とI→IIの順だから、reg2が0の場合、1→2→3→I→II順になるからreg1は1でメモリは(3,2)だけ
リオーダーバッファは1サイクルで複数のレジスタやメモリへの確定が可能だから、STORE命令とLOAD命令が1サイクルで確定される
可能性があり、1,2,3とI,IIのSTORE LOAD命令は同時に1サイクルで確定される可能性がある
ならばTSOでreg2が0でメモリが(1,2)になるときに3のLOADが失敗と発見できCPUに通知できるキャッシュコヒーレンシプロトコルって何? 実際にどういうプロトコルになってるのかはそれこそマイクロアーキ屋さんの仕事の見せ所なんだろうけど例えば
・投機実行したロード命令Aでロードしたキャッシュラインが他のプロセッサによりinvalidateされる
・投機実行したロード命令Aよりプログラム上で先行する完了していないロード命令Bが存在する
・Bでロードするキャッシュラインは自分のプロセッサのキャッシュ上に存在せず、他のプロセッサのキャッシュからフォワーディングされる
こういう条件でsnoopを行うプロトコルなら可能だろう
あと>>57の
>ARMなら常に3のメモリ読み込みは1のメモリ書き込みより先行して実行可能で投機的実行にはならない
というのは誤りで、ストアを追い越す場合は両者の実効アドレスが確定するまでは追い越しが成功するかは不明だ
ARMにはレジスタをオペランドに取るアドレッシングモードしかないから
スケジューラに入った時点ではmemory disambiguationに相当するようなエイリアシングの解消を行った上で投機実行しないと追い越せない >>20
物理メモリに依存するようなプラグイン使って、物理メモリが32GBのIntelと
8GBのM1で勝負すれば、そら負けるわな。 アセンブラ語れる奴がたむろしてるスレとか
最高かよもっとやれ >>56
あ、あいてにあむw
そんなのもあったなぁ。
>>55
棲み分けでいいと思うけど。でも、棲み分けるにしてもアーキテクチャ違うから、アプリ動かないのが困るのか。
surface pro xがそのジレンマに陥ってるな。
アップルは問答無用でレガシーを切り捨てられるのが強みだな。マイクロソフトがそれやると訴訟問題になりかねない。 >>63
締めの文に「(謎現象に対して)ずーっと悩んでる」ってある。
メモリ容量については冒頭に記述はあるものの、考察では触れられていない。
つまり本人の頭の中では気づいていなかったという事かね。
いろいろ末尾には熱く提言っぽく書いちゃってますけど。 >>66
>メモリ容量については冒頭に記述はあるものの、考察では触れられていない
ほんとそこw Chromaverbの最適化が進んでない可能性もあるんで、同じ8GBメモリ
にしての再テスト、とかしてくんないと分からんでね。
それに「何倍って言ったじゃんかー」みたいに書いてるけど、何に対して何倍なのか
も書かれてない。子供が書いた記事みたいだわw 板は、x86互換性を甘く見たので普及しなかったよな。
プロセス的にも開発が遅れて、二線級のプロセスしか使えなくて性能のゲインが少なかった。
今なら、x86-64モードはそのままでも省電力でμOPデコードできるISAモードとか付けても実装できそうなもんだけど。 落ち着いて考えてみたけど
>>62
> ・投機実行したロード命令Aでロードしたキャッシュラインが他のプロセッサによりinvalidateされる
> ・投機実行したロード命令Aよりプログラム上で先行する完了していないロード命令Bが存在する
> ・Bでロードするキャッシュラインは自分のプロセッサのキャッシュ上に存在せず、他のプロセッサのキャッシュからフォワーディングされる
このプロトコルでは
> 1,2,3とI,IIのSTORE LOAD命令は同時に1サイクルで確定される可能性がある
> ならばTSOでreg2が0でメモリが(1,2)になるときに3のLOADが失敗と発見できCPUに通知できるキャッシュコヒーレンシプロトコルって何?
3のLOADが投機実行失敗と発見できない
できるならどういう流れになるか具体的に示して
> ストアを追い越す場合は両者の実効アドレスが確定するまでは追い越しが成功するかは不明だ
実効アドレスが確定しないならメモリ読み込み自体が実行不可能だからスケジュール対象外
そもそもWeak Memory OrderingはStrong Memory Orderingだとメモリアクセスのアウトオブオーダーが
ごく単純な場合以外難しいからできたものだと思っているんだけど違うの? メモリアクセスの完了とROBからのリタイアを混同しちゃダメだよ
>実効アドレスが確定しないならメモリ読み込み自体が実行不可能だからスケジュール対象外
間違い
ロード命令がissue可能になるのは実効アドレスの計算に必要なオペランドが全てreadyになったとき
この時まだ実効アドレスは確定していない
確定するのは命令のオペランドからアドレス計算した時だ
>そもそもWeak Memory OrderingはStrong Memory Orderingだとメモリアクセスのアウトオブオーダーが
>ごく単純な場合以外難しいからできたものだと思っているんだけど違うの?
違う
weak memory orderingは共有メモリマルチプロセッサシステムにおいてコヒーレントキャッシュ間で不必要な同期を行わなくて済むように導入されたもの
OoOをやり始めるよりも前の話 半分もわからんけど読んでるだけで楽しいな
何かを極めた人の会話聞いてるの好き PlayStation 5とXbox Series Xが半導体大手のTSMCの製造ラインを圧迫しているという報告 - GIGAZINE
https://gigazine.net/news/20210108-ps5-tsmc-production/ >>74
世界の半導体の運命を味の素が握ってるという事実(笑) miniをヘッドレスで使ってるんだが、最近よくわからん理由で落ちてしまって再起動することが多い。
常時稼働してるのはOS標準のプロセスと
Mackerel
Syncthing
Squid
くらい・・・ >>73
半分も判らない ⊇ 1/100も判らない
なので、完全にセーフ。
最近の5chには珍しい高度なやり取りは読んでて楽しいですね。 ちな、、半導体の3D化を考えるとメモリはかるく128G搭載可能なんじゃない。 twitterを眺めていて気づいたがAppleのこの特許文書より
ttps://patents.google.com/patent/US20200394039A1/en
M1ではload execution queue(LEQ)とload retirement queue(LRQ)の2つのqueueを使って
LOADの効率的なout of order実行を実現しているらしい TSMCが2023年に3nm PlusプロセスでApple製品を製造開始
2025年の半導体は「2nm」世代へ
ムーアの法則は1nm以降も延命 M1でLinuxが動くようになったらしい
ttps://twitter.com/cmwdotme/status/1351838924621099008
移植版Linuxのソース
ttps://github.com/corellium/linux-m1
ブートローダ
ttps://github.com/corellium/preloader-m1
very early betaのバイナリ
ttps://twitter.com/cmwdotme/status/1350661744193110018
ブートローダのREADME.txtに使い方が書いてある
https://twitter.com/5chan_nel (5ch newer account) >>88
自己レス
インストールに使っているコマンドがよくわからないんだけどこうであってる?
bputilはブート関係の設定
ttps://keith.github.io/xcode-man-pages/bputil.1.html
csrutilはSystem Integrity Protection (SIP)の変更
ttps://leico.github.io/TechnicalNote/Mac/csrutil
ttps://qiita.com/whitefox_105/items/0b70f7a504dcb72788e6
kmutilはkernelやkernel extensionの設定やインストール
ttps://developer.apple.com/documentation/apple_silicon/installing_a_custom_kernel_extension むしろ今まで動かなかったのかよ(笑)
ゴミすぎてワロス AsahiLinuxのwikiより
M1 Macのブートとカスタムカーネルの起動方法の解説
ttps://github.com/AsahiLinux/docs/wiki/M1-vs.-PC-Boot
ttps://github.com/AsahiLinux/docs/wiki/SW%3ABoot
用語集
ttps://github.com/AsahiLinux/docs/wiki/Glossary
同じような仕組みのx86_64でのセキュアブートのArch Linuxでの解説
ttps://wiki.archlinux.jp/index.php/%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88
ふんわりとだけど仕組みがわかった気がする MacでLinux動かすメリットがイマイチわからん。
仮想は別として。 >>93
型落ち Mac mini を自宅鯖にすると静かだし電気食わないしラズパイなんか比べものにならないくらい強力でしかも結構長く使える。そういう時に Linux 動かせると非常に助かる。
まあそういう需要はごく一部だけだろうけどさ。 >>93
うちのMBAは12midだけどまだ元気に動く
でもCatalinaが最後だから、いずれUbuntu入れたいとは思ってる >>93
Dockerとか爆速になるのでは?
知らんけど UNIXであるmacOSよりLinuxを選ぶとはw >>94
Apple Silicon対応のDockerでもうごかないLinuxイメージ多いのに、わざわざLinuxにする意義がわからない。
二重苦な感じ。 macOSのDockerはIOが糞遅いウンコだからな ■ このスレッドは過去ログ倉庫に格納されています