Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

AWSのGraviton3とTrainium

はじめに

AWS re:Invent にて、Arm系CPUの Graviton3 と学習用チップ Trainiumがアナウンスされました。

Graviton3

下記の記事によると、

  • 最大25%のコンピューティングパフォーマンス
  • 最大2倍の浮動小数点パフォーマンス
  • 最大2倍速い暗号化ワークロードパフォーマンス
  • CPUベースの機械学習ワークロードで最大3倍優れたパフォーマンス
  • bfloat16およびfp16命令のサポート
  • 常時オンの256ビットメモリ暗号化に加えセキュリティを強化するためのポインタ認証のサポート

そして、DDR5をサポート。

dev.classmethod.jp

Amazon公式のYoutube : EC2 G7g

Introducing AWS Graviton3 Processors and Amazon EC2 C7g Instances | Amazon Web Services www.youtube.com

Trainium

推論チップ Inferentia に続き、学習用チップ Trainium を発表

AWS Trainium : EC2 trn1 は、16基搭載可能。各 Trainium は32GBのHBM2Eを搭載。チップ間インターフェースは、800 Gbps

https://aws.amazon.com/jp/about-aws/whats-new/2021/11/amazon-ec2-trn1-instances/

Trainium で学習し、Inferentia で推論って感じですかね。

www.youtube.com

おわりに

そして、AWSも - Gravition3 + Trainium

NVIDIAは、2023年にGRACE + Ampere Nextのシステムを出してきますが、AWSは2年先だって、ARM系CPU + 学習用チップを出してきたわけです。 NVIDIAは基本的にはシステムを売らないといけませんが、AWSは自社用に開発しているので早く動けているんでしょうね。。。 性能的にはNVIDIAのシステムにはまだ追いついてはいないと思いますが、自社内のシステムであれば、コスパがすべてだと思うので、そのために、自社で作ったんでしょうから?

NVIDIAIntelAMDとは違う立ち位置のAWSは、ある意味、中国のBaiduやAlibabaみたいな感じなんでしょうね。

StarFive の JH7100 の内部を覗いてみた

はじめに

昨日のブログでは、StartFiveのJH7000搭載のVisionFive AI について書きました。JH7000についても書きましたが、github に公開されているドキュメントやLinuxからどんな感じになっているのかがちょっとわかったので記録のために残します。

ブロック図

JH7000 のブロック図は、ここ にあります。説明のために、下記に引用します。

f:id:Vengineer:20211128132442p:plain

上記の図では、各ブロックがどのように接続しているかはよくわかりません。しかしながら、Memorandum -L2 Cache Coherence なる pdf ファイルで、各ブロックの接続が分かるようなページが公開されています。

一つ目は、下図です。説明のために引用します。図の上の真ん中の U74_MC なるブロックがあります。これは CPUコアの部分です。U74_MCは、NOC BUS 以外に、NNE50 と SG-DMA2P に Front Port で接続しています。Front Portは、ArmのACPのようなもので Cache を覗けるようになっています。NNE50はStarFiveが開発したNeural Network Engineです。SG-DMA2Pの実体は、SynopsysのDMA IP (snps,axi-dma-1.01a) のようです。

f:id:Vengineer:20211128132826p:plain

SG-DMA2P の詳細が下図です。説明のために引用します。U74MC4+S76というブロックの front0 と front1 が stg_top (DMA2P) と繋がっています。front0 と stg_mtrx_grp0 が繋がっていて、front1 と stg_mtrx_grp1 が繋がっています。stg_mtrx_grp1 が Master で stg_mtrx_grp0 が Slave になっていて繋がっています。stg_mtrx_grp0 には、E24(SiFiveのマイコン、Arm Cortex-M4に対応するもの)、USB 2 & 3 DRD、PCIe 0、SDIO 0、Secure Engine (sec_top)が繋がっています。stg_mtrx_grp1 には、PCIe 1、SG-DMA1P、SDIO 1、GMACが繋がっています。

f:id:Vengineer:20211128133402p:plain

上記の図の右側には下記のような表があり、どのIPがどこに繋がっているかがわかります。説明のために引用します。また、Coherencyの有無も書いてあります。Coherencyが有るのは、U74MCのfront portに接続しているものです。VP6(Tensilica DSP)、NNE50、ISP+VIN、GPU(Imagination)、VOUT、WAVE511(H264/H265 Decoder)、WAVE521(H264/265 Encoder)、JPEGは System Port 経由で NOC BUS 接続になります。

f:id:Vengineer:20211128134938p:plain

IP

Linux の dts ファイルを覗いてみると、各IPがどこのかが分かります。

  • CPU sifive, u74-mc
  • SDIO : Synopsys, dw-mshc
  • GMAC : Synopsys, dwmac
  • DMA : Synopsys, axi-dma-1.01a
  • QSPI : Cadence, sqpi-nor
  • UART : Synopsys, dw-apb-uart
  • SPI : Synopsys, dw-apb-ssi
  • I2C : Synopsys, designware-i2c
  • Video Encoder : cm, cm521-vpu
  • VIdeo Decoder : cm, cm511-vpu
  • JPEG : cm, codaj12-jpu-1
  • NVDLA : nvidia, nvlda_os_initial
  • DSP : Cadence, xrp (Tenlisica VP6)

それ以外は、StarFive が開発している IP のようです。

現時点では、Linux では、

は、サポートしていないようです。

Video Decoder/Video Encoder/JPEG は、どうやら、Chip & Media のもののようです。CHIP & MEDIAのIPリストにも載っていました。 GPUは上には載っていませんが、Imagination Technology の IMG BXE-4-32 が載っているようです。

おわりに

StarFiveのJH7100の中を掘ってみました。大物のIPはほぼすべて外部調達

  • CPU : SiFive
  • GPU : Imagination
  • DSP : Cadence (Tensilica)
  • NVDLA : Nvidia (OSS版)
  • Video Encoder/Video Decoder JPEG : Chip & Media
  • GMAC/SDIO/I2C/QSPI/SPI/UART : Synopsys

StarFive独自開発は、Neural Network Engine (NNE50)とその他もろもろのIPです。

2021年11月の映画鑑賞

11月、34本、アマゾン100円(5本)

  • 10月、23本、アマゾン100円(8本)
  • 9月、36本、アマゾン100円(5本)
  • 8月、33本、アマゾン100円(3本)
  • 7月、50本、アマゾン100円(6本)
  • 6月、57本、アマゾン100円(6本)
  • 5月、50本、アマゾン100円(7本)
  • 4月、37本、アマゾン100円(9本)
  • 3月、32本、アマゾン100円(12本)、DVD(3本)
  • 2月、25本、アマゾン100円(10本)
  • 1月:26本、アマゾン100円(5本)

  • 11月末までの映画鑑賞、401本

ペット・セメタリー (2019) / PET SEMATARY 後半は原作と違う。ラストは全然違う。

ブラック校則 (2019) 全然ブラックじゃない。普通の高速ね。青春映画だね。

ワンダーウーマン 1984 (2020) / WONDER WOMAN 1984、アマゾン100円 なんで、1984年なんだろうか?

461個のおべんとう (2020) 井ノ原快彦がパパ役

嵐電 (2019)

リンキング・ラブ (2017) 女子大学生が2017年から1991年にタイムスリップして、ママ(女子大生)にあって、いろいろちゃうお話。監督は金子修介

完璧な他人 (2018) / INTIMATE STRANGERS 面白い。イタリア映画、おとなの事情 (2016) / PERFETTI SCONOSCIUTI のリメイク版

おとなの事情 (2016) / PERFETTI SCONOSCIUTI

マトリックス (1999) / THE MATRIX

マトリックス リローデッド (2003) / THE MATRIX RELOADED

マトリックス レボリューションズ (2003) / THE MATRIX REVOLUTIONS

フライト・ゲーム (2014) / NON-STOP 2019年4月に観ていた。 vengineer.hatenablog.com

ジョーンの秘密 (2018) / RED JOAN、アマゾン100円 オックスフォードの芝生は、フェローのみ横切れる。。。イギリスの若き物理学の研究者が原爆開発の情報をソ連に流していたというう話。

殺人の追憶 (2003) / MEMORIES OF MURDER 韓国映画

アンノウン・ソルジャー 英雄なき戦場 (2017) / TUNTEMATON SOTILAS/NKNOWN SOLDIER フィンランドって、ソ連と戦争したんだという残を知った(冬戦争、継続戦争)

宇宙でいちばんあかるい屋根 (2020)、アマゾン、100円 清原果耶、中学2年生の役やってた。。。

イエロー・ローズ 希望の歌 (2019) / YELLOW ROSE、アマゾン、100円 デジタル配信のみ。終わりが中途半端?

犬部! (2021) 2021年7月22日公開なので、11月にはAmazon Primeに登場

ホリデイ (2006) / THE HOLIDAY 何度目だろうか?キャメロン・ディアス、来年50歳!

土竜(モグラ)の唄 潜入捜査官 REIJI (2014) 生田斗真、こういう役、やるんだね。

土竜(モグラ)の唄 香港狂騒曲 (2016) 続編、本田翼がやくざの娘役やっている。最新作、FINALが公開されるっぽい

がんばれ!チョルス (2019) / CHEER UP, MR. LEE 幸せだが、不幸せだが、よくわからないが、最後はハッピーエンド

悪人伝 (2019) / THE GANGSTER, THE COP, THE DEVIL マ・ドンソク、やくざの組長

悪のクロニクル (2015) / THE CHRONICLES OF EVIL こちらのマ・ドンソクは、優しい刑事。韓国って、目上の人の前で酒(焼酎)を飲むときは顔を背けて、飲むんだよね。。。

花と雨 (2019) 帰国子女のラッパー好きな青年がいろいろなことを経験し、ラッパーとしてレコーディングおよび舞台で歌うというお話。。姉ちゃん

トワイライト ささらさや (2014) 新垣結衣大泉洋の共演

ママは日本へ嫁に行っちゃダメと言うけれど。 (2016) リンちゃんがカワイイ!

ドクター・デスの遺産 -BLACK FILE- (2020) 北川景子いいよな。木村佳乃もやるなー。

ゴールデン・リバー (2018) / THE SISTERS BROTHERS SISTERSという名の BROTHEES。1850年頃のゴールドラッシュのアメリ

シドニー・スウィーニーの作品を3本見た 観察者 (2021) / THE VOYEURS

ノクターン (2020) / NOCTURNE 去年の10月に観たがもう一度。。ちょっとだけ覚えていた

悪霊館 (2018) / TELL ME YOUR NAME この時で20歳は過ぎていると思うんだけど、幼く見える。

博士と狂人 (2018) / THE PROFESSOR AND THE MADMAN、アマゾン、100円 オックスフォード辞書を作るというお話。なかなか良かった

(2020) ずーと切ないストーリーだったけど、ラストはハッピーになったのでよかった。

StarFive JH7100搭載のVisionFive V1

はじめに

RISC-V搭載のSoCベースのBeagleシリーズであるBeagleVが VisionFIre V1 という名前になってその情報がアップされています。

linuxgizmos.com

VisionFire V1

VisionFireV は、StarFive JH7100 SoC をベースにしたボードです。

www.cnx-software.com

上記記事からの StarFive JH7100 の仕様です。CPUコアの SiFive U74は、Arm Cortex-A55ぐらいの性能なので、RasPi 3 って感じでしょうか?ただし、RasPi3は4コアでこちらは2コアです。

TensilicaのDSPとNVLDA、そして、Neural Network Engineも搭載しています。メモリはたっぷりの8GBです。これでお値段が149ドルのようです。

  • Dual-core Sifive U74 RISC-V processor @ 1.5 GHz with 2MB L2 cache
  • Vision DSP Tensilica-VP6 for computing vision
  • NVDLA Engine 1 core (configuration 2048 MACs @ 800MHz – 3.5 TOPS) => NNE50 というもので StarFiveの独自開発 (Datasheetより)
  • Neural Network Engine (1024MACs @ 500MHz – 1 TOPS)
  • VPU – H.264/H.265 decoder up to 4Kp60, dual-stream decoding up to 4Kp30
  • JPEG encoder/decoder
  • Audio Processing DSP and sub-system
  • System Memory – 8GB LPDDR4 (32bit x 2 channels)

RISC-V summit 2021 でのスライド

各種ドキュメントは、github にて公開されているようです

おわりに

StarFive JH7100 には、ChipLink なるインターフェースが出ています。StarFive JH7100のDatasheetのChipLinkの部分の説明です。TileLink が外に出ているようです。

  • An off-chip serialization of the TileLink protocol, used to connect to an optional expansion board.
  • It is implemented as a source-synchronous single-data rate parallel bus.
  • Off-chip cache-coherent bus masters (e.g., in an FPGA)
  • Off-chip memory-mapped slave devices
  • Credit-based flow control to absorb off-chip latency
  • Out-of-order completion to unblock concurrent operations
  • Devices in the FPGA to connect their interrupts to the PLIC via this ChipLink bus.

メモリマップには、496MB + 496MB + 64GB + 64GB のメモリ空間(non-cacheable or cacheable)があるようです。

BeagleV v0.9 の回路図

github.com

お仕事用のノートPCをぽちった

はじめに

お仕事用のノートPC。2018年に購入。Core i3-7100 なので Windows 11へのアップグレートをサポートしていません。

また、左上のキーが入力できなくなっています。他のキーに割り当てたり、ソフトキーボードを使ってどうにかしのいでいました。外部のUSBキーボードを接続しても同じ状態です。たぶん、USBドライバがおかしそうです。たまたま、手元にあったポケモンBTキーボードを接続してみたら、ちゃんとキー入力できたので、今はキーピッチが19mmのものを買って使っています。3台と接続できるので、お仕事用とおしごと用に切り替えて使っています。

Black Friday

アマゾンのBlack Fridayが始まっても、特に何も買うもの無いなー。と思っていました。

以前からお仕事用のノートPC用にいいのがないかな?と思って調べていたのですが、なかなかなかったです。

Core i3 (2コア)+ 8GBメモリのため、Google Meet でビデオを使っていると、CPUは100%、メモリも100%になって、他のことができないんです。 なので、最低でも Core i4 (4コア) + 16GB、SSDは512GB。そして、お仕事用なので Windows Pro が必要です。これらの条件を満たし、持ち運びするので1.5kg以下のものを探すとかなりお高くなっていました。

LenovoのサイトでBlack Friday対象のものには、上記の条件にあったものはなかったのですが、いろいろと見ていたら、昨日の朝、見つかりました。。

です。これなら、上記の条件にばっちりです。お値段は、12万円(税込)しませんでした。割引が9万円以上ありました。Windows 11版は割引されていないので、Windows 10 の在庫処分って感じだと思います。 超ラッキーでした。ケースを買うのを忘れたので、別途購入しました。こちらも半額になっていました。

Core i7-1165G って、Tiger Lake で CPU側に PCIe Gen4 x4 と Thunderbolt が付いています。PCIe Gen4 x4 は SSD用です。Alder Lakeからだと思っていましたが、Tiger Lakeもそうだったんですね。

おわりに

あたしのノートPC

  • 最初は、シャープ (AMD)
  • HPが3台 + おこちゃま(2台)
  • Lenovoが3台 + おこちゃま(1台)

って感じです。。

これで定年まで使えそうです。。。

MediaTek Dimensity 9000は、Armv9コア搭載でTSMC 4nm で開発

はじめに

スマホ用SoCの市場において、Qualcomm から首位を取った MediaTek。そのMediaTekは、TSMC 4nm で flagship SoCであるDimensity 9000を開発する(している)ようです。

www.anandtech.com

どうやら、40%のシェアを取っているようです。

Dimensity 9000の仕様

  • first Armv9 SoC with Cortex-X2, A710’s and A510’s CPUs
  • a new Mali-G710 GPU
  • first LPDDR5X

Arm の 最新CPUやGPUを最初に搭載するのは、Samsung => Huawei でしたが、とうとう、MediaTek になりました。SamsungHuaweiスマホSoCのシェアがトップの時だったので、トップにならないと最新のCPUやGPUを最初に搭載できない感じなんでしょうね。。

DRAMもLPDDR5Xでこちらも最初になります。ちなみに、Apple A15/M1 Pro/M1 Maxは、LPDDR5 です。

仕様の詳細

  • CPU : 1x Cortex-X2@ 3.05GHz 1x1024KB pL2、3x Cortex-A710@ 2.85GHz 3x512KB pL2、4x Cortex-A510@ 1.80GHz 4x256KB pL2、8MB sL3
  • GPU : Mali-G710MP10@ ~850MHz
  • Memory : 4x 16-bit CH@ 3200MHz LPDDR5 / 51.2GB/s, @ 3750MHz LPDDR5X / 60.0GB/s, 6MB System Cache
  • ISP : Imagiq790
  • NPU : 5th Gen 4+2 core APU

CPUは、1 + 3 + 4 の構成ですね。1コアのL2は 1024KB、Shared L3 Cacheは8MBです。メモリコントローラには、6MBの System Cache が付いています。8MBのL3 Cacheとのバランスって、これで大丈夫なんでしょうかね。

これら8個のCPUは、DSU-110 というものの上で動くようです。L3 CacheのこのDSU (DynamIQ Shared Unit)-100の中にあるようです。L3の最大サイズは16MBです。Dimensit 9000は8MB。Cacheは最大8個のスライスで実現されている。つまり、1つのスライスで最大2MB。 fuse.wikichip.org

前のDSUの説明は、こちら。この時からACPはあったのね。

説明のために下図を引用します。

  • 内部は2つのRing(双方向のRing)で繋がっているようです。
  • 256ビットのAMBA 5 Coherent Hub Interface (CHI)

f:id:Vengineer:20211121101017p:plain

次の図も説明のために引用します。DPU-110には、CPUコアだけでなく、ACP経由でアクセラレータも接続できるようなので、Armv8用のCMNと同じようなものなんですかね。いやいや、ちょっと違う。DPU-110には CoreLink CI-700に繋がる。今まではこの CoreLink CI-700にCPU Clusterがいっぱい繋がっていたのを1つのClusterにした感じですね。

f:id:Vengineer:20211121101239p:plain

8個のコアは、Arm DynamIQを使って、1 x X2 、3 x A710、4 x A510 で切り替わるので、CoreLink CI-700には1つのClusterとして接続するのはそれはそれであっていますね。このClusterにアクセラレータも繋がると。

System Cache は、CoreLink CI-7000 の中にあるということです。ね。

fuse.wikichip.org

TSMC 4nm

下記の記事にあるように、TSMC 4nm のリスク生産は2021年第3四半期中ということなので、既に生産が進んでいるんでしょうね。

news.mynavi.jp

おわりに

MediaTekスマホSoCのトップになり、ガンガン攻めてきましたね。

昔、Lenovoスマホを買ったとき、MediaTekのSoCだったんですが、電池の減りがめっちゃ早かったのでほとんど使わずに放置しました。その後のスマホは全部Snapdragonです。 Dimensity シリーズならそんなこともないでしょうかね。どうなんでしょうか?

MediaTekTSMC 4nm に続いて、TSMC 3nm を使うようですね。

news.mynavi.jp

Apple M1 Pro/M1 Max機のPCIe について

はじめに

Apple M1 (Mac mini) の PCIe 関連の更新ということで、今年(2021年)3月13日にブログを書きました。

vengineer.hatenablog.com

この中のPCIe 部分の図は、下記のようになっています。

f:id:Vengineer:20211123093629p:plain

PCIe Gen4 が 3 ポート出ていて、port 0 には、Wifi/Bluetooth、port 1 には GbE、port 2 には USB 3.0 Hub が接続していました

Apple M1 Pro/M1 Max 搭載の Macbook Pro はどうなっている?

結論から言うと、下図のようになっています。PCIe Gen4 が 4ポートあります。port 2 には Wifi/Bluttooth、port 3 に SDX Controller が接続しているのかな?と思っています。

f:id:Vengineer:20211123094538p:plain

Asahi Linux の dts を見てみる

M1/M1 Pro/M1 Max搭載のマシンでLinuxを動かすという Asahi Linuxソースコード(github)のdtsから各デバイスの構成を確認してみました。

master branch ではなく、t6000/bringup-work branch にあります。

t6001.dtsi の PCIe 部分だけを以下に抜き出しました。port00 から port03 までの4ポートあります。port00とport01のmax-link-speedは、"2" (Gen3) ですが、port02とport03のmax-link-speedは、"1" (Gen2) です。Gen2になっているところに、Gen2対応(PCIe 2.1)の Wifi/Bluetooh と SDX Controller が接続しているのだと思います。

     pcie0: pcie@590000000 {
            compatible = "apple,t8103-pcie", "apple,pcie";
            device_type = "pci";

            reg = <0x5 0x90000000 0x0 0x1000000>,
                  <0x5 0x80000000 0x0 0x100000>,
                  <0x5 0x81000000 0x0 0x4000>,
                  <0x5 0x82000000 0x0 0x4000>,
                  <0x5 0x83000000 0x0 0x4000>,
                  <0x5 0x84000000 0x0 0x4000>;
            reg-names = "config", "rc", "port0", "port1", "port2", "port3";

            interrupt-parent = <&aic>;
            interrupts = <AIC_IRQ 0 1270 IRQ_TYPE_LEVEL_HIGH>,
                     <AIC_IRQ 0 1273 IRQ_TYPE_LEVEL_HIGH>,
                     <AIC_IRQ 0 1276 IRQ_TYPE_LEVEL_HIGH>,
                     <AIC_IRQ 0 1279 IRQ_TYPE_LEVEL_HIGH>;

            msi-controller;
            msi-parent = <&pcie0>;
            msi-ranges = <&aic AIC_IRQ 0 1581 IRQ_TYPE_EDGE_RISING 32>;


            iommu-map = <0x100 &pcie0_dart_0 1 1>,
                    <0x200 &pcie0_dart_1 1 1>,
                    <0x300 &pcie0_dart_2 1 1>,
                    <0x400 &pcie0_dart_3 1 1>;
            iommu-map-mask = <0xff00>;

            bus-range = <0 4>;
            #address-cells = <3>;
            #size-cells = <2>;
            ranges = <0x43000000 0x5 0xa0000000 0x5 0xa0000000 0x0 0x20000000>,
                 <0x02000000 0x0 0xc0000000 0x5 0xc0000000 0x0 0x40000000>;

            power-domains = <&ps_apcie_gp_sys>;
            pinctrl-0 = <&pcie_pins>;
            pinctrl-names = "default";

            port00: pci@0,0 {
                device_type = "pci";
                reg = <0x0 0x0 0x0 0x0 0x0>;
                reset-gpios = <&pinctrl_ap 4 0>;
                max-link-speed = <2>;

                #address-cells = <3>;
                #size-cells = <2>;
                ranges;

                interrupt-controller;
                #interrupt-cells = <1>;

                interrupt-map-mask = <0 0 0 7>;
                interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
                        <0 0 0 2 &port00 0 0 0 1>,
                        <0 0 0 3 &port00 0 0 0 2>,
                        <0 0 0 4 &port00 0 0 0 3>;
            };

            port01: pci@1,0 {
                device_type = "pci";
                reg = <0x800 0x0 0x0 0x0 0x0>;
                reset-gpios = <&pinctrl_ap 5 0>;
                max-link-speed = <2>;

                #address-cells = <3>;
                #size-cells = <2>;
                ranges;

                interrupt-controller;
                #interrupt-cells = <1>;

                interrupt-map-mask = <0 0 0 7>;
                interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
                        <0 0 0 2 &port01 0 0 0 1>,
                        <0 0 0 3 &port01 0 0 0 2>,
                        <0 0 0 4 &port01 0 0 0 3>;
            };

            port02: pci@2,0 {
                device_type = "pci";
                reg = <0x1000 0x0 0x0 0x0 0x0>;
                reset-gpios = <&pinctrl_ap 6 0>;
                max-link-speed = <1>;

                #address-cells = <3>;
                #size-cells = <2>;
                ranges;

                interrupt-controller;
                #interrupt-cells = <1>;

                interrupt-map-mask = <0 0 0 7>;
                interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
                        <0 0 0 2 &port02 0 0 0 1>,
                        <0 0 0 3 &port02 0 0 0 2>,
                        <0 0 0 4 &port02 0 0 0 3>;
            };

            port03: pci@3,0 {
                device_type = "pci";
                reg = <0x1800 0x0 0x0 0x0 0x0>;
                reset-gpios = <&pinctrl_ap 7 0>;
                max-link-speed = <1>;

                #address-cells = <3>;
                #size-cells = <2>;
                ranges;

                interrupt-controller;
                #interrupt-cells = <1>;

                interrupt-map-mask = <0 0 0 7>;
                interrupt-map = <0 0 0 1 &port03 0 0 0 0>,
                        <0 0 0 2 &port03 0 0 0 1>,
                        <0 0 0 3 &port03 0 0 0 2>,
                        <0 0 0 4 &port03 0 0 0 3>;
            };
        };

実機で確認する

IFIXITの 2021 MacBook Pro Teardown: A Glimpse at a Better Timeline にて、14インチと16インチのMacbook Proが分解されています。

14インチの基板には、

  • USI 339S00912 Bluetooth/WiFi Module
  • Genesys Logic GL9755A Card Reader Controller

が搭載されていました。両方とも、PCIe Gen2 (PCIe 2.1) 対応のデバイスのようです。

おわりに

今回、M1 Pro/M1 Max搭載のMacbook Pro 14インチ/16インチの PCIe 周りについて整理しました。